@charset "utf-8";

h2{
	font-size:3.4rem;
	font-weight:500;
	letter-spacing:3.4px;
	line-height:4.3rem;
}

.mv_area{position:relative;}
.mv_area::before, .mv_area::after{
	content:'';
	position:absolute;
	z-index:1;
	left:0;
	width:100%;
}
.mv_area::before{
	top:0;
	height:200px;
	background:linear-gradient(180deg, #141414 0%, rgba(20,20,20,0) 100%);
}
.mv_area::after{
	bottom:0;
	height:250px;
	background:linear-gradient(0, #141414 0%, rgba(20,20,20,0) 100%);
}
.mv_copy{
	position:absolute;
	z-index:5;
	bottom:7.5%;
	left:30px;
	color:#fff;
	font-size:4.4rem;
	font-weight:500;
	letter-spacing:2.2px;
	line-height:6.6rem;
}
.mv_copy_txt_in{
	display:block;
	margin-bottom:5px;
	font-family:var(--font_cormorant);
	font-size:3.2rem;
	letter-spacing:1.6px;
	line-height:3.9rem;
}
.mv_sub_copy{
	color:#fff;
	letter-spacing:0.85px;
	line-height:3.1rem;
}
#mv_movie{
	display:block;
	aspect-ratio:16 / 9;
	width:100%;
	height:100svh;
	object-fit:cover;
}
.mv_slide{margin:0 !important;}
.mv_img{
	height:100svh;
	object-fit:cover;
}
.mv_scroll{
	position:absolute;
	z-index:5;
	right:30px;
	bottom:0;
	padding-bottom:70px;
	overflow:hidden;
	color:#fff !important;
	font-family:var(--font_cormorant);
	font-size:1.1rem;
	font-weight:500;
	letter-spacing:0.55px;
	line-height:1.3rem;
	text-decoration:none !important;
	writing-mode:vertical-rl;
}
.mv_scroll::before{
	content:'';
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	width:1px;
	height:60px;
	margin:auto;
	background:#fff;
	opacity:0.25;
}
.mv_scroll::after{
	content:'';
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	width:1px;
	height:10px;
	margin:auto;
	background:#fff;
	animation:mv_scroll 2s infinite ease-in-out;
}
@keyframes mv_scroll{
	0%{
		transform:translateY(-50px);
	}
	100%{
		transform:translateY(20px);
	}
}

.intro_area{background:linear-gradient(180deg, #F9EFE3 0%, rgba(249,239,227,0) 100%);}
.intro_box{
	max-width:1160px;
	padding:95px 30px 150px;
	margin:auto;
}
.point_head{
	margin-bottom:30px;
	text-align:center;
}
.point_list{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:20px;
	margin-bottom:145px;
}
.blog_top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:30px;
}
.blog_head{margin-bottom:5px;}
.blog_box{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:40px;
}
.blog_item{font-weight:500;}
.blog_link{
	display:flex;
	align-items:flex-start;
	position:relative;
	padding:30px 0;
	border-bottom:1px solid rgba(51,51,51,0.1);
	color:#212121 !important;
	text-decoration:none !important;
}
.blog_item:first-child .blog_link{padding-top:0;}
.blog_link::after{
	content:'';
	position:absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:1px;
	background:#333;
	opacity:0;
	transform:scaleX(0.5);
	transform-origin:right;
	transition:transform 0.3s, opacity 0.3s;
}
.blog_link:hover::after{
	opacity:1;
	transform:scaleX(1);
	transform-origin:left;
}
.blog_thumb{
	flex-shrink:0;
	position:relative;
	width:150px;
	padding-bottom:calc(150px * 0.64705);
	margin-right:20px;
	background:#F7F3F0;
	overflow:hidden;
}
.blog_img{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	max-height:100%;
	margin:auto;
	transition:transform 0.3s;
}
a:hover .blog_img{transform:scale(1.05);}
.blog_txt{width:100%;}
.blog_info{
	display:flex;
	align-items:center;
	margin-bottom:5px;
	font-size:1.3rem;
	letter-spacing:0.65px;
	line-height:1.9rem;
}
.blog_date{
	position:relative;
	margin-right:30px;
}
.blog_date::after{
	content:'';
	position:absolute;
	top:0;
	right:-15px;
	bottom:0;
	width:1px;
	height:10px;
	margin:auto;
	background:#333;
	opacity:0.2;
}
.blog_title{
	letter-spacing:0.85px;
	line-height:2.5rem;
}
.blog_box_in .blog_link{
	display:block;
	padding-top:0;
}
.blog_box_in .blog_thumb{
	width:auto;
	padding-bottom:64.705%;
	margin:0 0 15px;
}
.blog_box_in .blog_info{margin-bottom:10px;}

.about_area{
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
	z-index:5;
	min-height:750px;
	height:100svh;
	padding:0 30px 30px;
	margin-bottom:120px;
	clip-path:inset(0);
}
.about_area::before{
	content:'';
	position:fixed;
	z-index:-1;
	top:0;
	left:0;
	width:100%;
	height:100lvh;
	background:url(/img/index/bg_about.jpg) no-repeat center/cover;
}
.about_head{
	margin-bottom:50px;
	color:#fff;
	text-align:center;
}
.about_head::after{
	content:attr(data-en);
	display:block;
	margin-top:15px;
	font-family:var(--font_cormorant);
	font-size:2.4rem;
	letter-spacing:1.2px;
	line-height:2.9rem;
	text-transform:uppercase;
}
.about_txt{
	margin-bottom:30px;
	color:#fff;
	letter-spacing:0.85px;
	line-height:3rem;
	text-align:center;
}
.click_here{
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
	width:212px;
	height:212px;
	margin:auto;
}
.click_here::after{
	content:'';
	position:absolute;
	z-index:-1;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:50%;
	height:50%;
	margin:auto;
	background:#fff;
	border-radius:50%;
	opacity:0;
	transition:transform 1s;
}
.click_here.is_animation::after{
	z-index:1;
	opacity:1;
	transform:scale(25);
}
.about_btn{
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
	width:166px;
	height:166px;
	margin:auto;
	background:#F7E0A6;
	border-radius:50%;
	box-shadow:0 0 30px #F7E0A6;
	color:#212121 !important;
	font-family:var(--font_zen);
	font-size:1.8rem;
	font-weight:500;
	letter-spacing:0.9px;
	line-height:3.1rem;
	text-align:center;
	text-decoration:none !important;
	transition:background 0.3s, box-shadow 0.3s;
}
.about_btn:hover{
	background:#fff;
	box-shadow:0 0 30px #fff;
}
.about_btn.is_animation{background:#fff;}
.about_btn::before, .about_btn::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	margin:auto;
	border:1px solid #F7E0A6;
	border-radius:50%;
	pointer-events:none;
	animation:pulsate 2s linear infinite;
	transition:border 0.3s;
}
.about_btn::after{animation-delay:1s;}
.about_btn:hover::before, .about_btn:hover::after{border-color:#fff;}
@keyframes pulsate{
	0%{
		transform:scale(1);
		opacity:1;
	}
	100%{
		transform:scale(1.5);
		opacity:0;
	}
}

.location_area{
	display:flex;
	flex-direction:row-reverse;
	align-items:flex-start;
	max-width:1500px;
	padding:0 30px;
	margin:0 auto 115px;
}
.location_box{
	position:relative;
	z-index:1;
	width:64%;
	padding:5.5% 4% 4% 9.5%;
	margin:30px 0 0 -5.5%;
	background:#264235;
}
.location_box::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:7.5%;
	right:4.5%;
	width:418px;
	height:152px;
	background:url(/img/index/bg_location.svg) no-repeat center/cover;
}
.location_head{
	margin-bottom:20px;
	color:#fff;
}
.location_txt{
	margin-bottom:45px;
	color:#fff;
	font-size:2rem;
	font-weight:500;
	letter-spacing:1px;
	line-height:3rem;
}
.location_gallery{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	grid-auto-rows:1fr 1fr;
	margin-bottom:25px;
}
.location_gallery_item{position:relative;}
.location_gallery_item:first-child{grid-column:1 / 3;}
.location_gallery_item:nth-child(2){
	grid-column:3 / 4;
	grid-row:1 / 3;
}
.location_gallery_img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.location_gallery_txt{
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	padding:40px 8px 10px;
	background:linear-gradient(0, #141414 0%, rgba(20,20,20,0) 100%);
	color:#fff;
	font-size:1.1rem;
	letter-spacing:0.55px;
	line-height:1.6rem;
}
.location_gallery_txt br{display:none;}
.location_btn{text-align:right;}
.location_btn .link_txt{
	background-image:url(/img/common/arrow_r_white.svg);
	border-bottom-color:rgba(255,255,255,0.5);
	color:#fff !important;
}
.location_btn .link_txt::after{background:#fff;}
.location_pic{
	position:relative;
	z-index:1;
	width:43%;
}

.gallery_area{
	max-width:1500px;
	margin:0 auto 120px;
}
.gallery_head{
	margin-bottom:40px;
	letter-spacing:1.7px;
	text-align:center;
}
.gallery_list{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:2px;
	margin-bottom:40px;
}
.gallery_pic{
	position:relative;
	padding-bottom:80%;
	overflow:hidden;
}
.gallery_img{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
.gallery_btn{text-align:center;}
.gallery_btn .link_txt{min-width:210px;}

.service_area{
	padding:0 30px;
	margin-bottom:135px;
}
.service_top{
	display:flex;
	max-width:1500px;
	margin:0 auto 120px;
}
.service_box{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	width:52%;
	padding:30px 19% 30px 30px;
	margin:30px -5.5% 0 0;
	background:#948B5F;
}
.service_head{
	margin-bottom:20px;
	color:#fff;
	letter-spacing:1.7px;
}
.service_top_txt{
	margin-bottom:30px;
	color:#fff;
	font-size:2rem;
	font-weight:500;
	letter-spacing:1px;
	line-height:3rem;
}
.service_btn .link_txt{
	background-image:url(/img/common/arrow_r_white.svg);
	border-bottom-color:rgba(255,255,255,0.5);
	color:#fff !important;
}
.service_btn .link_txt::after{background:#fff;}
.service_pic{
	width:55%;
	margin-bottom:30px;
}
.service_list1{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:40px;
	max-width:1160px;
	padding:0 30px;
	margin:0 auto 20px;
}
.service_link{
	display:block;
	position:relative;
	padding-bottom:20px;
	border-bottom:1px solid rgba(148,141,137,0.5);
	color:#212121 !important;
	text-decoration:none !important;
}
.service_link::after{
	content:'';
	position:absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:1px;
	background:#333;
	opacity:0;
	transform:scaleX(0.5);
	transform-origin:right;
	transition:transform 0.3s, opacity 0.3s;
}
.service_link:hover::after{
	opacity:1;
	transform:scaleX(1);
	transform-origin:left;
}
.service_thumb{
	margin-bottom:15px;
	overflow:hidden;
}
.service_img{transition:transform 0.3s;}
a:hover .service_img{transform:scale(1.05);}
.service_txt{
	padding:0 20px 0 10px;
	background:url(/img/common/arrow_r_black.svg) no-repeat right 5px bottom 10px;
	font-size:2.6rem;
	font-weight:500;
	letter-spacing:1.3px;
	line-height:4.3rem;
}
.service_txt::after{
	content:attr(data-en);
	display:block;
	margin-top:5px;
	font-family:var(--font_cormorant);
	font-size:1.8rem;
	letter-spacing:0.9px;
	line-height:2.2rem;
	text-transform:uppercase;
}
.service_list2{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:40px;
	max-width:1160px;
	padding:0 30px;
	margin:auto;
}
.service_list2 .service_link{
	display:flex;
	align-items:center;
	padding:20px 0;
}
.service_list2 .service_thumb{
	flex-shrink:0;
	width:120px;
	margin:0 15px 0 0;
}
.service_list2 .service_txt{
	width:100%;
	padding-left:0;
}

.news_area{
	display:flex;
	max-width:1160px;
	padding:0 30px;
	margin:0 auto 100px;
}
.news_top{
	flex-shrink:0;
	width:240px;
}
.news_head{margin:15px 0 60px;}
.news_list, .news_none{
	width:100%;
	margin:0;
	border:none;
}

.recruit_area{
	max-width:1160px;
	padding:0 30px;
	margin:0 auto 95px;
}
.recruit_link{
	display:flex;
	flex-direction:row-reverse;
	align-items:center;
	background:#FBEFCE;
	color:#212121 !important;
	text-decoration:none !important;
	transition:background 0.3s;
}
.recruit_link:hover{background:#F7E0A6;}
.recruit_link_in{
	width:100%;
	padding:0 10% 0 50px;
	background:url(/img/common/arrow_r_black.svg) no-repeat center right 40px;
}
.recruit_head{
	margin-bottom:8px;
	font-size:2.6rem;
	letter-spacing:2.6px;
	line-height:3.7rem;
}
.recruit_txt{
	font-size:1.5rem;
	font-weight:500;
	letter-spacing:0.75px;
	line-height:2.5rem;
}
.recruit_pic{
	flex-shrink:0;
	width:470px;
	overflow:hidden;
}
.recruit_img{transition:transform 0.3s;}
a:hover .recruit_img{transform:scale(1.05);}

.group_area{
	max-width:1160px;
	padding:0 30px;
	margin:0 auto 120px;
}
.group_head{
	margin-bottom:10px;
	text-align:center;
}
.group_txt{
	margin-bottom:35px;
	font-size:1.5rem;
	font-weight:500;
	letter-spacing:0.75px;
	line-height:2.1rem;
	text-align:center;
}
.group_list{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:25px;
}
.group_item{width:calc((100% - 75px) / 4);}
.group_link{
	display:block;
	position:relative;
	padding:0 !important;
	background:none !important;
}
.group_link::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border:1px solid #E0E0E0;
	transition:border 0.3s;
}
.group_link:hover::after{border-color:#000;}


@media screen and (max-width:1160px){

.service_box{
	justify-content:center;
	padding-right:calc(5.5% + 20px);
}

}


@media screen and (max-width:1024px){

h2{
	font-size:2.8rem;
	letter-spacing:2.8px;
	line-height:4rem;
}
.mv_copy{
	bottom:20px;
	font-size:4rem;
	letter-spacing:2px;
}

.about_area, .service_area, .news_area, .recruit_area, .group_area{padding:0 20px;}
.intro_box{padding:60px 20px 100px;}
.point_head{margin-bottom:55px;}
.point_list{margin-bottom:85px;}
.blog_box{gap:20px;}
.blog_head{margin-bottom:10px;}
.blog_link{padding:20px 0;}
.blog_info{
	margin-bottom:10px;
	font-size:1.1rem;
	letter-spacing:0.55px;
	line-height:1.6rem;
}
.blog_date{margin-right:20px;}
.blog_date::after{
	top:1px;
	right:-10px;
}
.blog_title{
	font-size:1.3rem;
	letter-spacing:0.65px;
	line-height:1.9rem;
}
.blog_box_in .blog_title{
	font-size:1.5rem;
	letter-spacing:0.75px;
	line-height:2.1rem;
}

.about_area{
	min-height:700px;
	margin-bottom:95px;
}
.about_head{margin-bottom:35px;}
.about_head::after{
	margin-top:10px;
	font-size:1.9rem;
	letter-spacing:0.95px;
	line-height:2.3rem;
}
.about_txt{
	margin-bottom:25px;
	font-size:1.5rem;
	letter-spacing:0.75px;
}

.location_area{
	padding:0;
	margin-bottom:95px;
	background:#264235;
}
.location_box{
	width:49%;
	padding:45px 30px 30px;
	margin:0;
	background:none;
}
.location_box::before{display:none;}
.location_head{margin-bottom:10px;}
.location_txt{
	margin-bottom:25px;
	font-size:1.6rem;
	letter-spacing:0.8px;
	line-height:2.4rem;
}
.location_gallery{
	grid-template-columns:1fr 1fr;
	grid-auto-rows:auto;
	margin-bottom:15px;
}
.location_gallery_item{
	grid-column:auto !important;
	grid-row:auto !important;
}
.location_gallery_img{min-height:110px;}
.location_gallery_txt{
	padding:20px 8px 5px;
	font-size:1rem;
	letter-spacing:0.5px;
	line-height:1.4rem;
}
.location_gallery_txt br{display:block;}
.location_pic{
	width:51%;
	margin-top:-30px;
}

.gallery_area{margin-bottom:90px;}
.gallery_head, .gallery_list{margin-bottom:35px;}
.gallery_btn .link_txt{min-width:200px;}

.service_area{margin-bottom:110px;}
.service_top{margin-bottom:90px;}
.service_box{
	width:56%;
	padding:35px 15% 30px 20px;
}
.service_top_txt{
	font-size:1.6rem;
	letter-spacing:0.8px;
	line-height:2.4rem;
}
.service_head{margin-bottom:12px;}
.service_pic{width:50%;}
.service_list1, .service_list2{
	gap:20px;
	padding:0;
}
.service_txt{
	padding-left:0;
	background-position:center right 5px;
	font-size:2rem;
	letter-spacing:1px;
	line-height:2.9rem;
}
.service_txt::after{
	font-size:1.6rem;
	letter-spacing:0.8px;
	line-height:2rem;
}

.news_area{
	display:block;
	margin-bottom:60px;
}
.news_top{width:auto;}
.news_head{margin:0 0 5px;}
.news_btn{
	margin-bottom:5px;
	text-align:right;
}

.recruit_link_in{
	padding:0 6% 0 30px;
	background-position:center right 20px;
}
.recruit_head{
	font-size:2.2rem;
	letter-spacing:2.2px;
	line-height:3.2rem;
}
.recruit_txt{
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:2.4rem;
}
.recruit_pic{width:360px;}
.group_list{gap:20px;}
.group_item{width:calc((100% - 60px) / 4);}

}


@media screen and (max-width:850px){

.group_item{width:calc((100% - 60px) / 3);}

}


@media screen and (max-width:767px){

h2{
	font-size:2.6rem;
	letter-spacing:2.6px;
	line-height:3.7rem;
}
.mv_copy{
	left:20px;
	font-size:2.7rem;
	letter-spacing:1.35px;
	line-height:4.2rem;
}
.mv_copy_txt_in{
	margin-bottom:2px;
	font-size:2.7rem;
	letter-spacing:1.35px;
	line-height:3.3rem;
}
.mv_sub_copy{
	font-size:1.5rem;
	letter-spacing:0;
	line-height:2.7rem;
}
.mv_scroll{right:20px;}

.intro_box{padding-bottom:60px;}
.point_head{margin-bottom:20px;}
.point_list{
	gap:20px 15px;
	margin-bottom:80px;
}
.blog_top{
	display:block;
	margin-bottom:20px;
}
.blog_btn{text-align:right;}
.blog_box{gap:15px;}
.blog_link{padding:15px 0;}
.blog_thumb{
	width:120px;
	padding-bottom:calc(120px * 0.64705);
	margin-right:15px;
}

.about_area{margin-bottom:90px;}
.location_area{flex-direction:column-reverse;}
.location_box{
	width:100%;
	padding:370px 30px 30px;
	margin:-340px 0 0;
}
.location_txt{margin-bottom:30px;}
.location_pic{
	width:100%;
	height:370px;
	padding-right:30px;
}
.location_img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center bottom;
}
.gallery_list{
	grid-template-columns:1fr 1fr;
	margin-bottom:30px;
}
.gallery_item:nth-child(n+5){display:none;}
.gallery_btn .link_txt{min-width:190px;}

.service_area{margin-bottom:100px;}
.service_top{
	flex-direction:column-reverse;
	margin:0 -20px 60px;
	background:#948B5F;
}
.service_box{
	display:block;
	width:100%;
	padding:30px;
	margin:0;
	background:none;
}
.service_pic{
	width:100%;
	padding-left:30px;
	margin:-30px 0 0;
}
.service_list1, .service_list2{
	display:block;
	padding:0;
}
.service_list1{margin-bottom:-20px;}
.service_list1 .service_item{margin-bottom:30px;}
.service_list2 .service_item{margin-bottom:5px;}
.service_list1 .service_thumb{
	position:relative;
	padding-bottom:54%;
}
.service_list1 .service_img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.news_area{margin-bottom:60px;}
.recruit_link{flex-direction:column-reverse;}
.recruit_link_in{
	padding:25px 50px 25px 20px;
	background-position:center right 20px;
}
.recruit_txt{
	font-size:1.3rem;
	letter-spacing:0.65px;
	line-height:2.3rem;
}
.recruit_pic{width:auto;}
.group_txt{
	margin-bottom:25px;
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:2rem;
}
.group_list{
	gap:15px;
	max-width:520px;
	margin:auto;
}
.group_item{width:calc((100% - 15px) / 2);}

}


@media screen and (max-width:700px){

.point_list{
	grid-template-columns:1fr 1fr;
	max-width:535px;
	margin-right:auto;
	margin-left:auto;
}
.blog_box{display:block;}
.blog_list{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:15px;
}
.blog_item:nth-child(3){display:none;}
.blog_link{
	display:block;
	height:100%;
	padding:0 0 20px;
}
.blog_thumb{
	width:auto;
	padding-bottom:64.705%;
	margin:0 0 15px;
}
.blog_box_in{margin-bottom:30px;}

}


@media screen and (max-width:450px){

.location_gallery{
	grid-template-columns:1fr 1fr;
	grid-auto-rows:auto;
}
.location_gallery_item{
	grid-column:auto !important;
	grid-row:auto !important;
}
.group_list{max-width:255px;}
.group_item{width:100%;}

}