@charset "UTF-8";

/* ====================================
	メインビジュアル
==================================== */

.home-mv__bg{
	width: 100%;
	height: 100svh;
	position: relative;
	z-index: 0;
}
.home-mv__bg::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	background-image: linear-gradient(0deg, #47474733, transparent);
	z-index: -1;
}
.home-mv__header{
	padding: 20px 20px 50px 20px;
	height: 100%;
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
}
.home-mv__title{
	width: 100%;
}
.home-mv__title-image{
	width: 192px;
}
.home-mv__subtext{
	margin-top: 25px;
	color: #fff;
	letter-spacing: .025em;
	line-height: 1.2;
	font-family: var(--font-eng);
	font-size: 1.4rem;
}
.home-mv__video{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	object-fit: cover;
	z-index: -2;
}
.home-mv__control{
	display: flex;
	align-items: center;
	gap: 15px;
	position: absolute;
	top: 90px;
	right: 20px;
}
.home-mv__mute,
.home-mv__play{
	height: 40px;
	border: 1px solid #fff;
	border-radius: 100vmax;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: rgba(34,34,34,0.4);
	transition: opacity .4s;
}
.home-mv__mute{
	width: 40px;
}
.home-mv__play{
	height: 40px;
	padding: 20px;
	gap: 10px;
	font-size: 1.4rem;
}

@media (min-width: 1025px) {
	.home-mv__header{
	padding: 40px 40px 75px 40px;
	}
	.home-mv__title-image{
		width: 382px;
	}
	.home-mv__subtext{
		margin-top: 30px;
		font-size: 2.4rem;
	}
	.home-mv__control{
		top: auto;
		bottom: 90px;
		right: 40px;
	}
}
@media (any-hover: hover) {
	.home-mv__mute:hover,
	.home-mv__play:hover{
		opacity: .7;
	}
}

/* ====================================
	メインビジュアル下コンテンツ
==================================== */
.home-main{
	background: var(--color-bg-base);
	position: relative;
}
.home-main::before{
	content: "";
	width: -webkit-fill-available;
	height: 35px;
	border-radius: 40px 40px 0 0;
	background: var(--color-bg-base);
	position: absolute;
	top: -35px;
}
.home-nav{
	margin: 0 auto;
	padding: 0 30px 65px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	position: relative;
	z-index: 0;
}
.home-nav::after {
	content: "";
	width: 100%;
	background: url("../img/bg_circle.svg")no-repeat top center / cover;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	aspect-ratio: 415 / 75;
	z-index: -1;
	filter: var(--filter-bg-base2);
}
.home-nav__link{
	height: 100%;
	padding: 15px 12px 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border: 1px solid var(--color-border);
	border-radius: 16px;
	text-decoration: none;
	text-align: center;
	line-height: 1.5;
	letter-spacing: .04em;
	font-size: 1.2rem;
	background: #fff;
	position: relative;
	box-shadow: var(--shadow-base);
	transition: transform 0.2s;
}
.home-nav__link::before{
	content: "";
	width: clamp(40px, calc(20vw + -37px), 120px);
	height: clamp(40px, calc(20vw + -37px), 120px);
	display: block;
	border-radius: 100vmax;
	flex-shrink: 0;
	color: #fff;
	background-color: var(--color-accent);
}
.home-nav__link.home-nav__link::after{
	content: "";
	width: clamp(40px, calc(20vw + -37px), 120px);
	height: clamp(40px, calc(20vw + -37px), 120px);
	display: flex;
	align-items: center;
	justify-content: center;
	font: var(--fa-font-solid);
	font-size: clamp(1.8rem, -0.42rem + 5.88vw, 4.6rem);
	background-size: clamp(20px, calc(10vw + -18px), 60px);
	background-position: center center;
	background-repeat: no-repeat;
	filter: var(--filter-white);
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
}
.home-nav__link.home-nav__link--about::after{
	background-image: url(../img/icon_bird.svg);
}
.home-nav__link.home-nav__link--stores::after{
	content: "\f3c5";
}
.home-nav__link.home-nav__link--delivery::after{
	content: "\f0d1";
}
.home-nav__link.home-nav__link--lifestyle::after{
	content: "\f4be";
}
.home-nav__link.home-nav__link--coop::after{
	background-image: url(../img/icon_coop.svg);
}
.home-nav__link.home-nav__link--community::after{
	content: "\f06c";
}
.home-nav__text{
	width: 100%;
	display: flex;
	flex-grow: 1;
	align-items: center;
	justify-content: center;
}

@media (min-width: 769px) {
	.home-nav{
		grid-template-columns: repeat(6, 1fr);
	}
	.home-nav__link::before{
		width: 50px;
		height: 50px;
	}
	.home-nav__link.home-nav__link::after{
		width: 50px;
		height: 50px;
		font-size: 1.8rem;
		background-size: 20px;
	}
}
@media (min-width: 1025px) {
	.home-main{
		margin-top: -40px;
	}
	.home-main::before{
		height: 40px;
		top: -40px;
	}
	.home-nav{
		display: none;
	}
}


/* ====================================
	スライダー,今週のチラシ,アプリ
==================================== */

.home-main__bottom{
	padding-bottom: 60px;
	background: var(--color-bg-base2);
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.home-slider{
	width: var(--base-w);
	margin: -35px auto 0;
	border: 1px solid var(--color-border);
	border-radius: 24px;
	overflow: hidden;
	position: relative;
	z-index: 0;
	box-shadow: var(--shadow-base);
}
.home-slider__main{
	width: 100%;
	margin: 0 auto;
	position: absolute;
	top: 40px;
	left: 50%;
	transform: translateX(-50%);
}
.home-slider__main-image{
	width: 100%;
	height: auto;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	overflow: hidden;
}
.home-slider__arrow{
	width: 40px;
	height: 40px;
	border: 1px solid var(--color-border);
	border-radius: 100vmax;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-accent);
	background: #fff;
	opacity: 1;
}
.slider__arrow:disabled{
	opacity: 1;
}
.home-slider__nav{
	width: calc(100% - 90px);
	margin: 20px auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px 10px;
}
.home-slider__pagination{
	width: calc(100% - 40px);
	padding: 0;
	justify-content: flex-start;
	position: static;
}
.home-slider__page{
	width: 20px;
	height: 7px;
	border-radius: 100vmax;
	background: #fff;
	opacity: 1;
}
.home-slider__page[aria-selected="true"]{
	background: var(--color-accent);
	transform: scale(1);
	opacity: 1;
}
.home-slider__toggle{
	width: 40px;
	height: 40px;
	border-radius: 100vmax;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 1.3rem;
	background: var(--color-accent);
}
.home-slider__back{
	position: relative;
	z-index: -1;
}
.home-slider__back::before{
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	background: rgba(0,0,0,0.15);
	backdrop-filter: blur(15px);
	z-index: 1;
}
.home-slider__back-image{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.home-card{
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.home-card__item{
	width: var(--base-w);
	margin: 0 auto;
	min-height: 200px;
	padding: 15px;
	border-radius: 24px;
	border-width: 10px;
	border-style: solid;
	outline: 1px solid var(--color-border);
	display: flex;
	justify-content: space-between;
	gap: 10px;
	background: #fff;
	box-shadow: var(--shadow-base);
}
.home-card__item--flyer{
	border-color: var(--color-bg-base);
}
.home-card__item--app{
	border-color: var(--color-accent);
}
.home-card__left{
	width: calc(100% - 130px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.home-card__en{
	width: 100%;
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-eng);
	font-size: 1.2rem;
}
.home-card__en::before{
	color: var(--color-accent);
	font: var(--fa-font-solid);
}
.home-card__en--flyer::before{
	content: "\f1ea";
}
.home-card__en--app::before{
	content: "\f3ce";
}
.home-card__title{
	padding-left: 10px;
	line-height: 1.6;
	font-size: 2.4rem;
	font-weight: var(--font-semibold);
}
.home-card__title-text{
	width: 100%;
	max-width: 181px;
	height: auto;
}
.home-card__button--flyer,
.home-card__button--app{
	font-size: 1.2rem;
}
.home-card__image{
	width: 120px;
	height: auto;
	object-fit: contain;
}
@media (min-width: 768px) {
	.home-card__left{
		width: calc(100% - 174px);
	}
	.home-card__image{
		width: 164px;
	}
}
@media (min-width: 1025px) {
	.home-main__bottom{
		margin-top: 40px;
		padding: 0 40px 20px;
		flex-direction: row;
		justify-content: center;
		gap: 20px;
		background: var(--color-bg-base);
		position: relative;
		z-index: 1;
	}
	.home-main__bottom::before{
		content: "";
		width: 100vw;
		height: 200px;
		background: url("../img/bg_circle.svg")no-repeat top center / 100% 100%;
		position: absolute;
		bottom: 200px;
		left: 50%;
		transform: translateX(-50%);
		z-index: -1;
		filter: var(--filter-bg-base2);
	}
	.home-main__bottom::after{
		content: "";
		width: 100vw;
		height: 200px;
		background: var(--color-bg-base2);
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: -1;
	}
	.home-slider{
		max-width: 790px;
		margin: 0;
		flex: 1;
		top: 0;
	}
	.home-slider__main{
		top: 100px;
	}
	.home-slider__main-link{
		transition: opacity .4s;
	}
	.home-slider__arrow{
		width: 80px;
		height: 80px;
		font-size: 2.4rem;
		transition: opacity .4s;
	}
	.home-slider__back,
	.home-slider__back-wrapper{
		height: 100%;
	}
	.home-slider__nav{
		max-width: 620px;
		margin: 60px auto 0;
		gap: 5px 20px;
	}
	.home-slider__pagination{
		width: fit-content;
		max-width: calc(100% - 70px);
	}
	.home-slider__page{
		width: 24px;
		height: 8px;
		transition: opacity .4s;
	}
	.home-slider__toggle{
		width: 50px;
		height: 50px;
		font-size: 1.4rem;
		transition: opacity .4s;
	}
	.home-card{
		width: 510px;
		margin: 0;
		gap: 20px;
	}
	.home-card__item{
		width: 100%;
		min-height: 260px;
		margin-top: 0;
		padding: 20px 30px 30px 20px;
	}
	.home-card__left{
		width: calc(100% - 130px);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.home-card__en{
		font-size: 1.4rem;
	}
	.home-card__title{
		line-height: 1.6;
		font-size: 3.2rem;
	}
	.home-card__title-text{
		max-width: 241px;
	}
	.home-card__button--flyer,
	.home-card__button--app{
		font-size: 1.4rem;
	}
	.home-card__image{
		width: 160px;
	}
}
@media (any-hover: hover) {
	.home-slider__main-link:hover,
	.home-slider__page:hover,
	.home-slider__toggle:hover{
		opacity : .7;
	}
}

/* ====================================
	新着情報
==================================== */
.home-news{
	background: var(--color-bg-base2);
	position: relative;
	z-index: 1;
}
.home-news::after{
	content: "";
	width: -webkit-fill-available;
	height: 120px;
	border-radius: 0 0 40px 40px ;
	background: var(--color-bg-base2);
	box-shadow: var(--shadow-base-bottom);
	position: absolute;
	bottom: -120px;
}
.home-news__inner{
	width: var(--base-w);
	margin: 0 auto;
	padding: 0 10px;
	display: flex;
	flex-direction: column;
	gap: 40px 0;
}
.home-news__title{
	letter-spacing: .02em;
	font-size: 2rem;
	font-weight: var(--font-semibold);
}
.home-news__en{
	display: block;
	line-height: 1;
	font-family: var(--font-eng);
	font-size: 6rem;
}
.home-news__categorylist{
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.home-news__trigger{
	display: flex;
	align-items: center;
	gap: 8px;
	line-height: 1;
	font-size: 1.4rem;
	transition: color .4s;
}
.home-news__trigger::before{
	content: "";
	width: 8px;
	height: 8px;
	display: block;
	border-radius: 100vmax;
	background: var(--color-accent);
	transition: background .4s;
}
.home-news__trigger[aria-expanded="false"]{
	color: var(--color-text-sub);
}
.home-news__trigger[aria-expanded="false"]::before{
	background: var(--color-bg-accent);
}
.home-news__button{
	position: absolute;
	bottom: -60px;
	z-index: 1;
}
.home-news__list{
	display: none;
}
.home-news__list.is-active{
	display: block;
}
.home-news__item{
	padding: 15px 0;
	border-top: 1px solid var(--color-border);
	position: relative;
}
.home-news__item:last-child{
	border-bottom: 1px solid var(--color-border);
}
.home-news__wrapper{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.home-news__date{
	color: var(--color-text-sub);
	font-size: 1.4rem;
}
.home-news__label{
	min-width: 118px;
	margin-left: 10px;
	padding: 0 20px;
	border-radius: 100vmax;
	display: inline-block;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	background: var(--color-accent);
}
.home-news__link{
	width: 100%;
	padding-right: 20px;
	display: block;
	font-size: 1.4rem;
}
.home-news__link::after{
	content: "\f061";
	color: var(--color-text-sub);
	font: var(--fa-font-solid);
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	transition: color .4s;
}

@media (min-width: 1025px) {
	.home-news{
		padding: 60px 0 0;
	}
	.home-news::after{
		height: 80px;
		bottom: -80px;
	}
	.home-news__sidebar{
		width: 320px;
	}
	.home-news__title{
		font-size: 2.4rem;
	}
	.home-news__en{
		font-size: 8rem;
	}
	.home-news__categorylist{
		margin-top: 80px;
		flex-direction: column;
		gap: 20px;
	}
	.home-news__button{
		margin-top: 40px;
		position: relative;
		bottom: 0;
	}
	.home-news__inner{
		max-width: 95%;
		flex-direction: row;
	}
	.home-news__items{
		width: 100%;
		max-width: 840px;
		margin-top: 15px;
	}
	.home-news__item{
		padding: 30px 0;
	}
	.home-news__wrapper{
		gap: 20px;
	}
	.home-news__dates{
		min-width: 260px;
	}
	.home-news__label{
		min-width: 125px;
		margin-left: 20px;
		line-height: 30px;
	}
	.home-news__link{
		flex: 1;
		font-size: 1.6rem;
		transition: color .4s;
	}
}
@media (any-hover: hover) {
	.home-news__trigger:hover,
	.home-news__link:hover,
	.home-news__link:hover::after{
		color: var(--color-accent);
	}
	.home-news__trigger:hover::before{
		background: var(--color-accent);
	}
}

/* ====================================
	メグリアってなに？
==================================== */
.home-about{
	padding: 180px 0 70px;
	background: var(--color-bg-base);
	position: relative;
	z-index: 0;
	overflow: hidden;
}
.home-about__inner{
	width: var(--base-w);
	margin: 0 auto;
	padding: 0 10px;
}
.home-about__en{
	display: block;
	line-height: 1;
	font-family: var(--font-eng);
	font-size: 7.2rem;
}
.home-about__en-sub{
	display: block;
	color: var(--color-accent);
}
.home-about__title{
	margin-top: 5px;
	font-size: 2rem;
	font-weight: var(--font-semibold);
}
.home-about__title-sub{
	color: var(--color-accent);
}
.home-about__hero{
	margin-top: 30px;
}
.home-about__text{
	line-height: 2.3;
	font-size: 1.4rem;
	font-weight: var(--font-medium);
}
.home-about__button{
	margin-top: 35px;
}
.home-about__mv{
	width: calc(100vw - 20px);
	position: relative;
	bottom: 20px;
	right: 0;
	z-index: -1;
}
.home-about__mvimage{
	width: calc(100vw + 70px);
	min-width: 460px;
	height: auto;
}
.home-about__list{
	width: var(--base-w);
	margin: -20px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	counter-reset: aboutlist;
}
.home-about__item{
	width: calc(50% - 4px);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--shadow-base);
	overflow: hidden;
}
.home-about__link{
	padding-bottom: 20px;
	display: flex;
	flex-direction: column;
}
.home-about__image{
	width: 100%;
	height: auto;
	border-radius: 16px 16px 48px 0;
	aspect-ratio: 320 / 236;
	object-fit: cover;
}
.home-about__subtitle{
	margin-top: 10px;
	padding: 0 8px;
	font-size: 1.6rem;
	font-weight: var(--font-semibold);
}
.home-about__subtitle::before{
	content: counter(aboutlist, decimal-leading-zero);
	counter-increment: aboutlist;
	color: var(--color-accent);
	display: block;
	line-height: 1.2;
	font-family: var(--font-eng);
	font-size: 1.4rem;
	font-weight: var(--font-bold);
}
.home-about__subtext{
	margin-top: 3px;
	padding: 0 8px;
	line-height: 1.2;
	color: var(--color-text-sub);
	font-family: var(--font-eng);
	font-size: 1rem;
	font-weight: var(--font-bold);
}
.home-about__arrow{
	display: none;
}

@media (min-width: 768px) {
	.home-about__item{
		width: calc(100% / 3 - 6px);
	}
}

@media (min-width: 1025px) {
	.home-about{
		padding: 150px 0 120px;
	}
	.home-about__inner{
		padding: 0 40px;
		position: relative;
	}
	.home-about__en{
		font-size: 10rem;
	}
	.home-about__title{
		font-size: 2.4rem;
	}
	.home-about__hero{
		margin-top: 50px;
	}
	.home-about__text{
		width: 449px;
		line-height: 2;
		font-size: 1.6rem;
	}
	.home-about__mv{
		width: 752px;
		position: absolute;
		top: -30px;
		bottom: auto;
		right: -80px;
	}
	.home-about__mvimage{
		width: 100%;
	}
	.home-about__list{
		max-width: calc(100% - 80px);
		margin: 40px auto 0;
		gap: 0 40px;
		align-items: flex-start;
	}
	.home-about__item{
		width: calc(100% / 3 - 27px);
	}
	.home-about__item:nth-of-type(1),
	.home-about__item:nth-of-type(4){
		margin-top: 40px;
	}
	.home-about__item:nth-of-type(2),
	.home-about__item:nth-of-type(5){
		margin-top: 20px;
	}
	.home-about__link{
		padding: 20px 20px 35px;
		position: relative;
		transition: opacity .4s;
	}
	.home-about__image{
		border-radius: 8px 8px 8px 80px;
	}
	.home-about__subtitle{
		margin-top: -10px;
		padding: 0;
		font-size: 2.4rem;
	}
	.home-about__subtitle::before{
		margin-bottom: 8px;
		font-size: 2.4rem;
	}
	.home-about__subtext{
		padding: 0;
		font-size: 1.4rem;
	}
	.home-about__arrow{
		width: 80px;
		height: 80px;
		border-radius: 100vmax;
		display: block;
		color: #fff;
		font-size: 1.4rem;
		position: absolute;
		bottom: -20px;
		right: -20px;
		overflow: hidden;
		background: var(--color-accent);
	}
	.home-about__arrow::before,
	.home-about__arrow::after{
		width: 80px;
		height: 80px;
		padding: 30px 0 0 30px;
		content: var(--fa);
		font: var(--fa-font-solid);
		display: flex;
		position: absolute;
		top: 0;
		right: 0;
		animation-fill-mode: forwards;
		animation-duration: 0.1s;
	}
	.home-about__arrow::after {
		transform: translateX(-200%);
	}
}

@media (any-hover: hover) {
	.home-about__link:hover{
		opacity: .7;
	}
	.home-about__link:hover .home-about__arrow::before {
		animation-name: transformRightLeft;
		animation-delay: 0s;
	}
	.home-about__link:hover .home-about__arrow::after {
		animation-name: transformLeftRight;
		animation-delay: 0.1s;
	}
}
/* ====================================
	ピックアップ
==================================== */
.home-pickup{
	display: flex;
	justify-content: flex-end;
	background: var(--color-bg-base);
	position: relative;
	z-index: 1;
}
.home-pickup::after{
	content: "";
	width: -webkit-fill-available;
	height: 60px;
	border-radius: 0 0 40px 40px ;
	background: var(--color-bg-base);
	position: absolute;
	bottom: -60px;
}
.home-pickup__header{
	line-height: 1;
	writing-mode: vertical-lr;
	position: absolute;
	top: -20px;
	left: 15px;
}
.home-pickup__en{
	line-height: 1;
	font-family: var(--font-eng);
	font-size: 6.4rem;
}
.home-pickup__title{
	font-size: 2rem;
	font-weight: var(--font-semibold);
}
.home-pickup__content{
	width: calc(100% - 35px);
	padding: 20px 0 20px 100px;
	border-radius: 35px 0 0 35px;
	background: var(--color-bg-base2);
}
.home-pickup__text{
	padding-right: 25px;
	text-align: right;
	line-height: 1.6;
	font-weight: var(--font-medium);
	font-size: 1.4rem;
}
.home-pickup__br{
	display: block;
}
.pickup-slider{
	margin-top: 20px;
}
.pickup-slider__image{
	width: 100%;
	height: auto;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: var(--shadow-base-bottom);
}
.pickup-slider__title{
	margin-top: 15px;
}
.pickup-slider__date{
	padding: 0 15px;
	line-height: 24px;
	display: inline-block;
	color: #fff;
	border-radius: 5px;
	font-size: 1.2rem;
	background: var(--color-accent);
}
.pickup-slider__text{
	margin-top: 10px;
	font-size: 1.4rem;
}
.pickup-slider__nav{
	margin-top: 20px;
	padding-right: 25px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 5px 10px;
}
.pickup-slider__pagination{
	width: 100%;
	padding: 0;
	justify-content: flex-start;
	position: static;
}
.pickup-slider__page{
	width: 19px;
	height: 6px;
	border-radius: 100vmax;
	background: var(--color-bg-base);
	opacity: 1;
	transition: opacity .4s;
}
.pickup-slider__page[aria-selected="true"]{
	background: var(--color-accent);
	transform: scale(1);
	opacity: 1;
}
.pickup-slider__arrows{
	display: flex;
	gap: 10px;
}
.pickup-slider__arrow{
	width: 40px;
	height: 40px;
	border: 1px solid var(--color-text);
	border-radius: 100vmax;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-text);
	background: transparent;
	position: static;
	transform: none;
	opacity: 1;
}
.pickup-slider__arrow:disabled{
	opacity: 1;
}

@media (min-width: 1025px) {
	.home-pickup{
		display: flex;
		justify-content: flex-end;
		background: var(--color-bg-base);
		position: relative;
		z-index: 1;
	}
	.home-pickup::after{
		height: 120px;
		bottom: -120px;
	}
	.home-pickup__header{
		width: var(--base-w);
		max-width: calc(100% - 80px);
		margin: 0 auto;
		left: -18px;
		right: 0;
	}
	.home-pickup__en{
		font-size: 11rem;
	}
	.home-pickup__title{
		font-size: 2.4rem;
	}
	.home-pickup__content{
		width: calc((100vw - var(--base-w)) / 2 + var(--base-w) - 40px);
		max-width: calc(100vw - 100px);
		padding: 40px 0 40px 100px;
		overflow: hidden;
	}
	.home-pickup__text{
		padding-right: 120px;
		font-size: 1.6rem;
	}
	.home-pickup__br{
		display: inline;
	}
	.pickup-slider{
		margin-top: 40px;
	}
	.pickup-slider__image{
		transition: opacity .4s;
	}
	.pickup-slider__title{
		margin-top: 10px;
		position: relative;
	}
	.pickup-slider__title::after{
		content: "\f061";
		width: 50px;
		height: 55px;
		border-left: 1px solid var(--color-border);
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.7rem;
		color: var(--color-accent);
		font: var(--fa-font-solid);
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		transition: opacity .4s;
	}
	.pickup-slider__date{
		border-radius: 4px;
		font-size: 1.2rem;
		background: #655951;
	}
	.pickup-slider__text{
		margin-top: 8px;
		padding-right: 55px;
		font-size: 1.6rem;
		transition: color .4s;
	}
	.pickup-slider__nav{
		margin-top: 40px;
		padding-right: 120px;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	.pickup-slider__page{
		width: 24px;
		height: 8px;
	}
	.pickup-slider__arrows{
		gap: 15px;
	}
	.pickup-slider__arrow{
		width: 50px;
		height: 50px;
		transition: opacity .4s;
	}
}
@media (min-width: 1200px) {
	.home-pickup__content{
		max-width: calc(100vw - 160px);
		padding: 40px 0 40px 160px;
	}
}
@media (any-hover: hover) {
	.splide__arrow:hover:not(:disabled),
	.pickup-slider__arrow:hover,
	.pickup-slider__link:hover .pickup-slider__image,
	.pickup-slider__link:hover .pickup-slider__title::after,
	.pickup-slider__page:hover{
		opacity: .7;
	}
	.pickup-slider__link:hover .pickup-slider__text{
		color: var(--color-accent);
	}
}

/* ====================================
	採用情報
==================================== */
.home-recruit{
	padding: 220px 35px;
	background: url(../../img/home/bg_recruit.jpg)no-repeat center center / cover;
	background-attachment: fixed;
}
.home-recruit__inner{
	padding: 60px 0;
	border-radius: 16px;
	background: rgba(255,255,255,.7);
	backdrop-filter: blur(15px);
	position: relative;
}
.home-recruit__header{
	color: var(--color-accent);
	text-align: center;
}
.home-recruit__en{
	line-height: 1;
	font-family: var(--font-eng);
	font-size: 6.4rem;
}
.home-recruit__title{
	font-size: 2rem;
	font-weight: var(--font-semibold);
}
.home-recruit__button{
	margin: 35px auto 0;
}
.recruit-parallax{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.recruit-parallax__image {
	border-radius: 8px;
	position: absolute;
	overflow: hidden;
	animation: parallax ease-out both;
	animation-timeline: view();
	animation-range: cover 0% cover 100%;
	box-shadow: var(--shadow-base);
}
.recruit-parallax__left01,
.recruit-parallax__right02{
	animation-range: cover 0% cover 100%;
}
.recruit-parallax__left03,
.recruit-parallax__right01,
.recruit-parallax__right03{
	animation-range: cover -20% cover 100%;
}
.recruit-parallax__left02,
.recruit-parallax__right04{
	animation-range: cover 10% cover 100%;
}
@keyframes parallax {
	from {
	  transform: translateY(calc(var(--move) * -1)) scale(0.9);
	}
	to {
	  transform: translateY(var(--move)) scale(1);
	}
}

@media (max-width: 1024px) {
	.recruit-parallax__left01{
		width: 64px;
		height: 64px;
		top: -55px;
		left: calc(50% + 5px);
		--move: 40px;
	}
	.recruit-parallax__left02{
		width: 80px;
		height: 80px;
		top: -110px;
		right: -10px;
		--move: 20px;
	}
	.recruit-parallax__left03{
		display: none;
	}
	.recruit-parallax__left04{
		width: 100px;
		height: 100px;
		top: -110px;
		left: -10px;
		--move: 80px;
	}
	.recruit-parallax__right01{
		width: 64px;
		height: 64px;
		bottom: -35px;
		left: -5px;
		z-index: 1;
		--move: 60px;
	}
	.recruit-parallax__right02{
		width: 80px;
		height: 80px;
		bottom: -110px;
		right: -10px;
		--move: 40px;
	}
	.recruit-parallax__right03{
		display: none;
	}
	.recruit-parallax__right04{
		width: 100px;
		height: 100px;
		bottom: -120px;
		left: 50px;
		--move: 20px;
	}
}
@media (min-width: 1025px) {
	.home-recruit{
		padding: 240px 35px;
	}
	.home-recruit__inner{
		width: 880px;
		margin: 0 auto;
		padding: 80px 0 60px;
		border-radius: 24px;
	}
	.home-recruit__en{
		font-size: 8rem;
	}
	.home-recruit__title{
		font-size: 2.4rem;
	}
	.home-recruit__button{
		margin: 40px auto 0;
	}
	.recruit-parallax{
		width: 70%;
		margin: auto;
		right: 0;
	}
	.recruit-parallax__left01{
		width: 80px;
		height: 80px;
		top: 20px;
		left: -166px;
		--move: 100px;
	}
	.recruit-parallax__left02{
		width: 120px;
		height: 120px;
		top: -40px;
		left: -40px;
		--move: 80px;
	}
	.recruit-parallax__left03{
		width: 80px;
		height: 80px;
		bottom: -20px;
		left: -200px;
		--move: 100px;
	}
	.recruit-parallax__left04{
		width: 160px;
		height: 160px;
		bottom: 40px;
		left: -50px;
		--move: 110px;
	}
	.recruit-parallax__right01{
		width: 160px;
		height: 160px;
		top: 20px;
		right: -60px;
		--move: 100px;
	}
	.recruit-parallax__right02{
		top: 60px;
		right: -200px;
		--move: 80px;
	}
	.recruit-parallax__right03{
		width: 80px;
		height: 80px;
		bottom: 40px;
		right: 60px;
		--move: 60px;
	}
	.recruit-parallax__right04{
		width: 120px;
		height: 120px;
		bottom: -40px;
		right: -110px;
		--move: 60px;
	}
}
@media (min-width: 1380px) {
	.recruit-parallax{
		width: 100%;
	}
}

/* ====================================
	お問い合わせ
==================================== */
.home-contact{
	padding-bottom: 40px;
	background: var(--color-bg-base2);
	position: relative;
	z-index: 1;
}
.home-contact::before{
	content: "";
	width: -webkit-fill-available;
	height: 60px;
	border-radius: 40px 40px 0 0;
	background: var(--color-bg-base2);
	position: absolute;
	top: -60px;
}
.home-contact__inner{
	width: var(--base-w);
	margin: 0 auto;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--shadow-base);
	position: relative;
	z-index: 1;
}
.home-contact__header{
	padding: 35px 20px;
}
.home-contact__en{
	color: var(--color-accent);
	font-size: 1.4rem;
}
.home-contact__title{
	font-weight: var(--font-semibold);
	font-size: 2.8rem;
}
.home-contact__contents{
	padding: 35px 20px;
	border-top: 1px solid var(--color-border);
}
.home-contact__subtitle{
	display: flex;
	align-items: center;
	gap: 8px;
	line-height: 1;
	font-size: 1.4rem;
	font-weight: var(--font-semibold);
}
.home-contact__subtitle::before{
	content: "";
	width: 8px;
	height: 8px;
	display: block;
	border-radius: 100vmax;
	background: var(--color-accent);
}
.home-contact__tel{
	width: fit-content;
	margin-top: 25px;
	display: block;
	color: var(--color-accent);
	line-height: 1;
	font-family: var(--font-eng);
	font-size: 4rem;
	font-weight: var(--font-bold);
}
.home-contact__list{
	margin-top: 10px;
	font-weight: var(--font-semibold);
}
.home-contact__label{
	width: fit-content;
	min-width: 80px;
	height: 24px;
	padding: 0 15px;
	border-radius: 100vmax;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	background: var(--color-bg-base);
}
.home-contact__text{
	margin-top: 5px;
	font-size: 1.4rem;
}
.home-contact__button{
	width: 100%;
	margin-top: 25px;
}
.home-contact__button:nth-child(n+3){
	margin-top: 8px;
}
@media (min-width: 1025px) {
	.home-contact::before{
		height: 120px;
		top: -120px;
	}
	.home-contact__inner{
		max-width: calc(100% - 80px);
		display: flex;
		border-radius: 24px;
	}
	.home-contact__header{
		width: 320px;
		padding: 40px;
	}
	.home-contact__en{
		font-size: 1.6rem;
	}
	.home-contact__title{
		font-size: 2.4rem;
	}
	.home-contact__contents{
		padding: 40px;
		border-top: none;
		border-left: 1px solid var(--color-border);
		flex: 1;
	}
	.home-contact__subtitle{
		font-size: 1.6rem;
	}
	.home-contact__tel{
		margin-top: 35px;
		font-size: 4.8rem;
	}
	.home-contact__list{
		display: flex;
		align-items: center;
		gap: 10px;
		line-height: 1;
	}
	.home-contact__list:nth-child(n+3){
		margin-top: 8px;
	}
	.home-contact__text{
		margin-top: 0;
	}
	.home-contact__button{
		margin-top: 35px;
	}
	.home-contact__button:nth-child(n+3){
		margin-top: 8px;
	}
}