@charset "utf-8";




.pc {
	display: none;
}
.sp {
	display: block;
}

.font {
	font-family: "ivypresto-headline", serif;
	font-weight: 400;
	font-style: normal;
}
.font_italic {
	font-family: "ivypresto-headline", serif;
	font-weight: 400;
	font-style: italic;
}
body {
	background: #f5f2d3;
}
#lower {
	padding-top: 0%;
}
.sigurd_light {
	font-family: "sigurd", sans-serif;
	font-weight: 300;
	font-style: normal;
}
.Outfit {
	font-family: 'Outfit', sans-serif;
	font-weight: 400;
	font-style: normal;
}
.Quiche_Flare {
	font-family: "quiche-flare", sans-serif;
	font-weight: 100;
	font-style: normal;
}
.Orpheus {
	font-family: "orpheuspro", serif;
	font-weight: 400;
	font-style: normal;
}
/*左から右にフェードイン*/
.left-to-right {
	opacity: 0;
	transform: translateX(-20px);
	transition: all 1s;
	transition-delay: .3s;
}
.left-to-right.inview {
	opacity: 1;
	transform: translate(0);
}
/*右から左にフェードイン*/
.right-to-left {
	opacity: 0;
	transform: translateX(20px);
	transition: all 1s;
	transition-delay: .3s;
}
.right-to-left.inview {
	opacity: 1;
	transform: translate(0);
}
/*下から上にフェードイン*/
.down-to-top {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s;
	transition-delay: .3s;
}
.down-to-top.inview {
	opacity: 1;
	transform: translateY(0);
}
/*フェードイン*/
.fade-in {
	opacity: 0;
	transition: all 1s;
	transition-delay: .3s;
}
.fade-in.inview {
	opacity: 1;
}
/*モノクロ→カラー*/
.gray-color img {
	filter: grayscale(100%);
	transition-delay: 1.3s !important;
}
.gray-color.inview img {
	filter: grayscale(0);
}
.down-to-top_parent .down-to-top_child {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s;
	transition-delay: .3s;
}
.down-to-top_parent.inview .down-to-top_child {
	opacity: 1;
	transform: translate(0);
}
.down-to-top_parent .down-to-top_child:nth-child(2) {
	transition-delay: .5s;
}
.down-to-top_parent .down-to-top_child:nth-child(3) {
	transition-delay: .7s;
}
.down-to-top_parent .down-to-top_child:nth-child(4) {
	transition-delay: .9s;
}
.down-to-top_parent .down-to-top_child:nth-child(5) {
	transition-delay: 1.1s;
}
.down-to-top_parent .down-to-top_child:nth-child(6) {
	transition-delay: 1.4s;
}
.fade-in_parent .fade-in_child {
	opacity: 0;
	transition: all 1s;
	transition-delay: .3s;
}
.fade-in_parent.inview .fade-in_child {
	opacity: 1;
}
.fade-in_parent .fade-in_child:nth-child(2) {
	transition-delay: .5s;
}
.fade-in_parent .fade-in_child:nth-child(3) {
	transition-delay: .7s;
}
.fade-in_parent .fade-in_child:nth-child(4) {
	transition-delay: .9s;
}
.fade-in_parent .fade-in_child:nth-child(5) {
	transition-delay: 1.1s;
}
.fade-in_parent .fade-in_child:nth-child(6) {
	transition-delay: 1.4s;
}
/*アニメーションdelay*/
.animation_delay2 {
	transition-delay: .5s;
}
.animation_delay4 {
	transition-delay: .8s;
}
.animation_delay6 {
	transition-delay: 1.1s;
}
.jojo {
  display: inline-block;
  position: relative;
  clip-path: inset(0 100% 0 0); /* 最初は非表示 */
  transition: clip-path 1.2s ease-out;
  transition-delay: .5s;
  padding-right: 2px;
  line-height: 1.5em;
}
.inview .jojo {
  clip-path: inset(0 0% 0 0);
}
@keyframes revealLeftToRight {
  to {
    clip-path: inset(0 0% 0 0); /* 右方向に表示される */
  }
}
#wrap_contents {
	width: 100%;
	margin: 0px auto 0px;
	line-height: 1.5em;
	letter-spacing: 1px;
	font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background: #f5f2d3;
}
#wrap_contents img {
	vertical-align: bottom;
	width: 100%;
}
#wrap_contents a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
#wrap_contents video {
	width: 100%;
}
.fv_wrap {
	width: 100%;
	margin: 0 auto 10vw;
	position: relative;
}
.fv_video video {
	/* position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; */
}
.fv_text {
	position: absolute;
	bottom: 15vw;
	left: 18%;
	width: 63%;
	z-index: 1;
}
.title_wrap {
	margin: 20vw auto 20vw;
}
.title_image {
	width: 80%;
	margin: 0 auto 8vw;
}
.title_text {
	text-align: center;
	font-size: 2.5vw;
	width: 90%;
	margin: 0 auto;
	line-height: 1.8em;
	color: #95492e;
}
.unit_first {
	width: 100%;
	margin: 0 auto 60px;
}
.unit_main_img {
	width: 100%;
	margin: 0 auto 8px;
}
.unit_main_title {
	width: 96%;
	color: #94cdd7;
	font-size: 5vw;
	margin: 0 auto 10px;
	text-align: right;
}
.link_box {
	width: 94%;
	margin: 0 auto 0;
}
.link_box a {
	color: #94cdd7;
	font-size: 3.2vw;
	display: inline-block;
}

.slick-slider {
	overflow-x: hidden;
}
.slider_center .slick-list {
	padding: 25% 0!important;
	width: 112%;
	margin-left: -6%;
}
.slider_center .slick-slide > div {
	padding: 0 10px; /* 必要なら余白 */
	box-sizing: border-box;
}
.slider_center .slide_item {
	transition: transform 1s ease;
	transform: scale(.7);
	transform-origin: center center;
	will-change: transform;
	backface-visibility: hidden;
	position: relative;
	z-index: 2;
}
.slider_center .slick-center.slide_item {
	transform: scale(2);
	position: relative;
	z-index: 1;
}
.slider_center img {
	display: block;
	width: 100%;
	height: auto;
}

.unit_loop_slider_title {
	font-size: 4.5vw;
	color: #94cdd7;
	margin-bottom: 20px;
	text-align: center;
}
.loop_slider {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 50px;
  overflow: hidden;
  position: relative;
}
.loop_slider_track {
  display: flex;
  width: max-content;
  animation: loopSlider 20s linear infinite;
}
.loop_slider_list {
  display: flex;
  flex-shrink: 0;
}
.loop_slider_item {
  width: calc((100vw - 5px) / 2.2);
  flex-shrink: 0;
  padding-right: 5px;
  box-sizing: border-box;
}
.loop_slider_item img {
  width: 100%;
  height: auto;
  display: block;
}
/* 無限ループ */
@keyframes loopSlider {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.unit_box {
	margin: 0 auto 140px;
}

.unit1_box1 {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 80px;
}
.unit1_box1_1 {
	width: 49.5%
}
.unit1_box1_2 {
	width: 49.5%
}
.unit1_box2 {
	width: 100%;
	margin: 0 auto 80px;
}
.unit1_box3 {
	width: 90%;
	margin: 0 auto 80px;
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 10px;
}
.unit1_box3_1 {
  	grid-row: span 2;
}
.unit1_box3_2 {
  	display: block;
}
.unit1_box3 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.unit1_box4 {
	width: 100%;
	margin: 0 auto 80px;
}
.unit1_box5 {
	width: 100%;
	margin: 0 auto 100px;
}
.unit1_box6 {
	width: 100%;
	margin: 0 auto 0px;
}

.unit2_box1 {
	width: 100%;
	margin: 0 auto 80px;
}
.unit2_box2 {
	width: 90%;
	margin: 0 auto 80px;
}
.unit2_box3 {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 80px;
}
.unit2_box3_1 {
	width: 49.5%
}
.unit2_box3_2 {
	width: 49.5%
}
.unit2_box4 {
	width: 100%;
	margin: 0 auto 100px;
}
.unit2_box5 {
	width: 100%;
	margin: 0 auto 0px;
}

.unit3_box1 {
	width: 100%;
	margin: 0 auto 80px;
}
.unit3_box2 {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 100px;
}
.unit3_box2_1 {
	width: calc( 100% / 3 - .5% );
}
.unit3_box2_2 {
	width: calc( 100% / 3 - .5% );
}
.unit3_box2_3 {
	width: calc( 100% / 3 - .5% );
}
.unit3_box3 {
	width: 100%;
	margin: 0 auto 0px;
}

.unit4_box1 {
	width: 100%;
	margin: 0 auto 80px;
}
.unit4_box2 {
	width: 100%;
	margin: 0 auto 80px;
}
.unit4_box3 {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 100px;
}
.unit4_box3_1 {
	width: 49.5%
}
.unit4_box3_2 {
	width: 49.5%
}
.unit4_box4 {
	width: 100%;
	margin: 0 auto 0px;
}

.unit_bottom {
	width: 100%;
	margin: -60px auto;
}
.unit_bottom_comment {
	font-size: 3.5vw;
	color: #94cdd7;
	text-align: center;
	margin-bottom: 80px;
	line-height: 2;
}
.unit_bottom_image {
	width: 100%;
	margin: 0 auto 20px;
}
.unit_bottom_link {
	width: 100%;
	margin: 0 auto 180px;
	text-align: center;
}
.unit_bottom_link a {
	font-size: 3.5vw;
	display: inline-block;
	color: #94cdd7;
	text-align: center;
}




/***************　▼スマホ大 〜▼　*****************/
@media screen and (min-width: 480px) {
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
	.container {
		position: relative;
		width: 100%;
		background: #f5f2d3;
	}
	#wrap_contents {
		padding: 0;
		margin: 0 auto 0px;
		font-weight: 500;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: 100%;
		max-width: 1500px;
		background: #f5f2d3;
	}
	.left_content {
		width: 50%;
		position: sticky;
		top: 90px;
	}
	
	.unit_main_img {
	width: 100%;
	margin: 0 auto 12px;
}
	.fv_wrap {
		width: 100%;
	}
	.fv_video {
		position: relative;
		height: calc(100vh - 90px);
		overflow: hidden;
	}
	#wrap_contents video {
		width: auto;
		maegin-right:5%;
		
	}
	.fv_video video {
		/* position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover; */
		height: 100vh;
		display: block;
		margin: 0 auto;
	}
	.right_content {
		width: 45%;
		max-width: 600px;
		margin: 0;
	}
	.fv_wrap {
		margin: 0 auto;
	}
	.title_wrap {
		margin: 180px auto 180px;
	}
	.title_image {
		margin: 0 auto 50px;
	}
	.title_text {
		font-size: 15px;
	}
	.unit_main_title {
		font-size: clamp(14px, 1.5vw, 32px);
	}
	.link_box a {
		font-size: 16px;
	}
	.link_box {
		width: 96%;
		margin: 0 auto 80px;
	}
	.unit_first {
		margin: 0 auto 80px;
	}
	.unit_loop_slider_title {
		font-size: 20px;
	}
	.loop_slider_item {
        width: calc((600px - 80px) / 2.2);
        padding-right: 5px;
    }
	.unit_bottom_comment {
		font-size: 16px;
		margin-bottom: 115px;
		margin-top: 180px;
	}
	.unit_bottom_link a {
		font-size: 18px;
	}
	.unit_bottom_link {
	width: 100%;
	margin: 0 auto 250px;
	text-align: center;
}
}