@charset "UTF-8";
@media screen and (min-width: 768px),print {
.p-main__ttl-wrap {
	background: url(../images/architecture/header_fv.jpg) no-repeat top center/cover;
	margin-block: -6.25rem 0;
	margin-inline: auto;
	max-width: 1920px;
	padding-block: 13.5625rem 2rem;
	width: 100%;
}

.p-main__ttl-wrap h1 {
	color: #ffffff;
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.4166666667;
	margin-bottom: 0.5rem;
	text-align: center;
}

.p-main__ttl-wrap p {
	color: #ffffff;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.4;
	text-align: center;
}

.p-mv {
	background: #00388D;
	height: 38rem;
	margin-block: 2.5rem 2rem;
}

.p-mv .p-mv__contents {
	margin-left: auto;
	position: relative;
	width: min(95%, 1673px);
}

.p-mv .p-mv__contents-left {
	left: 0;
	position: absolute;
	top: 6.0625rem;
	z-index: 10;
}

.p-mv .p-mv__contents-left p {
	display: grid;
	gap: 0.5rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 2.875rem;
}

.p-mv .p-mv__contents-left p span {
	background: #ffffff;
	color: #00388D;
	font-size: 60px;
	font-size: 3.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 2.2;
	padding-inline: 2.5rem 1rem;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
}

.p-mv .p-mv__contents-left p.txt {
	color: #ffffff;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.7142857143;
	position: relative;
	right: -2.5rem;
}

.p-mv .p-mv__contents-right {
	position: absolute;
	right: 0;
	top: 0;
}

.p-onayami {
	background: #ffffff;
	padding-block: 9.5rem 0;
	margin-block: 0 1rem;
}

.p-onayami .p-onayami__ttl {
	display: grid;
	gap: 1rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 3rem;
	place-items: center;
}

.p-onayami .p-onayami__ttl span.top {
	background: #00388D;
	color: #ffffff;
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.6;
	padding-block: 0.5rem;
	padding-inline: 1.5rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-onayami .p-onayami__ttl span.bottom {
	font-size: 42px;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.4285714286;
}

.p-onayami .p-onayami__ttl span.bottom span {
	color: #00388D;
}

.p-onayami .p-onayami__contents {
	background: #C9C9C9; /* 背景色を指定 */
	margin-bottom: -12.5rem;
	margin-inline: auto;
	outline: 20px solid #ffffff;
	position: relative;
	width: min(95%, 1100px);
	z-index: 10;
}

.p-onayami .p-onayami__contents::after {
	background: url(../images/architecture/onayami_human.png) no-repeat center center/contain;
	bottom: 0;
	content: "";
	height: 12.9375rem;
	position: absolute;
	right: -3rem;
	width: 13.9375rem;
	z-index: 11;
}

.p-onayami .p-onayami__contents.dx::after {
	background: url(../images/architecture/onayami02_human.png) no-repeat center center/contain;
	bottom: 0;
	content: "";
	height: 12.9375rem;
	position: absolute;
	left: -3.5rem;
	width: 13.9375rem;
	z-index: 11;
}

.p-onayami .p-onayami__items {
	display: grid;
	gap: 1rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	padding-block: 5rem 5rem;
	position: relative;
	width: min(95%, 867px);
}

.p-onayami .p-onayami__items:before {
	border-color: #fff transparent transparent transparent;
	border-style: solid;
	border-width: 56px 113.5px 0 113.5px;
	bottom: -4.75rem;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.p-onayami .p-onayami__items::after {
	border-color: #C9C9C9 transparent transparent transparent;
	border-style: solid;
	border-width: 56px 120.5px 0 120.5px;
	bottom: -3.5rem;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.p-onayami .p-onayami__items.dx .p-onayami__item {
  padding-left: 5.5rem;
}

.p-onayami .p-onayami__items.dx .p-onayami__item:before {
  left: 1.8rem;
  top: 0rem;
}

.p-onayami .p-onayami__item {
	border-bottom: 1px dashed #ffffff;
	font-size: 25px;
	font-size: 1.5625rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.6;
	padding-block: 0 1rem;
	padding-left: 9rem;
	position: relative;
}

.p-onayami .p-onayami__item:before {
	background: url(../images/architecture/check.svg) no-repeat center center/contain;
	content: "";
	height: 2.5rem;
	left: 5rem;
	position: absolute;
	top: 0rem;
	width: 2.9375rem;
}

.p-onayami .p-onayami__item span {
	color: #00388D;
}

.p-plan {
	background: url(../images/architecture/bg.jpg) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 1920px;
	width: 100%;
}

.p-plan .l-inner.l-plan {
	padding-block: 22rem 4.5rem;
}

.p-plan .p-plan__logo {
	margin-bottom: 0.9375rem;
	text-align: center;
}

.p-plan .p-plan__txt {
	color: #00388D;
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.7692307692;
	margin-bottom: -0.375rem;
	text-align: center;
}

.p-plan .p-plan__ttl {
	font-size: 72px;
	font-size: 4.5rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.5;
	margin-bottom: 3.5rem;
	text-align: center;
  color: #00388D;
}

.p-plan .p-plan__ttl02 {
	background: #00A1C2;
	color: #ffffff;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.53125;
	margin-block: 0 1.5rem;
	margin-inline: auto;
	padding-block: 1rem;
	padding-inline: 1.875rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-plan .p-plan__items {
	display: grid;
	gap: 0 2rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 1380px);
}

.p-plan .p-plan__item {
	border: 3px solid #00388D;
	padding-block: 1.5rem 1.5rem;
	padding-inline: 1.625rem;
	position: relative;
}

.p-plan .p-plan__item:nth-child(1):before {
	background: url(../images/architecture/plan_human.png) no-repeat center center/contain;
	content: "";
	height: 17.0625rem;
	left: 20%;
	position: absolute;
	top: -17.25rem;
	width: 11.375rem;
}

.p-plan .p-plan__items.dx .p-plan__item:nth-child(1):before {
  content: none;
}

.p-plan .p-plan__items.dx .p-plan__item:nth-child(3):before {
	background: url(../images/architecture/dx_human.png) no-repeat center center/contain;
	content: "";
	height: 16.6rem;
	right: -3%;
	position: absolute;
	top: -16.6rem;
	width: 20rem;
}

.p-plan .p-plan__item .num {
	left: -3px;
	position: absolute;
	top: -3px;
}

.p-plan .p-plan__item .img {
	margin-bottom: 1.5rem;
}

.p-plan .p-plan__item .img.plan03 {
	margin-bottom: 0.5rem;
}

.p-plan .p-plan__item h4 {
	color: #00388D;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.75;
	text-align: center;
  position: relative;
  z-index: 10;
}

.p-plan .p-plan__item h4 span {
  text-decoration: underline;
  text-decoration-color: #FFFF00;
  -webkit-text-decoration-color: #FFFF00;
  text-decoration-thickness: 13px;
  text-underline-offset: -5px;
  -webkit-text-underline-offset: -1.932vw;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  position: relative;
  z-index: 1;
}

.p-plan .p-plan__item h4 span::after {
  /* position: absolute;
  content: "";
  background: #FFFF00;
  width: 100%;
  height: 8px;
  left: 0;
  bottom: 5px;
  z-index: -1; */
}

.c-sec__en {
	color: #00388D;
	font-size: 22px;
	font-size: 1.375rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.4090909091;
	margin-bottom: 0.6875rem;
	text-align: center;
}

.c-sec__ttl {
	font-size: 42px;
	font-size: 2.625rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.5952380952;
	margin-bottom: 6.8rem;
	text-align: center;
}

.p-support {
	background: #F9FAFC;
	padding-block: 4.5rem 6.25rem;
}

.p-support .l-inner.l-support {
	margin-inline: auto;
	width: min(95%, 1480px);
}

.p-support .p-support__items {
	display: grid;
	gap: 7.5625rem 4.4375rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-support .p-support__item {
	background: #ffffff;
	border: 3px solid #00388D;
	padding-block: 5rem 2rem;
	padding-inline: 4.4375rem;
	position: relative;
  height: 38.25rem;
}

.p-support .p-support__item.top {
	padding-block: 2rem 2rem;
}

.p-support .p-support__item .icon {
	left: 2.5rem;
	position: absolute;
	top: -4.4rem;
}

.p-support .p-support__item h3 {
	border-bottom: 1px solid #00388D;
	color: #00388D;
	font-size: 34px;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.5882352941;
	margin-bottom: 1.875rem;
	padding-bottom: 0.875rem;
	text-align: center;
}

.p-support .p-support__item h3 span {
	font-size: 22px;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 2.5909090909;
	margin-bottom: -0.5rem;
  display: block;
}

.p-support .p-support__item .img {
	margin-bottom: 0.5rem;
}

.p-support .p-support__item p {
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 2.1111111111;
}

.p-link {
	margin-block: 6.5rem 7rem;
}

.p-link .l-inner.l-link {
	margin-inline: auto;
	width: min(88%, 1340px);
}

.p-link .p-link__items {
	display: grid;
	gap: 0 3.75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block: -3rem 0;
}

.p-link .p-link__item .img {
	margin-bottom: 1rem;
}

.p-link .p-link__item .img img{
	width: 100%;
}

.p-link .p-link__item .txt {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 2;
	text-align: center;
}

.p-bottom {
	background: url(../images/architecture/bottom_bg.jpg) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 1920px;
	position: relative;
	width: 100%;
}

.p-bottom::after {
	background: url(../images/architecture/bottom_triangle.svg) no-repeat center center/contain;
	bottom: -8rem;
	content: "";
	height: 8.1875rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 32.75rem;
}

.p-bottom .l-inner.l-bottom {
	padding-block: 6rem 6.6rem;
}

.p-bottom .p-bottom__ttl {
	color: #ffffff;
	font-size: 38px;
	font-size: 2.375rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.6315789474;
	margin-bottom: 4.5625rem;
	text-align: center;
}

.p-bottom .p-bottom__items {
	display: grid;
	gap: 0 3.75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-inline: auto;
	width: min(90%, 1480px);
}

.p-bottom .p-bottom__item {
	padding-block: 0 4rem;
	padding-inline: 1.5rem 0.5rem;
}

.p-bottom .p-bottom__item:nth-child(1) {
	background: url(../images/architecture/bottom_bg01.png) no-repeat top center/cover;
	margin-inline: auto;
	width: 100%;
}

.p-bottom .p-bottom__item:nth-child(2) {
	background: url(../images/architecture/bottom_bg02.png) no-repeat top center/cover;
	margin-inline: auto;
	width: 100%;
}

.p-bottom .p-bottom__item:nth-child(2) .img {
	left: -2.5rem;
	text-align: right;
	top: -5.5rem;
	margin-bottom: -5.5rem;
}

.p-bottom .p-bottom__item .img {
	margin-bottom: -6.5rem;
	position: relative;
	top: -4.5rem;
}

.p-bottom .p-bottom__item h3 {
	margin-bottom: 3.5rem;
	position: relative;
	z-index: 10;
}

.p-bottom .p-bottom__item p {
	color: #ffffff;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 2.1111111111;
	text-align: center;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1000px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1000px) {
.p-onayami .p-onayami__items:before {
  bottom: -5.75rem;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1700px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1700px) {
.p-mv .p-mv__contents-right {
  text-align: right;
}

.p-mv .p-mv__contents-right img {
  width: 90%;
}

.p-mv .p-mv__contents-left p span {
  font-size: 3.529vw;
}

.p-support .p-support__item .img img {
  width: 100%;
  height: auto;        
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1500px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1500px) {
.p-bottom .p-bottom__item h3 img {
  width: 100%;
}

}


/* ========================================
@media screen and (min-width:768px) and ( max-width:1450px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1450px) {
.p-mv {
  height: 32rem;
}

.p-mv .p-mv__contents-right img {
  width: 80%;
}

.p-plan .p-plan__item .img img {
  width: 100%;
  height: auto;        
}

.p-plan .p-plan__items.dx .p-plan__item:nth-child(3):before {
	background: url(../images/architecture/dx_human.png) no-repeat center center/contain;
	content: "";
	height: 13.6rem;
	right: -3%;
	position: absolute;
	top: -13.6rem;
	width: 20rem;
}

.p-support .p-support__item h3 {
	font-size: 2.069vw;
  white-space: nowrap;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1400px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1400px) {
.p-link .p-link__item .img img {
  width: 100%;
  height: auto;        
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1200px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1200px) {
.p-support .p-support__item .icon img {
  width: 64%;
}

.p-support .p-support__item .icon {
  top: -3.4rem;
}

.p-plan .p-plan__item .num img {
  width: 80%;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1100px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1100px) {
.p-onayami .p-onayami__items.dx .p-onayami__item {
  padding-left: 8.5rem;
}

.p-onayami .p-onayami__items.dx .p-onayami__item:before {
  left: 4.8rem;
}

.p-bottom .p-bottom__item:nth-child(2) .img {
	left: -2.5rem;
	text-align: right;
	top: -5.5rem;
	margin-bottom: -5.5rem;
}

.p-bottom .p-bottom__item .img {
	margin-bottom: -6.5rem;
	position: relative;
	top: -4.5rem;
}

.p-bottom .p-bottom__item:nth-child(2) .img img {
	width: 100px;
  height: auto;
}

.p-bottom .p-bottom__item .img img {
  width: 180px;
  height: auto;
}


}

/* ========================================
@media screen and (min-width:768px) and ( max-width:900px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:900px) {
.p-support .p-support__item .icon img {
  width: 50%;
}

}

/* ========================================
@media screen and (max-width: 767px) {
======================================== */
@media screen and (max-width: 767px) {
.p-main__ttl-wrap {
	background: url(../images/architecture/header_fv_sp.jpg) no-repeat top center/cover;
	margin-block: -20vw 0;
	padding-block: 27.889vw 12.319vw;
	width: 100%;
}

.p-main__ttl-wrap h1 {
	color: #ffffff;
	font-size: 7.246vw;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.4;
	margin-bottom: 3.763vw;
	text-align: center;
}

.p-main__ttl-wrap p {
	color: #ffffff;
	font-size: 4.831vw;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.4;
	text-align: center;
}

.p-mv {
	background: #00388D;
	height: -moz-fit-content;
	height: fit-content;
	margin-block: 0 20.478vw;
	padding-block: 0 16.493vw;
}

.p-mv .l-inner.l-mv {
	padding-block: 9.077vw 12.077vw;
}

.p-mv .p-mv__contents {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin: 0;
	width: 100%;
}

.p-mv .p-mv__contents-left {
	display: contents;
	position: static;
}

.p-mv .p-mv__contents-left p {
	display: grid;
	gap: 0.932vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: -18.324vw;
	margin-inline: auto;
	order: 1;
	position: relative;
	width: min(95%, 89.2vw);
	z-index: 10;
}

.p-mv .p-mv__contents-left p span {
	background: #ffffff;
	color: #00388D;
	font-size: 5.797vw;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 2.3;
	padding-inline: 3.5vw;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
}

.p-mv .p-mv__contents-left p.txt {
	color: #ffffff;
	font-size: 4.348vw;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2.1111111111;
	margin-inline: auto;
	order: 3;
	position: static;
	width: min(95%, 82.1vw);
}

.p-mv .p-mv__contents-right {
	margin-bottom: -1.135vw;
	order: 2;
	position: static;
}

.p-onayami {
	background: #ffffff;
	padding-block: 0px 0;
}

.p-onayami.dx {
	background: #ffffff;
	padding-block: 14vw 0vw;
}

.p-onayami .p-onayami__ttl {
	display: grid;
	gap: 1rem 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 7.797vw;
	place-items: center;
}

.p-onayami .p-onayami__ttl span.top {
	background: #00388D;
	color: #ffffff;
	font-size: 4.348vw;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.7777777778;
	padding-block: 1.623vw;
	padding-inline: 5.623vw;
	width: -moz-fit-content;
	width: fit-content;
}

.p-onayami .p-onayami__ttl span.bottom {
	font-size: 5.797vw;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.6666666667;
}

.p-onayami .p-onayami__ttl span.bottom span {
	color: #00388D;
}

.p-onayami .p-onayami__contents {
	background-color: #C9C9C9; /* 背景色を指定 */
	margin-bottom: -85.155vw;
	margin-inline: auto;
	outline: 10px solid #ffffff;
	position: relative;
	width: min(95%, 89.3vw);
	z-index: 10;
}

.p-onayami .p-onayami__contents::after {
	background: url(../images/architecture/onayami_human_sp.png) no-repeat center center/contain;
	bottom: 0;
	content: "";
	height: 26.812vw;
	position: absolute;
	right: -5vw;
	width: 26.087vw;
	z-index: 11;
}

.p-onayami.dx .p-onayami__contents::after {
	background: url(../images/architecture/onayami02_human_sp.png) no-repeat center center/contain;
	bottom: 0;
	content: "";
	height: 26.812vw;
	position: absolute;
	left: -5vw;
	width: 26.087vw;
	z-index: 11;
}

.p-onayami .p-onayami__items {
	display: grid;
	gap: 2.899vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	padding-block: 12.459vw 21.986vw;
	position: relative;
	width: min(95%, 82.1vw);
}

.p-onayami .p-onayami__items:before {
	border-color: #FFFFFF transparent transparent transparent;
	border-style: solid;
	border-width: 7.246vw 9.662vw 0 9.662vw;
	bottom: -8.729vw;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.p-onayami .p-onayami__items::after {
	border-color: #C9C9C9 transparent transparent transparent;
	border-style: solid;
	border-width: 6.763vw 9.179vw 0 9.179vw;
	bottom: -5.797vw;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.p-onayami .p-onayami__item {
	border-bottom: 0.2vw dashed #ffffff;
	font-size: 3.865vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding-bottom: 2.899vw;
	padding-inline: 12.454vw 5vw;
	position: relative;
	z-index: 1;
}

.p-onayami .p-onayami__item:before {
	background: url(../images/architecture/check.svg) no-repeat center center/contain;
	content: "";
	height: 4.348vw;
	left: 4vw;
	position: absolute;
	top: 1.449vw;
	width: 5.314vw;
}

.p-onayami .p-onayami__item span {
	color: #00388D;
}

.p-plan {
	background: url(../images/architecture/bg_sp.jpg) no-repeat top center/cover;
	width: 100%;
}

.p-plan .l-inner.l-plan {
	padding-block: 118.42vw 14.493vw;
}

.p-plan .p-plan__logo {
	margin-bottom: 4.729vw;
	text-align: center;
}

.p-plan .p-plan__logo img {
  width: 14vw;
  height: auto;
}

.p-plan .p-plan__txt {
	color: #00388D;
	font-size: 4.348vw;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.9444444444;
	margin-bottom: 2.039vw;
	text-align: center;
}

.p-plan .p-plan__ttl {
	font-size: 8.213vw;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.7647058824;
	margin-bottom: 11.734vw;
	text-align: center;
	color: #00388D;
}

.p-plan .p-plan__ttl.dx {
	margin-bottom: 17.734vw;
}

.p-plan .p-plan__ttl02 {
	background: #00A1C2;
	color: #ffffff;
	font-size: 4.348vw;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.6111111111;
	padding-block: 0.865vw;
	padding-inline: 4.106vw;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 10;
	margin-inline: auto;
	margin-bottom: 7vw;
}

.p-plan .p-plan__items {
	display: grid;
	gap: 4.072vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 89.3vw);
}

.p-plan .p-plan__item {
	border: 3px solid #00388D;
	padding-block: 3.14vw 7.039vw;
	padding-inline: 3.14vw;
	position: relative;
	height: 72.4vw;
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
}

.p-plan .p-plan__item:nth-child(1):before {
	background: url(../images/architecture/plan_human_sp.png) no-repeat center center/contain;
	content: "";
	height: 26.57vw;
	left: 4%;
	position: absolute;
	top: -27.295vw;
	transform: none;
	width: 20.773vw;
}

.p-plan .p-plan__items.dx .p-plan__item:nth-child(1):before {
	background: url(../images/architecture/dx_human_sp.png) no-repeat center center/contain;
	content: "";
	height: 35.266vw;
	left: -5%;
	position: absolute;
	top: -35.266vw;
	transform: none;
	width: 42.512vw;
}

.p-plan .p-plan__item .num {
	left: -0.7vw;
	position: absolute;
	top: -0.7vw;
}

.p-plan .p-plan__item .num img {
	height: auto;
	width: 14.01vw;
}

.p-plan .p-plan__item .img {
	margin-bottom: 3.662vw;
}

.p-plan .p-plan__item .img.plan03 {
	margin-bottom: 3.662vw;
}

.p-plan .p-plan__item h4 {
	color: #00388D;
	font-size: 4.348vw;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.8333333333;
	text-align: center;
  position: relative;
  z-index: 10;
}

.p-plan .p-plan__item h4 span {
  position: relative;
  text-decoration: underline;
  text-decoration-color: #FFFF00;
  -webkit-text-decoration-color: #FFFF00; 
  text-decoration-thickness: 3.14vw;
  text-underline-offset: -1.932vw;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  z-index: -1; 
}

/* .p-plan .p-plan__item h4 span::after {
  position: absolute;
  content: "";
  background: #FFFF00;
  width: 100%;
  height: 2.1vw;
  left: 0;
  bottom: 1vw;
  z-index: -1; 
} */

.c-sec__en {
	color: #00388D;
	font-size: 4.348vw;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.5555555556;
	margin-bottom: 1.28vw;
	text-align: center;
}

.c-sec__ttl {
	font-size: 6.28vw;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 2.3076923077;
	margin-bottom: 11.7vw;
	text-align: center;
}

.p-support {
	background: #F9FAFC;
	padding-block: 8.353vw 9.662vw;
}

.p-support .l-inner.l-support {
	margin-inline: auto;
	width: min(95%, 94.2vw);
}

.p-support .p-support__items {
	display: grid;
	gap: 14.493vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-support .p-support__item {
	background: #ffffff;
	border: 3px solid #00388D;
	padding-block: 11.488vw 5.696vw;
	padding-inline: 5.797vw;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  grid-template-rows: auto 1fr auto;
	position: relative;
}

.p-support .p-support__item.top {
	padding-block: 5.488vw 5.696vw;
}

.p-support .p-support__item .icon {
	left: 5.797vw;
	position: absolute;
	top: -8.662vw;
}

.p-support .p-support__item .icon img {
	height: auto;
	width: 20.773vw;
}

.p-support .p-support__item h3 span {
	font-size: 3.382vw;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.6;
	margin-bottom: 0.14vw;
}

.p-support .p-support__item h3 {
	border-bottom: 2px solid #00388D;
	color: #00388D;
	display: grid;
	font-size: 4.831vw;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.6;
	margin-bottom: 3.865vw;
	padding-bottom: 2.382vw;
	place-items: end center;
	text-align: center;
}

.p-support .p-support__item .img {
	margin-bottom: 3.831vw;
}

.p-support .p-support__item p {
	font-size: 3.865vw;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 2.25;
}

.p-link {
	margin-block: 16.184vw 20.188vw;
}

.p-link .l-inner.l-link {
	margin-inline: auto;
	width: min(95%, 89.3vw);
}

.p-link .p-link__items {
	display: grid;
	gap: 5.696vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-block: -4vw 0;
}

.p-link .p-link__item .img {
	margin-bottom: 2.865vw;
}

.p-link .p-link__item .txt {
	font-size: 3.382vw;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 2.1428571429;
	text-align: left;
}

.p-bottom {
	background: url(../images/architecture/bottom_bg_sp.jpg) no-repeat top center/cover;
	margin-inline: auto;
	position: relative;
	width: 100%;
}

.p-bottom::after {
	background: url(../images/architecture/bottom_triangle.svg) no-repeat center center/contain;
	bottom: -12.077vw;
	content: "";
	height: 14.251vw;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 56.522vw;
}

.p-bottom .l-inner.l-bottom {
	padding-block: 14.425vw 7.246vw;
}

.p-bottom .p-bottom__ttl {
	color: #ffffff;
	font-size: 4.831vw;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.65;
	margin-bottom: 13.493vw;
	text-align: center;
}

.p-bottom .p-bottom__items {
	display: grid;
	gap: 11.353vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 94.2vw);
}

.p-bottom .p-bottom__item {
	padding-block: 0 7.077vw;
	padding-inline: 2.415vw;
}

.p-bottom .p-bottom__item:nth-child(1) {
	background: url(../images/architecture/bottom_bg01_sp.png) no-repeat top center/cover;
}

.p-bottom .p-bottom__item:nth-child(2) {
	background: url(../images/architecture/bottom_bg02_sp.png) no-repeat top center/cover;
}

.p-bottom .p-bottom__item:nth-child(2) .img {
	left: -4.865vw;
	text-align: right;
	top: -5vw;
	margin-bottom: -5vw;
}

.p-bottom .p-bottom__item:nth-child(2) .img img {
	height: auto;
	width: 17.391vw;
}

.p-bottom .p-bottom__item .img {
	margin-bottom: -12.662vw;
	position: relative;
	top: -7.662vw;
	left: 2vw;
}

.p-bottom .p-bottom__item .img img {
	height: auto;
	width: 38.164vw;
}

.p-bottom .p-bottom__item h3 {
	margin-bottom: 6.662vw;
	position: relative;
	z-index: 10;
}

.p-bottom .p-bottom__item p {
	color: #ffffff;
	font-size: 3.382vw;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 2.1428571429;
	text-align: center;
}

}

