@charset "UTF-8";

.site-main {padding: 0;}
.site-footer::before {background-color: var(--gray);}

/* mv */
@media all {
	.main-visual {
		position: relative;
		z-index: 1;
		background-color: var(--gray);
	}
	.main-visual::after {
		content: '';
		position: absolute;
		display: block;
		background: center / contain no-repeat url(../img/common/scroll.svg);
		animation: scrolling 1.5s infinite;
	}
	@keyframes scrolling {
		0% {transform: translateY(-150%);opacity:0;}
		2% {opacity: 1;}
		100% {transform: translateY(50%); opacity: .02;}
	}
	.slider {overflow: hidden;}
	
	.mv-catch,
	.mv-oval {position: absolute;}
	.mv-oval img {width: 100%;}

	.mv-catch > p {
		display: inline-block;
		background-color: #fff;
		border-bottom: 4rem solid var(--red);
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.main-visual {padding-bottom: 90rem;}
		.slider,
		.slider img {
			height: 100vw;
		}
		.slider img {
			object-fit: cover;
		}
		.main-visual::after {
			bottom: 50rem;
			left: calc(50% - 19rem);
			width: 38rem;
			height: 14rem;
			scale: .75;
		}
		.mv-oval {
			bottom: 88rem;
			left: 0;
			display: block;
			width: 100%;
			height: 54rem;
		}
		.mv-catch {
			bottom: 120rem;
			left: 0;
		}
		.mv-catch > p {
			padding: 0rem 25rem 5rem 29rem;
		}
		.mv-catch-2 {margin-top: 8rem;}
		.mv-catch-1 img,
		.mv-catch-2 img {height: 20rem;}
	}

	/* pc & tab */
	@media print,
	 (min-width: 768px) {
		.main-visual {
			padding-bottom: 140rem;
		}
		.slider,
		.slider img {
			height: 760rem;
			max-height: calc(100vh - 35rem);
		}
		.slider img {
			width: 100%;
			object-fit: cover;
		}
		.mv-oval {
			bottom: 139rem;
			left: calc(50% - 800rem);
			display: block;
			width: 1600rem;
			height: 219rem;
		}
		.main-visual::after {
			bottom: 100rem;
			left: calc(50% - 19rem);
			width: 38rem;
			height: 14rem;
		}
		.mv-catch {
			bottom: 220rem;
			left: max(0px, calc(50% - 640rem));
			width: 621rem;
		}
		.mv-catch > p {
			padding: 5rem 25rem 5rem 29rem;
		}
		.mv-catch-2 {margin-top: 28rem;}
		.mv-catch-1 img {width: 525rem;}
		.mv-catch-2 img {width: 396rem;}
	}
}

/* cando-section */
@media all {
	.section-cando::after {
		content: 'What we can do';
		position: absolute;
		font-weight: bold;
		color: #fff;
		line-height: 1;
	}
	.cando-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.cando-item {
		position: relative;
	}
	.cando-item a {display: block;}
	.cando-item-ttl {
		position: absolute;
		background: #fff;
		border-bottom: 2rem solid var(--red);
		font-weight: bold;
	}
	.cando-item-ttl::after {
		content: '';
		position: absolute;
		display: block;
		background: center / contain no-repeat url(../img/common/red-arrow.svg);
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.section-cando {
			padding: 0 20rem 100rem;
		}
		.section-cando::after {
			bottom: -3rem;
			right: 0;
			font-size: 40rem;
		}
		.section-cando-lead {
			margin-top: 30rem;
		}

		.cando-list {
			margin-top: 30rem;
		}
		.cando-item {
			border-radius: 10rem;
			width: 47%;
			overflow: hidden;
		}
		.cando-item-ttl {
			bottom: 6rem;
			left: 6rem;
			z-index: 1;
			padding: 0 12rem;
			width: calc(100% - 12rem);
			border-radius: 0 0 6rem 6rem;
		}
		.cando-item-ttl::after {
			top: calc(50% - 3rem);
			right: 6rem;
			width: 20rem;
			height: 6rem;
		}
		.cando-item:nth-child(n+3) {
			margin-top: 6%;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.section-cando {
			padding-bottom: 140rem;
		}
		.section-cando::after {
			bottom: calc(-5rem - .5px);
			right: 0;
			font-size: 80rem;
		}
		.section-cando-lead {
			margin: 40rem auto 0;
			width: 750rem;
			text-align: center;
			font-size: 14rem;
		}

		.cando-list {
			margin: 60rem auto 0;
			padding: 0 9rem;
			max-width: 1018rem;
		}
		.cando-item {
			border-radius: 10rem;
			width: 32.4%;
			overflow: hidden;
		}
		.cando-item-ttl {
			top: 12rem;
			z-index: 1;
			padding-left: 12rem;
			width: 82.099%;
			font-size: 24rem;
		}
		.cando-item-ttl::after {
			top: calc(50% - 3rem);
			right: 16rem;
			width: 30rem;
			height: 6rem;
		}
		.cando-item:nth-child(n+4) {
			margin-top: 1.25%;
		}
		.cando-item:nth-child(n+4) .cando-item-ttl {
			top: auto;
			bottom: 12rem;
			right: 0;
		}
		.cando-item a img {transition: .3s;}
		.cando-item a:hover img {scale: 1.05;opacity: .8;}
		
		/* tab */
		@media (max-width: 889px) {
			.cando-item-ttl {
				font-size: 2.6vw;
			}
		}
	}
}

/* news-section */
@media all {
	.news-item {
		border-bottom: max(1rem, 1px) solid var(--border);
	}
	.news-ttl small {
		font-family: 'Montserrat', sans-serif;
		font-weight: 300;
		line-height: 1.3125;
	}
	.news-item a {position: relative;transition: opacity .3s;}
	.news-item a:hover {opacity: .7;}
	.news-item a::after {
		content: '';
		position: absolute;
		display: block;
		background: center / contain no-repeat url(../img/common/circle-arrow.png);
	}
	.news-info time,
	.news-category {
		color: var(--font-gray);
	}
	.news-info time::after {
		content: ' ｜';
	}
	.news-title {
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		font-weight: 500;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.news-section {padding: 100rem 20rem 70rem;}
		.news-ttl {
			border-left: 5rem solid var(--red);
			text-align: center;
		}
		.news-ttl small {
			display: block;
			margin-bottom: 4rem;
			font-size: 24rem;
		}
		.news-list {
			margin-top: 24rem;
		}
		div.news-list {justify-content: center;}
		.news-item a {
			display: flex;
			align-items: center;
			padding: 16rem 0;
		}
		.news-item a::after {
			top: calc(50% - 12rem);
			right: 0;
			width: 24rem;
			height: 24rem;
		}
		.news-thumb {
			display: block;
			width: 90rem;
			height: 60rem;
			border-radius: 10rem;
		}
		.news-info {
			padding-left: 20rem;
			width: calc(100% - 120rem);
		}
		.news-button {
			margin-top: 40rem;
			text-align: center;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.news-section {padding: 140rem 9rem 110rem;}
		.news-section-inner {
			display: flex;
			align-items: stretch;
			margin: 0 auto;
			padding-left: 20rem;
			width: 100%;
			max-width: 1000rem;
			border-left: 4rem solid var(--red);
		}
		.news-section-header {
			width: 246rem;
		}
		.news-ttl small {
			display: block;
			margin-bottom: 4rem;
			width: 140rem;
			font-size: 32rem;
		}
		.news-viewmore {
			margin: 20rem 0;
		}
		.news-list {
			width: calc(100% - 246rem);
		}
		.news-item {
			padding: 20rem 0 20rem 0;
		}
		.news-item a {
			display: flex;
			flex-direction: column;
			justify-content: center;
			padding: 0 80rem 0 150rem;
			min-height: 80rem;
		}
		.news-item a::after {
			top: calc(50% - 18rem);
			right: 0;
			width: 36rem;
			height: 36rem;
		}
		.news-thumb {
			position: absolute;
			top: calc(50% - 40rem);
			left: 0;
			display: block;
			width: 120rem;
			height: 80rem;
			border-radius: 10rem;
		}
		.news-info,
		.news-title {font-size: 14rem;}
	}
}






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

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