@charset "utf-8";

.page-header__heading.report span {
	font-size: 2.8rem;
}

@media (max-width: 767px) {
	.page-header__heading.report {
		line-height: 1.6;
	}
	.page-header__heading.report span {
		font-size: 1.4rem;
	}
}

.crew__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.form-thanks {
	align-items: center;
	justify-content: center;
}


/* 店舗一覧テーブル：枠内に余白を追加 */
.l-wrapper #contents-area .table-shop tbody td {
	padding: 20px;
}

/* 店舗名列（最初の列）の左側余白を追加 */
.l-wrapper #contents-area .table-shop tbody td:first-child {
	padding-left: 30px;
}


/* 店舗一覧（SPのみ）：trで間隔を持たせ、tdの下余白はなくす */
@media screen and (max-width: 767px) {
	.l-wrapper #contents-area .table-shop tbody tr:last-child {
		margin-bottom: 0;
	}

	.l-wrapper #contents-area .table-shop tbody td {
		margin-bottom: 0;
		padding: 20px 20px 0;
	}

	.l-wrapper #contents-area .table-shop tbody td:first-child {
		padding-left: 20px;
	}

	.l-wrapper #contents-area .table-shop tbody td:last-child {
		padding-bottom: 0;
	}

	.l-wrapper #contents-area .table-shop tbody td:last-child .table-shop__button-wrapper {
		margin-bottom: 20px;
	}

	.l-wrapper #contents-area .table-shop tbody td:last-child .table-shop__button-wrapper .button.is-small {
		flex: 1 1 calc((100% - 10px) / 2);
		min-width: 0;
	}

	.l-wrapper #contents-area .table-shop tbody td:last-child .table-shop__button-wrapper .button.is-small .button__link,
	.l-wrapper #contents-area .table-shop tbody td:last-child .table-shop__button-wrapper .button.is-small.is-phone .button__link {
		width: 100%;
		min-width: 0;
		padding: 7px 8px;
		font-size: 1.3rem;
	}

	@media (max-width: 359px) {
		.l-wrapper #contents-area .table-shop tbody td:last-child .table-shop__button-wrapper {
			flex-direction: column;
			gap: 10px 0;
		}
	}
}

.l-wrapper #contents-area .table-shop td .is-font-bold {
	font-size: 1.8rem;
}

@media screen and (min-width: 769px){
	.side-nav__item {
		font-size: min(3.5897435897vw, 1.2rem);
	}
}

/* 店舗一覧ページ：エリアページへのリンク 余白調整 */
/* 店舗一覧ページのみに適用: body に .area-list-shop が存在する場合（全国・都道府県別共通） */
body:has(.area-list-shop) {
	/* エリアページへのリンク 余白調整 */
	.bgb-wysiwyg .l-section.is-pd-bottom-0 {
		padding: 0 0 25px;

		@media screen and (min-width: 768px) {
			padding: 0 0 50px;
		}
	}

	/* 都道府県別ページ：店舗一覧テーブルがある場合、その直前の人気のサービスに上余白を追加 */
	.bgb-wysiwyg:has(+ .bgb-wysiwyg .support-area-table) .l-section.is-pd-bottom-0 {
		padding-top: 50px;

		@media screen and (min-width: 768px) {
			padding-top: 100px;
		}
	}

	/* 他のサービス：下余白を調整 */
	.bgb-wysiwyg .l-section.is-pd-0 {
		padding: 0 0 50px;

		@media screen and (min-width: 768px) {
			padding: 0 0 100px;
		}
	}

	/* 見出しとボタンの間の余白調整 */
	.bgb-wysiwyg .l-section .heading-2 + .button-wrapper.is-grid-3-center,
	.bgb-wysiwyg .l-section .heading-2 + .button-wrapper.is-grid-3 {
		margin-top: 20px;

		@media screen and (min-width: 768px) {
			margin-top: 30px;
		}
	}

	/* 見出しのmargin-bottomを削除 */
	.bgb-wysiwyg .l-section.popular-services .heading-2,
	.bgb-wysiwyg .l-section.is-pd-bottom-0 .heading-2,
	.bgb-wysiwyg .l-section.is-pd-0 .heading-2 {
		margin-bottom: 0;
	}

	/* 店舗一覧の後のセクション（都道府県一覧など）の上余白を削除 */
	.l-section.support-area-table ~ .bgb-wysiwyg .l-section {
		margin-top: -50px;

		@media screen and (min-width: 768px) {
			margin-top: -100px;
		}
	}

	/* 全体に適用（.bgb-wysiwyg外の要素にも対応） */
	.l-section .heading-2 + .button-wrapper.is-grid-3-center,
	.l-section .heading-2 + .button-wrapper.is-grid-3 {
		margin-top: 20px;

		@media screen and (min-width: 768px) {
			margin-top: 30px;
		}
	}

	.l-section.popular-services .heading-2,
	.l-section.is-pd-bottom-0 .heading-2,
	.l-section.is-pd-0 .heading-2 {
		margin-bottom: 0;
	}
}


.l-header__service-link {
	display: block;
}
.l-header__service-link img {
	display: block;
	width: 96px;
	height: auto;
}

.l-header.is-header-franchise {
	padding-top: 10px;
	padding-bottom: 10px;
}
.is-header-franchise .l-header__logo a {
	flex-direction: column;
	align-items: stretch;
	gap: 2px 0;
}
.is-header-franchise .l-header__logo img {
	display: block;
}
.is-header-franchise .l-header__logo-name {
	line-height: 1;
	text-align: justify;
	text-align-last: justify;
}

@media (max-width: 767px) {
	.is-header-franchise .l-header__inner {
		justify-content: space-between;
	}
	.is-header-franchise .l-header__logo img {
		width: 130px;
	}
	.is-header-franchise .l-header__logo-name {
		padding-left: 29px;
		font-size: 0.8rem;
	}
}
@media screen and (min-width: 768px) {
	.l-header__service-link {
		margin-right: 74px;
	}
	.l-header__service-link img {
		width: 150px;
	}
	.l-header.is-header-franchise {
		padding-top: 14px;
		padding-bottom: 14px;
	}
	.is-header-franchise .l-header__logo img {
		width: 250px;
	}
	.is-header-franchise .l-header__logo-name {
		padding-left: 55px;
		font-size: 1.1rem;
	}
}

.l-footer__logo-name {
	margin-top: 5px;
	text-align: center;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: var(--color-text);
}
@media screen and (min-width: 768px) {
	.l-footer__logo-name {
		font-size: 1.2rem;
	}
}

.owner-recruit picture {
	display: block;
}
.owner-recruit img {
	display: block;
	width: 100%;
	height: auto;
}

.owner-recruit--header {
	position: absolute;
	top: 7px;
	right: 10px;
	z-index: 79;
	width: 48px;
}
@media screen and (min-width: 768px) {
	.owner-recruit--header {
		position: fixed;
		top: 105px;
		right: 20px;
		width: 100px;
	}
}

.owner-recruit--footer {
	margin-bottom: 24px;
	padding: 0 20px;
}
.owner-recruit--footer a {
	display: block;
	max-width: 960px;
	margin: 0 auto;
}
.owner-recruit--footer img {
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (min-width: 768px) {
	.owner-recruit--footer {
		margin-bottom: 30px;
	}
}
