body.front {
	background: url(../img/front/front_body_bg.png) no-repeat center top/auto;
}
@media only screen and (min-width: 1920px) {
	body.front {
		background-size: 100% auto;
	}
}

.kv {
	padding: 10rem 1em 35.5rem;
}
@media only screen and (max-width: 1023px) {
	.kv {
		padding: 15rem 1em;
	}
}
.kv > .wrapper {
	max-width: 122.4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: auto;
}
.kv > .wrapper .kv-img-txt {
	width: 100%;
	max-width: 50rem;
	margin: auto;
}
@media only screen and (max-width: 1023px) {
	.kv > .wrapper .kv-img-txt {
		max-width: 37.5rem;
	}
}
.kv > .wrapper .kv-img-txt img {
	width: 100%;
}
.kv > .wrapper .content-wrap {
	margin-top: 3.5rem;
}
.kv > .wrapper .content-wrap .catch {
	font-size: 2.3rem;
	font-weight: 600;
	letter-spacing: .08em;
	line-height: 2;
	text-align: center;
}
@media only screen and (max-width: 1023px) {
	.kv > .wrapper .content-wrap .catch {
		font-size: 2rem;
	}
}

section#front-reason {
	padding: 0 1em;
	overflow: hidden;
}
section#front-reason > .wrapper {
	max-width: 122.4rem;
	background: rgba(255, 255, 255, .91);
	border-radius: 1rem;
	margin: auto;
	padding: 8rem 1em 10rem;
	position: relative;
}
@media only screen and (max-width: 1023px) {
	section#front-reason > .wrapper {
		padding: 4rem 1em 5rem;
	}
}
section#front-reason > .wrapper::before {
	content: "";
	width: 192rem;
	height: 61.9rem;
	background: url(../img/front/front_section_bg_right@2x.png) no-repeat center top/100% auto;
	display: block;
	position: absolute;
	bottom: -13.3rem;
	left: 50%;
	translate: -50% 0;
}
section#front-reason > .wrapper .inner-box {
	max-width: 108rem;
	margin: auto;
}
section#front-reason > .wrapper .inner-box .flex-col3 {
	gap: 5.4rem;
	margin-top: 8rem;
}
@media only screen and (max-width: 1023px) {
	section#front-reason > .wrapper .inner-box .flex-col3 {
		margin-top: 4rem;
	}
}
section#front-reason > .wrapper .inner-box .flex-col3 .col {
	max-width: 32.4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-flow: column-reverse;
	flex-flow: column-reverse;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	gap: 3rem;
	position: relative;
}
@media only screen and (max-width: 1023px) {
	section#front-reason > .wrapper .inner-box .flex-col3 .col {
		gap: 2rem;
	}
}
section#front-reason > .wrapper .inner-box .flex-col3 .col .col-num {
	width: 5.6rem;
	height: 5.6rem;
	background: var(--c_txt);
	border-radius: 1rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	aspect-ratio: 1/1;
	position: absolute;
	left: 0;
	top: 0;
}
section#front-reason > .wrapper .inner-box .flex-col3 .col .col-num span {
	font-family: var(--f_montserrat);
	font-weight: 600;
	color: var(--c_white);
}
section#front-reason > .wrapper .inner-box .flex-col3 .col .col-num span.sup {
	font-family: var(--f_montserrat);
	font-size: .5rem;
	line-height: 1;
}
section#front-reason > .wrapper .inner-box .flex-col3 .col .col-num span.num {
	font-size: 2rem;
	line-height: 1.2;
}
@media only screen and (max-width: 1023px) {
	section#front-reason > .wrapper .inner-box .flex-col3 .col .col-num span.num {
		font-size: 1.6rem;
	}
}
section#front-reason > .wrapper .inner-box .flex-col3 .col .content-wrap .col-ttl-wrap .col-ttl {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.75;
}
@media only screen and (max-width: 1023px) {
	section#front-reason > .wrapper .inner-box .flex-col3 .col .content-wrap .col-ttl-wrap .col-ttl {
		font-size: 1.6rem;
	}
}
section#front-reason > .wrapper .inner-box .flex-col3 .col .content-wrap .txt-wrap {
	margin-top: 2rem;
}
@media only screen and (max-width: 1023px) {
	section#front-reason > .wrapper .inner-box .flex-col3 .col .content-wrap .txt-wrap {
		margin-top: 1rem;
	}
}
section#front-reason > .wrapper .inner-box .flex-col3 .col .img-wrap {
	border-radius: 1rem;
	margin-top: 1rem;
	overflow: hidden;
}
section#front-reason > .wrapper .inner-box .flex-col3 .col .img-wrap img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
section#front-features {
	padding: 10rem 1em;
	overflow: hidden;
}
@media only screen and (max-width: 1023px) {
	section#front-features {
		padding: 5rem 1em;
	}
}
section#front-features > .wrapper {
	max-width: 126.8rem;
	margin: auto;
}
section#front-features > .wrapper .section-ttl-wrap {
	max-width: 108rem;
	margin: 0 auto;
}
section#front-features > .wrapper .anchor-wrap {
	max-width: 108rem;
	margin: 3rem auto 0;
}
section#front-features > .wrapper .content-block-wrap {
	counter-reset: number 0;
}
section#front-features > .wrapper .content-block-wrap .content-block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-flow: column-reverse;
	flex-flow: column-reverse;
	margin-top: 8rem;
	counter-increment: number 1;
}
@media only screen and (max-width: 1023px) {
	section#front-features > .wrapper .content-block-wrap .content-block {
		margin-top: 4rem;
	}
}
section#front-features > .wrapper .content-block-wrap .content-block:nth-child(odd) .content-wrap .content-inner {
	margin: 0 0 0 auto;
}
section#front-features > .wrapper .content-block-wrap .content-block:nth-child(even) .content-wrap .content-inner {
	margin: 0 auto 0 0;
}
section#front-features > .wrapper .content-block-wrap .content-block + .content-block {
	position: relative;
}
@media only screen and (max-width: 1023px) {
	section#front-features > .wrapper .content-block-wrap .content-block + .content-block {
		margin-top: 6rem;
	}
}
section#front-features > .wrapper .content-block-wrap .content-block + .content-block::before {
	content: "";
	width: 192rem;
	height: 61.9rem;
	background: url(../img/front/front_section_bg_left@2x.png) no-repeat center top/100% auto;
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	translate: -50% -50%;
}
section#front-features > .wrapper .content-block-wrap .content-block + .content-block:nth-child(odd)::before {
	background-image: url(../img/front/front_section_bg_right@2x.png);
}
section#front-features > .wrapper .content-block-wrap .content-block .content-wrap {
	width: 100%;
	max-width: 108rem;
	margin: -10rem auto 0;
	position: relative;
	z-index: 1;
}
@media only screen and (max-width: 1023px) {
	section#front-features > .wrapper .content-block-wrap .content-block .content-wrap {
		margin-top: 2rem;
	}
}
section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .content-inner {
	max-width: 94.8rem;
	background: rgba(255, 255, 255, .95);
	border-radius: 1rem;
	padding: 7rem 6rem;
}
@media only screen and (max-width: 1023px) {
	section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .content-inner {
		padding: 4rem 1em;
	}
}
section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .catch-wrap {
	margin-top: 3rem;
}
@media only screen and (max-width: 1023px) {
	section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .catch-wrap {
		margin-top: 2rem;
	}
}
section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .flex-col2 {
	gap: 5rem;
	margin-top: 3rem;
}
@media only screen and (max-width: 1023px) {
	section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .flex-col2 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 2rem;
		margin-top: 2rem;
	}
}
section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .flex-col2 .col-content-wrap {
	width: 100%;
	max-width: 32.5rem;
}
@media only screen and (max-width: 1023px) {
	section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .flex-col2 .col-content-wrap {
		max-width: 100%;
	}
}
section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .flex-col2 .col-img-wrap {
	width: 100%;
	max-width: 45.3rem;
}
section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .flex-col2 .col-img-wrap img {
	width: 100%;
}
section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .content-box {
	border-radius: 1rem;
	margin-top: 6rem;
	padding: 5rem;
}
@media only screen and (max-width: 1023px) {
	section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .content-box {
		padding: 2rem 1em;
	}
}
section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .content-box .box-ttl-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .content-box .box-ttl-wrap .box-ttl {
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 2;
	background: var(--c_white);
	border: .1rem solid var(--bdr_gray);
	border-radius: 1rem;
	padding: .5em 1em;
}
@media only screen and (max-width: 1023px) {
	section#front-features > .wrapper .content-block-wrap .content-block .content-wrap .content-box .box-ttl-wrap .box-ttl {
		font-size: 1.4rem;
	}
}
section#front-features > .wrapper .content-block-wrap .content-block .img-wrap {
	width: 100%;
	position: relative;
}
section#front-features > .wrapper .content-block-wrap .content-block .img-wrap img.img-main {
	width: 100%;
	max-width: 93.2rem;
}
section#front-features > .wrapper .content-block-wrap .content-block .img-wrap img.img-abs {
	width: 100%;
	position: absolute;
}
section#front-features > .wrapper .content-block-wrap .content-block .img-wrap .img-all {
	width: 100%;
	margin: auto;
}
@media only screen and (max-width: 1023px) {
	section#front-features > .wrapper .content-block-wrap .content-block .img-wrap .img-all {
		max-width: 74rem;
	}
}
section#front-features > .wrapper .content-block-wrap .content-block .img-wrap .img-all img {
	width: 100%;
}
section#front-greeting {
	padding: 10rem 1em 14rem;
	position: relative;
	overflow: hidden;
}
@media only screen and (max-width: 1023px) {
	section#front-greeting {
		padding: 5rem 1em 10rem;
	}
}
section#front-greeting::before {
	content: "";
	width: 192rem;
	height: 100%;
	background: url(../img/front/front_section_bg_center@2x.png) no-repeat center/100% auto;
	display: block;
	position: absolute;
	top: 34.7rem;
	left: 50%;
	translate: -50% 0;
	aspect-ratio: 1920/637;
}
section#front-greeting > .wrapper {
	max-width: 108rem;
	margin: auto;
	position: relative;
}
section#front-greeting > .wrapper .flex-col2 {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	gap: 0 12.5rem;
	margin-top: 4rem;
}
@media only screen and (max-width: 1023px) {
	section#front-greeting > .wrapper .flex-col2 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-flow: column-reverse;
		flex-flow: column-reverse;
		margin-top: auto;
	}
}
section#front-greeting > .wrapper .flex-col2 .col-content-wrap {
	width: 100%;
	max-width: 48rem;
}
@media only screen and (max-width: 1023px) {
	section#front-greeting > .wrapper .flex-col2 .col-content-wrap {
		max-width: 100%;
	}
}
section#front-greeting > .wrapper .flex-col2 .col-content-wrap .txt-wrap {
	margin-top: 4rem;
}
@media only screen and (max-width: 1023px) {
	section#front-greeting > .wrapper .flex-col2 .col-content-wrap .txt-wrap {
		margin-top: 2rem;
	}
}
section#front-greeting > .wrapper .flex-col2 .col-img-wrap {
	width: 100%;
	max-width: 47.3rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding: 4rem;
	position: relative;
}
@media only screen and (max-width: 1023px) {
	section#front-greeting > .wrapper .flex-col2 .col-img-wrap {
		height: 100%;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin: auto;
		padding: 0 1em;
		aspect-ratio: 23/35;
	}
}
section#front-greeting > .wrapper .flex-col2 .col-img-wrap::before {
	content: "";
	width: 100%;
	height: 100%;
	background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(235, 96, 0)), to(rgb(255, 240, 229)));
	background-image: linear-gradient(0deg, rgb(235, 96, 0), rgb(255, 240, 229));
	border-radius: 1rem;
	position: absolute;
	top: 0;
	left: 0;
}
@media only screen and (max-width: 1023px) {
	section#front-greeting > .wrapper .flex-col2 .col-img-wrap::before {
		height: 50%;
		top: 50%;
		translate: 0 -50%;
	}
}
section#front-greeting > .wrapper .flex-col2 .col-img-wrap img {
	width: 100%;
	max-width: 24.9rem;
	margin: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}
@media only screen and (max-width: 1023px) {
	section#front-greeting > .wrapper .flex-col2 .col-img-wrap img {
		width: auto;
		height: 100%;
	}
}
section#front-greeting > .wrapper .flex-col2 .col-img-wrap .name-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
}
@media only screen and (max-width: 1023px) {
	section#front-greeting > .wrapper .flex-col2 .col-img-wrap .name-wrap {
		margin-bottom: -20rem;
	}
}
section#front-greeting > .wrapper .flex-col2 .col-img-wrap .name-wrap span {
	color: var(--c_white);
}
section#front-greeting > .wrapper .flex-col2 .col-img-wrap .name-wrap span.post {
	font-size: 1.6rem;
	font-weight: 500;
}
@media only screen and (max-width: 1203px) {
	section#front-greeting > .wrapper .flex-col2 .col-img-wrap .name-wrap span.post {
		font-size: 1.2rem;
	}
}
section#front-greeting > .wrapper .flex-col2 .col-img-wrap .name-wrap span.name {
	font-size: 2.6rem;
	font-weight: 600;
}
@media only screen and (max-width: 1203px) {
	section#front-greeting > .wrapper .flex-col2 .col-img-wrap .name-wrap span.name {
		font-size: 1.4rem;
	}
}

#front-news {
	padding: 10rem 1em;
}
@media only screen and (max-width: 1023px) {
	#front-news {
		padding: 5rem 1em;
	}
}
#front-news > .wrapper {
	max-width: 108rem;
	margin: auto;
}
#front-news > .wrapper .flex-col2 {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 2rem 9.8rem;
}
#front-news > .wrapper .flex-col2 .section-ttl-wrap .section-ttl.rev-simple span.en {
	font-size: 4.1rem;
}
@media only screen and (max-width: 1023px) {
	#front-news > .wrapper .flex-col2 .section-ttl-wrap .section-ttl.rev-simple span.en {
		font-size: 2rem;
	}
}
#front-news > .wrapper .flex-col2 .news-list {
	width: 100%;
	max-width: 84.9rem;
	max-height: 50rem;
	overflow-y: auto;
}
@media only screen and (max-width: 1023px) {
	#front-news > .wrapper .flex-col2 .news-list {
		max-width: 100%;
	}
}
#front-news > .wrapper .flex-col2 .news-list li {
	padding: 2.6rem 0;
	border-bottom: .1rem solid var(--bdr_gray);
}
@media only screen and (max-width: 1023px) {
	#front-news > .wrapper .flex-col2 .news-list li {
		padding: 2rem 0;
	}
}
#front-news > .wrapper .flex-col2 .news-list li:first-child {
	border-top: .1rem solid var(--bdr_gray);
}
#front-news > .wrapper .flex-col2 .news-list li p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#front-news > .wrapper .flex-col2 .news-list li p a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: 1rem 3rem;
}
@media only screen and (max-width: 1023px) {
	#front-news > .wrapper .flex-col2 .news-list li p a {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
	}
}
@media only screen and (min-width: 1024px) {
	#front-news > .wrapper .flex-col2 .news-list li p a span {
		-webkit-transition: all .3s;
		transition: all .3s;
	}
}
#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: 1rem 3.5rem;
}
@media only screen and (max-width: 1023px) {
	#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap {
		gap: 1rem;
	}
}
#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap .category-wrap {
	width: 100%;
	max-width: 10rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	gap: .5em;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap .category-wrap .category {
	font-size: 1.3rem;
	text-align: center;
	color: var(--c_white);
	background: var(--cat_01);
	border-radius: 100vw;
	padding: .25em 1em;
}
@media only screen and (max-width: 1023px) {
	#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap .category-wrap .category {
		font-size: 1.2rem;
	}
}
#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap .category-wrap .category.cat-01 {
	background: var(--cat_01);
}
#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap .category-wrap .category.cat-02 {
	background: var(--cat_02);
}
#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap .category-wrap .category.cat-03 {
	background: var(--cat_03);
}
#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap .category-wrap .category.cat-04 {
	background: var(--cat_04);
}
#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap .news-date {
	font-size: 1.6rem;
}
@media only screen and (max-width: 1023px) {
	#front-news > .wrapper .flex-col2 .news-list li p a span.cate-date-wrap .news-date {
		font-size: 1.4rem;
	}
}
#front-news > .wrapper .flex-col2 .news-list li p a span.news-ttl {
	font-size: 1.6rem;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
@media only screen and (max-width: 1023px) {
	#front-news > .wrapper .flex-col2 .news-list li p a span.news-ttl {
		font-size: 1.4rem;
	}
}
@media only screen and (min-width: 1024px) {
	#front-news > .wrapper .flex-col2 .news-list li p a:hover span, #front-news > .wrapper .flex-col2 .news-list li p a:focus-visible span {
		color: var(--c_primary);
	}
	#front-news > .wrapper .flex-col2 .news-list li p a:hover span.cate-date-wrap .category-wrap .category, #front-news > .wrapper .flex-col2 .news-list li p a:focus-visible span.cate-date-wrap .category-wrap .category {
		color: var(--c_white);
		background: var(--c_primary);
	}
}
