@charset "utf-8";
body {
	opacity: 1;
	visibility: visible;
	transition: unset;
}
body #container {
	position: relative;
	z-index: 2;
}
#btn-hambeger,
header {
	transition: all 0.5s ease;
	opacity: 0;
	visibility: hidden;
}
/*.mv_finish */#btn-hambeger,
/*.mv_finish */header {
	opacity: 1;
	visibility: visible;
}
.mv_ttl {
	color: #fff;
	text-align: center;
}
.mv_ttl .ttl {
	font-size: 3rem;
	line-height: 1.2;
	letter-spacing: 0.015em;
	margin-bottom: 15px;
}
.mv_ttl .ttl .large {
	font-size: 133%;
}
.mv_ttl .txt {
	font-size: 1.6rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
	.mv_ttl .ttl { 
		font-size: 6.2vw;
		margin-bottom: 10px;
		text-shadow: rgba(0, 0, 0, .3) 0px 0px 4px, rgba(0, 0, 0, .3) 0px 0px 12px, rgba(0, 0, 0, .3) 0px 0px 4px, rgba(0, 0, 0, .3) 0px 0px 12px, rgba(0, 0, 0, .3) 0px 0px 4px, rgba(0, 0, 0, .3) 0px 0px 12px;
		letter-spacing: -0.02em;
	}
	.mv_ttl .txt { 
		font-size: 4vw;
		text-shadow: rgba(0, 0, 0, .3) 0px 0px 4px, rgba(0, 0, 0, .3) 0px 0px 12px, rgba(0, 0, 0, .3) 0px 0px 4px, rgba(0, 0, 0, .3) 0px 0px 12px, rgba(0, 0, 0, .3) 0px 0px 4px, rgba(0, 0, 0, .3) 0px 0px 12px;
	}
}


.leaf_right,
.leaf_left {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	height: 100%;
	top: 0;
	transition: all 0.5s ease;	
}
.leaf_left {
	background: url(../imgs/firstview_bg01.png) no-repeat bottom left/ contain;
	width: 26%;
    left: 0;
}
.leaf_right {
	background: url(../imgs/firstview_bg02.png) no-repeat top right/ contain;
	width: 33.5%;
	right: 0;
}

/* loading */
.page_loading {
	background: #a7b0a8;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 100%;
	transition: all 1s ease;
}
.is_loaded .page_loading {
	opacity: 0;
	visibility: hidden;
}
.page_loading .txt {
	font-size: clamp(1.2rem,1.0714285vw,1.8rem);
	line-height: 1;
	letter-spacing: 0.05em;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	color: #3f4845;
	overflow: hidden;
	transition: opacity 0.25s linear;
	white-space: nowrap;
}
.is_loaded .page_loading .txt {
	opacity: 0;
}
.page_loading .txt:before {
	background: #A7B0A8;
background: linear-gradient(90deg, rgba(167, 176, 168, 0) 22%, rgba(167, 176, 168, 1) 33%, rgba(167, 176, 168, 1) 67%, rgba(167, 176, 168, 0) 78%);
	content: "";
	width: 300%;
	left: -100%;
	top: 0;
	bottom: 0;
	position: absolute;
	animation: shineBefore 4s infinite linear;
}
.page_loading .txt:after {
	background: #A7B0A8;
background: linear-gradient(90deg, rgba(167, 176, 168, 0) 22%, rgba(167, 176, 168, 1) 33%, rgba(167, 176, 168, 1) 67%, rgba(167, 176, 168, 0) 78%);
	content: "";
	width: 300%;
	left: -400%;
	top: 0;
	bottom: 0;
	position: absolute;
	animation: shineAfter 4s infinite linear;
}
@keyframes shineBefore {
  0% { left: -100%; }
  100% { left: 200%; }
}
@keyframes shineAfter {
  0% { left: -400%; }
  100% { left: -100%; }
}

.firstview {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}
.is_loaded .firstview .leaf_right,
.is_loaded .firstview .leaf_left {
	opacity: 0;
	visibility: hidden;
	transition-delay: 2.5s;
}
.firstview .mv_ttl {
	position: absolute;
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
.firstview .img {
	background: url(../imgs/img_mask.png) no-repeat center center / cover;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: transform 1.5s ease 2s, opacity 0.5s ease, visibility 0.5s ease;
}
.is_loaded .firstview .img { transform: scale(4); }
.firstview .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-top-left-radius: 45%;
	border-top-right-radius: 45%;
}
.firstview .scroll_arrow {
	color: #3f4845;
	font-size: 12px;
	letter-spacing: 0.015em;
	position: absolute;
	z-index: 1;
	left: 50%;
	right: 0;
	bottom: 15px;
	text-align: center;
	transform: translate(-50%,0);
	transition: all 1s ease;
}
.is_loaded .firstview .scroll_arrow {
	opacity: 0;
	visibility: hidden;
	transition-delay: 2.5s;
}
.firstview .scroll_arrow::after {
	content: "";
	background: url(../imgs/scroll_arrow.svg) no-repeat bottom right/contain;
	display: block;
	width: 14px;
	height: 76px;
	margin: auto;
	animation: bounce 1.5s infinite;
	position: relative;
  	right: -7px;
}
@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(15px);
    }
}
@media screen and (max-width: 1024px) {
	.firstview .mv_ttl {
		top: 50%;
	}
}
@media screen and (max-width: 767px) {
	.firstview .img {
		background: url(../imgs/img_mask_sp.png) no-repeat center center / cover;
	}
	.leaf_right {
		width: 50%;
	}
	.leaf_left {
		width: 40%;
	}
	.firstview .scroll_arrow::after {
		width: 8px;
		height: 38px;
		right: -4px;
	}
}
/*==================================================================
	Mainvisual
===================================================================*/
.mainvisual {
	background: #a7b0a8;
	position: relative;
	height: 100vh;
}
.mainvisual .main_wrap {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}
.loaded .mainvisual .main_wrap { opacity: 1; visibility: visible; }
.step_04 .mainvisual .main_wrap { opacity: 0; visibility: hidden; }
.mainvisual .main_slider .item {
	position: relative;
	z-index: 0;
}
.mainvisual .mv_ttl {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	z-index: 1;
	margin: auto;
	opacity: 0;
	filter: blur(5px);
	transition: all 1s linear;
	transition-delay: 0.5s;
	text-align: center;
	color: #fff;
}
.mainvisual .mv_ttl04 {
	top: 150px;
	top: 130px;
	top: 110px;
	/*bottom: 14%;*/
	/*top: calc(100% - 250px);*/
	transform: translateY(0);
	right: 70px;
	right: 100px;
	right: 90px;
	left: auto;
	width: 35vw;
	max-width: 570px;
}
@media screen and (min-width: 1001px) and (max-width: 1900px) and (max-height: 860px) {
	.mainvisual .mv_ttl04 img{height: 24vh; margin-left: auto;}
}
.mainvisual .is_index .mv_ttl {
	opacity: 1;
	filter: blur(0);
}
.mainvisual .mv_ttl .ttl_md {
	font-size: 3.8rem;
	letter-spacing: 0.13em;
	line-height: 1.6;
	text-align: right;
}
.mainvisual .mv_ttl .ttl_md .sm {
	font-size: 114%;	
}
.mainvisual .mv_ttl .ttl_md .xs {
	font-size: 106%;
}
.mainvisual .mv_ttl .ttl_md .md {
	font-size: 124%;
	line-height: 1;
	letter-spacing: 0.07em;
}
.mainvisual .mv_ttl .ttl_md .xl {
	font-size: 316%;
	line-height: 1;
	margin-right: 5px;
}
.mainvisual .mv_ttl .ttl_md .lg {
	font-size: 193%;
	line-height: 1;
}
.mainvisual .item.is_index .cont {
	opacity: 1;
	filter: blur(0);
}
.mainvisual .img {
	height: 100vh;
	position: relative;
	overflow: hidden;
	z-index: 0;
}
.mainvisual .img .mv_bg {
	content: "";
	background: #2c3d36;
	opacity: 1;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 0;
	transition: all 2s ease;
	opacity: 0.7;
}
.is_loaded .mainvisual .img .mv_bg {opacity: 0; transition-delay: 2.25s;}
.mainvisual .img img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.mainvisual .has-bdr::before,
.mainvisual .has-bdr::after {
	content: "";
    width: 19.2%;
	max-width: 320px;
    height: 100%;
    display: block;
    z-index: 2;
    position: absolute;
	top: 0;
}
.mainvisual .has-bdr::before {
	background: url(../imgs/mv_bdr_left.png) no-repeat left center/100% 100%;
	left: 0;
}
.mainvisual .has-bdr::after {
	background: url(../imgs/mv_bdr_right.png) no-repeat right center/100% 100%;
	right: 0;
}
.mainvisual .item04 .cont {
	top: 26.6%;
    left: auto;
    right: 5%;
}
@media screen and (max-width: 1000px) {
	.mainvisual .mv_ttl04 {
		top: 210px;
		width: 40vw;
	}
}
@media screen and (max-width: 767px) {
	.mainvisual .mv_ttl04 {
		top: 160px;
		right: 0;
        right: inherit;
        left: 50%;
        transform: translateX(-50%);
        width: 80vw;
    }
	.mainvisual .mv_ttl .ttl_md {
		font-size: 6vw;
		text-align: center;
	}
	.mainvisual .item04 .cont {
    	top: 24%;
	}
}
/*==================================================================
	Section merit
===================================================================*/
.sec_merit {
    position: relative;
	padding: 38px 0;
	overflow: hidden;
	background-color: #3f4845;
}
.sec_merit::after,
.sec_merit::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 0;
	height: 100%;
	top: 0;
}
.sec_merit::before {
	background: url(../imgs/merit_bg01.png) no-repeat center left/ contain;
	width: 21.5%;
    left: 0;
}
.sec_merit::after {
	background: url(../imgs/merit_bg02.png) no-repeat center right/ contain;
	width: 20.7%;
	right: 0;
}
.sec_merit .inner { max-width: 972px;}
@media screen and (max-width: 767px) {
	.sec_merit { padding: 20px 0 20px;padding: 40px 0 40px;}
	.sec_merit::before {
		background-position: top left;
	}
	.sec_merit::after {
		background-position: bottom right;
	}
	.sec_merit .inner { width: 75%;}
	
}
/*==================================================================
	Section info
===================================================================*/
.sec_information {
	position: relative;
	text-align: center;
	text-align: center;
	padding: 15px 0 clamp(60px, 9.8214285714285714286vw, 165px);
	background: rgba(238,236,232,1);	
}
.sec_information .inner {
	max-width: 1275px;
}
.sec_information::before {
	content: "";
	background: url(../imgs/info_bg.jpg) no-repeat top center/ 100% auto;
	width: 100%;
	position: absolute;
	top: 0;
	height: 100%;
    left: 0;
    z-index: 0;
}
.sec_information .notes {
	font-size: 1.1rem;
	letter-spacing: 0.1em;
	line-height: 1.9;
	text-align: center;
	color: #4d4d4f;
	position: relative;
	z-index: 1;
}
.sec_information .ttl {
	font-size: clamp(3.4rem,4.1666666666666666667vw, 5rem);
	line-height: 1;
	letter-spacing: 0.015em;
	color: rgba(40, 40, 40, .5);
	margin: clamp(45px, 5.0595238095238095238vw,85px) 0 clamp(45px, 6.25vw,105px);
	text-align: left;
	padding-left: clamp(0px, 0vw,/*5.9523809vw,*/ 100px);
}
.sec_information .open_txt {
	font-size: clamp(1.3rem, 1.1904761904761904762vw,2rem);
	margin-bottom: clamp(20px, 2.0833333333333333333vw,35px);
	letter-spacing: 0.2em;
}
.sec_information .open_txt .sm { font-size: 90%;}
.sec_information .open_txt .lg { font-size: 140%;}
.sec_information .open_txt .md { font-size: 130%;}
.sec_information .time {
	font-size: clamp(1.2rem, 0.95238095238095238095vw,1.6rem);
	font-size: 1.2rem;
	letter-spacing: 0.22em;
	margin-bottom: clamp(20px, 2.6785714285714285714vw,45px);
}
.sec_information .time span { margin: 0 0 10px;}
.sec_information .info-nextDay__txt {
	font-size: 1.2rem;
	margin-top: clamp(40px, 4.8611111111111111111vw,70px);
}
.sec_information .notice {
	font-size: 1.2rem;
	line-height: 1.8;
	margin-bottom: clamp(40px, 5.3571428571428571429vw,90px);
}
.sec_information .btns a { 
	height: 60px;
	line-height: 60px;
	border-radius: 30px;
	min-width: 304px;
	border: 1px solid #3f4845;
}
@media screen and (max-width: 767px) {
	.sec_information .ttl {
		text-align: center;
	}
	.sec_information .open_txt {
		letter-spacing: 0.01em;
	}
	.sec_information .btns a { 
		height: 40px;
		line-height: 40px;
		border-radius: 18px;
		min-width: 210px;
		max-width: 210px;
		margin: auto;
	}
}

/*==================================================================
	Section residence
===================================================================*/
.sec_residence {
	background-color: #a7b0a8;
	padding: clamp(130px,14.880952380952380952vw,250px) 0 clamp(60px,10.714285714285714286vw,180px);
	padding: clamp(130px,14.880952380952380952vw,250px) 0 clamp(60px,10.714285714285714286vw,130px);
	overflow: hidden;
	position: relative;
}
.sec_residence::before {
	content: "";
	background: url(../imgs/residence_bg.png) no-repeat top right/ contain;
	width: 34.1%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
}
.sec_residence::after {
	content: "";
	background: url(../imgs/icon_leaf02.png) no-repeat left bottom / 100% auto;
	width: 15.5%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 15px;
}
.residence_block {
	position: relative;
	width: 100%;
}
.residence_ttl {
	display: flex;
	justify-content: flex-end;
	/* margin-bottom: clamp(-223px,-8.631vw, -249px); */
	position: relative;
	z-index: 2;
	color: #3f4845;
	position: absolute;
	left: -13vw;
	top: -16.7%;
	top: 0;
	width: 100vw;
	transform: translateY(-45%);
}
.residence_ttl .ttl {
	font-size: clamp(4.5rem,5.952380952380952381vw,10rem);
	letter-spacing: 0.015em;
	line-height: 1.08;
}
.residence_ttl .txt {
	font-size: clamp(1.4rem,1.3095238095238095238vw,2.2rem);
	letter-spacing: 0.08em;
	line-height: 1.7;
	margin-bottom: clamp(5px,0.89285714285714285714vw,15px);
}
.residence_img {
	position: relative;
	z-index: 3;
	overflow: hidden;
}
.residence_img .img {
	height: 100%;
}
.residence_img img {
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}
.sec_residence .txt_info {
	font-size: clamp(1.4rem,1.0714285vw,1.8rem);
	letter-spacing: 0.1em;
	line-height: 2.1;
	padding: 65px 0 0;
}
.residence_img .residence_ttl {
	color: #fff; 
}
.residence_img .simpleParallax  {
	height: 100%;
}
@media screen and (max-width: 1440px) {
	.sec_residence .txt_info {
		padding-left: 15%;
	}
}
@media screen and (max-width: 1200px) { 
	.residence_img .txt_info {
		margin-left: 15px;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.residence_ttl {
		right: 0;
		justify-content: center;
		left: 0;
		margin: auto;
		transform: translateY(-48%);
	}
	.sec_residence .txt_info {
		font-size: 1.3rem;
		line-height: 1.6;
        text-align: center;
		padding-left: 0;
		padding-bottom: 15px;
	}
	.residence_img {
		height: 400px;
	}
	.sec_residence::after {
		width: 20%;
		bottom: 0;
	}
}
.sec_category {
	position: relative;
	z-index: 0;
	overflow: hidden;
}
.sec_category:before {
	content: "";
	background: #1c180c;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0.5;
	z-index: 1;
}
.sec_category .cate_title {
	background: url(../imgs/bg_leaf.png) no-repeat 30px 5% / 21.4% auto;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	z-index: 9;
	height: 100vh;
	width: 100%;
	padding-top: clamp(15px, 4.46428vw, 75px);
	padding-left: clamp(15px, 10.11904vw, 170px);
}
.sec_category.is_fixed .cate_title { position: fixed; }
.sec_category.is_bottom .cate_title {
	position: absolute;
	top: auto;
	bottom: 0;
}
.sec_category .cate_title .item {
	position: absolute;
	top: 0;
	left: 0;
}
.sec_category .cate_title .item.is_on {
	opacity: 1;
	visibility: visible;
}
.sec_category .head_link {
	position: absolute;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.sec_category .head_link .item {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	width: 100%;
	height: 100%;
}
.sec_category .head_link .item.is_on {
	opacity: 1;
	visibility: visible;
}
.sec_category .cate_title .ttl_list {
	position: relative;
	z-index: 0;
}
.sec_category .cate_title .item .ttl {
	font-size: clamp(3.4rem, 4.761904vw, 8rem);
	/* font-size: clamp(3.4rem, 3.761904vw, 8rem); */
	letter-spacing: 0.01em;
	line-height: 1;
}
.sec_category .box_cont {
	color: #3f4845;
	position: absolute;
	padding: clamp(100px,10.595238vw, 100px) 15px;
	top: 0;
	transform: translateY(100vh);
	transition: all 1s cubic-bezier(.26, 1, .48, 1);
	left: 0;
	right: 0;
	z-index: 10;
	display: flex;
	height: 100vh;
}
.sec_category.show_cont .box_cont { transform: translateY(0); }
.sec_category.is_fixed .box_cont { position: fixed; }
.sec_category.is_bottom .box_cont {
	position: absolute;
	top: auto;
	bottom: 0;
}
.sec_category .box_cont .b_wrap {
	padding: 30px clamp(15px, 5.595238vw, 95px);
	width: 100%;
	max-width: 650px;
	margin: auto;
	position: relative;
	z-index: 0;
}
.sec_category .box_cont .b_wrap:before {
	background: rgba(255,255,255,0.7);
	backdrop-filter: blur(10px);
	filter: brightness(120%);
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	position: absolute;
	transition: all 0.5s ease;
}
.sec_category .box_cont .b_wrap:hover:before {
	background: rgba(255,255,255,0.6);
}
.sec_category .head_number {
	color: #3f4845;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	position: relative;
	z-index: 0;
	margin-bottom: clamp(10px, 2.083333vw, 35px);
}
.sec_category .head_number .num_col {
	position: relative;
	z-index: 0;
	overflow: hidden;
}
.sec_category .head_number .num {
	font-size: clamp(1.4rem, 0.95238vw, 1.6rem);
	letter-spacing: 0;
	line-height: 1.2;
}
.sec_category .head_number .num_hidden {
	opacity: 0;
}
.sec_category .head_number .num_list {
	display: grid;
	grid-template-columns: auto;
	position: absolute;
	top: 0;
	left: 0;
	transition: all 0.5s ease;
}
.sec_category .head_title {
	font-size: clamp(1.8rem, 1.666666vw, 2.8rem);
	letter-spacing: 0.01em;
	line-height: 1;
	margin-bottom: clamp(15px, 2.38095vw, 40px);
	text-align: center;
	position: relative;
	z-index: 0;
}
.sec_category .head_title .item {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.sec_category .head_title .item.is_on { position: relative; }
.sec_category .head_image {
	position: relative;
	z-index: 0;
	margin-bottom: clamp(10px, 2.083333vw, 35px);
}
.sec_category .head_image .img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.sec_category .head_image .img:nth-child(1) {
	position: relative;
	clip-path: inset(0%) !important;
}
.sec_category .head_text {
	position: relative;
	text-align: center;
	z-index: 0;
}
.sec_category .head_text .item {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	visibility: hidden;
}
.sec_category .head_text .item.is_on {
	position: relative;
	opacity: 1;
	visibility: visible;	
}
.sec_category .head_text .txt {
	font-size: clamp(1.2rem, 0.8333333vw, 1.4rem);
	letter-spacing: 0.1em;
	line-height: 2;
	margin-bottom: clamp(15px, 1.48809vw, 25px);
}
.sec_category .head_text .btn_more {
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	padding: 5px 0;
}
.sec_category .head_text .is_on .btn_more {
	opacity: 1;
	visibility: visible;
}
.sec_category .head_text .btn_more .btn {
	cursor: pointer;
	border: 1px solid #3f4845;
	border-radius: 30px;
	display: inline-block;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
	padding: 9px 15px;
	width: 100%;
	max-width: 200px;
	transition: all 0.3s ease;
	overflow: hidden;
}
.sec_category .head_text .btn_more .btn:after {
	content: "";
	width: 0;
	height: 100%;
	position: absolute;
	top: 0;
	right: -1px;
	left: -1px;
	background: #fff;
	transition: width 0.6s cubic-bezier(0.32, 0.95, 0.6, 1), left 0.6s cubic-bezier(0.32, 0.95, 0.6, 1);
	z-index: -1;
	margin: auto;
	border-radius: 40px;
}
.sec_category .b_wrap:hover .btn_more .btn:after {
	width: 102%;
}
.sec_category .block_cate {
	height: 100vh;
}
.sec_category .block_cate .cate_img {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	overflow: hidden;
	z-index: 0;
	clip-path: inset(100% 0 0 0);
}
.sec_category .block_cate01 .cate_img {
	clip-path: inset(0%) !important;
	position: absolute;
}
.sec_category.is_fixed .block_cate01 .cate_img {
	position: fixed;
}
.sec_category.is_bottom .block_cate .cate_img {
	position: absolute;
	top: auto;
	bottom: 0;
}
.sec_category .block_cate .cate_img img {
	height: 100%;
	object-fit: cover;
}

.masking-ani {
	display: inline-block;
	overflow: hidden;
}
.masking-ani > .ani_item {
	display: inline-block;
	transform: translateY(110%);
	transition: all 0.5s ease;
}
.is_on .masking-ani > .ani_item,
.masking-ani.is_on > .ani_item { transform: translateY(0); }
.is_out .masking-ani > .ani_item,
.masking-ani.is_out > .ani_item { transform: translateY(-101%); }

.is_bottom .cate_title .item:last-child.is_out .masking-ani > .ani_item,
.is_bottom .head_title .item:last-child.is_out .masking-ani > .ani_item,
.is_bottom .head_text .item:last-child.is_out .masking-ani > .ani_item,
.is_bottom .cate_title .item:last-child .masking-ani.is_out > .ani_item,
.is_bottom .head_title .item:last-child .masking-ani.is_out > .ani_item,
.is_bottom .head_text .item:last-child .masking-ani.is_out > .ani_item
{ transform: translateY(0); }

@media screen and (max-height: 900px) {
	.sec_category .cate_title {
		padding-top: 20px;
	}
}
@media screen and (max-width: 1000px) {
	.sec_category .box_cont {
		padding-top: 120px;
		padding-bottom: 40px;
	}
	.sec_category .cate_title {
		padding-top: 120px;
		text-align: center;
		background-position-y: 110px;
	}
}
@media screen and (max-width: 767px) {
	.sec_category .box_cont {
		padding-top: 90px;
	}
	.sec_category .head_text .txt {
		letter-spacing: -0.02em;
	}
	.sec_category .cate_title {
		background-position-y: 10%;
		background-size: 44% auto;
		padding-left: 0;
		background-position-x: 40%;
	}
	.sec_category .cate_title .item {
		width: 100%;
	}
	.sec_category .box_cont .b_wrap {
		padding: 30px 15px;
	}
	.sec_category .head_text .btn_more a {
		padding: 6px 15px;
		max-width: 160px;
	}
	.sec_category .cate_title {
		padding-top: 90px;
	}
}
@media screen and (max-width: 375px) {
	.sec_category .box_cont .b_wrap {
		padding: 15px;
	}
	.sec_category .head_text .txt {
		font-size: clamp(1rem, 0.8333333vw, 1.4rem);
		margin-bottom: 10px;
	}
	.sec_category .box_cont {
		padding-top: 120px;
		padding-bottom: 15px;
	}
	.sec_category .cate_title {
		padding-top: 70px;
	}
}
/*==================================================================
	Section PICKUP
===================================================================*/
.pickup_bnr {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 100% /*1500px*/;
	margin: 0 auto 155px;
}
.pickup_bnr .item {
	width: calc(100%/3 - 10px);
}
@media screen and (max-width: 1000px) {
	.pickup_bnr {
		max-width: 575px;
		margin: 0 auto 80px;
		padding: 0 15px;
	}
	.pickup_bnr .item {
		width: 100%;
	}
	.pickup_bnr .item + .item {
		margin-top: 30px;
	}
}

.sec_pickup {
	background: #eeece8;
	padding: clamp(100px, 9.2261904761904761905vw, 155px) 0 0;
	position: relative;
	z-index: 1;
}
.sec_pickup::after,
.sec_pickup::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 0;
	height: 100%;
	top: 25px;
}
.sec_pickup::before {
	background: url(../imgs/pickup_bg01.png) no-repeat top center/ contain;
	width: 21.5%;
    left: clamp(0px, 2.3809523809523809524vw,40px);
}
.sec_pickup::after {
	background: url(../imgs/pickup_bg02.png) no-repeat top center/ contain;
	width: 20.7%;
	right: 0;
}
.sec_pickup .container {
	max-width: 1200px;
}
.sec_pickup .container_text {
	margin-bottom: 60px;
	text-align: center;
	position: relative;
}
.sec_pickup .container_text::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #3f4845;
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 1;
}
.container_text .catch {
	background-color: #eeece8;
    color: #3f4845;
    display: inline-block;
    font-size: 2.2rem;
    font-weight: 300;
	letter-spacing: 0.22em;
    line-height: 1;
    position: relative;
    padding: 0 50px;
    z-index: 2;
}
.sec_pickup .swiper-slide {
    position: relative;
    transition: all .8s;
}
.sec_pickup .swiper-slide > a {
	display: block;
	padding-right: 24px;
}
.sec_pickup .swiper-slide h3 {
	color: #3f4845;
	font-size: 1.8rem;
	letter-spacing: 0;
    margin-top: 10px;
    padding-bottom: 6px;
    position: relative;
}
.sec_pickup .swiper-slide h3 .viewmore {
	color: #3f4845;
	display: inline-block;
	margin-left: auto;
	font-size: 1.2rem;
	position: relative;
	right: 0;
	bottom: 5px;
	text-transform: uppercase;
}
.sec_pickup .swiper-slide h3 .viewmore:before, .sec_pickup .swiper-slide h3 .viewmore:after {
	border-top: 1px solid #3f4845;
	border-right: 1px solid #3f4845;
	content: "";
	height: 7px;
	width: 7px;
	position: absolute;
	top: 7px;
	right: -10px;
	transform: rotate(45deg);
	transition: all ease-in-out 0.25s;
}
.sec_pickup .swiper-slide h3 .viewmore:after {
	right: -14px;
}
.sec_pickup .swiper-slide h3+p {
	color: #3f4845;
    font-size: 2.2rem;
    line-height: 1.6;
    letter-spacing: 0;
}
.sec_pickup .swiper-container {
    margin: 0;
  	padding-bottom: 50px;
    overflow-x: hidden;
}
.inner_card .container_img {
    overflow: hidden;
}
.inner_card .container_img img {
    width: 100%;
    max-width: none;
    transition: all .8s;
}
.sec_pickup .swiper-slide a:hover .container_img img {
    transform: scale(1.1);
}
.container_img {
    position: relative;
    z-index: 0;
}
.swiper-wrapper {
	height: auto;
}
.sec_pickup  .swiper-container>.swiper-scrollbar {
	border-radius: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 8px;
    width: 100%;
    background: none;
    border-bottom: 1px solid #3f4845;
}
.sec_pickup  .swiper-container>.swiper-scrollbar .swiper-scrollbar-drag {
	border-radius: 0;
	background: #3f4845;
}
@media only screen and (max-width:1024px){
	.sec_pickup::before {
		width: 30%;
	}
	.sec_pickup::after {
		width: 28%;
	}
}
@media only screen and (max-width:767px){
	.sec_pickup {
		padding: 60px 0 0;
	}
	.sec_pickup::before {
		width: 115px;
		left: 5px;
	}
	.sec_pickup::after {
		width: 105px;
	}
	.sec_pickup .container_text {
		margin-bottom: 35px;
	}
	.container_text .catch {
		font-size: 2rem;
		padding: 0 15px;
	}
	.sec_pickup .swiper-slide > a {
		padding-right: 12px;
	}
	.sec_pickup .swiper-slide h3 {
		font-size: 1.3rem;
	}
	.sec_pickup .swiper-slide h3+p {
		font-size: 1.2rem;
	}
	.sec_pickup .swiper-slide h3 .viewmore {
		font-size: 1.2rem;
		text-align: right;
		position: relative;
		top: 0;
	}
	.sec_pickup .swiper-slide h3 .viewmore:before,
	.sec_pickup .swiper-slide h3 .viewmore:after {
		height: 4px;
		width: 4px;
		top: 8px;
	}
	.sec_pickup .swiper-container>.swiper-scrollbar {
		height: 4px;
	}
}
.foot_caption {
	background-color: #eeece8;
}
/* */
.b_wrap.noLink_location,
.b_wrap.noLink_access,
.b_wrap.noLink_design,
.no_link{
	pointer-events: none;
	cursor: default;
}

/* */
.info_bnr{
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 90px;
	margin-bottom: 90px;
}
@media only screen and (max-width:767px){
	.info_bnr{margin: 40px auto;}
}

/* */
.greenresidence{width: 520px;}
@media only screen and (max-width:767px){
	.greenresidence{width: 70vw;}
}
/* */
.pc_img{display: block !important;}
.tab_sp_img{display: none !important;}
@media screen and (max-width: 768px) {
	.pc_img{display: none !important;}
	.tab_sp_img{display: block !important;}
}
@media screen and (max-width: 1000px) and (min-width: 768px) {
	.mainvisual .mv_ttl04{width: 54vw;}
}