@charset "utf-8";
/*--------------------------------------------

	 BASE

--------------------------------------------*/
@-ms-viewport {
	width: auto;
	initial-scale: 1;
}
:root {
	--color-green: #509B25;
	--color-blue: #DDECE9;
	--color-blue: #DDECE9;
	--font-noto: 'Noto Sans JP', sans-serif;
	--font-outfit:  "Outfit", sans-serif;
	--c-inner-width:1080px;
	background-repeat:no-repeat;
}
html {
	font-size: 62.5%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	min-height: 100%;
}
body {
	width:100%;
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	font-size: 1.8rem;
	font-weight: 600;
	line-height:1.6;
	letter-spacing: 0.08em;
	background-color: #FBFCF8;
}
a {
	color:inherit;
	display: block;
	text-decoration: none;
}
table {
	width: 100%;
}
input,
button,
select,
textarea {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
picture{
	display: block;
}
img {
	display: inline-block;
	vertical-align: middle;
	max-width: 100%;
	width: 100%;
	height: auto;
}
/*--------------------------------------------

	 FONT

--------------------------------------------*/
.c--font-outfit {
	font-family:var(--font-sofia);
	line-height:1;
}
/*--------------------------------------------

	 CONPONENT

--------------------------------------------*/
.c--inner{
	margin:0 auto;
	padding:0 5.333%;
	max-width:var(--c-inner-width);
}
.c--head{
}
.c--head-en{
	font-size: 34px;
	letter-spacing: 0.04em;
	color: var(--color-green);
	font-family:var(--font-outfit);
	font-weight: 500;
}
.c--head-ja{
	font-size: 48px;
	letter-spacing: 0.12em;
	line-height: 1.5;
	margin-top: 0.95em;
	font-weight: 600;
}
@media all and (min-width : 1025px ){
	.for_sp,.for_tbsp{
		display: none;
	}
}
/*============================
#header.header
============================*/
header{
	padding:40px 0;
	position:absolute;
	left: 0;
	top: 0;
	width: 100%;
}
.header--inner{
	padding:0 clamp(5%,5%,64px);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header--logo{
	width: 176px;
}
.header--logo-img{
}
.header--navi{
}
.header--navi-list{
	display: flex;
	align-items: center;
}
.header--navi-item{
	letter-spacing: 0.18em;
}
.header--navi-item:nth-child(n+2){
	margin-left: 4.2em;
}
.content{
}
.mv{
	padding:296px 0 184px;
	background:url(../images/mv--bg.svg) center no-repeat;
	background-size: cover;
}
.mv--inner{
}
.mv--copy{
	text-align: center;
}
.mv--copy-ja{
	font-size: 58px;
	letter-spacing: 0.05em;
	line-height: 1.62;
}
.mv--copy-en{
	font-family:var(--font-outfit);
	font-size: 34px;
	letter-spacing: 0.04em;
	margin-top: 1em;
	font-weight: 500;
}
.about{
	padding:120px 0 110px;
}
.about--inner{
}
.about--head{
}
.about--body{
	max-width: 520px;
	margin-left: auto;
	margin-top: 26px;
	line-height: 1.78;
}
.about--body p:nth-child(n+2){
	margin-top: 1.4em;
}

/*============================
#business.business
============================*/
.business{
	margin:0 30px;
	background-color: var(--color-blue);
	border-radius: 64px;
	padding:115px 0 158px;
}
.business--inner{
}
.business--head{
}
.business--body{
	margin-top: 54px;;
}
.business--item{
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.08);
	border-radius: 24px;
	padding:56px 68px;
}
.business--item:nth-child(n+2){
	margin-top: 30px;
}
.business--item-inner{
	display: flex;
	align-items: center;
}
.business--item-head{
	font-size: 24px;
	letter-spacing: 0.12em;
	line-height: 1.67;
	width: 50%;
	box-sizing: border-box;
	max-width:19em;
	padding-right: 1em;
	padding-left: 3.25em;
	background:url(../images/icon--arrow-green.svg) left center no-repeat;
	background-size: 1.625em;
}
.business--item-body{
	flex:1;
	font-size: 16px;
	line-height: 1.75em;
}

/*============================
#company.company
============================*/
.company{
	padding:168px 0 192px;
}
.company--inner{
}
.company--head{
}
.company--body{
	margin-top: 100px;
}
.company--item{
	display: flex;
	align-items: center;
	line-height: 1.33;
	padding:2.22em 0;
	border-top: 1px solid #000;
}
.company--item:last-child{
	border-bottom: 1px solid #000;
}
.company--label{
	width: 16em;
	box-sizing: border-box;
	padding-left: 2.5em;
	padding-right: 2em;
	letter-spacing: 0.18em;
	color: var(--color-green);
}
.company--value{
	letter-spacing: 0.12em;
	flex:1;
}
.footer{
	padding:174px 0 87px;
	background-color:#D3DDDE ;
}
.footer--inner{
}
.footer--logo{
	width: 176px;
	margin:0 auto;
}
.footer--copy{
	margin-top: 148px;
	font-size: 11px;
	letter-spacing: 0.12em;
	font-weight: 300;
	font-family:var(--font-outfit);
	color: #1A4C25;
	text-align: center;
	display: block;
}
