/*
Theme Name: SAKURA RENT
Template: twentytwentyfive
Version: 1.0.0
Text Domain: sakurarent
*/

.hero-wrap {
	position: relative;
}

.n2_clear {
	position: relative;
	z-index: 1;
}

.hero_text_blk {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: 100%;
	max-width: 1100px;
	padding: 0 20px;
	box-sizing: border-box;
	text-align: center;
}

.topics-new-badge {
	display: inline-block;
	margin-right: 10px;
	padding: 2px 8px;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 700;
	color: #fff;
	background: #FF8000;
	border-radius: 999px;
	vertical-align: middle;
}

.wp-block-post-date {
	display: inline-block;
	font-size: 14px;
	color: #666;
	margin-bottom: 6px;
}

.wp-block-post-title {
	margin-top: 0;
	font-size: 20px;
	line-height: 1.5;
}
h2.wp-block-post-title {
    font-size: 32px;
    border-left: solid 10px #d0d0d0;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 20px;
    margin-bottom: 50px;
}

.page-with-sidebar__inner {
	display: grid;
	grid-template-columns: minmax(0, 700px) 230px;
	gap: 50px;
	align-items: start;
	width: min(100%, 980px);
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}

.page-with-sidebar__inner.wp-block-group {
	max-width: 980px !important;
	margin-left: auto;
	margin-right: auto;
}

.page-with-sidebar__main {
	min-width: 0;
	max-width: none !important;
}

.page-with-sidebar__side {
	min-width: 0;
	max-width: none !important;
}

@media (max-width: 1023px) {
	.page-with-sidebar__inner {
		grid-template-columns: 1fr;
		gap: 40px;
		width: 100%;
		max-width: none;
	}
}

.sidebar-block {
	padding: 0;
	background: #fff;
}

.sidebar-block .wp-block-heading {
	margin: 0 0 16px;
	font-size: 18px;
	line-height: 1.4;
}

.sidebar-block .wp-block-navigation {
	margin: 0;
	width: 100%;
}

.sidebar-block .wp-block-navigation-item {
	width: 100%;
}

.sidebar-block .wp-block-navigation-item__content {
	display: block;
	padding: 14px 10px;
	border-bottom: 1px solid #e5e5e5;
	font-size: 16px;
	line-height: 1.6;
	text-decoration: none;
	width: 100%;
}
.sidebar-block .wp-block-navigation-item__content:hover {
	background-color: #f9f9f8;
}

.sidebar-block .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
	border-bottom: 0;
}

.breadcrumb-wrap {
	padding-top: 16px;
	padding-bottom: 24px;
}

.breadcrumb {
	font-size: 13px;
	line-height: 1.6;
	color: #666;
}

.breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.breadcrumb__item {
	display: inline-flex;
	align-items: center;
}

.breadcrumb__item+.breadcrumb__item::before {
	content: ">";
	margin: 0 8px;
	color: #999;
}

.breadcrumb__item a {
	color: inherit;
	text-decoration: none;
}

.breadcrumb__item a:hover {
	text-decoration: underline;
}

.breadcrumb__item.is-current {
	color: #222;
}

h3.wp-block-heading {
	margin: 40px 0 20px 0 !important;
	padding: 5px;
	border-bottom: dashed 1px #aaaaaa;
}

.policy_body h3.wp-block-heading {
	margin-top: 32px;
	margin-bottom: 16px;
	padding: 15px;
	border-top: solid 2px #ed8590;
	background-color: #f0f0f0;
	border-bottom: none;
}

.policy_body h4 {
	margin-top: 32px;
	margin-bottom: 16px;
	padding: 8px;
	border-bottom: solid 1px #aaaaaa;
	border-left: solid 5px #ed8590;
}

/* ------------------------------------
 * Property Single Layout
 * ------------------------------------ */
.property-single {
	padding-top: 8px;
	padding-bottom: 64px;
	width: 100%;
	max-width: none !important;
}

.property-single.wp-block-group {
	max-width: none !important;
}

.property-single__hero,
.property-single__summary,
.property-single__rooms,
.property-single__map {
	margin-top: 48px;
}

.property-single__content {
	margin-block-start: 5px;
}

.property-single__hero:first-child {
	margin-top: 0;
}

.property-section-title {
	margin: 40px 0 20px 0 !important;
	padding: 5px;
	border-bottom: dashed 1px #aaaaaa;
	font-size: 24px;
	line-height: 1.4;
}

.property-title-block__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
	align-items: center;
}

.property-badge {
	display: inline-block;
	padding: 4px 10px;
	font-size: 16px;
	line-height: 1.4;
	border-radius: 999px;
}

.property-badge--new {
	color: #fff;
	background: #c33;
}

.property-badge--type {
	color: #fff;
	font-weight: 600;
}

.property-badge--apartment {
	background: #ff9326;
}

.property-badge--sharehouse {
	background: #59b200;
}

.property-title-block__title {
	margin: 0;
	font-size: 32px;
	line-height: 1.3;
	text-align: center;
}

.property-main-image-block {
	margin-top: 24px;
}

.property-main-image-block__image {
	display: block;
	width: 100%;
	height: auto;
}

.property-summary-block__list {
	margin: 0;
}

.property-summary-block__row {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid #e5e5e5;
	margin: 0;
}

.property-summary-block__row dt {
	margin: 0;
	font-weight: 700;
}

.property-summary-block__row dd {
	margin: 0;
}

.property-summary-block__text {
	margin-top: 24px;
}

/* ------------------------------------
 * Property Patterns
 * ------------------------------------ */
.property-single__content>*+* {
	margin-top: 48px;
}

.property-gallery-section,
.property-intro-section,
.property-points-section,
.property-floor-plan-section,
.property-building-amenities-section {
	margin-top: 0;
}

.property-gallery-note,
.property-floor-plan-note,
.property-building-amenities-note {
	margin-top: 0;
	font-size: 14px;
	line-height: 1.8;
	color: #666;
}

.property-intro-section p,
.property-points-section li,
.property-floor-plan-section p,
.property-building-amenities-section p {
	line-height: 1.9;
}

.property-points-section ul {
	margin: 0;
	padding-left: 1.2em;
}

.property-points-section li+li {
	margin-top: 8px;
}

.property-gallery-section .wp-block-gallery,
.property-building-amenities-section .wp-block-gallery {
	margin-top: 24px;
}

.property-gallery-section .wp-block-image,
.property-floor-plan-section .wp-block-image,
.property-building-amenities-section .wp-block-image {
	margin-top: 24px;
}

.property-gallery-section .wp-block-image img,
.property-floor-plan-section .wp-block-image img,
.property-building-amenities-section .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}

.property-gallery-section .wp-block-gallery .wp-block-image,
.property-building-amenities-section .wp-block-gallery .wp-block-image {
	display: flex;
	flex-direction: column;
	overflow: visible;
}

.property-gallery-section .wp-block-gallery .wp-block-image figcaption,
.property-gallery-section .wp-block-gallery .wp-block-image .blocks-gallery-item__caption,
.property-gallery-section .wp-block-gallery .wp-block-image .wp-element-caption,
.property-gallery-section .blocks-gallery-caption,
.property-building-amenities-section .wp-block-gallery .wp-block-image figcaption,
.property-building-amenities-section .wp-block-gallery .wp-block-image .blocks-gallery-item__caption,
.property-building-amenities-section .wp-block-gallery .wp-block-image .wp-element-caption,
.property-building-amenities-section .blocks-gallery-caption {
	position: static !important;
	inset: auto !important;
	bottom: auto !important;
	left: auto !important;
	right: auto !important;
	width: auto !important;
	margin-top: 8px !important;
	padding: 0 !important;
	background: none !important;
	color: #333 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	text-align: left !important;
	text-shadow: none;
}

.property-floor-plan-section .wp-element-caption,
.property-building-amenities-section .wp-element-caption {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.7;
	color: #666;
}

/* GALLERY / BUILDING AMENITIES のギャラリーで最後の行のサイズを揃える */
.property-gallery-section .wp-block-gallery.has-nested-images,
.property-building-amenities-section .wp-block-gallery.has-nested-images {
	--gallery-columns: 4;
}

.property-gallery-section .wp-block-gallery.has-nested-images .wp-block-image,
.property-building-amenities-section .wp-block-gallery.has-nested-images .wp-block-image {
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
	flex-basis: calc((100% - (var(--gallery-columns) - 1) * var(--wp--style--unstable-gallery-gap, 16px)) / var(--gallery-columns)) !important;
	width: calc((100% - (var(--gallery-columns) - 1) * var(--wp--style--unstable-gallery-gap, 16px)) / var(--gallery-columns)) !important;
	max-width: calc((100% - (var(--gallery-columns) - 1) * var(--wp--style--unstable-gallery-gap, 16px)) / var(--gallery-columns)) !important;
}

/* ------------------------------------
 * Property Details
 * ------------------------------------ */
.property-details-block {
	margin-top: 0;
}

.property-details-table-wrap {
	margin-bottom: 24px;
	overflow-x: auto;
}

.property-details-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.6;
}

.property-details-table th,
.property-details-table td {
	padding: 14px 12px;
	border: 1px solid #9c9c9c;
	text-align: center;
	vertical-align: middle;
}

.property-details-table--main thead th {
	background: #d9d9d9;
	font-weight: 700;
}

.property-details-table--fees thead th {
	background: #e8c6c6;
	font-weight: 700;
}

.property-details-table--fees tbody td {
	background: #fff;
}

.property-details-table--nearby th,
.property-details-table--nearby td {
	padding: 12px 14px;
	border: 1px solid #333;
	text-align: left;
	vertical-align: top;
	white-space: normal;
}

.property-details-table--nearby th {
	width: 22%;
	background: #fff;
	font-weight: 700;
}

.property-details-table--nearby td {
	background: #fff;
	line-height: 1.9;
}

.room-vacancy--vacant {
	font-weight: 700;
}

.room-vacancy--full {
	font-weight: 400;
	color: #222;
}

.room-vacancy--scheduled {
	font-weight: 700;
}

.property-details-contact {
	margin-top: 34px;
	text-align: center;
}

.property-details-contact__link {
	display: inline-block;
	text-decoration: none;
}

.property-details-contact__image {
	display: block;
	max-width: 100%;
	height: auto;
}

.property-details-contact__text {
	display: inline-block;
	padding: 14px 28px;
	background: #2f3040;
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

/* ------------------------------------
 * Property Map
 * ------------------------------------ */
.property-map-block__embed iframe {
	display: block;
	width: 100%;
}

.property-map-block__address {
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.7;
}

@media (max-width: 767px) {
	.property-title-block__title {
		font-size: 26px;
	}

	.property-summary-block__row {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.property-single__hero,
	.property-single__summary,
	.property-single__content,
	.property-single__rooms,
	.property-single__map {
		margin-top: 36px;
	}

	.property-details-table {
		font-size: 13px;
	}

	.property-details-table th,
	.property-details-table td {
		padding: 10px 8px;
		white-space: nowrap;
	}

	.property-details-table--nearby th,
	.property-details-table--nearby td {
		white-space: normal;
	}

	.property-details-table--nearby th {
		width: 34%;
	}
}

/* ------------------------------------
 * Property List
 * ------------------------------------ */
.property-list {
	display: grid;
	gap: 48px;
}

.property-list__item {
	padding-bottom: 32px;
}

.property-list__head {
	margin-bottom: 20px;
}

.property-list__meta {
	margin-bottom: 0;
}

.property-list__title {
	margin: 0;
	font-size: 18px;
	line-height: 1.4;
}

.property-list__title a {
	color: #226fa8;
	text-decoration: underline;
}

.property-list__title a:hover {
	color: #6fa3ca;
	text-decoration: underline;
}

.property-list__table-wrap {
	overflow-x: auto;
}

.property-list__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.6;
}

.property-list__table th,
.property-list__table td {
	padding: 12px 10px;
	border: 1px solid #9c9c9c;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}

.property-list__table thead th {
	background: #d9d9d9;
	font-weight: 700;
}

.property-list__empty {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
}

@media (max-width: 767px) {
	.property-list {
		gap: 36px;
	}

	.property-list__title {
		font-size: 24px;
	}

	.property-list__table {
		font-size: 13px;
	}

	.property-list__table th,
	.property-list__table td {
		padding: 10px 8px;
	}
}

/* ------------------------------------
 * Property Search
 * ------------------------------------ */
.property-search-form {
	margin-bottom: 48px;
	background: #f5f5f5;
	border: 1px solid #bfbfbf;
}

.property-search-form__table {
	width: 100%;
	border-collapse: collapse;
}

.property-search-form__table th,
.property-search-form__table td {
	padding: 16px;
	border: 1px solid #bfbfbf;
	vertical-align: top;
}

.property-search-form__table th {
	width: 180px;
	background: #d8dde5;
	text-align: left;
	font-weight: 700;
}

.property-search-form__table td {
	background: #fff;
}

.property-search-form select,
.property-search-form input[type="text"] {
	max-width: 100%;
	padding: 6px 8px;
	font-size: 14px;
	line-height: 1.4;
	box-sizing: border-box;
}

.property-search-form input[type="text"] {
	width: 240px;
}

.property-search-form__checks {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
}

.property-search-form__checks--2col {
	display: grid;
	grid-template-columns: repeat(2, minmax(180px, 1fr));
	gap: 8px 40px;
}

.property-search-form__buttons {
	display: flex;
	justify-content: center;
	gap: 12px;
	padding: 20px;
	background: #d3d3d3;
}

.property-search-form__reset,
.property-search-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 160px;
	padding: 12px 20px;
	border: 1px solid #999;
	background: #fff;
	color: #222;
	font-size: 16px;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
}

.property-search-results {
	margin-top: 32px;
	scroll-margin-top: 120px;
}

@media (max-width: 767px) {

	.property-search-form__table,
	.property-search-form__table tbody,
	.property-search-form__table tr,
	.property-search-form__table th,
	.property-search-form__table td {
		display: block;
		width: 100%;
	}

	.property-search-form__table th {
		width: 100%;
	}

	.property-search-form__checks--2col {
		grid-template-columns: 1fr;
	}

	.property-search-form__buttons {
		flex-direction: column;
	}
}

/* 空室状況表示文 */
.room-vacancy--detail {
	color: #fd80a2;
}

.room-vacancy-link {
	color: #226fa8;
	text-decoration: underline;
}

.room-vacancy-link:hover {
	color: #6fa3ca;
	text-decoration: underline;
}

.room-vacancy-text--full,
.room-vacancy--detail.room-vacancy--full {
	color: #111111;
}

.entry-content p {
	margin-bottom: 1.5em;
}

.wp-block-accordion {
	margin-bottom: 2em;
}

.wp-block-accordion-panel p {
	padding: 0 1em 1em 1em;
}

/* ------------------------------------
 * Property Map Search
 * ------------------------------------ */
.property-map-search__map {
	height: 560px;
	border: 1px solid #cfcfcf;
	background: #f8f8f8;
}

.property-map-search__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px 28px;
	margin-top: 18px;
}

.property-map-search__filter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	line-height: 1.4;
	cursor: pointer;
}

.property-map-search__filter-icon {
	display: block;
	width: 32px;
	height: auto;
}

.property-map-search__actions {
	margin-top: 18px;
	text-align: center;
}

.property-map-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 260px;
	padding: 14px 24px;
	border: 1px solid #999;
	background: #fff;
	color: #222;
	font-size: 16px;
	line-height: 1.4;
	cursor: pointer;
}

.property-map-search__button:hover {
	background: #f5f5f5;
}

.property-map-search__status {
	margin: 16px 0 0;
	font-size: 14px;
	line-height: 1.7;
	color: #555;
	text-align: center;
}

.property-map-search__results {
	margin-top: 32px;
	scroll-margin-top: 120px;
}

.property-map-search__notice {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
}

@media (max-width: 767px) {
	.property-map-search__map {
		height: 420px;
	}

	.property-map-search__filters {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.property-map-search__button {
		width: 100%;
		min-width: 0;
	}
}

/* リンク付き画像クリック時の黒い罫線を消す */
a img {
	border: 0;
}

.wp-block-image a,
.property-details-contact__link,
.property-list__title a,
.room-vacancy-link {
	outline: none;
	box-shadow: none;
}

a:active,
a:focus:not(:focus-visible),
.wp-block-image a:active,
.wp-block-image a:focus:not(:focus-visible),
.property-details-contact__link:active,
.property-details-contact__link:focus:not(:focus-visible),
.property-list__title a:active,
.property-list__title a:focus:not(:focus-visible),
.room-vacancy-link:active,
.room-vacancy-link:focus:not(:focus-visible) {
	outline: none !important;
	box-shadow: none !important;
	border: 0 !important;
}

a:focus-visible,
.wp-block-image a:focus-visible,
.property-details-contact__link:focus-visible,
.property-list__title a:focus-visible,
.room-vacancy-link:focus-visible {
	outline: 2px solid #226fa8;
	outline-offset: 2px;
	box-shadow: none !important;
}

.property-map-search .gm-style img,
.property-map-search .gm-style button,
.property-map-search .gm-style [role="button"] {
	outline: none;
	box-shadow: none;
	border: 0;
}

.property-map-search .gm-style button:active,
.property-map-search .gm-style button:focus:not(:focus-visible),
.property-map-search .gm-style [role="button"]:active,
.property-map-search .gm-style [role="button"]:focus:not(:focus-visible),
.property-map-search .gm-style img:active,
.property-map-search .gm-style img:focus:not(:focus-visible) {
	outline: none !important;
	box-shadow: none !important;
	border: 0 !important;
}

.property-map-search .gm-style button:focus-visible,
.property-map-search .gm-style [role="button"]:focus-visible,
.property-map-search .gm-style img:focus-visible {
	outline: 2px solid #226fa8 !important;
	outline-offset: 2px;
	box-shadow: none !important;
	border: 0 !important;
}

/* ------------------------------------
 * Header Sub Navigation
 * ------------------------------------ */
.header-sub__inner {
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	padding-top: 35px;
}

.header-sub__banner {
	margin: 0 0 12px;
}

.header-sub__banner a,
.header-sub__banner img {
	display: block;
}

.header-sub__banner img {
	width: 100%;
	height: auto;
}

.header-sub__nav-wrap {
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	border-top: 0 !important;
}

.header-sub__nav {
	width: 100% !important;
	max-width: 1020px !important;
	margin: 0 auto !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	gap: 0 !important;
	font-size: 17px;
	font-weight: 600;
}

.header-sub__nav .wp-block-navigation__container {
	width: 100%;
	justify-content: space-between;
	gap: 0 !important;
}

.header-sub__nav .wp-block-navigation-item {
	position: relative;
	width: 204px;
	max-width: 204px;
	margin: 0;
}

.header-sub__nav .wp-block-navigation-item>.wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 204px;
	height: 50px;
	padding: 0 12px;
	box-sizing: border-box;
	border-bottom: solid 1px #ededed;
	color: #333;
	text-decoration: none;
	line-height: 1.4;
	font-size: 17px;
	font-weight: 600;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.header-sub__nav .wp-block-navigation-item>.wp-block-navigation-item__content:hover,
.header-sub__nav .wp-block-navigation-item>.wp-block-navigation-item__content:focus,
.header-sub__nav .wp-block-navigation-item:hover>.wp-block-navigation-item__content {
	border-bottom: solid 1px #ec858f;
	color: #ec858f;
}

.header-sub__nav .wp-block-navigation-item.has-child>.wp-block-navigation-item__content {
	padding-right: 12px;
}

.header-sub__nav .wp-block-navigation-item.has-child>.wp-block-navigation-submenu__toggle {
	position: absolute;
	top: 0;
	right: 12px;
	width: 38px;
	height: 50px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: none;
}

.header-sub__nav .wp-block-navigation-item.has-child:hover>.wp-block-navigation-submenu__toggle,
.header-sub__nav .wp-block-navigation-item.has-child>.wp-block-navigation-submenu__toggle:hover {
	color: #ec858f;
}

.header-sub__nav .wp-block-navigation__submenu-container {
	left: 0;
	right: auto;
	min-width: 204px;
	padding: 0 !important;
	background: #f9f9f9;
	border: 1px solid #ededed;
	box-shadow: none;
}

.header-sub__nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
	width: 100%;
	max-width: none;
}

.header-sub__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: auto;
	min-height: 0;
	padding: 12px 14px;
	border-bottom: 0;
	background: #f9f9f9;
	color: #333;
	text-decoration: none;
	text-align: left;
	box-sizing: border-box;
	font-size: 15px;
	font-weight: 500;
}

.header-sub__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.header-sub__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
	background: #ec858f;
	color: #ffffff;
}

.header-sub__nav .wp-block-navigation-submenu__toggle svg {
	width: 14px;
	height: 14px;
}

@media (max-width: 1023px) {
	.header-sub__banner {
		margin-bottom: 8px;
	}

	.header-sub__nav,
	.header-sub__nav-wrap {
		max-width: 100% !important;
	}
}

/* ------------------------------------
 * Property Archive
 * 固定ページの物件一覧と同じ見出し構造に揃える
 * ------------------------------------ */
.property-archive {
	padding-top: 8px;
	padding-bottom: 64px;
	width: 100%;
	max-width: none !important;
}

.property-archive__content {
	margin: 0;
	padding: 0;
}

.property-archive__content>.property-list {
	margin-top: 0 !important;
}

.property-archive__content>.property-list>.property-list__item:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* 固定ページ側と同じ見出しの扱い */
.property-archive__title {
	margin: 0 0 50px 0;
	padding: 0 0 0 10px;
	border-left: solid 10px #d0d0d0;
	font-size: 32px;
	line-height: 1.5;
}

/* バッジまわりの見え方を固定ページ側に寄せる */
.property-archive .property-list__head {
	margin-bottom: 20px;
}

.property-archive .property-list__meta,
.property-archive .property-title-block__meta {
	margin-bottom: 0;
}

.mbs-0 {
	margin-block-start: 0 !important;
}

.property-gallery-section .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before,
.property-building-amenities-section .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
	content: none !important;
	backdrop-filter: none !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
	max-height: none !important;
}

/* ------------------------------------
 * Post Archive
 * ------------------------------------ */
.post-archive {
	padding-top: 8px;
	padding-bottom: 64px;
	width: 100%;
	max-width: none !important;
}

.post-archive__content {
	margin: 0;
	padding: 0;
}

.post-archive__title {
	margin: 40px 0 20px 0 !important;
	padding: 5px;
	border-bottom: dashed 1px #aaaaaa;
	font-size: 24px;
	line-height: 1.4;
}

.post-archive-item {
	padding: 0 0 24px;
	margin-bottom: 24px;
	border-bottom: 1px solid #ddd;
}

.post-archive-item__meta {
	margin-bottom: 8px;
	font-size: 14px;
	color: #666;
}

.post-archive-item__title {
	margin: 0;
	font-size: 20px;
	line-height: 1.5;
}

.post-archive-item__title a {
	color: #226fa8;
	text-decoration: underline;
}

.post-archive-item__title a:hover {
	color: #6fa3ca;
	text-decoration: underline;
}

/* ------------------------------------
 * Post Single
 * ------------------------------------ */
.post-single {
	padding-top: 8px;
	padding-bottom: 64px;
	width: 100%;
	max-width: none !important;
}

.post-single__content {
	margin: 0;
	padding: 0;
}

.post-single__head {
	margin-bottom: 16px;
}

/* 一覧へリンクを右揃え */
.post-single__archive-link {
	display: block;
	width: fit-content;
	margin: 0 0 12px auto;
	padding: 6px 10px;
	border: 1px solid #ddd;
	color: #226fa8;
	text-decoration: underline;
	font-size: 14px;
	line-height: 1.4;
	white-space: nowrap;
}

.post-single__archive-link:hover {
	color: #6fa3ca;
	text-decoration: underline;
}

.post-single__title {
	margin: 0;
	font-size: 32px;
	line-height: 1.4;
}

/* 日付を右揃え */
.post-single__meta {
	display: flex;
	justify-content: flex-end;
	text-align: right;
	margin-bottom: 24px;
	font-size: 14px;
	color: #666;
}

.post-single__thumbnail {
	margin-bottom: 32px;
}

.post-single__thumbnail img {
	display: block;
	width: 100%;
	height: auto;
}

.post-single__content>.wp-block-post-content {
	margin-top: 0 !important;
}

.post-single__content .wp-block-post-content p {
	line-height: 1.9;
}

@media (max-width: 767px) {
	.post-single__head {
		flex-wrap: wrap !important;
	}

	.post-single__title {
		font-size: 26px;
	}

	.post-single__meta {
		margin-bottom: 20px;
	}

	.post-single__thumbnail {
		margin-bottom: 24px;
	}
}

/* ------------------------------------
 * Contact Forms (SAKURA RENT Inquiry Forms)
 * style.css の末尾に追記
 * ------------------------------------ */
.page-with-sidebar__main .srif {
	margin-top: 18px;
}

.page-with-sidebar__main .srif-table {
	border-top: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
}

.page-with-sidebar__main .srif-table th {
	width: 235px;
	background: #f3f3f3;
	color: #111;
}

.page-with-sidebar__main .srif-table td {
	background: #fff;
}

.page-with-sidebar__main .srif-row.is-error th,
.page-with-sidebar__main .srif-row.is-error td {
	background: #fff5f5;
}

.page-with-sidebar__main .srif-required {
	color: #c33;
	font-size: 12px;
	font-weight: 700;
}

.page-with-sidebar__main .srif-help {
	font-size: 12px;
	color: #666;
}

.page-with-sidebar__main .srif-input,
.page-with-sidebar__main .srif-select,
.page-with-sidebar__main .srif-textarea {
	border: 1px solid #bdbdbd;
	font-size: 14px;
	line-height: 1.5;
}

.page-with-sidebar__main .srif-input,
.page-with-sidebar__main .srif-select {
	height: 44px;
}

.page-with-sidebar__main .srif-input:focus,
.page-with-sidebar__main .srif-select:focus,
.page-with-sidebar__main .srif-textarea:focus {
	border-color: #226fa8;
	box-shadow: 0 0 0 1px #226fa8;
}

.page-with-sidebar__main .srif-choice span {
	color: #111;
}

.page-with-sidebar__main .srif-notice {
	background: #f7f7f7;
	border-left: 4px solid #226fa8;
}

.page-with-sidebar__main .srif-notice--stopped {
	background: #fff7e8;
	border-left-color: #e2a235;
}

.page-with-sidebar__main .srif-errors {
	border: 1px solid #e2b4b4;
	background: #fff1f1;
	color: #5f2222;
}

.page-with-sidebar__main .srif-button {
	min-width: 220px;
	min-height: 52px;
	padding: 14px 28px;
	border: 1px solid #111;
	background: #111;
	color: #fff !important;
	text-decoration: none !important;
}

.page-with-sidebar__main .srif-button:hover {
	opacity: 0.85;
}

.page-with-sidebar__main .srif-button--secondary {
	background: #fff;
	color: #111 !important;
}

.page-with-sidebar__main .srif-result-title {
	font-size: 28px;
	line-height: 1.4;
}

.page-with-sidebar__main .srif-result-text,
.page-with-sidebar__main .srif-result-actions {
	line-height: 1.9;
}

@media (max-width: 767px) {

	.page-with-sidebar__main .srif-table th,
	.page-with-sidebar__main .srif-table td {
		padding-left: 16px;
		padding-right: 16px;
	}

	.page-with-sidebar__main .srif-button {
		width: 100%;
	}
}

/* ----------------------------------------
   トップページ固定お問い合わせボタン
---------------------------------------- */
.sakurarent-fixed-contact {
	position: fixed;
	right: 16px;
	bottom: 18px;
	z-index: 9999;
	line-height: 0;
}

.sakurarent-fixed-contact a {
	display: block;
	width: 82px;
	text-decoration: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.sakurarent-fixed-contact a:hover {
	opacity: 0.9;
	transform: translateY(-2px);
}

.sakurarent-fixed-contact img {
	display: block;
	width: 100%;
	height: auto;
	border: 0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	border-radius: 10px;
}

@media (max-width: 767px) {
	.sakurarent-fixed-contact {
		right: 10px;
		bottom: 12px;
	}

	.sakurarent-fixed-contact a {
		width: 72px;
	}
}

/* ----------------------------------------
   固定ヘッダ
---------------------------------------- */
.sakurarent-header--fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 10000;
	background: #ffffff;
}

.sakurarent-header--front,
.sakurarent-header--sub {
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
}

.sakurarent-header--fixed.wp-block-group {
	margin-top: 0 !important;
}

@media (max-width: 782px) {
	.sakurarent-header--fixed {
		width: 100%;
	}
}

/* ----------------------------------------
   トップページ用ヘッダ（header.html）
---------------------------------------- */
.sakurarent-header--front {
	background: #ffffff;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
}

.header-front__top,
.header-front__bottom {
	width: 100%;
	box-sizing: border-box;
	padding-left: 20px;
	padding-right: 20px;
}

.header-front__top {
	padding-top: 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.header-front__bottom {
	padding-top: 10px;
	padding-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.header-front__logo {
	margin: 0;
	flex: 0 0 auto;
	line-height: 0;
}

.header-front__logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 62px;
}

.header-front__catch {
	margin: 0;
	flex: 0 0 auto;
	line-height: 0;
	text-align: right;
}

.header-front__catch img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 92px;
}

.header-front__nav {
	flex: 1 1 auto;
	justify-content: flex-start;
	min-width: 0;
}

.header-front__nav .wp-block-navigation__container {
	justify-content: flex-start;
}

@media (max-width: 1200px) {
	.header-front__nav {
		font-size: 14px;
	}

	.header-front__nav .wp-block-navigation__container {
		gap: 32px !important;
	}
}

@media (max-width: 1024px) {

	.header-front__top,
	.header-front__bottom {
		padding-left: 16px;
		padding-right: 16px;
	}

	.header-front__top {
		padding-top: 24px;
	}

	.header-front__bottom {
		padding-top: 16px;
		padding-bottom: 16px;
	}

	.header-front__logo img {
		max-height: 52px;
	}

	.header-front__catch img {
		max-height: 72px;
	}

	.header-front__nav .wp-block-navigation__container {
		gap: 24px !important;
	}
}

@media (max-width: 900px) {

	.header-front__top,
	.header-front__bottom {
		flex-wrap: wrap;
	}

	.header-front__catch {
		margin-left: auto;
	}

	.header-front__bottom {
		align-items: flex-start;
	}

	.header-front__nav {
		width: 100%;
	}

	.header-front__langs {
		width: 100%;
		justify-content: flex-end;
	}
}

@media (max-width: 767px) {
	.header-front__top {
		padding-top: 16px;
		gap: 12px;
	}

	.header-front__bottom {
		padding-top: 12px;
		padding-bottom: 12px;
		gap: 12px;
	}

	.header-front__logo img {
		max-height: 42px;
	}

	.header-front__catch img {
		max-height: 48px;
	}

	.header-front__langs,
	.header-sub__langs {
		gap: 6px;
	}

	.header-front__langs a,
	.header-sub__langs a {
		padding: 3px 5px;
		font-size: 12px;
	}

	/* -----------------------------------------
	   トップページヘッダ
	----------------------------------------- */
	.sakurarent-header--front {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.header-front__top,
	.header-front__bottom {
		padding-left: 12px;
		padding-right: 12px;
	}

	/* 1行目：ロゴ左 / イラスト右 */
	.header-front__top {
		padding-top: 12px;
		padding-bottom: 8px;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
	}

	.header-front__logo,
	.header-front__catch {
		margin: 0;
		flex: 0 1 auto;
		min-width: 0;
	}

	.header-front__logo img {
		display: block;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 34px;
	}

	.header-front__catch {
		text-align: right;
	}

	.header-front__catch img {
		display: block;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 40px;
		margin-left: auto;
	}

	/* 2行目：言語切替左 / メニューボタン右 */
	.header-front__bottom {
		padding-top: 8px;
		padding-bottom: 10px;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
	}

	.header-front__langs {
		order: 1;
		width: auto;
		flex: 0 1 auto;
		justify-content: flex-start;
		gap: 6px;
		font-size: 11px;
	}

	.header-front__langs a {
		padding: 2px 4px;
		font-size: 11px;
	}

	.header-front__nav {
		order: 2;
		width: auto;
		flex: 0 0 auto;
		margin-left: auto;
	}

	.header-front__nav .wp-block-navigation__responsive-container-open {
		margin-left: auto;
		padding: 4px;
		min-width: auto;
	}

	.header-front__nav .wp-block-navigation__responsive-container-open svg {
		width: 28px;
		height: 28px;
	}

	/* -----------------------------------------
	   KV
	----------------------------------------- */
	.hero-wrap {
		position: relative;
	}

	.hero_text_blk {
		top: 52%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% - 32px);
		max-width: 340px;
		padding: 0;
		text-align: center;
	}

	/* KV内を縦積み前提で整理 */
	.hero_text_blk>* {
		margin-left: auto;
		margin-right: auto;
	}

	.hero_text_blk .wp-block-image {
		margin: 0 auto 12px;
		text-align: center;
	}

	.hero_text_blk .wp-block-image img {
		display: block;
		width: auto;
		height: auto;
		max-width: 110px;
		margin: 0 auto;
	}

	.hero_text_blk h1,
	.hero_text_blk h2,
	.hero_text_blk h3,
	.hero_text_blk .wp-block-heading {
		margin: 0 auto 10px;
		max-width: 260px;
		font-size: 32px;
		line-height: 1.08;
		letter-spacing: 0.02em;
		text-wrap: balance;
	}

	.hero_text_blk p {
		margin: 0 auto 12px;
		max-width: 260px;
		font-size: 14px;
		line-height: 1.5;
	}

	/* 検索ボタン4つを縦積み */
	.hero_text_blk .wp-block-buttons {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		margin-top: 10px;
	}

	.hero_text_blk .wp-block-button {
		width: 100%;
	}

	.hero_text_blk .wp-block-button__link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 44px;
		padding: 10px 14px;
		box-sizing: border-box;
		font-size: 14px;
		line-height: 1.4;
	}

	/* -----------------------------------------
	   NEWS & TOPICS / Official SNS
	   ※ 該当Groupに追加クラスを付与して使う
	----------------------------------------- */
	.top-news-topics-sp,
	.top-official-sns-sp {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	/* -----------------------------------------
	   アパートメント / シェアハウス
	   ※ 該当Groupに追加クラスを付与して使う
	----------------------------------------- */
	.top-apartment-sp {
		background: #fd80a2 !important;
		background-image: none !important;
	}

	.top-sharehouse-sp {
		background: #86d4de !important;
		background-image: none !important;
	}

	/* -----------------------------------------
	   ヘッダ：1段目と2段目の間隔を半分に
	----------------------------------------- */
	.header-front__top {
		padding-top: 12px;
		padding-bottom: 4px;
		gap: 10px;
	}

	.header-front__bottom {
		padding-top: 4px;
		padding-bottom: 10px;
		gap: 10px;
	}

	.header-front__logo img {
		max-height: 30px;
	}

	.header-front__catch img {
		max-height: 36px;
	}

	/* -----------------------------------------
	   KV：確実に当てるため追加クラスで制御
	   hero-main-copy / hero-sub-copy / hero-search-buttons
	----------------------------------------- */
	.hero_text_blk {
		top: 52%;
		width: calc(100% - 32px);
		max-width: 340px;
		padding: 0;
	}

	.hero_text_blk .hero-kv-image {
		margin: 0 auto 10px;
		text-align: center;
	}

	.hero_text_blk .hero-kv-image img {
		display: block;
		width: auto;
		height: auto;
		max-width: 96px;
		margin: 0 auto;
	}

	.hero_text_blk .hero-main-copy {
		margin: 0 auto 10px;
		max-width: 240px;
		font-size: 28px;
		line-height: 1.08;
		letter-spacing: 0.01em;
		text-align: center;
		text-wrap: balance;
	}

	.hero_text_blk .hero-sub-copy {
		margin: 0 auto 12px;
		max-width: 250px;
		font-size: 13px;
		line-height: 1.5;
		text-align: center;
	}

	.hero_text_blk .hero-search-buttons,
	.hero_text_blk .hero-search-buttons.wp-block-buttons {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		margin-top: 10px;
	}

	.hero_text_blk .hero-search-buttons .wp-block-button {
		width: 100%;
	}

	.hero_text_blk .hero-search-buttons .wp-block-button__link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 44px;
		padding: 10px 14px;
		box-sizing: border-box;
		font-size: 14px;
		line-height: 1.4;
	}

	/* -----------------------------------------
	   アパートメント / シェアハウス
	   左揃え・均等余白・ボタン中央
	----------------------------------------- */
	.top-apartment-sp,
	.top-sharehouse-sp {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.top-apartment-sp .wp-block-heading,
	.top-apartment-sp p,
	.top-sharehouse-sp .wp-block-heading,
	.top-sharehouse-sp p {
		text-align: left !important;
	}

	.top-apartment-sp .wp-block-buttons,
	.top-sharehouse-sp .wp-block-buttons {
		justify-content: center !important;
	}

	/* -----------------------------------------
	   フッターバナー4つ中央寄せ
	   wrapper に top-footer-banners-sp を付与
	----------------------------------------- */
	.top-footer-banners-sp {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.top-footer-banners-sp .wp-block-gallery,
	.top-footer-banners-sp .blocks-gallery-grid,
	.top-footer-banners-sp .wp-block-group__inner-container {
		justify-content: center !important;
	}

	.top-footer-banners-sp .wp-block-image,
	.top-footer-banners-sp .blocks-gallery-item {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center;
	}

	.top-footer-banners-sp img {
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	.top-apartment-sp .has-global-padding,
	.top-sharehouse-sp .has-global-padding {
		padding: 0 !important;
		margin: 0 !important;
	}

	.top-apartment-sp .has-global-padding .wp-block-columns,
	.top-sharehouse-sp .has-global-padding .wp-block-columns {
		padding: 0 !important;
		margin: 0 !important;
		gap: 0 !important;
	}
}


/* ----------------------------------------
   フッターバナー（SP）
---------------------------------------- */
@media (max-width: 767px) {
	.footer-school-banners {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 12px;
	}

	.footer-school-banners .wp-block-image {
		width: 80% !important;
		margin: 0 auto !important;
	}

	.footer-school-banners .wp-block-image a {
		display: block;
		width: 100%;
	}

	.footer-school-banners .wp-block-image img {
		display: block;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}

	.n2-ss-slider .n2-ss-item-image-content img {
		display: inline-block;
		width: 80% !important;
	}
}

@media (orientation: landscape) and (max-width: 900px),
(orientation: portrait) and (max-width: 700px) {
	div#n2-ss-2 .n-uc-190296a079184 {
		max-width: initial !important;
	}
}

body.home .wp-site-blocks>main#wp--skip-link--target {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

@media (max-width: 767px) {
	/* =====================================
	   下層ページヘッダ
	===================================== */
	.sakurarent-header--sub {
		padding-top: 4px !important;
		padding-bottom: 0 !important;
	}

	/* 1段目：言語切替は右寄せのまま */
	.sakurarent-header--sub .header-sub__langs {
		justify-content: flex-end !important;
		flex-wrap: nowrap !important;
		gap: 6px !important;
		margin-bottom: 6px;
		padding-left: 10px;
		padding-right: 10px;
	}

	/* イラスト幅 */
	.sakurarent-header--sub .header-sub__banner {
		width: 94vw;
		max-width: 94vw;
		margin: 0 auto 6px;
	}

	.sakurarent-header--sub .header-sub__banner img {
		display: block;
		width: 100%;
		height: auto;
	}

	/* メニュー行 */
	.sakurarent-header--sub .header-sub__nav-wrap {
		padding-left: 10px;
		padding-right: 10px;
	}

	.sakurarent-header--sub .header-sub__nav {
		width: 100% !important;
		max-width: none !important;
		justify-content: flex-end;
	}

	/* ハンバーガーボタン */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-open {
		position: relative;
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin-left: auto;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: #ed838d;
		box-shadow: none;
		color: #ffffff;
	}

	/* 既存SVGは隠す */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-open svg {
		display: none;
	}

	/* 3本線 */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-open::before {
		content: "";
		display: block;
		width: 20px;
		height: 14px;
		background:
			linear-gradient(#ffffff, #ffffff) 0 0 / 100% 2px no-repeat,
			linear-gradient(#ffffff, #ffffff) 0 6px / 100% 2px no-repeat,
			linear-gradient(#ffffff, #ffffff) 0 12px / 100% 2px no-repeat;
	}

	/* 開いた後の閉じるボタン */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-close {
		background: #ed838d;
		color: #ffffff;
		border: 0;
		padding: 8px;
		box-shadow: none;
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-container-close svg {
		fill: currentColor;
	}

	/* =====================================
	   下層ページフッタ（上段白地部分）
	===================================== */
	body:not(.home) footer.wp-block-template-part>.wp-block-group:first-child {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	/* ロゴ中央 */
	body:not(.home) footer.wp-block-template-part>.wp-block-group:first-child .wp-block-image {
		text-align: center;
		margin-bottom: 0;
	}

	body:not(.home) footer.wp-block-template-part>.wp-block-group:first-child .wp-block-image img {
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	/* テキスト余白 */
	body:not(.home) footer.wp-block-template-part>.wp-block-group:first-child p {
		margin-top: 1em;
		margin-bottom: 1em;
		padding-left: 10px;
		padding-right: 10px;
	}

	/* 住所行は左寄せのまま、左右余白だけ整理 */
	body:not(.home) footer.wp-block-template-part>.wp-block-group:first-child .has-text-align-left {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	/* コピーライトは中央 */
	body:not(.home) footer.wp-block-template-part>.wp-block-group:first-child .has-text-align-center {
		text-align: center;
	}

	/* 下段ピンク帯はそのまま */

	/* 下層ヘッダの global padding を打ち消す */
	.sakurarent-header--sub.has-global-padding,
	.sakurarent-header--sub .header-sub__inner.has-global-padding {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* 言語切替とメニュー行だけ個別に余白を戻す */
	.sakurarent-header--sub .header-sub__langs,
	.sakurarent-header--sub .header-sub__nav-wrap {
		padding-left: 10px;
		padding-right: 10px;
		margin-top: 30px;
	}

	/* バナーは画面内に収める */
	.sakurarent-header--sub .header-sub__banner {
		width: 94vw;
		max-width: 94vw;
		margin-left: auto;
		margin-right: auto;
		margin-top: 4vw;
	}

	/* =====================================
	   下層ページ：SPメニューオープン時
	===================================== */
	.sakurarent-header--sub .wp-block-navigation__responsive-container.is-menu-open {
		inset: 0 !important;
		background: #ffd3df !important;
		padding: 0 !important;
		overflow-y: auto;
	}

	/* メニュー本体の幅を 90vw で中央配置 */
	.sakurarent-header--sub .wp-block-navigation__responsive-close {
		width: min(90vw, 560px) !important;
		max-width: none !important;
		margin: 0 auto !important;
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-dialog {
		position: relative !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 24px 0 32px !important;
		box-sizing: border-box;
	}

	/* クローズボタン位置をメニュー幅の右上に固定 */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-close {
		position: absolute !important;
		top: 66px !important;
		right: 0 !important;
		left: auto !important;
		width: 44px;
		height: 44px;
		padding: 0;
		background: #ed838d;
		color: #ffffff;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-container-close svg {
		fill: currentColor;
	}

	/* コンテンツ本体 */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content {
		width: 100% !important;
		max-width: none !important;
		padding-top: 72px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: flex-start !important;
		box-sizing: border-box;
	}

	/* 親ナビコンテナを幅いっぱいに */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content>.wp-block-navigation__container,
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content>.wp-block-page-list {
		width: 100% !important;
		max-width: none !important;
		gap: 0 !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		width: 100% !important;
		max-width: none !important;
		align-items: stretch !important;
		box-sizing: border-box;
	}

	/* 親メニュー */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		max-width: none !important;
		padding: 18px 12px;
		text-align: center;
		font-size: 16px;
		font-weight: 600;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
		box-sizing: border-box;
	}

	/* 子メニューありの親行 */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-child {
		position: relative;
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-child>.wp-block-navigation-submenu__toggle {
		position: absolute;
		top: 0;
		right: 0;
		width: 52px;
		height: 60px;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		background: transparent;
		border: 0;
	}

	/* WordPress標準の左右paddingを打ち消す */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
		width: 100% !important;
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0 !important;
		margin: 0 !important;
		box-sizing: border-box;
	}

	/* サブメニュー */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item {
		width: 100% !important;
		max-width: none !important;
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		max-width: none !important;
		padding: 16px 12px;
		text-align: center;
		background: rgba(255, 255, 255, 0.35);
		border-bottom: 1px solid rgba(255, 255, 255, 0.35);
		font-size: 15px;
		font-weight: 500;
		box-sizing: border-box;
	}

	/* =====================================
	   SPメニューオープン時 微調整
	===================================== */

	/* 1) クローズボタンの × を中央に揃える */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-close {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-container-close svg {
		display: none !important;
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-container-close::before,
	.sakurarent-header--sub .wp-block-navigation__responsive-container-close::after {
		content: "";
		position: absolute;
		width: 24px;
		height: 2px;
		background: #ffffff;
		left: 50%;
		top: 50%;
		transform-origin: center;
		margin-left: -12px;
		margin-top: -1px;
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-container-close::before {
		transform: rotate(45deg);
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-container-close::after {
		transform: rotate(-45deg);
	}

	/* 2) SEARCH の色が変わらないように統一 */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content,
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .current-menu-item>.wp-block-navigation-item__content,
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .current-menu-ancestor>.wp-block-navigation-item__content,
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .current-page-ancestor>.wp-block-navigation-item__content,
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .current_page_item>.wp-block-navigation-item__content {
		color: #222222 !important;
	}

	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:hover,
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:focus {
		color: #222222 !important;
	}

	/* 3) HOW TO RENT / CONTACT US の右アイコンを消す */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-child>.wp-block-navigation-submenu__toggle {
		display: none !important;
	}

	/* アイコンを消した分、親メニューを中央揃えのままにする */
	.sakurarent-header--sub .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-child>.wp-block-navigation-item__content {
		padding-right: 12px !important;
		justify-content: center !important;
	}
}


.entry-content .campus_txt p {
	margin-bottom: 0px !important;
}

.campus_txt .is-layout-flex {
	margin-block-start: 0 !important;
}

.property-list__thumbnail {
	margin: 0 0 20px;
}

.property-list__thumbnail a,
.property-list__thumbnail img {
	display: block;
	width: 100%;
	height: auto;
}

.property-list__summary {
	margin: 0 0 16px;
	line-height: 1.9;
}

.property-list__more {
	margin: 0;
}

.property-list__pagination {
	margin-top: 32px;
}

.property-list__pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.property-list__pagination a,
.property-list__pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid #cccccc;
	text-decoration: none;
}

/* ----------------------------------------
   property-list__head 新レイアウト
---------------------------------------- */

/* PC / TB */
.property-list__head {
	display: flex;
	flex-direction: column;
	row-gap: 8px;
}

.property-list__head-top {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.property-list__head-main {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 12px;
}

.property-list__title {
	margin: 0;
	min-width: 0;
	text-align: right;
}

.property-list__title a {
	display: inline-block;
	text-align: right;
}

.property-list__head-main .property-badge--type {
	flex: 0 0 auto;
	white-space: nowrap;
}

/* SP */
@media (max-width: 767px) {
	.property-list__head {
		row-gap: 8px;
	}

	.property-list__head-top {
		justify-content: flex-start;
	}

	.property-list__head-main {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.property-list__title {
		text-align: left;
	}

	.property-list__title a {
		text-align: left;
	}
}

.access_image {
	margin: 5px 0 !important;
}
.property-notice {
	display: inline-block;
	font-size: 22px;
	line-height: 1.4;
	font-weight: 700;
	color: #ec858f;
	text-align: center;
}

.property-notice--detail {
	display: block;
	margin-top: 8px;
}

.property-notice--list {
	white-space: nowrap;
}

@media (max-width: 767px) {
	.property-notice--list {
		white-space: normal;
	}

}
/* ----------------------------------------
   SP sidebar menu
   メニューを上・空室一覧を下
---------------------------------------- */
@media (max-width: 767px) {
	/* HOW TO RENT系サイドバーを縦並び制御 */
	.sidebar-block,
	.sidebar-block-sub,
	.sidebar-block-how-to-rent {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	/* 1段目：メニュー */
	.sidebar-block .wp-block-navigation,
	.sidebar-block-sub .wp-block-navigation,
	.sidebar-block-how-to-rent .wp-block-navigation {
		order: 1;
		margin: 0;
	}

	/* 2段目：空室一覧 */
	.sidebar-block .wp-block-image,
	.sidebar-block-sub .wp-block-image,
	.sidebar-block-how-to-rent .wp-block-image {
		order: 2;
		margin: 0;
		text-align: center;
	}

	.sidebar-block .wp-block-image a,
	.sidebar-block-sub .wp-block-image a,
	.sidebar-block-how-to-rent .wp-block-image a {
		display: inline-block;
	}

	/* 参考画像寄せ：ボックス型メニュー */
	.sidebar-block .wp-block-navigation-item,
	.sidebar-block-sub .wp-block-navigation-item,
	.sidebar-block-how-to-rent .wp-block-navigation-item {
		width: 100%;
		margin: 0;
	}

	.sidebar-block .wp-block-navigation-item__content,
	.sidebar-block-sub .wp-block-navigation-item__content,
	.sidebar-block-how-to-rent .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding: 12px 16px;
		border: 1px solid #cfcfcf;
		background: #ffffff;
		color: #222222;
		font-size: 14px;
		line-height: 1.45;
		text-align: left;
		text-decoration: underline;
		box-sizing: border-box;
	}

	/* 行を詰めて1つのリストに見せる */
	.sidebar-block .wp-block-navigation-item + .wp-block-navigation-item .wp-block-navigation-item__content,
	.sidebar-block-sub .wp-block-navigation-item + .wp-block-navigation-item .wp-block-navigation-item__content,
	.sidebar-block-how-to-rent .wp-block-navigation-item + .wp-block-navigation-item .wp-block-navigation-item__content {
		margin-top: -1px;
	}

	.sidebar-block .wp-block-navigation-item:last-child .wp-block-navigation-item__content,
	.sidebar-block-sub .wp-block-navigation-item:last-child .wp-block-navigation-item__content,
	.sidebar-block-how-to-rent .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
		border-bottom: 1px solid #cfcfcf;
	}

	.sidebar-block .wp-block-navigation-item__content:hover,
	.sidebar-block-sub .wp-block-navigation-item__content:hover,
	.sidebar-block-how-to-rent .wp-block-navigation-item__content:hover {
		background: #f7f7f7;
		color: #222222;
	}

	/* 空室一覧ボタンの大きさ調整 */
	.sidebar-block .wp-block-image img,
	.sidebar-block-sub .wp-block-image img,
	.sidebar-block-how-to-rent .wp-block-image img {
		display: block;
		width: auto;
		max-width: 290px;
		height: auto;
		margin: 0 auto;
	}

	/* サイドバー内の並び順を固定 */
	.page-with-sidebar__side,
	.page-with-sidebar__side .sidebar-block {
		display: flex;
		flex-direction: column;
	}

	/* 見出しは非表示 */
	.page-with-sidebar__side h3,
	.page-with-sidebar__side .wp-block-heading {
		display: none !important;
	}

	/* 1段目：メニュー */
	.page-with-sidebar__side .wp-block-navigation {
		order: 1;
		margin: 0 !important;
		width: 100%;
	}

	/* 2段目：空室一覧 */
	.page-with-sidebar__side .wp-block-image {
		order: 2;
		margin: 20px 0 0 !important;
		text-align: center;
	}

	/* li間の余白をなくす */
	.page-with-sidebar__side .wp-block-navigation__container,
	.page-with-sidebar__side .wp-block-page-list {
		gap: 0 !important;
		row-gap: 0 !important;
	}

	.page-with-sidebar__side .wp-block-navigation-item {
		margin: 0 !important;
		padding: 0 !important;
	}

	.page-with-sidebar__side .wp-block-navigation-item + .wp-block-navigation-item {
		margin-top: 0 !important;
	}

	.page-with-sidebar__side .wp-block-navigation-item__content {
		margin: 0 !important;
	}

	/* ボックスを1つながりに見せる */
	.page-with-sidebar__side .wp-block-navigation-item + .wp-block-navigation-item .wp-block-navigation-item__content {
		margin-top: -1px !important;
	}

	.page-with-sidebar__side .wp-block-navigation {
		display: block;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.page-with-sidebar__side .wp-block-navigation__container,
	.page-with-sidebar__side .wp-block-page-list {
		display: flex;
		flex-direction: column;
		width: 100% !important;
		max-width: none !important;
	}
	.page-with-sidebar__side .wp-block-navigation-item,
	.page-with-sidebar__side .wp-block-navigation-item__content {
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box;
	}
}

@media (max-width: 767px) {

	/* ----------------------------------------
	   物件一覧系：main の左右余白を 5vw に
	---------------------------------------- */
	main#wp--skip-link--target.has-global-padding {
		padding-left: 5vw !important;
		padding-right: 5vw !important;
	}

	/* ----------------------------------------
	   物件一覧系：表だけ横スクロール
	---------------------------------------- */
	.property-list__table-wrap {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
	}

	.property-list__table {
		width: max-content;
		min-width: 640px;
		max-width: none;
		table-layout: auto;
		font-size: 11px;
		line-height: 1.35;
	}

	.property-list__table th,
	.property-list__table td {
		padding: 8px 6px;
		box-sizing: border-box;
	}

	.property-list__table th {
		white-space: normal;
		word-break: break-word;
		overflow-wrap: anywhere;
		line-height: 1.3;
		font-size: 11px;
	}

	.property-list__table td {
		white-space: nowrap;
		font-size: 11px;
	}

	/* 空室状況だけは折り返し可 */
	.property-list__table td.room-vacancy,
	.property-list__table td.room-vacancy a,
	.property-list__table td.room-vacancy span {
		white-space: normal;
		line-height: 1.3;
	}

	/* 以前の列幅圧縮を無効化 */
	.property-list__table th:nth-child(1),
	.property-list__table td:nth-child(1),
	.property-list__table th:nth-child(2),
	.property-list__table td:nth-child(2),
	.property-list__table th:nth-child(3),
	.property-list__table td:nth-child(3),
	.property-list__table th:nth-child(4),
	.property-list__table td:nth-child(4),
	.property-list__table th:nth-child(5),
	.property-list__table td:nth-child(5),
	.property-list__table th:nth-child(6),
	.property-list__table td:nth-child(6),
	.property-list__table th:nth-child(7),
	.property-list__table td:nth-child(7) {
		width: auto;
	}

	/* 物件名まわり */
	.property-list__title {
		font-size: 18px;
		line-height: 1.35;
	}
}
@media (max-width: 767px) {

	/* ----------------------------------------
	   キーワード検索：物件情報表組みの幅に揃える
	---------------------------------------- */
	.property-search-form {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
		overflow: hidden;
	}

	.property-search-form__table {
		width: 100%;
		max-width: 100%;
		table-layout: fixed;
		box-sizing: border-box;
	}

	.property-search-form__table,
	.property-search-form__table tbody,
	.property-search-form__table tr,
	.property-search-form__table th,
	.property-search-form__table td {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.property-search-form__table th,
	.property-search-form__table td {
		padding: 12px 10px;
		overflow-wrap: break-word;
		word-break: break-word;
	}

	/* 入力項目を親幅内に収める */
	.property-search-form select,
	.property-search-form input[type="text"] {
		display: block;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.property-search-form input[type="text"] {
		width: 100%;
	}

	/* min〜max の並びを縦積みに */
	.property-search-form__table td select + select,
	.property-search-form__table td select + label,
	.property-search-form__table td label + select {
		margin-top: 8px;
	}

	/* チェック群も1列で幅内に収める */
	.property-search-form__checks,
	.property-search-form__checks--2col {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
		width: 100%;
	}

	.property-search-form__checks label,
	.property-search-form__checks--2col label {
		display: flex;
		align-items: flex-start;
		gap: 8px;
		width: 100%;
		line-height: 1.5;
	}

	.property-search-form__checks input[type="checkbox"],
	.property-search-form__checks--2col input[type="checkbox"] {
		flex: 0 0 auto;
		margin-top: 0.2em;
	}

	/* 管理費込みチェックも折り返し可能に */
	.property-search-form__table td > label {
		display: inline-flex;
		align-items: flex-start;
		gap: 6px;
		max-width: 100%;
		line-height: 1.5;
	}

	/* ボタンもフォーム幅に揃える */
	.property-search-form__buttons {
		padding: 16px 10px;
		box-sizing: border-box;
	}

	.property-search-form__reset,
	.property-search-form__submit {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}
	
}
.entry-content a,
.entry-content p,
.entry-content li {
	overflow-wrap: anywhere;
	word-break: break-word;
}
@media (max-width: 767px) {
	.page-with-sidebar__main .srif-table,
	.page-with-sidebar__main .srif-table tbody,
	.page-with-sidebar__main .srif-table tr,
	.page-with-sidebar__main .srif-table th,
	.page-with-sidebar__main .srif-table td {
		display: block;
		width: 100% !important;
		box-sizing: border-box;
	}

	.page-with-sidebar__main .srif-table tr {
		border-top: 1px solid #d9d9d9;
	}

	.page-with-sidebar__main .srif-table th {
		width: 100% !important;
		padding: 16px;
		background: #f3f3f3;
		border: 0;
	}

	.page-with-sidebar__main .srif-table td {
		width: 100% !important;
		padding: 16px;
		border: 0;
	}

	.page-with-sidebar__main .srif-row.is-error th,
	.page-with-sidebar__main .srif-row.is-error td {
		width: 100% !important;
	}
}
@media (max-width: 767px) {
	.top-news-topics-sp .is-layout-flex {
		display: block;
	}
	.post-single .page-with-sidebar__inner.wp-block-group {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.post-archive {
        padding-left: 5vw !important;
        padding-right: 5vw !important;
	}
}
/* =========================
   特集ページ（page-id-223）
========================= */

/* 左側だけ空いている余白を消す */
.page-id-223 .wp-block-column.is-layout-flow.wp-container-core-column-is-layout-82e3d9de.wp-block-column-is-layout-flow {
	padding-left: 0 !important;
	flex-basis: auto !important;
}

/* チェックマーク付きリストの画像サイズ固定 */
.page-id-223 .featured-check-list li,
.page-id-223 .featured-check-list .wp-block-group,
.page-id-223 .featured-check-list .is-layout-flex {
	display: flex;
	align-items: center;
	gap: 10px;
}

.page-id-223 .featured-check-list .wp-block-image,
.page-id-223 .featured-check-list figure {
	flex: 0 0 20px;
	width: 20px;
	min-width: 20px;
	margin: 0;
}

.page-id-223 .featured-check-list .wp-block-image img,
.page-id-223 .featured-check-list figure img {
	display: block;
	width: 20px;
	height: 20px;
	object-fit: contain;
	margin-top: 5px;
}

.page-id-223 .featured-check-list p,
.page-id-223 .featured-check-list li {
	margin: 0;
}
@media (max-width: 767px) {
	.page-id-223 .wp-block-group.has-global-padding.is-layout-constrained.wp-container-core-group-is-layout-63c6b8eb.wp-block-group-is-layout-constrained {
		padding-left: 5vw !important;
		padding-right: 5vw !important;
		box-sizing: border-box;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.page-id-223 .featured-check-list li,
	.page-id-223 .featured-check-list .wp-block-group,
	.page-id-223 .featured-check-list .is-layout-flex {
		align-items: flex-start;
	}
	.page-id-223 .featured-check-list .wp-block-image img,
	.page-id-223 .featured-check-list figure img {
		margin-top: 1.5vw;
	}
    .top-news-topics-sp h2.wp-block-post-title {
		font-size: 16px !important;
    }
    body .top-official-sns-sp .is-layout-flex {
		align-items: center !important;
    }
}

.entry-content .top-official-sns-sp .is-layout-flex p {
    margin-bottom: 0 !important;
}

/* ========================================
   物件詳細ページ SP調整
   GALLERY / DETAILS
======================================== */
@media (max-width: 767px) {

	/* ----------------------------------------
	   GALLERY
	   画像同士の間隔を詰める
	---------------------------------------- */
	.property-gallery-section .wp-block-gallery.has-nested-images {
		--wp--style--unstable-gallery-gap: 6px;
		gap: 6px !important;
	}

	.property-gallery-section .wp-block-gallery.has-nested-images .wp-block-image {
		margin: 0 !important;
	}

	.property-gallery-section .wp-block-gallery .wp-block-image figcaption,
	.property-gallery-section .wp-block-gallery .wp-block-image .blocks-gallery-item__caption,
	.property-gallery-section .wp-block-gallery .wp-block-image .wp-element-caption,
	.property-gallery-section .blocks-gallery-caption {
		margin-top: 4px !important;
	}

	/* ----------------------------------------
	   DETAILS
	   右見切れをなくしてレイアウト内に収める
	---------------------------------------- */
	.property-details-table-wrap--main {
		overflow-x: visible;
	}

	.property-details-table--main {
		width: 100%;
		table-layout: fixed;
		font-size: 11px;
		line-height: 1.35;
	}

	.property-details-table--main th,
	.property-details-table--main td {
		padding: 8px 4px;
		box-sizing: border-box;
	}

	.property-details-table--main th {
		white-space: normal;
		word-break: keep-all;
		line-height: 1.3;
		font-size: 11px;
	}

	.property-details-table--main td {
		white-space: nowrap;
		font-size: 11px;
	}

	.property-details-table--main td.room-vacancy {
		white-space: normal;
		line-height: 1.3;
	}

	/* 7列幅をSP向けに圧縮 */
	.property-details-table--main th:nth-child(1),
	.property-details-table--main td:nth-child(1) {
		width: 12%;
	}

	.property-details-table--main th:nth-child(2),
	.property-details-table--main td:nth-child(2) {
		width: 12%;
	}

	.property-details-table--main th:nth-child(3),
	.property-details-table--main td:nth-child(3) {
		width: 12%;
	}

	.property-details-table--main th:nth-child(4),
	.property-details-table--main td:nth-child(4) {
		width: 17%;
	}

	.property-details-table--main th:nth-child(5),
	.property-details-table--main td:nth-child(5) {
		width: 17%;
	}

	.property-details-table--main th:nth-child(6),
	.property-details-table--main td:nth-child(6) {
		width: 17%;
	}

	.property-details-table--main th:nth-child(7),
	.property-details-table--main td:nth-child(7) {
		width: 13%;
	}
	/* ----------------------------------------
	   GALLERY / BUILDING AMENITIES
	   画像同士の間隔を詰める
	---------------------------------------- */
	.property-gallery-section .wp-block-gallery.has-nested-images,
	.property-building-amenities-section .wp-block-gallery.has-nested-images {
		--wp--style--unstable-gallery-gap: 6px;
		gap: 6px !important;
	}

	.property-gallery-section .wp-block-gallery.has-nested-images .wp-block-image,
	.property-building-amenities-section .wp-block-gallery.has-nested-images .wp-block-image {
		margin: 0 !important;
	}

	.property-gallery-section .wp-block-gallery .wp-block-image figcaption,
	.property-gallery-section .wp-block-gallery .wp-block-image .blocks-gallery-item__caption,
	.property-gallery-section .wp-block-gallery .wp-block-image .wp-element-caption,
	.property-gallery-section .blocks-gallery-caption,
	.property-building-amenities-section .wp-block-gallery .wp-block-image figcaption,
	.property-building-amenities-section .wp-block-gallery .wp-block-image .blocks-gallery-item__caption,
	.property-building-amenities-section .wp-block-gallery .wp-block-image .wp-element-caption,
	.property-building-amenities-section .blocks-gallery-caption {
		margin-top: 4px !important;
	}
	.extra_gallery .wp-block-gallery.has-nested-images {
		--gallery-columns: 3;
		--wp--style--unstable-gallery-gap: 6px;
		gap: 6px !important;
	}

	.extra_gallery .wp-block-gallery.has-nested-images .wp-block-image {
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
		flex-basis: calc((100% - (var(--gallery-columns) - 1) * var(--wp--style--unstable-gallery-gap, 6px)) / var(--gallery-columns)) !important;
		width: calc((100% - (var(--gallery-columns) - 1) * var(--wp--style--unstable-gallery-gap, 6px)) / var(--gallery-columns)) !important;
		max-width: calc((100% - (var(--gallery-columns) - 1) * var(--wp--style--unstable-gallery-gap, 6px)) / var(--gallery-columns)) !important;
		margin: 0 !important;
	}

	.extra_gallery .wp-block-gallery.has-nested-images .wp-block-image img {
		display: block;
		width: 100%;
		height: auto;
	}

	.extra_gallery .wp-block-gallery .wp-block-image figcaption,
	.extra_gallery .wp-block-gallery .wp-block-image .blocks-gallery-item__caption,
	.extra_gallery .wp-block-gallery .wp-block-image .wp-element-caption,
	.extra_gallery .blocks-gallery-caption {
		margin-top: 4px !important;
	}
}
/* ----------------------------------------
   言語選択 共通スタイル
---------------------------------------- */
.header-front__langs,
.header-sub__langs {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 8px;
	margin: 0;
}

.header-front__langs p,
.header-sub__langs p {
	margin: 0;
	line-height: 1;
}

.header-front__langs a,
.header-sub__langs a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 5px;
	color: #333333;
	background-color: #ededed;
	text-decoration: none;
	line-height: 1.4;
}

.header-front__langs a::before,
.header-sub__langs a::before {
	content: "\f138";
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
	font-weight: 900;
	line-height: 1;
}

.header-front__langs a:hover,
.header-sub__langs a:hover {
	text-decoration: underline;
	background: #999999;
	color: #ffffff;
}

@media (max-width: 767px) {
	.property-title-block__title,
	.post-single__title,
	.property-archive__title,
	.post-archive__title {
		font-size: 26px;
		line-height: 1.4;
	}
	h1,
	h2.wp-block-post-title {
		font-size: 26px !important;
		line-height: 1.4;
	}
}
/* ----------------------------------------
   HOW TO RENT サイドバー見出し
---------------------------------------- */
.sidebar-how-to-rent__heading {
	margin: 0 0 0;
	padding: 24px 16px !important;
	background: #ed838d;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
}

/* PC版：空室一覧画像の余白 */
.sidebar-vacancy-image {
	margin: 0 0 16px;
	text-align: center;
}

.sidebar-vacancy-image img {
	display: inline-block;
}

/* ----------------------------------------
   SP版 HOW TO RENT サイドバー余白調整
---------------------------------------- */
@media (max-width: 767px) {
	.sidebar-block-how-to-rent .wp-block-navigation-item__content {
		padding-left: 5vw;
		padding-right: 5vw;
		text-align: left;
	}

	.sidebar-how-to-rent__heading {
		margin: 0;
	}

	/* SP版：HOW TO RENTの見出しをナビの上に表示 */
	.sidebar-block-how-to-rent .sidebar-how-to-rent__heading {
		order: 0;
	}

	.sidebar-block-how-to-rent .wp-block-navigation {
		order: 1;
	}

	.sidebar-block-how-to-rent .sidebar-vacancy-image {
		order: 2;
	}
}
/* ----------------------------------------
   Footer Sub
---------------------------------------- */
.footer-sub__main {
	padding: 60px 20px 10px 20px !important;
	box-sizing: border-box;
}

.footer-sub__inner {
	width: 100%;
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
}

.footer-sub__logo {
	margin: 0;
	line-height: 0;
	text-align: left;
}

.footer-sub__logo img {
	display: block;
	width: 200px;
	max-width: 100%;
	height: auto;
	margin-left: 0;
	margin-right: 0;
}

.footer-sub__address {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	color: #333333;
	text-align: left;
	padding: 0 20px;
}

.footer-sub__copyright {
	margin: 0 auto !important;
	font-size: 14px;
	line-height: 1.8;
	color: #333333;
	text-align: center;
	padding: 0 20px;
}

.footer-sub__nav-area {
	margin-top: 0 !important;
	padding: 26px 0 !important;
}

.footer-sub__nav-inner {
	width: 100%;
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
}

.footer-sub__nav {
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	font-size: 18px;
	font-weight: 400;
}

.footer-sub__nav .wp-block-navigation__container {
	width: 100%;
	justify-content: center;
	gap: 48px !important;
}

.footer-sub__nav .wp-block-navigation-item__content {
	color: #ffffff;
	text-decoration: none;
	line-height: 1.4;
}

.footer-sub__nav .wp-block-navigation-item__content:hover,
.footer-sub__nav .wp-block-navigation-item__content:focus {
	color: #ffffff;
	text-decoration: underline;
}

.footer-sub-mobile-bar {
	display: none;
}

@media (max-width: 767px) {
	body:not(.home):not(.front-page) .wp-site-blocks {
		padding-bottom: 75px;
	}

	.footer-sub__main {
		padding-top: 24px !important;
		padding-bottom: 20px !important;
		padding-left: 16px;
		padding-right: 16px;
	}

	.footer-sub__logo {
		text-align: center;
		margin-bottom: 12px;
	}

	.footer-sub__logo img {
		width: 260px;
		margin-left: auto;
		margin-right: auto;
	}

	.footer-sub__address {
		padding-left: 0;
		padding-right: 0;
		font-size: 14px;
		line-height: 1.8;
		text-align: center;
	}

	.footer-sub__copyright {
		margin-top: 8px;
		font-size: 14px;
	}

	.footer-sub__nav-area {
		display: none;
	}

	.footer-sub-mobile-bar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9999;
		display: flex;
		width: 100%;
		height: 70px;
		background: #ed838d;
		border-top: 1px solid rgba(0, 0, 0, 0.08);
	}

	.footer-sub-mobile-bar__item {
		display: flex;
		flex: 1 1 25%;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		height: 70px;
		padding: 4px 6px;
		box-sizing: border-box;
		color: #ffffff;
		text-decoration: none;
		font-size: 13px;
		line-height: 1.2;
		text-align: center;
		border-right: 1px solid rgba(0, 0, 0, 0.15);
		background: transparent;
	}

	.footer-sub-mobile-bar__item:last-child {
		border-right: 0;
	}

	.footer-sub-mobile-bar__icon {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 30px;
		height: 30px;
	}

	.footer-sub-mobile-bar__icon svg {
		display: block;
		width: 30px;
		height: 30px;
		fill: currentColor;
	}

	.footer-sub-mobile-bar__label {
		display: block;
		white-space: nowrap;
	}

	.footer-sub-mobile-bar__menu {
		position: static;
		flex: 1 1 25%;
		margin: 0;
	}

	.footer-sub-mobile-bar__menu > summary {
		list-style: none;
		cursor: pointer;
	}

	.footer-sub-mobile-bar__menu > summary::-webkit-details-marker {
		display: none;
	}

	.footer-sub-mobile-bar__menu[open] > summary {
		background: rgba(0, 0, 0, 0.08);
	}

	.footer-sub-mobile-bar__panel {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 70px;
		background: #ffffff;
		border-top: 1px solid #e5a3aa;
		box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.12);
	}

	.footer-sub-mobile-bar__panel a {
		display: block;
		padding: 14px 16px;
		border-top: 1px solid #eeeeee;
		color: #333333;
		text-decoration: none;
		font-size: 17px;
		line-height: 1.5;
		text-align: center;
		background: #ffffff;
	}

	.footer-sub-mobile-bar__panel a:first-child {
		border-top: 0;
	}

	.footer-sub-mobile-bar__panel a:hover,
	.footer-sub-mobile-bar__panel a:focus {
		background: #fff5f7;
	}
}
.top_footer_banner .is-layout-grid {
    text-align: center;
}
.sr-lang-switcher {
	display: flex;
	justify-content: end;
}

.sr-lang-switcher__list {
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: center;
}

.sr-lang-switcher__link {
	display: inline-block;
	padding: 6px 10px;
	text-decoration: none;
	line-height: 1;
	color: inherit;
	background: #eaeaea;
	font-size: 12px;
}

.sr-lang-switcher__link::before {
	content: "\f138";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	display: inline-block;
	margin-right: 0.4em;
	font-size: 12px;
	line-height: 1;
	vertical-align: middle;
}

.sr-lang-switcher__item.is-current .sr-lang-switcher__link {
	font-weight: 700;
	opacity: 0.7;
	pointer-events: none;
}
.post-archive-item__title {
	font-size: 18px;
	line-height: 1.5;
	margin-top: 0;
	margin-bottom: 0;
}
@media (max-width: 767px) {
	.sr-lang-switcher__list {
		gap: 8px;
		flex-wrap: wrap;
	}
	.sr-lang-switcher {
		padding: 0 5vw;
	}
	.sakurarent-header--front .sr-lang-switcher {
		padding: 0;
	}
	.top_foooter_btn .wp-block-button {
		width: 80%;
		margin-bottom: 1em;
	}
	.forpc {
		display: none !important;
	}
	.forsp {
		width: 45vw !important;
		display: block !important;
		margin-top: 10px;
	}
}
@media (min-width: 768px) {
	.forpc {
		display: block !important;
	}
	.forsp {
		display: none !important;
	}
}
/* =========================================
   ページトップに戻るボタン
========================================= */
.sakurarent-page-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 999;
	display: block;
	width: 48px;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

.sakurarent-page-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sakurarent-page-top img {
	display: block;
	width: 100%;
	height: auto;
}

/* トップページは固定お問い合わせの上に配置 */
body.home .sakurarent-page-top {
	bottom: 100px;
}

@media (max-width: 767px) {
	.sakurarent-page-top {
		right: 12px;
		bottom: 12px;
		width: 56px;
	}

	body.home .sakurarent-page-top {
		bottom: 100px;
	}
}
.trp-floating-switcher {
    right: 3vw !important;
}
@media (max-width: 767px) {
	.top-contact-buttons-sp {
		padding-left: 5vw !important;
		padding-right: 5vw !important;
	}

	.top-contact-buttons-columns {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.top-contact-buttons-columns .wp-block-buttons {
		justify-content: center !important;
	}

	.top-contact-buttons-columns .wp-block-button {
		width: 80% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.top-contact-buttons-columns .wp-block-button__link {
		display: flex;
		width: 100%;
		justify-content: center;
		box-sizing: border-box;
	}
}
@media (max-width: 767px) {
	/* 物件一覧：ページ全体は広げず、表だけ横スクロール */
	.page-with-sidebar__main,
	.property-list,
	.property-list__item,
	.property-list__body {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.property-list__table-wrap {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box !important;
	}

	.property-list__table {
		width: max-content !important;
		min-width: 640px !important;
		max-width: none !important;
		table-layout: auto !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
	}

	.property-list__table th,
	.property-list__table td {
		padding: 8px 6px !important;
		box-sizing: border-box !important;
	}

	.property-list__table th {
		white-space: normal !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
		line-height: 1.3 !important;
		font-size: 14px !important;
	}

	.property-list__table td {
		white-space: nowrap !important;
		font-size: 14px !important;
	}

	.property-list__table td.room-vacancy,
	.property-list__table td.room-vacancy a,
	.property-list__table td.room-vacancy span {
		white-space: normal !important;
		line-height: 1.3 !important;
	}

	/* 旧SP列幅指定を無効化 */
	.property-list__table th:nth-child(1),
	.property-list__table td:nth-child(1),
	.property-list__table th:nth-child(2),
	.property-list__table td:nth-child(2),
	.property-list__table th:nth-child(3),
	.property-list__table td:nth-child(3),
	.property-list__table th:nth-child(4),
	.property-list__table td:nth-child(4),
	.property-list__table th:nth-child(5),
	.property-list__table td:nth-child(5),
	.property-list__table th:nth-child(6),
	.property-list__table td:nth-child(6),
	.property-list__table th:nth-child(7),
	.property-list__table td:nth-child(7) {
		width: auto !important;
	}
}
@media (max-width: 767px) {
	/* 表の外側を基準にする */
	.property-list__body {
		position: relative;
	}

	/* スクロールヒントを右上に固定表示 */
	.property-list__body::after {
		content: "⇆ SWIPE";
		position: absolute;
		top: 0px;
		right: 0px;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 24px;
		padding: 0 8px;
		font-size: 14px;
		line-height: 1;
		color: #666;
		pointer-events: none;
		z-index: 2;
	}

	/* アイコンが表ヘッダに少しかからないよう余白 */
	.property-list__table-wrap {
		padding-top: 34px !important;
	}
	.property-list__head {
		margin-bottom: 5px;
	}
}