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

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

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

#wrapper {
	padding-top: 44px;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", sans-serif;
}

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

#visual {
	overflow: hidden;
	margin-bottom: 10vw;
	position: relative;
}

#visual .bg img {
	width: auto;
	height: 120vw;
	aspect-ratio: 2000 / 900;
	object-fit: cover;
}

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

#visual .hero {
	margin-bottom: 40px;
}

#visual .hero img {
	width: 40vw;
	height: auto;
	aspect-ratio: 297 / 113;
	object-fit: cover;
}

#visual .hero p {
	margin-top: 5vw;
	font-size: 4.5vw;
	line-height: 1.8;
	color: var(--base);
}

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

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

.title {
	margin-bottom: 8vw;
	line-height: 1.3;
}

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

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

.title .ja {
	margin-bottom: 5vw;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	font-size: 6.5vw;
	line-height: 1.5;
	color: #4f9e81;
}

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

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

#risk {
	margin: 0 5vw 5vw;
}

#risk .section {
	margin-bottom: 5vw;
	padding: 5vw 5vw 8vw;
	border-radius: 10px;
	background: #f3f3f3;
}

#risk .section figure {
	margin-bottom: 5vw;
}

#risk .section figure img {
	width: 46vw;
	height: auto;
	aspect-ratio: 293 / 293;
	object-fit: cover;
}

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

#risk .section p {
	margin-bottom: 5vw;
	text-align: justify;
	font-size: 16px;
	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: 5vw;
	color: var(--orange);
}

#risk .arrow img {
	width: 50px;
	height: auto;
	aspect-ratio: 106 / 156;
	object-fit: cover;
}

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

#cxo {
	margin: 0 5vw 20vw;
}

#cxo .title p {
	text-align: justify;
}

#cxo .section {
	overflow: hidden;
	margin-bottom: 5vw;
	padding: 5vw 5vw 8vw;
	border-radius: 20px;
	background: #edf7fd;
	position: relative;
}

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

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

#cxo .head figure img {
	width: 25vw;
	height: auto;
	aspect-ratio: 134 / 134;
	object-fit: cover;
}

#cxo .head .name img {
	width: 40vw;
	height: auto;
}

#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: 6vw;
}

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

#cxo .section p {
	text-align: justify;
	font-size: 16px;
	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 {
	margin: 0 5vw 20vw;
}

#feature .title p {
	text-align: justify;
}

#feature .row {
	margin-bottom: 8vw;
	text-align: left;
}

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

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

#visual .figure img {
	width: 100%;
	height: auto;
}

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

#process .bg {
	margin-bottom: 20vw;
	padding: 1px 5vw 70px;
	background: #f3f3f3;
}

#process .section {
	margin-top: 110px;
}

#process .section {
	padding-top: 1px;
	padding-bottom: 8vw;
	border-radius: 10px;
	background: #fff;
	position: relative;
}

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

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

#process .step {
	font-weight: bold;
	font-size: 14px;
	color: var(--orange);
	position: absolute;
	top: 5vw;
	left: 5vw;
}

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

#process .step .ja {
	font-size: 18px;
	line-height: 1.3;
}

#process .section h3 {
	margin: 0 5vw 5vw;
	border-radius: 12vw;
	background: #4f9e81;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	font-size: 6vw;
	line-height: 12vw;
	color: #fff;
}

#process .section h3 span {
	font-size: 4vw;
}

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

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

#vision {
	margin: 0 5vw 20vw;
}

#vision .title p {
	text-align: justify;
}

#vision .section {
	padding: 6vw 5vw;
	border-radius: 10px;
	background: #edf7fd;
	position: relative;
}

#vision .section:last-of-type {
	margin-top: 5vw;
	background: #e0f2eb;
}

#vision .section .head {
	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 img {
	width: auto;
	height: 80px;
	aspect-ratio: 134 / 134;
	object-fit: cover;
}

#vision .section .head h3 {
	margin-top: 5vw;
	font-weight: 600;
	font-size: 6vw;
}

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

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

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

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

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

#footer {
	margin-top: 0;
}
