@charset "UTF-8";
*,
*::before,
*::after {
	box-sizing: border-box;
}
body #container #mainContent {
	color: #555555;
	padding: 20px 0 0;
}
#container #mainContent .wrap {
	/* max-width: 970px; */
	padding-bottom: 50px;
}
.pos_link {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	position: absolute;
}
.full {
	width: 100%;
}
.sp {
	display: none;
}
@media screen and (max-width: 599px) {
	.sp {
		display: block;
	}
	#container #mainContent .wrap {
		padding-bottom: 0;
	}
}

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

.sec_bg {
	background: #f1f4c6;
}

.ttl_com {
	font-size: 26px;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 50px;
	display: inline-block;
	font-weight: 500;
	position: relative;
}
.ttl_com:after {
  content: "";
  height: 1px;
  width: 100%;
  background: #555555;
  position: absolute;
  bottom: 0;
  left: 0;
}
.txt_com {
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 2;
	width: 100%;
	max-width: 830px;
	margin: 0 auto 80px;
	text-align: left;
}
@media screen and (max-width: 599px) {
	.ttl_com {
		font-size: 20px;
		line-height: 1.7;
		margin-bottom: 30px;
	}
	.txt_com {
		font-size: 12px;
		margin-bottom: 40px;
	}
}
.tree_icon {
	position: absolute;
	top: -230px;
	z-index: 1;
}
.tree_icon.icon01 {
	top: -200px;
	right: 5vw;
	width: 10%;
	max-width: 135px;
}
@media screen and (max-width: 599px) {
	.tree_icon.icon01 {
		top: -85px;
		right: 10px;
		width: 20%;
	}
}
.tree_icon.icon02 {
	top: -150px;
	left: 5vw;
	width: 5.5%;
	max-width: 75px;
}
@media screen and (max-width: 599px) {
	.tree_icon.icon02 {
		top: -75px;
		left: 10px;
		width: 12%;
	}
}

.tree_icon.icon03 {
	top: -120px;
    right: 5vw;
    width: 6%;
    max-width: 85px;
}
@media screen and (max-width: 599px) {
	.tree_icon.icon03 {
		top: -85px;
		right: 10px;
		width: 12%;
	}
}

.tree_icon.icon04 {
	top: -30px;
	left: 5vw;
	width: 7%;
	max-width: 100px;
}
@media screen and (max-width: 599px) {
	.tree_icon.icon04 {
		top: -75px;
		left: 10px;
		width: 14%;
	}
}

.tree_icon.icon05 {
	top: -150px;
	right: 5vw;
	width: 9%;
	max-width: 120px;
}
@media screen and (max-width: 599px) {
	.tree_icon.icon05 {
		top: -85px;
		right: 10px;
		width: 18%;
	}
}

.mv .title .icon {
	/* width: 106px; */
	margin: 0 auto 30px;
}
.mv .title .color {
	color: #65B7EC;
}
.mv .cont .ttl_en {
	font-size: 30px;
	margin: 0 0 30px;
}
.mv .cont .ttl_en .jp {
	font-size: 53%;
}
.mv .cont .text {
	font-size: 14px;
}
@media screen and (max-width: 599px) {
	.mv .title .icon {
	width: 80px;
	margin: 0 auto 20px;
	}
	.mv .cont {
	padding: 60px 15px 110px;
	}
	.mv .cont .ttl_en {
	font-size: 24px;
	}
	.mv .cont .text {
	font-size: 12px;
	}
}

/* .sec_commitment */
.sec_service {
}
.service_block {
	margin-bottom: 85px;
	text-align: center;
}
.service_block .service_list {
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.service_block .service_item {
	width: calc(100% / 3 - 15px);
}
.service_block .service_item:nth-child(n + 4) {
	margin-top: 30px;
}

.service_block .service_cont {
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.5);
	border-radius: 10px;
	overflow: hidden;
	height: 100%;
	position: relative;
	padding-bottom: 90px;
	background-color: #fff;
	transition: all 0.3s ease;
}
.service_block .service_cont:hover .service_link:after {
	transform: translateX(calc(-50% + 10px));
}
.service_block .service_item.no-link .service_cont {
	padding-bottom: 10px;
}
.service_block .service_img {
	margin-bottom: 25px;
}
.service_block .service_detail {
	padding: 0 25px 0;
}
.service_block .service_ttl {
	font-size: 16px;
	line-height: 1.55;
	color: #000000;
	margin-bottom: 20px;
	text-align: center;
}
.service_block .service_ttl .bigger {
	font-size: 20px;
}
.service_block .service_txt {
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1.9;
	margin-bottom: 20px;
}
.service_block .service_link {
	font-size: 16px;
	letter-spacing: 0;
	line-height: 1.6875;
	color: #000000;
	display: block;
	width: 100%;
	background-color: #daeadf;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 23px 5px 40px;
	transition: all 0.3s ease;
}
.service_block .service_link::after {
	content: "";
	width: 25px;
	height: 7px;
	background: url(../imgs/icon_arrow_right.png) no-repeat center center/contain;
	position: absolute;
    bottom: 23px;
    left: 50%;
    transform: translateX(-50%);
    transition: all 0.3s ease-out;
}
.service_block .no_link::after {
	content: none;
}
.support_block {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1030px;
	width: 100%;
	margin: auto;
}
.support_block .col {
	width: calc(50% - 42px);
}
.support_block .time_block {
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1.9;
	margin-top: 20px;
}
.support_block .time_block .time_ttl {
	font-weight: 500;
}
.support_block .time_block li {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid;
}
.support_block .time_block .time_left {
	padding-right: 10px;
}
.service_block.housing .service_link.no_link::after {
	content: none;
	padding: 18px 0;
}
.service_block.housing .service_link {
	margin-top: auto;
	position: relative;
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.service_block.housing .service_link.no_link {
	padding: 23px 0;
}
.service_block.housing .service_cont {
	display: flex;
	flex-direction: column;
	padding-bottom: 0;
}
.service_block.housing .service_item.no-link .service_cont {
	padding-bottom: 0;
}
@media screen and (max-width: 599px) {
	.service_block .service_item {
		width: 100%;
	}
	.service_block .service_item:nth-child(n + 2) {
		margin-top: 30px;
	}
	.service_block {
		margin-bottom: 60px;
	}
	.service_block .service_detail {
		padding: 0 15px 0;
	}
	.service_block .service_link {
		font-size: 14px;
		padding: 15px 5px 30px;
	}
	.service_block .service_cont {
		padding-bottom: 68px;
	}
	.service_block .service_link::after {
		bottom: 18px;
	}
	.support_block .support_intro .support_img {
		width: 100%;
		padding: 0;
		margin-bottom: 10px;
	}
	.support_block .support_intro {
		display: block;
		margin-bottom: 50px;
	}
	.support_block .support_ttl {
		font-size: 14px;
	}
	.support_block .support_txt {
		font-size: 12px;
	}
	.support_block .time_block {
		font-size: 12px;
	}
	.service_block .service_txt {
		font-size: 12px;
	}
	.support_block .col {
		width: 100%;
	}
}

/* sec_develop */
@media screen and (max-width: 599px) {
	.sec_develop .no_link {
		padding: 23px 5px;
	}
}
/* sec_employee */
.percent_block {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/*! max-width: 1120px; */
	/*! margin: auto; */
}
.sec_employee .service_block .service_link {
	padding: 23px 5px;
}
.percent_list {
	width: calc(100%/3);
	/*! max-width: 505px; */
}
.percent_block01 {
	margin-top: 165px;
	margin-bottom: 90px;
}
.percent_block01 .percent_list:nth-child(1) {
	margin: 0 auto;
	width: 53%;
	max-width: 570px;
}
.percent_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}
.percent_list .percent_item {
	/*! max-width: 242px; */
	width: 50%;
	padding: 20px;
}
.percent_block .percent_ttl {
	font-size: 16px;
	letter-spacing: 0.039em;
	line-height: 1.2;
	text-align: center;
	width: 100%;
}
.percent_block02 .percent_ttl {
	/* margin-bottom: -15px; */
	position: absolute;
	top: 20px;
}
.percent_block .percent_txt {
	font-size: 14px;
	text-align: center;
	margin-bottom: 0;
	padding-top: 23px;
	line-height: 1;
}
.pie-wrapper {
	height: auto;
	width: 100%;
	position: relative;
	margin: auto;
	aspect-ratio: 1/1;
	margin-top: 10px;
}
.list01 .pie-wrapper {
	/* margin-top: 15px; */
}
.percent_block02 .list01 .percent_ttl {
	margin-bottom: 0;
	position: relative;
	top: 0;
}
.percent_item .progress-bar {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: conic-gradient(#4C9935 360deg, #B3AEAA 0deg);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.percent_item .progress-bar::before {
	content: "";
	position: absolute;
	width: 85%;
	height: 85%;
	border-radius: 50%;
	background-color: #fff;
}
.percent_item.pink .progress-bar {
	background: conic-gradient(#CF6DA1 360deg, #B3AEAA 0deg);
}
.percent_item .progress-95 .progress-bar {
	background: conic-gradient(#4C9935 342.72deg, #B3AEAA 0deg);
}
.percent_item.green01 .progress-18 .progress-bar {
	background: conic-gradient(#88B83E 65.52deg, #B3AEAA 0deg);  
}
.percent_item.green01 .progress-bar {
	background: conic-gradient(#88B83E 360deg, #B3AEAA 0deg); 
}
.percent_item.pink .progress-50 .progress-bar {
	background: conic-gradient(#CF6DA1 180deg, #B3AEAA 0deg);   
}
.green01 .pie-wrapper .label {
	color: #88B83E;
}
.pink .pie-wrapper .label {
	color: #CF6DA1;
}
.pie-wrapper .label {
	cursor: default;
	display: block;
	position: absolute;
	text-align: center;
	font-size: 30px;
	color: #4c9935;
	font-weight: 600;
	top: 15px;
	left: 15px;
	bottom: 15px;
	right: 15px;
	display: flex;
    align-items: center;
    justify-content: center;
	z-index: 9;
}
.pie-wrapper .label .bigger {
	font-size: 125%;
	font-weight: 600;
}
.pie-wrapper .label .medium {
	font-weight: 600;
}
.pie-wrapper .shadow {
	height: 100%;
	width: 100%;
	border: 15px solid #bdc3c7;
	border-radius: 50%;
}
.pie-wrapper.progress-100 .pie {
	clip: rect(auto, auto, auto, auto);
}
.pie-wrapper.progress-100 .pie .left-side {
	transform: rotate(360deg);
}
.pie-wrapper.progress-100 .pie .right-side {
	transform: rotate(180deg);
}
.pie-wrapper.progress-95 .pie {
	clip: rect(auto, auto, auto, auto);
}
.pie-wrapper.progress-95 .pie .left-side {
	transform: rotate(342deg);
}
.pie-wrapper.progress-95 .pie .right-side {
	transform: rotate(180deg);
}
.pie-wrapper.progress-18 .pie .right-side {
	transform: rotate(65deg);
}
.pie-wrapper.progress-50 .pie .right-side {
	transform: rotate(180deg);
}
@media screen and (max-width: 599px) {
	.percent_list {
		width: 100% !important;
	}
	.percent_block01 {
		margin-top: 0;
		margin-bottom: 40px;
	}
	.percent_block .percent_ttl {
		font-size: 16px;
	}
	.percent_block02 .percent_ttl {
		margin-bottom: 0;
		top: 0;
		position: relative;
	}
	.percent_block .percent_txt {
		padding-top: 0;
	}
	.percent_block02 .percent_list {
		margin-bottom: 40px;
	}
	.pie-wrapper {
		height: 150px;
		width: 150px;
		position: relative;
		margin: auto;
	}
	.percent_list .percent_item {
		max-width: 230px;
		width: 50%;
		padding: 10px;
	}
	.pie-wrapper .label {
		font-size: 28px;
	}
}

.sec_anibg.pb0 {
	padding-bottom: 0;
}
.item_com {
	text-align: left;
	margin: 30px 0 0;
}
.item_com .img {
	margin: 15px 0;
}
.item_com .ttl {
	font-size: 16px;
	font-weight: 500;
	background: #555555;
	color: #ffffff;
	padding: 2px 10px 0;
	margin: 0 0 5px;
}
.item_com .txt {
	font-size: 14px;
	line-height: 2.2;
	letter-spacing: 0;
}
.sec_employee .item_com {
	width: 100%;
	max-width: 1030px;
	margin: 0 auto 80px;
	text-align: left;
}
@media screen and (max-width: 599px) {
	.sec_employee .item_com {
		margin: 0 auto 30px;
	}
	.item_com .ttl {
		font-size: 14px;
	}
	.item_com .txt {
		font-size: 12px;
		line-height: 2;
	}
}