@charset "UTF-8";
/* CSS Document */
/*-------------------------------*/

/* COMPANY */

/*------------------------------*/
/* ================================

あいさつ

================================ */
/* -----------------
基礎設定 */
@media (min-width: 960px) {
	#greeting {
		display: grid;
		grid-template-areas:
		"headline	photo"
		"text		photo";
		grid-template-rows: auto auto;
		grid-template-columns: minmax(350px, 0.7fr) minmax(550px , 1fr);
	}
	.greeting__headline {
		grid-area: headline;
		align-self: flex-end;
	}
	.greeting__photo {
		grid-area: photo;
		align-self: stretch;

		max-width: calc(880rem / 16);
		margin-right: auto;
	}
	.greeting__txt-wrapper {
		grid-area: text;
		align-self: flex-start;
	}
}

/* -----------------
画像 */
.greeting__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (max-width: 959px) {
	.greeting__photo {
		margin-top: 4em;
	}
}
@media (max-width: 559px) {
	.greeting__photo {
		margin-top: 3em;
	}
}
/* -----------------
テキスト */
.greeting__headline {
	font-family: var(--mincho);
	font-weight: 700;
	line-height: 1.35;
	font-size: var(--txt-xxl);
	color: var(--color-main-very-thin);

	text-indent: -1em;
	padding-left: 1em;

	padding-bottom: 0.7em;
}
.greeting__headline::first-letter {
	font-size: var(--txt-7xl);
	color: var(--color-accent);
}
.greeting__txt-wrapper {
	margin-right: var(--gutter-var-2xl);

	display: flex;
	flex-direction: column;
	gap: 1.2em;
	margin-top: var(--txt-5xl);
}
.greeting__sign {
	width: calc(220rem / 16);
	max-width: 100%;

	align-self: flex-end;
}
.greeting__sign img {
	width: 100%;
	height: auto;
}
@media (max-width: 959px) {
	.greeting__txt-wrapper {
		margin-right: var(--gutter-var-xl);
		gap: 2em;
		margin-top: 4em;
	}
}
@media (max-width: 559px) {
	.greeting__txt-wrapper {
		gap: 1em;
		margin-top: 3em;
	}
	.greeting__sign {
		width: calc(155rem / 16);
	}
}


/* ================================

概要

================================ */
.overview__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5em var(--gutter-var-md);
}
.overview__inner .headline {
	width: 100%;
}
.overview__inner.headline__border--left::before {
	top: 1em;
	height: calc(100% - 1.5em);
}
.overview__photo {
	flex-grow: 1;
	display: inline-block;
	width: max(
		calc(50% - var(--gutter-var-md)),
		330px
	);
	max-width: 100%;
	height: auto;
	object-fit: cover;
}
.overview__table {
	flex-grow: 1;
	width: 50%;
	margin-top: var(--gutter-lg);
}
.overview__caption hgroup {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;

	margin-bottom: 1.5em;
}
.overview__caption hgroup > * {
	flex-shrink: 0;
}
.overview__caption svg {
	display: block;
	width: calc(150rem / 16);
	max-width: 100%;
	height: auto;
}
.overview__table tr {
	display: flex;
	flex-wrap: wrap;
}
.overview__table th,
.overview__table td {
	font-size: var(--txt-reg);
	font-weight: normal;
	padding-top: 0.5em;
	padding-bottom: 0.5em;

	flex-grow: 1;
}
.overview__table th {
	display: inline-block;
	width: min(6em, calc(140rem / 16));
}
.overview__table td {
	display: inline-block;
	width: max(
		calc(400rem / 16),
		calc(100% - min(6em, calc(140rem / 16)))
	);
}
/* 認可証 */
.credentials {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--gutter-var-reg);

	margin-top: calc(var(--gutter-lg) - var(--gutter-var-reg));
}
.credentials::after {
	content: "";
	display: inline-block;
	flex-grow: 1;
	width: max(
		calc(140rem / 16),
		calc(calc(100% / 3) - var(--gutter-var-reg))
	);
}
.credentials__item {
	margin-top: var(--gutter-var-reg);

	flex-grow: 1;
	width: max(
		calc(140rem / 16),
		calc(calc(100% / 3) - var(--gutter-var-reg))
	);
}
.credentials__item img {
	width: 100%;
	height: auto;
}
@supports (container-type: inline-size) {
	.overview__inner {
		container-type: inline-size;
	}
	@container (max-width: 512px) {
		.overview__table {
			margin-top: var(--gutter-md);
		}
		.overview__caption svg {
			width: calc(120rem / 16);
		}
		.overview__table tr {
			flex-direction: column;
		}
		.overview__table th,
		.overview__table td {
			width: 100%;
		}
		.overview__table th {
			font-weight: bold;
			color: var(--color-main-pale);
			padding-top: 1.2em;
			padding-bottom: 0.2em;
		}
		.overview__table td {
			padding-top: 0em;
			padding-bottom: 1.2em;
		}
		.overview__table tr:not(:last-child) {
			border-bottom: 1px solid var(--color-main-soft);
		}
		/* 認可証 */
		.credentials {
			margin-top: calc(var(--gutter-md) - var(--gutter-var-reg));
		}
	}
}
@media (max-width: 559px) {
	.overview__inner.headline__border--left::before {
		top: 0;
		height: 100%;
	}
	.overview__table {
		margin-top: var(--gutter-md);
	}
	.overview__caption svg {
		width: calc(120rem / 16);
	}
	.overview__table tr {
		flex-direction: column;
	}
	.overview__table th,
	.overview__table td {
		width: 100%;
	}
	.overview__table th {
		font-weight: bold;
		color: var(--color-main-pale);
		padding-top: 1.2em;
		padding-bottom: 0.2em;
	}
	.overview__table td {
		padding-top: 0em;
		padding-bottom: 1.2em;
	}
	.overview__table tr:not(:last-child) {
		border-bottom: 1px solid var(--color-main-soft);
	}
	/* 認可証 */
	.credentials {
		margin-top: calc(var(--gutter-md) - var(--gutter-var-reg));
	}
}