
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

:root{
	--green:#1C9984;
	--blue:#082A7E;
	--red:#A52434;
	--grd-green-v: linear-gradient(to bottom, #27A691, #6BBFB5);
	--grd-green-h: linear-gradient(to right, #27A691, #6BBFB5);
}
html{
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}
body{
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Pゴシック", "MS PGothic", sans-serif;
	color: #030303;
	background-color: #fff;
	font-size: 1.6rem;
	*font-size:small;
	*font:x-small;
	font-weight: 400;
	line-height: 1.7;
	margin: 0px;
	padding: 0px;
	letter-spacing: 0.02em;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
	padding: 0px 0px 0px 0px;
	position: relative;
}

.sp {display:none;}
.pc {display:block;}

@media screen and (max-width: 768px) {
	.sp {display:block;}
	.pc {display:none;}
}

:root{
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
	overflow-x: hidden;
}
img {
	max-width: 100%;
	width: 100%;
}
div, section, a, h1,h2,h3,h4,h5,h6,p{
	box-sizing: border-box;
}
img,iframe{
	vertical-align: bottom;
	border-style: none;
}
main{
	overflow-x: hidden;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
a{
	color: var(--green);
	-webkit-transition: 0.3s ease-in-out;
	-moz-tranPerformersition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	overflow: hidden;
  -webkit-font-smoothing: antialiased;
}
a:link {
	text-decoration: none;
	outline: none;
	color: var(--green);
}
a:visited {
	color: var(--green);
}
a:hover {
	opacity: 0.8;
}
h1,h2,h3,h4,h5,h6{
}
.wrap{
	width: auto;
	max-width: 1200px;
	margin: auto;
	position: relative;
	padding: 10px 10px 10px 10px;
}
@media screen and (max-width: 768px) {
	body{
		font-size: 1.4rem;
	}
	.wrap{
		width: 100%;
		max-width: auto;
		padding: 5dvw;
	}
}
img{
	width: 100%;
	vertical-align: bottom;
}
.min{
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}
.eng{
	font-family: "Outfit", Avenir, 'Helvetica neue', Helvetica, Arial, sans-serif;
}
.green{
	color: var(--green);
}


a.btn{
	display: inline-block;
	background-color: #000;
	color: #fff;
	border-radius: 30px;
	padding: 1rem 6rem 1rem 3rem;
	position: relative;
	font-weight: 600;
}
a.btn::after{
	content: "";
	position: absolute;
	right:3rem;
	top:25px;
	margin: auto;
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff0;
	border-right: 1px solid #fff0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
a.btn.white{
	background-color: #fff;
	color: var(--green);
}
a.white::before{
	content: "";
	position: absolute;
	right:3rem;
	top:25px;
	margin: auto;
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid var(--green);
	border-right: 1px solid var(--green);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
a.btn.green{
	background: var(--grd-green-v);
	color: #fff;
}
a.green::before{
	content: "";
	position: absolute;
	right:3rem;
	top:20px;
	margin: auto;
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
a.btn.green:hover{
	background: linear-gradient(to top, #27A691, #6BBFB5);
	opacity: 1;
}


.circle-arrow{
	position: relative;
	display: inline-block;
	padding: 0;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.circle-arrow::before,
.circle-arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.circle-arrow::before{
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 1/1;
	border: 2px solid #fff;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.circle-arrow::after{
	margin: auto 44% auto auto; 
	inset: 0;
	width: 20%;
	aspect-ratio: 1/1;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* header -----------------------------------------------*/
#header{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	position: fixed;
	top:0;
	z-index: 2;
	box-sizing: border-box;
	background-color: #ffffffCC;
	box-shadow: 0 0 10px #0000001a;
}
#header h1.logo{
	position: absolute;
	top:2rem;
	left:2rem;
	margin: 0;
	font-size: 2.5rem;
	z-index: 11;
	width: 240px;
}

@media screen and (max-width: 768px) {
	#header{
		width: 100%;
		height: 80px;
		min-width: auto;
	}
}

/* navi -----------------------------------------------*/
.h-navi{
	list-style: none;
	margin: 0 0 0 auto;
	padding: 0;
	width: calc(100% - 300px);
	display: flex;
	justify-content: flex-end;
	padding: 2rem 2rem 0 2rem;
}
.h-navi li{
	text-align: center;
}
.h-navi li a{
	font-size: 1.4rem;
	padding: 1rem 2dvw 2rem 2dvw;
	display: block;
	color: #222222;
	border-bottom: solid 4px #00000000;
}
.h-navi li a:hover{
	color: var(--green);
	border-bottom: solid 4px var(--green);
	opacity: 1;
}
.h-navi li.catalog{
	margin-right: 1dvw;
}
.h-navi li.catalog a,
.h-navi li.contact a{
	border-radius: 100px;
	box-sizing: border-box;
	padding: 1rem 3dvw 1rem 3dvw;
	font-weight: 600;
	border-bottom: none;
	position: relative;
	color: #fff;
  z-index: 1;
	transition: 0.3s ease-in-out;
}
.h-navi li.catalog a:hover,
.h-navi li.contact a:hover{
	color: #fff;
}
.h-navi li.catalog a{
	background: linear-gradient(to right, #FB851D, #F5A45C);
}
.h-navi li.catalog a::before{
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to right, #c75d00, #c75d00);
	opacity: 0;
	transition: opacity 0.5s;
}
.h-navi li.contact a{
	background: linear-gradient(to right, #27A691, #6BBFB5);
}
.h-navi li.contact a::before{
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to right, #006e5c, #1C9984);
	opacity: 0;
	transition: opacity 0.5s;
}
.h-navi li.catalog a:hover::before,
.h-navi li.contact a:hover::before{
	opacity: 1;
}

@media screen and (max-width: 768px) {
	.h-navi li{
		border-bottom: solid 1px #aaa;
	}
	.h-navi li.catalog,
	.h-navi li.contact{
		border-bottom: none;
		margin: 4rem;
	}
}

/* foooter -----------------------------------------------*/
#footer{
	background:url(../../images/footer_bg.png)center;
	background-size: cover;
	padding: 10rem 2rem 2rem 2rem;
}
#footer .corporate{
	float: left;
}
#footer .logo{
	font-size: 3rem;
	margin: 0;
	width: 240px;
}
#footer a{
	color: #222;
}
#footer a:hover{
	color: var(--green);
}
#footer .footer-navi-area{
	margin-top: 5rem;
	margin-left: auto;
	width: 70%;
}
#footer .footer-navi ul.first{
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
}
#footer .footer-navi ul.first > li{
	margin-left: 3dvw;
}
#footer .footer-navi ul.second{
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 1.4rem;
}
#footer .footer-navi a{
	padding: 1rem;
	display: block;
}
#footer .footer-navi ul.second a{
	color: #8D8D8D;
}
#footer .footer-navi ul.second .fst a{
	color: #222222;
	font-size: 1.6rem;
}
#footer .footer-navi ul.second a:hover,
#footer .footer-navi ul.second .fst a:hover{
	color: var(--green);
}

#footer .copyright{
	text-align: right;
	font-size: 13px;
	margin: 4rem 0;
}
#footer .sns-area{
	margin-top: 2rem;
}
#footer .sns-area a.icon{
	display: inline-block;
	width:40px;
	aspect-ratio: 1/1;
	margin: 0 2rem 0 0;
	background: linear-gradient(to right, #27A691, #6BBFB5);
	border-radius: 100px;
	padding: .5rem;

}

.gototop{
	position: absolute;
	right: 2dvw;
	bottom: -50px;
	z-index: 2;
}
.gototop a{
	display: block;
	font-weight: 700;
	color: #fff!important;
	background-color: var(--green);
	width: 100px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	text-align:center;
	line-height:100px;
	position: relative;
}
.gototop a::before{
	content: "";
	position: absolute;
	left:0;right:0;
	top:25px;
	margin: auto;
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
	#footer{
	}
	#footer .corporate{
		float: none;
	}
	#footer .logo{
		font-size: 3rem;
		margin: 0;
	}
	#footer a{
		color: #222;
	}
	#footer a:hover{
		color: var(--green);
	}
	#footer .footer-navi-area{
		display: none;
	}

	.gototop{
		position: absolute;
		right: 2dvw;
		bottom: -50px;
		z-index: 2;
	}
	.gototop a{
		width: 80px;
		font-size: 12px;
		line-height: 80px;
	}
	.gototop a::before{
		top:20px;
	}
}


.contents{
	padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
	.contents{
		padding-bottom: 4rem;
	}
}

/* top -----------------------------------------------*/
#fv{
	width:100%;
	max-height: 800px;
	position: relative;
}
#fv .slider-fv img{
	object-fit: cover;
	max-height: 800px;
}
#fv .title-area{
	position: absolute;
	bottom: 10%;
	padding: 0 5dvw;
	z-index: 1;
}
#fv .fv-subtitle{
	font-size: 2rem;
	color: #ffffff;
	line-height: 2;
	margin: 0;
}
#fv .fv-title{
	font-size: 8rem;
	color: #ffffff;
	margin: 0;
	line-height: 1.2;
	letter-spacing: 1.5rem
}

.slick-dotted.slick-slider{
	margin-bottom: 0!important;
}
.slick-dots{
	bottom: 0px!important;
	text-align: right!important;
	padding: 10px 20px!important;
	box-sizing: border-box;
}
.slick-dots li{
	width: 40px!important;
	margin: 0 10px 0 0 !important;
}
.slick-dots li button{
	padding: 0!important;
}
.slick-dots li button:before {
	content: ''!important;
	background-color: #D1D1D1;
	color: transparent!important;
	width: 100%!important;
	height: 4px!important;
	opacity: 0.5!important;
}
.slick-dots li button:hover:before{
	opacity: 1!important;
}
.slick-dots li.slick-active button:before {
	opacity: 1!important;
	background-color: var(--green);
}


#top #concept{
	background: url(../../images/bg_grd_green.png) bottom;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 300px), 0 100%);
	padding: 140px 0 300px;
	color: #fff;
	position: relative;
	z-index: 1;
}
#top .subtitle{
	font-size: 2rem;
	font-weight: 700;
	margin: 0;
	padding: 0;
}
#top .title{
	font-size: 8rem;
	font-weight: 500;
	padding: 0;
	margin: 0 0 8rem 0;
	line-height: 1;
}
#top #concept .text-area{
	width: 65%;
	margin: 5rem 0 5rem 28%;
	font-size: 1.8rem;
	line-height: 2;
}
#top #concept .btn{
	margin-top: 6rem;
}
#top #service{
	background: url(../../images/bg_gray_texture_b.png) bottom;
	background-size: 100% 100%;
	padding: 140px 0 300px;
	margin-top: -300px;
	padding-top: 360px;
	position: relative;
}
#top #service .subtitle,
#top #service .title{
	color: var(--green);
}
#top #service .service-box{
	width: 48%;
	min-height: 460px;
	margin-bottom: 6rem;
	color: #fff!important;
}
#top #service .service-box a{
	color: #fff;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding: 4rem;
	border-radius: 10px;
	position: relative;
}
#top #service .service-box a:hover{
  box-shadow: inset 0 0 60px rgba(0,0,0,.8);
	opacity: 1;
}
#top #service .service-box .subtitle{
	color: #fff;
	font-size: 1.6rem;
}
#top #service .service-box .title{
	color: #fff;
	font-size: 3rem;
}
#top #service .service-box .text{
	margin: auto 20% 0 0;
}
#top #service .service-box .circle-arrow{
	position: absolute;
	bottom: 4rem;
	right: 4rem;
	width: 12%;
	aspect-ratio: 1/1;
}

#top #service .service-box.s1 a{
	background: url(../../images/top_service01.jpg)center;
	background-size: cover;
}
#top #service .service-box.s2 a{
	background: url(../../images/top_service02.jpg)center;
	background-size: cover;
}
#top #service .service-box.s3 a{
	background: url(../../images/top_service03.jpg)center;
	background-size: cover;
}
#top #service .service-box.s4 a{
	background: url(../../images/top_service04.jpg)center;
	background-size: cover;
}

#top #company{
	background: url(../../images/bg_gray_texture_c.png) top no-repeat;
	background-size: 100% 50%;
	padding: 140px 0 100px 0 ;
	margin-top: -160px;
	padding-top: 100px;
	z-index: 1;
	position: relative;
}

#top #company .company-box{
	width: 30%;
	margin-bottom: 6rem;
}
#top #company .company-box a{
	color: #fff;
	display: block;
	width: 100%;
	aspect-ratio: 1/1;
	padding: 2rem;
	border-radius: 10px;
	position: relative;
}
#top #company .company-box .title{
	font-size: 1.8rem;
	position: absolute;
	bottom:-2rem;
}
#top #company .company-box .subtitle{
	font-size: 3rem;
	position: absolute;
	bottom:1rem;
}
#top #company .company-box .circle-arrow{
	position: absolute;
	bottom:2rem;
	right: 3rem;
	width: 50px;
	aspect-ratio: 1/1;
}
#top #company .company-box.c1 a{
	background: url(../../images/top_company_message.jpg)center;
	background-size: cover;
}
#top #company .company-box.c2 a{
	background: url(../../images/top_company_about.jpg)center;
	background-size: cover;
}
#top #company .company-box.c3 a{
	background: url(../../images/top_company_recruit.jpg)center;
	background-size: cover;
}
#top #company .company-box.c3 a:hover{
	opacity: 1;
}


#top #news{
}
#top #news .news-block{
	margin-left: 320px;
	margin-top: -240px;
}
#top #news .news-box a{
	border-bottom: solid 1px #DCDCDC;
	display: flex;
	padding: 2rem 0;
	position: relative;
	color: #030303;
}
#top #news .news-box a:hover{
	background-color: #F0F4FC;
}
#top #news .news-box .pic{
	width: 30%;
	margin-right: 5%;
}
#top #news .news-box .pic img{
	border-radius: 10px;
	object-fit: cover;
	aspect-ratio: 3/2;
	width: 100%;
	height: auto;
}
#top #news .news-box .text-area{
	width: 65%;
	padding-right: 70px;
}
#top #news .news-box .date{
	margin: 0 0 1rem 0;
	font-size: 1.2rem;
	color: #aaa;
}
#top #news .news-box .date .category{
	background: var(--green);
	color: #fff;
	border-radius: 50px;
	padding: 0 1rem ;
	margin-right: 1rem;
}
#top #news .news-box .news-title{
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 1.6;
	margin: 0;
}
#top #news .news-box .circle-arrow{
	position: absolute;
	inset: 0 0 0 auto;
	right: 0;
	margin: auto;
	width: 50px;
	height: 50px;
}
#top #news .news-box .circle-arrow::before,
#top #news .news-box .circle-arrow::after{
	border-color: var(--green);
}
#m-contact .bnr-contact{
	margin: 10rem auto;
	background: url(../../images/m_contact_bg.png)center ;
	background-size: cover;
	width:clamp(200px, 70%, 968px);
	border-radius: 20px;
	padding: 5rem;
	display: flex;
	align-items: center;
}
#m-contact .bnr-contact .left{
	width: 40%;
}
#m-contact .bnr-contact .left .subtitle{
	margin: 0;
	font-size: 2rem;
	color: var(--green);
	font-weight: 400;
}
#m-contact .bnr-contact .left .title{
	margin: 0;
	font-size: 6rem;
	color: var(--green);
	font-weight: 400;
}
#m-contact .bnr-contact .left .text{
	margin: 0;
}
#m-contact .bnr-contact .right{
	width: 60%;
}
#m-contact .bnr-contact .right .flex{
	justify-content: left;
	gap: 40px;
}
#m-contact .bnr-contact .right .text01{
	font-size: 2rem;
	margin: 2rem 0 0 0;
	padding: 0;
}
#m-contact .bnr-contact .right .tel{
	font-size: 4rem;
	margin: 0;
	padding: 0;
	line-height: 1.2;
	letter-spacing: 0.3rem;
}
#m-contact .bnr-contact .right .text02{
	font-size: 1.2rem;
	margin: 0;
	padding: 0;
}

@media screen and (max-width: 768px) {
	#fv{
		max-height: auto;
		height: 70lvh;
	}
	#fv .slider-fv img{
		object-fit: cover;
		max-height: auto;
		height: 70lvh;
	}
	#fv .title-area{
	}
	#fv .fv-subtitle{
		font-size: 1.6rem;
	}
	#fv .fv-title{
		font-size: 8.5dvw;
	}

	#top #concept{
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 150px), 0 100%);
		padding: 140px 0 150px 0;
	}
	#top .subtitle{
		font-size: 1.6rem;
	}
	#top .title{
		font-size: 4rem;
		margin: 1rem 0 8rem 0;
	}
	#top #concept .text-area{
		width: 100%;
		margin: 5rem 0 5rem 0;
		font-size: 1.4rem;
	}
	#top #concept .btn{
		margin-top: 4rem;
	}
	#top #service{
		padding: 0 0 10px 0;
		margin-top: -180px;
		padding-top: 200px;
		padding-bottom: 100px;
	}
	#top #service .subtitle,
	#top #service .title{
	}
	#top #service .service-box{
		width: 100%;
		min-height: auto;
		margin-bottom: 2rem;
		position: relative;
	}
	#top #service .service-box a{
		padding: 3rem;
	}
	#top #service .service-box a:hover{
	}
	#top #service .service-box .subtitle{
		font-size: 1.4rem;
	}
	#top #service .service-box .title{
		font-size: 3dvh;
	}
	#top #service .service-box .text{
		margin: auto 20% 0 0;
	}
	#top #service .service-box .circle-arrow{
		bottom: 3rem;
		right: 2rem;
		width: 12%;
		aspect-ratio: 1/1;
	}

	#top #company{
		background-size: 100% 50%;
		padding: 160px 0 60px 0;
		margin-top: -100px;
		position: relative;
	}

	#top #company .company-box{
		width: 100%;
		margin-bottom: 4rem;
	}
	#top #company .company-box a{
	}
	#top #company .company-box .title{
		font-size: 1.5rem;
	}
	#top #company .company-box .subtitle{
		font-size: 8dvw;
	}
	#top #company .company-box .circle-arrow{
		width: 40px;
	}

	#top #news .wrap-btn{
		text-align: right;
		margin-bottom: 4rem;
		margin-top: -4rem;
	}
	#top #news .news-block{
		margin-left: 0;
		margin-top: 0;
	}
	#top #news .news-box a{
		flex-wrap: wrap;
		padding: 2rem;
	}
	#top #news .news-box a:hover{
	}
	#top #news .news-box .pic{
		width: 100%;
		margin-right: 0;
		margin-bottom: 2rem;
	}
	#top #news .news-box .text-area{
		width: 100%;
		padding-right: 2rem;
	}
	#top #news .news-box .date{
	}
	#top #news .news-box .date .category{
	}
	#top #news .news-box .news-title{
		font-size: 1.5rem;
	}
	#top #news .news-box .circle-arrow{
		inset: auto 0 0 auto;
		right: 1rem;
		bottom: 4rem;
		width: 30px;
	}
	#m-contact .bnr-contact{
		width:calc(100% - 10dvw);
		padding: 3rem;
		flex-wrap: wrap;
	}
	#m-contact .bnr-contact .left{
		width: 100%;
		margin-bottom: 4rem;
	}
	#m-contact .bnr-contact .left .subtitle{
		font-size: 1.6rem;
	}
	#m-contact .bnr-contact .left .title{
		font-size: 4rem;
	}
	#m-contact .bnr-contact .left .text{
		margin: 0;
	}
	#m-contact .bnr-contact .right{
		width: 100%;
		text-align: center;
	}
	#m-contact .bnr-contact .right .flex{
		justify-content: center;
		gap: 10px;
	}
	#m-contact .bnr-contact .right .text01{
		font-size: 1.6rem;
	}
	#m-contact .bnr-contact .right .tel{
		font-size: 8dvw;
		margin: 0;
		padding: 1rem 0;
		line-height: 1.2;
		letter-spacing: 0.1rem;
	}
	#m-contact .bnr-contact .right .text02{
		font-size: 1.2rem;
		margin: 0;
		padding: 0;
	}

}


/* セカンドページ -----------------------------------------------*/
#page{
	margin-top: 77px;
	background: url(../../images/bg_gray_texture.png)center bottom;
	background-size: 100% auto;
}
#page .p-fv{
	width: 100%;
	height: 420px;
}
#page .p-fv .wrap{
	height: 100%;
}
#page .p-fv .p-subtitle{
	font-size: 1.6rem;
	color: var(--green);
	margin: 180px 0 0 0;
}
#page .p-fv .p-title {
	font-size: 3rem;
	margin: 0 0 0 0;
	font-weight: 500;
}

.breadcrumbs{
	padding: 12px;
	font-size: 1.4rem;
	vertical-align: middle;
}
.breadcrumbs a{
	border-bottom: solid 1px var(--green);
}
.breadcrumbs .home{
	width: 10px;
	vertical-align: baseline;
	margin-right: 5px;
}
.breadcrumbs .arrow{
	width: 5px;
	padding: 0 1em;
	vertical-align: middle;
}
#page .contents{
	padding: 100px 0 60px 0;
}
#page .c-subtitle{
	font-size: 1.6rem;
	color: var(--green);
	margin: 0 0 0 0;
}
#page .c-title{
	font-size: 3rem;
	margin: 0 0 100px 0;
	font-weight: 400;
}

@media screen and (max-width: 768px) {
	#page{
		margin-top: 80px;
	}
	#page .c-subtitle{
		font-size: 1.4rem;
	}
	#page .c-title{
		font-size: 2.5rem;
		margin: 0 0 40px 0;
	}
}




/* 事業案内 -----------------------------------------------*/
.p-service .service-box{
	width: 30%;
	position: relative;
}
.p-service .service-box a{
	background-color: #ddd;
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	padding: 20px;
	aspect-ratio: 35/40;
	line-height: 1;
}
.p-service .service-box a:hover{
  box-shadow: inset 0 0 60px rgba(0,0,0,.8);
	opacity: 1;
}
.p-service .service-box.s1 a{
	background: url(../../images/service_img01.jpg)center;
	background-size: cover;
}
.p-service .service-box.s2 a{
	background: url(../../images/service_img02.jpg)center;
	background-size: cover;
}
.p-service .service-box.s4 a{
	background: url(../../images/service_img04.jpg)center;
	background-size: cover;
}
.p-service .service-box .subtitle{
	margin: auto 0 1rem 0;
	color: #FFF;
}
.p-service .service-box .title{
	font-size: 2.7rem;
	color: #FFF;
	margin: 0;
}
.p-service .service-box .circle-arrow.white{
	width: 30px;
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	aspect-ratio: 1/1;
}
.p-service .service-box .circle-arrow.white::before{
	background-color: #fff;
}
.p-service .service-box .circle-arrow.white::after{
	border-color: var(--green);
}

@media screen and (max-width: 768px) {
	.p-service .service-box{
		width: 100%;
		position: relative;
		margin-bottom: 4rem;
	}
	.p-service .service-box .title{
		font-size: 2.2rem;
	}
}


/* 資源リサイクル事業 ------------------------------------------*/
#page.recyclingresource .p-fv{
	background: url(../../images/recyclingresource_fv.jpg)center;
	background-size: cover;
}
#page.recyclingresource .p-fv .p-subtitle,
#page.recyclingresource .p-fv .p-title{
	color: #fff;
}

#page.recyclingresource .sc01 {
	position: relative;
	height: 700px;
	margin-bottom: 6rem;
}
#page.recyclingresource .sc01 .text01{
	width: 45%;
}
#page.recyclingresource .sc01 .pic{
	position: absolute;
	top:0;
	left:50%;
	width: calc(52vw);
}
#page.recyclingresource .sc01 .pic img{
	border-radius: 20px;
	object-fit: cover;
	width: 100%;
	height: 660px;
}
#page.recyclingresource .sc02{
	margin-bottom: 6rem;
}
#page.recyclingresource .sc02 .wrap{
	display: flex;
	align-items: center;
}
#page.recyclingresource .sc02 .title-area{
	width: 40%;
}
#page.recyclingresource .sc02 .flow{
	width: 60%;
}
#page.recyclingresource .sc02 .flow-box{
	display: flex;
	margin-bottom: 3rem;
}
#page.recyclingresource .sc02 .flow-box .arrow{
	width: 3%;
}
#page.recyclingresource .sc02 .flow-box .pic{
	width: 35%;
	margin: 0 4% 0 1%;
}
#page.recyclingresource .sc02 .flow-box .pic img{
	border-radius: 10px;
}
#page.recyclingresource .sc02 .flow-box .description{
	width: 57%;
}
#page.recyclingresource .sc02 .flow-box .flow-titile{
	font-size: 1.8rem;
	font-weight: 500;	
	padding-bottom: 1rem;
	margin:0 0 1rem 0;
	border-bottom: solid 2px var(--green);
}
#page.recyclingresource .sc02 .flow-box .text{
	margin: 0;
}

#page.recyclingresource .sc03{
	background: url(../../images/bg_green_texture.png)center;
	background-size: 100% 100%;
	margin-top: -200px;
	padding-top: 300px;
	padding-bottom: 200px;
}
#page.recyclingresource .sc03 .c-subtitle,
#page.recyclingresource .sc03 .c-title{
	color: #fff;
}
#page.recyclingresource .sc03 .text{
	color: #fff;
	margin-bottom: 6rem;
}
#page.recyclingresource .sc03 .flex .box{
	width: 23%;
	margin-bottom: 3rem;
	position: relative;
}
#page.recyclingresource .sc03 .box img{
	border-radius: 10px;
}
#page.recyclingresource .sc03 .box .title{
	position: absolute;
	bottom: 0;
	text-align: center;
	background: #ffffffCC;
	width: 100%;
	margin: 0;
	padding: 1rem;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}
#page.recyclingresource .sc04.casestudy{
	padding-bottom: 10rem;
}
#page.recyclingresource .sc04.casestudy .c-subtitle,
#page.recyclingresource .sc04.casestudy .c-title{
	text-align: center;
}
#page.recyclingresource .sc04.casestudy .scroll{
	color: var(--green);
	position: relative;
	border-bottom: solid 1px var(--green);
	padding-right: 8rem;
	display: inline-block;
}
#page.recyclingresource .sc04.casestudy .scroll::after{
	content: "";
	width: 28px;
	height: 1px;
	display: block;
	background: var(--green);
	position: absolute;
	bottom: 8px;
	right: -4px;
	transform: rotate(45deg);
}
.casestudy-slider-inner{
  position: relative;
  width: calc(100% + (100vw - 100%) / 2);
}
.casestudy-slider{
  padding: 20px 0;
}
.casestudy-slider .box {
  position: relative;
  width: 900px;
  margin-right: 50px;
}
.casestudy-slider .box .pic{
	width: 48%;
}
.casestudy-slider .box .pic img{
	width:100%;
	aspect-ratio: 44/30;
	object-fit: cover;
	border-radius: 10px;
}
.casestudy-slider .box .description{
	width: 48%;
}

.casestudy-slider .box .case-title{
	font-size: 2.3rem;
	font-weight: 500;
	margin-top: 0;
}
.casestudy-slider .box .case{
	color: var(--green);
	border-top: solid 1px var(--green);
	border-bottom: solid 1px var(--green);
}
.casestudy-slider .slick-num{
	position: absolute;
	top:-2rem;
	right: calc(0);
	color: var(--green);
	width: min(100%, 1000px);
	margin: auto;
	text-align: right;
}
#page.recyclingresource .sc05.faq{
}
#page.recyclingresource .sc05.faq .c-subtitle,
#page.recyclingresource .sc05.faq .c-title{
	text-align: center;
}

.faq-details {
  margin-bottom: 3rem;
	transition: 0.5s;
}
.faq-summary {
	color: #fff;
  display: flex;
  align-items: center;
  background-color: var(--green);
  border-radius: 10px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
	padding: 0 5rem 0rem 2rem;
}
.faq-summary::-webkit-details-marker {
  display: none;
}
.faq-summary::before {
  content: "Q";
	font-family: "Outfit", Avenir, 'Helvetica neue', Helvetica, Arial, sans-serif;
  font-size: 5rem;
  font-weight: 700;
  color: #fff;
	margin-right: 2rem;
}
.faq-summary .icon {
  position: absolute;
	width: 10px;
	height: 10px;
	right:2rem;
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
  transform: rotate(45deg);
  transition: transform 0.3s;
}
.faq-details[open] .icon {
  transform: rotate(-135deg);
}

.faq-answer{
  overflow: hidden;
	padding: 0 2rem 1rem 2rem;
	display: flex;
  align-items: center;
}
.faq-answer::before {
  content: "A";
	font-family: "Outfit", Avenir, 'Helvetica neue', Helvetica, Arial, sans-serif;
  font-size: 5rem;
  font-weight: 700;
  color: #DD5A5A;
	margin-right: 2rem;
}

@media screen and (max-width: 768px) {
	#page.recyclingresource .sc01 {
		height: auto;
		margin-bottom: 4rem;
		overflow: hidden;
	}
	#page.recyclingresource .sc01 .text01{
		width: 100%;
	}
	#page.recyclingresource .sc01 .pic{
		position: static;
		width: calc(100% + 4rem);
		margin-left: auto;
		margin-right: -4rem;
	}
	#page.recyclingresource .sc01 .pic img{
		border-radius: 20px;
		object-fit: cover;
		width: 100%;
		height: 300px;
	}
	#page.recyclingresource .sc02{
		margin-bottom: 0;
	}
	#page.recyclingresource .sc02 .wrap{
		flex-wrap: wrap;
	}
	#page.recyclingresource .sc02 .title-area{
		width: 100%;
	}
	#page.recyclingresource .sc02 .flow{
		width: 100%;
	}
	#page.recyclingresource .sc02 .flow-box .flow-titile{
		font-size: 1.6rem;
	}
	#page.recyclingresource .sc02 .flow-box .text{
		margin: 0;
	}

	#page.recyclingresource .sc03{
		background-size: cover;
		margin-top: -100px;
		padding-top: 260px;
		padding-bottom: 200px;
	}
	#page.recyclingresource .sc03 .text{
		margin-bottom: 4rem;
	}
	#page.recyclingresource .sc03 .flex .box{
		width: 48%;
		margin-bottom: 3rem;
	}
	#page.recyclingresource .sc04.casestudy .scroll{
		font-size: 1.2rem;
		padding-right:6rem;
	}
	#page.recyclingresource .sc04.casestudy .scroll::after{
		width: 20px;
		height: 1px;
		bottom: 6px;
		right: -4px;
	}
	.casestudy-slider-inner{
		width: calc(100vw - 2rem);
	}
	.casestudy-slider{
	}
	.casestudy-slider .box {
		width: calc(100vw - 4rem);
		margin-right: 40px;
	}
	.casestudy-slider .box .pic{
		width: 100%;
		margin-bottom: 2rem;
	}
	.casestudy-slider .box .description{
		width: 100%;
	}
	.casestudy-slider .box .case-title{
		font-size: 1.8rem;
	}
	.casestudy-slider .slick-num{
		right: 2rem;
	}
	#page.recyclingresource .sc05.faq{
	}
	#page.recyclingresource .sc05.faq .c-subtitle,
	#page.recyclingresource .sc05.faq .c-title{
		text-align: center;
	}

	.faq-details {
		margin-bottom: 2rem;
	}
	.faq-summary {
		font-size: 1.6rem;
	}
	.faq-summary::before {
		font-size: 4rem;
	}

	.faq-answer{
		padding: 0 2rem 1rem 2rem;
	}
	.faq-answer::before {
		font-size: 4rem;
	}

}


/* 再生ペレット事業 ------------------------------------------*/
.recycledpellet{}
#page.recycledpellet .p-fv{
	background: url(../../images/recycledpallet_fv.jpg)center;
	background-size: cover;
}
#page.recycledpellet .p-fv .p-subtitle,
#page.recycledpellet .p-fv .p-title{
	color: #fff;
}

#page.recycledpellet .sc01 {
	max-width: 910px;
	margin: 0 auto 12rem auto;
}
#page.recycledpellet .sc01 .text01{
	text-align: center;
}
#page.recycledpellet .sc01 .pic{
	width: 100%;
}
#page.recycledpellet .sc02{
	margin-bottom: 10rem;
}
#page.recycledpellet .sc02 .flow{
	max-width: 910px;
	margin: 0 auto 12rem auto;
}
#page.recycledpellet .sc02 .flow-box{
	display: flex;
	margin-bottom: 3rem;
	background-color: #fff;
	border-radius: 10px;
}
#page.recycledpellet .sc02 .flow-box .pic{
	width: 35%;
	position: relative;
}
#page.recycledpellet .sc02 .flow-box .pic .num{
	position: absolute;
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	background: var(--grd-green-h);
	width: 60px;
	height: 60px;
	display: block;
	text-align: center;
	line-height: 2;
	border-top-left-radius: 10px;
}
#page.recycledpellet .sc02 .flow-box .pic img{
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}
#page.recycledpellet .sc02 .flow-box .description{
	width: 65%;
	padding:1rem 3rem 1rem 3rem;
}
#page.recycledpellet .sc02 .flow-box .flow-titile{
	font-size: 1.8rem;
	font-weight: 500;	
	padding-bottom: 1rem;
	margin:0 0 1rem 0;
	border-bottom: solid 2px var(--green);
}
#page.recycledpellet .sc02 .flow-box .text{
	margin: 0;
}

#page.recycledpellet .sc03{
	background: url(../../images/bg_green_texture.png)center;
	background-size: 100% 100%;
	margin-top: -200px;
	padding-top: 300px;
	padding-bottom: 200px;
}
#page.recycledpellet .sc03 .c-subtitle,
#page.recycledpellet .sc03 .c-title{
	color: #fff;
}
#page.recycledpellet .sc03 .text{
	color: #fff;
	margin-bottom: 6rem;
}
#page.recycledpellet .sc03 .flex .box{
	width: 23%;
	margin-bottom: 3rem;
	position: relative;
}
#page.recycledpellet .sc03 .box img{
	border-radius: 10px;
}
#page.recycledpellet .sc03 .box .title{
	position: absolute;
	bottom: 0;
	text-align: center;
	background: #ffffffCC;
	width: 100%;
	margin: 0;
	padding: 1rem;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

@media screen and (max-width: 768px) {
	#page.recycledpellet .sc01 {
		height: auto;
		margin-bottom: 4rem;
	}
	#page.recycledpellet .sc01 .text01{
		width: 100%;
		text-align: left;
	}
	#page.recycledpellet .sc02{
		margin-bottom: 0;
	}
	#page.recycledpellet .sc02 .flow{
		width: 100%;
	}
	#page.recycledpellet .sc02 .flow-box{
		flex-wrap: wrap;
	}
	#page.recycledpellet .sc02 .flow-box .pic{
		width: 100%;
	}
	#page.recycledpellet .sc02 .flow-box .pic img{
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	#page.recycledpellet .sc02 .flow-box .description{
		width: 100%;
		padding: 2rem;
	}
	#page.recycledpellet .sc02 .flow-box .flow-titile{
		font-size: 1.6rem;
	}
	#page.recycledpellet .sc02 .flow-box .text{
		margin: 0;
	}

	#page.recycledpellet .sc03{
		background-size: cover;
		margin-top: -100px;
		padding-top: 260px;
		padding-bottom: 200px;
	}
	#page.recycledpellet .sc03 .text{
		margin-bottom: 4rem;
	}
	#page.recycledpellet .sc03 .flex .box{
		width: 48%;
		margin-bottom: 3rem;
	}
	#page.recycledpellet .sc04.casestudy .scroll{
		font-size: 1.2rem;
		padding-right:6rem;
	}
	#page.recycledpellet .sc04.casestudy .scroll::after{
		width: 20px;
		height: 1px;
		bottom: 6px;
		right: -4px;
	}
	#page.recycledpellet .sc05.faq{
	}
	#page.recycledpellet .sc05.faq .c-subtitle,
	#page.recycledpellet .sc05.faq .c-title{
		text-align: center;
	}

	.faq-details {
		margin-bottom: 2rem;
	}
	.faq-summary {
		font-size: 1.6rem;
	}
	.faq-summary::before {
		font-size: 4rem;
	}

	.faq-answer{
		padding: 0 2rem 1rem 2rem;
	}
	.faq-answer::before {
		font-size: 4rem;
	}

}


/* 解体事業 ------------------------------------------*/
.demolition{}
#page.demolition .p-fv{
	background: url(../../images/demolition_fv.jpg)center;
	background-size: cover;
}
#page.demolition .p-fv .p-subtitle,
#page.demolition .p-fv .p-title{
	color: #fff;
}
/* リサイクル設備事業 ------------------------------------------*/
.recyclingequipment{}
#page.recyclingequipment .p-fv{
	background: url(../../images/recyclingequipment_fv.jpg)center;
	background-size: cover;
}
#page.recyclingequipment .p-fv .p-subtitle,
#page.recyclingequipment .p-fv .p-title{
	color: #fff;
}


/* ご挨拶 ------------------------------------------*/
#page.message .message-cnt .message-pic{
	float: right;
	margin-left: 8rem;
	margin-bottom: 8rem;
	width: 40%;
}
#page.message .message-cnt .message-pic img{
	border-radius: 10px;
}
#page.message .message-cnt .title{
	font-size: 2.5rem;
	margin-bottom: 4rem;
	font-weight: 500;
	line-height: 2;
}
#page.message .message-cnt .text01{
	line-height: 2;
	margin-bottom: 8rem;
	width: clamp(100px, 100%, 800px);
}
#page.message .message-cnt .name-svg{
	height: 40px;
	width: auto;
	margin: 1rem 0;
}
@media screen and (max-width: 768px) {
	#page.message .message-cnt .message-pic{
		float: none;
		margin: auto;
		width: 80%;
		margin-bottom: 4rem;
	}
	#page.message .message-cnt .title{
		font-size: 2rem;
	}
	#page.message .message-cnt .text01{
		margin-bottom: 4rem;
	}
	#page.message .message-cnt .name-svg{
		height: 30px;
}
}

/* 会社概要 ------------------------------------------*/
#page.corporate .corprate-profile{
	margin-bottom: 140px;
}
#page.corporate .corprate-profile .table01{
	width: min(100%, 910px);
	margin: auto;
}
.table01 {
	border-collapse:collapse;
	border-top: solid 1px #DCDCDC;
	width: 100%;
}
.table01 th{
	text-align: left;
	vertical-align: top;
	border-bottom: solid 1px #DCDCDC;
	padding: 2rem;
	width: 25%;
	font-weight: 400;
	font-size: 1.8rem;
}
.table01 td{
	text-align: left;
	border-bottom: solid 1px #DCDCDC;
	padding: 2rem;
}
#page.corporate .corprate-profile .map{
	margin: 2rem 0;
}
#page.corporate .corprate-profile .map iframe{
	border-radius: 10px;
	width: 100%;
}
#page.corporate .corprate-history .c-subtitle,
#page.corporate .corprate-history .c-title{
	text-align: center;
}
#page.corporate .corprate-history .table01{
	width: min(100%, 910px);
	margin: auto;
}

@media screen and (max-width: 768px) {
	#page.corporate .corprate-profile{
		margin-bottom: 60px;
	}
	.table01 th{
		display: block;
		width: 100%;
		border-bottom: none;
		padding: 2rem 0 0 2rem ;
		font-size: 1.6rem;
	}
	.table01 td{
		display: block;
	}
}



/* お問い合わせ　カタログ請求 ------------------------------------------*/
#page.contact .text01,
#page.catalog .text01{
	text-align: center;
	margin-bottom: 4rem;
}
#page.contact .bnr-contact-tel{
	margin: 2rem auto 4rem auto;
	width: min(100%, 600px);
}
#page.contact .table01{
	margin: auto;
}
.required{
	background: #CA6969;
	color: #ffffff;
	font-size: 1.3rem;
	padding: 2px 6px;
	border-radius: 3px;
	margin-left: 1rem;
}
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form textarea{
	width: 100%;
	background-color: #ffffff;
	padding: 1rem;
	border: solid 1px #DCDCDC;
  box-sizing: border-box;
	border-radius: 10px;
}
.form textarea{
	height: 200px;
}
.contact-form input[type="text"]:focus,
.contact-form textarea:focus{
	border: solid 2px var(--blue);
  outline: 0;
}
.sbumit-wrap{
	margin: 5rem auto;
	text-align: center;
}

.form input[type="submit"]{
	background: var(--grd-green-v);
	border-radius: 40px;
	color: #fff;
	border: none;
	padding: 1.5rem 4rem;
	margin: 1rem 1rem;
	display: inline-block;
	cursor: pointer;
}
.form .btn-send{
	position: relative;
}
.form .btn-send:after{
	content: "";
	position: absolute;
	left:calc(50% + 8.5em );
	top:0;bottom: 0;
	margin: auto;
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);

}
.form  input[type="submit"]:hover{
	background: var(--grd-green-h);
}
.form  input[type="button"]{
	background-color: #fff;
	border-radius: 40px;
	color: var(--green);
	border: solid 2px var(--green);
	padding: 1.5rem 5rem;
	margin: 1rem 1rem;
	display: inline-block;
	cursor: pointer;
}
.form  input[type="button"]:hover{
	background-color: #e4eee7;
}

#page.contact .pravacy{
	text-align: center;
}
#page.contact .pravacy a{
	border-bottom: solid 1px var(--green);
	position: relative;
}
#page.contact .pravacy a::before{
	content: "";
	position: absolute;
	left:-2rem;
	top:0;bottom: 0;
	margin: auto;
	margin: auto;
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid var(--green);
	border-right: 1px solid var(--green);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.form  .wpcf7-spinner {
	display: block;
	margin: 0 auto;
	inset: auto 0;
	position: absolute;
}

/* プライバシーポリシー ------------------------------------------*/
#page.privacypolicy .sc01{
}
#page.privacypolicy .text01{
	margin-bottom: 5rem;
}
.privacypolicy-cnt{
	width: min(100%, 910px);
	margin: auto;
}
.ol-lists li{
	line-height: 1.8;
	margin: 2rem 0;
}
.ol-lists li > ul{
	margin: 2rem 0 4rem 0;
}
#page.privacypolicy .tel{
	font-size: 2.5rem;
	display: flex;
	align-items: center;
	margin: 4rem 0 0 0;
}
#page.privacypolicy .tel .icon-tel{
	width: 22px;
	margin-right: 5px;
}
#page.privacypolicy .hours{
	margin: 0 0 0 0;
	line-height: 1;
	font-size: 1.2rem;
}


/* お知らせページ一覧 -----------------------------------------------*/

.post-lists .news-block{
	margin:auto;
	width: min(100%, 1000px);
}
.post-lists .news-box a{
	border-bottom: solid 1px #DCDCDC;
	display: flex;
	padding: 2rem 0;
	position: relative;
	color: #030303;
}
.post-lists .news-box a:hover{
	background-color: #F0F4FC;
}
.post-lists .news-box .pic{
	width: 30%;
	margin-right: 5%;
}
.post-lists .news-box .pic img{
	border-radius: 10px;
	object-fit: cover;
	aspect-ratio: 3/2;
	width: 100%;
	height: auto;
}
.post-lists .news-box .text-area{
	width: 65%;
	padding-right: 70px;
}
.post-lists .news-box .date,
.post .single-content .date{
	margin: 0 0 1rem 0;
	font-size: 1.2rem;
	color: #aaa;
}
.post-lists .news-box .date .category,
.post .single-content .category{
	background: var(--green);
	color: #fff;
	border-radius: 50px;
	padding: 0 1rem ;
	margin-right: 1rem;
}
.post-lists .news-box .news-title{
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 1.6;
	margin: 0;
}
.post-lists .news-box .circle-arrow{
	position: absolute;
	inset: 0 0 0 auto;
	right: 0;
	margin: auto;
	width: 50px;
	height: 50px;
}
.post-lists .news-box .circle-arrow::before,
.post-lists .news-box .circle-arrow::after{
	border-color: var(--green);
}

.post .single-content{
	margin:auto;
	width: min(100%, 1000px);
	font-size: 1.8rem;
}
.post .single-content .title{
	font-size: 2.7rem;
	font-weight: 600;
	border-bottom: solid 4px var(--green);
	padding: 1rem;
	margin: 0 0 1rem 0;
}
.post .single-content .date{
	margin-bottom: 4rem;
}
.post .single-content h2{
	font-size: 2.5rem;
	font-weight: 600;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.1);
	position: relative;
	margin-top: 2em;
	padding: .4em 1em;
}
.post .single-content h2::before{
	content: "";
	width: 8px;
	height: 70%;
	display: block;
	background: var(--green);
	position: absolute;
	inset: 0 auto 0 0;
	margin: auto;
}
.post .single-content h3{
	color: var(--green);
	font-size: 2rem;
	font-weight: 700;
	padding: 1rem;
	border-top: solid 1px var(--green);
	border-bottom: solid 1px var(--green);
	margin-top: 2em;
}
.post .single-content h4{
	font-size: 2rem;
	font-weight: 700;
	padding: 1rem;
	border-bottom: solid 1px var(--green);
	margin-top: 2em;
}
.post .single-content img{
	border-radius: 10px;
}
.post .wrap-btn{
	margin: 10rem;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.post-lists .wrap-btn{
		text-align: right;
		margin-bottom: 4rem;
		margin-top: -4rem;
	}
	.post-lists .news-block{
		margin-left: 0;
		margin-top: 0;
	}
	.post-lists .news-box a{
		flex-wrap: wrap;
		padding: 2rem;
	}
	.post-lists .news-box a:hover{
	}
	.post-lists .news-box .pic{
		width: 100%;
		margin-right: 0;
		margin-bottom: 2rem;
	}
	.post-lists .news-box .text-area{
		width: 100%;
		padding-right: 2rem;
	}
	.post-lists .news-box .news-title{
		font-size: 1.5rem;
	}
	.post-lists .news-box .circle-arrow{
		inset: auto 0 0 auto;
		right: 1rem;
		bottom: 4rem;
		width: 30px;
		height: 30px;
	}
	
	.post .single-content{
		font-size: 1.5rem;
	}
	.post .single-content .title{
		font-size: 2.2rem;
	}
	.post .single-content .date{
		margin-bottom: 4rem;
	}
	.post .single-content h2{
		font-size: 2rem;
		padding: .4em 1em;
	}
	.post .single-content h2::before{
		width: 8px;
	}
	.post .single-content h3{
		font-size: 1.8rem;
	}
	.post .single-content h4{
		font-size: 1.8rem;
	}
}


/* お問い合わせ 求人応募　ページ一覧 -----------------------------------------------*/
#contact .wrap,
#contact-confirm .wrap,
#contact-thanks .wrap,
#entry .wrap,
#entry-confirm .wrap,
#entry-thanks .wrap{
	padding: 5rem 1rem 1rem 1rem;
}
.contact-form{
	max-width: 800px;
	margin: auto;
}
.contact-form .text{
	margin-bottom: 6rem;
}
.contact-form .form{
	background-color: #fff;
	padding: 3rem;
}
.contact-form dt{
	margin: 0;
}
.contact-form dd{
	margin: 0 0 2rem 0;
}
.contact-form .form input[type="text"],
.contact-form .form input[type="email"],
.contact-form .form input[type="tel"]{
	width: 100%;
	background-color: #EEEEEE;
	padding: 1rem;
	border: none;
  box-sizing: border-box;
}
.contact-form textarea{
	width: 100%;
	background-color: #EEEEEE;
	padding: 2rem;
	border: none;
  box-sizing: border-box;
}
.contact-form input[type="text"]:focus,
.contact-form textarea:focus{
	border: solid 2px var(--blue);
  outline: 0;
}
.contact-form .btn01{
	text-align: center;
	margin-top: 6rem;
}
.contact-form .btn01 .sbumit-wrap{
	display: inline-block;
	position: relative;
}

.contact-form input[type="submit"]{
	background-color: var(--blue);
	border-radius: 40px;
	color: #fff;
	border: solid 2px var(--blue);
	padding: 1.5rem 5rem;
	margin: 1rem 1rem;
	display: inline-block;
	cursor: pointer;
}
.contact-form input[type="submit"]:hover{
	background-color: #d7deef;
	border: solid 2px #d7deef;
}
.contact-form input[type="button"]{
	background-color: #fff;
	border-radius: 40px;
	color: var(--blue);
	border: solid 2px #000;
	padding: 1.5rem 5rem;
	margin: 1rem 1rem;
	display: inline-block;
	cursor: pointer;
}
.contact-form input[type="button"]:hover{
	background-color: #d7deef;
}

.confirm dd{
	width: 100%;
	background-color: #EEEEEE;
	padding: 1rem;
	border: none;
  box-sizing: border-box;
}
.confirm dd p{
	margin: 0;
}
.must{
	color:var(--red);
	margin-right: 1em;
}
@media screen and (max-width: 768px) {
	.contact-form .form{
		padding: 1rem;
	}
	#privacy ol li ol {
		padding: 0 0 0 1.5em;
	}
	#privacy ol ul {
		padding: 0 0 0 .5em;
	}
}


/* プライバシーページ -----------------------------------------------*/
#privacy .wrap{}
#privacy section{
	margin: 0 0 5rem 0;
}
#privacy h4{
	font-weight: 600;
	font-size: 1.6rem;
}
#privacy p{
	padding: 0 0 1rem 0;
}
#privacy ol {
  list-style: none;
  counter-reset: ol_li; /* ol_li カウンタをセットする(値もリセット) */
}
#privacy ol li{
	padding-top:.5em;
	list-style: outside decimal;
	padding: 0 ;
	margin:0 0 .3em 0;
}
#privacy ol li::marker {
	font-size: 100%;
	font-weight: 700;
	color: var(--blue);
}
#privacy ol li ul li{
	list-style: inside;
	margin:1em 0;
}
#privacy ol li ol{
	margin:1em 0;
}


#aprivacy ol li:before {
  margin-right: 1em;
  counter-increment: ol_li; /* ol_li カウンタの値に1加える */
  content: counter(ol_li)"."; /* before擬似要素のcontentで出力 */
  color: var(--blue); /* 色を変更 */
}

#privacy ol ul{
  counter-reset: ol_li; /* ol_li カウンタをセットする(値もリセット) */
}
@media screen and (max-width: 768px) {
	#privacy .wrap{
		padding:  0 1rem 1rem 1rem;
	}
}






























































/* バーガーメニュー */
/* Navbar & Navmenu color */

.menu-btn {
	display: none;
}
@media screen and (max-width: 768px) {
	:root {
		--background-navbar: rgba(255, 255, 255, 0.98);
	}
	.menu {
		list-style: none;
		position: static;
		width: 100%;
		height: 0;
		top: 0;
		/*background: var(--background-navbar);*/
		transition: all 0.5s ease-out;
		transform: scale(1, 0);
		transform-origin: top;
		margin: 0 0 0 auto;
		padding: 0;
		text-align: center;
		position: absolute;
		right: 0;
		top:37px;
		background-color: #ffffffee;
		z-index: 1;
		border-radius: 10px;
		box-shadow: 3px 3px 3px 1px rgba(0,0,0,0.15);
	}

	.menu{
		position:inherit;
		width: calc(100%);
		border-radius: 0;
		box-shadow:none;
		display: block;
	}
	/* Hamburger menu button */
	.menu-btn:checked ~ .menu {
		height: auto;
		height: 100lvh;
		transform: scale(1, 1);
		transform-origin: top;
		transition:all 0.4s ease-out;
		padding: 10rem 0 1rem 0;
		text-align: center;
	}
	/* Hamburger menu text */
	.menu li a {
		display: block;
		text-decoration: none;
		letter-spacing: 2px;
		font-size: 2rem;
		text-transform: capitalize;
		opacity: 0;
		transition: 0.5s;
		border: none!important;
	}
	.menu li {
		display: block!important;
		padding: 10px 0;
		margin: 0 5rem;
		opacity: 0;
	}
	.menu-btn:checked ~ .menu a,
	.menu-btn:checked ~ .menu li {
		opacity: 1;
	}
	.menu-icon {
		display: inline-block;
		position: absolute;
		top:20px;
		right:40px;
		margin: auto;
		cursor: pointer;
		padding: 24px 14px;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		z-index: 3;
	}
	.navicon {
		background: #030303;
		display: block;
		height: 3px;
		width: 40px;
		position: relative;
		transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	}
	.navicon:before,
	.navicon:after {
		content: "";
		display: block;
		height: 100%;
		width: 100%;
		position: absolute;
		background: #fff;
		transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	}
	.navicon:before {
		top: 14px;
	}
	.navicon:after {
		bottom: 14px;
	}
	.menu-btn:checked ~ .menu-icon .navicon:before {
		transform: rotate(-45deg);
	}
	.menu-btn:checked ~ .menu-icon .navicon:after {
		transform: rotate(45deg);
	}
	.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
		top: 0;
	}
	.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
		bottom: 0;
	}
	.menu-btn:checked ~ .menu-icon .navicon {
		background: rgba(0, 0, 0, 0);
		transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	}
	.menu-icon {
		top:10px;
		right:10px;
	}
	.navicon {
		width: 34px;
		border-radius: 10px;
	}
	.navicon:before,
	.navicon:after {
		content: "";
		display: block;
		height: 100%;
		width: 100%;
		position: absolute;
		background: #030303;
		transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
		border-radius: 10px;
	}
	.navicon:before {
		top: 8px;
	}
	.navicon:after {
		bottom: 8px;
	}
}


/* アニメーション設定 */
.scr-target {
	opacity: 0;
	transform: translate3d(0, 30px, 0);
}
.scr-target.is-active {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition: 1s;
}

