/**
* Theme Name: B'Me Create
* Template:   gravity_tcd111
* Theme URI: https://bme-official.com/
* Author: B'Me LLC
* Author URI: https://bme-official.com/
* Version: 3.3.6
* Requires at least: 6.0
* Requires PHP: 8.1
*/

html {
	overscroll-behavior: none;
}

html:has(body.modal-open),
body.modal-open {
	overflow: hidden;
	position: relative;
	touch-action: none;
	overscroll-behavior: none;
}

h2.p-mv1-content-title,
h1.c-archive-header__title {
	filter: drop-shadow(2px 2px 3px #000a);
	text-align: left;
	line-height: 2;
}

h1.p-lp-header__title {
	filter: drop-shadow(2px 2px 3px #000a);
	line-height: 2;
}

.header-h1 {
	display: none;
}

h3.top-h3 {
	font-size: 18px!important;
	font-weight: normal!important;
	margin-top: 0!important;
	margin-bottom: 80px!important;
	line-height: 2 !important;
}

.p-archive-property-header-title,
.c-archive-header__title,
.tax-property-type h1.c-archive-header__title {
	filter: none!important;
	color: var(--tcd-accent-color);
}

.p-property-cards-item-content .c-property-type {
	display: none;
}

.p-header-catch {
	color: #133b62;
	font-weight: bold;
}

.p-cb-header-title,
.p-property-cards-item-title,
.p-news-cards-item__title,
.p-cb-post-item-title {
	color: #133b62;	
}

.tcdce-body h2.property-headline {
	color: var(--tcd-accent-color);
	font-size: var(--tcd-archive-title-font-size-pc);
	font-family: var(--tcd-archive-title-font-type);
	line-height: 1.5;
	place-self: center;
}

.p-drawer-nav>li li {
	border: solid #ddd3;
	border-width: 1px 0;
	margin-top: -1px;
}

.p-archive-property {
	border-image: none!important;
}

.p-archive-property .p-property-search-entrance {
	background: #f1f8ffcc;
}

.p-property-search-entrance:before,
.p-property-search-entrance-sp:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100svw;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(https://roomie-sharehouse.com/wp-content/uploads/2025/04/image13.png);
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -2;
}

.p-property-search-entrance:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100svw;
	height: 100%;
	transform: translate(-50%, -50%);
	background: #fffc;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -1;
}

.p-property-search-entrance-sp:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100svw;
	height: 100%;
	transform: translate(-50%, -50%);
	background: #f1f8ffcc;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -1;
}

.p-property-search-entrance-type .p-property-search-entrance-type-item-title {
	margin-block: var(--tcd-half-read) calc(0px + var(--tcd-half-read));
}

.p-property-search-entrance-type .p-property-search-entrance-radio {
	display: none;
}

.p-property-search-entrance-sp-label {
	color: #1c95d4;
}

.p-property-search-entrance-sp-label:first-child {
	display: none;
}

#js-property-search-entrance-sp-type-dropdown {
	display: none;
}

.p-single-property-header {
	background: linear-gradient(0deg, transparent, #133b6230);
}

.p-single-property-header-image-main img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.p-single-property-section .p-single-property-section {
	margin-top: 80px;
}

.property-index > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px 30px;
}

.property-index.ad-area > .wp-block-group__inner-container {
	grid-template-columns: repeat(1, 1fr);
	gap: 0;
	padding: 1rem;
	background: #f1f1f1;
	margin-bottom: 0;
}

.property-index.ad-area .property-index > .wp-block-group__inner-container {
	grid-template-columns: repeat(1, 1fr);
	gap: 0;
}

.property-index .p-property-cards-item {
	padding: 0;
	border: none;
	margin: 0;
}

.property-index.ad-area h5.ad-header {
	color: #133b62;
	border-bottom: double 5px #133b62;
	padding: 0 0 1rem;
	margin-bottom: 20px;
}

.property-index.ad-area .p-property-cards-item {
	background: transparent;
}

.property-index.ad-area .p-property-cards-item:not(:last-child) {
	margin-bottom: 20px;	
}

.property-index figure.wp-block-image {
	margin-bottom: 0;
}

.property-index h3.wp-block-heading {
	margin-top: 0;
	margin-bottom: 0;
}

.property-index .p-property-cards-item > .wp-block-group__inner-container {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	align-content: start;
	gap: 25px;
}

.property-index.ad-area .p-property-cards-item > .wp-block-group__inner-container {
	grid-template-columns: 200px 1fr;
	background: #fff;
	padding: 1rem;
}

.property-index.ad-area .p-property-cards-item > .wp-block-group__inner-container .property-meta {
	align-content: center;
}

.property-index .p-property-cards-item-image {
	width: 100%;
	height: 100%;
}

.property-index .p-property-cards-item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: ease 0.5s;
}

.property-index .p-property-cards-item-image:hover img {
	transform: scale(1.1);
	transition: ease 0.5s;
}

.property-index .property-meta .wp-block-group__inner-container {
	display: grid;
	align-content: start;
	row-gap: 20px;
	font-size: 14px;
}

.property-index .property-meta .c-realty-area {
	margin-bottom: 0;
}

.p-cb-free-content .c-button01 {
	display: grid;
	place-items: center;
	width: fit-content;
	min-width: 280px;
	height: 60px;
	font-size: 16px;
	color: var(--tcd-accent-color);
	border: 1px solid var(--tcd-accent-color);
	border-radius: calc(infinity * 1px);
}

.p-cb-free-content .c-button01:hover {
	color: #ffffff;
	background: var(--tcd-accent-color);
	text-decoration: none;
}

.panorama .wpvr-cardboard {
	width: 100%!important;
	height: auto!important;
	aspect-ratio: 4/3;
	margin-bottom: 0;
	border-radius: 10px;
	overflow: hidden;
}

.panorama {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	margin-top: 40px;
	padding-top: 40px;
	border-top: double 3px #ddd;
}

.panorama h3 {
	margin-bottom: 1rem;
	color: #133b62;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	color: var(--tcd-accent-color);
	padding-top: calc(30px + var(--tcd-half-read));
	border-top: 3px solid var(--tcd-accent-color);
	margin-bottom: calc(30px + var(--tcd-half-read));
}

.panorama h6 {
	font-size: 16px;
	font-weight: normal;
	line-height: 2;
}

/* 目次 */

.p-single-property .p-toc {
	margin: 40px auto 0;
	background: #fff;
	border: solid 1px #ddd;
}

/* 募集状況 */

.room-table-wrapper {
	border-bottom: double 3px #ccc;
	max-height: 300px;
	overflow: hidden;
	transition: 1s ease;
}

.room-table-wrapper.expanded {
	border-bottom: none;
	max-height: 5000px;
	transition: 1s ease;
}

.room-table-toggle {
	display: block;
	margin: 1em auto;
	padding: 1rem 2rem;
	background-color: #1b95d4;
	color: #fff;
	font-size: 16px;
	border: none;
	border-radius: 10px;
	cursor: pointer;
}

.room-table-toggle:hover {
	background-color: #07689b;
}

.room-table {
	font-size: 16px;
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}

.room-table th {
	color: #133b62;
	border: 1px solid #ccc;
	padding: 0.75em;
	text-align: center;
}

.room-table td {
	border: 1px solid #ccc;
	padding: 0.75em;
	text-align: center;
	vertical-align: middle;
}

.room-table td:first-child {
	font-weight: bold;
}

.room-table thead {
	background-color: #f5f5f5;
}

.room-table img {
	width: 100%;
	max-width: 150px;
	height: auto;
	aspect-ratio: 16/9;
	object-fit: cover;
	display: block;
	margin: 0 auto;
}

button.room-modal-button {
	width: 100%;
	max-width: 120px;
}

.room-table .vacant {
	display: block;
	margin: auto;
	color: #fff;
	background: #4ead9e;
	font-weight: bold;
	padding: 0.5rem 1rem;
	border-radius: 10px;
}

.room-table .living {
	display: block;
	margin: auto;
	color: #fff;
	background: #777;
	font-weight: bold;
	padding: 0.5rem 1rem;
	border-radius: 10px;
}

.room-table .leaving {
	display: block;
	margin: auto;
	color: #fff;
	background: #aaa847;
	font-weight: bold;
	padding: 0.5rem 1rem;
	border-radius: 10px;
}

.view-more {
	width: 100%;
	font-size: 10px;
	display: inline-block;
	margin-top: 5px;
	padding-top: 5px;
	border-top: solid 0.5px;
}

.room-modal {
	display: none;
	position: fixed;
	z-index: 1000000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	align-content: center;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.6);
}

.room-modal-title {
	font-size: 28px;
	color: #133b62;
	margin-bottom: 16px;
	border-bottom: 1px solid #ddd;
	padding-bottom: 8px;
}

.room-modal-content {
	position: relative;
	width: 640px;
	max-width: 90%;
	height: max-content;
	max-height: 100svh;
	background: #fff;
	padding: 20px;
	margin: auto;
	border-radius: 10px;
	overflow: scroll;
}

.close-room-modal {
	position: absolute;
	top: 10px;
	right: 16px;
	color: #aaa;
	font-size: 28px;
	font-weight: bold;
	cursor: pointer;
}

.close-room-modal:hover,
.close-room-modal:focus {
	color: #000;
}

.open-room-btn {
	display: inline-block;
	margin-top: 10px;
	padding: 6px 12px;
	background-color: #0073aa;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
}

.open-room-btn:hover {
	background-color: #005a87;
}

.room-modal-content .room-status-label {
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	padding: 0.5rem 1rem;
	margin-bottom: 16px;
	border-radius: 10px;
}

.room-modal-content .room-status-label.vacant {
	background: #4ead9e;
}

.room-modal-content .room-status-label.living {
	background: #777;
}

.room-modal-content .room-status-label.leaving {
	background: #aaa847;
}

.room-info-row {
	display: flex;
	justify-content: space-between;
	padding: 10px 20px;
	border-bottom: 1px solid #eee;
	font-size: 14px;
}

.room-info-row .label {
	font-weight: bold;
	color: #666;
}

.room-info-row .value {
	color: #222;
}

.room-thumbnail {
	position: relative;
	text-align: center;
}

.room-info-table {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-bottom: 20px;
}

.room-panorama {
	border-bottom: 1px solid #eee;
}

.room-panorama .wpvr-cardboard {
	height: auto!important;
	aspect-ratio: 4 / 3;
	margin-bottom: 20px;
	border-radius: 10px;
	overflow: hidden;
}

.room-modal-content .room-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.room-modal-content .room-icons {
	margin-top: 20px;
}

.room-modal-content .icon-list {
	grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
	gap: 0.5rem;
}

.room-modal-content .icon-texts {
	font-size: 10px;
}

/* 物件タグを非表示 */
.splide__list button[data-tag-id="1584"],
.splide__list button[data-tag-id="1595"],
.splide__list button[data-tag-id="1596"] {
	display: none;
}

.p-realty-search-form-tag label.c-realty-check:has(input[value="1584"]),
.p-realty-search-form-tag label.c-realty-check:has(input[value="1585"]),
.p-realty-search-form-tag label.c-realty-check:has(input[value="1589"]),
.p-realty-search-form-tag label.c-realty-check:has(input[value="1595"]),
.p-realty-search-form-tag label.c-realty-check:has(input[value="1596"]) {
	display: none;
}

#js-realty-search-modal-open.c-realty-submit2 {
	color: #fff;
	background: var(--tcd-accent-color);
	border: 1px solid #fff;
}

.p-cb-property-slider-nav-slide.is-requested {
	font-weight: bold;
}

.property-list h3 {
	margin-bottom: 0!important;
}

h2.custom_h2 {
	color: #133b62!important;
}

.c-property-grid-table .c-property-grid-table-row-h {
	align-content: normal;
	text-align: left;
	padding: calc(22px + var(--tcd-half-read)) 15px;
}

.c-property-grid-table .c-property-grid-table-row-d {
	align-content: normal;
}

.add-section {
	margin-top: 80px;
}

.tabs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	transform: translateY(1px);
}

.tab-button {
	background: #f0f0f0;
	border: solid 1px #ccc;
	padding: 1rem 0;
	cursor: pointer;
	border-radius: 10px 10px 0 0;
	font-size: 16px;
	font-weight: bold;
	transition: background 0.3s;
}

.tab-button.is-active {
	background: #f4f8fc;
	color: #133b62;
	border-bottom: none;
}

.tab-contents {
	padding: 1rem;
	border: solid 1px #ccc;
	background: #f4f8fc;
}

.tab-contents .tab-content {
	display: none;
}

.tab-contents .tab-content.is-active {
	display: block;
}

img.equipment {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 32 / 9;
	object-fit: cover;
	margin-bottom: 3rem;
}

#share img.equipment {
	aspect-ratio: 16 / 9;
	object-fit: contain;
	background: #fff;
}

h6.tab-message {
	padding: 1rem;
	background: #fff;
	margin-bottom: 3rem;
	color: #133b62;
	font-size: 14px;
	font-weight: normal;
	line-height: 2;
}

.icon-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(75px, 1fr));
	gap: 1rem;
}

.icon-container {
	display: block;
	width: 75px;
	max-width: 100%;
}

.icon-image {
	width: 80%;
	border-radius: 10px;
	margin: auto;
}

.icon_back0 {
	background: #eee;
}

.icon_back1 {
	background: #d1ce56;
	filter: drop-shadow(2px 2px 1px #0005);
}

.condition .icon_back1 {
	background: #77cab6;
	filter: drop-shadow(2px 2px 1px #0005);
}

.icon_back2 {
	background: #d18456;
	filter: drop-shadow(2px 2px 1px #0005);
}

.icon_back3 {
	background: #5697d1;
	filter: drop-shadow(2px 2px 1px #0005);
}

.icon_back4 {
	background: #dc79d3;
	filter: drop-shadow(2px 2px 1px #0005);
}

.icon-texts {
	font-size: 12px;
	text-align: center;
	color: #133b62;
	line-height: 1.5;
	margin: 5px auto 0;
}

.graph-area {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.graph {
	display: block;
	width: 100%;
}

.graph-title {
	font-size: 16px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 5px;
	color: #fff;
	background: #3b9fd8;
	border-radius: 5px;
	line-height: 3;
	margin-bottom: 2rem;
}

.graph-inner {
	display: block;
	width: 100%;
}

:root {
	--r: 70px;
}

.chart {
	--size: min(calc(var(--r) * 4), 250px);
	position: relative;
	width: var(--size);
	height: var(--size);
	border-radius: 50%;
	margin: auto;
}

.chart .no-data-text {
	color: #777;
	font-size: 14px;
	text-align: center;
}

.label {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	line-height: 1.25;
	color: #fff;
	white-space: nowrap;
	--angle: calc(var(--percentage) * 360deg);
	--deg: calc(-90deg + var(--angle));
	translate: calc(cos(var(--deg)) * calc(var(--size) / 3) - 50%) calc(sin(var(--deg)) * calc(var(--size) / 3) - 50%);
}

.label span {
	font-size: 16px;
}

.legend {
	display: flex;
	width: max-content;
	max-width: 100%;
	justify-content: left;
	gap: 1rem;
	margin: 2rem auto 0;
	flex-wrap: wrap;
}

.legend-item {
	display: flex;
	align-items: center;
	font-size: 14px;
	color: #133b62;
}

.legend-color {
	width: 20px;
	height: 20px;
	border-radius: 5px;
	margin-right: 5px;
	display: inline-block;
}

.message-container {
	position: relative;
	display: block;
	margin-bottom: 40px;
}

.message-container h4 {
	font-size: 14px;
	font-weight: bold;
	line-height: 2;
	color: #133b62;
}

.message-container p + h4 {
	margin-top: calc(30px + var(--tcd-half-read));
}

.message-container p {
	font-size: 14px;
	line-height: 2;
	color: #333;
}

.p-single-header__image :where(.p-single-header__category),
.c-category {
	background: #03bb9c;
	color: #fff;
	padding: 0;
	transition: ease 0.5s;
}

.p-single-header__image :where(.p-single-header__category) a,
.c-category a {
	display: block;
	padding: 0.8em 1em;
}

.p-post-cards-item__category {
	margin-top: 0;
}

@media (any-hover: hover) {

	.p-single-header__image :where(.p-single-header__category):has(a:hover),
	.c-category:has(a:hover) {
		background: #007f6a;
		transition: ease 0.5s;
	}

	.p-single-header__image :where(.p-single-header__category) a:hover,
	.c-category a:hover {
		color: #fff;
	}

}

.c-news-category {
	min-width: 130px;
	width: fit-content;
	max-width: 100%;
	padding: 0.8em 1em;
	background: #7d79db;
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
}

.p-single-header__title,
.p-post-cards-item__title {
	color: #133b62;
}

.wp-block-image.full-image {
	display: block;
	width: 100%;
	height: 100%;
}

.wp-block-image.full-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-post-image {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	object-fit: cover;
}

.p-single-bottom {
	row-gap: 0;
}

.p-single-bottom-title {
	font-size: 18px;
	text-align: left;
	line-height: 1.6;
	color: var(--tcd-accent-color);
	padding: 10px 20px;
	border-left: 5px solid var(--tcd-accent-color);
	margin-bottom: calc(30px + var(--tcd-half-read));
}

.wpcf7 span.required {
	font-size: 12px;
	color: #fff;
	background: #e2557b;
	padding: 5px 10px;
	margin-right: 10px;
	border-radius: 5px;
}

.wpcf7 span.optional {
	font-size: 12px;
	color: #fff;
	background: #133b62;
	padding: 5px 10px;
	margin-right: 10px;
	border-radius: 5px;
}

.wpcf7 span.auto {
	font-size: 12px;
	color: #fff;
	background: #aaa;
	padding: 5px 10px;
	margin-right: 10px;
	border-radius: 5px;
}

.wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-previous {
	background-color: var(--tcd-accent-color)!important;
}

.wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-previous:hover {
	background-color: color-mix(in srgb, var(--tcd-accent-color) 70%, transparent)!important;
}

.wpcf7 .p-r-contact select {
	width: 100%;
}

.wpcf7 span.wpcf7-form-control-wrap input[readonly],
.wpcf7 span.wpcf7-form-control-wrap select[readonly] {
	background: #f1f1f1;
}

.term-block {
	display: block !important;
	width: 100%;
	height: max-content;
	padding: 1rem;
	border: solid 1px #ddd;
	background: #f1f1f1;
}

.term-block-inner {
	width: 100%;
	height: 300px;
	overflow: scroll;
	padding: 1rem;
	border: double 3px #ddd;
	background: #fff;
}

.term-block p:has(span.wpcf7-form-control-wrap ) {
	margin: 0;
}

.term-block .wpcf7-form-control .wpcf7-list-item {
	margin: 0;
}

.term-block .wpcf7-form-control .wpcf7-list-item label {
	display: flex;
	align-items: center;
}

.term-block .wpcf7-form-control label input {
	margin-right: 10px;
}

/* クイックタグ */

.single h2.custom_h2 {
	font-size: 18px;
	line-height: 1.6;
	color: var(--tcd-accent-color)!important;
	padding-top: calc(30px + var(--tcd-half-read));
	border-top: 3px solid var(--tcd-accent-color);
	margin-bottom: calc(30px + var(--tcd-half-read));
}

.wp-block-button.custom_button .wp-block-button__link:hover:after {
	text-decoration: none!important;
	background-color: color-mix(in srgb, var(--tcd-accent-color) 80%, #ffffff)!important;
}

.tcdce-body .sample-ads-wrapper .tcdce-card__meta {
	display: none;
}

/* サービス概要 */

.service-intro,
.service-feature,
.service-steps,
.service-message {
	max-width: 1200px;
	margin: 0 auto 80px;
}

.service-intro p,
.service-message p {
	font-size: 16px;
	line-height: 2;
}

.feature-card > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 300px 1fr;
	background: #f9f9f9;
	border-radius: 12px;
	margin-bottom: 30px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
	overflow: hidden;
}

.feature-card > .wp-block-group__inner-container .feature-icon {
	margin-bottom: 0;
}

.feature-card > .wp-block-group__inner-container .feature-icon img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.feature-text {
	padding: 20px;
}

.feature-card .feature-text h3 {
	font-size: 18px;
	margin-bottom: 10px;
	color: #133b62;
}

.feature-text p {
	font-size: 16px;
	line-height: 2;
}

.tcdce-body .service-steps h2 {
	font-size: 18px;
	line-height: 1.6;
	color: var(--tcd-accent-color);
	padding-top: calc(30px + var(--tcd-half-read));
	border-top: 3px solid var(--tcd-accent-color);
	margin-bottom: calc(30px + var(--tcd-half-read));
	text-align: left;
}

.service-steps .step-list {
	counter-reset: step;
	list-style: none;
	padding: 0;
}

.service-steps .step-list li {
	position: relative;
	padding-left: 40px;
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 2;
}

.service-steps .step-list li strong {
	font-size: 16px;
	color: #133b62;
}

.service-steps .step-list li::before {
	counter-increment: step;
	content: counter(step);
	position: absolute;
	left: 0;
	top: 0;
	background: #70b0e9;
	color: #fff;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	font-weight: bold;
	font-size: 16px;
	line-height: 2;
}

.tcdce-body .service-message h2 {
	font-size: 18px;
	line-height: 1.6;
	color: var(--tcd-accent-color);
	padding-top: calc(30px + var(--tcd-half-read));
	border-top: 3px solid var(--tcd-accent-color);
	margin-bottom: calc(30px + var(--tcd-half-read));
	text-align: left;
}

/* 運営会社 */

.company-about,
.company-profile,
.company-mission,
.company-value,
.company-contact {
	max-width: 1200px;
	margin: 0 auto 60px auto;
}

.tcdce-body .company-profile h2,
.tcdce-body .company-mission h2,
.tcdce-body .company-value h2,
.tcdce-body .company-contact h2 {
	font-size: 18px;
	line-height: 2;
	color: var(--tcd-accent-color);
	padding-top: calc(30px + var(--tcd-half-read));
	border-top: 3px solid var(--tcd-accent-color);
	margin-bottom: calc(30px + var(--tcd-half-read));
	text-align: left;
}

.company-about p,
.company-mission p,
.company-value p,
.company-contact p {
	font-size: 16px;
	line-height: 2;
}

.company-profile .table-layout > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 40% 1fr;
	gap: 20px;
}

.company-profile .table-layout > .wp-block-group__inner-container .s_table {
	overflow: hidden;
	white-space: nowrap;
	padding-inline: 0;
	margin-inline: 0;
}

.company-profile .table-layout > .wp-block-group__inner-container p {
	margin-bottom: 0;
}

.company-profile .table-layout > .wp-block-group__inner-container img {
	width: 100%; 
	height: 100%;
	object-fit: cover;
}

.company-profile .table-layout > .wp-block-group__inner-container table {
	width: 100%;
	border-collapse: collapse;
}

.company-profile .table-layout > .wp-block-group__inner-container th,

.company-profile .table-layout > .wp-block-group__inner-container td {
	border: 1px solid #ddd;
	padding: 10px;
	text-align: left;
	font-size: 14px;
	line-height: 2;
	vertical-align: top;
}

.company-profile .table-layout > .wp-block-group__inner-container th {
	background-color: #f7f7f7;
	width: 200px;
	font-weight: bold;
	color: #133b62;
}

.company-profile .table-layout > .wp-block-group__inner-container td {
	background-color: #fff;
}

.tcdce-body .company-value ul {
	list-style: none;
	padding: 0;
}

.p-single-header__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	object-fit: cover;
}

/* ウィジェット */

.p-widget-banner-slider-item {
	height: auto;
	aspect-ratio: 16/9;
}

/* Font Awesome */

.merit-list i.font-awesome {
	display: block;
	width: max-content;
	margin: auto;
}

i.font-awesome:before {
	display: block;
	font-size: 30px;
	color: #fff;
	background: #133b62;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	height: 70px;
	align-content: center;
	text-align: center;
}

@media (max-width: 767px) {

	.merit-list i.font-awesome {
		position: absolute;
	}

	i.font-awesome:before {
		font-size: 20px;
		height: 50px;
	}

}

/* その他ページ */

.merit-list .wp-block-column {
	background: #e7ebf0;
	padding: 20px 10px;
}

.merit-list h4.wp-block-heading {
	text-align: center;
	padding-bottom: 1rem;
	margin: 2rem auto 1rem;
	font-size: 18px;
	color: #133b62;
	border-bottom: double 3px #133b62;
}

.tcdce-body h2.block-title {
	font-size: 24px;
	line-height: 2;
	color: var(--tcd-accent-color);
	padding-top: calc(30px + var(--tcd-half-read));
	border-top: 3px solid var(--tcd-accent-color);
	margin-bottom: calc(30px + var(--tcd-half-read));
	text-align: left;
}

.feature-list {
	background: #fafafa;
}

.feature-list h3.wp-block-heading {
	font-size: 20px;
	margin-top: 1rem;
}

.step-table table thead tr {
	color: #fff;
	background: #133b62;
}

.plan-table .plan-light {
	background: #def4e8;
	padding: 0 10px 10px;
}

.plan-table .plan-standard {
	background: #c7e2f0;
	padding: 0 10px 10px;
}

.plan-table .plan-premium {
	background: #f1d1c3;
	padding: 0 10px 10px;
}

.plan-table .s_table {
	padding: 0;
	margin: auto;
	width: 100%;
	overflow: hidden;
}

.plan-table table thead th {
	border: none;
}

.plan-table table tbody {
	background: #fff;
}

.plan-table table tbody td {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: none;
}

.plan-table table tbody td strong {
	display: inline-block;
	width: 50%;
	position: relative;
	right: 0;
	text-align: center;
	color: #cf5459;
}

.plan-table table tbody td strong s {
	display: inline-block;
	vertical-align: text-bottom;
	font-size: 0.8em;
	color: #770a0f;
}

.plan-table table tbody td strong mark {
	font-size: 1.5em;
	font-style: normal;
	color: #d72a31!important;
}

.plan-table .plan-button {
	display: block;
	margin: 20px auto 10px;
}

.plan-table .plan-button .wp-block-button a {
	font-size: 16px;
	border-radius: calc(infinity * 1px);
	transition: ease 0.5s;
}

.plan-table .plan-button .wp-block-button a:hover {
	transition: ease 0.5s;
}

.plan-table .plan-button .wp-block-button a:before {
	content: none;
}

.plan-table .plan-light .plan-button .wp-block-button a {
	color: #1acc6c;
	border: 1px solid #1acc6c;
	background: #fff;
}

.plan-table .plan-light .plan-button .wp-block-button a:hover {
	color: #fff;
	border: 1px solid #1acc6c;
	background: #1acc6c;
}

.plan-table .plan-standard .plan-button .wp-block-button a {
	color: var(--tcd-accent-color);
	border: 1px solid var(--tcd-accent-color);
	background: #fff;
}

.plan-table .plan-standard .plan-button .wp-block-button a:hover {
	color: #fff;
	border: 1px solid var(--tcd-accent-color);
	background: var(--tcd-accent-color);
}

.plan-table .plan-premium .plan-button .wp-block-button a {
	color: #dd7548;
	border: 1px solid #dd7548;
	background: #fff;
}

.plan-table .plan-premium .plan-button .wp-block-button a:hover {
	color: #fff;
	border: 1px solid #dd7548;
	background: #dd7548;
}

.design-block {
	padding: 10px;
	background: #fffce4;
	border: double 3px #d72a31;
}

.design-block strong {
	color: #d72a31;
}

.option-table table thead tr {
	color: #fff;
	background: #133b62;
}

.option-table table thead tr th {
	text-align: center;
}

.option-table table tbody td:last-child {
	text-align: right;
	color: #cf5459;
	font-weight: 700;
}

.option-table table tbody td:last-child s {
	display: inline-block;
	vertical-align: text-bottom;
	font-size: 0.8em;
	color: #770a0f;
}

.option-table table tbody td:last-child mark {
	font-size: 1.5em;
	font-style: normal;
	color: #d72a31!important;
}

.buttons {
	width: max-content;
	max-width: 100%;
	margin: auto !important;
	gap: 0 50px;
}

.tcdce-body .contact-button {
	display: block;
	margin: 20px auto 10px;
}

.tcdce-body .contact-button .wp-block-button a {
	color: var(--tcd-accent-color);
	border: 1px solid var(--tcd-accent-color);
	background: #fff;
	font-size: 16px;
	border-radius: calc(infinity * 1px);
	transition: ease 0.5s;
}

.tcdce-body .contact-button .wp-block-button a:hover {
	color: #fff;
	border: 1px solid var(--tcd-accent-color);
	background: var(--tcd-accent-color);
	transition: ease 0.5s;
}

.tcdce-body .contact-button .wp-block-button a:before {
	content: none;
}

.tcdce-body .wp-block-column .tcdce-sb .tcdce-sb-content {
	border: 2px solid #aaa;
}

.tcdce-body .wp-block-column .tcdce-sb .tcdce-sb-content:before {
	background: #aaa;
}

.tcdce-body .sample-ads-wrapper {
	margin-bottom: 20px;
}

.tcdce-body .sample-ads {
	grid-template-columns: repeat(1, 1fr);
	padding-block: 10px;
	border-image: none;
	max-width: 400px;
	margin: auto;
}

.tcdce-body .sample-ads img {
	height: 100%;
}

.tcdce-body .sample-ads a {
	grid-template-columns: 120px 1fr;
	color: #000;
	filter: drop-shadow(0px 0px 3px #0003);
}

.tcdce-body .sample-ads a:hover {
	text-decoration: none;
}

.tcdce-body .menu-sub {
	font-size: 20px;
	margin: 10px auto;
	padding: 10px 0;
	border-top: solid 1px #133b62;
}

.tcdce-body .blog-sub {
	font-size: 20px;
	color: #133b62;
	margin: 10px auto;
	padding: 10px 0;
}

.tcdce-body .p-normal {
	margin: 0;
}

.tcdce-body .sample-ads-side {
	width: 400px;
	max-width: 100%;
	margin: 10px auto;
}

.tcdce-body .sample-ads-side .p-widget-headline {
	border-top: none;
	padding-block: 0;
}

.c-pw__box .c-pw__submit {
	background: #133b62;
}

@media (any-hover: hover) {
	.c-pw__box .c-pw__submit:hover {
		background: #1c95d3;
	}
}

a[href*=".pdf"]:before{
	content: "\f1c1";
	font-family: "Font Awesome 6 Free";
	color: #a72928;
	display: inline-block;
	margin-right: 10px;
	background-position: center center;
	background-repeat: no-repeat;
}

@media (max-width: 767px) {

	.merit-list .wp-block-column {
		padding: 20px 10px;
	}

	.merit-list h4.wp-block-heading {
		width: calc(100% - 60px);
		padding-bottom: 0rem;
		margin: 0 0 1rem 60px;
		font-size: 16px;
		line-height: 50px;
	}

	.tcdce-body h2.block-title {
		font-size: 18px;
		padding-top: calc(30px + var(--tcd-half-read));
		border-top: 3px solid var(--tcd-accent-color);
		margin-bottom: calc(30px + var(--tcd-half-read));
	}

	.feature-list {
		flex-direction: column-reverse;
		gap: 0;
		background: none;
	}

	.feature-list h3.wp-block-heading {
		font-size: 18px;
		margin-top: 0;
	}

	.contact-pc {
		display: none;
	}

	.tcdce-body .sample-ads-wrapper {
		gap: 20px;
	}

	.tcdce-body .sample-ads a {
		grid-template-columns: 100px 1fr;
	}

	.tcdce-body .menu-sub {
		font-size: 18px;
	}

}

/* 物件管理者画面 */

.page-id-2018 .p-lp-body {
    width: min(var(--tcd-lp-content-min-size), 1200px);
}

.page-template-page-owner-edit .l-sidebar,
.page-template-page-owner-edit .c-breadcrumb {
	display: none;
}

.spinner {
	margin: 0 auto 1em;
	width: 48px;
	height: 48px;
	border: 6px solid #ccc;
	border-top-color: #333;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

.page-template-page-owner-edit h2.property-title {
	color: var(--tcd-accent-color);
	font-size: var(--tcd-archive-title-font-size-pc);
	font-family: var(--tcd-archive-title-font-type);
	line-height: 2;
}

.um-profile-body {
	display: none;
}

.my-properties {
	display: block;
	overflow: scroll;
}

table.owner-props {
	width: 100%;
	min-width: max-content;
}

table.owner-props th {
	border: 1px solid #ddd;
	padding: 10px;
	text-align: left;
	font-size: 14px;
	line-height: 2;
	vertical-align: top;
	background-color: #f7f7f7;
	font-weight: bold;
	color: #133b62;
}

table.owner-props td {
	border: 1px solid #ddd;
	padding: 10px;
	text-align: left;
	font-size: 14px;
	line-height: 2;
}

table.owner-props td:first-child {
	width: 100px;
	height: auto;
}

table.owner-props td img {
	aspect-ratio: 4/3;
	object-fit: cover;
}

table.owner-props a.button {
	color: var(--tcd-accent-color);
	border: 1px solid var(--tcd-accent-color);
	border-radius: 10px;
	padding: 10px 20px;
}

table.owner-props a.button.button-primary {
	margin-left: 10px;
}

table.owner-props a.button:hover {
	color: #fff;
	background: var(--tcd-accent-color);
	text-decoration: none;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.loading-message {
	font-size: 14px;
	color: #666;
}

@media (max-width: 767px) {

	.page-id-2018 .p-lp-body {
		width: calc(100% - 40px);
	}

	.um-profile.um .um-name a {
		font-size: 20px;
	}

	.um-profile.um .um-meta-text {
		font-size: 12px;
	}

	table.owner-props th,
	table.owner-props td {
		font-size: 12px;
	}

	table.owner-props,
	table.owner-props thead,
	table.owner-props tbody {
		display: flex;
		flex-wrap: wrap;
		width: calc(100svw - 40px);
	}

	table.owner-props thead {
		display: none;
	}

	table.owner-props tr {
		border: 1px solid #ddd;
		border-radius: 10px;
		margin-bottom: 20px;
		padding: 10px;
		background: #fff;
		box-shadow: 0 2px 5px rgba(0,0,0,0.05);
	}

	table.owner-props td {
		border: none;
		display: flex;
		align-items: center;
		padding: 5px 0;
		font-size: 12px;
	}

	table.owner-props td:first-child {
		display: block;
		width: 100%;
		text-align: center;
		padding: 0;
	}

	table.owner-props td:first-child img {
		width: 100%;
		height: auto;
		max-width: 100%;
		border-radius: 8px;
	}

	table.owner-props td:nth-child(2) {
		width: max-content;
		color: #133b62;
		font-size: 18px;
		font-weight: bold;
		margin: auto;
	}

	table.owner-props td:nth-child(3)::before,
	table.owner-props td:nth-child(4)::before,
	table.owner-props td:nth-child(5)::before,
	table.owner-props td:nth-child(6)::before {
		content: attr(data-label);
		flex: 0 0 90px;
		width: max-content;
		font-size: 12px;
		color: #00BCD4;
		border: solid 1px #00BCD4;
		border-radius: 50px;
		text-align: center;
		margin-right: 10px;
	}
	
	table.owner-props td:nth-child(5) div,
	table.owner-props td:nth-child(6) div {
		width: 50%;
	}

	table.owner-props td:last-child {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		justify-content: center;
		margin-top: 10px;
	}

	table.owner-props a.button {
		width: max(80px, calc((100% - 20px) / 2));
		text-align: center;
		padding: 5px 20px;
	}

	table.owner-props a.button.button-primary {
		margin: 0;
	}

	.page-template-page-owner-edit .owner-edit-wrap h2.property-title {
		margin: 1em 0 0!important;
	}

}

/* フッター */

.p-footer-banner__image {
	aspect-ratio: 4 / 3;
}

.p-footer-banner__title {
	font-size: 12px;
	font-weight: normal;
}

.p-footer-banner__title span {
	color: #133b62;
	font-size: 16px;
	font-weight: bold;
}

.p-footer-nav--sp {
	grid-template-columns: repeat(2, 1fr);
}

/* GTranslate */

.gtranslate_wrapper #gt_float_wrapper {
	width: 140px;
	bottom: 5px!important;
}

.gt_float_switcher {
	width: 100%;
}

.gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
	margin-left: 1rem;
}

@media (max-width: 767px) {

	h2.top-h2 strong {
		font-size: 20px!important;
	}

	h3.top-h3 {
		font-size: 14px!important;
		margin-bottom: 40px!important;
	}

	.p-cb-header-subtitle {
		font-size: 14px;
	}

	.p-single-property-section .p-single-property-section {
		margin-top: 40px;
	}

	.property-index > .wp-block-group__inner-container {
		grid-template-columns: repeat(1, 1fr);
		gap: 0;
	}

	.property-index .p-property-cards-item {
		padding: 25px;
		background: #ffffff;
		border: 1px solid #dddddd;
		margin: -1px;
	}

	.property-index.ad-area h5.ad-header {
		padding: 0 0 10px;
	}

	.property-index.ad-area .p-property-cards-item {
		padding: 0;
	}

	.property-index.ad-area .p-property-cards-item:not(:last-child) {
		margin-bottom: 10px;
	}

	.property-index .property-meta .wp-block-group__inner-container {
		font-size: 12px;
		row-gap: 10px;
	}

	.property-index.ad-area .p-property-cards-item > .wp-block-group__inner-container {
		grid-template-columns: 100px 1fr;
	}

	.property-index.ad-area .p-property-cards-item .p-property-cards-item-title {
		font-size: 16px;
	}

	.p-cb-free-content .c-button01 {
		min-width: 240px;
		height: 50px;
		font-size: 14px;
	}

	.panorama {
		grid-template-columns: 1fr;
		gap: 20px;
		margin: 40px auto 0;
		padding-top: 20px;
		max-width: calc(100% - 40px);
	}

	.panorama h3 {
		font-size: 16px;
		line-height: 1.5;
		padding-top: calc(20px + var(--tcd-half-read));
		margin-bottom: calc(20px + var(--tcd-half-read));
	}

	.panorama h6 {
		font-size: 14px;
	}

	.c-archive-header__desc {
		font-size: 14px;
	}

	.tcdce-body h2.property-headline {
		font-size: var(--tcd-archive-title-font-size-sp);
	}

	.c-property-tagcloud-link {
		height: 30px;
	}

	.c-property-grid-table .c-property-grid-table-row {
		grid-template-columns: 120px 1fr;
	}

	.c-property-grid-table .c-property-grid-table-row-h {
		padding: calc(12px + var(--tcd-half-read)) 10px;
	}

	.c-property-grid-table .c-property-grid-table-row-d {
		padding: calc(12px + var(--tcd-half-read)) 10px;
	}

	.add-section {
		margin-top: 40px;
	}

	.tab-button {
		font-size: 12px;
	}

	img.equipment {
		aspect-ratio: 4 / 3;
		margin-bottom: 2rem;
	}

	#share img.equipment {
		aspect-ratio: 4 / 3;
	}

	h6.tab-message {
		margin-bottom: 2rem;
		font-size: 12px;
	}

	.icon-list {
		grid-template-columns: repeat(auto-fit, minmax(45px, 1fr));
		gap: 0.5rem;
	}

	.icon-container {
		width: 60px;
	}

	.icon-texts {
		font-size: 8px;
	}

	.graph-area {
		grid-template-columns: repeat(1, 1fr);
		gap: 2rem;
	}

	.graph-title {
		font-size: 14px;
	}

	.graph-inner {
		display: grid;
		grid-template-columns: auto 100px;
		gap: 2rem;
		width: max-content;
		margin: auto;
	}

	.legend {
		flex-direction: column;
		margin: auto 0;
	}

	:root {
		--r: 50px;
	}

	.message-container h4,
	.message-container p {
		font-size: 12px;
	}

	.message-container p + h4 {
		margin-top: calc(20px + var(--tcd-half-read));
	}

	.p-single-bottom-title {
		font-size: 16px;
		line-height: 1.5;
		padding: 10px;;
		margin-bottom: calc(20px + var(--tcd-half-read));
	}

	.wpcf7 p {
		font-size: 14px!important;
	}

	.wpcf7 span.required,
	.wpcf7 span.optional {
		font-size: 10px;
	}

	.term-block {
		padding: 0.5rem;
	}

	.term-block-inner {
		padding: 0.5rem;
	}

	.term-block h4.wp-block-heading {
		font-size: 14px;
	}

	.term-block-inner .wp-block-column p {
		font-size: 12px!important;
	}

	/* 目次 */

	.p-single-property .p-toc {
		padding: 25px 20px;
		margin: 40px 20px 0;
	}

	/* 募集状況 */

	.room-table-wrapper {
		overflow-x: scroll;
		max-height: 200px;
	}

	.room-table-wrapper.expanded {
		max-height: 3000px;
	}

	.room-table-toggle {
		padding: 0.5rem 1rem;
		font-size: 14px;
	}

	.room-table {
		font-size: 12px;
		width: max-content;
	}

	.room-table img {
		max-width: 100px;
	}

	.room-table .vacant {
		width: 100%;
	}

	.room-table .living {
		width: 100%;
	}

	.room-table .leaving {
		width: 100%;
	}

	.view-more {
		font-size: 8px;
	}

	.room-modal-content .room-status-label {
		font-size: 12px;
	}

	.room-panorama .wpvr-cardboard {
		margin-bottom: 10px;
	}

	.room-modal-content .room-icons {
		margin-top: 10px;
	}

	.room-modal-content .icon-list {
		grid-template-columns: repeat(auto-fit, minmax(30px, 1fr));
		gap: 0.5rem;
	}

	.icon-image {
		border-radius: 5px;
	}

	.room-modal-content .icon-texts {
		font-size: 6px;
	}

	/* クイックタグ */

	.single h2.custom_h2 {
		font-size: 16px;
		line-height: 1.5;
		padding-top: calc(20px + var(--tcd-half-read));
		margin-bottom: calc(20px + var(--tcd-half-read));
	}

	/* サービス概要 */

	.feature-card > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.feature-card > .wp-block-group__inner-container .feature-icon img {
		aspect-ratio: 16/9;
	}

	.service-intro p,
	.service-message p,
	.feature-text p,
	.service-steps .step-list li {
		font-size: 14px;
	}

	.feature-card > .wp-block-group__inner-container .feature-text h3 {
		font-size: 16px;
	}

	.room-modal-title {
		font-size: 20px;
		margin-bottom: 10px;
	}

	.room-info-row {
		padding: 10px 20px;
		font-size: 12px;
	}

	.room-modal-content {
		padding: 10px;
	}

	.close-room-modal {
		top: 5px;
		right: 5px;
		font-size: 20px;
	}

	.room-info-table {
		gap: 10px;
		margin-bottom: 10px;
	}

	/* 運営会社 */

	.tcdce-body .company-profile h2,
	.tcdce-body .company-mission h2,
	.tcdce-body .company-value h2,
	.tcdce-body .company-contact h2 {
		font-size: 16px;
	}

	.company-about p,
	.company-mission p,
	.company-value p,
	.company-contact p {
		font-size: 14px;
	}

	.company-profile .table-layout > .wp-block-group__inner-container {
		display: grid;
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.company-profile .table-layout > .wp-block-group__inner-container img {
		aspect-ratio: 16/9;
	}

	.company-profile .table-layout > .wp-block-group__inner-container th {
		font-size: 12px;
		width: 100px;
	}

	.company-profile .table-layout > .wp-block-group__inner-container td {
		font-size: 12px;
	}

	.tcdce-body .wp-block-column .tcdce-sb {
		gap: 20px;
	}

	.tcdce-body .wp-block-column .tcdce-sb .tcdce-sb-user-name {
		font-size: 12px;
	}

	.tcdce-body .wp-block-column .tcdce-sb .tcdce-sb-content {
		font-size: 12px;
		border: 1px solid #aaa;
	}

	.tcdce-body .wp-block-column .tcdce-sb .tcdce-sb-content:after {
		left: -8.5px;
	}

	/* 物件管理者画面 */

	.page-template-page-owner-edit .owner-edit-wrap {
		min-height: auto!important;
		height: 100%;
	}

	.page-template-page-owner-edit .owner-edit-wrap .container {
		height: calc(100svh - 100px)!important;
	}

	.page-template-page-owner-edit h2.property-title {
		font-size: var(--tcd-archive-title-font-size-sp);
	}

	/* GTranslate */

	.gtranslate_wrapper #gt_float_wrapper {
		top: 7.5px;
		bottom: auto!important;
		left: auto!important;
		right: 60px;
	}

	.gtranslate_wrapper .gt_float_switcher {
		outline: solid 1px #ddd;
		box-shadow: none;
	}

}