@charset "UTF-8";
/* CSS Document */
/* mainArea */
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.swiper-slide-active .slide_img,
.swiper-slide-duplicate-active .slide_img,
.swiper-slide-prev .slide_img {
  animation: zoomUp 10s linear 0s 1 normal both;
}
.swiper-container {
	position: relative;
	z-index: 0;
	.swiper-wrapper {
		width: 100vw;
		overflow: hidden;
		.slide_img {
			background-repeat: no-repeat;
			width: 100%;
			background-size: cover;
			background-position: center center;
			height: 100svh;
			min-height: 800px;
			&.slide01 {
				background-image: url("../img/top/main01.webp");
			}
			&.slide02 {
				background-image: url("../img/top/main02.webp");
			}
			&.slide03 {
				background-image: url("../img/top/main03.webp");
			}
			&.slide04 {
				background-image: url("../img/top/main04.webp");
			}
			&.slide05 {
				background-image: url("../img/top/main05.webp");
			}
		}
	}
}
.mainArea {
	position: relative;
	height: 100svh;
	min-height: 800px;
	.main_inner {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		inset: 0;
		width: 100%;
		height: 100svh;
		min-height: 800px;
		padding: 0 40px;
		.desc {
			height: 100%;
			display: flex;
			align-items: center;
			max-width: 1500px;
			margin: 0 auto;
			.main_txt {
				color: var(--color-primary);
				span {
					display: block;
					font-size: var(--font-2xl);
					font-weight: var(--font-weight-semi-mid);
					font-family: var(--font-family-mincho);
					letter-spacing: var(--letter-spacing-wide);
					text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.15);
					&.m_txt01 {
						line-height: var(--line-height-sm);
					}
					&.m_txt02 {
						line-height: var(--line-height-sm);
						padding: 32px 0 0 64px;
					}
				}
			}
		}
	}
}

/* 共通 */
/* h2 */
.newsArea .inner h2,
.picArea .inner h2,
.businessArea .inner h2 {
	font-size: var(--font-xl);
	font-family: var(--font-family-mincho);
	letter-spacing: var(--letter-spacing-wider);
	font-weight: var(--font-weight-semi-mid);
}

/* conceptArea */
.conceptArea {
	position: relative;
	z-index: 2;
	height: 632px;
	background-image: linear-gradient(34deg, rgba(218, 65, 151, 1) 16%, rgba(236, 147, 163, 1) 36%, rgba(255, 231, 175, 1) 76%);
	&::before {
		content: "";
		position: absolute;
		z-index: 0;
		top: -57px;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../img/top/concept_bg.webp");
		background-position: top center;
		background-repeat: no-repeat;
		width: 101%;
		height: 690px;
	}
}
.conceptArea .inner {
	text-align: center;
	padding: 160px 40px;
	position: relative;
	z-index: 1;
	p {
		font-size: var(--font-lg);
		font-family: var(--font-family-mincho);
		line-height: var(--line-height-lg);
		font-weight: var(--font-weight-semi-mid);
	}
}

/* newsArea */
.newsArea .inner {
	padding: 100px 40px 60px;
}
.newsArea .inner ul {
	margin-top: 40px;
	margin-left: 120px;
	border-top: 1px solid #d8d8d8;
	li {
		padding: 40px 16px;
		display: flex;
		justify-content: flex-start;
		border-bottom: 1px solid #d8d8d8;
		.left {
			width: 140px;
			.date,
			time {
				color: var(--color-quaternary);
				line-height: var(--line-height-md);
				}
			}
		.right {
			width: calc(100% - 140px);
			.ttl {
				line-height: var(--line-height-md);
				a {
						color: var(--color-text);
					&:hover {
						color: var(--color-secondary);
					}
				}
			}
		}
	}
}
.newsArea .inner .btn {
	padding-top: 40px;
	display: flex;
	justify-content: flex-end;
}

/* picArea */
.picArea .inner {
	padding: 60px 40px;
}
.picArea .inner ul {
	padding-top: 40px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.picArea .inner ul li {
	width: calc(50% - 30px);
	a {
		display: block;
		.img {
			background-position: center center;
			background-repeat: no-repeat;
			background-size: 100%;
			aspect-ratio: 500 / 280;
			transition: all .5s ease;
			overflow: hidden;
			&.img01 {
				background-image: url("../img/top/pick01.webp");
			}
			&.img02 {
				background-image: url("../img/top/pick02.webp");
			}
			&:hover {
				background-size: 105%;
			}
		}
	}
	dl {
		padding-top: 16px;
		color: var(--color-text);
		dt {
			font-size: var(--font-md-plus);
			font-weight: var(--font-weight-mid);
			padding-bottom: 8px;
		}
	}
}

/* ローズヒップlink一時的に消す */
.picArea .inner ul li.is-disabled a {
  pointer-events: none;
  cursor: default;
}
.picArea .inner ul li.is-disabled a * {
  transition: none !important;
}


/* businessArea */
.businessArea .inner {
	padding: 60px 40px 120px;
}
.businessArea .inner ul {
	padding-top: 10px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.businessArea .inner ul li {
	width: calc(33.3% - 20px);
	margin-top: 30px;
	a {
		display: block;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 100%;
		aspect-ratio: 320 / 340;
		transition: all .5s ease;
		overflow: hidden;
		&.img01 {
			background-image: url("../img/top/business01.webp");
		}
		&.img02 {
			background-image: url("../img/top/business02.webp");
		}
		&.img03 {
			background-image: url("../img/top/business03.webp");
		}
		&.img04 {
			background-image: url("../img/top/business04.webp");
		}
		&.img05 {
			background-image: url("../img/top/business05.webp");
		}
		&.img06 {
			background-image: url("../img/top/business06.webp");
		}
		&:hover {
			background-size: 105%;
		}
	}
	.ttl {
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		span {
			width: 100%;
			color: var(--color-text);
			text-align: center;
			display: block;
			font-size: var(--font-lg);
			padding: 10px 0;
			background-color: rgb(255 255 255 / 60%);
		}
	}
}

@media screen and (max-width: 1200px) {
/* mainArea */
	.swiper-container .swiper-wrapper .slide_img {
		&.slide01,
		&.slide02 {
			background-position: center right -100px;
		}
	}
}

@media screen and (max-width: 1000px) {
/* mainArea */
	.swiper-container .swiper-wrapper .slide_img {
		height: 90svh;
		min-height: 700px;
			&.slide01,
			&.slide02 {
				background-position: center right -200px;
			}
		}
		.mainArea {
			height: 90svh;
			min-height: 700px;
			.main_inner {
				height: 90svh;
				min-height: 700px;
				.desc .main_txt span {
					font-size: clamp(2rem, 1.471rem + 2.65vw, 3.125rem);
				&.m_txt02 {
						padding: 20px 0 0 32px;
					}
				}
			}
		}

/* 共通 */
/* h2 */
	.newsArea .inner h2,
	.picArea .inner h2,
	.businessArea .inner h2 {
		font-size: clamp(1.625rem, 1.507rem + 0.59vw, 1.875rem);
	}


/* conceptArea */
	.conceptArea {
		height: 482px;
		&::before {
			height: 540px;
		}
	}
	.conceptArea .inner {
		height: 100%;
    padding: 0 1vw;
		display: flex;
		justify-content: center;
		align-items: center;
		p {
			font-size: clamp(1rem, 0.735rem + 1.32vw, 1.563rem);
			padding-bottom: 26px;
    }
	}

/* newsArea */
.newsArea .inner {
		padding: 80px 6vw 40px;
		ul {
			margin-top: 30px;
			margin-left: 0;
		}
	.btn {
			padding-top: 36px;
		}
	}

/* picArea */
	.picArea .inner {
		padding: 40px 6vw;
		ul {
				padding-top: 30px;
		li {
				width: calc(50% - 10px);
		dl dt {
					font-size: var(--font-md);
				}
			}
		}
	}


/* businessArea */
	.businessArea .inner {
		padding: 40px 6vw 100px;
		ul {
				padding-top: 20px;
		li {
				width: calc(33.3% - 6px);
				margin-top: 10px;
		.ttl span {
					font-size: clamp(1.125rem, 0.949rem + 0.88vw, 1.5rem);
				}
			}
		}
	}
}

@media screen and (max-width: 768px) {
/* mainArea */
	.swiper-container .swiper-wrapper .slide_img {
		&.slide01 {
			background-position: center center;
			background-image: url("../img/top/main01_sp.webp");
		}
		&.slide02 {
			background-position: center center;
			background-image: url("../img/top/main02_sp.webp");
		}
		&.slide03 {
			background-image: url("../img/top/main03_sp.webp");
		}
		&.slide04 {
			background-image: url("../img/top/main04_sp.webp");
		}
		&.slide05 {
			background-image: url("../img/top/main05_sp.webp");
		}
	}

/* newsArea */
	.newsArea .inner ul {
		max-width: 600px;
		margin: 30px auto 0;
	li {
			flex-direction: column;
			padding: 30px 0;
			.left {
				width: 100%;
				padding-bottom: 10px;
			}
			.right {
				width: 100%;
				padding-top: 6px;
			}
		}
	}
	.newsArea .inner .btn {
		max-width: 600px;
		margin: 0 auto;
	}

/* conceptArea */
	.conceptArea {
			height: 462px;
		&::before {
			top: -40px;
			height: 502px;
			background-image: url("../img/top/concept_bg_sp.webp");
		}
	}

/* picArea */
	.picArea .inner ul {
    flex-direction: column;
		max-width: 600px;
		margin: 0 auto;
		li {
			width: 100%;
			&:last-of-type {
				margin-top: 40px;
			}
		}
	}

/* businessArea */
	.businessArea .inner ul {
		max-width: 600px;
		margin: 0 auto;
		padding-top: 10px;
	li {
		width: calc(50% - 10px);
		margin-top: 20px;
		}
	}
}

@media screen and (max-width: 600px) {
/* mainArea */
	.swiper-container .swiper-wrapper .slide_img {
		min-height: 620px;
	}
	.mainArea {
		min-height: 620px;
		.main_inner {
			padding: 0 6vw;
			min-height: 620px;
		}
	}

/* newsArea */
	.newsArea .inner {
		padding-top: 70px;
		padding-bottom: 36px;
		ul li {
        padding: 26px 0px;
		}
	}

/* picArea */
	.picArea .inner {
		padding-top: 36px;
		padding-bottom: 36px;
	}

/* businessArea */
	.businessArea .inner {
		padding-top: 36px;
		padding-bottom: 70px;
		ul {
			padding-top: 18px;
			li {
				width: calc(50% - 6px);
				margin-top: 12px;
			}
		}
	}
}

@media screen and (max-width: 400px) {
/* mainArea */
	.swiper-container .swiper-wrapper .slide_img {
		height: 80svh;
	}
	.mainArea {
		height: 80svh;
	.main_inner {
			height: 80svh;
		}
	}


/* conceptArea */
	.conceptArea {
		height: 476px;
		&::before {
			top: -24px;
			height: 500px;
			background-image: url("../img/top/concept_bg_sp2.webp");
		}
	}
	.conceptArea .inner {
		padding-top: 40px;
		padding-bottom: 40px;
	}

/* businessArea */
	.businessArea .inner ul {
	flex-direction: column;
	li {
		width: 100%;
		a {
			aspect-ratio: 320 / 260;
			&.img02 {
				background-position: top center;
				}
			}
		}
	}
}
