@charset "utf-8";

@media (max-width: 959px) {}

@media (max-width: 519px) {}

@media (min-width: 520px) and (max-width: 719px) {
	:root {
		--text-fv-title: 18px;
	}
}

.text-subtitle {
	color: var(--beige);
	margin-bottom: 30px;
}

.text-title {
	margin-bottom: 20px;
}

@media (max-width: 959px) {
	.text-subtitle {
		margin-bottom: 10px;
	}

	.text-title {
		margin-bottom: 20px;
	}
}

@media (max-width: 519px) {
	.text-title,
	.body {
		font-weight: bold;
	}
}

#contact-menu .pc {
	display: flex;
}

@media (max-width: 959px) {
	#contact-menu .pc {
		display: none;
	}
}

#news .btn,
.more .btn {
	color: var(--black);
	background-color: transparent;
}

#news .btn.arrow::after,
.more .btn.arrow::after {
	background: url(../img/navi_arrow.svg) no-repeat;
	position: relative;
	transition: all ease 0.3s;
}

#news .btn.arrow:hover::after,
.more .btn.arrow:hover::after {
	translate: 10px;
}

#fv {
	height: 100vh;
	height: 100svh;
	background: var(--black);
	color: var(--white);
	position: relative;
	font-size: var(--text-fv-title);
	overflow: hidden;
	/* background: #0000004D; */
}

#fv .top-fv-swiper {
	height: 100vh;
	height: 100svh;
}

#fv .top-fv-swiper .swiper-slide {
	display: flex;
}
#fv .top-fv-swiper .swiper-slide>div {
	position: relative;
	width: 50%;
}
#fv .top-fv-swiper .swiper-slide>div>img {
	min-width: 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* @media (max-width: 959px) { */
@media (max-width: 519px) {
	#fv .top-fv-swiper .swiper-slide {
		flex-direction: column;
	}
	#fv .top-fv-swiper .swiper-slide>div {
		width: 100%;
		height: 50%;
	}
}

#fv .logo,
#fv .text {
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

#fv .text-wrapper {
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

#fv .logo,
#fv .text {
	/* width: 50%; */
	display: flex;
	align-items: center;
	justify-content: center;
}

#fv .logo img {
	max-width: 50%;
	width: 236px;
}

@media (max-width: 519px) {
	#fv .logo {
		align-items: flex-end;
		padding-bottom: 40px;
	}

	#fv .text {
		align-items: flex-start;
		padding-top: 30px;
		text-align: center;
		font-weight: bold;
	}

	#fv .text .en {
		font-weight: normal;
	}
}

#area {
	border-bottom: 1px solid #000000;
	padding: 27px 0;
}

#area ul {
	max-width: 1040px;
	margin: auto;
	display: flex;
}

#area a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

#area a::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: -1;
	transition: all ease 0.3s;
}

#area a svg {
	position: absolute;
	right: 12px;
	top: 0;
	bottom: 0;
	margin: auto;
}

#area .area {
	position: relative;
	align-items: center;
}

#area li {
	display: flex;
	width: 25%;
	align-items: center;
}

#area li+li {
	border-left: 1px solid var(--gray-666);
}

@media (max-width: 959px) {
	#area {
		border-bottom: none;
		padding: 0;
	}

	#area ul {
		flex-wrap: wrap;
		/* gap: 20px 0; */
	}

	#area li {
		width: 50%;
		/* border-bottom: 1px solid var(--gray-666); */
		border-image-source: linear-gradient(to right, transparent 0%, transparent 10%, var(--black) 10%, var(--black) 90%, transparent 90%, transparent 100%);
		border-image-slice: 1;
		border-bottom-width: 1px;
		border-bottom-style: solid;
	}

	#area li+li {
		border-left: none;
	}

	#area li:nth-child(2n) a {
		border-image-source: linear-gradient(to bottom, transparent 0%, transparent 10%, var(--black) 10%, var(--black) 90%, transparent 90%, transparent 100%);
		border-image-slice: 1;
		border-left-width: 1px;
		border-left-style: solid;
	}

	#area a {
		margin: 10px 0;
	}
}

@media (max-width: 519px) {
	#area .area {
		font-weight: bold;
	}
	#area .bottom {
		font-weight: normal;
	}
}

#about-us {
	padding-top: 100px;
}

#about-us .content-width {
	display: flex;
	justify-content: flex-end;
}

#about-us .row {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	width: 89%;
}

@media (max-width: 1280px) {
	#about-us .row {
		width: 96%;
	}
}

.movie img {
	max-width: 100%;
	width: 600px;
}

#about-us .movie {
	max-width: 50%;
	width: 600px;
}

#about-us video {
	max-width: 100%;
}

@media (max-width: 959px) {
	.movie {
		text-align: center;
	}

	#about-us .movie {
		max-width: 100%;
		width: 100%;
	}
}

#about-us .text .body {
	margin-top: 30px;
	margin-left: 80px;
	max-width: 400px;
}

#about-us .more {
	margin-top: 50px;
}

@media (max-width: 959px) {
	#about-us {
		padding-top: 60px;
	}

	#about-us .content-width {
		justify-content: center;
	}

	#about-us .row {
		width: 100%;
		flex-direction: column;
	}

	#about-us video {
		max-width: 100%;
	}

	#about-us .text {
		padding: 0 4%;
	}

	#about-us .text .body {
		margin-top: 20px;
		margin-left: 0;
		max-width: 100%;
	}

	#about-us .more {
		margin-top: 30px;
		font-weight: normal;
	}
}

#point .content-width {
	position: relative;
	padding-top: 280px;
	display: flex;
}

#point .row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
	gap: 20px 125px;
}

#point .text {
	max-width: 450px;
}

@media (max-width: 1280px) {
	#point .row {
		gap: 20px 60px;
	}
}

@media (max-width: 959px) {
	#point .content-width {
		justify-content: center;
		padding-top: 60px;
	}

	#point .row {
		flex-direction: column;
		align-items: flex-start;
	}

	#point .text {
		padding: 0 4%;
	}
}

#point .img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#point-img1 {
	position: absolute;
	top: -70px;
	left: 0;
	right: 0;
	margin: auto;
}

#point-img2 {
	position: absolute;
	top: -30px;
	right: 0;
}

@media (max-width: 959px) {
	#point .img {
		position: relative;
		height: 396px;
	}

	#point-img1 {
		top: auto;
		bottom: 0;
		left: auto;
		right: 0;
		margin: auto;
		max-width: 33%;
		height: auto;
	}

	#point-img2 {
		top: 0;
		left: 0;
		right: auto;
		max-width: 60%;
		height: auto;
	}
}

@media (max-width: 519px) {
	#point .img {
		height: 300px;
	}
}

#point .movie {
	max-width: 50%;
	width: 600px;
}

#point video {
	max-width: 100%;
}

@media (max-width: 959px) {
	#point .movie {
		max-width: 100%;
		width: 100%;
	}
}

#share-house {
	padding-top: 108px;
}

@media (min-width: 960px) {
	#share-house .content-width {
		padding-left: 4%;
	}
}

@media (min-width: 1280px) {
	#share-house .content-width {
		padding-left: 160px;
	}
}

#share-house .text {
	max-width: 60%;
}

@media (max-width: 959px) {
	#share-house .text {
		max-width: 100%;
	}
}

#share-house .img {
	max-width: 1361px;
	margin: auto;
	position: relative;
}

#share-house .img img {
	max-width: 100%;
}

#share-house .img .pc {
	/* margin-top: -180px; */
	margin-top: -200px;
}

#share-house .sp {
	display: none;
}

#share-house .img .area {
	position: absolute;
	isolation: isolate;
	outline: none;
	display: inline-block;
	background-color: #fff;
	border-radius: 100px;
	overflow: hidden;
	transform: translateZ(0);
	transition: all ease 0.3s;
}

#share-house .img .area::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 0.3s ease 0s;
}

#share-house .img .area:hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
}

#share-house .img .area .inner {
	position: relative;
	display: flex;
	z-index: 3;
	border: 1px solid var(--black);
	border-radius: 30px;
	align-items: center;
	flex-direction: row;
	font-size: 18px;
	padding: 8px 32px 8px 15px;
	transition: all ease 0.3s;
}

#share-house .img .area .pref {
	font-size: 14px;
}

#share-house .img .inner .coming_soon {
	font-size: 12px;
	margin-left: 10px;
}

#share-house .img .inner::after {
	content: '';
	background: url(../img/navi_arrow.svg) no-repeat;
	position: relative;
	transition: all ease 0.3s;
	display: block;
	margin: auto;
	right: -10px;
	top: 0;
	bottom: 0;
	width: 19px;
	height: 14px;
	margin-bottom: 4px;
}

#share-house .img .inner:hover::after {
	translate: 10px;
}

#share-house .img .sapporo {
	top: 33%;
	left: 50%;
}

#share-house .img .sapporo::before {
	/* background-color: #FCEAEA; */
	background-color: var(--sapporo-pink);
}

#share-house .img .nerima {
	top: 73%;
	left: 35%;
}

#share-house .img .nerima::before {
	/* background-color: #E9F8F9; */
	background-color: var(--nerima-blue);
}

#share-house .img .shinkoiwa {
	top: 70%;
	left: 50%;
}

#share-house .img .shinkoiwa::before {
	/* background-color: #F7FAEE; */
	background-color: var(--shinkoiwa-green);
}

#share-house .img .shiki {
	top: 55%;
	left: 35%;
}

#share-house .img .shiki::before {
	/* background-color: #FFFCEC; */
	background-color: var(--saitama-yellow);
}

@media (max-width: 959px) {
	#share-house {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	#share-house .pc {
		display: none;
	}

	#share-house .sp {
		display: block;
	}

	#share-house .text {
		padding: 0 4%;
	}

	#share-house .img {
		text-align: center;
	}

	#share-house .pref-map {
		padding: 15px 4% 50px 4%;
	}

	#share-house .area-map+.area-map {
		margin-top: 10px;
	}

	#share-house .img .sapporo {
		top: 15.3%;
		left: 24%;
	}

	#share-house .img .nerima {
		top: 36%;
		left: 23%;
	}

	#share-house .img .shinkoiwa {
		top: 37%;
		left: 59%;
	}

	#share-house .img .shiki {
		top: 22%;
		left: 24%;
	}
}

@media (max-width: 780px) {
	#share-house .img .sapporo {
		top: 15.7%;
		left: 20%;
	}

	#share-house .img .nerima {
		top: 37%;
		left: 20%;
	}

	#share-house .img .shinkoiwa {
		top: 37.7%;
		left: 60%;
	}

	#share-house .img .shiki {
		top: 22.4%;
		left: 20%;
	}
}

@media (max-width: 600px) {
	#share-house .img .area .inner {
		font-size: 14px;
		padding: 4px 24px 4px 8px;
	}

	#share-house .img .area::after {
		margin-bottom: 0;
	}

	#share-house .img .sapporo {
		top: 15.7%;
		left: 15%;
	}

	#share-house .img .nerima {
		top: 37%;
		left: 15%;
	}

	#share-house .img .shinkoiwa {
		top: 38%;
		left: 55%;
	}

	#share-house .img .shiki {
		top: 22.4%;
		left: 15%;
	}
}

@media (max-width: 420px) {
	#share-house .img .sapporo {
		top: 15.7%;
		left: 4%;
	}

	#share-house .img .nerima {
		top: 36.5%;
		left: 4%;
	}

	#share-house .img .shinkoiwa {
		top: 37.5%;
		left: auto;
		right: 5%;
	}

	#share-house .img .shiki {
		top: 22.4%;
		left: 4%;
	}
}

#merit {
	margin-top: -25px;
	background: var(--gray-eee);
	padding: 80px 0;
	text-align: center;
}

#merit .text-subtitle {
	margin-bottom: 20px;
}

#merit .items-wrapper {
	display: flex;
	justify-content: center;
}

#merit .items {
	display: flex;
	gap: 40px;
	overflow-x: auto;
	text-align: left;
	margin: 60px auto;
	padding: 0 20px;
}

#merit .item {
	width: 380px;
	flex-shrink: 0;
}

#merit .item img {
	width: 100%;
}

#merit .list {
	overflow-x: hidden;
	position: relative;
	padding-bottom: 40px;
}

#merit .merit-swiper {}

#merit .merit-swiper .swiper-slide {
	display: block;
	width: 381px;
	text-align: left;
}

#merit .merit-swiper .swiper-scrollbar {
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 280px;
	height: 2px;
	background-color: var(--white);
}

#merit .merit-swiper .swiper-scrollbar-drag {
	background-color: var(--beige);
}

#merit .text-merit-title {
	margin-top: 30px;
	margin-bottom: 20px;
}

html[lang="en"] #merit .text-merit-title {
	line-height: 1.4;
}

#merit .more {
	margin-top: 60px;
}

@media (max-width: 959px) {
	#merit {
		margin-top: 0;
		padding: 60px 4%;
	}

	#merit .items {
		margin-top: 0;
	}

	#merit .item {
		width: 100%;
	}

	#merit .merit-swiper .swiper-scrollbar {
		width: 80%;
	}

	#merit .more {
		margin-top: 20px;
	}
}

#news {
	padding: 80px 20px;
}

@media (max-width: 959px) {
	#news {
		padding: 60px 30px;
	}
}

#news .content {
	display: flex;
	justify-content: space-between;
	max-width: 1190px;
	margin: auto;
	position: relative;
}

@media (max-width: 959px) {
	#news .content {
		flex-direction: column;
	}
}

#news .more {
	margin-top: 50px;
}

#news .more .btn {
	width: 216px;
}

@media (max-width: 959px) {
	#news .text-title {
		margin-bottom: 0;
	}

	#news .more {
		position: absolute;
		top: 20px;
		right: 0;
		margin-top: 0;
	}

	#news .more .btn {
		width: 134px;
		padding: 16px 0;
	}

	#news .more .btn.arrow::after {
		width: 19px;
		right: 0;
	}
}

#news .right {
	max-width: 940px;
	width: 100%;
}

#news .right .btn {
	border-bottom: 1px solid #CCCCCC;
	gap: 20px;
	width: 100%;
}

#news .right .btn .title {
	width: 100%;
}

@media (max-width: 959px) {
	#news .right {
		margin-top: 30px;
	}

	#news .right .btn {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding: 20px 0;
	}

	#news .right .btn.arrow::after {
		content: none;
	}
}

#news .date {
	font-size: var(--text-subtitle);
	color: var(--beige);
}

#sns {
	background: var(--gray-eee);
	padding: 80px 0;
}

#sns .content {
	display: flex;
	justify-content: space-between;
	max-width: 1062px;
	margin: auto;
}

@media (max-width: 959px) {
	#sns {
		padding: 60px 4%;
	}

	#sns .content {
		flex-direction: column;
	}
}

#sns .instagram {
	max-width: 500px;
	width: 100%;
}

#sns .facebook {
	max-width: 482px;
}

@media (max-width: 959px) {
	#sns .facebook {
		padding-top: 40px;
	}
}

#sns .fbbox {
	max-width: 100%;
}

#sns .text-title-en {
	color: var(--beige);
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
}