@charset "utf-8";

/* =====================================
	hero
===================================== */
.hero {
	position: relative;
	display: grid;
	margin: 0 auto;
	background: no-repeat url("../.assets/bg_home_hero_01.svg");
}
.hero__body {
	padding-left: 25px;
}
.hero__heading {
	margin: 0 0 0.25em 0;
	font-family: var(--font-inter);
	font-weight: var(--weight-semibold);
	line-height: var(--line-height-tighter);
}
.hero__lead {
	margin: 0;
	font-weight: var(--weight-bold);
}
.hero__video {
	filter: drop-shadow(0 0 rgba(0,0,0,0));
}
.hero__button {
	padding: 0;
	border: none;
	background-color: transparent;
}
@media (max-width: 639px) {
	.hero {
		max-width: 375px;
		background-position: 33px 20px;
		background-size: auto 129px;
	}
	.hero__body {
		padding-top: 75px;
	}
	.hero__heading {
		font-size: calc(42rem / 16);
	}
	.hero__lead {
		font-size: calc(14rem / 16);
	}
	.hero__video,
	.hero__video-image,
	.hero__button {
		display: none;
	}
}
@media (min-width: 640px) {
	.hero {
		grid-template-columns: 1fr 1fr;
		max-width: 1330px;
		background-position: 33px 13%;
		background-size: auto 38%;
	}
	.hero__body {
		padding-top: 24%;
	}
	.hero__heading {
		font-size: min(5.8vw, calc(78rem / 16));
	}
	.hero__lead {
		font-size: min(1.9vw, calc(20rem / 16));
	}
	.hero__image {
		display: none;
	}
	.hero__video,
	.hero__video-image {
		width: 100%;
		max-width: 655px;
		margin-top: -10px;
	}
	.hero__button {
		position: absolute;
		bottom: 25px;
		left: 50%;
		margin-left: -22px;
	}
}


/* =====================================
	content
===================================== */
/* content */
@media (max-width: 1024px) {
	.content {
		padding-top: 75px;
		padding-bottom: 75px;
	}
}

/* heading-2 */
.heading-2 {
	text-align: center;
}
.heading-2__sub {
	font-size: 1rem;
}
@media (max-width: 1024px) {
	.heading-2 {
		font-size: min(9vw, calc(40rem / 16));
	}
}
@media (min-width: 1025px) {
	.heading-2 {
		font-size: calc(54rem / 16);
	}
}

/* content-action */
@media (max-width: 1024px) {
	.content-action {
		margin-top: 45px;
	}
}


/* =====================================
	MESSAGE
===================================== */
/* content-home-message */
.content-home-message {
	padding-right: var(--inner-padding);
	padding-left: var(--inner-padding);
	background-color: var(--color-gray-light-x);
}
@media (min-width: 1025px) {
	.content-home-message > .heading-2 {
		margin-bottom: 60px;
	}
}

/* .message-home */
.message-home {
	display: grid;
}
.message-home__box {
	border-radius: 10px;
	background-color: var(--color-white);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.03);
}
.message-home__box--message {
	display: grid;
	align-content: center;
}
.message-home__heading {
	display: grid;
	gap: 2px;
	justify-items: center;
	margin: 0;
	color: var(--color-blue);
	font-size: calc(20rem / 16);
	font-weight: var(--weight-bold);
}
.message-home__heading--message {
	gap: 30px;
	color: var(--color-black);
}
.message-home__description {
	margin: 0 auto;
}
.message-home__description--vision {
	font-weight: var(--weight-bold);
}
.message-home__button {
	justify-self: center;
	margin-top: 30px;
}
.message-home__subheading {
	margin: 0 0 10px 0;
	text-align: center;
	font-family: var(--font-inter);
	font-weight: var(--weight-semibold);
	line-height: var(--line-height-tight);
}

.message-home__list {
	margin: 0 auto;
}
.message-home__list > dt {
	font-weight: var(--weight-bold);
}
.message-home__list > dt:not(:first-child) {
	margin-top: 10px;
}
@media (max-width: 1024px) {
	.message-home {
		gap: 20px;
	}
	.message-home__box {
		padding: 30px 25px;
	}
	.message-home__heading {
		margin-bottom: 30px;
	}
	.message-home__heading--message {
		font-size: calc(28rem / 16);
	}
	.message-home__description {
		width: fit-content;
	}
	.message-home__subheading {
		font-size: calc(20rem / 16);
	}
	.message-home__list {
		width: fit-content;
	}
	.message-home__list > dt {
		font-size: calc(18rem / 16);
	}
	.message-home__list > dd {
		margin-left: 25px;
		font-size: calc(14rem / 16);
	}
}
@media (min-width: 1025px) {
	.message-home {
		gap: 40px;
		grid-template-rows: auto auto;
		grid-template-columns: 1fr 1fr 1fr;
	}
	.message-home__box {
		padding: 30px 35px;
	}
	.message-home__box:nth-child(1) {
		grid-row: 1 / 3;
		grid-column: 1 / 2;
	}
	.message-home__box:nth-child(2) {
		grid-row: 1 / 2;
		grid-column: 2 / 3;
	}
	.message-home__box:nth-child(3) {
		grid-row: 2 / 3;
		grid-column: 2 / 3;
	}
	.message-home__box:nth-child(4) {
		grid-row: 1 / 3;
		grid-column: 3 / 4;
	}
	.message-home__heading {
		margin-bottom: 15px;
	}
	.message-home__heading--message {
		margin-bottom: 40px;
		font-size: calc(30rem / 16);
	}
	.message-home__subheading {
		font-size: calc(22rem / 16);
	}
	.message-home__description--vision {
		font-size: calc(18rem / 16);
	}
	.message-home__list > dt {
		font-size: calc(20rem / 16);
	}
	.message-home__list > dd {
		margin-left: 35px;
	}
}


/* =====================================
	SERVICE
===================================== */
/* content-home-service */
.content-home-service {
	padding-right: var(--inner-padding);
	padding-left: var(--inner-padding);
	background: no-repeat url("../.assets/bg_home_service_01.svg");
}
@media (max-width: 1024px) {
	.content-home-service {
		background-position: right bottom;
		background-size: 246px auto;
	}
}
@media (min-width: 1025px) {
	.content-home-service {
		background-position: left calc(50% + 397px) bottom;
	}
	.content-home-service > .heading-2 {
		margin-bottom: 60px;
	}
}

/* list-home-service */
.list-home-service {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
}
.list-home-service__link {
	display: grid;
	gap: 0 15px;
	text-decoration: none;
	color: inherit !important;
}
.list-home-service__figure {
	overflow: hidden;
	align-self: start;
	border-radius: 10px;
}
.list-home-service__image {
	transition: transform 0.3s;
}
.list-home-service__subheading {
	line-height: var(--line-height-tight);
}
.list-home-service__heading {
	font-weight: var(--weight-bold);
	line-height: var(--line-height-tight);
}
.list-home-service__heading::after {
	width: 24px;
	height: 1.5em;
}
@media (min-width: 640px) and (max-width: 1024px) {
	.list-home-service {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 1024px) {
	.list-home-service {
		gap: 30px 25px;
	}
	.list-home-service__link {
		grid-template-rows: auto 1fr;
		grid-template-columns: min(48%, 155px) 1fr;
	}
	.list-home-service__figure {
		grid-row: 1 / -1;
	}
	.list-home-service__subheading {
		font-size: calc(12rem / 16);
	}
	.list-home-service__heading {
		font-size: 1rem;
	}
}
@media (min-width: 1025px) {
	.list-home-service {
		gap: 60px 40px;
		grid-template-columns: 1fr 1fr 1fr;
	}
	.list-home-service__subheading {
		margin-top: 15px;
	}
	.list-home-service__heading {
		font-size: calc(24rem / 16);
	}
}
@media (hover: hover) {
	.list-home-service__link:hover .list-home-service__image {
		transform: scale(1.1);
	}
}


/* =====================================
	NEWS
===================================== */
/* content-home-news */
.content-home-news {
	background-color: var(--color-gray-light-x);
}
@media (max-width: 1024px) {
	.content-home-news > .heading-2 {
		margin-bottom: 5px;
	}
	.content-home-news > .content-action {
		margin-top: 20px;
	}
}
@media (min-width: 1025px) {
	.content-home-news > .heading-2 {
		margin-bottom: 25px;
	}
	.content-home-news > .content-action {
		margin-top: 25px;
	}
}


/* =====================================
	COMPANY, RESOURCE DESIGN, RECRUIT
===================================== */
/* content-home-company */
.content-home-company {
	background: no-repeat url("../.assets/bg_home_company_01.svg");
}
@media (max-width: 1024px) {
	.content-home-company {
		background-position: right bottom;
		background-size: 246px auto;
	}
}
@media (min-width: 1025px) {
	.content-home-company {
		background-position: right calc(50% + 407px) bottom;
	}
}

/* content-home-back-office */
.content-home-back-office {
	background-color: var(--color-gray-light-x);
}

/* content-home-recruit */
.content-home-recruit {
	color: var(--color-white);
	background-color: var(--color-blue);
}

/* column-home */
.content:has(.column-home) {
	padding-right: 0;
	padding-left: 0;
}
.column-home {
	display: grid;
	gap: 45px min(7.4vw, 100px);
}
.column-home--odd {
	padding-left: var(--inner-padding);
}
.column-home--even {
	padding-right: var(--inner-padding);
}
.column-home--odd > .column-home__image {
	border-radius: 10px 0 0 10px;
}
.column-home--even > .column-home__image {
	border-radius: 0 10px 10px 0;
}
.column-home__body > .heading-2 {
	margin-top: 0;
}
.column-home__lead {
	margin: 0 auto;
	font-size: calc(20rem / 16);
	font-weight: var(--weight-bold);
}
.column-home__body > .content-action {
	gap: 20px;
	flex-direction: column;
}
@media (max-width: 1024px) {
	.column-home--odd > .column-home__body {
		padding-right: var(--inner-padding);
	}
	.column-home--even > .column-home__body {
		padding-left: var(--inner-padding);
	}
	.column-home__body > .heading-2 {
		margin-bottom: 30px;
	}
	.column-home__lead {
		width: fit-content;
	}
	.column-home__lead--back-office {
		font-size: 1rem;
	}
}
@media (min-width: 1025px) {
	.content:has(.column-home) {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	.column-home {
		align-items: center;
	}
	.column-home--odd {
		grid-template-columns: 385px 1fr;
	}
	.column-home--even {
		grid-template-columns: 1fr 500px;
	}
	.column-home--even > .column-home__body {
		order: 2;
	}
	.column-home__body > .heading-2 {
		margin-bottom: 20px;
		text-align: left;
	}
	.column-home__body > .content-action {
		align-items: initial;
		justify-content: initial;
		margin-top: 45px !important;
	}
}
