@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/

:root {
	--main-color: #000;
	--sub-color: #fff;
}

html,
button,
input,
select,
textarea {
	/* 不要な指定は消す */
	font-family: "Playfair Display", serif;
	font-family: "Noto Serif JP", serif;
}

body {
	color: #1a1a1a;
	font-size: 16px;
	line-height: 1.7;
	min-width: 1240px;
}

.no-scroll {
	overflow: hidden;
	position: fixed;
	width: 100%;
}

a[href $='.pdf'] {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	/* text-decoration: underline; */
	color: #000;
	line-height: 1.5;
}

a[href $='.pdf']::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 30px;
	height: 38px;
	background-image: url(/wp-content/themes/child/image/icon/icon_pdf.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin-right: 15px;
}

a[href $='.pdf']:hover {
	text-decoration: none;
}

.wrap {
	width: 1140px;
	margin: 0 auto;
}

.wrap.mid {
	width: 1240px;
}

.wrap.lr {
	width: 1340px;
}

/* PC固定ページ 共通設定 */
.common_page_main {
	position: relative;
	padding-top: 214px;
	padding-bottom: 192px;
}

.common_page_main .bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
}

.common_page_main .bg .image {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.common_page_main .bg .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.common_page_main .bg .image::before {
	content: "";
	position: absolute;
	background: transparent linear-gradient(180deg, #64220000 0%, #5D200067 100%) 0% 0% no-repeat padding-box;
	mix-blend-mode: multiply;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.common_page_main .bg .image::after {
	content: "";
	position: absolute;
	background: transparent linear-gradient(1deg, #08070600 0%, #080706B2 100%) 0% 0% no-repeat padding-box;
	mix-blend-mode: multiply;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.common_page_main .title_box {
	text-align: left;
	position: relative;
}

.common_page_main .title_box .title {
	font-size: 44px;
	letter-spacing: 0.24em;
	font-weight: 600;
	line-height: 1.45;
	color: #fff;
}

.common_page_main .title_box .sub_title {
	position: absolute;
	font-family: "Playfair Display", serif;
	font-size: 110px;
	font-weight: 400;
	line-height: 1.33;
	letter-spacing: 0.02em;
	color: #fff;
	opacity: 0.24;
	bottom: -28px;
	left: 0;
	text-transform: capitalize;
}

.common_page_wrap {
	padding: 120px 0 120px;
}



.not_found .text {
	text-align: center;
}

.reserve_text {
	text-align: center;
	font-size: 30px;
}

/* パンくず */
.breadcrumb {
	position: absolute;
	font-size: 12px;
	color: #E3E3E3;
	letter-spacing: .08em;
	left: 150px;
	bottom: 30px;
	z-index: 1;
}

.breadcrumb a {
	text-decoration: none;
	color: #fff;
}

/* PC固定ページ お問い合わせ */
.contact_form_disc {
	color: #3E3E3E;
	letter-spacing: .08em;
	font-weight: 400;
	text-align: center;
	margin-block: 0 3.8em;
}

.contact_form_disc .attention_list {
	background: #f1f1f1;
	padding: 20px;
}

.contact_form_disc .attention_list a {
	color: blue;
	text-decoration: underline;
}

.contact_form_disc .attention_list ul li {
	position: relative;
	padding-left: 20px;
	font-size: 14px;
	text-align: left;
}

.contact_form_disc .attention_list ul li+li {
	margin-top: 10px;
}

.contact_form_disc .attention_list ul li:before {
	content: "";
	width: 7px;
	height: 7px;
	background: #333;
	border-radius: 100%;
	position: absolute;
	left: 0;
	top: 10px;
}

.contact_form_disc .text {
	font-size: 16px;
	margin-block: 0 1em;
}

.contact_form_disc .caution {
	font-size: 14px;
}

.common_contact_form .form_box {
	margin-block: 0 50px;
}

.common_contact_form .form_box dl {
	display: grid;
	grid-template-columns: 26.5% 1fr;
	align-items: center;
	gap: 80px;
}

.common_contact_form .form_box dl.start {
	align-items: flex-start;
}

.common_contact_form .form_box dl+dl {
	margin-block: 1.6em 0;
}

.common_contact_form .form_box dl dt {
	display: flex;
	align-items: center;
	gap: 1.3em;
	font-size: 16px;
	letter-spacing: .08em;
	font-weight: 700;
	padding-inline: 0 0.5em;
	position: relative;
}

.common_contact_form .form_box dl dt .label {
	flex-shrink: 0;
	color: #3E3E3E;
	font-size: 12px;
	letter-spacing: .2em;
	font-weight: 700;
	border-radius: 100vmax;
	padding: 0.2em 0.9em;
}

.common_contact_form .form_box dl dt .label.hissu {
	background: #C70000;
	color: #fff;
}

.common_contact_form .form_box dl dt .label.ninni {
	background: #E0E0E0;
}

.common_contact_form .form_box dl dt::after {
	content: "";
	width: 1px;
	height: 30px;
	background: #AAA;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.common_contact_form input[type="text"],
.common_contact_form input[type="email"],
.common_contact_form #zip {
	width: 100%;
	background: #F8F8F8;
	border: 1px solid #E6E6E6;
	border-radius: 4px;
	font-size: 14px;
	letter-spacing: .08em;
	font-weight: 400;
	padding: 0.8em 1em;
}

.common_contact_form textarea {
	width: 100%;
	height: 180px;
	background: #F8F8F8;
	border: 1px solid #E6E6E6;
	border-radius: 4px;
	padding: 1em;
	font-size: 14px;
	letter-spacing: .08em;
	font-weight: 400;
}

.common_contact_form input::placeholder,
.common_contact_form textarea::placeholder {
	color: #C7C4C4;
}

.common_contact_form select {
	width: 47.5%;
	background: #F8F8F8;
	border: 1px solid #E6E6E6;
	border-radius: 4px;
	font-size: 14px;
	letter-spacing: .08em;
	padding: 1.1em 1em;
}

.common_contact_form select.empty {
	color: #C7C4C4;
}

.page_contact .privacy_link {
	text-align: center;
	margin-top: 25px;
}

.page_contact .privacy_link a {
	color: blue;
	text-decoration: underline;
}

.page_contact #btn_wrap {
	justify-content: center;
	text-align: right;
	width: 74%;
	margin: auto;
}

.page_contact #btn_wrap button {
	background-color: var(--main-color);
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	color: #fff;
	display: block;
	width: 310px;
	line-height: 60px;
	font-size: 18px;
	font-weight: 900;
	transition: .3s;
	text-align: center;
	letter-spacing: .08em;
	margin: auto;
}

.page_contact #btn_wrap button[name="submitBack"] {
	background: #333;
	margin-top: 20px;
}

.page_contact #btn_wrap button:hover {
	opacity: .8;
}

.privacy_term_outer .privacy_term_inner {
	height: 138px;
	margin: auto;
	overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
	font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
	font-size: 13px;
	margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
	font-size: 13px;
	border-left: solid 3px #ccc;
	padding-left: 1em;
	margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
	font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl+dl {
	margin-top: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
	width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
	background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
	background-color: #333;
	border-radius: 10px;
}

.privacy_term_outer {
	border-top: solid 1px #e3e3e3;
	padding: 30px 0;
	border-bottom: solid 1px #e3e3e3;
	width: 60%;
	margin: 0 auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
	padding-right: 0;
}

.privacy_check_list .error {
	font-size: 12px;
}

.privacy_term_detail {
	text-align: center;
	font-size: 13px;
	margin: 20px 0;
	position: relative;
	font-weight: 600;
}

.privacy_term_detail::after {
	content: "";
	margin: 5px auto 0;
	border: solid #333;
	border-width: 2px 2px 0 0;
	width: 10px;
	aspect-ratio: 1 / 1;
	min-width: 0;
	rotate: 135deg;
	display: block;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
	display: none;
}

/* ラジオボタン デザイン */
.radio_btns,
.checkboxes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 1.5em;
	padding: .5em 0;
}

/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
	display: none;
}

.radio_btns label {
	display: inline-block;
	cursor: pointer;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item+span {
	color: #3E3E3E;
	font-size: 15px;
	letter-spacing: .08em;
	font-weight: 600;
	padding-left: 2em;
	display: inline-block;
	position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item+span::before,
.radio_btns .radio_btns__item+span::after {
	content: '';
	display: block;
	position: absolute;
	border: 1px solid #E6E6E6;
	background: #F8F8F8;
	border-radius: 50%;
	width: 20px;
	aspect-ratio: 1;
	min-width: 0;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item+span::after {
	width: 10px;
	aspect-ratio: 1;
	min-width: 0;
	top: 0px;
	left: 5px;
	border: none;
	background: #5A5A5A;
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
	transition: all .3s;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked+span::after {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

/* チェックボックス デザイン */
.page_contact input[type="checkbox"] {
	/* デフォルトcheckボックス非表示*/
	display: none;
}

.mwform-checkbox-field label {
	cursor: pointer;
}

.mwform-checkbox-field-text {
	color: #3E3E3E;
	font-size: 15px;
	letter-spacing: .08em;
	font-weight: 600;
	display: inline-block;
	position: relative;
	padding: 0 0 0 30px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
	content: "";
	position: absolute;
	display: block;
}

.mwform-checkbox-field-text::before {
	background: #F8F8F8;
	border: 1px solid #E6E6E6;
	border-radius: 2px;
	width: 20px;
	aspect-ratio: 1 / 1;
	min-width: 0;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
	border-width: 3px;
	border-color: transparent transparent #333 #333;
	border-style: solid;
	width: 20px;
	aspect-ratio: 2/1;
	min-width: 0;
	margin-top: -0.2em;
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(-45deg);
	opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
	opacity: 1;
}

.mw_wp_form .horizontal-item {
	display: inline-block;
}

.mw_wp_form .horizontal-item+.horizontal-item {
	margin-left: 0 !important;
}

/* サンクスページ */

.page_contact .thanks_textArea .name {
	font-size: 16px;
	line-height: 2;
	text-align: center;
	margin-bottom: 20px;
}

.page_contact .thanks_textArea .contact_text {
	margin: 0 auto 50px;
	font-size: 14px;
	line-height: 2;
	text-align: center;
}

.page_contact .thanks_textArea .ichiran_link {
	background-color: var(--main-color);
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	color: #fff;
	display: block;
	width: 300px;
	line-height: 50px;
	border-radius: 4px;
	font-size: 16px;
	transition: .3s;
	margin: 0 auto;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: .08em;
	text-align: center;
}

.page_contact .thanks_textArea .ichiran_link:hover {
	opacity: .8;
}

.page_contact .thanks_textArea .contact_text .space {
	display: block;
}

.page_contact .thanks_textArea .contact_text .space {
	display: block;
	margin-top: 10px;
}

/* ステップバー デザイン */
.page_contact .progressbar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5.6em;
	margin-block: 0 3em;
}

.page_contact .progressbar .item {
	color: #3E3E3E;
	font-size: 14px;
	letter-spacing: .08em;
	font-weight: 400;
	text-align: center;
	line-height: 1.5;
	position: relative;
}

.page_contact .progressbar .item+.item::before {
	content: "";
	width: 50px;
	height: 1px;
	background: #E6E6E6;
	position: absolute;
	top: 64%;
	left: -5em;
}

.page_contact .progressbar .item .mark {
	width: 36px;
	aspect-ratio: 1;
	background: #fff;
	border: 1px solid #AFAFAF;
	border-radius: 50%;
	display: block;
	margin: 0 auto 0.5em;
	position: relative;
}

.page_contact .progressbar .item .mark::before {
	content: "";
	width: 41%;
	aspect-ratio: 1;
	background: #5A5A5A;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	opacity: 0;
}

.page_contact .progressbar .item.active .mark::before {
	opacity: 1;
}

.page_contact .progressbar .item .en {
	display: block;
	color: #A7A7A7;
	letter-spacing: 0;
	font-family: 'Helvetica', 'Arial', sans-serif;
}

/*物件一覧ページ*/
.page_detached_house,
.page_income_property {
	padding-top: 120px;
	padding-bottom: 120px;
}

.common_archive_property .lists {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 50px 30px;
	align-items: stretch;
}

.common_archive_property .list a {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.common_archive_property .list .image {
	overflow: hidden;
	width: 100%;
}

.common_archive_property .list .image img {
	max-width: initial !important;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	width: 100% !important;
	height: auto !important;
}

.common_archive_property .list .body {
	padding-top: 20px;
	padding-bottom: 20px;
	flex-grow: 1;
}

.common_archive_property .list .title {
	position: relative;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.1em;
	font-weight: bold;
	padding-bottom: 8px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	/* 行数指定 */
}

.common_archive_property .list .title::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 1px;
	background-color: #D34700;
}

.common_archive_property .list .description {
	font-weight: 700;
	margin-top: 12px;
	font-size: 18px;
	line-height: 1.5;
}

.common_archive_property .list .description span {
	font-size: 30px;
	color: #D80000;
}


.common_archive_property .list .category {
	display: flex;
	align-items: center;
	gap: 8px;
}

.common_archive_property .list .category span {
	display: inline-block;
	font-size: 12px;
	line-height: 1.5;
	padding: 3px 8px;
	background-color: #D34700;
	color: #fff;

}

.privacy_check_list {
	justify-content: center;
	margin-bottom: 25px;
}

.privacy_check_list .text_box {
	align-items: center;
	background: #f1f1f1;
	padding: 30px;
	margin-bottom: 25px;
}

.privacy_check_list .text {
	margin-bottom: 1em;
	text-align: center;
	font-weight: 700;
	border-bottom: 1px solid;
	padding-bottom: 15px;
}

.privacy_check_list ul li {
	position: relative;
	padding-left: 20px;
	font-size: 14px;
}

.privacy_check_list ul li+li {
	margin-top: 10px;
}

.privacy_check_list ul li:before {
	content: "";
	width: 7px;
	height: 7px;
	background: #333;
	border-radius: 100%;
	position: absolute;
	left: 0;
	top: 10px;
}

.privacy_check_list .hissu {
	background: #c70200;
	color: #fff;
	padding: 2px 15px;
	font-size: 10px;
	letter-spacing: .08em;
	border-radius: 30px;
	font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
	margin: 0;
}

/* PC固定ページ 404ページ */
#page_404 {
	text-align: center;
}

#page_404 .num {
	font-size: 100px;
	font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
	margin-bottom: 1em;
	font-size: 16px;
}

/* PC固定ページ アーカイブページ */
/* 投稿リスト表示 */
.archive_page_list>article {
	padding-bottom: 15px;
	padding-top: 15px;
	border-bottom: 1px dashed #eee;
	padding-right: 30px;
}

.archive_page_list>article:after {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	top: 0;
	right: 5px;
	bottom: 0;
	margin: auto;
	border: solid #ccc;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
}

.archive_page_list>article .date {
	font-weight: bold;
	font-size: 80%;
	width: 100px;
}

.archive_page_list>article .content_area {
	width: calc(100% - 100px);
}

.archive_page_list>article .content_area .ttl {
	font-weight: bold;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.archive_page_list>article .content_area .content {
	font-size: 80%;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* wp-pagenavi base */
.wp-pagenavi {
	text-align: center;
	margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
	display: inline-block;
	color: #999;
	background-color: #FFF;
	border: solid 1px #e0e0d2;
	padding: 8px 15px;
	margin: 0 2px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration: none;
}

.wp-pagenavi a:hover {
	color: #FFF;
	background-color: var(--main-color);
	border-color: var(--main-color);
}

.wp-pagenavi .current {
	color: #FFF;
	background-color: var(--main-color);
	border-color: var(--main-color);
	font-weight: bold;
}

/* カスタムCSS　記述下記から */
/* ヘッダー */

.pc_header {
	background-color: transparent;
	height: auto;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	min-width: 1220px;
	transition: all 0.3s ease;
}

.pc_header.change-color {
	background-color: rgba(29, 29, 29, 0.8);
}

.pc_header .container {
	height: inherit;
	padding: 22px 50px 17px;
	display: flex;
	justify-content: space-between;
}

.pc_header .logo {
	flex: 0 0 166px;
}

.pc_header .logo img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.pc_header .pc_nav {
	flex-grow: 1;
}

.pc_header .nav_lists {
	display: flex;
	gap: 45px;
	justify-content: end;
}

.pc_header .nav_list {
	position: relative;
	padding-top: 10px;
	padding-bottom: 24px;
}

.pc_header .nav_lists .nav_list.dropdown {
	position: relative;
}

.pc_header .nav_lists .nav_text {
	position: relative;
	font-size: 14px;
	line-height: 1.42;
	letter-spacing: 0.2em;
	color: #F0F0F0;
}

.pc_header .nav_lists .nav_list.dropdown .nav_text {
	position: relative;
}

.pc_header .nav_lists .nav_list.dropdown .nav_text::before {
	content: "";
	position: absolute;
	width: 6px;
	height: 6px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	bottom: -12px;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
	transition: all 0.3s ease;
	transform-origin: center;
}

.pc_header .nav_lists .nav_list .nav_text::after {
	content: "";
	position: absolute;
	width: 0%;
	height: 1px;
	background-color: #F0F0F0;
	bottom: -2px;
	left: 0;
	transition: all 0.3s ease;
}

.pc_header .menu {
	position: absolute;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	min-width: 246px;
	padding-top: 30px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

.pc_header .menu .lists {
	position: relative;
	padding: 20px 15px;
	background-color: rgba(29, 29, 29, 0.8);
}

.pc_header .menu .lists::before {
	content: "";
	position: absolute;
	width: 15px;
	height: 10px;
	background-color: rgba(29, 29, 29, 0.8);
	top: -9px;
	left: 50%;
	transform: translateX(-50%);
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.pc_header .menu .lists li {
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(240, 240, 240, 0.5);

}

.pc_header .menu .lists .text {
	position: relative;
	font-size: 13px;
	line-height: 1.42;
	letter-spacing: 0.2em;
	color: #F0F0F0;
}

.pc_header .menu .lists .text::before {
	content: "";
	position: absolute;
	width: 0%;
	height: 1px;
	background-color: #F0F0F0;
	bottom: -4px;
	left: 0;
	transition: all 0.3s ease;
}

.vanish_header {
	opacity: 1;
	transition: all 0.3s ease;
}

.vanish_header.fade-out {
	opacity: 0;
	pointer-events: none;
}

.vanish_header.fade-in {
	opacity: 1;
	pointer-events: auto;
}


/* メインビジュアル */
.top_fv {
	height: 100%;
	width: 100%;
}

.top_fv .container {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 100vh;
}

.top_fv .image_wrapper {
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	overflow: hidden;
	top: 0;
	left: 0;
}

@keyframes zoomUp {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.15);
	}
}

.top_fv .swiper-slide-active .image,
.top_fv .swiper-slide-duplicate-active .image,
.top_fv .swiper-slide-prev .image {
	animation: zoomUp 7s linear 0s normal both;
}

.top_fv .image_wrapper .swiper {
	width: 100%;
	height: inherit;
}

.top_fv .image_wrapper .swiper .swiper-wrapper {
	width: 100%;
	height: inherit;
}

.top_fv .image_wrapper .swiper .swiper-slide {
	width: 100%;
	height: inherit;
}

.top_fv .image_wrapper .image {
	width: 100%;
	height: inherit;
	position: relative;
}

.top_fv .image_wrapper .image::before {
	content: "";
	position: absolute;
	background: transparent linear-gradient(180deg, #64220000 0%, #5D200067 100%) 0% 0% no-repeat padding-box;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	mix-blend-mode: multiply;
	z-index: 1;
}

.top_fv .image_wrapper .image::after {
	content: "";
	position: absolute;
	background: transparent linear-gradient(1deg, #08070600 0%, #080706B2 100%) 0% 0% no-repeat padding-box;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	mix-blend-mode: multiply;
	z-index: 2;

}


.top_fv .image_wrapper .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top_fv .title_wrapper {
	margin-left: 100px;

}

.top_fv .title_wrapper .lead {
	font-size: 44px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.24em;
	color: #fff;
}

.top_fv .title_wrapper .lead_en {
	margin-top: 20px;
	font-family: "Playfair Display", serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0.02em;
	color: #fff;
}

.top_fv .progress-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 10px;
	background: transparent linear-gradient(90deg, #C94100 0%, #EF6F31 49%, #EA5D16 100%) 0% 0% no-repeat padding-box;
	width: 0%;
	z-index: 10;
}

.top_fv .swiper-pagination {
	position: absolute;
	bottom: 36px;
	left: initial;
	width: initial;
	right: 100px;
	display: flex;
	gap: 4px;
	z-index: 20;
}

.top_fv .swiper-pagination-bullet {
	width: 50px;
	height: 4px;
	background: #BAB9B9 0% 0% no-repeat padding-box;
	/* 非アクティブ時 */
	opacity: 1;
	/* Swiperの初期スタイルを上書き */
	border-radius: 2px;
	transition: background 0.3s;
}

.top_fv .swiper-pagination-bullet-active {
	background: transparent linear-gradient(90deg, #C94100 0%, #EF6F31 49%, #EA5D16 100%) 0% 0% no-repeat padding-box;
}

/*top luxscapeの家に住む*/
.top_living {
	padding-top: 160px;
	/* padding-right: 100px; */
	position: relative;
	overflow: hidden;
}

.top_living::before {
	content: "Living in luxscape";
	position: absolute;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 110px;
	line-height: 1.33;
	letter-spacing: 0.06em;
	color: #f2f2f2;
	z-index: -1;
}

.top_living .title {
	margin-left: 150px;
	padding-top: 60px;
	padding-bottom: 30px;
	font-weight: 500;
	font-size: 40px;
	line-height: 1.05;
	letter-spacing: 0.2em;
}

.top_living .title span {
	letter-spacing: 0.06em;
}

.top_living .container_pc {
	margin-top: 26px;
	display: block;
}

.top_living .container_sp {
	display: none;
}

.top_living .container_pc .card {
	aspect-ratio: 1190 / 490;
	position: relative;
	width: 1190px;
}

.top_living .container_pc .card::before {
	content: "";
	position: absolute;
	background-color: #fff;
	width: 180px;
	height: 80px;
	bottom: 0;
	left: 0;
	display: none;
}

.top_living .image {
	width: 100%;
	height: 100%;
}

.top_living .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top_living .container_pc .body {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
}

.top_living .container_pc .body .bg {
	padding-top: 2.025vw;
	padding-left: 3.472vw;
	padding-right: 5.472vw;
	position: relative;
	z-index: 1;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
}

.top_living .container_pc .body .bg::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(44, 103, 22, 0.2);
	backdrop-filter: blur(0.347vw);
	-webkit-backdrop-filter: blur(0.347vw);
	z-index: -2;
}

.top_living .container_pc .body .bg.brown::before {
	background: rgba(139, 49, 0, 0.2);
}

.top_living .container_pc .body .bg.blue::before {
	background: rgba(0, 65, 139, 0.2);
}

.top_living .container_pc .card_title {
	font-weight: 500;
	font-size: 2.4vw;
	line-height: 1.425;
	letter-spacing: 0.15em;
	color: #fff;
	margin-left: initial;
	padding-top: initial;
	padding-bottom: initial;
}

.top_living .container_pc .body .title_en {
	font-family: "Playfair Display", serif;
	font-weight: 400;
	font-size: 1.1vw;
	line-height: 1.33;
	letter-spacing: 0.02em;
	color: #fff;
	margin-top: 0.317vw;
}

.top_living .container_pc .body .lead {
	margin-top: 1.3vw;
	font-weight: 500;
	font-size: 0.9vw;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #f0f0f0;
}

.top_living .container_pc .body .btn_wrapper {
	margin-top: 2vw;
	max-width: 24.306vw;
}

.top_living .container_pc .body .btn_wrapper .btn {
	display: flex;
	justify-content: space-between;
	border: 1px solid #FFFFFF80;
	background: transparent linear-gradient(90deg, #0000009A 0%, #4545459A 100%) 0% 0% no-repeat padding-box;
}

.top_living .container_pc .body .btn_wrapper .btn+.btn {
	margin-top: 0.672vw;
}

.top_living .container_pc .body .btn_wrapper .btn .text {
	padding-top: 1.111vw;
	padding-bottom: 1.181vw;
	padding-left: 1.389vw;
	font-weight: 500;
	font-size: 1.111vw;
	letter-spacing: 0.1em;
	color: #fff;
}

.top_living .container_pc .body .btn_wrapper .btn .arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.167vw;
	height: 4.167vw;
	background-color: #fff;
	overflow: hidden;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.top_living .container_pc .body .btn_wrapper .btn .arrow img {
	width: 1.181vw;
}

/* スライダー本体に余白を設定（表示幅に影響） */
.swiper-living {
	padding-left: 10.417vw;
	padding-right: 6.944vw;
	box-sizing: border-box;
	max-width: 100vw;
	margin: 0 auto;
	overflow: visible;
}

/* 各スライドを自動幅にして中央揃え */
.top_living .swiper-slide {
	width: auto;
	max-width: 82.639vw;
}

.swiper-navigation {
	position: absolute;
	/* bottom: 1.678vw; */
	/* left: 16.972vw; */
	top: 50%;
	left: 50%;
	width: calc(100% - 150px);
	transform: translate(-50%, -50%);
	display: flex;
	gap: 1.389vw;
	z-index: 10;
}

.swiper-button-prev,
.swiper-button-next {
	width: 3.067vw;
	height: 3.067vw;
	background-color: rgba(29, 29, 29, 0.8);
	border-radius: 50%;
	border: 1px solid rgba(29, 29, 29, 0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
}

@media (min-width: 1500px) {
	.swiper-navigation {
		bottom: 2.578vw;
	}

	.swiper-button-prev,
	.swiper-button-next {
		width: 3.567vw;
		height: 3.567vw;
	}
}

.swiper-button-prev {
	left: auto;
	left: 60px;
	/* 位置を調整 */
}

.swiper-button-next {
	right: auto;
	right: 7px;
	/* 位置を調整 */
}

.swiper-button-next::after,
.swiper-button-prev::after {
	display: none;
}

.swiper-button-prev::after {
	display: block;
	content: "";
	width: 0.556vw;
	height: 0.556vw;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: rotate(45deg);
	transition: all 0.3s ease;
}

.swiper-button-next::after {
	display: block;
	content: "";
	width: 0.556vw;
	height: 0.556vw;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: rotate(-135deg);
	transition: all 0.3s ease;
}

.property_nav_prev {
	right: initial;
	left: 1.389vw;
}

.property_nav_next {
	left: initial;
	right: 1.389vw;
}

.property_nav {
	width: 2.431vw;
	height: 2.431vw;
}

/*top 企業情報*/

.top_about {
	position: relative;
	padding-top: 210px;
	padding-bottom: 190px;
}

.top_about::before {
	content: "";
	position: absolute;
	background-color: #F2F2F2;
	width: 48.6%;
	height: 536px;
	top: 52.5%;
	right: 0;
	z-index: -2;
}

.top_about .text_bg {
	font-family: "Playfair Display", serif;
	font-weight: 400;
	font-size: 114px;
	line-height: 1.33;
	letter-spacing: 0.02em;
	color: #EFEFEF;
	position: absolute;
	top: 0;
	right: 20px;
	z-index: -1;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.top_about .about_container {
	display: flex;
	gap: 105px;
	padding-left: 50px;
	padding-bottom: 105px;
	position: relative;
}

.top_about .about_container .title {
	font-weight: 500;
	font-size: 32px;
	line-height: 1.31;
	letter-spacing: 0.2em;
	position: relative;
	padding-bottom: 32px;
}

.top_about .about_container .title::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 72px;
	height: 1px;
	background-color: #C4C4C4;
}

.top_about .about_container .title::after {
	content: "About";
	position: absolute;
	left: 0;
	top: -70px;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 110px;
	line-height: 1.33;
	letter-spacing: 0.06em;
	color: #f2f2f2;
	z-index: -1;
}


.top_about .about_container .lead {
	margin-top: 60px;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.8;
	letter-spacing: 0.2em;
}

.top_about .about_container .common_section_btn {
	margin-top: 70px;
	max-width: 200px;
}

.top_about .about_container .image_box {
	flex: 0 0 468px;
}

.top_about .about_container .image_box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top_about .about_container .image_box2 {
	position: absolute;
	width: 172px;
	height: 172px;
	bottom: 0;
	right: 0;
}

.top_about .about_container .image_box2 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top_about .owners_container {
	padding-top: 166px;
	position: relative;
	padding-left: 50px;
}

.top_about .owners_container .image_box {
	position: absolute;
	top: 166px;
	right: 0;
	width: 950px;
	height: 350px;
	z-index: -1;
}

.top_about .owners_container .image_box img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.top_about .owners_container .text_box {
	width: 670px;
	margin-top: 120px;
	background-color: rgba(255, 255, 255, 0.9);
	padding: 60px 60px 50px;
}

.top_about .owners_container .text_box .title {
	font-weight: 500;
	font-size: 30px;
	line-height: 1.46;
	letter-spacing: 0.2em;
	color: #000;
}

.top_about .owners_container .text_box .title_en {
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.33;
	letter-spacing: 0.02em;
	color: #6A6A6A;
	margin-top: 4px;
}

.top_about .owners_container .text_box .lead {
	margin-top: 27px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.78;
	letter-spacing: 0.1em;
	color: #333;
}

.top_about .owners_container .text_box .btn_box {
	margin-top: 50px;
	display: flex;
	align-items: center;
	gap: 50px;
}

.top_about .investors_container {
	padding-top: 117px;
	position: relative;
}

.top_about .investors_container .image_box {
	position: absolute;
	top: 117px;
	left: 0;
	width: 950px;
	height: 350px;
	z-index: -1;
}

.top_about .investors_container .text_box {
	width: 773px;
	margin-top: 120px;
	margin-left: auto;
	padding: 50px 40px;
	background-color: rgba(255, 255, 255, 0.9);
}

.top_about .investors_container .text_box .title {
	font-weight: 500;
	font-size: 30px;
	line-height: 1.46;
	letter-spacing: 0.2em;
	color: #000;
}

.top_about .investors_container .text_box .title_en {
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.33;
	letter-spacing: 0.02em;
	color: #6A6A6A;
	margin-top: 4px;
}

.top_about .investors_container .text_box .lead {
	margin-top: 27px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.78;
	letter-spacing: 0.1em;
	color: #333;
}

.top_about .investors_container .text_box .btn_box {
	margin-top: 50px;
	display: flex;
	align-items: center;
	gap: 50px;
}

/*top 土地の売却をご検討の方*/

.top_service {
	/* 固定ヘッダー分+余白（なければ 0～24px くらいに） */
	--sticky-top: 100px;
}

.top_service .container {
	display: flex;
}

.top_service .title_wrapper {
	/* flex: 0 0 398px; */
	max-width: 398px;
	min-width: 350px;
	position: -webkit-sticky;
	/* ← ここから sticky */
	position: sticky;
	top: var(--sticky-top);
	/* ← 画面上端からの固定位置 */
	height: 100vh;
	/* ← 左帯を常に画面高で表示 */
	align-self: flex-start;
	/* ← 余計に伸びないように */
	padding-left: 50px;
	z-index: 0;
	/* ← 擬似要素の重なり安定化（念のため） */
}

.top_service .title_wrapper::before {
	content: "";
	position: absolute;
	background: url(./image/sale-img1.jpg) no-repeat center center / cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.top_service .title_wrapper::after {
	content: "";
	position: absolute;
	background: transparent linear-gradient(180deg, #454140 0%, #2F2D2C 47%, #171615 100%) 0% 0% no-repeat padding-box;
	opacity: 0.95;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.top_service .title_wrapper .lead_en {
	position: absolute;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.33;
	letter-spacing: 0.045em;
	color: #fff;
	writing-mode: vertical-rl;
	white-space: nowrap;
	top: 20px;
	right: 10px;
}

.top_service .title_box {
	margin-top: 250px;
}

.top_service .title_box .title {
	font-weight: 500;
	font-size: 30px;
	line-height: 1.73;
	letter-spacing: 0.2em;
	color: #fff;
}

.top_service .title_box .btn_box {
	margin-top: 60px;
}

.top_service .title_box .btn_box .btn {
	background-color: #D34700;
	display: flex;
	align-items: center;
	max-width: 260px;
	border: 1px solid #D34700;
	padding-top: 16px;
	padding-bottom: 15px;
	padding-left: 15px;
	transition: all 0.3s ease;
}

.top_service .title_box .btn_box .btn .text {
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.1em;
	color: #fff;
	transition: all 0.3s ease;
}

.top_service .title_box .btn_box .btn .arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 100%;
	overflow: hidden;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.top_service .title_box .btn_box .btn .arrow svg {
	width: 20px;
	height: 12px;
}

.top_service .title_box .btn_box .btn .arrow svg path {
	fill: #fff;
	transition: all 0.3s ease;
}

.top_service .title_box .btn_box .btn .arrow svg line {
	stroke: #fff;
	transition: all 0.3s ease;
}

.top_service .service_wrapper {
	background-color: #F5F5F4;
	flex-grow: 1;
	width: 100%;
	padding-top: 85px;
	padding-bottom: 108px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.top_service .service_wrapper .title {
	font-weight: 500;
	font-size: 32px;
	line-height: 1.625;
	letter-spacing: 0.2em;
}

.top_service .service_wrapper .cards {
	margin-top: 51px;
	display: flex;

}

.top_service .service_wrapper .card {
	display: flex;
	flex-grow: 1;
}

.top_service .service_wrapper .card .head {
	position: relative;
	width: 53px;
	height: 320px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.42;
	letter-spacing: 0.1em;
	color: #fff;
	writing-mode: vertical-rl;
	z-index: 2;
	text-align: center;
	padding-right: 24px;
	background-color: #fff;
}

.top_service .service_wrapper .card .head::before {
	content: "";
	position: absolute;
	background: url(./image/head1.png) no-repeat center center / cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.top_service .service_wrapper .card .body {
	width: 230px;
	flex-grow: 1;
	background-color: #fff;
	padding-top: 30px;
	text-align: center;
	position: relative;
}

.top_service .service_wrapper .card .number {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	font-family: "Playfair Display", serif;
	font-weight: 400;
	font-size: 48px;
	line-height: 0.68;
	letter-spacing: 0;
}

.top_service .service_wrapper .card .number span {
	font-size: 20px;
	line-height: 1.65;
}

.top_service .service_wrapper .card .image {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background-color: #F8F8F8;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

.top_service .service_wrapper .card .image img {
	width: 57px;
}

.top_service .service_wrapper .card .card_title_box {
	margin-top: 18px;
}

.top_service .service_wrapper .card .card_title {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.44;
	letter-spacing: 0.1em;
}

.top_service .service_wrapper .card .text {
	margin-top: 16px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.42;
	letter-spacing: 0.2em;
	color: #333;
}

.top_service .service_wrapper .last_head {
	position: relative;
	width: 42px;
	height: 320px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.42;
	letter-spacing: 0.1em;
	color: #fff;
	writing-mode: vertical-rl;
	z-index: 1;
	text-align: center;
	padding-right: 14px;
	background-color: #fff;
}

.top_service .service_wrapper .last_head::before {
	content: "";
	position: absolute;
	background: url(./image/head2.png) no-repeat center center / cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.top_service .items {
	margin-top: 60px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px 36px;
}

.top_service .items .item {
	display: flex;
	align-items: center;
	gap: 20px;
}

.top_service .items .item .head {
	background: transparent linear-gradient(180deg, #412217 0%, #240F03 100%) 0% 0% no-repeat padding-box;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.375;
	letter-spacing: 0.1em;
	color: #fff;
	width: 80px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.top_service .items .item .body .text {
	font-weight: 500;
	font-size: 14px;
	line-height: 1.57;
	letter-spacing: 0.08em;
}

.top_service .items .item .body .text span {
	font-size: 13px;
	color: #A71111;
}

.top_service .items .item .body .body_box {
	display: flex;
}

.top_service .items .item .body .body_box+.body_box {
	margin-top: 8px;
}

.top_service .items .item .body .body_box .text_head {
	flex: 0 0 80px;
	position: relative;
	white-space: nowrap;
	padding-right: 20px;
}

.top_service .items .item .body .body_box .text_head::before {
	content: "";
	position: absolute;
	background-color: #1a1a1a;
	width: 1px;
	height: 20px;
	top: 0;
	right: 0;
}

.top_service .items .item .body .body_box .text_item {
	padding-left: 20px;
}

/*top 無限スライダー*/
.top_slider {
	padding-top: 88px;
	overflow: hidden;
}

.top_slider .item {
	display: flex;
	gap: 30px;
}

.top_slider .item .image {
	padding-top: 15px;
	flex-shrink: 0;
	width: 140px;
	height: 100px;
}

.top_slider .item .image img {
	aspect-ratio: 140 / 100;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.top_slider .item .text_en {
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 5.55vw;
	line-height: 1.33;
	letter-spacing: 0.02em;
	color: #EFEFEF;
}

.top_slider .swiper-wrapper {
	transition-timing-function: linear;
}

/*top お知らせ*/
.top_news {
	padding-top: 110px;
	padding-bottom: 120px;
}

.top_news .container {
	display: flex;
	gap: 75px;
}

.top_news .title_box .title {
	position: relative;
	font-weight: 500;
	font-size: 28px;
	line-height: 1.21;
	letter-spacing: 0.2em;
	writing-mode: vertical-lr;
	padding-left: 36px;
}

.top_news .title_box .title::before {
	content: "News";
	position: absolute;
	top: 4px;
	left: 10px;
	font-family: "Playfair Display", serif;
	font-size: 18px;
	line-height: 1.33;
	letter-spacing: 0.06em;
}

.top_news .title_box .title::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 1px;
	height: 73px;
	background-color: #C4C4C4;
}

.top_news .contents_box {
	flex-grow: 1;
}

.top_news .contents_box .btn_wrapper .common_section_btn {
	margin-left: auto;
	max-width: 230px;
}

.top_news .contents_box .news_list {
	margin-top: 38px;
}

.top_news .contents_box .news_list ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.top_news .contents_box .news_list .meta {
	max-width: 280px;
}

.top_news .contents_box .news_list .date {
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 0.06em;
	color: #BCBCBC;
}

.top_news .contents_box .news_list .news_title {
	margin-top: 10px;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.2em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	/* 行数指定 */
	transition: all 0.3s ease;
}

.top_news .contents_box .news_list .news_title span {
	border-bottom: 1px solid transparent;
	transition: all 0.3s ease;
}

.top_news .contents_box .news_list li {
	border-top: 1px solid #E2E2E2;
	border-bottom: 1px solid #E2E2E2;
}

.top_news .contents_box .news_list li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 23px;
	padding-bottom: 30px;
	height: 100%;
}

.top_news .contents_box .news_list .arrow {
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #D34700;
}

.top_news .contents_box .news_list .arrow img {
	width: 13px;
}

/*top 採用情報*/
.top_recruit {
	overflow: hidden;
	padding-top: 120px;
	padding-bottom: 264px;
}

.top_recruit .container {
	position: relative;
	padding-left: 132px;
	padding-right: 183px;
	padding-bottom: 98px;
}

.top_recruit .container::before {
	content: "";
	position: absolute;
	background: url(./image/recruit-bg.jpg) no-repeat center center / cover;
	bottom: 0;
	left: 130px;
	aspect-ratio: 1025 / 510;
	width: 1025px;
	height: auto;
	z-index: -1;
}


.top_recruit .container .image1 {
	position: absolute;
	top: 110px;
	left: 0;
	width: 292px;
	height: 470px;
}

.top_recruit .container .image2 {
	position: absolute;
	top: 0;
	right: 0;
	width: 427px;
	height: 580px;
}

.top_recruit .title_box {
	padding-top: 150px;
	padding-left: 260px;
}

.top_recruit .title {
	position: relative;
	font-weight: 500;
	font-size: 32px;
	line-height: 1.31;
	letter-spacing: 0.2em;
	z-index: 2;
	padding-bottom: 35px;
}

.top_recruit .title::before {
	content: "Recruit";
	position: absolute;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 110px;
	line-height: 1.33;
	letter-spacing: 0.06em;
	color: #E8E4E1;
	top: -70px;
	left: 0;
	z-index: -1;
}

.top_recruit .title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 72px;
	height: 1px;
	background-color: #C4C4C4;
}

.top_recruit .lead {
	margin-top: 60px;
	font-weight: 500;
	font-size: 18px;
	line-height: 2.11;
	letter-spacing: 0.2em;
}

.top_recruit .btn_wrapper {
	margin-top: 80px;
}

.top_recruit .btn_wrapper .common_section_btn {
	max-width: 200px;
}

/*フッター*/
.footer {
	position: relative;
	background: transparent linear-gradient(295deg, #150700 0%, #3E2313 100%) 0% 0% no-repeat padding-box;
	z-index: 501;
}

.footer .arrow_wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 34px;
	padding-bottom: 11px;
	border-bottom: 1px solid #453227;
	z-index: 2;
	text-align: center;
}

.footer .arrow_wrapper .arrow {
	width: 43px;
	height: 43px;

}

.footer .arrow_wrapper .arrow img {
	width: 43px;
	height: auto;
	object-fit: cover;
}

.footer .container {
	display: flex;
}

.footer .meta_box {
	flex: 0 0 460px;
	position: relative;
	padding-top: 153px;
	padding-left: 50px;
	padding-right: 50px;
	padding-bottom: 50px;
	z-index: 1;
}

.footer .meta_box::before {
	content: "";
	position: absolute;
	background: url(./image/footer-img1.jpg) no-repeat center center / cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -2;
}

.footer .meta_box::after {
	content: "";
	position: absolute;
	background-color: rgba(21, 7, 0, 0.9);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: multiply;
	z-index: -1;
}

.footer .meta_box .logo {
	max-width: 280px;
	width: 100%;
	margin-inline: auto;
}

.footer .meta_box .company {
	margin-top: 6px;
	text-align: center;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.42;
	letter-spacing: 0.06em;
	color: #F0F0F0;
}

.footer .meta_box .map_wrapper {
	margin-top: 44px;
}

.footer .meta_box .map_wrapper .text {
	position: relative;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.06em;
	color: #fff;
}

.footer .meta_box .map_wrapper .text::before {
	content: "";
	position: absolute;
	background-color: #fff;
	width: 86%;
	height: 1px;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.footer .meta_box .map_wrapper .map {
	position: relative;
	margin-top: 10px;
}

.footer .meta_box .map_wrapper .map::before {
	content: "";
	position: absolute;
	background-color: #34261B;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	mix-blend-mode: color;
	pointer-events: none;
}

.footer .meta_box .map_wrapper .map iframe {
	aspect-ratio: 360 / 180;
	width: 100%;
	height: auto;
}

.footer .meta_box .map_wrapper .address {
	margin-top: 12px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.42;
	letter-spacing: 0.06em;
	color: #F0F0F0;
	text-align: center;
}

.footer .meta_box .copyright {
	display: block;
	margin-top: 100px;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.41;
	letter-spacing: 0;
	text-align: center;
	color: #F0F0F0;
}

.footer .contents_box {
	flex-grow: 1;
	display: flex;
	gap: 80px;
	padding: 166px 20px 50px 100px;
}

.footer .contents_box .large_box {
	flex-grow: 1;
}

.footer .contents_box .small_box {
	flex-grow: 1;
}

.footer .contents_box .wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px;
}

.footer .contents_box .wrapper.mt {
	margin-top: 35px;
}

.footer .contents_box .lists {
	max-width: 230px;
	width: 100%;
}

.footer .contents_box .lists .list {
	max-width: 230px;
	width: 100%;
}

.footer .contents_box .lists .list+.list {
	margin-top: 40px;
}

.footer .contents_box .lists .list .list_head {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.43;
	letter-spacing: 0.2em;
	color: #F0F0F0;
	padding-bottom: 9px;
	border-bottom: 1px solid #fff;
}

.footer .contents_box .lists .list .list_head.external_link {
	position: relative;
}

.footer .contents_box .lists .list .list_head.external_link::before {
	content: "";
	position: absolute;
	background: url(./image/icon-dr.png) no-repeat center center / cover;
	aspect-ratio: 1 / 1;
	width: 12px;
	height: auto;
	top: 5px;
	right: 0;
}

.footer .contents_box .lists .list .list_head.link {
	position: relative;
}

.footer .contents_box .lists .list .list_head.link::before {
	content: "";
	position: absolute;
	background: url(./image/arrow-white.png) no-repeat center center / cover;
	aspect-ratio: 31 / 18;
	width: 19px;
	height: auto;
	top: 5px;
	right: 0;
}

.footer .contents_box .lists .list a {
	display: block;
}

.footer .contents_box .lists .list .items {
	margin-top: 21px;
}

.footer .contents_box .lists .list .item {
	font-weight: 500;
	font-size: 13px;
	line-height: 1.46;
	letter-spacing: 0.2em;
	color: #fff;
}

.footer .contents_box .lists .list .item+.item {
	margin-top: 12px;
}

.footer .contents_box .head_box {
	margin-top: 40px;
	display: flex;
	align-items: center;
}

.footer .contents_box .large_box .head {
	position: relative;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 0.2em;
	color: #F0F0F0;
	white-space: nowrap;
}

.footer .contents_box .head_box span {
	display: block;
	margin-left: 10px;
	width: 100%;
	height: 1px;
	background-color: #40322C;
}

.footer .contents_box .bottom_lists {
	margin-top: 96px;
}

.footer .contents_box .bottom_lists .bottom_item {
	font-weight: 500;
	font-size: 12px;
	line-height: 1.41;
	letter-spacing: 0.2em;
	color: #F0F0F0;
}

.footer .contents_box .bottom_lists .bottom_item+.bottom_item {
	margin-top: 20px;
}

.footer a {
	transition: all 0.3s ease;
}

/*下層ページ*/
/*会社概要*/
.page_company {
	display: flex;
}

.page_company .side_wrapper {
	position: relative;
	flex: 0 0 21%;
	background: transparent linear-gradient(180deg, #454140 0%, #0E0D0D 100%) 0% 0% no-repeat padding-box;
}

.page_company .side_wrapper::before {
	content: "";
	position: absolute;
	background: url(./image/side-menu-bg.jpg) no-repeat center center / cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	mix-blend-mode: screen;
	opacity: 0.06;
}

.page_company .side_wrapper .menu {
	position: sticky;
	top: 0;
	padding-top: 145px;
	padding-left: 50px;
	z-index: 2;
}

.page_company .side_wrapper .menu li+li {
	margin-top: 30px;
}

.page_company .side_wrapper .menu li a {
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.2em;
	color: #fff;
	opacity: 0.4;
	transition: all 0.3s ease;
}

.page_company .side_wrapper .menu li a.is-active {
	opacity: 1;
}

.page_company .main_wrapper {
	padding-top: 121px;
	background-color: #fff;
	flex-grow: 1;
}

.page_company .company_philosophy {
	padding-left: 100px;
	padding-bottom: 70px;
}

.page_company .company_philosophy .philosophy_box {
	margin-bottom: 100px;
	background: #F5F5F4;
	padding: 50px;
}

.page_company .company_philosophy .philosophy_box .common_page_title::before {
	color: #e2e2e2;
}

.page_company .company_philosophy .philosophy_box .catch {
	font-weight: 500;
	font-size: 32px;
	line-height: 1.31;
	letter-spacing: 0.2em;
	margin-top: 1em;
	margin-bottom: 1em;
}

.page_company .company_philosophy .philosophy_box .text {
	line-height: 2.4;
	margin-bottom: 2em;
}

.page_company .company_philosophy .philosophy_box .name {
	font-family: "Zen Kurenaido", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
	text-align: right;
	margin-right: 100px;
}

.page_company .company_philosophy .container {
	margin-top: 60px;
}

.page_company .company_philosophy .container .list {
	display: flex;
}

.page_company .company_philosophy .container .list+.list {
	margin-top: 100px;
}

.page_company .company_philosophy .container .list .list_title {
	position: relative;
	flex: 0 0 287px;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 24px;
	line-height: 1.33;
	letter-spacing: 0;
	text-align: left;
}

.page_company .company_philosophy .container .list .list_title::before {
	content: "";
	position: absolute;
	background-color: #D34700;
	width: 170px;
	height: 1px;
	top: 18px;
	right: 0;
}

.page_company .company_philosophy .container .list .body {
	padding-left: 33px;
}

.page_company .company_philosophy .container .list .body_title {
	font-weight: 500;
	font-size: 32px;
	line-height: 1.31;
	letter-spacing: 0.2em;
}

.page_company .company_philosophy .container .list .text {
	margin-top: 28px;
	font-weight: 500;
	font-size: 14px;
	line-height: 2.21;
	letter-spacing: 0.1em;
}

.page_company .company_philosophy .container .value_list {
	display: flex;
	align-items: center;
}

.page_company .company_philosophy .container .value_list+.value_list {
	margin-top: 30px;
}

.page_company .company_philosophy .container .value_title {
	width: 25%;
	display: flex;
	align-items: center;
}

.page_company .company_philosophy .container .value_title .number {
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 0;
	color: #BEBEBE;
}

.page_company .company_philosophy .container .value_title .jp {
	font-weight: 500;
	font-size: 20px;
	line-height: 1.55;
	letter-spacing: 0.1em;
	padding-left: 21px;
}

.page_company .company_philosophy .container .value_text {
	position: relative;
	font-size: 14px;
	line-height: 1.57;
	letter-spacing: 0.08em;
	padding-left: 52px;
}

.page_company .company_philosophy .container .value_text::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1px;
	height: 30px;
	background-color: #D5D5D5;
}

.page_company .company_outline {
	padding-top: 130px;
	padding-left: 100px;
	padding-bottom: 100px;
}

.page_company .company_outline .container {
	margin-top: 55px;
}

.page_company .company_outline .outline_table {
	width: 100%;
}

.page_company .company_outline .outline_table tr {
	position: relative;
	display: flex;
	align-items: center;
	padding-top: 23px;
	padding-bottom: 23px;
	border-bottom: 1px solid #E6E6E6;
}

.page_company .company_outline .outline_table tr::before {
	content: "";
	position: absolute;
	width: 30px;
	height: 1px;
	background-color: #D34700;
	bottom: -1px;
	left: 0;
	z-index: 1;
}

.page_company .company_outline .outline_table th {
	flex: 0 0 110px;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.43;
	letter-spacing: 0.06em;
}

.page_company .company_outline .outline_table td {
	flex-grow: 1;
	font-weight: 500;
	font-size: 16px;
	line-height: 2.12;
	letter-spacing: 0.06em;
	color: #333;
	padding-left: 120px;
}

.page_company .company_profile {
	padding-top: 123px;
	padding-left: 100px;
	padding-right: 100px;
	padding-bottom: 80px;
}

.page_company .company_profile .title_box {
	position: relative;
	text-align: center;
	z-index: 1;
}

.page_company .company_profile .company_profile_title {
	font-weight: 500;
	font-size: 36px;
	line-height: 1.16;
	letter-spacing: 0.2em;
}

.page_company .company_profile .company_profile_subtitle {
	position: absolute;
	top: -70px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.page_company .company_profile .company_profile_subtitle span {
	display: block;
	position: relative;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 110px;
	line-height: 1.33;
	letter-spacing: 0.06em;
	color: #F2F2F2;
	padding-left: 283px;
	padding-right: 283px;
}

.page_company .company_profile .company_profile_subtitle span::before {
	content: "";
	position: absolute;
	background-color: #E0E0E0;
	width: 250px;
	height: 1px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.page_company .company_profile .company_profile_subtitle span::after {
	content: "";
	position: absolute;
	background-color: #E0E0E0;
	width: 250px;
	height: 1px;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.page_company .company_profile .container {
	margin-top: 51px;
	padding-bottom: 60px;
	border-bottom: 1px solid #E8E4E1;
}

.page_company .company_profile .container .lists {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px;
	padding-right: 50px;
}

.page_company .company_profile .profile {
	display: flex;
	gap: 30px;
}

.page_company .company_profile .profile .profile_img {
	flex: 0 0 170px;
}

.page_company .company_profile .profile .profile_img img {
	aspect-ratio: 170 / 220;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.page_company .company_profile .profile .profile_body {
	flex-grow: 1;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: end;
	padding-bottom: 20px;
	border-bottom: 1px solid #E8E4E1;
}

.page_company .company_profile .profile .profile_body::before {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 40px;
	height: 1px;
	background-color: #D34700;
	z-index: 1;
}

.page_company .company_profile .profile .position {
	font-weight: 500;
	font-size: 13px;
	line-height: 1.46;
	letter-spacing: 0.08em;
	color: #6A625E;
}

.page_company .company_profile .profile .name {
	margin-top: 24px;
	font-weight: 500;
	font-size: 24px;
	line-height: 1.45;
	letter-spacing: 0.2em;
}

.page_company .company_profile .profile .name_en {
	margin-top: 3px;
	font-family: "Playfair Display", serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 1.30;
	letter-spacing: 0;
	color: #9B9999;
}

.page_company .company_chart {
	position: relative;
	padding-top: 120px;
	padding-bottom: 95px;
	padding-left: 100px;
	padding-right: 100px;
	z-index: 1;
}

.page_company .company_chart::before {
	content: "";
	position: absolute;
	background: url(./image/chart-bg.jpg) no-repeat center center / cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.page_company .company_chart .container {
	position: relative;
}

.page_company .company_chart .container .title_box {
	position: absolute;
	top: 0;
	left: 0;
}

.page_company .company_chart .chart_img {
	width: 100%;
}

.page_company .company_history {
	padding-top: 209px;
	padding-left: 100px;
	padding-right: 100px;
	padding-bottom: 210px;
}

.page_company .company_history .container {
	margin-top: 68px;
}

.page_company .company_history .history_lists {
	position: relative;
	z-index: 1;
	padding-bottom: 20px;
}

.page_company .company_history .history_lists::before {
	content: "";
	position: absolute;
	background: url(./image/dot-line.png) no-repeat center center / cover;
	top: 0;
	left: 116px;
	width: 1px;
	height: 100%;
	z-index: -1;
}

.page_company .company_history .history_list {
	display: flex;
	align-items: baseline;
}

.page_company .company_history .history_list.mt {
	margin-top: 60px;
}

.page_company .company_history .history_list.mt2 {
	margin-top: 140px;
}

.page_company .company_history .history_list .year_head {
	flex: 0 0 113px;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 40px;
	line-height: 1.325;
	letter-spacing: 0.06em;
	color: #D6D6D6;
	padding-right: 19px;
}

.page_company .company_history .year_box {
	display: flex;
	align-items: baseline;
	margin-top: 20px;
}

.page_company .company_history .year_month {
	position: relative;
	font-weight: 500;
	font-size: 15px;
	line-height: 2.8;
	letter-spacing: 0.06em;
	flex: 0 0 125px;
	padding-left: 39px;
}

.page_company .company_history .year_month::before {
	position: absolute;
	content: "";
	width: 8px;
	height: 8px;
	background-color: #D34700;
	border-radius: 50%;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.page_company .company_history .text {
	font-weight: 500;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
	padding-left: 83px;
}

/*事業内容*/
.page_service {
	padding-top: 120px;
	padding-bottom: 130px;
}

.page_service .btn_wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px 30px;
	margin-bottom: 150px;
}

.page_service .btn_wrapper .btn {
	position: relative;
	padding-top: 20px;
	padding-bottom: 20px;
	display: block;
	text-align: center;
	background: transparent linear-gradient(180deg, #D34700 0%, #8B2F00 100%) 0% 0% no-repeat padding-box;
	color: #fff;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.33;
	letter-spacing: 0.2em;
}

.page_service .btn_wrapper .btn::before {
	content: "";
	position: absolute;
	border: 1px solid #fff;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 96%;
	height: 80%;
}

.page_service .btn_wrapper .btn::after {
	content: "";
	position: absolute;
	background-color: #fff;
	width: 10px;
	height: 8px;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.page_service .btn_wrapper .btn.blank::after {
	background: url(./image/icon-dr.png) no-repeat;
	width: 14px;
	height: 14px;
	background-size: contain;
	background-position: center;
	clip-path: unset;
}

.page_service .service_detached_house {
	padding-top: 100px;
	padding-bottom: 20px;
}

.page_service .service_card {
	position: relative;
}

.page_service .service_card .bg_image {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.page_service .service_card .bg_image img {
	aspect-ratio: 1190 / 640;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.page_service .service_card .body {
	position: absolute;
	top: 0;
	right: 50px;
	width: 570px;
	height: 100%;
	z-index: 1;
}

.page_service .service_card .body .bg {
	padding-top: 60px;
	padding-left: 50px;
	padding-right: 50px;
	padding-bottom: 60px;
	position: relative;
	z-index: 1;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
}

.page_service .service_card .body .bg::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(44, 103, 22, 0.2);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	z-index: -2;
}

.page_service .service_card .body .bg.brown::before {
	background: rgba(139, 49, 0, 0.2);
}

.page_service .service_card .body .title {
	font-weight: 500;
	font-size: 40px;
	line-height: 1.425;
	letter-spacing: 0.15em;
	color: #fff;
}

.page_service .service_card .body .title_en {
	font-family: "Playfair Display", serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.33;
	letter-spacing: 0.02em;
	color: #fff;
	margin-top: 6px;
}

.page_service .service_card .body .text {
	margin-top: 36px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: 0.1em;
	color: #f0f0f0;
}

.page_service .service_card .body .btn_box {
	margin-top: 30px;
	max-width: 300px;
}

.page_service .service_card .body .btn_box.wide {
	max-width: 380px;
}

.page_service .service_card .body .btn {
	display: flex;
	justify-content: space-between;
	border: 1px solid #FFFFFF80;
	background: transparent linear-gradient(90deg, #0000009A 0%, #4545459A 100%) 0% 0% no-repeat padding-box;
}

.page_service .service_card .body .btn .btn_text {
	padding-top: 16px;
	padding-bottom: 17px;
	padding-left: 20px;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.1em;
	color: #fff;
}

.page_service .service_card .body .btn .btn_text.small {
	padding-left: 15px;
	font-size: 14px;
}

.page_service .service_card .body .btn .arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background-color: #fff;
	overflow: hidden;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.page_service .service_card .body .btn .arrow img {
	width: 17px;
}

.page_service .service_revenue_apartment {
	padding-top: 100px;
	padding-bottom: 50px;
}

.page_service .service_rc_mansion {
	padding-top: 100px;
	padding-bottom: 50px;
}

.page_service .service_real_estate {
	padding-top: 100px;
	padding-bottom: 50px;
}

/*採用情報*/
.page_recruit {
	padding-top: 100px;
	padding-bottom: 100px;
}

.page_recruit .recruit_message {
	padding-top: 50px;
	padding-bottom: 50px;
}

.page_recruit .container {
	margin-top: 100px;
}

.page_recruit .container .title {
	text-align: center;
	font-size: 60px;
	line-height: 1.33;
	letter-spacing: 0.06em;
	font-weight: 500;
}

.page_recruit .container .text {
	margin-top: 50px;
	font-weight: 500;
	font-size: 18px;
	line-height: 2.11;
	letter-spacing: 0.2em;
	text-align: center;
}

.page_recruit .container .banner {
	text-align: center;
	margin-top: 100px;
}

.page_recruit .container .banner img {
	width: 800px;
}

.page_recruit .container .banner a {
	transition: .3s;
}

.page_recruit .container .banner a:hover {
	opacity: .7;
}

.page_recruit .recruit_career {
	padding-top: 100px;
	padding-bottom: 50px;
}

.page_recruit .card {
	display: flex;
	gap: 80px;
}

.page_recruit .card+.card {
	margin-top: 140px;
	flex-direction: row-reverse;
}

.page_recruit .card .image {
	flex: 0 0 300px;
}

.page_recruit .card .image img {
	aspect-ratio: 300 / 386;
	width: 100% !important;
	height: auto !important;
	object-fit: cover;
}

.page_recruit .card_career {
	text-align: left;
}

.page_recruit .card .head_box {
	padding-bottom: 5px;
	border-bottom: 1px solid #E8E4E1;
}

.page_recruit .card .head {
	display: inline-block;
	position: relative;
	font-weight: 500;
	font-size: 24px;
	line-height: 1.33;
	letter-spacing: 0.2em;
}

.page_recruit .card .head::before {
	content: attr(data-en);
	position: absolute;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.33;
	letter-spacing: 0.02em;
	color: #D34700;
	top: 50%;
	transform: translateY(-50%);
	right: -70px;
}

.page_recruit .card .card_comment {
	margin-top: 30px;
}

.page_recruit .card .card_comment .head::before {
	right: -90px;
}

.page_recruit .card .card_text {
	margin-top: 15px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: 0.1em;
}

.char {
	opacity: 0;
	display: inline-block;
	animation: popIn 0.6s forwards;
}

@keyframes popIn {
	0% {
		opacity: 0;
		transform: scale(1.2) translateY(10px);
	}

	100% {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}

#sub-text {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.3s, transform 0.3s;
}

/*電子公告*/
.page_notice {
	padding-top: 120px;
	padding-bottom: 120px;
}

.page_notice .lists {
	padding-left: 50px;
	padding-right: 50px;
}

.page_notice .list+.list {
	margin-top: 20px;
}

.page_notice .list {
	padding: 20px;
}

.page_notice .list:nth-child(odd) {
	background-color: #F5F5F4;
}

.page_notice .list .meta_box {
	display: flex;
	align-items: center;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(211, 71, 0, 0.3);
}

.page_notice .list .meta_box .date {
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: 0.05em;
	margin-right: 20px;
}

.page_notice .list .meta_box .tab {
	margin-left: 20px;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: 0.05em;
}

.page_notice .list .pdf_link {
	padding-top: 15px;
}

.page_notice .list .pdf_link a {
	transition: all 0.3s ease;
	font-size: 16px;
}

/*物件詳細ページ*/

.page_single_property .property_wrapper {
	display: flex;
	padding-bottom: 50px;
}

.page_single_property .property_wrapper .image_box {
	width: 50%;
}

.page_single_property .property_wrapper .image_box .image {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.page_single_property .property_wrapper .image_box img {
	aspect-ratio: 5 / 4;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.page_single_property .property_wrapper .slide_box {
	margin-top: 20px;
}

.page_single_property .property_wrapper .image_box .text {
	text-align: center;
	margin-top: 10px;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: 0.05em;
}

.page_single_property .property_wrapper .slide_box .image {
	width: 150px;
}

.page_single_property .property_wrapper .contents_box {
	width: 50%;
	padding: 20px 50px;
}

.page_single_property .property_wrapper .contents_box .list {
	display: flex;
	align-items: center;
	gap: 20px;
	padding-bottom: 15px;
	border-bottom: 1px solid #E6E6E6;
}

.page_single_property .property_wrapper .contents_box .list+.list {
	padding-top: 15px;
}

.page_single_property .property_wrapper .contents_box .list .head {
	flex: 0 0 80px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.35;
	letter-spacing: 0.05em;
}

.page_single_property .property_wrapper .contents_box .list .text {
	flex-grow: 1;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: 0.05em;
}

.page_single_property .property_wrapper .contents_box .list .text .red {
	color: #D80000;
	font-size: 30px;
	font-weight: 700;
}

.page_single_property .property_wrapper .contents_box .list .text .strong {
	font-weight: 700;
	font-size: 20px;
}

.page_single_property .property_wrapper .contents_box .map {
	margin-top: 12px;
	aspect-ratio: 5 / 3;
	width: 100%;
	height: auto;
}

.page_single_property .property_wrapper .contents_box .map iframe {
	width: 100%;
	height: 100%;
}

.page_single_property .overview_wrapper {
	padding-top: 100px;
	padding-bottom: 100px;
	background-color: #F5F5F4;
}

.page_single_property .title_box {
	text-align: center;
}

.page_single_property .title_box .title {
	font-weight: 500;
	font-size: 36px;
	line-height: 1.33;
	letter-spacing: 0.2em;
}

.page_single_property .title_box .title_en {
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.33;
	letter-spacing: 0.06em;
	color: #6A6A6A;
}

.page_single_property .overview_lists {
	margin-top: 50px;
	width: 100%;
	max-width: 1140px;
	margin-inline: auto;
}

.page_single_property .overview_lists .list {
	display: flex;
	gap: 20px;
}

.page_single_property .overview_lists .list .items {
	width: 560px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #E6E6E6;
	padding-top: 15px;
	padding-bottom: 15px;
}

.page_single_property .overview_lists .list .items .head {
	flex: 0 0 150px;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.35;
	letter-spacing: 0.05em;
	height: 100%;
	display: flex;
	align-items: center;
}

.page_single_property.page_income_property .overview_lists .list .items .head {
	flex: 0 0 150px;
}


.page_single_property .overview_lists .list .items .text {
	flex-grow: 1;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 0.05em;
	padding-left: 15px;
	padding-right: 15px;
}

.page_single_property .facilities_wrapper {
	padding-top: 100px;
	padding-bottom: 100px;
}

.page_single_property .facilities_wrapper .facilities_lists {
	margin-top: 50px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.page_single_property .facilities_wrapper .facilities_lists .list {
	border-bottom: 1px solid #E6E6E6;
	padding: 15px 10px;
}

.page_single_property .facilities_wrapper .facilities_lists .list .image {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.page_single_property .facilities_wrapper .facilities_lists .list .image img {
	aspect-ratio: 5 / 3;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.page_single_property .facilities_wrapper .facilities_lists .list .head {
	margin-top: 20px;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: 0.05em;
}

.page_single_property .facilities_wrapper .facilities_lists .list .text {
	margin-top: 10px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 0.05em;
}

.page_single_property .equipment_wrapper {
	padding-top: 100px;
	padding-bottom: 100px;
}

.page_single_property .equipment_wrapper .external {
	margin-top: 70px;
}

.page_single_property .equipment_title {
	text-align: center;
	font-weight: 500;
	font-size: 24px;
	line-height: 1.33;
	letter-spacing: 0.2em;
}

.page_single_property .equipment_wrapper .lists {
	margin-top: 50px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px;
}

.page_single_property .equipment_wrapper .list {
	display: flex;
	flex-direction: column;
	border: 1px solid #E6E6E6;
	padding: 20px;
}

.page_single_property .equipment_wrapper .list .image {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.page_single_property .equipment_wrapper .list .image img {
	aspect-ratio: 5 / 3;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.page_single_property .equipment_wrapper .list .body {
	padding-top: 20px;
	padding-bottom: 20px;
}

.page_single_property .equipment_wrapper .list .head {
	position: relative;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.35;
	letter-spacing: 0.05em;
	text-align: center;
	padding-bottom: 10px;
}

.page_single_property .equipment_wrapper .list .head::before {
	content: "";
	position: absolute;
	background-color: #D34700;
	width: 40%;
	height: 1px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.page_single_property .equipment_wrapper .list .text {
	margin-top: 20px;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.35;
	letter-spacing: 0.05em;
	text-align: left;
}

.page_single_property .internal {
	margin-top: 120px;
}

.page_income_property .container {
	margin-top: 75px;
}

.page_income_property .container .container_title {
	text-align: center;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.33;
	letter-spacing: 0.2em;
	padding-bottom: 15px;
	position: relative;
}

.page_income_property .container .container_title::before {
	content: "";
	position: absolute;
	background-color: #D34700;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0.5;
}

.page_income_property .container .overview_lists {
	margin-top: 20px;
}



/*個人情報保護方針*/
.privacy_term_inner .btn_wrapper {
	margin-top: 50px;
	text-align: center;
}

.privacy_term_inner .btn_wrapper a {
	transition: all 0.3s ease;
}

.privacy_term_inner .btn_wrapper .btn {
	position: relative;
	display: inline-block;
	background-color: #D34700;
	color: #fff;
	padding: 15px 30px;
	font-size: 18px;
	letter-spacing: 0.1em;
}

.privacy_term_inner .btn_wrapper .btn::before {
	content: "";
	position: absolute;
	border: 1px solid #fff;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 96%;
	height: 80%;
}

.privacy_term_inner .wrapper {
	margin-top: 100px;
}


.common_archive_property .category_lead {
	text-align: center;
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.common_archive_property .btn_wrapper {
	max-width: 840px;
	margin-inline: auto;
	padding-top: 40px;
	padding-bottom: 100px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.page_single_property .common_archive_property .btn_wrapper {
	display: flex;
	gap: 20px;
	justify-content: center;
}

.page_single_property .common_archive_property .btn_wrapper .btn {
	width: 410px;
}

.common_archive_property .btn_wrapper .btn {
	position: relative;
	display: block;
	text-align: center;
	background-color: #D34700;
	color: #fff;
	font-weight: 500;
	font-size: 16px;
	padding: 5px;
	transition: background-color 0.3s ease;
}

.common_archive_property .btn_wrapper .btn.other {
	background-color: #3f3f3f;
}

.common_archive_property .btn_wrapper .btn span {
	display: block;
	border: 1px solid #fff;
	padding: 14px;
}

.common_archive_property .btn_wrapper .btn:hover {
	background-color: #D34700;
}

/* .common_archive_property .btn_wrapper .btn::before {
	content: "";
	position: absolute;
	border: 1px solid #fff;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 96%;
	height: 79%;
}
 */
.privacy_cont_sec .main_text {
	font-size: 16px;
	letter-spacing: .07em;
	font-weight: 400;
	line-height: 1.8;
	margin-block: 0 45px;
}

.privacy_cont_sec dl+dl {
	margin-block: 40px 0;
}

.privacy_cont_sec dl dt {
	font-size: 18px;
	letter-spacing: .07em;
	font-weight: 700;
	line-height: 1.5;
	border-left: 4px solid var(--main-color);
	padding-inline: 0.8em 0;
	margin-block: 0 0.7em;
}

.privacy_cont_sec dl dd {
	font-size: 14px;
	letter-spacing: .07em;
	font-weight: 400;
	line-height: 1.8;
}

.page_privacy_compliance {
	margin-bottom: 100px;
}


/*共通パーツ*/
.common_section_btn {
	position: relative;
	z-index: 1;
}

.common_section_btn .btn {
	display: flex;
	gap: 30px;
	align-items: center;
}

.common_section_btn .btn .arrow {
	position: relative;
	width: 40px;
	height: 40px;
	background-color: #D34700;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.common_section_btn .btn .arrow::before {
	content: "";
	position: absolute;
	width: 50px;
	height: 50px;
	background-color: rgba(211, 71, 0, 0.3);
	top: -5px;
	left: -5px;
	transition: all 0.3s ease;
	transform: scale(0.8);
	z-index: -1;
}

.common_section_btn .btn .arrow img {
	width: 20px;
}

.common_section_btn .btn .text {
	position: relative;
	font-weight: 500;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
}

.common_section_btn .btn .text::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0%;
	height: 1px;
	background-color: #1a1a1a;
	transition: all 0.3s ease;
}

/*お問い合わせcta*/
.common_contact {
	overflow: hidden;
	position: relative;
	z-index: 501;
}

.common_contact .link {
	position: relative;
	display: block;
}

.common_contact .link::before {
	content: "";
	position: absolute;
	background: url(./image/contact-img1.jpg) no-repeat center center / cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -2;
	filter: blur(8px);
	transition: all 0.3s ease;
}

.common_contact .link::after {
	content: "";
	position: absolute;
	background-color: rgba(38, 30, 24, 0.7);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	mix-blend-mode: multiply;
}

.common_contact .container {
	padding-top: 41px;
	padding-bottom: 49px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.common_contact .title {
	position: relative;
	font-weight: 500;
	font-size: 46px;
	line-height: 1.43;
	letter-spacing: 0.2em;
	color: #fff;
}

.common_contact .title::before {
	content: "Contact Us";
	position: absolute;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: 132px;
	line-height: 1.33;
	letter-spacing: 0;
	color: rgba(255, 255, 255, 0.1);
	top: -80px;
	left: 0;
	white-space: nowrap;
}

.common_contact .text {
	margin-top: 29px;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.43;
	letter-spacing: 0.2em;
	color: #fff;
}

.common_contact .arrow {
	width: 250px;
	height: 250px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(255, 255, 255, 0);
	transition: all 0.3s ease;
}

.common_contact .arrow img {
	width: 78px;
	transition: all 0.3s ease;
	transform: translateX(0);
}

/*cta*/
.common_cta {
	position: fixed;
	bottom: 10%;
	right: 10px;
	z-index: 502;
}

.common_cta .wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .8em 0;
}

.common_cta a {
	transition: all 0.3s ease;
}

.common_cta .cta_mail,
.common_cta .cta_arrow {
	position: relative;
	width: 65px;
	height: 220px;
	display: flex;
	justify-content: center;
}

.common_cta .cta_mail.large {
	padding-top: 21px;
	height: 260px;
}

.common_cta .cta_mail.large::after {
	height: 250px;
}

.page-template-page-rental_agency .common_cta .cta_mail {
	height: 300px;
}

.page-template-page-rental_agency .common_cta .cta_mail::after {
	height: 290px;
}

.common_cta .cta_mail {
	padding-top: 35px;
}

.common_cta.property .cta_mail {
	height: 280px;
	padding-top: 35px;
}


.common_cta .cta_mail::before {
	content: "";
	position: absolute;
	background: transparent linear-gradient(180deg, #D34700 0%, #8B2F00 100%) 0% 0% no-repeat padding-box;
	opacity: 0.9;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.common_cta .cta_arrow::before {
	content: "";
	position: absolute;
	background: transparent linear-gradient(180deg, #363636 0%, #222222 100%) 0% 0% no-repeat padding-box;
	opacity: 0.9;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.page-template-page-recruit .common_cta .cta_arrow::before {
	background: transparent linear-gradient(180deg, #D34700 0%, #8B2F00 100%) 0% 0% no-repeat padding-box;
}

.common_cta .cta_mail::after,
.common_cta .cta_arrow::after {
	content: "";
	position: absolute;
	width: 55px;
	height: 210px;
	border: 1px solid #fff;
	top: 5px;
	left: 5px;
}

.common_cta.property .cta_mail::after {
	height: 270px;
}

.common_cta .cta_mail .mail {
	position: relative;
	display: inline-block;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.2em;
	color: #F0F0F0;
	writing-mode: vertical-lr;
	padding-top: 25px;
}

.common_cta .cta_mail .mail::before {
	content: "";
	position: absolute;
	background: url(./image/icon-mail.png) no-repeat center center / cover;
	width: 22px;
	height: 15px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.common_cta .cta_arrow .arrow {
	position: relative;
	display: inline-block;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.42;
	letter-spacing: 0.2em;
	color: #F0F0F0;
	writing-mode: vertical-rl;
	padding-top: 20px;
}

.common_cta .cta_arrow .arrow::before {
	content: "";
	position: absolute;
	background: url(./image/arrow-white.png) no-repeat center center / cover;
	width: 15px;
	height: 9px;
	bottom: 25px;
	left: 50%;
	transform: translateX(-50%);
}

/*下層ページ　セクションタイトル*/
.common_page_title {
	position: relative;
	font-weight: 500;
	font-size: 30px;
	line-height: 1.4;
	letter-spacing: 0.2em;
	color: #333;
	z-index: 1;
}

.common_page_title.big {
	font-size: 36px;
}

.common_page_title::before {
	content: attr(data-en);
	position: absolute;
	font-family: "Playfair Display", serif;
	font-weight: 500;
	line-height: 1.34;
	font-size: 70px;
	letter-spacing: 0;
	color: #F2F2F2;
	bottom: -20px;
	left: 0;
	white-space: nowrap;
	z-index: -1;
}

.common_page_title.big::before {
	font-size: 110px;
	bottom: -30px;
}

.recruit_message .common_page_title {
	text-align: center;
	font-size: 24px;
}

.recruit_message .common_page_title::before {
	left: 50%;
	transform: translateX(-50%);
	font-size: 80px;
}


.desktop {
	display: block;
}

.mobile {
	display: none;
}

.lb-outerContainer {
	width: 80% !important;
	max-width: 100vw !important;
	height: auto !important;
	background-color: transparent !important;
}

.lightbox .lb-image {
	/* aspect-ratio: 3 / 2; */
	max-width: 100vw !important;
	max-height: 80vh !important;
	width: 100% !important;
	height: auto !important;
	display: block;
	margin: 0 auto;
	object-fit: contain;
	border: none;
}

.lb-nav a.lb-next {
	opacity: 1 !important;
}

.lb-nav a.lb-prev {
	opacity: 1 !important;
}

/* 初期は必ず非表示にする */
/*.mw_wp_form .js-company-row { display: none !important; }*/
.mw_wp_form.mw_wp_form_input .js-company-row {
	display: none !important;
}

/* JSでこのクラスを付けたら表示 */
.mw_wp_form .js-company-row.is-show {
	display: grid !important;
}

@keyframes arrow-slide-reverse {
	0% {
		transform: translateX(0);
		opacity: 1;
	}

	49% {
		transform: translateX(10px);
		opacity: 0;
	}

	50% {
		transform: translateX(-10px);
		opacity: 0;
	}

	100% {
		transform: translateX(0);
		opacity: 1;
	}
}


/*ホバーアニメーション*/

@media(any-hover: hover) {

	.pc_header .nav_lists .nav_list.dropdown:hover .menu {
		opacity: 1;
		visibility: visible;
	}

	.pc_header .nav_lists .nav_list.dropdown:hover .nav_text::before {
		transform: translateX(-50%) rotate(-45deg) rotateX(180deg);
		bottom: -14px;
	}

	.pc_header .nav_lists .nav_list a:hover .nav_text::after {
		width: 100%;
	}

	.pc_header .menu .lists li a:hover .text::before {
		width: 100%;
	}

	.top_living .btn_wrapper a:hover .arrow img {
		animation: arrow-slide-reverse 0.4s forwards;
	}

	.common_section_btn a:hover .arrow::before {
		transform: scale(1);
	}

	.common_section_btn a:hover .text::before {
		width: 100%;
	}

	.top_service .title_box .btn_box a:hover.btn {
		background-color: #fff;
	}

	.top_service .title_box .btn_box a:hover.btn .text {
		color: #D34700;
	}

	.top_service .title_box .btn_box a:hover.btn .arrow svg path {
		fill: #D34700;
	}

	.top_service .title_box .btn_box a:hover.btn .arrow svg line {
		stroke: #D34700;
	}

	.top_service .title_box .btn_box a:hover.btn .arrow svg {
		animation: arrow-slide-reverse 0.4s forwards;
	}

	.top_news .news_list li a:hover .news_title {
		color: #D34700;
	}

	.top_news .news_list li a:hover .news_title span {
		border-bottom: 1px solid #D34700;
	}

	.top_news .news_list li a:hover .arrow img {
		animation: arrow-slide-reverse 0.4s forwards;
	}

	.common_contact a:hover::before {
		filter: blur(0);
	}

	.common_contact a:hover .arrow img {
		transform: translateX(80px);
	}

	.common_contact a:hover .arrow {
		border: 1px solid #fff;
		background-color: rgba(255, 255, 255, 0.3);
	}

	.footer a:hover {
		opacity: 0.7;
	}

	.common_cta a:hover {
		opacity: 0.7;
	}

	.page_service .btn_box a:hover .arrow img {
		animation: arrow-slide-reverse 0.4s forwards;
	}

	.page_notice .pdf_link a:hover {
		opacity: 0.7;
	}

	.privacy_term_inner .btn_wrapper a:hover {
		opacity: 0.7;
	}

	.swiper-button-prev:hover,
	.swiper-button-next:hover {
		background-color: #1A1A1A;
	}

	.swiper-button-prev:hover::after,
	.swiper-button-next:hover::after {
		border-color: #fff;
	}

}

.section_service_cont .main_image {
	height: 300px;
	background-position: center;
	background-size: cover;
}

.section_service_cont .cont .title_box {
	background: #fff;
	padding: 50px;
	text-align: center;
	width: 500px;
	margin: -100px auto 0 auto;
}

.section_service_cont .cont .title_box .title {
	font-size: 30px;
	font-weight: 700;
}

.section_service_cont .cont .title_box .title_en {
	font-family: "Playfair Display", serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.33;
	letter-spacing: 0.02em;
	margin-top: 6px;
	color: #D34700;
}

.section_service_cont .in_cont {
	background-color: #F5F5F4;
	padding: 60px;
	position: relative;
	border-top: 3px solid;
	margin-bottom: 100px;
}

.section_service_cont .in_cont.mb {
	margin-bottom: unset;
}

.section_service_cont .in_cont.bt {
	border-top: none;
}

.section_service_cont .in_cont .commitment_box {
	margin-bottom: 60px;
}

.section_service_cont .in_cont .commitment_box .text_area {
	width: 65%;
}

.section_service_cont .in_cont .commitment_box .image {
	width: 30%;
}

.section_service_cont .in_cont .commitment_box .title {
	font-size: 20px;
	padding-left: 40px;
	margin-bottom: 1em;
	font-weight: 700;
	letter-spacing: .1em;
	position: relative;
}

.section_service_cont .in_cont .commitment_box .title:before {
	content: "";
	width: 20px;
	height: 20px;
	background: #333;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.section_service_cont .in_cont .commitment_box .text {
	line-height: 2;
}

.section_service_cont .in_cont .commitment_box .text .num {
	font-size: 20px;
	font-weight: 700;
	color: #D34700;
	margin-right: .5em;
}

.section_service_cont .in_cont .point_box .in_box {
	align-items: center;
	background: #fff;
	padding: 40px;
	border: 1px solid #ccc;
}

.section_service_cont .in_cont .point_box .in_box+.in_box {
	margin-top: 40px;
}

.section_service_cont .in_cont .point_box .in_box.flex_sb .text_area {
	width: 60%;
}

.section_service_cont .in_cont .point_box .in_box .text_area .title {
	font-size: 20px;
	margin-bottom: 1em;
	font-weight: 700;
	border-bottom: 1px solid;
	padding-bottom: 1em;
}

.section_service_cont .in_cont .point_box .in_box .text_area .title .en {
	font-size: 20px;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.33;
	letter-spacing: 0.02em;
	background: #D34700;
	color: #fff;
	padding: .2em 1em;
	display: inline-block;
	margin-right: 1em;
}

.section_service_cont .in_cont .point_box .in_box .text_area .text {
	line-height: 2;
	letter-spacing: .05em;
	font-size: 15px;
}

.section_service_cont .in_cont .point_box .in_box .text_area .text .num {
	font-size: 20px;
	font-weight: 700;
	color: #D34700;
	margin: 0 .2em;
}

.section_service_cont .in_cont .point_box .in_box.flex_sb .image {
	width: 35%;
}

.section_service_cont .in_cont .point_box .in_box.flex_sb.consistent .text_area {
	width: 70%;
}

.section_service_cont .in_cont .point_box .in_box.flex_sb.consistent .image {
	width: 25%;
}

.section_service_cont .in_cont .point_box .in_box.flex_sb:nth-child(even) .image {
	order: -1;
}

.section_service_cont .in_cont .point_box .in_box .equipment_area {
	margin-top: 30px;
}

.section_service_cont .in_cont .point_box .in_box .equipment_area ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.section_service_cont .in_cont .point_box .in_box .equipment_area ul li .picture {
	width: 100%;
	height: 140px;
	margin-bottom: 10px;
}

.section_service_cont .in_cont .point_box .in_box .equipment_area ul li .picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.section_service_cont .in_cont .point_box .in_box .equipment_area ul li .text {
	text-align: center;
	font-weight: 700;
	font-size: 14px;
}

.section_service_cont .in_cont .point_box .icon_list {
	margin-top: 30px;
}

.section_service_cont .in_cont .point_box .icon_list ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.section_service_cont .in_cont .point_box .icon_list ul li {
	align-items: center;
	border: 1px solid;
	padding: 20px;
}

.section_service_cont .in_cont .point_box .icon_list ul li .icon {
	width: 100px;
	height: 100px;
	background: transparent linear-gradient(180deg, #412217 0%, #240F03 100%) 0% 0% no-repeat padding-box;
	border-radius: 100%;
	position: relative;
}

.section_service_cont .in_cont .point_box .icon_list ul li .icon img {
	width: auto;
	height: auto;
	max-width: 50%;
	max-height: 50%;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.section_service_cont .in_cont .point_box .in_box .icon_list ul li .text_area {
	width: calc(100% - 100px);
	padding-left: 20px;
}

.section_service_cont .in_cont .point_box .in_box .icon_list ul li .text_area .title {
	font-size: 18px;
	margin-bottom: .5em;
}

.section_service_cont .in_cont .point_box .in_box .icon_list ul li .text_area .text {
	font-size: 14px;
}

.section_service_cont .in_cont .point_box .slick-slide {
	height: 200px;
	padding: 10px;
}

.section_service_cont .in_cont .point_box .slick-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.section_service_cont .in_cont .point_box .slick-dots li button:before {
	font-size: 10px;
}

.section_service_cont .in_cont .point_box .slick-dots li.slick-active button:before {
	color: #D34700;
}

.section_service_cont .in_cont .point_box .before_after {
	margin-top: 30px;
}

.section_service_cont .in_cont .point_box .before_after ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 100px;
}

.section_service_cont .in_cont .point_box .before_after ul li {
	height: 300px;
	position: relative;
}

.section_service_cont .in_cont .point_box .before_after ul li:first-child::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 30px solid transparent;
	border-bottom: 30px solid transparent;
	border-left: 20px solid #ccc;
	border-right: 0;
	position: absolute;
	right: -55px;
	top: 50%;
	transform: translateY(-50%);
}

.section_service_cont .in_cont .point_box .before_after ul li .text {
	position: absolute;
	left: 0;
	top: 0;
	padding: .2em 1em;
	background: transparent linear-gradient(180deg, #412217 0%, #240F03 100%) 0% 0% no-repeat padding-box;
	color: #fff;
}

.section_service_cont .in_cont .point_box .before_after ul li:nth-child(2) .text {
	background: #D34700;
}

.section_service_cont .in_cont .point_box .before_after ul li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.section_service_cont .in_cont .button a {
	display: block;
	width: 350px;
	line-height: 60px;
	background: url(/wp-content/themes/child/image/arrow-white.png), transparent linear-gradient(180deg, #412217 0%, #240F03 100%) 0% 0% no-repeat padding-box;
	color: #fff;
	text-align: center;
	padding-right: 30px;
	margin: 50px auto 0 auto;
	background-repeat: no-repeat;
	background-position: top 50% right 20px, center;
	background-size: 20px, auto;
	letter-spacing: .1em;
}

.page_rental_agency {
	padding-top: 120px;
	padding-bottom: 130px;
}

.page_rental_agency .section_about {
	margin-bottom: 100px;
}

.page_rental_agency .section_about .text_area {
	width: 55%;
}

.page_rental_agency .section_about .text_area .title {
	font-size: 25px;
	letter-spacing: .1em;
	margin-bottom: 1em;
}

.page_rental_agency .section_about .text_area .text {
	line-height: 2.5;
	text-align: justify;
	letter-spacing: .05em;
}

.page_rental_agency .section_about .image {
	width: 40%;
}

.page_rental_agency .section_commitment {
	background-color: #F5F5F4;
	padding: 100px 0;
	margin-bottom: 120px;
}

.page_rental_agency .section_commitment ul {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-bottom: 40px;
}

.page_rental_agency .section_commitment ul+ul {
	margin-bottom: 60px;
}

.page_rental_agency .section_commitment ul li {
	background: #fff;
	padding: 20px;
	position: relative;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
	position: relative;
}

.page_rental_agency .section_commitment ul li .num {
	background: transparent linear-gradient(180deg, #412217 0%, #240F03 100%) 0% 0% no-repeat padding-box;
	width: 40px;
	line-height: 40px;
	color: #fff;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
}

.page_rental_agency .section_commitment ul li .image {
	width: 100%;
	height: 200px;
	margin-bottom: 20px;
}

.page_rental_agency .section_commitment ul li .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page_rental_agency .section_commitment ul li .text {
	text-align: center;
	font-weight: 700;
}

.page_rental_agency .section_commitment .button_area .text_box {
	text-align: center;
}

.page_rental_agency .section_commitment .button_area .text {
	margin-bottom: .5em;
	line-height: 2;
	display: inline-block;
	position: relative;
}

.page_rental_agency .section_commitment .button_area .text:before {
	content: "＼";
	position: absolute;
	left: -1.5em;
	bottom: 0;
}

.page_rental_agency .section_commitment .button_area .text:after {
	content: "／";
	position: absolute;
	right: -1.5em;
	bottom: 0;
}

.page_rental_agency .section_commitment .button_area .button a {
	display: block;
	width: 530px;
	line-height: 70px;
	background: url(/wp-content/themes/child/image/arrow-white.png);
	color: #fff;
	text-align: center;
	padding-right: 30px;
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: top 50% right 20px;
	background-size: 20px;
	letter-spacing: .1em;
	background-color: #D34700;
	font-size: 20px;
}

.page_rental_agency .common_title {
	font-size: 30px;
	text-align: center;
	font-weight: 700;
	margin-bottom: 2em;
	letter-spacing: .1em;
	position: relative;
}

.page_rental_agency .common_title:before {
	content: "";
	width: 30px;
	height: 1px;
	background: #333;
	position: absolute;
	left: 50%;
	top: -20px;
	transform: translateX(-50%);
}

.page_rental_agency .section_flow {
	margin-bottom: 120px;
}

.page_rental_agency .section_flow .common_title {
	margin-bottom: 0.5em;
}

.section_flow .flow_text {
	text-align: center;
	margin-bottom: 0.5em;
}

.page_rental_agency .section_flow ul {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 50px;
	margin-top: 60px;
	position: relative;
}

.page_rental_agency .section_flow ul:before {
	content: "";
	width: 100%;
	height: 3px;
	background: #333;
	position: absolute;
	left: 0;
	top: 50%;
}

.page_rental_agency .section_flow ul li {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #f1f1f1;
	/* justify-content: center; */
	padding: 30px;
	padding-top: 40px;
	position: relative;
}

.page_rental_agency .section_flow ul li .img {
	width: 30px;
	margin-bottom: 15px;
}

.page_rental_agency .section_flow ul li .img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.page_rental_agency .section_flow ul li .num {
	background: transparent linear-gradient(180deg, #412217 0%, #240F03 100%) 0% 0% no-repeat padding-box;
	border-radius: 100%;
	width: 40px;
	line-height: 40px;
	color: #fff;
	text-align: center;
	position: absolute;
	left: 50%;
	top: -20px;
	transform: translateX(-50%);
}

.page_rental_agency .section_flow ul li .text {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing: .1em;
	font-weight: 700;
}

.page_rental_agency .section_faq {
	background-color: #F5F5F4;
	padding: 120px 0;
}

.page_rental_agency .section_faq dl {
	background: #fff;
	padding: 30px;
}

.page_rental_agency .section_faq dl+dl {
	margin-top: 30px;
}

.page_rental_agency .section_faq dl dt {
	position: relative;
	padding-left: 50px;
	font-size: 20px;
	margin-bottom: 1.2em;
	border-bottom: 1px solid;
	padding-bottom: 1em;
}

.page_rental_agency .section_faq dl dt:before {
	content: "Q";
	position: absolute;
	left: 0;
	top: 0;
	background: #D34700;
	color: #fff;
	width: 35px;
	height: 35px;
	line-height: 30px;
	text-align: center;
	border-radius: 100%;
}

.page_rental_agency .section_faq dl dd {
	position: relative;
	padding-left: 50px;
}

.page_rental_agency .section_faq dl dd:before {
	content: "A";
	position: absolute;
	left: 0;
	top: 0;
	background: transparent linear-gradient(180deg, #412217 0%, #240F03 100%) 0% 0% no-repeat padding-box;
	color: #fff;
	width: 35px;
	height: 35px;
	line-height: 30px;
	text-align: center;
	border-radius: 100%;
}

.page-template-page-recruit .common_cta {
	bottom: 38%;
}

.common_archive_property .btn_wrapper {
	padding-top: 0;
}

.common_archive_property .btn_wrapper.grid {
	max-width: 900px;
	grid-template-columns: repeat(4, 1fr);
}

.common_page_wrap.single_custom {
	padding-top: 40px;
}

.single_custom_title {
	font-size: 25px;
	letter-spacing: .1em;
	margin-bottom: 1.5em;
	text-align: center;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1em;
}

.single_custom_title::before,
.single_custom_title::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #E6E6E6;
}

a.contact_link_text {
	color: blue;
	text-decoration: underline;
}

.faq_dottext {
	display: block;
	margin: 0.5em 0;
}

body.tax-sales_status .breadcrumb,
body.tax-income-sales_status .breadcrumb,
body.tax-works-detached_houses .breadcrumb,
body.page-template-page-works-income_property .breadcrumb {
	display: none;
}

body.tax-sales_status .category_lead,
body.tax-income-sales_status .category_lead,
body.tax-works-detached_houses .category_lead,
body.page-template-page-works-income_property .category_lead {
	display: none;
}

@media (max-width: 750px) {
	.wrap {
		max-width: 90%;
	}

	a[href $='.pdf']::before {
		width: 7vw;
		height: 8vw;
		margin-right: 2.5vw;
	}

	a[href $='.pdf']:hover {
		text-decoration: underline;
	}

	body {
		font-size: 3.33vw;
		min-width: unset;
	}

	/* SPヘッダー */
	#sp_header {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		z-index: 1000;
		height: 77px;
	}

	#sp_header .logo {
		position: absolute;
		left: 20px;
		top: 20px;
		line-height: 0;
	}

	#sp_header .logo img {
		height: 37px;
	}

	.sp_header {
		background-color: transparent;
		transition: all 0.3s ease;
	}

	.sp_header.change-color {
		background-color: rgba(29, 29, 29, 0.8);
	}




	/* SP固定ページ 共通設定 */
	.common_page_main {
		padding-top: 29.74vw;
		padding-bottom: 16.41vw;

	}

	.common_page_main .title_box .title {
		font-size: 7.17vw;
	}

	.page-template-page-business-form .common_page_main .title_box .title {
		font-size: 6.15vw;
	}

	.common_page_main .title_box .sub_title {
		font-size: 14.10vw;
		bottom: -2.56vw;
		white-space: nowrap;
	}

	.page-template-page-business-form .common_page_main .title_box .sub_title {
		line-height: 1.1;
	}


	.common_page_main .title_box .sub_title:has(.bottom) {
		bottom: 2.44vw;
	}


	.common_page_wrap {
		padding: 20vw 0;
	}

	.reserve_text {
		font-size: 6vw;
	}

	/* パンくず */
	.breadcrumb {
		font-size: 2.82vw;
		left: 5.12vw;
		max-width: 77vw;
		/* 必要に応じて調整 */
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* SP固定ページ お問い合わせ */
	.contact_form_disc {
		margin-block: 0 2em;
	}

	.contact_form_disc .text {
		font-size: 3.6vw;
		margin-block: 0 0.8em;
	}

	.contact_form_disc .caution {
		font-size: 3.1vw;
		letter-spacing: .06em;
	}

	.common_contact_form .form_box {
		margin-block: 0 10vw;
	}

	.common_contact_form .form_box dl {
		grid-template-columns: 1fr;
		gap: 0.6em;
	}

	.common_contact_form .form_box dl+dl {
		margin-block: 1.3em 0;
	}

	.common_contact_form .form_box dl dt {
		flex-direction: row-reverse;
		justify-content: space-between;
		font-size: 4.1vw;
		padding-inline: 0;
	}

	.common_contact_form .form_box dl dt .label {
		font-size: 3.1vw;
	}

	.common_contact_form .form_box dl dt::after {
		content: none;
	}

	.common_contact_form input[type="text"],
	.common_contact_form input[type="email"],
	.common_contact_form #zip {
		font-size: 3.6vw;
	}

	.common_contact_form select {
		width: 100%;
		font-size: 3.6vw;
	}

	.common_contact_form textarea {
		height: 33vw;
		font-size: 3.6vw;
	}

	.radio_btns,
	.checkboxes {
		gap: 0.5em 2.5em;
	}

	.page_contact #btn_wrap button {
		width: 83%;
		line-height: 15.5vw;
		font-size: 4.6vw;
	}

	.page_contact #btn_wrap button[name="submitBack"] {
		margin-top: 4vw;
	}

	.mwform-checkbox-field.horizontal-item {
		display: block;
	}

	.page_contact #btn_wrap {
		width: 100%;
		text-align: center;
	}

	.privacy_check_list .mwform-checkbox-field-text {
		font-size: 3.8vw;
		padding-left: 11vw;
	}

	.mw_wp_form .privacy_check_list .horizontal-item {
		margin-right: 4vw;
	}

	.privacy_check_list .hissu {
		padding: 0.3vw 4vw;
	}

	.privacy_check_list {
		margin-bottom: 6vw;
	}

	.privacy_term_detail {
		font-size: 3.4vw;
		margin: 5vw 0;
	}

	.privacy_term_outer {
		width: 96%;
		padding: 5vw 0;
		margin-bottom: initial;
	}

	.privacy_term_outer .privacy_term_inner .main_text {
		font-size: 3.4vw;
		line-height: 1.6;
		margin-bottom: 5vw;
	}

	.privacy_term_outer .privacy_term_inner dl dt {
		font-size: 3.5vw;
		margin-bottom: 1.5vw;
	}

	.privacy_term_outer .privacy_term_inner dl dd {
		font-size: 3.5vw;
		line-height: 1.6;
	}

	.privacy_term_outer .privacy_term_inner dl+dl {
		margin-top: 7vw;
	}

	.privacy_term_detail::after {
		width: 2.5vw;
		margin: 1.5vw auto 0;
	}

	/* サンクスページ */
	.page_contact .thanks_textArea .name {
		font-size: 4vw;
		margin-bottom: 3vw;
	}

	.page_contact .thanks_textArea .contact_text {
		font-size: 3.5vw;
		margin-bottom: 2em;
		text-align: left;
	}

	.page_contact .thanks_textArea .ichiran_link {
		width: 80%;
		line-height: 12vw;
		font-size: 4vw;
	}

	/* ステップバー デザイン */
	.page_contact .progressbar {
		gap: 4.5em;
		margin-block: 0 2.5em;
	}

	.page_contact .progressbar .item {
		font-size: 3.1vw;
	}

	.page_contact .progressbar .item+.item::before {
		width: 5.7vw;
		top: 63%;
		left: -3.3em;
	}

	.page_contact .progressbar .item .mark {
		width: 7.7vw;
		margin: 0 auto 0.4em;
	}

	/* SP固定ページ 404ページ */
	#page_404 .num {
		font-size: 20vw;
		line-height: 1.5;
	}

	#page_404 .text {
		font-size: 3.5vw;
	}

	/* SP投稿ページ アーカイブページ */
	.archive_page_list>article {
		padding-right: 20px;
	}

	.archive_page_list>article .date {
		width: 80px;
	}

	.archive_page_list>article .content_area {
		width: calc(100% - 80px);
	}

	.archive_page_list>article:after {
		width: 7px;
		height: 7px;
	}

	/* SP固定ページ サイトマップ */
	ul#sitemap_list li {
		margin: 0;
	}

	body #sitemap_list li a {
		font-size: 4vw;
		padding: 1vw 2vw;
		line-height: 9vw;
		margin-bottom: 1vw;
	}

	body #sitemap_list li.home-item {
		margin-bottom: 4vw;
	}

	body #sitemap_list {
		padding: 0;
	}

	/* カスタムCSS　記述下記から */
	/* ヘッダー */

	.pc_header {
		display: none;
	}

	/* メインビジュアルsp */
	.top_fv .container {
		padding-top: 70.51vw;
		padding-bottom: 67.94vw;
	}

	.top_fv .title_wrapper {
		margin-left: 5.12vw;
	}

	.top_fv .title_wrapper .lead {
		font-size: 8.20vw;
		line-height: 1.68;
	}

	.top_fv .title_wrapper .lead_en {
		font-size: 4.61vw;
		line-height: 1.33;
	}

	.top_fv .progress-bar {
		display: none;
	}

	.top_fv .swiper-pagination {
		right: 5.12vw;
		bottom: 5.12vw;
	}

	/*top luxscapeの家に住むsp*/

	.top_living {
		padding-top: 10.25vw;
		padding-right: initial;
	}

	.top_living::before {
		font-size: 9.23vw;
		line-height: 1.33;
		letter-spacing: 0.06em;
		color: #f2f2f2;
		z-index: -1;
	}

	.top_living .title {
		padding-top: 5.89vw;
		margin-left: 5.12vw;
		padding-bottom: initial;
		font-size: 7.17vw;
		line-height: 1.5;
	}


	.top_living .container_pc {
		display: none;
	}

	.top_living .container_sp {
		display: block;
	}

	.top_living .container_sp .card {
		margin-top: 7.17vw;
		padding-bottom: 12.82vw;
		border-bottom: 1px solid #D3D3D3;
	}

	.top_living .container_sp .card+.card {
		margin-top: 12.82vw;
		border-bottom: none;
		padding-bottom: 5.89vw;
	}

	.top_living .container_sp .image {
		max-height: 71.79vw;
		overflow: hidden;
	}

	.top_living .container_sp .image img {
		aspect-ratio: 350 / 200;
		object-fit: cover;
		width: 100%;
		height: auto;
	}

	.top_living .container_sp .title_box {
		margin-top: 5.12vw;
	}

	.top_living .container_sp .title_en {
		font-family: "Playfair Display", serif;
		font-weight: 500;
		font-size: 3.07vw;
		line-height: 1.33;
		letter-spacing: 0.02em;
		color: #8B3100;
	}

	.top_living .container_sp .title_en.green {
		color: #2C6716;
	}

	.top_living .container_sp .title_en.blue {
		color: #163967;
	}

	.top_living .container_sp .card_title {
		margin-top: 0.51vw;
		font-weight: 500;
		font-size: 5.12vw;
		line-height: 1.45;
		letter-spacing: 0.02em;
	}

	.top_living .container_sp .lead {
		margin-top: 3.07vw;
		font-weight: 500;
		font-size: 3.58vw;
		line-height: 1.71;
		letter-spacing: 0.1em;
		color: #333;
	}

	.top_living .container_sp .btn_wrapper {
		margin-top: 7.69vw;
		max-width: 89.74vw;
		width: 100%;
		margin-inline: auto;
	}

	.top_living .container_sp .btn_wrapper .btn {
		display: flex;
		justify-content: space-between;
		border: 1px solid #333;
		background: transparent linear-gradient(90deg, #000000 0%, #454545 100%) 0% 0% no-repeat padding-box;
	}

	.top_living .container_sp .btn_wrapper .btn+.btn {
		margin-top: 3.58vw;
	}

	.top_living .container_sp .btn_wrapper .text {
		padding-top: 4.10vw;
		padding-bottom: 4.10vw;
		padding-left: 5.12vw;
		font-weight: 500;
		font-size: 4.10vw;
		letter-spacing: 0.1em;
		color: #fff;
	}

	.top_living .container_sp .btn_wrapper .arrow {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 15.38vw;
		height: 15.38vw;
		background-color: #fff;
	}

	.top_living .container_sp .btn_wrapper .arrow img {
		width: 4.35vw;
	}

	/*top 企業情報sp*/

	.top_about {
		padding-top: 24.35vw;
		padding-bottom: 16.15vw;
		overflow: hidden;
	}

	.top_about::before {
		width: 25.6%;
		right: initial;
		left: 0;
		height: 165.38vw;
		top: 37%;
	}

	.top_about .text_bg {
		font-size: 13.3vw;
		right: 0;
	}

	.top_about .about_container {
		flex-direction: column-reverse;
		padding-left: initial;
		gap: 11.02vw;
		padding-bottom: 17.94vw;
	}

	.top_about .about_container .title {
		font-size: 6.66vw;
		line-height: 1.61;
		padding-bottom: 4.61vw;
	}

	.top_about .about_container .title::after {
		font-size: 16.4vw;
		top: -7.69vw;
	}

	.top_about .about_container .lead {
		margin-top: 7.69vw;
		font-size: 4.35vw;
		line-height: 2;
		letter-spacing: 0.1em;
	}

	.top_about .about_container .common_section_btn {
		margin-top: 12.82vw;
		max-width: 51.28vw;
	}

	.top_about .about_container .common_section_btn:last-child {
		margin-top: 4vw;
	}

	.top_about .about_container .image_box {
		flex: initial;
		width: 86.9%;
		height: 53.84vw;
	}

	.top_about .about_container .image_box2 {
		width: 28.20vw;
		height: 28.20vw;
		bottom: initial;
		top: 25%;
	}

	.top_about .owners_container {
		padding-top: 15.64vw;
		padding-left: initial;

	}

	.top_about .owners_container .image_box {
		top: 15.64vw;
		width: 91.2%;
		height: 53.84vw;
		margin-right: calc(50% - 50vw);
	}

	.top_about .owners_container .text_box {
		width: 100%;
		min-width: 94.87vw;
		margin-top: 30.76vw;
		padding: 7.17vw 5.12vw 8.71vw;
		margin-left: calc(50% - 50vw);
	}

	.top_about .owners_container .text_box .title {
		font-size: 5.12vw;
		letter-spacing: 0.1em;
	}

	.top_about .owners_container .text_box .title_en {
		font-size: 3.58vw;
	}

	.top_about .owners_container .text_box .lead {
		margin-top: 5.38vw;
		font-size: 3.33vw;
		line-height: 1.92;
	}

	.top_about .owners_container .text_box .btn_box {
		flex-direction: column;
		gap: 7.69vw;
		align-items: initial;
		padding-right: 7.69vw;
		margin-top: 7.69vw;
	}

	.top_about .investors_container {
		padding-top: 23.33vw;
	}

	.top_about .investors_container .image_box {
		top: 23.33vw;
		width: 91.2%;
		height: 53.84vw;
		margin-left: calc(50% - 50vw);
	}

	.top_about .investors_container .text_box {
		width: 100%;
		margin-left: initial;
		padding: 7.17vw 4.10vw 11.53vw;
		margin-top: 32.30vw;
	}

	.top_about .investors_container .text_box .title {
		font-size: 4.87vw;
		letter-spacing: 0.1em;
	}

	.top_about .investors_container .text_box .title_en {
		font-size: 3.58vw;
		line-height: 1.35;
	}

	.top_about .investors_container .text_box .lead {
		margin-top: 5.38vw;
		font-size: 3.33vw;
		line-height: 1.92;
	}

	.top_about .investors_container .text_box .btn_box {
		flex-direction: column;
		gap: 5vw;
		align-items: initial;
		margin-top: 7.69vw;
	}


	/*top 土地の売却をご検討の方sp*/
	.top_service .container {
		display: block;
	}

	.top_service .title_wrapper {
		flex: initial;
		max-width: initial;
		min-width: initial;
		width: 100%;
		padding-left: initial;
		text-align: center;
		padding-top: 10vw;
		padding-bottom: 10vw;
		position: relative;
		height: auto;
		top: initial;
	}

	.top_service .title_wrapper::before {
		background: url(./image/sale-img1-sp.jpg) no-repeat center center / cover;
	}

	.top_service .title_wrapper .lead_en {
		position: initial;
		writing-mode: horizontal-tb;
		font-size: 3.07vw;
	}

	.top_service .title_box {
		margin-top: initial;
		position: initial;
		top: initial;
	}

	.top_service .title_box .title {
		font-size: 5.64vw;
		line-height: 1.54;
	}

	.top_service .service_wrapper {
		padding: 12.82vw 5.12vw 21.28vw;
	}

	.top_service .service_wrapper .title {
		font-size: 5.64vw;
		line-height: 2.36;
	}

	.top_service .service_wrapper .cards {
		display: block;
		width: 100%;
		margin-top: 5.12vw;
	}

	.top_service .service_wrapper .card {
		display: block;
	}

	.top_service .service_wrapper .card .head {
		width: 100%;
		writing-mode: horizontal-tb;
		height: 14.70vw;
		font-size: 3.58vw;
		padding-right: initial;
		padding-bottom: 3.07vw;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.top_service .service_wrapper .card .head::before {
		background: url(./image/head1-sp.png) no-repeat center center / cover;
	}

	.top_service .service_wrapper .card .body {
		width: 100%;
		flex-grow: initial;
		padding-top: initial;
		display: flex;
		padding-top: 3.07vw;
		padding-bottom: 6.41vw;
		padding-left: 2.56vw;
		justify-content: start;
		align-items: center;
		gap: 4.61vw;
	}

	.top_service .service_wrapper .card .image {
		margin: initial;
		width: 25.64vw;
		height: 25.64vw;
	}

	.top_service .service_wrapper .card .image img {
		width: 13.58vw;
	}

	.top_service .service_wrapper .card .card_title_box {
		margin-top: initial;
	}

	.top_service .service_wrapper .card .card_title {
		font-size: 4.61vw;
		text-align: left;
	}

	.top_service .service_wrapper .card .text {
		margin-top: 2.05vw;
		font-size: 3.07vw;
		text-align: left;
	}

	.top_service .service_wrapper .card .number {
		font-size: 6.15vw;
		left: 11%;
		transform: initial;
		top: 0;
	}

	.top_service .service_wrapper .card .number span {
		font-size: 2.30vw;
	}

	.top_service .service_wrapper .last_head {
		width: 100%;
		height: 12.82vw;
		font-size: 3.58vw;
		padding-right: initial;
		padding-right: initial;
		writing-mode: horizontal-tb;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.top_service .service_wrapper .last_head::before {
		background: url(./image/head2-sp.png) no-repeat center center / cover;
	}

	.top_service .items {
		margin-top: 17.94vw;
		grid-template-columns: repeat(1, 1fr);
		gap: 2.56vw;
	}

	.top_service .items .item {
		gap: 3.84vw;
	}

	.top_service .items .item .head {
		aspect-ratio: 4 /5;
		width: 20.51vw;
		height: auto;
		font-size: 4.10vw;
	}

	.top_service .items .item .head.height_long {
		aspect-ratio: 4 / 7;
	}

	.top_service .items .item .body .text {
		font-size: 3.58vw;
	}

	.top_service .items .item .body .body_box .text_head {
		flex: 0 0 10.25vw;
		padding-right: 2.56vw;
	}

	.top_service .items .item .body .body_box+.body_box {
		margin-top: 2.56vw;
		align-items: center;
	}

	.top_service .items .item .body .body_box .text_item {
		padding-left: 2.56vw;
	}

	.top_service .items .item .body .body_box .text_head::before {
		height: 100%;
	}

	.top_service .items .item .body .text span {
		font-size: 3.33vw;
	}

	.top_service .service_wrapper .btn_box {
		margin-top: 15.12vw;
		max-width: 89.74vw;
		width: 100%;
	}

	.top_service .service_wrapper .btn_box .btn {
		background-color: #D34700;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		border: 1px solid #D34700;
		padding-top: 4.87vw;
		padding-bottom: 4.61vw;
		padding-left: 3.84vw;
	}

	.top_service .service_wrapper .btn_box .btn .text {
		font-weight: 500;
		font-size: 4.61vw;
		letter-spacing: 0.1em;
		color: #fff;
	}

	.top_service .service_wrapper .btn_box .btn .arrow {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 10.25vw;
		height: 100%;
		overflow: hidden;
	}

	.top_service .service_wrapper .btn_box .btn .arrow svg path {
		fill: #fff;
	}

	.top_service .service_wrapper .btn_box .btn .arrow svg line {
		stroke: #fff;
	}

	.top_service .service_wrapper .btn_box .btn .arrow svg {
		width: 5.12vw;
		height: 3.07vw;
	}


	/*top 無限スライダーsp*/
	.top_slider {
		padding-top: 8.46vw;
	}

	.top_slider .item {
		gap: 5.64vw;
	}

	.top_slider .item .image {
		padding-top: 3.85vw;
		width: 25.89vw;
		height: 18.46vw;
	}

	.top_slider .item .text_en {
		font-size: 14.61vw;
	}

	/*top お知らせsp*/
	.top_news {
		padding-top: 15.38vw;
		padding-bottom: 16.67vw;
	}

	.top_news .container {
		gap: initial;
		justify-content: space-between;
	}

	.top_news .title_box .title {
		padding-left: 6.67vw;
		font-size: 6.15vw;
	}

	.top_news .title_box .title::before {
		font-size: 3.58vw;
		top: 1.03vw;
		left: 1.54vw;
	}

	.top_news .title_box .title::after {
		top: 1.03vw;
		height: 18.72vw;
	}

	.top_news .title_box {
		min-width: 20.51vw;
	}

	.top_news .contents_box {
		flex-grow: 1;
	}

	.top_news .contents_box .news_list {
		margin-top: initial;
	}

	.top_news .contents_box .news_list ul {
		grid-template-columns: repeat(1, 1fr);
		gap: initial;
	}

	.top_news .contents_box .news_list .meta {
		max-width: initial;
	}

	.top_news .contents_box .news_list .date {
		font-size: 3.07vw;
	}

	.top_news .contents_box .news_list .news_title {
		margin-top: 1.03vw;
		font-size: 3.58vw;
	}

	.top_news .contents_box .news_list li {
		border-top: none;
	}

	.top_news .contents_box .news_list li:first-child {
		border-top: 1px solid #D3D3D3;
	}

	.top_news .contents_box .news_list li a {
		padding-top: 4.62vw;
		padding-bottom: 4.62vw;
		justify-content: space-between;
		gap: 4.62vw;
	}

	.top_news .contents_box .news_list .arrow {
		width: 6.15vw;
		height: 6.15vw;
		flex-shrink: 0;
	}

	.top_news .btn_wrapper_bottom {
		margin-top: 10.26vw;
	}

	.top_news .btn_wrapper_bottom .common_section_btn {
		max-width: 60.51vw;
		width: 100%;
		margin-inline: auto;
	}

	.top_news .contents_box .news_list .arrow img {
		width: 3.33vw;
	}

	.top_news .btn_wrapper_bottom .common_section_btn .btn .text::before {
		display: none;
	}

	/*top 採用情報sp*/
	.top_recruit {
		position: relative;
		padding-top: 15.38vw;
		padding-bottom: 28.21vw;
	}

	.top_recruit .container {
		padding-left: initial;
		padding-right: initial;
		padding-bottom: 15.64vw;
	}

	.top_recruit .container::before {
		background: url(./image/recruit-bg-sp.jpg) no-repeat center center / cover;
		left: 0;
		aspect-ratio: 350 / 495;
		width: 100%;
	}

	.top_recruit .image1 {
		position: absolute;
		top: 46.15vw;
		aspect-ratio: 140 / 200;
		width: 35.9vw;
		height: auto;
		left: 0;

	}

	.top_recruit .image2 {
		position: absolute;
		top: 15.38vw;
		right: 0;
		aspect-ratio: 230 / 295;
		width: 58.97vw;
		height: auto;
	}

	.top_recruit .title_box {
		padding-top: 92.82vw;
		padding-left: 5.13vw;
	}

	.top_recruit .title {
		font-size: 6.66vw;
		line-height: 1.61;
		padding-bottom: 5.13vw;
	}

	.top_recruit .title::before {
		font-size: 16.41vw;
		top: -7.69vw;
	}

	.top_recruit .title::after {
		width: 18.46vw;
	}

	.top_recruit .lead {
		margin-top: 6.41vw;
		font-size: 3.84vw;
		line-height: 1.86;
		letter-spacing: 0.08em;
	}

	.top_recruit .btn_wrapper {
		margin-top: 10.26vw;
	}

	.top_recruit .btn_wrapper .common_section_btn {
		max-width: 51.28vw;
	}


	.top_recruit .btn_wrapper .text::before {
		display: none;
	}


	/*フッター*/

	.footer {
		padding-bottom: 20vw;
	}


	.footer .contents_box {
		display: none;
	}

	.footer .container {
		display: block;
	}

	.footer .arrow_wrapper {
		padding-top: 3.85vw;
		padding-bottom: 0.51vw;
	}

	.footer .arrow_wrapper .arrow {
		width: 7.95vw;
		height: 9.49vw;
	}

	.footer .arrow_wrapper .arrow img {
		width: 7.95vw;
	}

	.footer .meta_box {
		flex: initial;
		padding-top: 25.13vw;
		padding-left: 5.13vw;
		padding-right: 5.13vw;
		padding-bottom: 14.10vw;
	}

	.footer .meta_box::before {
		content: none;
	}

	.footer .meta_box::after {
		opacity: 0.14;
		mix-blend-mode: screen;
	}

	.footer .meta_box .logo {
		max-width: 49.23vw;
	}

	.footer .meta_box .company {
		margin-top: 2.56vw;
		font-size: 3.33vw;
	}

	.footer .meta_box .map_wrapper {
		margin-top: 11.28vw;
	}

	.footer .meta_box .map_wrapper .map {
		margin-top: 3.08vw;
	}

	.footer .meta_box .map_wrapper .map iframe {
		aspect-ratio: 350 / 160;
	}

	.footer .meta_box .map_wrapper .address {
		margin-top: 4.36vw;
		font-size: 3.33vw;
	}

	.footer .meta_box .copyright {
		margin-top: 15.64vw;
		font-size: 3.07vw;
	}

	/*下層ページsp*/
	/*会社概要sp*/
	.page_company {
		display: block;
	}

	.page_company .side_wrapper {
		display: none;
	}

	.page_company .main_wrapper {
		padding-top: 16.92vw;
	}

	.page_company .company_philosophy {
		padding-left: 5.13vw;
		padding-right: 5.13vw;
		padding-bottom: 7.69vw;
	}

	.page_company .company_philosophy .philosophy_box {
		margin-bottom: 20vw;
		padding: 6vw;
		text-align: center;
	}

	.page_company .company_philosophy .philosophy_box .common_page_title {
		text-align: left;
	}

	.page_company .company_philosophy .philosophy_box .catch {
		font-weight: 500;
		font-size: 5.12vw;
		line-height: 1.4;
	}

	.page_company .company_philosophy .philosophy_box .text {
		line-height: 2.2;
	}

	.page_company .company_philosophy .philosophy_box .name {
		font-size: 4vw;
		margin-right: 0;
	}

	.page_company .company_philosophy .container {
		margin-top: 9.49vw;
	}

	.page_company .company_philosophy .container .list {
		display: block;
	}

	.page_company .company_philosophy .container .list+.list {
		margin-top: 10.26vw;
	}

	.page_company .company_philosophy .container .list .list_title {
		flex: initial;
		font-size: 3.58vw;
	}

	.page_company .company_philosophy .container .list .list_title::before {
		width: 80%;
		top: 50%;
		transform: translateY(-50%);
	}

	.page_company .company_philosophy .container .list .body {
		margin-top: 6.15vw;
		padding-left: initial;
	}

	.page_company .company_philosophy .container .list .body_title {
		font-weight: 500;
		font-size: 5.12vw;
		line-height: 1.4;
	}

	.page_company .company_philosophy .container .list .text {
		margin-top: 3.08vw;
		font-size: 3.33vw;
		line-height: 1.84;
	}

	.page_company .company_philosophy .container .value_list {
		display: block;
	}

	.page_company .company_philosophy .container .value_list+.value_list {
		margin-top: 7.69vw;
	}

	.page_company .company_philosophy .container .value_title {
		width: 100%;
	}

	.page_company .company_philosophy .container .value_title .number {
		font-size: 3.58vw;
	}

	.page_company .company_philosophy .container .value_title .jp {
		font-size: 5.12vw;
	}

	.page_company .company_philosophy .container .value_text {
		padding-left: initial;
		font-size: 3.33vw;
		margin-top: 2.56vw;
	}

	.page_company .company_philosophy .container .value_text::before {
		content: none;
	}

	.page_company .company_outline {
		padding-top: 17.95vw;
		padding-left: 5.13vw;
		padding-bottom: 15.38vw;
	}

	.page_company .company_outline .container {
		margin-top: 7.69vw;
	}

	.page_company .company_outline .outline_table tr {
		flex-direction: column;
		align-items: start;
		padding-top: 4.10vw;
		padding-bottom: 4.10vw;
	}

	.page_company .company_outline .outline_table th {
		flex: initial;
		font-weight: 700;
		font-size: 3.58vw;
	}

	.page_company .company_outline .outline_table td {
		margin-top: 2.56vw;
		flex: initial;
		padding-left: initial;
		line-height: 1.75;
		font-size: 3.58vw;
	}

	.page_company .company_profile {
		padding-top: 17.95vw;
		padding-left: 5.13vw;
		padding-right: 5.13vw;
		padding-bottom: 7.69vw;
	}

	.page_company .company_profile .company_profile_title {
		font-size: 5.12vw;
	}

	.page_company .company_profile .company_profile_subtitle {
		top: -12.82vw;
	}

	.page_company .company_profile .company_profile_subtitle span {
		font-size: 17.98vw;
		padding-left: initial;
		padding-right: initial;

	}

	.page_company .company_profile .company_profile_subtitle span::before,
	.page_company .company_profile .company_profile_subtitle span::after {
		content: none;
	}

	.page_company .company_profile .container {
		margin-top: 7.69vw;
		padding-bottom: 7.69vw;
		border-bottom: 1px solid #E8E4E1;
	}

	.page_company .company_profile .container .lists {
		gap: 7.69vw 5.13vw;
		padding-right: initial;
	}

	.page_company .company_profile .profile {
		flex-direction: column;
		gap: 3.85vw;
		justify-content: space-between;
		height: 100%;
	}

	.page_company .company_profile .profile .profile_img {
		flex: initial;
		width: 100%;
	}

	.page_company .company_profile .profile .profile_body {
		padding-bottom: 3.85vw;
		justify-content: center;
	}

	.page_company .company_profile .profile .profile_body::before {
		width: 10.26vw;
	}

	.page_company .company_profile .profile .position {
		font-size: 3.07vw;
	}

	.page_company .company_profile .profile .name {
		margin-top: 6.15vw;
		font-size: 3.33vw;
	}

	.page_company .company_profile .profile .name_en {
		margin-top: 0.77vw;
		font-size: 3.33vw;
	}

	.page_company .company_profile .profile .name.mt {
		margin-top: 15.38vw;
	}

	.page_company .company_chart {
		padding-top: 15.38vw;
		padding-bottom: 17.95vw;
		padding-left: 5.13vw;
		padding-right: 5.13vw;
	}

	.page_company .company_chart .container .title_box {
		position: initial;
		top: initial;
	}

	.page_company .company_chart .chart_img {
		margin-top: 7.69vw;
		width: 150vw;
	}

	.page_company .company_chart .scroll_box {
		overflow-x: scroll;
	}

	.page_company .company_history {
		padding-top: 30.77vw;
		padding-left: 5.13vw;
		padding-right: 5.13vw;
		padding-bottom: 17.95vw;
	}

	.page_company .company_history .container {
		margin-top: 10.26vw;
	}

	.page_company .company_history .history_list {
		display: block;
		margin-top: 5.13vw;
	}

	.page_company .company_history .history_list.mt {
		margin-top: 5.13vw;
	}

	.page_company .company_history .history_list.mt2 {
		margin-top: 5.13vw;
	}


	.page_company .company_history .history_list .year_head {
		flex: initial;
		font-size: 8.20vw;
		padding-right: initial;
		padding-left: 5.13vw;
	}

	.page_company .company_history .year_box {
		display: block;
		margin-top: 2.56vw;
	}

	.page_company .company_history .year_month {
		padding-left: initial;
		font-size: 3.58vw;
		padding-left: 5.13vw;
	}

	.page_company .company_history .year_month::before {
		width: 2.05vw;
		height: 2.05vw;
	}

	.page_company .company_history .text {
		padding-left: 5.13vw;
		font-size: 3.33vw;
	}

	.page_company .company_history .history_lists::before {
		top: 17.95vw;
		left: 0.8vw;
		height: 95%;
	}

	/*事業内容*/
	.page_service {
		padding-top: 20vw;
		padding-bottom: 20vw;
	}

	.page_service .btn_wrapper {
		gap: 3.85vw;
		grid-template-columns: repeat(2, 1fr);
		margin-bottom: 20vw;
	}

	.page_service .btn_wrapper .btn {
		font-size: 3.58vw;
		padding-top: 3.85vw;
		padding-bottom: 7.69vw;
	}

	.page_service .btn_wrapper .btn::after {
		top: initial;
		transform: initial;
		bottom: 3.85vw;
		left: 50%;
		transform: translateX(-50%);
		width: 2.56vw;
		height: 2.05vw;
		right: initial;
	}

	.page_service .service_detached_house {
		padding-top: 19.23vw;
		padding-bottom: initial;
	}

	.page_service .service_card .body {
		position: initial;
		width: 100%;
		right: initial;
	}

	.page_service .service_card .body .bg {
		background-color: transparent;
		padding-top: 5.13vw;
		padding-left: initial;
		padding-right: initial;
		padding-bottom: initial;
	}

	.page_service .service_card .body .bg::before {
		content: none;
	}

	.page_service .service_card .body .title_box {
		display: flex;
		flex-direction: column-reverse;
	}

	.page_service .service_card .body .title {
		color: #1a1a1a;
		font-size: 5.12vw;
		letter-spacing: 0.02em;
	}

	.page_service .service_card .body .title_en {
		color: #8B3100;
		font-size: 3.07vw;
		margin-top: initial;
	}

	.page_service .service_card .body .title_en.green {
		color: #2C6716;
	}

	.page_service .service_card .body .text {
		margin-top: 3.08vw;
		font-size: 3.58vw;
		line-height: 1.71;
		color: #333333;
	}

	.page_service .service_card .body .btn_box {
		margin-top: 7.69vw;
		margin-inline: auto;
		max-width: 89.74vw;
		width: 100%;
	}

	.page_service .service_card .body .btn_box.wide {
		max-width: 97.44vw;
	}


	.page_service .service_card .body .btn {
		background: transparent linear-gradient(90deg, #000000 0%, #454545 100%) 0% 0% no-repeat padding-box;
		border: 1px solid #333;
	}

	.page_service .service_card .body .btn .arrow {
		height: 15.64vw;
	}

	.page_service .service_revenue_apartment {
		padding-top: 15.38vw;
		padding-bottom: initial;
	}

	.page_service .service_rc_mansion {
		padding-top: 15.38vw;
		padding-bottom: initial;
	}

	.page_service .service_real_estate {
		padding-top: 15.38vw;
		padding-bottom: initial;
	}

	.page_service .btn_wrapper .btn::before {
		height: 88%;
	}

	.page_service .service_card .body .btn .btn_text {
		padding-top: 4.20vw;
		padding-bottom: 4.20vw;
		padding-left: 5.13vw;
		font-size: 4.10vw;
	}

	.page_service .service_card .body .btn .btn_text.small {
		padding-left: 3.85vw;
		font-size: 3.59vw;
	}

	.page_service .service_card .body .btn .arrow {
		width: 15.38vw;
		height: 15.38vw;
	}

	.page_service .service_card .body .btn .arrow img {
		width: 4.36vw;
	}



	/*採用情報sp*/
	.page_recruit {
		padding-top: 7.69vw;
		padding-bottom: 7.69vw;
	}

	.page_recruit .recruit_message {
		padding-top: 12.82vw;
		padding-bottom: 12.82vw;
	}

	.page_recruit .container {
		margin-top: 12.82vw;
	}


	.page_recruit .container .title {
		font-size: 7.69vw;
	}

	.page_recruit .container .text {
		text-align: left;
		margin-top: 7.69vw;
		font-size: 3.84vw;
		letter-spacing: 0.1em;
	}

	.page_recruit .recruit_career {
		padding-top: 12.82vw;
		padding-bottom: 7.69vw;
	}

	.page_recruit .card .head_box {
		padding-bottom: 1.28vw;
	}

	.page_recruit .card {
		display: block;
	}

	.page_recruit .card .body {
		margin-top: 5.12vw;
	}

	.page_recruit .card .head {
		font-size: 5.12vw;
	}

	.page_recruit .card .head::before {
		font-size: 3.58vw;
		right: -15.38vw;
	}

	.page_recruit .card .card_text {
		margin-top: 3.85vw;
		font-size: 3.33vw;
	}

	.page_recruit .card .card_comment {
		margin-top: 7.69vw;
	}

	.page_recruit .card .card_comment .head::before {
		right: -20.51vw;
	}

	.recruit_message .common_page_title {
		font-size: 5.12vw;
	}

	.recruit_message .common_page_title::before {
		font-size: 15.38vw;
	}

	.page_recruit .card .image img {
		aspect-ratio: 4 / 3;
		object-position: top;
	}

	.page_recruit .card+.card {
		margin-top: 19.23vw;
	}

	/*電子公告sp*/
	.page_notice {
		padding-top: 20vw;
		padding-bottom: 20vw;
	}

	.page_notice .lists {
		padding-left: initial;
		padding-right: initial;
	}

	.page_notice .list+.list {
		margin-top: 3.85vw;
	}

	.page_notice .list {
		padding: 3.85vw 2.56vw;
	}

	.page_notice .list .meta_box {
		padding-bottom: 1.54vw;
	}

	.page_notice .list .meta_box .date {
		font-size: 3.58vw;
		margin-right: 3.85vw;
	}

	.page_notice .list .meta_box .tab {
		font-size: 3.58vw;
		margin-left: 3.85vw;
	}

	.page_notice .list .pdf_link {
		padding-top: 2.56vw;
	}

	.page_notice .list .pdf_link a {
		font-size: 3.33vw;
	}

	/*物件詳細ページsp*/
	.page_single_property .property_wrapper {
		display: block;
		padding-bottom: 23.07vw;
	}

	.page_single_property.works .property_wrapper {
		padding-bottom: initial;
	}

	.page_single_property .property_wrapper .image_box {
		width: 100%;
	}

	.page_single_property .property_wrapper .image_box img {
		aspect-ratio: 5 / 3;
	}

	.page_single_property .property_wrapper .slide_box .image {
		width: 25.64vw;
	}

	.page_single_property .property_wrapper .image_box .text {
		font-size: 3.58vw;
	}

	.page_single_property .property_wrapper .contents_box {
		margin-top: 5.12vw;
		width: 100%;
		padding: 2.56vw;
	}

	.page_single_property .property_wrapper .contents_box .list {
		gap: 2.56vw;
	}

	.page_single_property .property_wrapper .contents_box .list .head {
		flex: 0 0 12.82vw;
		font-size: 3.84vw;
	}

	.page_single_property .property_wrapper .contents_box .list .text {
		font-size: 3.33vw;
	}

	.page_single_property .property_wrapper .contents_box .list .text .red {
		font-size: 5.12vw;
	}

	.page_single_property .overview_wrapper {
		padding-top: 12.82vw;
		padding-bottom: 12.82vw;
		background-color: #F5F5F4;
	}

	.page_single_property .title_box .title {
		font-weight: 500;
		font-size: 6.66vw;
		line-height: 1.33;
		letter-spacing: 0.2em;
	}

	.page_single_property .title_box .title_en {
		font-size: 3.58vw;
	}

	.page_single_property .overview_lists {
		margin-top: 7.69vw;
		width: 100%;
	}

	.page_single_property .overview_lists .list {
		flex-direction: column;
		gap: 0;
	}

	.page_single_property .overview_lists .list .items {
		width: 100%;
		align-items: baseline;
	}

	.page_single_property .overview_lists .list .items .head {
		font-size: 3.07vw;
		flex: 0 0 38vw;
	}

	.page_single_property .overview_lists .list .items .text {
		font-size: 2.82vw;
		padding-left: initial;
	}

	.page_single_property .facilities_wrapper {
		padding-top: 17.95vw;
		padding-bottom: initial;
	}

	.page_single_property .facilities_wrapper .facilities_lists {
		margin-top: 2.56vw;
		grid-template-columns: repeat(2, 1fr);
		gap: 2.56vw;
	}

	.page_single_property .facilities_wrapper .facilities_lists .list {
		padding: 3.85vw 0px;
	}

	.page_single_property .facilities_wrapper .facilities_lists .list .head {
		font-size: 3.07vw;
	}

	.page_single_property .facilities_wrapper .facilities_lists .list .text {
		font-size: 3.07vw;
	}

	.page_single_property .equipment_wrapper {
		padding-top: 12.82vw;
		padding-bottom: initial;
	}

	.page_single_property .equipment_wrapper .external {
		margin-top: 3.58vw;
	}

	.page_single_property .internal {
		margin-top: 20.51vw;
	}

	.page_single_property .equipment_title {
		font-size: 5.12vw;
	}

	.page_single_property .equipment_wrapper .lists {
		margin-top: 3.58vw;
		grid-template-columns: repeat(1, 1fr);
		gap: 5.12vw;
	}

	.page_single_property .equipment_wrapper .list {
		padding: 3.84vw;
	}

	.page_single_property .equipment_wrapper .list .body {
		padding-top: 3.85vw;
		padding-bottom: 3.85vw;
	}

	.page_single_property .equipment_wrapper .list .head {
		font-size: 3.84vw;
		padding-bottom: 2.05vw;
	}

	.page_single_property .equipment_wrapper .list .text {
		margin-top: 3.85vw;
		font-size: 3.33vw;
	}

	.property_nav_prev {
		right: initial;
		left: 2.56vw;
	}

	.property_nav_next {
		left: initial;
		right: 2.56vw;
	}

	.property_nav {
		width: 6.41vw;
		height: 6.41vw;
		top: 60%;
	}

	.swiper-button-prev.property_nav::after,
	.swiper-button-next.property_nav::after {
		width: 1.54vw;
		height: 1.54vw;
	}

	/*物件一覧sp*/
	.page_detached_house {
		padding-top: 20vw;
		padding-bottom: 20vw;
	}

	.common_archive_property .lists {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7.69vw 2.56vw;
	}

	.common_archive_property .list .body {
		padding-top: 2.56vw;
		padding-bottom: 2.56vw;
	}

	.common_archive_property .list .title {
		font-size: 3.58vw;
		line-height: 1.33;
	}

	.common_archive_property .list .title::before {
		width: 9.23vw;
	}

	.common_archive_property .list .description {
		margin-top: 2.56vw;
		font-size: 3.58vw;
	}

	.common_archive_property .list .description span {
		font-size: 6.15vw;
	}

	.common_archive_property .list .category {
		gap: 1.03vw;
	}

	.common_archive_property .list .category span {
		font-size: 2.30vw;
		padding: 0.51vw 1.03vw;
	}

	.common_archive_property .category_lead {
		font-size: 4.10vw;
	}

	.common_archive_property .btn_wrapper {
		padding-top: 5.13vw;
		padding-bottom: 10.26vw;
		gap: 3.07vw;
	}

	.page_single_property .common_archive_property .btn_wrapper {
		grid-template-columns: repeat(1, 1fr);
		padding: 0 0 15vw;
		display: grid;
		gap: 2vw;
	}

	.common_archive_property .btn_wrapper.grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.page_single_property .common_archive_property .btn_wrapper .btn {
		width: 100%;
	}

	.common_archive_property .btn_wrapper .btn {
		font-size: 3.07vw;
		padding: 1.28vw;
	}

	.common_archive_property .btn_wrapper .btn span {
		padding: 2.05vw 0;
	}

	/*個人情報保護方針sp*/
	.privacy_term_inner .btn_wrapper .btn {
		font-size: 3.58vw;
		padding: 5.13vw 3.85vw;
	}

	.privacy_term_inner .btn_wrapper .btn::before {
		width: 97%;
		height: 84%;
	}

	.privacy_term_inner .wrapper {
		margin-top: 17.95vw;
	}

	.page_privacy_compliance {
		margin-bottom: 12.82vw;
	}


	/*共通パーツ*/

	.common_section_btn .btn {
		gap: 5.12vw;
	}

	.common_section_btn .btn .text {
		display: block;
		flex-grow: 1;
		padding-top: 1.28vw;
		padding-bottom: 1.28vw;
		font-size: 4.10vw;
	}

	.common_section_btn .btn .arrow {
		width: 10.25vw;
		height: 10.25vw;
	}

	.common_section_btn .btn .arrow::before {
		width: 12.82vw;
		height: 12.82vw;
		top: -1.28vw;
		left: -1.28vw;
	}

	.common_section_btn .btn .arrow img {
		width: 5.12vw;
	}

	.common_section_btn .btn .text.no_line {
		padding-top: 0;
		padding-bottom: 0;
	}

	.common_section_btn .btn .text::before {
		width: 100%;
		background-color: #E8E8E8;
	}

	.common_section_btn .btn .text.no_line::before {
		width: 0%;
	}

	.common_contact .link {
		display: none;
	}

	.common_contact .container {
		position: relative;
		display: block;
		padding-top: 12.82vw;
		padding-bottom: 12.82vw;
	}

	.common_contact .container::before {
		background: url(./image/contact-img1-sp.jpg) no-repeat center center / cover;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -2;
		filter: blur(8px);
	}

	.common_contact .container::after {
		content: "";
		position: absolute;
		background-color: rgba(38, 30, 24, 0.7);
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
		mix-blend-mode: multiply;
	}

	.common_contact .title {
		font-size: 7.69vw;
		line-height: 1.46;
	}

	.common_contact .title::before {
		font-size: 15.89vw;
		top: -25px;
	}

	.common_contact .text {
		margin-top: 5.64vw;
		font-size: 3.58vw;
		line-height: 1.64;
	}

	.common_contact .arrow {
		display: none;
	}

	.common_contact .btn_wrapper {
		margin-top: 8.72vw;
	}

	.common_contact .btn_wrapper .btn {
		display: block;
		width: 76.92vw;
		position: relative;
		padding-top: 5.90vw;
		padding-bottom: 5.90vw;
		padding-left: 6.41vw;
		background-color: #fff;
	}

	.common_contact .btn_wrapper .btn::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		background: transparent linear-gradient(180deg, #D34700 0%, #8B2F00 100%) 0% 0% no-repeat padding-box;
		z-index: 1;
		top: 0;
		left: 0;
	}

	.common_contact .btn_wrapper .btn::after {
		content: "";
		position: absolute;
		width: 74.36vw;
		height: 15.38vw;
		border: 1px solid #fff;
		top: 1.28vw;
		left: 1.28vw;
		z-index: 1;
	}

	.common_contact .btn_wrapper .btn span {
		display: inline-block;
		position: relative;
		font-weight: 500;
		font-size: 4.62vw;
		line-height: 1.16;
		letter-spacing: 0.2em;
		color: #F0F0F0;
		z-index: 2;
		padding-left: 12.82vw;
	}

	.common_contact .btn_wrapper .btn span::before {
		content: "";
		position: absolute;
		background: url(./image/icon-mail.png) no-repeat center center / cover;
		aspect-ratio: 44 / 30;
		width: 8.21vw;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
	}

	/*cta sp*/
	.common_cta {
		top: initial;
		transform: initial;
		bottom: 0;
		right: 0;
		width: 100%;
		z-index: 1001;
	}

	.common_cta .wrapper {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0;
	}

	.page-template-page-recruit .common_cta .wrapper {
		display: block;
	}

	.common_cta.property .wrapper {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 0;
	}


	.common_cta .cta_mail {
		padding-top: 4.36vw;
		padding-bottom: 3.85vw;
	}

	.common_cta .cta_mail,
	.common_cta .cta_arrow {
		width: 100%;
		height: 100%;
	}

	.common_cta .cta_mail.large {
		height: 100%;
	}

	.page-template-page-rental_agency .common_cta .wrapper {
		display: block;
	}

	.page-template-page-rental_agency .common_cta .cta_mail {
		height: 100%;
	}

	.page-template-page-rental_agency .common_cta .cta_mail::after {
		height: 86%;
	}

	.common_cta .cta_mail.large::after {
		height: 86%;
	}

	.common_cta .cta_mail .mail {
		font-size: 4.10vw;
		writing-mode: horizontal-tb;
		line-height: 1.31;
		padding-top: 6.41vw;
	}

	.common_cta.property .cta_mail {
		height: 100%;
		padding: 1.28vw;
		display: block;
		text-align: center;
	}


	.common_cta .cta_arrow .arrow {
		font-size: 4.10vw;
		writing-mode: horizontal-tb;
		line-height: 1.37;
		padding-top: 4.62vw;
		padding-bottom: 4.36vw;
		text-align: center;
	}

	.common_cta .cta_mail::after,
	.common_cta .cta_arrow::after {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 94%;
		height: 86%;
	}

	.common_cta.property .cta_mail::after {
		content: none;
	}

	.common_cta.property .cta_mail .mail {
		display: block;
		border: 1px solid #fff;
		padding-top: 7.69vw;
		padding-bottom: 2.56vw;
	}

	.common_cta.property .cta_mail .mail::before {
		top: 2.05vw;
		width: 5.64vw;
		height: 3.84vw;
	}

	.common_cta .cta_arrow .arrow::before {
		content: none;
	}

	.common_cta .cta_mail .mail::before {
		width: 5.64vw;
		height: 3.85vw;
	}


	/*下層ページ　セクションタイトルsp*/
	.common_page_title {
		font-size: 6.15vw;
	}

	.common_page_title::before {
		font-size: 12.82vw;
	}

	.common_page_title.big {
		font-size: 7.69vw;
	}

	.common_page_title.big::before {
		font-size: 17.94vw;
		bottom: -6.41vw;
	}

	.privacy_cont_sec .main_text {
		font-size: 3.3vw;
		line-height: 1.8;
		margin-block: 0 9.5vw;
	}

	.privacy_cont_sec dl+dl {
		margin-block: 7vw 0;
	}

	.privacy_cont_sec dl dt {
		font-size: 4.1vw;
	}

	.privacy_cont_sec dl dd {
		font-size: 3.3vw;
		line-height: 1.7;
	}

	.desktop {
		display: none;
	}

	.mobile {
		display: block;
	}

	.page_recruit .container .banner {
		margin-top: 20vw;
	}

	.section_service_cont .main_image {
		height: 60vw;
	}

	.section_service_cont .cont .title_box {
		padding: 6vw;
		width: 90%;
		margin: -15vw auto 0 auto;
	}

	.section_service_cont .cont .title_box .title {
		font-size: 6vw;
	}

	.section_service_cont .cont .title_box .title_en {
		font-size: 4vw;
	}

	.section_service_cont .in_cont {
		padding: 5vw;
		margin-bottom: 20vw;
	}

	.section_service_cont .in_cont .commitment_box {
		margin-bottom: 10vw;
	}

	.section_service_cont .in_cont .commitment_box .text_area {
		width: 100%;
	}

	.section_service_cont .in_cont .commitment_box .image {
		width: 100%;
		order: -1;
		margin-bottom: 4vw;
	}

	.section_service_cont .in_cont .commitment_box .title {
		font-size: 4vw;
		padding-left: 5vw;
	}

	.section_service_cont .in_cont .commitment_box .title:before {
		width: 3vw;
		height: 3vw;
	}

	.section_service_cont .in_cont .commitment_box .text .num {
		font-size: 4vw;
	}

	.section_service_cont .in_cont .point_box .in_box {
		padding: 4vw;
	}

	.section_service_cont .in_cont .point_box .in_box+.in_box {
		margin-top: 6vw;
	}

	.section_service_cont .in_cont .point_box .in_box.flex_sb .text_area {
		width: 100%;
	}

	.section_service_cont .in_cont .point_box .in_box .text_area .title {
		font-size: 4vw;
	}

	.section_service_cont .in_cont .point_box .in_box .text_area .title .en {
		font-size: 3.5vw;
		margin-bottom: .5em;
	}

	.section_service_cont .in_cont .point_box .in_box .text_area .text {
		font-size: 3.4vw;
	}

	.section_service_cont .in_cont .point_box .in_box .text_area .text .num {
		font-size: 4vw;
	}

	.section_service_cont .in_cont .point_box .in_box.flex_sb .image {
		width: 100%;
		order: -1;
		margin-bottom: 4vw;
	}

	.section_service_cont .in_cont .point_box .in_box.flex_sb.consistent .text_area {
		width: 100%;
	}

	.section_service_cont .in_cont .point_box .in_box.flex_sb.consistent .image {
		width: 100%;
		padding: 0 12vw 4vw 12vw;
	}

	.section_service_cont .in_cont .point_box .in_box .equipment_area {
		margin-top: 4vw;
	}

	.section_service_cont .in_cont .point_box .in_box .equipment_area ul {
		grid-template-columns: repeat(2, 1fr);
		gap: 4vw;
	}

	.section_service_cont .in_cont .point_box .in_box .equipment_area ul li .picture {
		height: 25vw;
		margin-bottom: 3vw;
	}

	.section_service_cont .in_cont .point_box .in_box .equipment_area ul li .text {
		font-size: 3vw;
	}

	.section_service_cont .in_cont .point_box .icon_list {
		margin-top: 4vw;
	}

	.section_service_cont .in_cont .point_box .icon_list ul {
		grid-template-columns: repeat(1, 1fr);
		gap: 4vw;
	}

	.section_service_cont .in_cont .point_box .icon_list ul li {
		padding: 4vw;
		display: block;
	}

	.section_service_cont .in_cont .point_box .icon_list ul li .icon {
		width: 30vw;
		height: 30vw;
		margin: 0 auto 4vw auto;
	}

	.section_service_cont .in_cont .point_box .in_box .icon_list ul li .text_area {
		width: 100%;
		padding-left: 0;
	}

	.section_service_cont .in_cont .point_box .in_box .icon_list ul li .text_area .title {
		font-size: 4vw;
		text-align: center;
	}

	.section_service_cont .in_cont .point_box .in_box .icon_list ul li .text_area .text {
		font-size: 3.2vw;
	}

	.section_service_cont .in_cont .point_box .slick-slide {
		height: 40vw;
		padding: 2vw;
	}

	.section_service_cont .in_cont .point_box .slick-dots li {
		width: 3vw;
		height: 3vw;
		margin: 0 1vw;
	}

	.section_service_cont .in_cont .point_box .slick-dots li button {
		padding: 0;
		width: 3vw;
		height: 3vw;
	}

	.section_service_cont .in_cont .point_box .slick-dots li button:before {
		font-size: 2vw;
	}

	.section_service_cont .in_cont .point_box .before_after {
		margin-top: 4vw;
	}

	.section_service_cont .in_cont .point_box .before_after ul {
		grid-template-columns: repeat(1, 1fr);
		gap: 40px;
	}

	.section_service_cont .in_cont .point_box .before_after ul li {
		height: 40vw;
	}

	.section_service_cont .in_cont .point_box .before_after ul li:first-child::after {
		border-right: 30px solid transparent;
		border-left: 30px solid transparent;
		border-top: 10px solid #ccc;
		position: absolute;
		right: 50%;
		top: auto;
		bottom: -55px;
		transform: translateX(50%);
	}

	.page_rental_agency {
		padding-top: 20vw;
		padding-bottom: 20vw;
	}

	.page_rental_agency .section_about {
		margin-bottom: 20vw;
	}

	.page_rental_agency .section_about .text_area {
		width: 100%;
		margin-bottom: 6vw;
	}

	.page_rental_agency .section_about .text_area .title {
		font-size: 4.4vw;
	}

	.page_rental_agency .section_about .image {
		width: 100%;
		height: 40vw;
	}

	.page_rental_agency .section_about .image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.page_rental_agency .section_commitment {
		padding: 20vw 0;
		margin-bottom: 20vw;
	}

	.page_rental_agency .section_commitment ul {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 6vw;
		margin-bottom: 6vw;
	}

	.page_rental_agency .section_commitment ul+ul {
		margin-bottom: 10vw;
	}

	.page_rental_agency .section_commitment ul li {
		padding: 4vw;
	}

	.page_rental_agency .section_commitment ul li .image {
		height: 40vw;
		margin-bottom: 4vw;
	}

	.page_rental_agency .section_commitment .button_area .text {
		font-size: 3.2vw;
	}

	.page_rental_agency .section_commitment .button_area .button a {
		width: 90%;
		line-height: 13vw;
		padding-right: 6vw;
		background-position: top 50% right 4vw;
		background-size: 4vw;
		font-size: 3.6vw;
	}

	.page_rental_agency .common_title {
		font-size: 5vw;
	}

	.page_rental_agency .common_title:before {
		width: 4vw;
		top: -3vw;
	}

	.page_rental_agency .section_flow {
		margin-bottom: 20vw;
	}

	.page_rental_agency .section_flow ul {
		grid-template-columns: repeat(1, 1fr);
		gap: 6vw;
		width: 80%;
		margin: 8vw auto 0 auto;
	}

	.page_rental_agency .section_flow ul:before {
		width: 3px;
		height: calc(100% - 10vw);
		top: 5vw;
		left: calc(4vw - 1.5px);
	}

	.page_rental_agency .section_flow ul li {
		padding: 6vw 13vw;
		flex-direction: unset;
		justify-content: flex-start;
		gap: 6vw;
		background: none;
		padding: 0;
	}

	.page_rental_agency .section_flow ul li .num {
		width: 8vw;
		line-height: 8vw;
		position: static;
		transform: unset
	}

	.page_rental_agency .section_flow ul li .text {
		-ms-writing-mode: unset;
		writing-mode: unset;
		background-color: #F5F5F4;
		width: calc(100% - 10vw);
		padding: 3vw;
		border-radius: 5px;
		font-weight: 700;
	}

	.page_rental_agency .section_faq {
		padding: 20vw 0;
	}

	.page_rental_agency .section_faq dl {
		padding: 4vw;
	}

	.page_rental_agency .section_faq dl+dl {
		margin-top: 6vw;
	}

	.page_rental_agency .section_faq dl dt {
		padding-left: 10vw;
		font-size: 3.5vw;
	}

	.page_rental_agency .section_faq dl dt:before {
		width: 7vw;
		height: 7vw;
		line-height: 6.4vw;
	}

	.page_rental_agency .section_faq dl dd {
		padding-left: 10vw;
		font-size: 3vw;
	}

	.page_rental_agency .section_faq dl dd:before {
		width: 7vw;
		height: 7vw;
		line-height: 6.4vw;
	}

	.page-template-page-recruit .common_cta {
		bottom: 0;
	}


	.common_cta.single_ver .wrapper {
		display: block;
	}

	.section_service_cont .in_cont .button a {
		width: 100%;
		margin: 6vw 0;
	}

	.single_custom_title {
		font-size: 4.5vw;
		gap: 2vw;
		margin-bottom: 4vw;
	}

	.section_flow .flow_text {
		margin-bottom: 0;
	}
}