@charset "utf-8";

html {
	scroll-behavior: smooth;
}

body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

#contents {
    background: #FAFAFA;
	width: 100%;
	padding: 0;
}
.org-path {
	overflow: hidden;
}

.org-main * {
	color: #1C1C1C;
	font-family: "Noto Sans JP";
}
.org-main * a:hover {
	opacity: 1;
}
.org-main {
	overflow: hidden;
	background: #FFF;
}

[class*="__section"] {
	padding-block: 100px;
}
[class*="__section"].bg-gray {
	background: #F4F4F4;
}
.section__inner {
	width: 1140px;
	margin: 0 auto;
}
[class*="section__headline"] {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 14px;
	font-size: var(--size-XXL);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 1.68px;
	color: #1C1C1C;
	margin-top: 0;
	margin-bottom: 40px;
}
.section__headline--white {
	color: var(--color-primary-grayscale-white);
}
.section__headline-en {
	font-size: var(--size-L);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-family: var(--font-family-EN, "Lato", sans-serif);
	background: linear-gradient(134deg, #FF5800 13.84%, #FF9D00 85.38%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	margin: 0;
}

/*---------------- メイン画像 ----------------*/

.mainview__section {
	position: relative;
	container-type: inline-size;
	width: 100%;
	height: auto;
	padding: 0;
	overflow: hidden;
	z-index: 1;
}
	.mainview__image {
		display: block;
		width: 100%;
		height: auto;
		margin: 0;
	}
		.mainview__image img {
			display: block;
			width: 100%;
			height: auto;
		}
	.mainview__canvas {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.mainview__button-list {
		position: relative;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}
		[class*="mainview__button-item--"] {
			position: absolute;
			top: calc(100% * 450 / 570);
			width: calc(100% * 320 / 1920);
			height: calc(100% * 70 / 570);
		}
		.mainview__button-item--contact {
			left: calc(100% * 390 / 1920);
		}
		.mainview__button-item--search {
			left: calc(100% * 730 / 1920);
		}
		[class*="mainview__button-item--"] a {
			width: 100%;
			height: 100%;
			margin: 0;
			font-size: calc(20 / 1920 * 100cqw);
			border-radius: calc(5 / 1920 * 100cqw);
		}
			[class*="mainview__button-item--"] a .more__arrow {
				width: calc(22 / 1920 * 100cqw);
				height: calc(22 / 1920 * 100cqw);
				right: calc(14 / 1920 * 100cqw);
			}
				[class*="mainview__button-item--"] a .more__arrow svg {
					width: calc(5 / 1920 * 100cqw);
					height: calc(8 / 1920 * 100cqw);
				}
		.mainview__button-item--contact a {
			padding-right: calc(16 / 1920 * 100cqw);
		}
		.more__button--orange-border a {
			border: 2px solid var(--color-primary-default-main);
			background: var(--color-primary-grayscale-white);
			color: var(--color-primary-default-main);
		}
		.mainview__button-item--search a {
			border-width: calc(2 / 1920 * 100cqw);
		}
			.more__button--orange-border a .more__arrow {
				background: var(--color-primary-default-main);
			}
				.more__button--orange-border a .more__arrow svg {
					stroke: var(--color-primary-grayscale-white);
				}
		.more__button--orange-border a:hover {
			background: var(--color-primary-default-main);
			color: var(--color-primary-grayscale-white);	
		}
			.more__button--orange-border:hover a .more__arrow {
				background: var(--color-primary-grayscale-white);
			}
				.more__button--orange-border:hover a .more__arrow svg {
					stroke: var(--color-primary-default-main);
				}
				.mainview__button-item--search a .more__arrow svg {
					transform: rotate(90deg);
				}

#link-search {
	padding-top: 100px;
	margin-top: -100px;
}


/*---------------- サービス特長バナー ----------------*/

.scroll__banner {
	height: 50px;
	background: var(--color-primary-default-sub, #FF9D00);
	overflow: hidden;
}
	.scroll__banner-track {
		display: flex;
		width: max-content;
		animation: scroll-banner 40s linear infinite;
	}
		.scroll__banner-track img {
			display: block;
			height: 50px;
			width: auto;
			flex-shrink: 0;
		}

@keyframes scroll-banner {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

/*---------------- 法人様会員登録 ----------------*/

.registration__banner a {
	display: block;
	border-radius: 10px;
	box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
	overflow: hidden;
}
.registration__banner a:hover {
	box-shadow: unset;
}
	.registration__banner img {
		display: block;
		width: 100%;
		height: auto;
	}

/*---------------- こんなお悩みありませんか？ ----------------*/

.worries__section {
	background: var(--color-primary-grayscale-light-gray);
}
.worries__section .section__headline {
	position: relative;
}
	.worries__section .section__headline::before {
		content: '';
		background: url(/images/corporation/illust_worries.webp) no-repeat center / cover;
		display: block;
		width: 97px;
		height: 134px;
		position: absolute;
		top: -28px;
		left: 169px;
		pointer-events: none;
	}
.worries__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	position: relative;
}
.worries__list::before {
	content: '';
	background: var(--color-primary-grayscale-border-light);
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
	.worries__detail {
		width: 100%;
		height: 117px;
		padding: 0 15px;
		position: relative;
	}
	.worries__detail:nth-child(-n+3) {
		padding-top: 15px;
	}
	.worries__detail:nth-child(n+4) {
		padding-top: 30px;
	}
		.worries__detail:not(:nth-child(3n))::after {
			content: '';
			background: var(--color-primary-grayscale-border-light);
			display: block;
			width: 1px;
			height: 102px;
			position: absolute;
			top: 0;
			right: -1px;
		}
		.worries__title {
			display: flex;
			align-items: center;
			gap: 5px;
			font-size: var(--size-M);
			font-weight: 700;
			line-height: 1.25;
			margin-bottom: 5px;
		}
			.worries__title span {
				display: contents;
				font-size: var(--size-M);
				font-weight: 700;
				line-height: 1.25;
				color: var(--color-primary-default-main);
			}
			.worries__title::before {
				content: '';
				background: url(/images/corporation/icon_worries.svg) no-repeat center / cover;
				display: block;
				width: 20px;
				height: 21px;
			}
		.worries__text {
			font-size: var(--size-XS);
			font-weight: 400;
		}


/*---------------- BraTToの強み ----------------*/

.strengths__section {
	padding-block: 100px;
	background: url(/images/corporation/bg_strengths.webp) no-repeat center / cover;
	position: relative;
	z-index: 1;
}
.strengths__list {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 15px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
}
	.strengths__card {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		width: 370px;
		min-height: 377px; /* 01の188px実寸 + テキスト/余白分 */
		margin: 0;
		padding: 40px 29px 0;
		border: 1px solid var(--color-primary-grayscale-border-light, #EBEBEB);
		border-radius: 10px;
		background: #FFF;
	}
		.org-main .strengths__title {
			margin: 0 0 8px;
			font-size: 24px; /* size/L */
			font-weight: 700;
			line-height: 1.5;
			letter-spacing: 0;
			text-align: center;
			color: #1C1C1C;
		}
			.org-main .strengths__title-text {
				display: block;
				font-size: inherit;
				font-weight: inherit;
				line-height: inherit;
				color: inherit;
			}
			.org-main .strengths__num {
				display: inline;
				font-family: var(--font-family-EN, "Lato", sans-serif);
				font-size: 42px;
				font-weight: 700;
				line-height: 0.9;
				letter-spacing: 1.68px;
				color: var(--color-primary-specific-tel, #D82D2D);
				vertical-align: baseline;
			}
		.org-main .strengths__text {
			margin: 0;
			font-size: 14px;
			font-weight: 400;
			line-height: 1.8;
			letter-spacing: 0;
			text-align: left;
			color: #1C1C1C;
		}
		/* SVG実寸で表示。枠は max(実寸)=188 に合わせ、短いものは下余白で底揃え */
		.strengths__illust {
			box-sizing: border-box;
			width: 290px;
			margin-top: auto;
			margin-right: auto;
			margin-bottom: 0;
			margin-left: auto;
			padding: 0;
		}
			.strengths__illust img {
				display: block;
				width: 290px;
				height: auto;
			}
		/* strengths01: 290×188（基準） */
		.strengths__illust--01 {
			margin-top: 2px;
			margin-right: 20px;
		}
		/* strengths02: 290×181 → 下に7px足して底を01に揃える */
		.strengths__illust--02 {
			margin-top: 5px;
			margin-right: 20px;
		}
		/* strengths03: 290×170 → 下に18px足して底を01に揃える */
		.strengths__illust--03 {
			margin-top: 13px;
			margin-right: 20px;
		}

.strengths__cta {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
}
	.org-main .strengths__cta-lead {
		margin: 0 0 10px;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.5;
		color: #FFF;
	}
	.strengths__cta-main {
		display: flex;
		align-items: center;
		gap: 8px;
		margin: 0;
	}
		.org-main .strengths__cta-main-text {
			font-size: 30px; /* size/XL */
			font-weight: 700;
			line-height: 1.25;
			letter-spacing: 1.2px;
			color: #FFF;
			white-space: nowrap;
		}
		.strengths__cta-logo {
			display: block;
			width: 214px;
			height: 61px;
			border-radius: 5px;
			background: #FFF;
			object-fit: contain;
		}
	.org-main .strengths__cta-button {
		width: 380px;
		height: 96px;
		font-size: var(--size-M);
		font-weight: 700;
		line-height: 1;
		transition: background-color .4s;
		padding-right: 10px;
	}
		.org-main .strengths__cta-button .more__arrow {
			width: 26px;
			height: 26px;
			position: absolute;
			right: 25px;
		}

/*---------------- 導入企業の声 ----------------*/

.voice__section {
	padding-block: 102px;
}
.voice__list {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.voice__item {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 360px;
	overflow: hidden;
}
.voice__media {
	position: relative;
	width: 360px;
	height: 240px;
	overflow: hidden;
}
	.voice__media img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center bottom;
	}
	.org-main .voice__note {
		position: absolute;
		top: 4px;
		right: 4px;
		margin: 0;
		font-size: 14px;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0;
		text-align: right;
		color: #1C1C1C;
		white-space: nowrap;
	}
	.org-main .voice__label {
		position: absolute;
		left: 0;
		bottom: 0;
		box-sizing: border-box;
		padding: 5px 8px;
		background: #FFF;
		font-size: 14px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0;
		text-align: center;
		color: #1C1C1C;
		white-space: nowrap;
	}
.voice__body {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 100%;
}
	.org-main .voice__title {
		font-size: var(--size-L);
		font-weight: 700;
		line-height: 1.25;
		text-align: center;
	}
		.org-main .voice__em {
			font-size: var(--size-L);
			font-weight: 700;
			color: var(--color-primary-default-main);
		}
	.org-main .voice__text {
		margin: 0;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.8;
		letter-spacing: 0;
		text-align: left;
		color: #1C1C1C;
	}

/*---------------- カバン一つで入居できる環境（Flow） ----------------*/

.flow__section {
	padding-block: 105px 100px;
	background: url(/images/corporation/bg_flow.webp) no-repeat center / cover;
}
	.flow__section .section__inner {
		position: relative;
	}
		.flow__section .section__inner::before {
			content: '';
			background: url(/images/corporation/icon_flow-mascot.webp) no-repeat center / cover;
			display: block;
			width: 116px;
			height: 110px;
			position: absolute;
			right: 284px;
			bottom: -87px;
			pointer-events: none;
		}
	.flow__section .section__headline--white {
		margin-bottom: 30px;
	}
	.flow__lead {
		margin: 0 0 30px;
		font-size: var(--size-L);
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0;
		text-align: center;
		color: var(--color-primary-grayscale-white);
	}
	.flow__section .more__button a {
		width: 320px;
		height: 70px;
		font-size: var(--size-M);
		font-weight: 700;
	}
		.flow__section .more__button a .more__arrow svg {
			transform: rotate(90deg);
		}

/*---------------- 法人様に選ばれる、6つの理由 ----------------*/

.reason__section {
	padding-block: 105px 100px;
}
.reason__list {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.reason__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 360px;
}
.reason__icon {
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 170px;
	height: 170px;
	border-radius: 50%;
	background: #F4F4F4;
}
	.reason__icon img {
		display: block;
		width: auto;
		height: auto;
		max-width: 90px;
		max-height: 80px;
	}
.reason__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
	/* Figma: アイコン170 / テキスト開始152 → 番号が円に一部重なる */
	margin-top: -18px;
}
	.reason__head {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 5px;
		width: 100%;
	}
	.org-main .reason__num {
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		width: 34px;
		height: 34px;
		border-radius: 50%;
		background: #1C1C1C;
		font-family: var(--font-family-EN, "Lato", sans-serif);
		font-size: 20px;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0;
		text-align: center;
		color: #FFF;
	}
	.org-main .reason__title {
		margin: 0;
		font-size: 24px;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 0;
		text-align: center;
		color: #1C1C1C;
	}
		.org-main .reason__em {
			font-size: 24px;
			font-weight: 700;
			color: var(--color-primary-default-main);
		}
	.org-main .reason__text {
		margin: 0;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: 0;
		text-align: left;
		color: #1C1C1C;
	}

/*---------------- 他の宿泊手段と比べてみると？ ----------------*/

.comparison__section {
	background: url(/images/corporation/bg_comparison.webp) no-repeat center / cover;
	padding-block: 106px 101px;
}
.comparison__table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #CFCFCF;
	table-layout: fixed;
	background: #FFF;
}
	.comparison__table th,
	.comparison__table td {
		box-sizing: border-box;
		height: 54px;
		padding: 0 10px;
		border: 1px solid #CFCFCF;
		font-size: 16px;
		line-height: 1.25;
		letter-spacing: 0;
		text-align: center;
		vertical-align: middle;
	}
	.comparison__table thead th {
		background: #1C1C1C;
		font-weight: 700;
		line-height: 1;
		color: #FFF;
	}
		.org-main .comparison__table thead th {
			color: #FFF;
		}
		.comparison__table thead th:first-child {
			width: 206px;
			padding: 0 15px;
			font-weight: 400;
		}
		.org-main .comparison__table thead th.is-bratto {
			background: var(--color-primary-default-main, #FF5800);
			font-weight: 700;
			color: #FFF;
		}
	.comparison__table tbody th {
		width: 206px;
		padding: 0 15px;
		background: #F4F4F4;
		font-weight: 400;
		line-height: 1;
		color: #1C1C1C;
		white-space: nowrap;
        line-height: 1.3;
	}
	.comparison__table tbody td {
		background: #FFF;
		font-weight: 400;
		color: #1C1C1C;
	}
		.org-main .comparison__table tbody td.is-bratto {
			background: #FFF6B4;
			font-weight: 700;
			color: #1C1C1C;
		}
		.org-main .comparison__table tbody td.is-bratto.is-em {
			color: var(--color-primary-default-main, #FF5800);
		}

/*---------------- まずは、無料でご相談ください ----------------*/

.request__section {
	padding-block: 80px 77px;
	background: url(/images/corporation/bg_request.webp) no-repeat center / cover;
}
.request__intro {
	width: 613px;
	margin: 0 auto 32px;
	text-align: center;
}
	.org-main .request__headline {
		margin: 0 0 20px;
		font-size: 30px;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 1.2px;
		text-align: center;
		color: #FFF;
	}
	.org-main .request__lead {
		margin: 0;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.8;
		letter-spacing: 0;
		text-align: center;
		color: #FFF;
	}
.request__list {
	display: flex;
	align-items: flex-end;
	width: 1020px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.request__item {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	box-sizing: border-box;
}
	.request__item--line {
		gap: 20px;
		border-left: 1px solid #CFCFCF;
		border-right: 1px solid #CFCFCF;
	}
	.request__item--tel {
		gap: 10px;
		padding-bottom: 1px;
	}
	.request__item--mail {
		gap: 20px;
	}
.request__icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
}
	.request__icon img {
		display: block;
		width: auto;
		height: auto;
		max-width: 40px;
		max-height: 40px;
	}
	.request__item--line .request__icon img {
		width: 40px;
		height: 40px;
		object-fit: cover;
	}
.request__tel {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	width: 100%;
}
	.org-main .request__tel-number {
		font-family: var(--font-family-EN, "Lato", sans-serif);
		font-size: 36px;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0;
		text-align: center;
		text-decoration: none;
		color: #FFF;
		white-space: nowrap;
	}
.request__action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	width: 280px;
}
	.request__section .request__action.more__button--orange a {
		width: 280px;
		height: 50px;
		font-size: var(--size-S);
		padding-right: 7px;
	}
	.request__section .request__action.more__button--orange a .more__arrow {
		width: 22px;
		height: 22px;
		right: 15px;
	}
	.request__section .request__action.more__button--orange a .more__arrow svg {
		width: 5px;
		height: 8px;
	}
	.org-main .request__note {
		margin: 0;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: 0;
		text-align: center;
		color: #FFF;
	}
		.request__item--tel .request__note {
			line-height: 1.5;
		}

/*---------------- 料金プランの目安 ----------------*/

.plan__section {
	position: relative;
	overflow: visible;
	padding-block: 105px 100px;
}
.plan__character {
	position: absolute;
	/* Figma: x=479 / y=203 / 87×116 */
	left: calc(50% - 960px + 479px);
	top: 203px;
	width: 87px;
	height: 116px;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
}
	.plan__character img {
		position: absolute;
		display: block;
		width: 168.97%;
		height: 127.27%;
		max-width: none;
		left: -32.18%;
		top: -6.06%;
	}
.org-main .plan__lead {
	margin: 0 0 40px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: center;
	color: #1C1C1C;
}
.plan__list {
	display: flex;
	align-items: stretch;
	gap: 15px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.plan__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	box-sizing: border-box;
	position: relative;
	width: 370px;
	padding: 30px 17px 25px;
	border: 1px solid #CFCFCF;
	border-radius: 10px;
	background: #FFF;
}
	.plan__card--monthly {
		border: 3px solid var(--color-primary-default-sub, #FF9D00);
	}
	.org-main .plan__badge {
		position: absolute;
		top: -17px;
		left: 50%;
		transform: translateX(-50%);
		box-sizing: border-box;
		padding: 7px 20px;
		border-radius: 9999px;
		background: var(--color-primary-default-sub, #FF9D00);
		font-size: 16px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0;
		text-align: center;
		color: #FFF;
		white-space: nowrap;
	}
	.org-main .plan__name {
		margin: 0;
		width: 100%;
		font-family: var(--font-family-EN, "Lato", sans-serif);
		font-size: 30px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 1.2px;
		text-align: center;
		color: #1C1C1C;
	}
		.org-main .plan__card--monthly .plan__name {
			color: var(--color-primary-default-main, #FF5800);
		}
	.plan__price-block {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 5px;
		width: 293px;
		min-height: 63px;
	}
		.plan__price-block--consult {
			justify-content: center;
			gap: 0;
			width: 100%;
		}
	.org-main .plan__unit-label {
		margin: 0;
		font-size: 16px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0;
		text-align: center;
		color: #1C1C1C;
	}
	.org-main .plan__price {
		display: flex;
		align-items: flex-end;
		gap: 4px;
		margin: 0;
		white-space: nowrap;
	}
		.org-main .plan__price-num {
			font-family: var(--font-family-EN, "Lato", sans-serif);
			font-size: 42px;
			font-weight: 700;
			line-height: 1;
			letter-spacing: 1.68px;
			color: #1C1C1C;
		}
			.org-main .plan__card--monthly .plan__price-num {
				color: var(--color-primary-default-main, #FF5800);
			}
		.org-main .plan__price-unit {
			font-size: 16px;
			font-weight: 700;
			line-height: 1.8;
			letter-spacing: 0;
			color: #1C1C1C;
		}
	.org-main .plan__consult {
		margin: 0;
		font-size: 30px;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 1.2px;
		text-align: center;
		color: #1C1C1C;
	}
	.plan__divider {
		width: 100%;
		height: 1px;
		margin: 0;
		border: 0;
		background: #CFCFCF;
	}
	.plan__features {
		display: flex;
		flex-wrap: wrap;
		align-content: flex-start;
		align-items: flex-start;
		gap: 10px;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}
		.plan__features li {
			display: flex;
			align-items: center;
			gap: 4px;
			box-sizing: border-box;
			width: 157px;
			margin: 0;
			padding: 0;
			font-size: 14px;
			font-weight: 400;
			line-height: 1;
			letter-spacing: 0;
			color: #1C1C1C;
		}
			.plan__features li::before {
				content: "";
				display: block;
				flex-shrink: 0;
				width: 9px;
				height: 10px;
				background: url(/images/corporation/icon_plan_check.svg) center / contain no-repeat;
			}

/*---------------- ご利用の流れ ----------------*/

.guide__section {
	padding-block: 100px;
	background: #F4F4F4;
}
.guide__section .section__headline {
	margin-bottom: 30px;
}
.org-main .guide__lead {
	margin: 0 0 30px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: center;
	color: #1C1C1C;
}
.guide__list {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 24px;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
	/* 円の中心をつなぐライン（Figma: top 96 / width 845.5） */
	.guide__list::before {
		content: "";
		position: absolute;
		top: 93px;
		left: 50%;
		transform: translateX(calc(-50% - 10.25px));
		width: 845.5px;
		height: 0;
		border-top: 4px solid var(--color-primary-grayscale-white);
		pointer-events: none;
	}
.guide__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	width: 170px;
	position: relative;
	z-index: 1;
}
.guide__visual {
	display: flex;
	flex-direction: column;
	align-items: center;
}
	.org-main .guide__step {
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		position: relative;
		z-index: 2;
		height: 26px;
		margin-bottom: -13px;
		padding: 0 15px;
		border-radius: 110px;
		background: #1C1C1C;
		font-size: 14px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0;
		text-align: center;
		color: #FFF;
		white-space: nowrap;
	}
	.guide__icon {
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		width: 170px;
		height: 170px;
		border-radius: 50%;
		background: #FFF;
	}
		.guide__icon img {
			display: block;
			width: auto;
			height: auto;
			max-width: 90px;
			max-height: 91px;
		}
.guide__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	width: 100%;
}
	.org-main .guide__title {
		margin: 0;
		width: 100%;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 0;
		text-align: center;
		color: #1C1C1C;
	}
	.org-main .guide__text {
		margin: 0;
		width: 100%;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: 0;
		text-align: left;
		color: #1C1C1C;
	}

/*---------------- こんなシーンで活用されています ----------------*/

.example__section {
	padding-block: 106px 100px;
}
.example__list {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.example__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 15px;
	width: 360px;
}
.example__media {
	width: 360px;
	height: 240px;
	overflow: hidden;
}
	.example__media img {
		display: block;
		width: 100%;
		height: 240px;
		/* カードSSの上部写真のみを表示（下部テキストはHTMLで組む） */
		object-fit: cover;
		object-position: top center;
	}
.example__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	width: 100%;
}
	.org-main .example__title {
		margin: 0;
		width: 100%;
		font-size: 24px;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 0;
		text-align: center;
		color: #1C1C1C;
	}
	.org-main .example__text {
		margin: 0;
		width: 100%;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: 0;
		text-align: center;
		color: #1C1C1C;
	}

/*---------------- 物件検索（人気のエリアから探す） ----------------*/

.search__section {
	padding: 60px 0 70px;
	background: #F4F4F4;
}
.search__section .section__headline {
	margin-bottom: 30px;
}
.org-main .search__lead {
	margin: 0 0 20px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 1.2px;
	text-align: center;
	color: #1C1C1C;
}
.search__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	width: 1140px;
	margin: 0;
	padding: 0;
	list-style: none;
}
	.search__list > li {
		margin: 0;
		padding: 0;
	}
.org-main .search__card {
	display: block;
	box-sizing: border-box;
	position: relative;
	width: 212px;
	height: 141px;
	border-radius: 5px;
	overflow: hidden;
	/* 影は画像内ではなくCSS側で付与（SS書き出しに影余白が含まれるため） */
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.12);
	text-decoration: none;
	transition: .4s;
}
	.search__card img {
		/* 実寸236×165（影余白込み）→ 中央の212×141カード面だけ表示 */
		position: absolute;
		top: 50%;
		left: 50%;
		display: block;
		width: 236px;
		height: 165px;
		max-width: none;
		transform: translate(-50%, -50%);
	}
	.org-main .search__card:hover {
		opacity: 1;
		filter: brightness(1.05);
	}
	.org-main .search__card.area__nolink {
		pointer-events: none;
		box-shadow: none;
	}
	.org-main .search__card.area__nolink img {
		filter: grayscale(70%);
	}

/*---------------- 都道府県から探す ----------------*/

.area__section {
	padding: 50px 0 70px;
	background: #FFF;
}
.area__inner {
	position: relative;
}
.org-main .area__headline {
	margin: 0 0 30px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 1.2px;
	text-align: center;
	color: #1C1C1C;
}
.area__contents {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	width: 1140px;
}
.area__map {
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	width: 421px;
	height: 413px;
}
	/* common.css の `svg { fill: var(--dark-color) }` を打ち消す */
	.org-main .area__map svg {
		display: block;
		width: 421px;
		height: 413px;
		fill: #6B6B6B;
		pointer-events: auto;
		position: relative;
		z-index: 2;
	}
	.org-main .area__map path[class] {
		fill: #6B6B6B;
		transition: fill .15s ease;
		pointer-events: auto;
	}
	/* 活性判定は都道府県リスト（Define＋在庫）が正。corporation.js が活性県のパスへ
	   is-interactive、ホバー中のパスへ is-hover を付ける。ここに県名を直書きすると
	   開通・在庫の変化に追随できず、リストは押せるのに地図だけ反応しない状態になる。 */
	.org-main .area__map path.is-interactive {
		cursor: pointer;
	}
	.org-main .area__map path.is-interactive:hover,
	.org-main .area__map path.is-hover {
		fill: #FF5800;
	}
.area__wrap {
	display: flex;
	flex-direction: column;
	gap: 20px;
	flex-shrink: 0;
}
.area__group {
	display: flex;
	align-items: center;
	gap: 15px;
}
.org-main .area__group-title {
	width: 48px;
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	color: #1C1C1C;
	white-space: nowrap;
}
.area__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.org-main .area__item a {
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 0 15px;
	height: 28px;
	border-radius: 5px;
	background: #F3F3F3;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	color: #1C1C1C;
	text-decoration: none;
	transition: color .15s ease;
}
.org-main .area__item.no-link a {
	color: #B9B9B9;
	pointer-events: none;
}
.org-main .area__item a:hover,
.org-main .area__item.is-hover a {
	color: #FF5800;
	opacity: 1;
}
/* Figma: 1920基準 right=374 / 101×140・アセットはクロップ表示 */
.area__character {
	position: absolute;
	right: -16px;
	bottom: -70px;
	width: 101px;
	height: 140px;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
}
	.area__character img {
		position: absolute;
		display: block;
		width: 158.42%;
		height: 114.29%;
		max-width: none;
		left: -27.72%;
		top: 0;
	}

/*---------------- よくある質問 ----------------*/

.faq__section {
	/* [class*="__section"] の padding-block:100px / .bg-gray を利用 */
	padding-block: 106px 100px;
}
.faq__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.faq__item {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-bottom: 20px;
}
.faq__question {
	display: flex;
	align-items: center;
	gap: 10px;
	box-sizing: border-box;
	width: 100%;
	padding: 12px 20px 12px 12px;
	border-radius: 5px;
	background: #FFF;
}
.faq__answer {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	box-sizing: border-box;
	width: 100%;
	padding-left: 12px;
}
.faq__badge {
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 58px;
	height: 58px;
	border-radius: 999px;
	font-family: var(--font-family-EN, "Lato", sans-serif);
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	padding-bottom: 3px; /* Figma: 光学的に下寄せ */
}
.org-main .faq__badge--q {
	background: #1C1C1C;
	color: #FFF;
}
.org-main .faq__badge--a {
	border: 1px solid var(--color-primary-default-main, #FF5800);
	background: #FFF;
	color: var(--color-primary-default-main, #FF5800);
}
.org-main .faq__question-text {
	flex: 1;
	min-width: 0;
	min-height: 58px;
	margin: 0;
	display: flex;
	align-items: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.8;
	color: #1C1C1C;
}
.faq__answer-body {
	flex: 1;
	min-width: 0;
	min-height: 58px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.org-main .faq__answer-body p {
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	color: #1C1C1C;
}

.link__section {
    padding: 59px 0 58px;
}
