@charset "UTF-8";
/* ==========================================================================
	root
========================================================================== */
:root {
	--base-pc-width:1680;
	--base-sp-width:375;
	--vwPC: calc(100vw / 1680);
	--vwSP: calc(100vw / 375);
	--easeInQuad:cubic-bezier(.55, .085, .68, .53);
	--easeOutQuad:cubic-bezier(0.23, 1, 0.32, 1);
	--easeOutQuint:cubic-bezier(.25, .46, .45, .94);
	--easeOutSine:cubic-bezier(0.39, 0.575, 0.565, 1);
	--easeOutCubic:cubic-bezier(0.215, 0.61, 0.355, 1);
	--easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
	--easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
	--easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28);
	--easeInCirc:cubic-bezier(0.55, 0, 1, 0.45);
	--theme-color:#004161;
	--theme-color02:rgba(0, 65, 97, 0.2);
	--base-text-color:#000;
	--base-bg-color:#EEE5DD;
	--base-bg-color02:#363636;
	--base-bg-color03:rgba(0, 65, 97, 0.15);
	--base-bg-color04:rgba(255, 255, 255, 0.15);
	--base-bg-color05:rgba(0, 0, 0, 0.1);
	--base-bg-color06:#363636;
	--base-bg-color07:rgba(255, 255, 255, 0.5);
	--base-bg-color08:rgba(0, 0, 0, 0.07);
	--base-bg-color09:rgba(255, 255, 255, 0.8);
	--base-bg-color10:rgba(255, 255, 255, 0.75);
	--base-bg-color-end:rgba(0, 65, 97, 0.15);
	--base-border-color:#000;
	--base-border-color02:rgba(0, 0, 0, 0.15);
	--base-border-color03:rgba(255, 255, 255, 0.3);
	--base-border-color04:rgba(255, 255, 255, 0.2);
	--base-border-color05:rgba(0, 0, 0, 0.3);
	--base-border-color06:rgba(0, 0, 0, 0.1);
	--base-border-color07:rgba(255, 255, 255, 0.25);
	--base-color-gray:#666666;
	--base-color-gray02:#E7E7E7;
	--base-color-gray03:#F1EFED;
	--base-color-black:#000;
	--base-color-black02:rgba(0, 0, 0, 0.1);
	--base-color-black03:rgba(0, 0, 0, 0.5);
	--base-color-black04:rgba(0, 0, 0, 0.05);
	--base-color-black05:rgba(0, 0, 0, 0.08);
	--base-color-black06:rgba(0, 0, 0, 0.07);
	--base-color-red:#E51D1D;
	--base-color-red02:#C34545;
	--hanten:scale(-1, -1);
	--hantenX:scale(-1, 1);
	--hantenY:scaleY(-1);
	--transition-scale:transform 0.8s var(--easeOutCubic);
}

@media screen and (min-width: 801px) {
	:root {
		--vwPC: calc(100vw / 1680);
		--fz11: max(1.1rem, 10px);
		--fz12: max(1.2rem, 11px);
		--fz13: max(1.3rem, 12px);
		--fz14: max(1.4rem, 12px);
		--fz15: max(1.5rem, 13px);
		--fz16: max(1.6rem, 14px);
		--fz17: max(1.7rem, 15px);
		--fz18: max(1.8rem, 16px);
		--fz19: max(1.9rem, 17px);
		--fz20: max(2.0rem, 18px);
		--fz21: max(2.1rem, 18px);
		--fz22: max(2.2rem, 18px);
		--fz23: max(2.3rem, 20px);
		--fz24: max(2.4rem, 20px);
		--fz25: max(2.5rem, 21px);
		--fz26: max(2.6rem, 22px);
		--fz27: max(2.7rem, 23px);
		--fz28: max(2.8rem, 24px);
		--fz30: max(3rem, 26px);
		--fz32: max(3.2rem, 28px);
		--fz34: max(3.4rem, 30px);
		--fz36: max(3.6rem, 32px);
		--fz40: max(4rem, 36px);
		--fz42: max(4rem, 38px);
		--fz44: max(4.4rem, 40px);
		--fz46: max(4.6rem, 42px);
		--fz48: max(4.8rem, 44px);
		--fz50: max(5rem, 48px);
		--fz52: max(5.2rem, 48px);
		--fz56: max(5.6rem, 52px);
		--fz64: max(6.4rem, 60px);
		--fz72: max(7.2rem, 68px);
		--fz96: max(9.6rem, 90px);
	}
}
@media screen and (max-width: 800px) {
	:root {
		--vwSP: calc(100vw / 375);
		--fz10: clamp(10px, calc(10 * var(--vwSP)), 12px);
		--fz11: clamp(11px, calc(11 * var(--vwSP)), 13px);
		--fz12: clamp(12px, calc(12 * var(--vwSP)), 14px);
		--fz13: clamp(13px, calc(13 * var(--vwSP)), 14px);
		--fz14: clamp(14px, calc(14 * var(--vwSP)), 16px);
		--fz15: clamp(15px, calc(15 * var(--vwSP)), 17px);
		--fz16: clamp(16px, calc(16 * var(--vwSP)), 18px);
		--fz17: clamp(17px, calc(17 * var(--vwSP)), 19px);
		--fz18: clamp(18px, calc(18 * var(--vwSP)), 20px);
		--fz19: clamp(19px, calc(19 * var(--vwSP)), 21px);
		--fz20: clamp(20px, calc(20 * var(--vwSP)), 22px);
		--fz21: clamp(21px, calc(21 * var(--vwSP)), 23px);
		--fz22: clamp(22px, calc(22 * var(--vwSP)), 24px);
		--fz24: clamp(24px, calc(24 * var(--vwSP)), 26px);
		--fz25: clamp(25px, calc(25 * var(--vwSP)), 27px);
		--fz26: clamp(26px, calc(26 * var(--vwSP)), 28px);
		--fz27: clamp(27px, calc(27 * var(--vwSP)), 29px);
		--fz28: clamp(28px, calc(28 * var(--vwSP)), 30px);
		--fz30: clamp(30px, calc(30 * var(--vwSP)), 32px);
		--fz32: clamp(32px, calc(23 * var(--vwSP)), 35px);
		--fz34: clamp(34px, calc(34 * var(--vwSP)), 37px);
		--fz35: clamp(35px, calc(25 * var(--vwSP)), 39px);
		--fz36: clamp(36px, calc(36 * var(--vwSP)), 40px);
		--fz38: clamp(38px, calc(38 * var(--vwSP)), 42px);
		--fz40: clamp(40px, calc(40 * var(--vwSP)), 44px);
		--fz44: clamp(44px, calc(44 * var(--vwSP)), 48px);
		--fz45: clamp(45px, calc(45 * var(--vwSP)), 49px);
		--fz48: clamp(48px, calc(48 * var(--vwSP)), 52px);
		--fz56: clamp(56px, calc(56 * var(--vwSP)), 60px);
		--fz64: clamp(64px, calc(64 * var(--vwSP)), 68px);
	}
}
@-webkit-keyframes main {
	0% {
		opacity: 0;
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	4% {
		opacity: 1;
	} /* フェードイン開始〜完了(0→4%) */
	16% {
		opacity: 1;
	} /* しっかり見せる */
	22% {
		opacity: 1;
	} /* ★ 次スライド開始(20%)を2%超えてもまだ見せる=重ねる */
	24% {
		opacity: 0;
	} /* フェードアウト完了（重なりながら消える） */
	100% {
		opacity: 0;
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
}
@keyframes main {
	0% {
		opacity: 0;
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	4% {
		opacity: 1;
	} /* フェードイン開始〜完了(0→4%) */
	16% {
		opacity: 1;
	} /* しっかり見せる */
	22% {
		opacity: 1;
	} /* ★ 次スライド開始(20%)を2%超えてもまだ見せる=重ねる */
	24% {
		opacity: 0;
	} /* フェードアウト完了（重なりながら消える） */
	100% {
		opacity: 0;
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
}
@-webkit-keyframes revealClip {
	to {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}
@keyframes revealClip {
	to {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}
@-webkit-keyframes fadeUp {
	from {
		opacity: 0;
		-webkit-transform: translateY(20px);
		        transform: translateY(20px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
@keyframes fadeUp {
	from {
		opacity: 0;
		-webkit-transform: translateY(20px);
		        transform: translateY(20px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
.head {
	opacity: 0;
	-webkit-transition: opacity 0.4s ease;
	transition: opacity 0.4s ease;
}
.head.load {
	opacity: 1;
}

/* ==========================================================================
	kv
========================================================================== */
#kv {
	position: relative;
	z-index: 50;
	height: 100vh;
	min-height: 800px;
	background: var(--base-color-black);
}
#kv:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 200px;
	background: -webkit-gradient(linear, left top, left bottom, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
	background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
	top: 0;
	left: 0;
	opacity: 0.4;
	z-index: 5;
}
#kv h1 {
	display: block;
	position: absolute;
	top: 50%;
	left: 14.4642857143vw;
	width: clamp(300px, 20.9523809524vw, 450px);
	aspect-ratio: 352/420;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	z-index: 50;
	opacity: 0;
	-webkit-filter: blur(4px);
	        filter: blur(4px);
	-webkit-transition: opacity 2.5s ease, -webkit-filter 2.5s ease;
	transition: opacity 2.5s ease, -webkit-filter 2.5s ease;
	transition: opacity 2.5s ease, filter 2.5s ease;
	transition: opacity 2.5s ease, filter 2.5s ease, -webkit-filter 2.5s ease;
	/* 初期状態：斜めの三角で非表示 */
}
#kv h1.move {
	opacity: 1;
	-webkit-filter: blur(0) drop-shadow(0 2px 10px rgba(0, 0, 0, 0.5));
	        filter: blur(0) drop-shadow(0 2px 10px rgba(0, 0, 0, 0.5));
}
#kv .kv_img {
	z-index: 1;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;
}
#kv .img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	background-position: center center;
	background-size: cover;
	overflow: hidden;
	/* 1枚目の画像に特別なアニメーションを適用 */
}
#kv .img img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	background-position: center center;
	background-size: cover;
	opacity: 0;
	--animation-duration: 25s; /* 6枚のためにアニメーション時間を倍に */
	--animation-delay-base: calc(var(--animation-duration) / 5);
	-webkit-animation: main var(--animation-duration) linear 0s infinite;
	animation: main var(--animation-duration) linear 0s infinite;
}
#kv .img:nth-child(1) img {
	opacity: 1; /* 初期状態で表示 */
}
#kv .img:nth-child(2) img {
	-webkit-animation-delay: calc(var(--animation-delay-base));
	        animation-delay: calc(var(--animation-delay-base));
}
#kv .img:nth-child(3) img {
	-webkit-animation-delay: calc(2 * var(--animation-delay-base));
	        animation-delay: calc(2 * var(--animation-delay-base));
}
#kv .img:nth-child(4) img {
	-webkit-animation-delay: calc(3 * var(--animation-delay-base));
	        animation-delay: calc(3 * var(--animation-delay-base));
}
#kv .img:nth-child(5) img {
	-webkit-animation-delay: calc(4 * var(--animation-delay-base));
	        animation-delay: calc(4 * var(--animation-delay-base));
}

@media screen and (max-width: 800px) {
	#kv {
		height: 100svh;
		min-height: 10px;
	}
	#kv:before {
		height: 80px;
	}
	#kv h1 {
		display: block;
		position: absolute;
		width: 41.6vw;
		top: calc(50% - 10px);
		left: 0;
		right: 0;
		margin: auto;
	}
	#kv .pc_off {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 30px;
		margin: auto;
		width: 94.6666666667%;
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
		-webkit-transition: all 0.4s ease;
		transition: all 0.4s ease;
		z-index: 20;
		opacity: 0;
		pointer-events: none;
	}
	#kv .pc_off.fix {
		position: fixed;
		bottom: 1rem;
		-webkit-animation: fadeUp 0.4s ease;
		        animation: fadeUp 0.4s ease;
		opacity: 1;
		pointer-events: auto;
	}
	#kv .pc_off a {
		display: block;
		width: 49.2957746479%;
	}
	#kv .pc_off a p {
		width: 100%;
	}
	#kv .pc_off a:last-child {
		position: absolute;
		top: 0;
		right: 0;
	}
}
/* ==========================================================================
	concpet
========================================================================== */
.concept {
	padding-top: clamp(120px, 11.9047619048vw, 256px);
	padding-bottom: clamp(96px, 9.5238095238vw, 204.8px);
}
.concept .concept-tit_area {
	margin-bottom: clamp(48px, 4.7619047619vw, 102.4px);
}
.concept .con_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
.concept .con_area .text_area {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: 32.4358974359%;
	min-width: 506px;
}
.concept .con_area .text_area div {
	margin-bottom: 25rem;
}
.concept .con_area .text_area div > p {
	margin-bottom: 6rem;
}
.concept .con_area .text_area a {
	display: inline-block;
	margin-bottom: 4rem;
}
.concept .img_area {
	position: relative;
	width: 49.358974359%;
	height: auto;
}

@media screen and (max-width: 1100px) {
	.concept .con_area .text_area {
		width: 100%;
		min-width: 10px;
		margin-bottom: 5rem;
	}
	.concept .con_area .text_area div {
		margin-bottom: 0;
	}
	.concept .con_area .text_area .img {
		display: none;
	}
	.concept .img_area {
		width: 100%;
		aspect-ratio: 1/1;
	}
}
@media screen and (max-width: 800px) {
	.concept {
		padding-top: clamp(60px, 26.6666666667vw, 128px);
		padding-bottom: clamp(48px, 21.3333333333vw, 102.4px);
	}
	.concept .concept-tit_area {
		margin-bottom: clamp(18px, 8vw, 38.4px);
	}
	.concept .con-tit {
		font-size: var(--fz26);
		line-height: 1.4545454545;
	}
	.concept .con_area .text_area div > p {
		margin-bottom: 4rem;
	}
	.concept .con_area .text_area a {
		margin-bottom: 8rem;
	}
}
/* ==========================================================================
	eyecatch
========================================================================== */
.eyecatch {
	position: relative;
	width: 100%;
	aspect-ratio: 1680/900;
	max-height: 1100px;
	margin-bottom: clamp(120px, 11.9047619048vw, 256px);
}

@media screen and (max-width: 800px) {
	.eyecatch {
		aspect-ratio: 375/448;
		margin-bottom: clamp(72px, 32vw, 153.6px);
	}
}
/* ==========================================================================
	works
========================================================================== */
.works {
	padding-bottom: clamp(66px, 6.5476190476vw, 140.8px);
	margin-bottom: clamp(72px, 7.1428571429vw, 153.6px);
	border-bottom: 1px solid var(--base-border-color02);
}
@media screen and (min-width: 901px) {
	.works .works_link a:first-child {
		-ms-grid-column-span: 2;
		grid-column: span 2;
	}
	.works .works_link a:first-child img {
		aspect-ratio: 1034/582;
	}
}

@media screen and (max-width: 800px) {
	.works {
		padding-bottom: clamp(12px, 5.3333333333vw, 25.6px);
		margin-bottom: clamp(48px, 21.3333333333vw, 102.4px);
	}
	.works .tit_area {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-line-pack: justify;
		    align-content: space-between;
		margin-bottom: 2rem;
	}
	.works .tit_area .titles {
		width: auto;
		margin-bottom: 0;
	}
	.works .tit_area .text {
		width: auto;
	}
}
/* ==========================================================================
	model-house
========================================================================== */
.model-house {
	margin-bottom: clamp(72px, 7.1428571429vw, 153.6px);
}
.model-house .tit_area {
	margin-bottom: 4rem;
}
.model-house .model-house_area {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
.model-house .model-house_area a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
}
.model-house .model-house_area a:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 698px;
	height: 100%;
	background: -webkit-gradient(linear, left top, right top, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
	background: linear-gradient(90deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
	opacity: 0.5;
	z-index: 2;
	-webkit-transition: width 0.6s var(--easeOutQuad);
	transition: width 0.6s var(--easeOutQuad);
}
@media screen and (min-width: 801px) {
	.model-house .model-house_area a:hover:before {
		width: 80%;
	}
	.model-house .model-house_area a:hover .link_btn:before {
		background: var(--theme-color);
	}
	.model-house .model-house_area a:hover .link_btn svg > * {
		fill: #fff;
	}
}
.model-house .model-house_area div {
	position: relative;
	z-index: 10;
	max-width: 375px;
	margin-left: 3.5714285714vw;
}
.model-house .model-house_area .s_txt {
	display: block;
	font-size: var(--fz20);
	letter-spacing: 0.03em;
	line-height: 1;
	margin-bottom: 13px;
}
.model-house .model-house_area h2 {
	margin-bottom: 5rem;
}
.model-house .model-house_area h3 {
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.4285714286;
	margin-bottom: 23px;
}
.model-house .model-house_area .n_txt {
	font-size: 1.5rem;
	line-height: 1.7333333333;
	margin-bottom: 50px;
}
.model-house .model-house_area .parallax-item {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 108%;
	z-index: 1;
}
.model-house .model-house_area.aiai h2 {
	width: 110px;
}
.model-house .model-house_area.toto .s_txt {
	margin-bottom: 15px;
}
.model-house .model-house_area.toto h2 {
	margin-left: 10px;
	width: 112px;
}

@media screen and (max-width: 800px) {
	.model-house {
		margin-bottom: clamp(36px, 16vw, 76.8px);
	}
	.model-house .tit_area {
		margin-bottom: 4rem;
	}
	.model-house .model-house_area {
		position: relative;
		width: 100%;
		height: 100vh;
		overflow: hidden;
	}
	.model-house .model-house_area a {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: end;
		    -ms-flex-align: end;
		        align-items: flex-end;
		width: 100%;
		height: 100%;
		color: #fff;
	}
	.model-house .model-house_area a:before {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: auto;
		bottom: 0;
		width: 100%;
		height: 91.4634146341%;
		background: -webkit-gradient(linear, left bottom, left top, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
		background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
		opacity: 0.6;
	}
	.model-house .model-house_area div {
		width: 89.3333333333%;
		max-width: 100%;
		margin-bottom: clamp(24px, 10.6666666667vw, 51.2px);
		margin-left: 0;
	}
	.model-house .model-house_area .s_txt {
		font-size: var(--fz15);
		letter-spacing: 0.03em;
		line-height: 1.4666666667;
		margin-bottom: 1rem;
	}
	.model-house .model-house_area h2 {
		margin-bottom: 3rem;
	}
	.model-house .model-house_area h3 {
		font-size: var(--fz24);
		line-height: 1.5;
		margin-bottom: 1rem;
	}
	.model-house .model-house_area .n_txt {
		font-size: var(--fz14);
		line-height: 1.7142857143;
		margin-bottom: 3rem;
	}
	.model-house .model-house_area.aiai h2 {
		width: 78px;
	}
	.model-house .model-house_area.toto .s_txt {
		margin-bottom: 1rem;
	}
	.model-house .model-house_area.toto h2 {
		margin-left: 8px;
		width: 74px;
	}
	.model-house .model-house_area .fit_img {
		-o-object-position: right center;
		   object-position: right center;
	}
}
/* ==========================================================================
	seminar
========================================================================== */
.seminar {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	max-width: 1560px;
	height: 800px;
	overflow: hidden;
	margin-bottom: clamp(72px, 7.1428571429vw, 153.6px);
}
.seminar .text_area {
	width: 90%;
	max-width: 770px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	text-align: center;
	background: #fff;
	padding: 80px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	z-index: 10;
}
.seminar h2 {
	margin-bottom: 4rem;
}
.seminar .n_txt {
	--lh:calc(28/16);
	letter-spacing: 0;
	margin-bottom: 4rem;
}
.seminar .slider {
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
	overflow: hidden;
	bottom: 0;
	width: 560px;
	height: 100;
}
.seminar .slider.slider01 {
	right: calc(50% + 285px);
}
.seminar .slider.slider02 {
	bottom: auto;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.seminar .slider.slider03 {
	left: calc(50% + 285px);
}
.seminar .slider-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
	margin: 0;
	padding: 0;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-animation: loop-slideY 80s infinite linear;
	        animation: loop-slideY 80s infinite linear;
}
.seminar .slider02 .slider-list {
	-webkit-animation: loop-slideY-rev 80s infinite linear;
	        animation: loop-slideY-rev 80s infinite linear;
}
.seminar .slider-item {
	width: 100%;
	margin-bottom: 0.5rem;
}

@media screen and (max-width: 800px) {
	.seminar {
		height: auto;
		padding-top: clamp(31.8px, 14.1333333333vw, 67.84px);
		padding-bottom: clamp(31.8px, 14.1333333333vw, 67.84px);
		margin-bottom: clamp(72px, 7.1428571429vw, 153.6px);
	}
	.seminar .text_area {
		width: 82.0895522388%;
		padding: 4rem 2rem;
	}
	.seminar h2 {
		margin-bottom: 3rem;
	}
	.seminar .n_txt {
		--lh:calc(24/14);
		margin-bottom: 3rem;
	}
	.seminar .slider {
		width: 220px;
	}
	.seminar .slider.slider01 {
		right: calc(50% + 115px);
	}
	.seminar .slider.slider03 {
		left: calc(50% + 115px);
	}
}
/* ==========================================================================
	news
========================================================================== */
.news {
	padding-top: clamp(72px, 7.1428571429vw, 153.6px);
	margin-bottom: clamp(72px, 7.1428571429vw, 153.6px);
	border-top: 1px solid var(--base-border-color02);
}
.news .inr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.news .news-tit_area {
	width: 175px;
}
.news .en_tit {
	margin-bottom: 7px;
}
.news h2 {
	margin-bottom: 4rem;
}
.news .link_area {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	max-width: 69.3452380952%;
	margin-left: 30px;
}
.news ul {
	border-bottom: 1px solid var(--base-border-color02);
}
.news li {
	border-top: 1px solid var(--base-border-color02);
}
.news li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
@media screen and (min-width: 801px) {
	.news li a:hover {
		background: var(--base-bg-color03);
	}
}
.news .day {
	width: 20.8583690987%;
	font-size: var(--fz13);
}
.news .n_txt {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	margin-right: 20px;
	font-weight: 500;
	padding-top: 1.9rem;
	padding-bottom: 1.9rem;
}
.news .cate {
	font-size: var(--fz13);
	font-weight: 500;
	text-align: right;
	width: 70px;
	opacity: 0.6;
}

@media screen and (max-width: 800px) {
	.news {
		padding-top: clamp(48px, 21.3333333333vw, 102.4px);
		margin-bottom: clamp(48px, 21.3333333333vw, 102.4px);
	}
	.news .inr {
		display: block;
	}
	.news .news-tit_area {
		position: relative;
		width: 100%;
		margin: 0 auto 20px;
	}
	.news .news-tit_area a {
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.news .en_tit {
		margin-bottom: 10px;
	}
	.news h2 {
		margin-bottom: 0;
	}
	.news .link_area {
		max-width: 100%;
		margin-left: 0;
	}
	.news li {
		border-top: 1px solid var(--base-border-color02);
	}
	.news li a {
		display: block;
		padding-top: 15px;
	}
	.news .day {
		width: 80px;
		font-size: var(--fz13);
	}
	.news .n_txt {
		display: block;
		width: 100%;
		line-height: 1.4375;
		margin-right: 0;
		padding-top: 5px;
		padding-bottom: 15px;
	}
	.news .cate {
		position: absolute;
		left: 80px;
		top: 15px;
		font-size: var(--fz13);
		text-align: left;
		width: auto;
	}
}
/* ==========================================================================
	blog
========================================================================== */
.blog {
	margin-bottom: clamp(96px, 9.5238095238vw, 204.8px);
}
.blog .inr:after {
	content: "";
	display: block;
	position: absolute;
	right: 100%;
	top: 0;
	width: 100vw;
	height: 100%;
	right: 100%;
	background: var(--base-bg-color);
	z-index: 30;
}
.blog .news_slider {
	width: 100vw;
}
.blog .slide {
	width: 375px;
	margin-right: 20px;
	-webkit-transition-timing-function: var(--easeInOutCubic);
	        transition-timing-function: var(--easeInOutCubic);
}
@media screen and (min-width: 801px) {
	.blog .slide:hover .img img {
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
	.blog .slide:hover .n_txt {
		background-size: 100% 1px;
	}
}
.blog .img_area {
	position: relative;
	aspect-ratio: 375/563;
	overflow: hidden;
	margin-bottom: 2rem;
}
.blog .img_area img {
	-webkit-transition: var(--transition-scale);
	transition: var(--transition-scale);
}
.blog .n_txt {
	margin-bottom: 1.7rem;
	font-weight: 500;
	letter-spacing: 0;
	--b_color:var(--base-text-color);
	display: inline;
	background-image: -webkit-gradient(linear, left top, right top, from(var(--b_color)), to(var(--b_color)));
	background-image: linear-gradient(90deg, var(--b_color), var(--b_color));
	background-repeat: no-repeat;
	background-position: 0px 90%;
	background-size: 0 1px;
	-webkit-transition: background 0.4s ease;
	transition: background 0.4s ease;
}
.blog .day {
	display: block;
	font-size: var(--fz13);
	margin-bottom: 1rem;
}
.blog .cate {
	font-size: var(--fz13);
	font-weight: 500;
	opacity: 0.6;
}

@media screen and (max-width: 800px) {
	.blog {
		margin-bottom: clamp(48px, 21.3333333333vw, 102.4px);
	}
	.blog .inr:after {
		content: "";
		display: block;
		position: absolute;
		right: 100%;
		top: 0;
		width: 100vw;
		height: 100%;
		right: 100%;
		background: var(--base-bg-color);
	}
	.blog .tit_area {
		position: relative;
	}
	.blog .tit_area .text {
		position: absolute;
		right: 0;
		bottom: 0;
		width: auto;
		display: inline-block;
	}
	.blog .slide {
		width: 278px;
		margin-right: 20px;
	}
	.blog .img_area {
		aspect-ratio: 278/418;
		margin-bottom: 2rem;
	}
	.blog .n_txt {
		margin-bottom: var(--fz16);
		margin-bottom: 1rem;
	}
	.blog .day {
		font-size: var(--fz12);
		margin-bottom: 1rem;
	}
	.blog .cate {
		font-size: var(--fz13);
	}
}
/* ==========================================================================
	logos
========================================================================== */
.logos {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-bottom: clamp(96px, 9.5238095238vw, 204.8px);
}
.logos div {
	width: 32.4358974359%;
}
.logos a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 100%;
	height: 320px;
	border: 1px solid var(--base-border-color02);
}
@media screen and (min-width: 801px) {
	.logos a:hover {
		border-color: #000;
	}
}
.logos .insta img {
	width: 200px;
}
.logos .muku img {
	width: 184px;
}
.logos .flex {
	width: 431px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.logos .kikurashi .logo-img {
	width: 160px;
}
.logos .kikurashi .text {
	width: 252px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	text-align: center;
}
.logos .kikurashi .logo-txt {
	width: 163px;
	margin-bottom: 2rem;
}
.logos .kikurashi .n_txt {
	font-size: var(--fz14);
	--lh:calc(24/14);
	letter-spacing: 0;
}

@media screen and (max-width: 1500px) {
	.logos a {
		height: 360px;
	}
	.logos .kikurashi .flex {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
}
@media screen and (max-width: 800px) {
	.logos {
		display: block;
		margin-bottom: clamp(72px, 32vw, 153.6px);
	}
	.logos div {
		width: 100%;
	}
	.logos a {
		height: 240px;
		margin-bottom: 2rem;
	}
	.logos .insta img {
		width: 129px;
	}
	.logos .muku img {
		width: 140px;
	}
	.logos .kikurashi {
		height: 320px;
	}
	.logos .kikurashi .logo-img {
		width: 103px;
		margin-bottom: 2rem;
	}
	.logos .kikurashi .text {
		width: 100%;
	}
	.logos .kikurashi .logo-txt {
		width: 163px;
		margin-bottom: 2rem;
	}
}
/* ==========================================================================
	eyecatch02
========================================================================== */
.eyecatch02 {
	position: relative;
	width: 100%;
	aspect-ratio: 1640/900;
	max-height: 1100px;
	width: 97.619047619%;
	margin-bottom: clamp(72px, 7.1428571429vw, 153.6px);
}
.eyecatch02 h2 {
	position: absolute;
	left: 0;
	right: 0;
	top: 185px;
	top: 20.5555555556%;
	text-align: center;
	font-size: var(--fz40);
	letter-spacing: 0.02em;
	color: #fff;
	z-index: 20;
}

@media screen and (max-width: 800px) {
	.eyecatch02 {
		aspect-ratio: 335/320;
		width: 89.3333333333%;
		margin-bottom: clamp(48px, 21.3333333333vw, 102.4px);
	}
	.eyecatch02 h2 {
		top: 12.8125%;
		font-size: var(--fz20);
		line-height: 1.45;
	}
}
/* ==========================================================================
	about
========================================================================== */
.about {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-bottom: clamp(114px, 11.3095238095vw, 243.2px);
}
.about .img_area {
	position: relative;
	width: 49.358974359%;
	aspect-ratio: 770/1023;
	overflow: hidden;
}
.about .text_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: 41.0256410256%;
}
.about h2 {
	margin-bottom: 4rem;
	line-height: 1.4;
	letter-spacing: -0.03em;
}
.about .n_txt {
	margin-bottom: 4rem;
	line-height: 1.75;
}
.about .link_btn {
	margin-bottom: 8rem;
}
.about ul li {
	counter-increment: number; /* カウンターを1ずつ進める */
	border-top: 1px solid var(--base-border-color02);
}
.about ul li:last-child {
	border-bottom: 1px solid var(--base-border-color02);
}
.about ul li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height: 60px;
}
@media screen and (min-width: 801px) {
	.about ul li a:hover {
		background: var(--base-bg-color03);
	}
}
.about ul li a p {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-size: var(--fz18);
	font-weight: 500;
}
.about ul li a:before {
	content: "(" counter(number, decimal-leading-zero) ")";
	font-family: "Spectral", serif;
	font-weight: 500;
	font-size: var(--fz12);
	line-height: 3.3333333333;
	letter-spacing: 0.02em;
	display: block;
	position: relative;
	width: 50px;
	margin-top: 2px;
}
.about ul li a .arrow {
	width: 16px;
	--color:#000;
}

@media screen and (max-width: 1000px) {
	.about {
		display: block;
	}
	.about .img_area {
		display: none;
	}
	.about .text_area {
		width: 100%;
	}
}
@media screen and (max-width: 800px) {
	.about {
		margin-bottom: clamp(48px, 21.3333333333vw, 102.4px);
	}
	.about .con-tit.-midium {
		margin-bottom: 2rem;
		font-size: var(--fz32);
	}
	.about .n_txt {
		margin-bottom: 2rem;
	}
	.about .link_btn {
		margin-bottom: 6rem;
	}
	.about ul li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		height: 60px;
	}
	.about ul li a p {
		font-size: var(--fz16);
	}
	.about ul li a:before {
		width: 50px;
	}
}
/* ==========================================================================
	rr_area
========================================================================== */
.rr_area {
	position: relative;
	background: var(--base-bg-color06);
	padding-bottom: 4rem;
}
.rr_area:after {
	content: "";
	display: block;
	position: absolute;
	width: clamp(835.7142857143px, 92.8571428571vw, 1782.8571428571px);
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 4rem;
	border-left: 1px solid var(--base-border-color03);
	border-right: 1px solid var(--base-border-color03);
}
.rr_area .rr_box h2 {
	width: 100%;
	padding: 6rem 0;
	border-left: 1px solid var(--base-border-color03);
	border-right: 1px solid var(--base-border-color03);
	text-align: center;
}
.rr_area .rr_box h2 img {
	max-width: 50%;
}
.rr_area .renovation h2 img {
	width: 474px;
}
.rr_area .estate h2 img {
	width: 538px;
}
.rr_area .border-box {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	border: 1px solid var(--base-border-color03);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.rr_area .border-box:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 1px solid var(--base-border-color03);
	border-radius: 80px;
	pointer-events: none;
	z-index: 1;
}
.rr_area .border-box .img_area {
	position: relative;
	width: 50%;
	border-radius: 80px 0 0 80px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	aspect-ratio: 1/1;
	z-index: 1;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	overflow: hidden;
}
.rr_area .border-box .text_area {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	padding: 6rem;
	color: #fff;
}
.rr_area .border-box h3 {
	font-size: var(--fz36);
	line-height: 1.2903225806;
	font-weight: 400;
	margin-bottom: 5rem;
}
@media screen and (min-width: 801px) {
	.rr_area .border-box h3.r_txt {
		-webkit-transform: translateX(5px);
		        transform: translateX(5px);
	}
}
.rr_area .border-box .n_txt {
	margin-bottom: 3rem;
}
.rr_area .renovation .tit_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
.rr_area .renovation h3 {
	letter-spacing: -0.06em;
}
.rr_area .estate .border-box {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}
.rr_area .estate .border-box .tit_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}
.rr_area .estate .border-box h3 {
	display: block;
}
.rr_area .estate .border-box .img_area {
	border-radius: 0 80px 80px 0;
}
.rr_area .link_box {
	position: relative;
	padding: 26.6rem 6rem 6rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-left: 1px solid var(--base-border-color03);
	border-right: 1px solid var(--base-border-color03);
	border-bottom: 1px solid var(--base-border-color03);
	border-radius: 0 0 80px 80px;
	color: #fff;
}
.rr_area .link_box:before {
	content: "";
	display: block;
	position: absolute;
	left: -1px;
	bottom: -1px;
	width: 71px;
	height: 71px;
	border-left: 1px solid var(--base-border-color04);
	border-bottom: 1px solid var(--base-border-color04);
}
.rr_area .link_box:after {
	content: "";
	display: block;
	position: absolute;
	right: -1px;
	bottom: -1px;
	width: 71px;
	height: 71px;
	border-right: 1px solid var(--base-border-color04);
	border-bottom: 1px solid var(--base-border-color04);
}
.rr_area .link_box h2 {
	position: absolute;
	font-size: var(--fz36);
	line-height: 1.2903225806;
	font-weight: 400;
	right: 6rem;
	top: 6rem;
	letter-spacing: 0.02em;
}
.rr_area .links div {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	width: 90%;
	max-width: 640px;
	height: 97px;
}
@media screen and (max-width: 1000px) {
	.rr_area .links div {
		max-width: calc(100% - 150px);
	}
}
.rr_area .links div:not(:last-child) {
	border-bottom: 1px solid var(--base-border-color03);
}
.rr_area .links div h3 {
	font-size: var(--fz24);
	font-weight: 700;
	margin-bottom: 8px;
}
.rr_area .links div p {
	font-size: var(--fz15);
}
.rr_area .links div a {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 36px;
}

@media screen and (max-width: 930px) {
	.rr_area:after {
		width: 89.3%;
	}
}
@media screen and (max-width: 800px) {
	.rr_area {
		padding-bottom: 2rem;
	}
	.rr_area:after {
		height: 2rem;
	}
	.rr_area .rr_box h2 {
		padding: 3rem 0;
	}
	.rr_area .rr_box h2 img {
		max-width: 100%;
	}
	.rr_area .renovation h2 img {
		width: 45.671641791%;
	}
	.rr_area .estate h2 img {
		width: 41.4925373134%;
	}
	.rr_area .border-box {
		display: block;
	}
	.rr_area .border-box:before {
		border-radius: 40px;
	}
	.rr_area .border-box .img_area {
		position: relative;
		width: 100%;
		border-radius: 40px 40px 0 0;
	}
	.rr_area .border-box .text_area {
		padding: 2rem 2rem 4rem;
	}
	.rr_area .border-box h3 {
		font-size: var(--fz24);
		line-height: 1.3548387097;
		margin-bottom: 4rem;
	}
	.rr_area .estate .border-box .img_area {
		border-radius: 40px 40px 0 0;
	}
	.rr_area .estate .border-box .tit_box {
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
	}
	.rr_area .link_box {
		padding: 2rem;
		border-radius: 0 0 40px 40px;
	}
	.rr_area .link_box:before {
		content: "";
		display: block;
		position: absolute;
		left: -1px;
		bottom: -1px;
		width: 71px;
		height: 71px;
		border-left: 1px solid var(--base-border-color04);
		border-bottom: 1px solid var(--base-border-color04);
	}
	.rr_area .link_box:after {
		content: "";
		display: block;
		position: absolute;
		right: -1px;
		bottom: -1px;
		width: 71px;
		height: 71px;
		border-right: 1px solid var(--base-border-color04);
		border-bottom: 1px solid var(--base-border-color04);
	}
	.rr_area .link_box h2 {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		width: 100%;
		font-size: var(--fz24);
		line-height: 1.1612903226;
		top: auto;
		right: auto;
		margin-bottom: 4rem;
	}
	.rr_area .links div {
		position: relative;
		width: 100%;
		max-width: 100%;
		height: 983x;
		border-top: 1px solid var(--base-border-color03);
	}
	.rr_area .links div:not(:last-child) {
		border-bottom: none;
	}
	.rr_area .links div h3 {
		font-size: var(--fz20);
		margin-bottom: 8px;
	}
	.rr_area .links div p {
		font-size: var(--fz13);
	}
}
/*# sourceMappingURL=top.css.map */