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

/* COMPANY */

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

経営理念

================================ */
.philosophy__list {
	font-weight: 700;
	counter-reset: list-items;
	margin-top: 6.3em;

	width: calc(100% - var(--gutter-var-xl));
	position: relative;
}
.philosophy__list::before {
	content: "PHILOSOPHY";
	font-size: calc(var(--txt-10xl) * 2);
	font-weight: 900;
	letter-spacing: normal;
	color: var(--color-sub-soft);

	position: absolute;
	top: -0.6em;
	left: var(--gutter-var-xl);
	z-index: -1;
}
.philosophy__list li {
	font-size: var(--txt-md);
	line-height: 1.75;
	list-style-type: decimal;

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.philosophy__list li::before {
	content: counter(list-items)".";
	counter-increment: list-items;
}
.philosophy__list::after {
	content: "";
	display: block;
	width: 3em;
	height: 2px;
	background-color: var(--color-main);
	margin-top: 1em;
}
/* -------------
画像 */
.philosophy__photo {
	width: var(--max-width--lg);
	max-width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	gap: 10px;

	margin-top: var(--gutter-md);
}
.philosophy__photo img {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	display: inline-block;
	width: max(
		calc(100% / 3.5),
		calc(400rem / 16)
	);
	max-width: 100%;
	height: auto;
}
@media (max-width: 959px) {
	.philosophy__photo {
		gap: 8px;
	}
	.philosophy__photo img {
		width: max(
			calc(100% / 2.8),
			calc(250rem / 16)
		);
	}
}
@media (max-width: 559px) {
	.philosophy__photo {
		gap: 5px;
	}
	.philosophy__photo img {
		width: max(
			calc(100% / 2.3),
			calc(180rem / 16)
		);
	}
}
@media (max-width: 391px) {
	.philosophy__photo img {
		width: max(
			calc(100% / 2.3),
			calc(150rem / 16)
		);
	}
}



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

会社概要

================================ */
.overview__table-wrapper {
	width: 100%;
	padding: 3.1em var(--gutter-var-xl);
	background-color: var(--color-base);

	margin-top: var(--gutter-md);

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
/* ----------
テーブル */
.overview__table {
	width: 100%;
}
.overview__table tr {
	width: 100%;

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.overview__table tr:not(:last-child) {
	border-bottom: 1px solid var(--color-sub-line);
}
.overview__table th,
.overview__table td {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;

	font-size: var(--txt-reg);
	font-weight: 400;
	padding-top: 0.7em;
	padding-bottom: 0.7em;
}
.overview__table th {
	width: min(12em, 220px);
	max-width: 100%;
}
.overview__table td {
	width: max(
		calc(100% - min(12em, 220px)),
		330px
	);
	max-width: 100%;
}
@supports (container-type: inline-size) {
	.overview__table-wrapper {
		container-type: inline-size;
		container-name: table-size;
	}
	@container table-size (max-width: 518px) {
		.overview__table th {
			padding-top: 1em;
			padding-bottom: 0;

			font-weight: 600;
		}
		.overview__table td {
			padding-bottom: 1em;
		}
	}
}
@media (max-width: 787px) {
	.overview__table-wrapper {
		padding: 2.1em var(--gutter-var-xl);
	}
	.overview__table th {
		padding-top: 1em;
		padding-bottom: 0;

		font-weight: 600;
	}
	.overview__table td {
		padding-bottom: 1em;
	}
}
@media (max-width: 559px) {
	#overview .content__after-bg-inner {
		max-width: 80%;
	}
}
/* ------------------
リスト */
.overview__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.overview__list dt {
	font-weight: 400;
}
.overview__list dd:not(:last-child)::after ,
.overview__list li:not(:last-child)::after {
	content: "／";
}
/* ----------
マップ */
.g-map {
	width: 100%;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	margin-top: 2em;

	position: relative;
}
.g-map::before {
	content: "";
	display: inline-block;
	padding-top: 66.666%;
}
.g-map iframe {
	width: 100%;
	height: 100%;

	position: absolute;
	top: 0;
	left: 0;
}
.g-map__txt {
	margin-top: 1em;
	line-height: 1.5;
	text-align: right;
}
@media (max-width: 787px) {
	.g-map {
		margin-top: 1em;
	}
	.g-map::before {
		padding-top: 70vw;
	}
}
@media (max-width: 559px) {
	.g-map::before {
		padding-top: 100vw;
	}
	.g-map__txt {
		text-align: left;
	}
}



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

沿革

================================ */
.history__list {
	margin-top: 3.8em;
}
.history__item {
	padding-left: calc(var(--txt-md) * 3);
	position: relative;
}
.history__item:not(:last-child) {
	padding-bottom: var(--gutter-2xl);
}
/* 丸 */
.history__item::before {
	content: "";
	display: inline-block;
	width: var(--txt-md);
	height: var(--txt-md);
	background-color: var(--color-main);

	border-radius: 50%;

	position: absolute;
	top: calc(var(--txt-5xl) / 2);
	left: 0;
}
/* 線 */
.history__item:not(:last-child)::after {
	content: "";
	width: 2px;
	height: 100%;
	background-color: var(--color-sub-soft);

	position: absolute;
	top: calc(var(--txt-5xl) / 2);
	left: calc(calc(var(--txt-md) / 2) - 1px);
	z-index: -1;
}
/* -------------
和暦、西暦 */
.wareki {
	color: var(--color-bk-strong);
	font-size: var(--txt-lg);
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.35;
}
.wareki span{
	color: var(--color-main);
	font-family: var(--alphabet);
	font-size: var(--txt-5xl);
	font-weight: 700;
	line-height: 1.1;
}
.ad {
	font-size: var(--txt-sm);
	font-weight: 700;
	line-height: 1.25;
	margin-top: -0.3em;
}
/* -------------
日付 */
.day__list {
	margin-top: 2.5em;
}
.day {
	font-weight: 700;
}
.day__desc + .day {
	margin-top: 1em;
}
/* -----------------
画像 */
.history__photo {
	width: calc(660rem / 16);
	max-width: 100%;
	height: auto;
	margin-top: 2.5em;
	margin-bottom: 2.5em;
}
@media (max-width: 559px) {
	.history__list {
		margin-top: 2.8em;
	}
	.history__item:not(:last-child) {
		padding-bottom: var(--gutter-xl);
	}
	/* -------------
	日付 */
	.day__list,
	.history__photo {
		margin-top: 1.5em;
	}
	.history__photo {
		margin-bottom: 1.5em;
	}
}