@charset "UTF-8";

/* common */
@media all {
	.bg-webp {
		position: relative;
		overflow: hidden;
	}
	.main-section-header {text-align: center;}
	.main-section-ttl {
		position: relative;
		line-height: 1.5;
	}
	.main-section-ttl::before {
		content: attr(data-num);
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto;
		padding-top: .1em;
		width: 2.16em;
		height: 2.16em;
		border-radius: 50%;
		background-color: var(--main-color);
		font-weight: normal;
		color: #fff;
	}
	.main-section-ttl small {display: block;margin-top: 1em;}
	.main-section-ttl small::before {content: none;}
	.main-section-ttl span {
		display: block;
		margin-top: .2em;
		font-weight: 900;
	}
	.main-section-lead {margin-top: 2em;}

	.main-section-ttl::before {font-size: 25rem;}
	.main-section-ttl span {font-size: 28rem;}
	.ttl-blue {
		background-color: var(--main-color);
		font-weight: bold;
		color: #fff;
	}
	.ttl-blue span {font-size: 18rem;}
	.ttl-blue small {
		font-size: 13rem;
		font-weight: normal;
	}

	/* sp */
	@media only screen and (max-width: 767px) {}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.bg-webp {padding-bottom: 120rem;}
	}
}

/* marketing-section */
@media all {
	.marketing-content {
		display: flex;
		align-items: stretch;
	}
	.marketing-ttl {
		padding: 1.167em;
		max-width: 60px;
		writing-mode: vertical-rl;
		line-height: 1;
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 45rem), 0 100%);
	}
	.marketing-ttl > * {
		transform: translateX(-2rem);
		display: inline-block;
	}
	.marketing-ttl small {margin-top: 1.5em;}

	.marketing-corp {
		overflow: hidden;
		background-color: #fff;
	}
	.marketing-logo {text-align: center;}
	.marketing-logo img {
		width: auto;
		max-width: none;
		height: 100%;
	}
	.marketing-name {
		padding-top: 20rem;
		border-top: var(--max1px) solid var(--light-gray);
		font-size: 16.5rem;
		font-weight: 500;
		line-height: 1;
	}
	.marketing-detail {font-weight: normal;}
	.marketing-detail small {
		display: inline-block;
		margin-top: .5em;
		font-size: 80%;
		line-height: 1.5;
	}

	
	/* sp */
	@media only screen and (max-width: 767px) {
		.marketing-section {padding-bottom: 200rem;}
		.marketing-corp {
			display: flex;
			flex-direction: column;
			justify-content: space-between;
		}
		.marketing-content + .marketing-content {margin-top: 120rem;}

		.marketing-ttl {
			padding: 1em .7em .8em 0;
			transform: translateX(-20rem);
			width: 40rem;
		}
		.marketing-list {
			margin-left: -10rem;
			width: calc(100% - 20rem);
		}
		.marketing-item + .marketing-item {margin-top: 30rem;}
		.marketing-logo {height: 60rem;}
		.marketing-corp {border-radius: 20rem;}
		.marketing-name,
		.marketing-detail {
			margin: 0 auto;
			width: calc(100% - 20rem);
		}
		.marketing-detail {margin-top: 20rem;}
		.marketing-img {margin-top: 20rem;}
		.marketing-img img {
			width: 100%;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.marketing-section {margin-top: 80rem;}
		.marketing-content {
			margin: 70rem auto 0;
			width: calc(100% - 60rem);
			max-width: 1000rem;
		}
		.marketing-content + .marketing-content {margin-top: 90rem;}

		.marketing-list {
			margin-left: 50rem;
			width: 100%;
			max-width: 890rem;
			display: flex;
			flex-wrap: wrap;
			align-items: stretch;
			gap: 0 5.6%;
		}
		.marketing-item {
			width: 47.2%;
			max-width: 420rem;
		}
		.marketing-item:nth-child(n+3) {margin-top: 5%;}
		.marketing-item:nth-child(2n) {transition-delay: .3s;}
		.marketing-corp {
			display: grid;
			grid-template-columns: 1fr;
			grid-template-rows: 80rem 40rem 1fr 180rem;
			grid-column-gap: 0px;
			grid-row-gap: 0px;
			height: 100%;
			border-radius: 30rem;
		}
		.marketing-name,
		.marketing-detail {
			margin: 0 auto;
			width: calc(100% - 48rem);
		}
		.marketing-img img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
		.marketing-name a {transition: opacity .3s;}
		.marketing-name a:hover {opacity: .7;}

		.marketing-detail {
			padding: 20rem 0;
			line-height: 1.75;
		}

		/* tab */
		@media (max-width: 1024px) {
			.marketing-list {
				gap: 0 40rem;
				margin-left: 40rem;
			}
			.marketing-item {
				width: calc(50% - 20rem);
			}
			.marketing-item:nth-child(n+3) {margin-top: 40rem;}
			.marketing-corp {
				grid-template-rows: 70rem 40rem 1fr 180rem;
			}
		}
	}
}

/* enhance-section */
@media all {
	.enhance-item {position: relative;}
	.enhance-dt {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 2rem 15rem 0 1.2em;
		min-height: 85rem;
		line-height: 1.39;
		clip-path: polygon(0 0, 100% 0, calc(100% - 30rem) 100%, 0 100%);
	}
	.enhance-dd {
		margin-top: 1em;
		padding: 25rem;
		min-height: 152rem;
		background-color: var(--light-green);
		border-radius: 30rem;
		line-height: 1.733;
	}

	.enhance-dt > * {display: block;}
	
	.takken-license {
		margin-top: 220rem;
		font-size: 14rem;
		text-align: center;
	}
	.takken-license span {
		display: inline-block;
		padding: 5rem 21rem 3rem;
		border: var(--max1px) solid var(--light-blue);
		border-radius: 1em;
		color: var(--light-blue);
		line-height: 1;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.enhance-section {
			padding: 60rem 30rem 80rem;
		}
		.enhance-item + .enhance-item {margin-top: 40rem;}
		.takken-license {margin-top: 180rem;}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.enhance-section {
			margin-top: 120rem;
			padding-bottom: 350rem;
		}
		.enhance-content {
			margin: 60rem auto 0;
			width: 100%;
			max-width: 900rem;
		}
		.enhance-list {
			display: flex;
			justify-content: space-between;
		}
		.enhance-item {
			width: 44.2%;
			max-width: 380rem;
		}
		.enhance-item:nth-child(2n) {margin-left: 20rem;}

		.ttl-blue-resol {
			letter-spacing: -.025em;
			white-space: nowrap;
		}
		/* tab */
		@media (max-width: 1024px) {
			.enhance-list {
				margin: 0 auto;
				width: 760rem;
			}
			.enhance-item {width: 360rem;}
			.takken-license {margin-top: 176rem;}
			.takken-license span {
				display: block;
				width: 100%;
				padding-left: 0;
				padding-right: 0;
			}

			.ttl-blue-resol {
				letter-spacing: 0;
				transform: scaleX(.92);
				transform-origin: center left;
			}
		}
	}
}

/* talent-section */
@media all {
	.talent-section .enhance-dt {
		min-height: 60rem;
	}
	.talent-section .enhance-dd {background-color: #fff;}

	/* sp */
	@media only screen and (max-width: 767px) {
		.talent-section {
			margin-top: 0;
			padding: 60rem 20rem 150rem;
		}
		.talent-section .enhance-item {padding-bottom: 160rem;}
		.talent-section .enhance-item + .enhance-item {margin-top: 20rem;}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.talent-section {
			margin-top: 100rem;
			padding: 100rem 0 250rem;
		}

		/* tab */
		@media (max-width: 1024px) {
			.talent-section .enhance-dt {
				height: 85rem;
			}
		}
	}
}

/* deco */
@media all {

	/* sp */
	@media only screen and (max-width: 767px) {
		.deco-c-2,.deco-c-3,.deco-10 {
			display: none;
		}
		.deco-c-3 {
			top: 0rem;
			left: calc(50% - 780rem);
			transform: scale(-1, -1);
		}
		.deco-c-4 {
			bottom: 75rem;
			left: calc(50% + 460rem);
			transform: scale(-1, 1);
		}
		.deco-c-5 {
			top: 60rem;
			left: calc(50% - 940rem);
			transform: scale(-1, -1);
		}
		.deco-c-6 {
			bottom: 100rem;
			left: calc(50% + 340rem);
		}
		/* .deco-10 {
			top: -20rem;
			left: calc(50% + 370rem);
		} */
		.deco-1 {
			right: 7rem;
			bottom: 20rem;
		}
		.deco-2 {
			bottom: 25rem;
			left: calc(50% - 122.5rem);
			width: 225rem;
		}
		.deco-3 {
			bottom: 30rem;
			left: calc(50% - 103rem);
			width: 206rem;
		}
		.deco-4 {
			bottom: 5rem;
			left: calc(50% - 98rem);
			width: 196rem;
		}
		.deco-5 {
			bottom: 10rem;
			left: calc(50% - 92rem);
			width: 184rem;
		}
	}

	/* tab */
	@media (min-width: 768px) and (max-width: 1024px) {
		.deco-c-2 {
			top: 130rem;
			right: -100rem;
		}
		.deco-c-3 {
			top: 0rem;
			left: calc(50% - 620rem);
			transform: scale(-1, -1);
		}
		.deco-c-4 {
			bottom: -80rem;
			left: calc(50% + 260rem);
			transform: scale(-1, 1);
		}
		.deco-c-5 {
			top: 60rem;
			left: calc(50% - 650rem);
			transform: scale(-1, -1);
		}
		.deco-c-6 {
			bottom: 70rem;
			right: -80rem;
		}
		.deco-10 {
			top: -40rem;
			left: max(calc(100% - 240rem), calc(50% + 200rem));
		}
		.deco-1 {
			right: 30rem;
			bottom: -50rem;
		}
		.deco-2 {
			bottom: 25rem;
			left: calc(50% - 122.5rem);
		}
		.deco-3 {
			bottom: 30rem;
			left: calc(50% - 103rem);
		}
		.deco-4 {
			bottom: -150rem;
			left: calc(50% - 98rem);
		}
		.deco-5 {
			bottom: -155rem;
			left: calc(50% - 92rem);
		}
	}

	/* pc */
	@media print,
	(min-width: 1025px) {
		.deco-c-2 {
			top: 200rem;
			left: calc(50% + 340rem);
		}
		.deco-c-3 {
			top: 0rem;
			left: calc(50% - 780rem);
			transform: scale(-1, -1);
		}
		.deco-c-4 {
			bottom: 75rem;
			left: calc(50% + 460rem);
			transform: scale(-1, 1);
		}
		.deco-c-5 {
			top: 60rem;
			left: calc(50% - 940rem);
			transform: scale(-1, -1);
		}
		.deco-c-6 {
			bottom: 100rem;
			left: calc(50% + 340rem);
		}
		.deco-10 {
			top: -20rem;
			left: calc(50% + 370rem);
		}
		.deco-1 {
			right: calc(50% - 510rem);
			bottom: 0;
		}
		.deco-2 {
			bottom: 25rem;
			left: calc(50% - 140.5rem);
		}
		.deco-3 {
			bottom: 30rem;
			left: calc(50% - 128.5rem);
		}
		.deco-4 {
			width: 257rem;
			bottom: -210rem;
			left: calc(50% - 128.5rem);
		}
		.deco-5 {
			bottom: -195rem;
			left: calc(50% - 115rem);
		}
	}
}






/* template-section */
@media all {

	/* sp */
	@media only screen and (max-width: 767px) {}

	/* pc & tab */
	@media print,
	(min-width: 768px) {}
}
