@charset "UTF-8";
@import url("../../css/common.pc02.css");

/* ---------------------------------------------------------
	CSS Document common
--------------------------------------------------------- */

:root{
	--base: var(--base);
	--orange: #e9481a;
}

html, body {
	min-width: 1380px;
}

#wrapper {
	padding-top: 44px;
}

/* ---------------------------------------------------------
	CSS Document visual
--------------------------------------------------------- */

#visual {
	overflow: hidden;
	margin-bottom: 80px;
	position: relative;
}

#visual .bg img {
	width: 100%;
	height: auto;
	min-height: 700px;
	aspect-ratio: 2000 / 900;
	object-fit: cover;
}

#visual .container {
	transform: translateY(-50%) translateX(-50%);
	position: absolute;
	top: 50%;
	left: 50%;
}

#visual .hero {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-bottom: 40px;
}

#visual .hero p {
	text-align: left;
	font-size: 40px;
	color: var(--base);
}

#visual h1 {
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	font-size: 120px;
	line-height: 1;
	color: rgba(0, 124, 95, 0.6);
}

/* ---------------------------------------------------------
	CSS Document title
--------------------------------------------------------- */

.title {
	margin-bottom: 60px;
	line-height: 1.3;
}

.title .en {
	display: inline-block;
	vertical-align: top;
	margin-bottom: 35px;
	padding-bottom: 15px;
	border-bottom: solid 1px var(--orange);
	font-weight: bold;
	font-size: 40px;
	letter-spacing: 0.05em;
	line-height: 1;
	color: var(--orange);
	position: relative;
}

.title .en:after {
	content: '';
	width: 0;
	height: 0;
	border: solid 14px transparent;
	border-top: solid 16px var(--orange);
	transform: translateX(-50%);
	position: absolute;
	bottom: -30px;
	left: 50%;
}

.title .ja {
	margin-bottom: 40px;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	font-size: 60px;
	line-height: 1;
	color: #4f9e81;
}

.title p {
	font-size: 25px;
	letter-spacing: 0.05em;
	line-height: 1.9;
}

/* ---------------------------------------------------------
	CSS Document risk
--------------------------------------------------------- */

#risk .container {
	width: 1280px;
	margin-bottom: 60px;
}

#risk .flex {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}

#risk .section {
	width: 30%;
	padding: 30px;
	border-radius: 10px;
	background: #f3f3f3;
}

#risk .section figure {
	margin-bottom: 20px;
}

#risk .section h3 {
	margin-bottom: 40px;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	font-size: 40px;
	line-height: 1;
	color: #4f9e81;
}

#risk .section p {
	margin-bottom: 20px;
	text-align: justify;
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 1.7;
	color: var(--base);
}

#risk .section .caution {
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	font-size: 24px;
	letter-spacing: -0.05em;
	color: var(--orange);
}

/* ---------------------------------------------------------
	CSS Document cxo
--------------------------------------------------------- */

#cxo .container {
	width: 1280px;
	margin-bottom: 110px;
}

#cxo .flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#cxo .section {
	width: 48%;
	overflow: hidden;
	margin-bottom: 4%;
	padding: 30px 50px;
	border-radius: 20px;
	background: #edf7fd;
	position: relative;
}

#cxo .section:before {
	content: '';
	width: 120px;
	height: 120px;
	background: #12557d;
	transform: rotate(45deg);
	position: absolute;
	bottom: -70px;
	right: -70px;
}

#cxo .head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}

#cxo .meta {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: solid 1px #12557d;
	text-align: left;
	color: #12557d;
}

#cxo .meta .ja {
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	font-size: 30px;
}

#cxo .meta .en {
	font-size: 20px;
	letter-spacing: 0.05em;
}

#cxo .section p {
	text-align: justify;
	font-size: 20px;
	letter-spacing: 0.05em;
	color: var(--base);
}

/* cpo */
#cxo .section.cpo {
	background: #fcf4e5;
}

#cxo .section.cpo:before {
	background: var(--orange);
}

#cxo .section.cpo .meta {
	border-bottom: solid 1px var(--orange);
	color: var(--orange);
}

/* cdo */
#cxo .section.cdo {
	background: #ffecfd;
}

#cxo .section.cdo:before {
	background: #ba76b3;
}

#cxo .section.cdo .meta {
	border-bottom: solid 1px #ba76b3;
	color: #ba76b3;
}

/* cqo */
#cxo .section.cqo {
	background: #e0f2eb;
}

#cxo .section.cqo:before {
	background: #4f9e81;
}

#cxo .section.cqo .meta {
	border-bottom: solid 1px #4f9e81;
	color: #4f9e81;
}

/* ---------------------------------------------------------
	CSS Document feature
--------------------------------------------------------- */

#feature .container {
	width: 1280px;
	margin-bottom: 160px;
}

#feature .flex {
	display: flex;
	justify-content: space-between;
}

#feature .section {
	width: calc(100% - 700px);
	text-align: left;
}

#feature .section .row:not(:last-of-type) {
	margin-bottom: 70px;
}

#feature .section h3 {
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: solid 1px var(--orange);
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	font-size: 40px;
	line-height: 1;
	color: var(--orange);
}

#feature .section p {
	text-align: justify;
	font-size: 24px;
	letter-spacing: 0.05em;
	line-height: 1.7;
	color: var(--base);
}

/* ---------------------------------------------------------
	CSS Document process
--------------------------------------------------------- */

#process .bg {
	margin-bottom: 110px;
	padding: 140px 0 70px;
	background: #f3f3f3;
}

#process .container {
	display: flex;
	justify-content: space-between;
	width: 1280px;
}

#process .section {
	width: 18%;
	padding-bottom: 15px;
	border-radius: 10px;
	background: #fff;
	position: relative;
}

#process .section:not(:last-of-type):after {
	content: '';
	width: 16px;
	height: 16px;
	margin-top: -16px;
	border-top: solid 2px var(--orange);
	border-right: solid 2px var(--orange);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: -20px;
}

#process .section figure {
	margin: -70px 0 20px;
}

#process .step {
	font-weight: bold;
	font-size: 10px;
	line-height: 1.3;
	color: var(--orange);
	position: absolute;
	top: 105px;
	left: 15px;
}

#process .step .en {
	letter-spacing: 0.08em;
}

#process .step .ja {
	font-size: 16px;
}

#process .section h3 {
	height: 45px;
	margin: 0 15px 20px;
	border-radius: 45px;
	background: #4f9e81;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 44px;
	color: #fff;
}

#process .section h3 span {
	font-size: 18px;
}

#process .section p {
	margin: 0 15px;
	text-align: justify;
	font-size: 18px;
	line-height: 1.7;
	color: var(--base);
}

/* ---------------------------------------------------------
	CSS Document vision
--------------------------------------------------------- */

#vision .container {
	width: 1280px;
	margin-bottom: 140px;
}

#vision .title .ja {
	font-weight: 56px;
	letter-spacing: -0.05em;
}

#vision .flex {
	display: flex;
	justify-content: space-between;
}

#vision .section {
	width: 48%;
	padding: 30px 40px;
	border-radius: 10px;
	background: #edf7fd;
	position: relative;
}

#vision .section:last-of-type {
	background: #e0f2eb;
}

#vision .section .head {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: solid 1px #12557d;
	font-family: "Noto Serif JP", serif;
	line-height: 1;
	color: #12557d;
}

#vision .section:last-of-type .head {
	color: #4f9e81;
	border-bottom: solid 1px #4f9e81;
}

#vision .section .head h3 {
	font-weight: 600;
	font-size: 34px;
}

#vision .section p {
	text-align: justify;
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 1.7;
	color: var(--base);
}

/* ---------------------------------------------------------
	CSS Document link
--------------------------------------------------------- */

#link a {
	display: block;
	height: 180px;
	background: #4f9e81;
	text-decoration: none;
	font-weight: bold;
	font-size: 40px;
	letter-spacing: 0.05em;
	line-height: 184px;
	color: #fff;
	position: relative;
}

#link a:after {
	content: '';
	width: 0;
	height: 0;
	border: solid 24px transparent;
	border-top: solid 30px #fff;
	transform: translateX(-50%);
	position: absolute;
	top: -1px;
	left: 50%;
}

/* ---------------------------------------------------------
	CSS Document footer
--------------------------------------------------------- */

#footer {
	margin-top: 0;
}
