<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";
.second_hdr_inner {
		position: relative;
}
.second_hdr_inner .whatwedo_figure {
		position: absolute;
		width: 360px;
		top: -185px;
		right: -60px;
		z-index: 10;
}
.whatwedo_figure img {
		width: 100%;
		height: auto;
}
@media(max-width: 1200px) {
		.second_hdr_inner .whatwedo_figure {
				width: 33vw;
				top: -140px;
				right: 40px;
				min-width: 300px;
		}
}
@media(max-width: 768px) {
		.page_whatwedo .second_hdr {
				height: calc(135vw + 30px);
				padding-top: 100px;
				display: block;
		}
}
@media(max-width: 767px) {
		.whatwedo_ttl {
				width: 60vw;
				margin-bottom: 30px;
		}
		.second_hdr_inner .whatwedo_figure {
				position: static;
				width: 45vw;
				top: inherit;
				right: inherit;
				min-width: inherit !important;
				margin: 0 auto;
		}
}
.strategic_section {
		max-width: 1120px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
		padding: 130px 30px 0;
}
.strategic_section h2 {
		width: 620px;
		margin: 0 0 45px;
		position: relative;
		z-index: 20;
}
.strategic_section h2 img {
		width: 100%;
		height: auto;
}
.strategic_section p {
		line-height: 2.2;
		max-width: 460px;
		text-align: justify;
		margin: 0 0 2em;
}
.strategic_flex {
		display: flex;
}
.strategic_caption {
		flex: 1;
}
.strategic_figure {
		width: 620px;
		position: relative;
		top: -90px;
}
.strategic_figure::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		background: #FFFAF0;
}
.strategic_figure img {
		width: 100%;
		height: auto;
		border-radius: 50%;
		position: relative;
		display: inline-block;
		z-index: 5;
}
.strategic_figure .strategic_figure_gwt {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
}
@media(max-width: 1200px) {
		.strategic_figure {
				width: 50vw;
				top: -5vw;
				margin-left: 20px;
		}
		.strategic_section p {
				max-width: inherit;
				width: 100%;
		}
}
@media(max-width: 840px) {
		.strategic_section {
				padding-left: 0;
				padding-right: 0;
		}
		.strategic_figure {
				width: 48vw;
				top: -2vw;
				margin-left: 15px;
		}
		.strategic_flex {
				display: block;
		}
		.strategic_section h2 {
				max-width: 440px;
				width: 100%;
				box-sizing: border-box;
				padding: 0 30px;
		}
		.strategic_caption {
				padding: 0 30px;
				margin: 0 0 40px;
		}
		.strategic_figure {
				width: 100%;
				top: 0;
				margin-left: 0;
		}
		.strategic_figure::before {
				display: none;
		}
}
@media(max-width: 840px) {
		.strategic_section {
				padding-top: 40px;
		}
		.strategic_section p {
				margin: 0 0 1em;
		}
		.strategic_section p br {
				display: none;
		}
		.strategic_figure {
				background: #FFFAF0;
				position: relative;
		}
		.strategic_figure_sp {
				position: relative;
		}
		.strategic_figure_sp::before, .strategic_figure_sp::after {
				display: block;
				content: '';
				background-repeat: no-repeat;
				background-size: 100%;
				height: 28vw;
		}
		.strategic_figure_sp::before {
				background-image: url("../images/creative_figure_upper.png");
				background-position: 0 0;
				position: relative;
				margin: 0 0 -2px;
		}
		.strategic_figure_sp::after {
				background-image: url("../images/creative_figure_bottom.png");
				background-position: left bottom;
				margin: -2px 0 0;
		}
		.strategic_section h2 {
				margin: 0 0 30px;
		}
}
/* ================ */
.process_section {
		padding-top: 120px;
		margin: 0 auto 230px;
		position: relative;
		z-index: 5;
}
.process_upper {
		text-align: center;
		max-width: 1000px;
		margin: 0 auto 80px;
		padding: 0 30px;
}
.process_upper h3 {
		width: 240px;
		margin: 0 auto 50px;
}
.process_upper h3 img {
		width: 100%;
		height: auto;
}
.process_upper p {
		line-height: 2.2;
}
.process_item_flex {
		display: flex;
		justify-content: space-between;
		box-sizing: content-box;
		max-width: 1210px;
		margin: 0 auto;
		padding: 0 30px;
}
.process_item {
		width: 210px;
		position: relative;
}
@media(max-width: 1240px) {
		.process_item {
				width: calc(calc(100% - 160px) * 0.2);
		}
}
.process_figure {
		margin: 0 0 20px;
		position: relative;
}
.process_figure::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 9px);
		right: -28px;
		width: 18px;
		height: 18px;
		background: url("../images/process_arrow_pc.png") no-repeat 0 0;
		background-size: 18px;
}
.process_item_flex .process_item:last-child .process_figure::after {
		display: none;
}
.process_figure img {
		width: 100%;
		height: auto;
		border-radius: 50%;
}
.process_item h5 {
		font-size: 18px;
		font-weight: 700;
		text-align: center;
		margin: 0 0 20px;
}
.process_item p {
		font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		line-height: 1.8;
		font-size: 14px;
		text-align: justify;
}
@media(max-width: 960px) {
		.process_item_flex {
				display: block;
		}
		.process_figure::after {
				display: none;
		}
		.process_item {
				max-width: 600px;
				width: 90%;
				margin: 0 auto;
		}
		.process_item::after {
				content: '';
				display: block;
				position: absolute;
				bottom: -15px;
				left: calc(50% - 5px);
				width: 10px;
				height: 10px;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 10px;
		}
		.process_item.pr1::after, .process_item.pr3::after {
				background-image: url("../images/process_arrow_sp_right.png");
		}
		.process_item.pr2::after, .process_item.pr4::after {
				background-image: url("../images/process_arrow_sp_left.png");
		}
		.process_item.pr1, .process_item.pr3, .process_item.pr5 {
				display: flex;
				align-items: center;
				margin-bottom: 20px;
		}
		.process_item.pr2, .process_item.pr4 {
				display: flex;
				flex-direction: row-reverse;
				align-items: center;
				margin-bottom: 20px;
		}
		.process_figure {
				width: 220px;
		}
		.process_caption {
				flex: 1;
		}
		.process_item.pr1 .process_figure, .process_item.pr3 .process_figure, .process_item.pr5 .process_figure {
				margin-right: 20px;
		}
		.process_item.pr2 .process_figure, .process_item.pr4 .process_figure {
				margin-left: 20px;
		}
		.process_item_flex h5 {
				text-align: left;
		}
}
@media(max-width: 767px) {
		.process_upper h3 {
				width: 35vw;
				max-width: 130px;
				margin: 0 auto 30px;
		}
		.process_item_flex {
				padding: 0 15px;
		}
		.process_item {
				width: 100%;
				margin: 0 auto;
		}
		.process_figure {
				width: 38vw;
		}
		.process_item.pr1 .process_figure, .process_item.pr3 .process_figure, .process_item.pr5 .process_figure {
				margin-right: 20px;
		}
		.process_item.pr2 .process_figure, .process_item.pr4 .process_figure {
				margin-left: 20px;
		}
		.process_item h5 {
				font-size: 15px;
				margin: 0 0 15px;
		}
		.process_upper p {
				line-height: 2.0;
				text-align: left;
		}
		.process_upper p br {
				display: none;
		}
		.process_section {
				margin: 0 auto 100px;
		}
}
/* ================ */
.service_section {
		position: relative;
		z-index: 5;
		padding: 0;
}
.service_section_inner {
		max-width: 1100px;
		margin: 0 auto 120px;
		display: flex;
		justify-content: flex-end;
		position: relative;
}
.service_section_inner .service_section_caption {
		position: absolute;
		top: 75px;
		left: 0;
		width: 450px;
		z-index: 5;
}
.service_section_caption h2 {
		width: 210px;
		margin: 0 0 45px;
}
.service_section_caption h2 img {
		width: 100%;
		height: auto;
}
.service_section_caption p {
		line-height: 2.2;
}
.service_circle {
		max-width: 950px;
		position: relative;
		z-index: 0;
}
.service_circle img {
		width: 100%;
		height: auto;
}
.service_circle::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		background: #FFFAF0;
}
.service_circle .service_circle_inner {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 10;
}
.service_circle_inner_col {
		width: 774px;
		display: flex;
}
.service_circle_inner_col_caption_list_gr {
		position: relative;
}
.service_circle_inner_col_caption_list_gr .service_tryangle {
		width: 475px;
		position: absolute;
		top: 0;
		left: 0;
}
.service_tryangle img {
		width: 100%;
		height: auto;
}
.service_circle_inner_col_caption_list {
		padding-left: 480px;
		box-sizing: border-box;
		width: 100%;
		position: relative;
}
.service_circle_inner_col_caption_list::before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #1e1e1e;
		transform-origin: left center;
}
.service_circle_inner_col_caption_list.last_list::before {
		display: none
}
.first_list {
		height: 135px;
		display: flex;
		align-items: center;
}
.second_list {
		height: 150px;
		display: flex;
		align-items: center;
}
.last_list {
		height: 130px;
		display: flex;
		align-items: center;
}
.service_circle_inner_col_caption .service_circle_inner_col_caption_list:last-child {
		border-bottom: none;
}
.service_circle_inner_col_caption li {
		font-size: 14px;
		list-style: none;
		margin: 0 0 3px;
}
.service_circle_inner_col_caption ul li:last-child {
		margin: 0;
}
@media(max-width: 1200px) {
		.service_section_inner .service_section_caption {
				top: 30px;
				width: 450px;
				padding: 0 0 0 30px
		}
}
@media(max-width: 1023px) {
		.service_section_inner .service_section_caption {
				top: 30px;
				width: 450px;
				padding: 0 0 0 30px
		}
}
@media (max-width: 950px) {
		.service_section_inner {
				display: block;
		}
		.service_circle {
				max-width: inherit;
				width: calc(100vw + 80px);
				left: -40px;
		}
		.service_circle_inner_col_caption_list_gr .service_tryangle {
				width: 435px;
		}
		.first_list {
				height: 125px;
		}
		.second_list {
				height: 140px;
		}
		.last_list {
				height: 120px;
		}
		.service_circle_inner_col_caption_list {
				padding-left: 450px;
		}
		.service_circle_inner_col_caption li {
				margin: 0 0 3px;
		}
}
@media(min-width: 768px) {
		.service_circle_inner_col_caption_list dt {
				display: none;
		}
}
@media(max-width: 767px) {
		.service_section_inner {
				margin: 0 0 160px;
				position: relative;
		}
		.service_section_inner .service_section_caption {
				margin-bottom: 60px;
		}
		.service_section_inner .service_section_caption::after, .service_section_inner::after {
				content: '';
				display: block;
				width: 100%;
				height: 18vw;
				background-repeat: no-repeat;
				background-size: 100%;
		}
		.service_section_inner .service_section_caption::after {
				background-image: url("../images/whatwedo_separate_upper.png");
				position: relative;
				left: -30px;
				width: 100vw;
				bottom: -52px;
		}
		.service_section_inner::after {
				background-image: url("../images/whatwedo_separate_bottom.png");
				background-position: center bottom;
				position: relative;
				margin-top: -2px;
		}
		.service_section_inner .service_section_caption {
				position: static;
				top: inherit;
				left: inherit;
				width: auto;
				margin: 0 0 30px;
				padding: 0 30px;
		}
		.service_section_inner .service_section_caption br {
				display: none;
		}
		.service_circle {
				top: inherit;
		}
		.service_circle .service_circle_inner {
				position: static;
				top: inherit;
				left: inherit;
				bottom: inherit;
				background: #FFFAF0;
		}
		.service_circle_inner_col {
				width: auto;
		}
		.service_circle::before {
				display: none;
		}
		.service_circle_inner_col_caption_list_gr {
				width: calc(100vw - 40px);
				margin: 0 auto;
		}
		.service_circle_inner_col_caption_list_gr .service_tryangle {
				position: static;
				width: 100%;
				margin: 0 auto 40px;
				box-sizing: border-box;
		}
		.service_circle_inner_col_caption_list {
				padding-left: 0;
		}
		.service_circle_inner_col_caption_list {
				height: auto !important;
				padding: 25px 0;
		}
		.service_circle_inner_col_caption li {
				margin: 0 0 8px;
				font-size: 12px;
				line-height: 1.6;
		}
		.bgImg {
				display: none;
		}
		.service_circle_inner_col_caption_list dl {
				display: flex;
				width: 100%;
		}
		.service_circle_inner_col_caption_list dt {
				font-size: 13px;
				width: 120px;
				font-family: "Inter Medium";
				line-height: 1.5;
		}
		.service_circle_inner_col_caption_list dd {
				flex: 1
		}
		.service_section_caption h2 {
				width: 30vw;
				max-width: 112px;
				margin: 0 0 30px;
		}
}
/* ================ */
.team_section {
		max-width: 1100px;
		margin: 0 auto 100px;
		padding: 0;
		overflow: hidden;
		position: relative;
		z-index: 5;
}
.team_circle {
		max-width: 950px;
		position: relative;
		z-index: 0;
}
.team_circle_base img {
		width: 100%;
		height: auto;
}
.team_circle::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		background: #FFFAF0;
}
.team_circle .team_circle_inner {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 10;
}
.team_circle_inner_caption {
		padding-top: 85px;
		display: flex;
		justify-content: flex-end;
		margin-bottom: 30px;
}
.team_circle_inner_caption_col {
		position: relative;
		left: 50px;
}
.team_circle_inner_caption_col h3 {
		width: 262px;
		margin: 0 0 40px;
}
.team_circle_inner_caption_col p {
		line-height: 2.2;
}
.team_circle_inner_figure {
		width: 790px;
		margin: 0 auto;
}
@media(max-width: 1080px) {
		.team_circle_inner_caption {
				padding-right: 30px;
		}
		.team_circle_inner_caption_col {
				left: 0px;
		}
		.team_circle_inner_figure {
				width: 86%;
				margin: 0 auto;
		}
		.team_circle_inner_figure img {
				width: 100%;
				height: auto;
		}
}
@media(max-width: 950px) {
		.team_circle {
				width: calc(100vw + 80px);
				left: -40px
		}
		.team_circle_inner_caption {
				padding-top: 120px;
				display: flex;
				justify-content: center;
				margin-bottom: 30px;
		}
		.team_circle_inner_figure {
				width: 84%;
		}
}
@media(max-width: 767px) {
		.team_section {
				overflow: visible;
				margin-bottom: 160px;
		}
		.team_circle_inner_caption_col h3 {
				width: 37vw;
				max-width: 140px;
				margin-bottom: 30px;
		}
		.team_circle {
				width: 100%;
				left: inherit
		}
		.team_circle_base {
				display: none;
		}
		.team_circle::before {
				display: none;
		}
		.team_circle .team_circle_inner {
				position: static;
				position: relative;
				top: inherit;
				left: inherit;
		}
		.team_circle_inner_figure {
				width: 100%;
		}
		.team_circle_inner_figure_inner {
				width: 100%;
				margin: 0 auto;
				position: relative;
				box-sizing: border-box;
				background: #FFFAF0;
				padding: 0 3vw;
				z-index: 5;
		}
		.team_circle_inner_figure::before, .team_circle_inner_figure::after {
				content: '';
				display: block;
				width: 100%;
				height: 18vw;
				background-repeat: no-repeat;
				background-size: 100%;
		}
		.team_circle_inner_figure::before {
				background-image: url("../images/whatwedo_separate_upper2.png");
				position: relative;
				margin-bottom: -2px;
		}
		.team_circle_inner_figure::after {
				background-image: url("../images/whatwedo_separate_bottom2.png");
				background-position: center bottom;
				position: relative;
				margin-top: -2px;
		}
		.team_circle_inner_caption {
				padding-top: 120px;
				display: block;
				padding: 0 30px;
				margin-bottom: 40px;
		}
		.team_circle_inner_caption br {
				display: none;
		}
}
/* ================ */
.promotion_section {
		max-width: 1100px;
		margin: 0 auto 200px;
		padding: 0 20px;
		position: relative;
		z-index: 5;
}
.promotion_circle {
		max-width: 825px;
		margin: 0 auto;
		position: relative;
}
.promotion_lead {
		margin: 0 0 40px;
}
.promotion_circle_screw img {
		width: 100%;
		height: auto;
		border-radius: 50%;
		position: relative;
		z-index: 5;
		animation: screw 40s linear infinite;
}
@keyframes screw {
		0% {
				transform: rotate(0);
		}
		100% {
				transform: rotate(360deg);
		}
}
.promotion_circle .promotion_circle_inner {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 10;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
}
.promotion_circle::before, .promotion_circle::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50%;
}
.promotion_circle::before {
		background: #FFFAF0;
		z-index: 0;
}
.promotion_circle_inner_col h3 {
		width: 450px;
		margin: 0 auto 50px;
}
.promotion_circle_inner_col p {
		line-height: 2.2;
}
.sdgs_link {
		margin-top: 0.5em;
}
@media(max-width: 767px) {
		.promotion_section {
				padding-left: 0;
				padding-right: 0;
				margin-bottom: 160px;
		}
		.promotion_circle {
				width: 140vw;
				max-width: inherit;
				left: -20vw;
		}
		.promotion_circle_inner_col {
				width: calc(100vw - 60px);
				margin: 0 auto;
		}
		.promotion_circle_inner_col h3 {
				width: 81vw;
				width: 61vw;
				max-width: 305px;
				margin: 0 auto 6vw;
		}
		.promotion_circle_inner_col p {
				line-height: 2.0;
		}
		.promotion_lead {
				text-align: left;
				margin: 0 0 7vw;
				line-height: 2.0;
		}
		.promotion_lead br {
				display: none;
		}
}
.dot170, .dot250 {
		border-radius: 50%;
		background: #FFFAF0;
}
.separate_dot.left {
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
}
.separate_dot.left .dot170 {
		position: absolute;
		left: 0;
		top: -130px;
}
.separate_dot.right {
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
}
.separate_dot.right .dot250 {
		position: absolute;
		right: 0;
		top: -200px;
}
.dot170 {
		width: 170px;
		height: 170px;
}
.dot250 {
		width: 250px;
		height: 250px;
}
@media(max-width: 1300px) {
		.separate_dot.left .dot170 {
				left: -85px;
		}
		.separate_dot.right .dot250 {
				right: -125px;
				left: inherit;
		}
}
@media(max-width: 840px) {
		.dot170, .dot250 {
				width: 86px;
				height: 86px;
		}
		.separate_dot.left .dot170 {
				left: -40px;
		}
		.separate_dot.right .dot250 {
				right: -40px;
				top: -120px;
		}
}
.sdgs_mark_bnr {
		max-width: 384px;
		margin: 0 auto 15px;
}
.sdgs_mark_bnr img {
		width: 100%;
		height: auto;
}
.promotion_circle_inner_col .sdgs_mark_bnr + p {
		font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		margin: 0;
		padding: 0;
		text-align: center;
		font-size: 85%;
		line-height: 1.6;
}
@media(max-width: 767px) {
		.sdgs_mark_bnr {
				width: 80%;
		}
}
.solution_section {}
.solution_section_wrap {
		max-width: 1100px;
		margin: 0 auto 120px;
		display: flex;
		justify-content: flex-end;
}
.solution_section_col {
		width: 830px;
		height: 830px;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
}
.solution_section_col::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: calc(50% - 415px);
		width: 830px;
		height: 830px;
		background: #FFFAF0;
		border-radius: 50%;
}
.solution_section_inner {
		padding: 0 20px;
		position: relative;
		z-index: 5;
		text-align: center;
}
.solution_section_hd {
		max-width: 695px;
		margin: 0 0 40px;
}
.solution_section_hd img {
		width: 100%;
		height: auto;
}
.solution_section_inner p {
		text-align: center;
		line-height: 2.2;
		margin: 0 0 50px;
}
.link_btn {
		font-family: "Inter Medium";
		font-size: 14px;
}
.link_btn a span {
		display: inline-block;
		position: relative;
}
.link_btn a span::after {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		bottom: -2px;
		height: 1px;
		width: 100%;
		background: #1E1E1E;
		transition: all 0.1s;
		transform-origin: left center;
}
@media (hover: hover) {
		.link_btn a:hover span::after {
				animation: hoverLine 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		}
}

@media(max-width: 767px) {
		.solution_section_wrap {
				margin: 0 auto 120px;
				display: block;
		}
		.solution_section_col {
				width: 100%;
				height: 170vw;
		}
		.solution_section_col::before {
				left: calc(50% - 85vw);
				width: 170vw;
				height: 170vw;
		}
		.solution_section_hd {
				margin-bottom: 35px;
		}
		.solution_section_inner p {
				text-align: left;
				line-height: 2.0;
				margin: 0 0 35px;
		}
		.solution_section_inner p br {
				display: none;
		}
}</pre></body></html>