@charset "utf-8";

/***************************************************************
MV
****************************************************************/
/* mv */
.widget_home_main_visual {
	margin: 0 -2.5vw;
	position: relative;
	height: calc(16 / 15 * 100vw);
	overflow: hidden;
}

@media screen and (max-width: 1184px) {
	.widget_home_main_visual {
		margin: 0 - 6vw;
	}
}

.home-mv {
	height: 94vh;
	background-color: #0d0d0d;
}
.home-mv__content {
	position: relative;
}
.home-mv__bg {
	height: 94vh;
	overflow: hidden;
	position: relative;
}
.home-mv__bg-img {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 100%;
	min-height: 100%;
	object-fit: fill;
}
.home-mv__bg-img source,
.home-mv__bg-img img {
	vertical-align: top;
	position: absolute;
	top: 0;
	left: calc(-700px + 50vw);
	min-width: 100vw;
	min-height: 94vh;
}
.home-mv__front {
	position: absolute;
	top: 45%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
	text-align: center;
}
.home-mv__h1 {
	line-height: 1.2;
	color: #fff;
	font-size: 26rem;
	font-weight: normal;
}
.home-mv__h1-main {
	display: block;
}
.home-mv__h1-small {
	margin-top: 8px;
	display: block;
	font-size: 16rem;
}
.home-mv-labels {
	margin: 24px calc(50vw - 157.5px) 0;
	text-align: left;
	color: #0d0d0d;
	font-size: 0;
}
.home-mv-labels > :nth-child(n+2) {
	margin-top: 12px;
}
.home-mv__label {
	position: relative;
	box-sizing: border-box;
	height: calc(1em + 18px);
	display: inline-block;
	background-color: #fff;
	font-size: 14rem;
	width: 0;
}
.home-mv__text {
	position: absolute;
	top: 8px;
	left: 10px;
	line-height: 1;
	opacity: 0;
}
.bx-wrapper {
	margin: 0 !important;
	-moz-box-shadow: none !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	border: none !important;
	background: none !important;
}
/* bxSlider初期化前: 2枚目以降を非表示にしてレイアウトシフトを防ぐ */
.bxslider__ul > .bxslider__ul-li:not(:first-child) {
	display: none;
}
/* bxSlider初期化後: bx-wrapperが付くので全スライド表示に戻す */
.bx-wrapper .bxslider__ul > .bxslider__ul-li:not(:first-child) {
	display: block;
}
.bxslider__ul-li {
	overflow: hidden;
	aspect-ratio: 15 / 16;
	background-color: #f8f7f4;
}
.bxslider__ul-li-a:hover {
	cursor: pointer;
	opacity: 1;
}
.bxslider .keyvisual__back {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	max-width: unset;
	object-fit: cover;
	object-position: center center;
	transform: translateX(-50%) translateY(-50%) scale(1);
	transition: none;
}
.bxslider .keyvisual__back--transition {
	transition: none;
}
.bxslider .keyvisual__back.active {
	transform: translateX(-50%) translateY(-50%) scale(1)
}

@media screen and (min-width: 1240px) {
	.bxslider .keyvisual__back {
		transform: translateX(-50%) translateY(-50%) scale(1.3);
	}
	.bxslider .keyvisual__back--transition {
		transition: 16s transform;
	}
}
.keyvisual__front__img {
	position: absolute;
    z-index: 0;

    left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 60% 55%;
}
.bxslider .keyvisual__front {
	margin: auto 0;
	width: 100vw;
	aspect-ratio: 25 /8;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%)
}


.bxslider .keyvisual__front-text {
	color: #0d0d0d;
	line-height: 1.7;
	font-size: 24rem;
	font-weight: bold;
	opacity: 0;
	visibility: hidden;
	transform: translateY(24px);
	transition: 1.2s ease;
	text-align: center;
	max-width: 100%;
}
.bxslider .keyvisual__front-text.active {
	opacity: 1;
	visibility: unset;
	transform: none;
}
.bxslider .keyvisual__front-text.active:hover {
	opacity: 0.7;
}
.keyvisual__front-text-under-line {
	text-align: center;
	font-size: 36px;
	font-family: 'NotoSansJP';
	font-weight: 600;
}
.keyvisual {
	position: relative;
	overflow: hidden;
}
/* #previcon {
	left: 0;
	transform: rotate(135deg);
	border-left-color: transparent !important;
	border-top-color: transparent !important;
}
#nexticon {
	right: 0;
	transform: rotate(-45deg);
	border-left-color: transparent !important;
	border-top-color: transparent !important;
}
.bx-prev,
.bx-next {
	display: block;
	width: inherit;
	height: inherit;
} */
#bxslider .bx-pager-link {
	width: 14px;
	height: 14px;
	margin: 0 10px;
	border-radius: 50%;
	display: none;
}
#bxslider .bx-pager {
	position: absolute;
	bottom: 0;
	padding: 20px 0;
	box-sizing: border-box;
}
#bxslider .bx-pager-link {
	background: #fff;
}
#bxslider .bx-pager-link.theme-background-color {
	background: #1da2a6;
}

/* iphone5 */
@media screen and (max-width: 374px) {
	.bxslider .keyvisual__front {
		max-width: 100%;
	}
}

@media screen and (min-width: 768px) {
	/* home mv */
	.home-mv__h1 {
		font-size: 46rem;
	}
	.home-mv__h1-small {
		margin-top: 12px;
		font-size: 22rem;
	}
	.home-mv-labels {
		margin: 32px calc(50vw - 288px) 0;
	}
	.home-mv__label {
		height: calc(1em + 26px);
		font-size: 18rem;
	}
	.home-mv-labels > :nth-child(n+2) {
		margin-top: 16px;
	}
	.home-mv__text {
		top: 12px;
	}
}
@media screen and (min-width: 1024px) {
	/* home-mv */
	.widget_home_main_visual {
		margin: 0 calc((100vw - 100%) / -2);
		position: relative;
		height: 800px;
	}
	.home-mv {
		margin: 0;
		height: 100vh;
	}
	.home-mv,
	.home-mv__bg {
		height: calc(100vh - 160px);
	}
	.home-mv__front {
		top: 50%;
	}
	.home-mv__h1 {
		font-size: 62rem;
	}
	.home-mv__h1-small {
		margin-top: 14px;
		font-size: 24rem;
	}
	.home-mv-labels {
		margin: 32px calc(50vw - 420px) 0;
	}
	.home-mv-labels > :nth-child(n+2) {
		margin-top: 20px;
	}
	.home-mv__label {
		height: calc(1em + 44px);
		font-size: 20rem;
	}
	.home-mv__text {
		top: 22px;
		left: 16px;
		font-weight: bold;
	}
	.bx-viewport {
		overflow-x: visible !important;
		overflow: visible !important;
		margin: 0;
		padding: 0;
		overflow: hidden;
		height: 420px;
	}
	.bx-wrapper img {
		max-width: 100vw;
	}
	.bxslider__ul-li {
		margin: 0;
		display: block;
		height: 800px;
		overflow: hidden;
		position: absolute;
	}
	.keyvisual {
		/* overflow: visible; */
		height: 1024px;
	}
	.keyvisual__back-a:hover {
		opacity: 1;
	}
	.bxslider .keyvisual__back {
		left: 50%;
		transform: translateX(-50%) translateY(-50%) scale(1.3);
	}
	.bxslider .keyvisual__back.active {
		transform: translateX(-50%) translateY(-50%) scale(1)
	}
	.bxslider .keyvisual__front {
		width: 100%;
		height: 160px;
		position: absolute;
		margin: auto;
	}
	.keyvisual__front__img {
		width: auto;
		height: auto;
		margin: 0 auto;
		left: 30%;
		right: 0;
		bottom: 120px;
	}
	.bxslider .keyvisual__front-text {
		line-height: 1;
		font-size: 48rem;
	}
	/* .bxslider .keyvisual__front-text-under-line::after {
		bottom: -4px;
		height: 5px;
	} */
	.keyvisual__control {
		width: 1200px;
		height: 900px;
		position: absolute;
		top: 0;
		margin: auto;
		display: none;
	}
	.keyvisual__control__icon {
		position: absolute;
		top: 50%;
		margin-top: -16px;
		outline: 0;
		text-indent: -9999px;
		z-index: 33;
		border-radius: 4px;
		width: 18px;
		height: 18px;
		border: 2px solid;
		cursor: pointer;
	}
}

@media screen and (min-width: 1024px) and (max-width: 1240px) {
	.keyvisual__front__img {
		left: 0;
	}
}