/* legacy-apart.css — sources: apart.css */


/* ===== apart.css ===== */


@charset "utf-8";
.legacy-page-content #header.apart-header{
	background-position: center 28%;
}
.legacy-page-content .top-message{
	max-width: 690px;
	padding-right: 25px;
	padding-left: 25px;
	margin: 100px auto 80px auto;
	font-family: var(--sans-serif);
}
@media only screen and (max-width: 768px) {
	.legacy-page-content .top-message{
		margin-top: 70px;
	}
}
.legacy-page-content .top-message h2{
	font-size: 22px;
	font-weight: 500;
	margin-bottom: 50px;
}
.legacy-page-content .top-message .text{
	font-weight: 400;
	line-height: 1.7;
}
/* 2つの参考プラン */
.legacy-page-content #plan{
	padding-top: 60px;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content #plan{
		padding-top: 0;
	}
}
.legacy-page-content #plan .ttl{
	margin: 0;
	margin-bottom: 60px;
}
.legacy-page-content .apart-tit-01{
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--serif);
	font-size: 18px;
	font-weight: 500;
}
.legacy-page-content .apart-tit-01::after{
	content: '';
	flex: 1;
	display: block;
	width: 100%;
	height: 1px;
	background-color: #787878;
}
.legacy-page-content .apart-plan-panel + .apart-plan-panel{
	margin-top: 110px;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-plan-panel + .apart-plan-panel{
		margin-top: 50px;
	}
}
.legacy-page-content .apart-plan-panel .box{
	margin-top: 75px;
	position: relative;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-plan-panel .box{
		margin-top: 35px;
	}
}
.legacy-page-content .apart-plan-panel .box p{
	position: absolute;
	top: 40px;
	left: 40px;
}
@media only screen and (max-width: 960px) {
	.legacy-page-content .apart-plan-panel .box p{
		margin-bottom: 30px;
		position: relative;
		inset: auto;
	}
	.legacy-page-content .apart-plan-panel .box img{
		max-width: none;
		width: calc(100% + 50px);
		margin-left: -25px;
	}
}
.legacy-page-content .apart-plan-list{
	display: flex;
	gap: 20px 4.5%;
	margin-top: 60px;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-plan-list{
		flex-direction: column;
		margin-top: 20px;
	}
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-plan-list > li{
		text-align: center;
	}
}
/* 入居者に選ばれる設備・仕様 */
.legacy-page-content #spec{
	background-color: #e5e8ec;
	padding-top: 110px;
	padding-bottom: 110px;
	margin-top: 150px;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content #spec{
		padding-top: 60px;
		padding-bottom: 60px;
		margin-top: 60px;
	}
}
.legacy-page-content #spec .ttl{
	margin: 0;
	margin-bottom: 60px;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content #spec .ttl{
		margin-bottom: 40px;
	}
}
.legacy-page-content .apart-spec-list{
	display: flex;
	gap: 59px 5.9%;
	flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-spec-list{
		gap: 35px 5.9%;
	}
}
.legacy-page-content .apart-spec-list > li{
	width: calc((100% - 11.8%) / 3);
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-spec-list > li{
		width: 100%;
	}
}
.legacy-page-content .apart-spec-list > li span{
	display: block;
	font-family: var(--serif);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: -0.08em;
	margin-top: 25px;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-spec-list > li span{
		margin-top: 15px;
	}
}
/* 施工事例 */
@media only screen and (max-width: 640px) {
	.legacy-page-content #works .ttl{
		margin-top: 60px;
		margin-bottom: 40px;
	}
}
.legacy-page-content .slider-thumbnail{
	margin-top: 40px;
}
.legacy-page-content .slider-thumbnail .swiper-slide{
	cursor: pointer;
}
.legacy-page-content .slider-thumbnail .swiper-slide-thumb-active{
	opacity: .5;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .slider-main,
	.legacy-page-content .slider-thumbnail{
		display: none;
	}
}
.legacy-page-content .apart-works-list{
	display: none;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-works-list{
		display: block;
	}
	.legacy-page-content .apart-works-list > li + li{
		margin-top: 10px;
	}
}
/* 利回り例 */
.legacy-page-content #yield{
	background-color: #1d3256;
	padding-top: 120px;
	padding-bottom: 120px;
	margin-top: 120px;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content #yield{
		padding-top: 60px;
		padding-bottom: 60px;
		margin-top: 20px;
	}
}
.legacy-page-content #yield .ttl{
	margin: 0;
}
.legacy-page-content #yield .ttl,
.legacy-page-content #yield .ttl span{
	color: #fff;
}
.legacy-page-content .apart-yield-list{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 60px;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-yield-list{
		margin-top: 40px;
	}
}
.legacy-page-content .apart-yield-list > li{
	width: calc((100% - 10px) / 2);
	background-color: #fff;
	padding: 35px 30px;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-yield-list > li{
		width: 100%;
	}
}
.legacy-page-content .apart-yield-dl *{
	font-family: var(--serif);
	color: #1d3256;
}
.legacy-page-content .apart-yield-dl dt{
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	border-bottom: 1px solid #1d3256;
	padding-bottom: 10px;
}
.legacy-page-content .apart-yield-dl dd{
	font-weight: 500;
	text-align: center;
	margin-top: 25px;
}
.legacy-page-content .apart-yield-dl dd span{
	display: block;
	font-size: 18px;
	font-weight: bold;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-yield-dl dd span{
		font-size: 20px;
	}
}
.legacy-page-content .apart-yield-dl dd small{
	font-size: 14px;
}
.legacy-page-content .apart-yield-box{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 76px;
	width: 100%;
	max-width: 560px;
	margin-top: 50px;
	margin-inline: auto;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-yield-box{
		flex-direction: column;
	}
}
.legacy-page-content .apart-yield-box *{
	font-family: var(--serif);
	font-weight: 500;
	color: #fff;
	text-align: left;
}
.legacy-page-content .apart-yield-box p{
	font-size: 14px;
	position: relative;
}
.legacy-page-content .apart-yield-box p:first-of-type::after,
.legacy-page-content .apart-yield-box p:nth-of-type(2)::after{
	content: '';
	display: block;
	width: 36px;
	aspect-ratio: 1;
	background: url(../../img/common/icon_division.svg) center / contain no-repeat;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	left: calc(100% + 38px);
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-yield-box p:first-of-type::after,
	.legacy-page-content .apart-yield-box p:nth-of-type(2)::after{
		top: calc(100% + 38px);
		left: 50%;
	}
}
.legacy-page-content .apart-yield-box p:nth-of-type(2)::after{
	background-image: url(../../img/common/icon_equal.svg);
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-yield-box p:nth-of-type(2)::after{
		transform: translate(-50%, -50%) rotate(90deg);
	}
}
.legacy-page-content .apart-yield-box p.large{
	font-size: 30px;
}
.legacy-page-content .apart-yield-box p span{
	display: block;
	font-size: 20px;
}
.legacy-page-content .apart-yield-box p small{
	font-size: 14px;
}
.legacy-page-content .apart-yield-text{
	font-family: var(--serif);
	font-size: 33px;
	font-weight: 500;
	color: #fff500;
	max-width: max-content;
	margin-top: 40px;
	margin-inline: auto;
}
.legacy-page-content .apart-yield-text::after{
	content: '';
	display: block;
	width: calc(100% + 30px);
	height: 4px;
	border-top: 1px solid #fff500;
	border-bottom: 1px solid #fff500;
	margin-left: -15px;
}
.legacy-page-content .apart-yield-text span{
	font-size: 54px;
}
.legacy-page-content .apart-yield-text small{
	font-size: 30px;
}
.legacy-page-content .apart-yield-text-02{
	font-size: 14px;
	color: #fff;
	letter-spacing: -0.05em;
}
/* 資料請求でパンフレットを無料プレゼント */
.legacy-page-content #present{
	padding-top: 120px;
	padding-bottom: 120px;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content #present{
		padding-top: 60px;
		padding-bottom: 60px;
	}
}
.legacy-page-content #present .ttl{
	margin: 0;
}
.legacy-page-content .apart-present-img{
	width: 100%;
	max-width: 250px;
	margin-top: 20px;
	margin-inline: auto;
}
.legacy-page-content .apart-present-list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 20px;
}
.legacy-page-content .apart-present-list > li{
	width: calc((100% - 20px) / 2);
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-present-list > li{
		width: 100%;
	}
}
.legacy-page-content .apart-present-list > li.tel{
	background-color: #656565;
}
.legacy-page-content .apart-present-list > li.mail{
	background-color: #172544;
}
.legacy-page-content .apart-present-list > li a{
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	padding: 31px 35px 31px 80px;
	position: relative;
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-present-list > li a{
		padding: 16px 60px;
	}
}
.legacy-page-content .apart-present-list > li a::before{
	content: '';
	display: block;
	width: 30px;
	aspect-ratio: 1;
	background: center / contain no-repeat;
	position: absolute;
	top: 50%;
	left: 35px;
	transform: translateY(-50%);
}
@media only screen and (max-width: 640px) {
	.legacy-page-content .apart-present-list > li a::before{
		left: 25px;
	}
}
.legacy-page-content .apart-present-list > li.tel a::before{
	background-image: url(../../img/common/icon_tel.svg);
}
.legacy-page-content .apart-present-list > li.mail a::before{
	background-image: url(../../img/common/icon_mail.svg);
}
.legacy-page-content .apart-present-list > li a::after{
	content: '';
	display: block;
	width: 10px;
	height: 5px;
	background: url(../../img/common/arrow_w.svg) center / contain no-repeat;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}
@media (any-hover: hover) {
	.legacy-page-content .apart-present-list > li a:hover::before{
		animation: shake 0.4s ease;
	}
}
@keyframes shake {
	0%   { rotate: 0; }
	16%  { rotate: 12deg; }
	32%  { rotate: -10deg; }
	48%  { rotate: 8deg; }
	64%  { rotate: -6deg; }
	80%  { rotate: 4deg; }
	96%  { rotate: -2deg; }
	100% { rotate: 0deg; }
}
