@charset "utf-8";
/* =========================================
   rental common
========================================= */
:root {
	--rental-bg-guide: #f8f8f8;
	--rental-bg-page: #faffff;
	--rental-bg-white: #fff;
	--rental-bg-light: #f7f7f7;
	--rental-bg-card: #f2f2f2;
	--rental-bg-table-head: #EAF5FF;
	--rental-bg-table-head-even: #D0EBFF;
	--rental-bg-table-cell: #FFF;
	--rental-bg-table-cell-even: #F5F5F5;
	--rental-bg-pdf: #d4dee4;
	--rental-border: #d9d9d9;
	--rental-border-light: #cfd4d8;
	--rental-border-table: #d7dde1;
	--rental-border-strong: #bfc6cb;
	--rental-text: #1e2a4a;
	--rental-text-sub: #666;
	--rental-text-placeholder: #888;
	--rental-blue: #0070c9;
	--rental-blue-dark: #2f379c;
	--rental-tab: #a7addb;
	--rental-tab-hover: #8f97cf;
	--rental-tab-active: #313ba4;
	--rental-font: "Noto Sans JP", sans-serif;
	--rental-radius-pill: 999px;
	--rental-radius-tab: 10px 10px 0 0;
	--rental-transition: 0.3s ease;
	--rental-inner: 1120px;
	--rental-layout: 1200px;
}

/* 共通 */
.rental-guide,
.rental-category-page,
.rental-detail,
.rental-detail-bottom {
	font-family: var(--rental-font);
	color: var(--rental-text);
}

.rental__inner,
.rental-guide__inner,
.rental-detail__inner,
.rental-detail-bottom__inner {
	max-width: var(--rental-inner);
	margin: 0 auto;
}

.rental-main,
.rental-detail {
	min-width: 0;
}

.rental-main__title,
.rental-products__title,
.rental-product-card__title,
.rental-detail__title,
.rental-detail__section-title,
.rental-detail-block__title,
.rental-guide__title,
.rental-merit__title,
.rental-flow__title,
.rental-sidebar__top,
.rental-sidebar__heading {
	font-family: var(--rental-font);
}

.rental-detail__section-title,
.rental-detail-block__title {
	position: relative;
	margin: 0 0 28px;
	padding: 0 0 10px 18px;
	border-bottom: 2px solid var(--rental-border-light);
	color: var(--rental-text);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
}

.rental-detail__section-title::before,
.rental-detail-block__title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 8px;
	height: 40px;
	background: var(--rental-blue);
}

/* =========================================
   rental guide
========================================= */
.rental-guide {
	padding: 40px 20px;
	background: var(--rental-bg-guide);
}

.rental-guide__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	margin-bottom: 24px;
}

.rental-guide__title,
.rental-merit__title,
.rental-flow__title {
	margin: 0;
	font-size: 34px;
	font-weight: 600;
	line-height: 1.4;
	color: #111;
}

.rental-guide__search {
	width: 100%;
	max-width: 470px;
}

.rental-guide__search-input {
	box-sizing: border-box;
	width: 100%;
	height: 56px;
	padding: 0 24px;
	border: 0;
	border-radius: var(--rental-radius-pill);
	background: var(--rental-bg-white);
	font-size: 16px;
	color: #333;
	outline: none;
}

.rental-guide__search-input::placeholder {
	color: #9a9a9a;
}

.rental-guide__empty {
	margin: 24px 0 0;
	text-align: center;
	font-size: 16px;
	color: var(--rental-text-sub);
}

/* tabs */
.rental-tabs__nav {
	display: flex;
	gap: 4px;
}

.rental-tabs__button {
	flex: 1;
	height: 60px;
	border: 0;
	border-radius: var(--rental-radius-tab);
	background: var(--rental-tab);
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	cursor: pointer;
	transition: background var(--rental-transition);
}

.rental-tabs__button:hover {
	background: var(--rental-tab-hover);
}

.rental-tabs__button.is-active {
	background: var(--rental-tab-active);
}

.rental-tabs__content {
	padding: 50px 30px 40px;
	border-top: 4px solid var(--rental-tab-active);
	background: var(--rental-bg-white);
}

.rental-tabs__panel {
	display: none;
}

.rental-tabs__panel.is-active {
	display: block;
}

.rental-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 24px;
}

.rental-card {
	display: block;
	color: #111;
	text-align: center;
	text-decoration: none;
}

.rental-card.is-hidden {
	display: none;
}

.rental-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 130px;
	margin-bottom: 14px;
	background: var(--rental-bg-white);
}

.rental-card__image img {
	width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.rental-card__image.is-placeholder {
	background: #ddd;
}

.rental-card__name {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
}

/* =========================================
   rental category page / sidebar / list
========================================= */

.rental-category-page__inner,
.rental-layout {
	max-width: var(--rental-layout);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 56px;
	align-items: start;
	padding: 40px 20px 80px;
}

.rental-sidebar {
	position: relative;
}

.rental-sidebar__box {
	width: 100%;
	position: sticky;
	top: 30px;
}

.rental-sidebar__top {
	display: block;
	margin-bottom: 18px;
	padding: 18px 20px;
	background: var(--rental-blue-dark);
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}

.rental-sidebar__group {
	border-bottom: 1px solid var(--rental-border-light);
}

.rental-sidebar__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 16px 12px;
	border: 0;
	background: transparent;
	color: var(--rental-text);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.5;
	text-align: left;
	cursor: pointer;
}

.rental-sidebar__icon {
	position: relative;
	display: inline-block;
	flex-shrink: 0;
	width: 12px;
	height: 12px;
}

.rental-sidebar__icon::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 1px;
	width: 0;
	height: 0;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	border-top: 7px solid var(--rental-blue-dark);
	transition: transform var(--rental-transition);
}

.rental-sidebar__group.is-open .rental-sidebar__icon::before {
	transform: rotate(180deg);
}

.rental-sidebar__sublist {
	display: none;
	margin: 0;
	padding: 0 0 10px;
	list-style: none;
}

.rental-sidebar__group.is-open .rental-sidebar__sublist {
	display: block;
}

.rental-sidebar__sublist li + li {
	margin-top: 4px;
}

.rental-sidebar__sublink {
	font-family: var(--rental-font);
	position: relative;
	display: block;
	padding: 6px 12px 6px 30px;
	color: var(--rental-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	text-decoration: none;
}

.rental-sidebar__sublink::before {
	content: "▶";
	position: absolute;
	top: 11px;
	left: 12px;
	font-size: 10px;
	color: var(--rental-blue-dark);
}

.rental-sidebar__sublink:hover,
.rental-sidebar__sublink.is-current {
	color: #005eb8;
}

/* category main */
.rental-main__lead {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 40px;
	align-items: center;
}

.rental-main__lead-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	aspect-ratio: 1 / 1;
	border: 2px solid var(--rental-border);
	color: var(--rental-text-placeholder);
	font-size: 22px;
	font-weight: 700;
}

.rental-main__lead-image img {
	width: 85%;
	height: 200px;
	object-fit: contain;
}

.rental-main__lead-image-usage img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rental-main__title {
	margin: 8px 0 18px;
	color: var(--rental-blue);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
}

.rental-main__text {
	margin: 0;
	color: var(--rental-text);
	font-size: 18px;
	line-height: 1.9;
	font-weight: 500;
}

.rental-main__divider {
	margin: 36px 0 34px;
	border-top: 2px solid #d3d6d8;
}

.rental-products__title {
	margin: 0 0 24px;
	color: var(--rental-text);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
}

.rental-product-card + .rental-product-card {
	margin-top: 18px;
}

.rental-product-card__link {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 40px;
	align-items: center;
	padding: 18px 22px;
	/* background: var(--rental-bg-card); */
	color: inherit;
	text-decoration: none;
	border: 1px solid #d3d6d8;
	transition:
		background var(--rental-transition),
		transform var(--rental-transition);
}

.rental-product-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	aspect-ratio: 1 / 1;
	color: var(--rental-text-placeholder);
	font-size: 20px;
	font-weight: 700;
}

.rental-product-card__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: all 0.5s;
}

.rental-product-card__link:hover .rental-product-card__image img {
	scale: 1.05;
	transition: all 0.5s;
}

.rental-product-card__title {
	margin: 0 0 12px;
	color: var(--rental-text);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.5;
}

.rental-product-card__title span {
	position: relative;
}

.rental-product-card__title span::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 1px;
	background: currentColor;

	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

/* hover時 */
.rental-product-card__link:hover .rental-product-card__title span::after {
	transform: scaleX(1);
}

.rental-product-card__text {
	margin: 0;
	color: var(--rental-text);
	font-size: 16px;
	line-height: 1.9;
	font-weight: 500;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

/* =========================================
   rental detail
========================================= */
.rental-detail {
	padding: 60px 20px 80px;
}

.rental-layout .rental-detail {
	padding: 0;
}

.rental-layout .rental-detail__inner {
	max-width: none;
	width: 100%;
	margin: 0;
}

.rental-detail__head {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 50px;
	align-items: start;
}

.rental-detail__gallery {
	min-width: 0;
}

.rental-detail__main-slider {
	margin-bottom: 16px;
}

.rental-detail__main-slide,
.rental-related__image {
	overflow: hidden;
	padding: 10px;
	border: 1px solid var(--rental-border);
	/* background: var(--rental-bg-light); */
}

.rental-detail__main-slide {
	aspect-ratio: 1 / 1;
}

.rental-detail__main-slide img,
.rental-related__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.rental-detail__thumb-slider {
	margin: 0 -4px;
}

.rental-detail__thumb-slide {
	padding: 0 4px;
	cursor: pointer;
}

.rental-detail__thumb-slide > div,
.rental-detail__thumb-slide img {
	width: 100%;
}

.rental-detail__thumb-slide img {
	display: block;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--rental-border);
	background: var(--rental-bg-light);
	object-fit: contain;
}

.rental-detail__thumb-slide.slick-current img {
	border-color: var(--rental-blue);
}

.rental-detail__info {
	padding-top: 10px;
}

.rental-detail__title {
	margin: 0 0 28px;
	color: var(--rental-blue);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
}

.rental-detail__lead,
.rental-detail__section-body {
	color: var(--rental-text);
	font-size: 18px;
	font-weight: 500;
}

.rental-detail__lead {
	line-height: 2;
	font-weight: 600;
}

.rental-detail__section {
	margin-top: 72px;
}

.rental-detail__section-body {
	line-height: 2.1;
}

.rental-detail__section-body p {
	margin: 0;
}

/* slick reset */
.rental-detail__main-slider .slick-list,
.rental-detail__thumb-slider .slick-list {
	overflow: hidden;
}

.rental-detail__main-slider .slick-track,
.rental-detail__thumb-slider .slick-track {
	display: flex;
}

.rental-detail__main-slider .slick-slide,
.rental-detail__thumb-slider .slick-slide {
	height: auto;
}

.rental-detail__main-slider .slick-slide > div,
.rental-detail__thumb-slider .slick-slide > div {
	height: 100%;
}

/* =========================================
   rental detail bottom
========================================= */
.rental-detail-bottom {
	padding: 40px 20px 80px;
}

.rental-detail-block + .rental-detail-block {
	margin-top: 72px;
}

/* spec table */
.has-fixed-layout {
	width: 100%;
	table-layout: fixed;
	border: 1px solid var(--rental-border-strong);
	border-collapse: collapse;
}

.has-fixed-layout td,
.has-fixed-layout th {
	padding: 10px 16px;
	border: 1px solid var(--rental-border-table);
	color: var(--rental-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	text-align: left;
	vertical-align: middle;
	border: none;
}

/* 通常テーブルブロックは td しか出ないので、左列を th 扱いの見た目にする */
.has-fixed-layout tr > :first-child {
	width: 225px;
	background: var(--rental-bg-table-head);
}

/* 右列 */
.has-fixed-layout tr > :last-child {
	background: var(--rental-bg-table-cell);
}

/* 偶数行 */
.has-fixed-layout tr:nth-child(even) > :first-child {
	background: var(--rental-bg-table-head-even);
}

.has-fixed-layout tr:nth-child(even) > :last-child {
	background: var(--rental-bg-table-cell-even);
}

/* catalog */
.rental-catalog {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.rental-catalog__pdf {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	background: var(--rental-bg-pdf);
	color: var(--rental-text);
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	transition:
		opacity var(--rental-transition),
		transform var(--rental-transition);
}

.rental-catalog__pdf:hover {
	opacity: 0.8;
	transform: translateY(-2px);
}

/* related */
.rental-related {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px 24px;
	max-width: 760px;
}

.rental-related__card {
	display: block;
	color: inherit;
	text-decoration: none;
}

.rental-related__image {
	margin-bottom: 14px;
	aspect-ratio: 1 / 1;
}

.rental-related__name {
	margin: 0;
	color: var(--rental-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.8;
}

.rental-overview-block {
    display: flex;
    gap: 40px;
    align-items: flex-start;
	margin-bottom: 50px;
}

/* レンタル詳細 */

/* 画像 */
.rental-overview-block__image {
    width: 40%;
}

.rental-overview-block__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* テキスト側 */
.rental-overview-block__content {
    width: 60%;
}

/* 画像なし */
.rental-overview-block.no-image .rental-overview-block__content {
    width: 100%;
}

/* 見出し */
.rental-overview-block__title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
}

/* 本文 */
.rental-overview-block__text {
    font-size: 16px;
    line-height: 1.8;
}

#tab-panel-2 img {
	object-fit: cover;
}

.rental-merit {
	padding: 80px 0;
	/* background: linear-gradient(285deg, #e6e6e6 60%, #f2f2f2 60%); */
}

.rental-merit__title,
.rental-flow__title {
	position: relative;
	margin-bottom: 30px;
}

.rental-merit__title::before {
	position: absolute;
    content: "MERIT";
    top: -50px;
    left: -50px;
    margin: auto;
	font-size: 70px;
	color: #313ba4;
	font-weight: 800;
	opacity: 0.1;
	font-style: italic;
	z-index: 0;
}

.rental-flow__title::before {
	position: absolute;
    content: "FLOW";
    top: -50px;
    left: -50px;
    margin: auto;
	font-size: 70px;
	color: #313ba4;
	font-weight: 800;
	opacity: 0.1;
	font-style: italic;
	z-index: 0;
}

.rental-merit-lists {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 40px 0;
	padding-left: 0;
}

.rental-merit-lists li {
	list-style: none;
	width: 30%;
	text-align: center;
}

.rental-merit-lists li img {
	width: 70%;
	margin: auto;
}

.rental-merit-lists li p {
	font-weight: bold;
}


.rental-merit-detail-lists {
	list-style: none;
}

.rental-merit-detail-lists li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 50px 0;
}

.rental-merit-detail-img {
	width: 40%;
}

.rental-merit-detail-img img {
	width: 100%;
}

.rental-merit-detail-txt {
	width: 60%;
	background-color: #FFF;
	padding-left: 5%;
}

.rental-merit-detail-lists li:nth-of-type(2) .rental-merit-detail-txt {
	padding-left: 0;
	padding-right: 5%;
}

.rental-merit-detail-txt-head {
	display: flex;
	align-items: center;
	gap: 5%;
}

.rental-merit-detail-txt-head img {
	width: 120px;
}

.rentalflow .timeline-section {
	max-width: initial;
	margin-left: 0;
	padding: 20px 0 0 0;
}

.rentalflow .timeline-step:last-child {
	margin-bottom: 0;
}

.rental-date {
	display: flex;
	align-items: center;
	gap: 10px;
}

.rental-date span {
	max-width: 140px;
	margin-top: 0;
}

.rental_chackbox input {
	width: initial;
	display: inline-block;
}

.rental_chackbox .wpcf7-list-item-label {
	line-height: 2;
}

.rental_chackbox .wpcf7-list-item {
	margin-left: 0;
}

.rental_chackbox label {
	font-family: var(--rental-font);
	margin-right: 30px;
}

/* =========================================
   responsive
========================================= */
@media screen and (max-width: 1024px) {
	.rental-guide__title {
		font-size: 32px;
	}

	.rental-tabs__button {
		height: 62px;
		font-size: 22px;
	}

	.rental-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.rental-card__name {
		font-size: 18px;
	}

	.rental-category-page__inner,
	.rental-layout {
		grid-template-columns: 220px 1fr;
		gap: 32px;
	}

	.rental-sidebar__top,
	.rental-sidebar__heading {
		font-size: 18px;
	}

	.rental-main__title {
		font-size: 34px;
	}

	.rental-products__title,
	.rental-detail__section-title,
	.rental-detail-block__title {
		font-size: 28px;
	}

	.rental-product-card__title {
		font-size: 22px;
	}

	.rental-detail__head {
		grid-template-columns: 240px 1fr;
		gap: 32px;
	}

	.rental-detail__title {
		font-size: 36px;
	}
}

@media screen and (max-width: 767px) {
	.rental-guide,
	.rental-category-page,
	.rental-detail,
	.rental-detail-bottom {
		padding-right: 16px;
		padding-left: 16px;
	}

	.rental-guide {
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.rental-category-page,
	.rental-detail {
		padding-top: 32px;
		padding-bottom: 56px;
	}

	.rental-detail-bottom {
		padding-top: 24px;
		padding-bottom: 56px;
	}

	.rental-guide__head {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}

	.rental-guide__title {
		font-size: 28px;
	}

	/* .rental-tabs__nav {
		flex-direction: column;
	} */

	.rental-tabs__button {
		height: 54px;
		font-size: 18px;
	}

	.rental-tabs__content {
		padding: 24px 16px 20px;
	}

	.rental-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 16px;
	}

	.rental-card__image {
		height: 90px;
	}

	.rental-card__name {
		font-size: 15px;
	}

	.rental-category-page__inner,
	.rental-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.rental-layout {
		padding-top: 24px;
		padding-bottom: 56px;
		gap: 32px;
	}

	.rental-sidebar {
		order: 2;
	}

	.rental-main {
		order: 1;
	}

	.rental-sidebar__box {
		position: static;
	}

	.rental-main__lead,
	.rental-detail__head {
		grid-template-columns: 1fr;
	}

	.rental-main__lead {
		gap: 18px;
		grid-template-columns: 100px 1fr;
		align-items: initial;
	}

	.rental-detail__head {
		gap: 28px;
	}

	.rental-main__lead-image {
		max-width: 100px;
	}

	.rental-main__lead-image img {
		height: 100px;
	}

	.rental-main__title,
	.rental-detail__title {
		font-size: 22px;
	}

	.rental-main__title {
		margin-top: 0;
	}

	.rental-main__text,
	.rental-detail__lead,
	.rental-detail__section-body {
		font-size: 15px;
		line-height: 1.5;
	}

	.rental-products__title,
	.rental-detail__section-title,
	.rental-detail-block__title {
		font-size: 22px;
	}

	.rental-detail__section,
	.rental-detail-block + .rental-detail-block {
		margin-top: 48px;
	}

	.rental-detail__section-title,
	.rental-detail-block__title {
		padding-left: 14px;
	}

	.rental-detail__section-title::before,
	.rental-detail-block__title::before {
		top: 7px;
		width: 6px;
		height: 28px;
	}

	.rental-detail__gallery {
		width: 100%;
	}

	.rental-detail__title {
		margin-bottom: 18px;
		line-height: 1.5;
	}

	.rental-product-card__link {
		grid-template-columns: 100px 1fr;
		gap: 16px;
		padding: 16px;
	}

	.rental-product-card__image {
		max-width: 160px;
	}

	.rental-product-card__title {
		margin-bottom: 8px;
		font-size: 18px;
	}

	.rental-product-card__text,
	.rental-related__name {
		font-size: 14px;
		line-height: 1.7;
	}

	.rental-spec__table,
	.rental-spec__table tbody,
	.rental-spec__table tr,
	.rental-spec__table th,
	.rental-spec__table td {
		display: block;
		width: 100%;
	}

	.rental-spec__table tr {
		border-bottom: 1px solid var(--rental-border-table);
	}

	.rental-spec__table th {
		width: 100%;
		padding: 10px 12px 6px;
		border-bottom: 0;
	}

	.rental-spec__table td {
		padding: 6px 12px 12px;
		border-top: 0;
	}

	.rental-catalog__pdf {
		width: 56px;
		height: 56px;
		font-size: 16px;
	}

	.rental-related {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 16px;
		max-width: none;
	}

	.rental-merit {
		padding-right: 16px;
        padding-left: 16px;
	}
	
	.rental-merit__title::before {
		left: 0;
	}
	
	.rental-merit-lists {
		justify-content: center;
		gap: 30px 6%;
	}

	.rental-merit-lists li {
		width: 47%;
	}

	.rental-overview-block {
		flex-wrap: wrap;
	}

	.rental-overview-block__image,
	.rental-overview-block__content {
		width: 100%;
	}

	.has-fixed-layout tr > :first-child {
		width: 130px;
	}
}