@charset "UTF-8";

/* 
----------------------------------------*/
.sec01 {
	margin-bottom: 8.4rem;
}
.sec01_inner {
	position: relative;
}
.sec01_inner h2 {
	position: absolute;
	left: 0;
	right: 0;
	top: 9.2rem;
	font-size: 3rem;
	letter-spacing: 0;
	text-align: center;
	text-shadow: 0 0 .6rem #fff;
}
.sec01_note {
	text-align: right;
	font-size: 1rem;
	letter-spacing: 0;
	line-height: 1.8;
	margin: 1.3rem 1.3rem 0;
}

.sec02 {
	padding-bottom: 7rem;
	position: relative;
}
.sec02::before {
	content: '';
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	left: calc(50% - 17.8rem);
	height: 60rem;
	background: linear-gradient(150deg, rgba(232,244,252,1) 0%,rgba(215,242,246,1) 70%,rgba(223,248,193,1) 170%);
}
.sec02 h2 {
	text-align: center;
	font-size: 3rem;
	letter-spacing: .1em;
	line-height: 1.8;
	margin-bottom: 2.5rem;
}
.sec02_txt {
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: 2.75;
}
.sec02_img {
	margin: 6.2rem 0 0;
}
.sec02_note {
	text-align: right;
	font-size: 1rem;
	letter-spacing: 0;
	margin: 1rem .9rem 0;
}
.sec02_plan {
	display: flex;
	align-items: center;
	gap: 4.9rem;
	max-width: 100rem;
	margin: 5rem auto 0;
}
.sec02_plan figure {
	width: 58.5%;
}
.sec02_plan_txt {
	flex: 1;
	padding-bottom: 5.4rem;
}

.sec03 {
	position: relative;
	margin: 9.2rem 0 0;
	padding-bottom: 8.4rem;
}
.sec03::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: calc(50% - 50rem);
	top: 32.9rem;
	bottom: 0;
	background: linear-gradient(150deg, rgba(232,244,252,1) 0%,rgba(215,242,246,1) 70%,rgba(223,248,193,1) 150%);
}
.sec03_inner {
	max-width: calc(50% + 50rem);
	margin: 0 0 0 auto;
	display: flex;
	flex-direction: row-reverse;
	gap: 3.4rem;
}
.sec03_item01 {
	width: 72.7811%;
}
.sec03_item01 h2 {
	font-size: 10rem;
	color: #D9F2F7;
	letter-spacing: .05em;
	margin-bottom: 1.9rem;
}
.sec03_item01 h3 {
	font-size: 2.6rem;
	letter-spacing: .08em;
}
.sec03_item02 {
	flex: 1;
	padding: 3.9rem 0 0;
}
.sec03_copy {
	width: 7.942rem;
	margin: 0 auto 4.5rem;
}
.sec03_item02 p {
	font-size: 1.6rem;
	line-height: 2.75;
	letter-spacing: .08em;
	margin-right: -1rem;
}
.sec03_note {
	font-size: 1rem;
	letter-spacing: 0;
	text-align: right;
	margin: 1rem 1.1rem 4.2rem;
}

.sec04 {
	margin: 6.5rem 0 0;
}
.sec04 h2 {
	text-align: center;
	font-size: 3rem;
	letter-spacing: .1em;
	line-height: 1.8;
	margin-bottom: 2.5rem;
}
.sec04 h2 .en {
	font-size: 10rem;
	letter-spacing: .044em;
	color: #D9F2F7;
	display: block;
	padding-right: .2em;
	margin-bottom: -8.5rem;
}
.sec04_txt {
	text-align: center;
	font-size: 1.6rem;
	line-height: 2.75;
	letter-spacing: .1em;
	margin-bottom: 7.2rem;
}
.sec04_note {
	text-align: right;
	font-size: 1rem;
	letter-spacing: 0;
	margin: 1.5rem 1.6rem 0;
}
.sec04_img {
	max-width: 100rem;
	margin: 6rem auto 0;
}
.sec04_img::before {
	content: '';
	display: block;
	position: absolute;
	top: 20rem;
	left: -9.1rem;
	right: -9.2rem;
	bottom: 31rem;
	background: linear-gradient(150deg, rgba(232,244,252,1) 0%,rgba(215,242,246,1) 70%,rgba(223,248,193,1) 110%);
}
.sec04_img figure {
	width: 76.3%;
}
.sec04_img figure + figure {
	margin: 3.9rem 0 0 auto;
}
.sec04_img_txt {
	width: 76.3%;
	margin: 3.2rem 0 0 auto;
}
.sec04_img_txt h3 {
	font-size: 2.6rem;
	letter-spacing: .1em;
	margin-bottom: 1.2rem;
}
.sec04_img_txt p {
	font-size: 1.6rem;
	letter-spacing: .1em;
}

.sec05 {
	margin: 13.2rem 0 0;
	padding-bottom: 8rem;
}
.sec05::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 10.8rem;
	background: linear-gradient(150deg, rgba(232,244,252,1) 0%,rgba(215,242,246,1) 70%,rgba(223,248,193,1) 150%);
}
.sec05_img {
	max-width: 100rem;
	margin: 0 auto;
}
.sec05_note {
	text-align: right;
	font-size: 1rem;
	letter-spacing: 0;
	margin: 1.1rem 0 0;
}
.sec05_inner + .sec05_note {
	max-width: 100rem;
	margin: 1.3rem auto 0;
}
.sec05_inner {
	max-width: 100rem;
	margin: 3.3rem auto 0;
	background: #fff;
	border: .4rem solid #E3F3FA;
	padding: 2.7rem 2.2rem 2.4rem;
}
.sec05_item01 {
	display: flex;
	align-items: flex-start;
	gap: 2.7rem;
}
.sec05_item01 figure {
	width: 26.3713%;
}
.sec05_item01_txt {
	flex: 1;
	margin-top: -.5rem;
}
.sec05_item01_txt h2::after {
	content: '';
	display: block;
	width: 4.4rem;
	height: .3rem;
	background: #D9F2F7;
	margin: 2rem 0 0;
}
.sec05_item01_txt h2::before {
	content: '';
	display: block;
	background: url(../img/design/sec05_txt01.svg) no-repeat left top / 100% auto;
	width: 17.2432rem;
	height: 7.6164rem;
	position: absolute;
	top: 2.3rem;
	left: 22.3rem;
}
.sec05_item01_txt h2 span {
	letter-spacing: .1em;
	display: block;
}
.sec05_item01_txt h2 span:nth-child(1) {
	font-size: 1.8rem;
}
.sec05_item01_txt h2 span:nth-child(2) {
	font-size: 1.6rem;
}
.sec05_item01_txt h2 span:nth-child(3) {
	font-size: 2.1rem;
	margin-top: .2rem;
}
.sec05_item01_txt h3 {
	font-size: 2rem;
	letter-spacing: .1em;
	line-height: 1.7;
	margin: 1.7rem 0 0;
}
.sec05_item02 {
	display: flex;
	gap: 3.4rem;
	margin: 3.1rem 0 0;
}
.sec05_item02_img {
	width: 40.0844%;
	margin-right: .4%;
	display: flex;
	justify-content: space-between;
}
.sec05_item02_img figure:nth-child(1) {
	width: 50%;
}
.sec05_item02_img figure:nth-child(2) {
	width: 47.3684%;
}
.sec05_item02_img figcaption {
	position: static;
	background: none;
	padding: 0;
	color: inherit;
	font-size: 1.2rem;
	letter-spacing: .1em;
	line-height: 1.3333;
	margin-top: 1rem;
}
.sec05_item02_txt {
	flex: 1;
	font-size: 1.4rem;
	line-height: 1.8571;
	letter-spacing: .05em;
	margin-top: -.2rem;
}

@media only screen and (max-width: 768px) {
	.sec01 {
		margin-bottom: 5rem;
	}
	.sec01_inner h2 {
		top: 1.5rem;
		font-size: 1.7rem;
	}
	.sec01_inner figure img {
		height: 26rem;
		width: 100%;
		object-fit: cover;
	}
	.sec01_note {
		text-align: left;
		font-size: .9rem;
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.5;
		margin: 1rem 5% 0;
	}

	.sec02 {
		padding-bottom: 5rem;
	}
	.sec02::before {
		height: 59.5rem;
		left: calc(50% - 8rem);
	}
	.sec02 h2 {
		font-size: 2rem;
	}
	.sec02_txt {
		text-align: left;
		font-size: 1.4rem;
		line-height: 2;
		margin-left: 5%;
		margin-right: 5%;
	}
	.sec02_img {
		margin: 4rem 0 0;
	}
	.sec02_note {
		text-align: left;
		font-size: .9rem;
		padding-left: 1em;
		text-indent: -1em;
		margin: 1rem 5% 0;
	}
	.sec02_plan {
		display: block;
		margin: 5rem 5% 0;
	}
	.sec02_plan figure {
		width: auto;
	}
	.sec02_plan_txt {
		padding-bottom: 5rem;
	}

	.sec03 {
		margin: 4rem 0 0;
		padding-bottom: 6rem;
	}
	.sec03::before {
		right: calc(50% - 9rem);
		top: 19rem;
	}
	.sec03_inner {
		max-width: none;
		display: block;
	}
	.sec03_item01 {
		width: auto;
		margin-left: calc(7rem + 5vw);
	}
	.sec03_item01 h2 {
		font-size: 4rem;
		margin-bottom: 1rem;
	}
	.sec03_item01 h3 {
		font-size: 2rem;
	}
	.sec03_item02 {
		position: static;
		padding: 3rem 5% 0;
	}
	.sec03_copy {
		width: 4.8rem;
		margin: 0;
		position: absolute;
		top: 1.8rem;
		left: 5%;
	}
	.sec03_item02 p {
		font-size: 1.4rem;
		line-height: 2;
	}
	.sec03_note {
		font-size: .9rem;
		text-align: left;
		margin: 1rem 5% 4.2rem 1em;
		text-indent: -1em;
	}

	.sec04 {
		margin: 5rem 0 0;
	}
	.sec04 h2 {
		font-size: 1.8rem;
	letter-spacing: .1em;
	line-height: 1.8;
	margin-bottom: 2.5rem;
}
	.sec04 h2 .en {
		font-size: 4.5rem;
		line-height: 1.2;
		margin-bottom: -2rem;
	}
	.sec04_txt {
		text-align: left;
		font-size: 1.4rem;
		margin: 0 5% 5rem;
		line-height: 2;
	}
	.sec04_note {
		text-align: left;
		font-size: .9rem;
		padding-left: 1em;
		text-indent: -1em;
		margin: 1rem 5% 0;
	}
	.sec04_img {
		margin: 5rem auto 0;
	}
	.sec04_img::before {
		top: 7rem;
		left: 0;
		right: 0;
		bottom: 21rem;
	}
	.sec04_img figure + figure {
		margin: 3rem 0 0 auto;
	}
	.sec04_img_txt {
		margin: 3rem 5vw 0 auto;
	}
	.sec04_img_txt h3 {
		font-size:2rem;
	}
	.sec04_img_txt p {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.sec05 {
		margin: 5rem 0 0;
		padding-bottom: 6rem;
	}
	.sec05::before {
		top: 0;
	}
	.sec05_note {
		text-align: left;
		font-size: .9rem;
		padding-left: 1em;
		text-indent: -1em;
		margin: 1.1rem 5% 0;
	}
	.sec05_inner + .sec05_note {
		margin: 1.3rem 5% 0;
	}
	.sec05_inner {
		margin: 3.3rem 5% 0;
		border: .2rem solid #E3F3FA;
		padding: 2rem;
	}
	.sec05_item01 {
		display: block;
	}
	.sec05_item01 figure {
		width: auto;
	}
	.sec05_item01_txt {
		margin-top: 2rem;
	}
	.sec05_item01_txt h2::before {
		width: 13.79456rem;
		height: 6.0931rem;
		top: 3rem;
		left: 15rem;
	}
	.sec05_item01_txt h2 span:nth-child(1) {
		font-size: 1.6rem;
	}
	.sec05_item01_txt h2 span:nth-child(2) {
		font-size: 1.4rem;
	}
	.sec05_item01_txt h2 span:nth-child(3) {
		font-size: 1.8rem;
		margin-top: .2rem;
	}
	.sec05_item01_txt h3 {
		font-size: 1.6rem;
	}
	.sec05_item02 {
		display: block;
		margin: 2rem 0 0;
	}
	.sec05_item02_img {
		flex-direction: column;
		width: auto;
		margin: 2rem 0 0;
		gap: 2rem;
	}
	.sec05_item02_img figure {
		width: 100% !important;
	}
	.sec05_item02_img figcaption {
		font-size: 1.1rem;
	}
	.sec05_item02_txt {
		font-size: 1.3rem;
		line-height: 1.8;
	}
}