@charset "utf-8";

#contents {
	width: 100%;
	padding: 0;
}

.l-wrapper:has(.ui-float-bottom.is-show) .org-footer {
    margin-bottom: 70px;
}
.nopage {
	margin-top: 20px;
}
.nopage p {
	font-size: 14px;
}

.history-main {
	width: 100%;
	padding-top: 40px;

	.org-result__list {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
		.org-result__card {
			position: relative;
			z-index: 1;
		}
		.org-result__card .result__card-link {
			display: block;
			padding: 14px 19px 20px;
			background: #FFF;
			border: 1px solid #EBEBEB;
			box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.05);
		}
		.org-result__card .result__card-link:hover {
			opacity: 1;
			box-shadow: unset;
		}
		.org-result__card .result__card-link:hover::before {
			content: '';
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			border: 2px solid #FF5800;
		}
			.result__card-label {
				position: absolute;
				top: 14px;
				left: 19px;
				z-index: 2;
			}
			.result__card-head {
				display: flex;
				justify-content: space-between;
				align-items: center;
				gap: 8px;
				margin-bottom: 12px;
			}
				.result__card-head-left {
					display: flex;
					align-items: center;
					gap: 8px;
				}
					input[type="checkbox"].result__card-check {
						width: 24px;
						height: 24px;
						border-radius: 3px;
						background: #FFF;
						border: 1px solid #CFCFCF;
						margin: 0 auto;
						position: relative;
						z-index: 2;
						cursor: pointer;
					}
					input[type="checkbox"].result__card-check:checked {
						border-color: transparent;
						background: url(/images/result/img_result-check.webp) no-repeat center / cover;
						border: none;
					}
					.result__card-name {
						font-size: 16px;
						font-weight: 700;
						line-height: 1.25;
						margin-bottom: 3px;
						margin-left: 32px;
					}
				.result__card-type {
					display: block;
					width: fit-content;
					height: fit-content;
					padding: 5px 11px;
					border-radius: 999px;
					border: 1px solid #FF5800;
					background: linear-gradient(0deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.88) 100%), #FF9D00;
					font-size: 12px;
					font-weight: 700;
					line-height: 1;
					color: #FF5800;
					text-align: center;
				}
			.result__card-main {
				display: flex;
				justify-content: space-between;
				gap: 16px;
			}
			.result__card-left {
				width: 415px;
				margin-bottom: 11px;
			}
				.result__card-image-wrap {
					display: flex;
					padding: 1px;
					background: #EBEBEB;
					margin-bottom: 10px;
				}
					.result__card-image {
						flex: 1;
						width: 100%;
						height: 175px;
						overflow: hidden;
						position: relative;
						z-index: 2;
						cursor: pointer;
					}
						.result__card-image img {
							width: 100%;
							height: 100%;
							object-fit: cover;
							transition: .4s;
						}
						.result__card-image.js-photo:hover img {
							transform: scale(1.05);
						}
						.result__card-image.js-photo::before {
							content: '';
							background: url(/images/result/icon_result-zoom.webp) no-repeat center / cover;
							display: block;
							width: 30px;
							height: 30px;
							position: absolute;
							right: 4px;
							bottom: 4px;
							z-index: 2;
						}

			.result__card-center {
				width: 273px;
			}
				.result__card-equipment-list {
					display: grid;
					grid-template-columns: repeat(2, 1fr);
					border: 1px solid #EBEBEB;
					background: #FFF;
				}
					.result__card-equipment-item {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 100%;
						height: 30px;
						background: #FFF;
						font-size: 10px;
						font-weight: 500;
						line-height: 1;
						color: #B9B9B9;
						text-align: center;
						padding-bottom: 1px;
					}
					.result__card-equipment-item:nth-child(odd) {
						border-right: 1px solid #EBEBEB;
					}
					.result__card-equipment-item:not(:last-of-type) {
						border-bottom: 1px solid #EBEBEB;
					}
					.result__card-equipment-item.active {
						color: #FF5800;
					}
			.result__card-right {
				width: 380px;
			}
				.result__card-info-group {
					display: flex;
					flex-direction: column;
					gap: 10px;
					margin-bottom: 15px;
				}
					.result__card-info-text {
						font-size: 12px;
						font-weight: 400;
						line-height: 1;
						overflow: hidden;
						text-overflow: ellipsis;
						white-space: nowrap;
					}
				.result__card-price-contents {
					display: flex;
					flex-direction: column;
					gap: 1px;
					width: 100%;
					position: relative;
				}
					.result__card-price-contents.is-guarded .result__card-price-group {
						filter: blur(4px);
						user-select: none;
						pointer-events: none;
					}
					.result__card-price-guard {
						display: flex;
						justify-content: center;
						align-items: center;
						border: 1px solid #D82D2D;
						position: absolute;
						z-index: 1;
						padding: 20px 50px;
						margin: 0;
						font-size: var(--size-S);
						font-weight: 700;
						line-height: 1.4;
						text-align: center;
						color: #D82D2D;
						pointer-events: none;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%);
					}
					.result__card-price-group {
						display: flex;
						justify-content: space-between;
						align-items: center;
						gap: 12px;
						width: 100%;
						padding: 12px 15px 11px;
						background: #F4F4F4;
					}
						.result__card-price-title {
							display: flex;
							gap: 5px;
						}
							[class*="result__card-price-type--"] {
								width: 65px;
								font-size: 14px;
								font-weight: 700;
								line-height: 1;
							}
							.result__card-price-period {
								width: 46px;
								font-size: 10px;
								font-weight: 400;
								line-height: 1;
								color: #8F8F8F;
							}
						.result__card-price-detail {
							display: flex;
							align-items: center;
						}
							.result__card-price-plan {
								display: flex;
								justify-content: space-between;
								align-items: center;
								gap: 5px;
								width: 52px;
								font-size: 12px;
								font-weight: 500;
								line-height: 1;
								margin-right: 6px;
							}
								.result__card-price-plan::after {
									content: '';
									background: url(/images/result/icon_price-arrow.svg) no-repeat center / cover;
									display: block;
									width: 11px;
									height: 8px;
								}
								.result__card-price-plan.is-empty::before {
									content: '-';
								}
								.result__card-price-plan.is-empty::after {
									display: none;
								}
							.result__card-price-change {
								font-size: 12px;
								font-weight: 400;
								line-height: 1;
								text-decoration-line: line-through;
								margin-right: 3px;
							}
							/* Sショート取り扱い不可（org20）の注記。狭い価格枠に収めるため金額より小さく折り返す */
							.result__card-price-unavailable {
								font-size: 11px;
								font-weight: 500;
								line-height: 1.4;
							}
							.result__card-price {
								font-size: 12px;
								font-weight: 700;
								line-height: 1;
							}
								.result__card-price span {
									font-size: 20px;
									font-weight: 700;
									line-height: 1;
									color: #D82D2D;
								}
				.result__card-button-group {
					display: flex;
					gap: 5px;
					position: absolute;
					left: 20px;
					bottom: 47px;
				}
					[class*="result__card-button--"] {
						display: flex;
						justify-content: center;
						align-items: center;
						gap: 5px;
						width: 125px;
						height: 32px;
						border-radius: 3px;
						font-size: 12px;
						font-weight: 500;
						line-height: 1;
						color: #FFF;
						transition: .4s;
						position: relative;
						z-index: 2;
					}
					[class*="result__card-button--"] span {
						display: contents;
						font-size: 12px;
						font-weight: 500;
						line-height: 1;
						color: #FFF;
						transition: .4s;
					}
					.result__card-button--favorite {
						background: #D82D2D;
					}
					.result__card-button--favorite.is-checked span {
						display: contents;
						color: #D82D2D;
					}
					.result__card-button--favorite.is-checked {
						background: #FFE7E7;
						color: #D82D2D;
						opacity: 1;
					}
					.result__card-button--favorite .result__card-favorite-suffix--done {
						display: none;
					}
					.result__card-button--favorite.is-checked .result__card-favorite-suffix--add {
						display: none;
					}
						.result__card-button--favorite svg {
							width: 13px;
							height: 11px;
							fill: #FFF;
							stroke: #FFF;
						}
						.result__card-button--favorite.is-checked svg {
							fill: #D82D2D;
							stroke: #D82D2D;
						}
						/* opacity は common.css の button:hover{opacity:.7} を打ち消すガード。タッチ端末の残留 :hover でもボタンが薄くならないよう無条件で当てる */
						.result__card-button--favorite:hover {
							opacity: 1;
						}
						/* 色・枠の hover 演出はマウス環境のみ。タッチ端末では :hover が残留し、お気に入り解除後も追加済みの見た目になるため（デバッグシート No.349）。
						   pointer: fine を併せることで hover 可能でも粗いポインタの端末を除外する（マウス接続 iPad は hover 演出なし＝許容）。
						   タッチ対応ノートPC（primary pointer が fine）は対象外＝指タップ時の残留は従来どおり。潰すなら JS 側で別途対応 */
						@media (hover: hover) and (pointer: fine) {
							.result__card-button--favorite:hover,
							.result__card-button--favorite:hover span {
								background: #FFE7E7;
								color: #D82D2D;
							}
							.result__card-button--favorite.is-checked:hover {
								border: 1px solid #D82D2D;
								transition: unset;
							}
							.result__card-button--favorite:hover svg {
								fill: #D82D2D;
								stroke: #D82D2D;
							}
						}
					.result__card-button--contact:not(.is-disabled) {
						background: #FF5800;
						border: 1px solid #FF5800;
					}
					.result__card-button--contact:not(.is-disabled):hover {
						background: #FFF;
						color: #FF5800;
					}
						.result__card-button--contact svg {
							width: 14px;
							height: 11px;
							fill: none;
							stroke: #FFF;
						}
						.result__card-button--contact:not(.is-disabled):hover svg {
							stroke: #FF5800;
						}
					.result__card-button--contact.is-disabled {
						background: var(--color-primary-grayscale-gray);
						border: 1px solid var(--color-primary-grayscale-gray);
					}
}

.bkn__photo-modal {
	display: none;
	background: rgba(28, 28, 28, 0.55);
	backdrop-filter: blur(10px);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 4;

	[class*="swiper-button-"] {
		width: 32px;
		height: 32px;
		background: #FFF;
		border: 1px solid #EBEBEB;
		border-radius: 50%;
		margin: 0;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	[class*="swiper-button-"]:hover {
		background: #1C1C1C;
	}
	.swiper-button-prev {
		left: -15px;
	}
	.swiper-button-next {
		right: -15px;
		transform: translateY(-50%) rotate(-180deg);
	}
		[class*="swiper-button-"] svg {
			width: 7px;
			height: 11px;
			fill: none;
			stroke: #1C1C1C;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			transition: .4s;
		}
		[class*="swiper-button-"]:hover svg {
			stroke: #FFF;
		}
		.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after,
		.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
			content: none;
		}
}
.ui-float-bottom {
	background-color: rgba(236, 239, 241, .5);
	padding: 10px 0;
}
	[class*="result__float-button--"] {
		display: flex;
		align-items: center;
		gap: 5px;
		height: 50px;
		box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.30);
		border-radius: 5px;
		font-size: var(--size-S);
		font-weight: 700;
		color: var(--color-primary-grayscale-white);
		cursor: pointer;
		transition: .4s;
		position: relative;
	}
	[class*="result__float-button--"]:hover {
		box-shadow: unset;
	}
	.result__float-button--contact {
		width: 280px;
		background: var(--color-primary-default-main);
		border: 1px solid var(--color-primary-default-main);
		padding-left: 39px;
	}
		.result__float-button--contact .icon-contact {
			width: 22px;
			height: 18px;
			fill: none;
			stroke: var(--color-primary-grayscale-white);
		}
		[class*="result__float-button--"] .more__arrow {
			display: block;
			width: 22px;
			height: 22px;
			background: var(--color-primary-grayscale-white);
			border-radius: 50%;
			position: absolute;
			top: 50%;
			right: 15px;
			transform: translateY(-50%);
		}
			[class*="result__float-button--"] .more__arrow svg {
				width: 5px;
				height: 8px;
				fill: none;
				stroke: var(--color-primary-default-main);
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
			}
	.result__float-button--contact:hover {
		background: var(--color-primary-grayscale-white);
		color: var(--color-primary-default-main);
	}
	.result__float-button--contact:hover .more__arrow {
		background: var(--color-primary-default-main);
	}
	.result__float-button--contact:hover .icon-contact {
		stroke: var(--color-primary-default-main);
	}
	.result__float-button--contact:hover .more__arrow svg {
		stroke: var(--color-primary-grayscale-white);
	}
	.bkn__photo-popup {
		width: 1140px;
		padding: 40px;
		background: #FFF;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
		.photo__modal-close {
			width: 50px;
			height: 50px;
			position: absolute;
			top: 20px;
			right: 20px;
			cursor: pointer;
		}
		.photo__modal-inner {
			width: 690px;
			margin: 0 auto 30px;
		}
			.room__photo-main {
				margin-bottom: 10px;
				position: relative;
			}
				.room__photo-wrap {
					overflow: hidden;
				}
				.room__photo-item {
					width: 690px;
					height: 460px;
					background: #F4F4F4;
				}
					.room__photo-item img {
						width: 100%;
						height: 100%;
						object-fit: contain;
					}
			.room__photo-thumb {
				overflow: hidden;
			}
				.room__thumb-item {
					width: 120px;
					height: 90px;
					border: 1px solid #EBEBEB;
					cursor: pointer;
				}
				.room__thumb-item.swiper-slide-thumb-active {
					border: 2px solid #FF5800;
				}
					.room__thumb-item img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
		.modal__more {
			margin-top: 30px;
		}
			.modal__more a {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 280px;
				height: 50px;
				margin: 0 auto;
				background: #1C1C1C;
				box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.30);
				border-radius: 5px;
				font-size: 16px;
				font-weight: 700;
				line-height: 1.5;
				color: #FFF;
				font-family: "Noto Sans JP";
				position: relative;
			}
				.modal__more a span {
					width: 22px;
					height: 22px;
					background: #FFF;
					border-radius: 50%;
					position: absolute;
					top: 50%;
					right: 10px;
					transform: translateY(-50%);
				}
				.modal__more a span svg {
					width: 5px;
					height: 8px;
					fill: none;
					stroke: #1C1C1C;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%) rotate(180deg);
				}

@media (max-width: 1270px) {
	.bkn__photo-popup {
		width: 1080px;
	}
		.photo__modal-inner {
			width: 620px;
		}
		.room__photo-item {
			height: 390px;
		}
}

/*------------- 0件表示（empty-contact。検索0件は pc/org-result.css） --------------*/
.history-main .empty__headline {
	font-size: var(--size-XL);
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	margin-top: 60px;
	margin-bottom: 30px;
}
.history-main .empty__search-message {
	font-size: var(--size-M);
	font-weight: 700;
	line-height: 1.55;
	text-align: center;
	margin-bottom: 20px;
}
.history-main .empty__search-message span {
	display: block;
    font-size: var(--size-S);
    font-weight: 400;
}
	.history-main .empty__search-message::before {
		content: '';
		background: url(/images/result/img_error-mascot.webp) no-repeat center / cover;
		display: block;
		width: 172px;
		height: 220px;
		margin: 0 auto 30px;
		aspect-ratio: 43/55;
	}

.history-main .result__empty-contact {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 0;
}
	.history-main .result__empty-button a {
		padding-right: 7px;
	}
	.history-main .more__button--request a {
		background: var(--color-primary-default-main);
		border: 1px solid var(--color-primary-default-main);
	}
		.history-main .more__button--request a .more__arrow {
			background: var(--color-primary-grayscale-white);
		}
			.history-main .more__button--request a .more__arrow svg {
				stroke: var(--color-primary-default-main);
			}
	.history-main .more__button--request a:hover {
		background: var(--color-primary-grayscale-white);
		color: var(--color-primary-default-main);
	}
		.history-main .more__button--request a:hover .more__arrow {
			background: var(--color-primary-default-main);
		}
			.history-main .more__button--request a:hover .more__arrow svg {
				stroke: var(--color-primary-grayscale-white);
			}