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

/* COMPANY */

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

MISSION / 理念

================================ */
.mission-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 0 var(--gutter-var-common-reg);
}
.mission-list__item {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	width: max(
		calc(196rem / 16),
		calc(calc(100% / 4) - var(--gutter-var-common-reg))
	);
	max-width: calc(224rem / 16);

	margin-top: 3.8em;
}
@media (max-width: 1109px) {
	.mission-list {
		gap: 0 var(--gutter-var-common-lg);
	}
	.mission-list__item {
		width: max(
			calc(196rem / 16),
			calc(calc(100% / 2) - var(--gutter-var-common-lg))
		);
		max-width: none;
	}
}
.mission-list__ttl-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.mission-list__ttl {
	font-size: var(--txt-md);
	line-height: 1.35;
	color: var(--color-main);

	margin-top: 1.3em;
	margin-bottom: 0.9em;
}
.mission-list__img {
	width: calc(224rem / 16);
	height: auto;
	max-width: 100%;
}
.mission-list__txt {
	line-height: 1.88;
	letter-spacing: normal;
	letter-spacing: .018em;
}



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

GREETING / 代表あいさつ

================================ */
.greeting__wrapper {
	--greeting-gup: 3.8em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;

	margin-top: calc(var(--greeting-gup) * 2);
}
@media (max-width: 959px) {
	.greeting__wrapper {
		display: block;
	}
}
@media (max-width: 559px) {
	.greeting__wrapper {
		--greeting-gup: 1.9em;
	}
}
/* -----------------------
画像 */
.greeting__photo {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	display: inline-block;

	width: max(
		calc(336rem / 16),
		30%
	);
	padding-bottom: var(--greeting-gup);
	margin-top: calc(0px - var(--greeting-gup));

	position: relative;
	z-index: 2;
}
.greeting__photo img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: 45% top;
	   object-position: 45% top;
}
@media (max-width: 959px) {
	.greeting__photo {
		width: 100%;
		padding-bottom: 0px;
		margin-left: calc(0px - var(--gutter-var-8x));
	}
}
/* -----------------------
テキスト */
.greeting__txt-box {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	width: max(
		calc(336rem / 16),
		calc(70% - var(--gutter-var-common-lg))
	);
	max-width: 100%;

	padding: var(--greeting-gup) var(--gutter-var-common-lg);
	background-color: var(--color-main-thinner);
	border-radius: 8px;

	position: relative;
	z-index: 1;
}
.greeting__txt-box::before {
	content: "";
	display: block;
	width: calc(100% + var(--gutter-var-common-lg));
	height: 100%;
	background-color: var(--color-main-thinner);
	border-radius: 8px;

	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}
.greeting__heading {
	font-size: var(--txt-md);
	font-weight: 700;
	color: var(--color-main);
	line-height: 1.35;
}
.greeting__txt {
	margin-block: 1.9em;
}
.greeting__sign {
	line-height: 1.25;

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	gap: 1em;
}
.greeting__sign .unit {
	font-size: var(--txt-reg);
}
.greeting__sign .name {
	font-weight: 700;
	font-size: var(--txt-md);
}
@media (max-width :  959px) {
	.greeting__txt-box {
		width: 100%;
		margin-top: calc(0px - var(--greeting-gup));

		padding-top: calc(var(--greeting-gup) * 2);
		padding-bottom: var(--greeting-gup);
		padding-inline: var(--gutter-var-common-lg);
	}
	.greeting__txt-box::before {
		content: none;
	}
}
@media (max-width :  559px) {
	.greeting__txt-box {
		border-radius: 4px;
	}
	.greeting__txt {
		margin-block: 1.3em;
	}
}



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

OVERVIEW / 概要

================================ */
.overview__table {
	margin-top: calc(3.8em - 1em);
}
.overview__table tr {
	border-bottom: 1px solid var(--color-main-pale);
}
.overview__table th ,
.overview__table td {
	font-size: var(--txt-reg);
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.045em;

	padding: 1em min(7.5vw , 1em);
	max-width: 100%;
}
.overview__table th {
	width: min(10em, 196px);
}
.overview__table td {
	width: max(
		calc(100% - min(10em, 196px)),
		calc(448rem / 16)
	);
}
@media (max-width: 559px) {
	.overview__table {
		margin-top: calc(1.9em - 1em);
	}
	.overview__table tr {
		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 th {
		width: 100%;
		padding-bottom: 0.25em;
	}
	.overview__table td {
		width: 100%;
		padding-top: 0.25em;
	}
}


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

ACCESS / アクセス

================================ */
.access-list {
	margin-top: 3.8em;
}
.access-list dt {
	font-size: var(--txt-reg);
	font-weight: normal;
	margin-bottom: 1em;
}
.access-list__item + .access-list__item {
	margin-top: 3.8em;
}
@media (max-width: 559px) {
	.access-list {
		margin-top: 1.9em;
	}
}
/* 場所 */
.access-list__name {
	font-weight: 700;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
}
.access-list__name::before {
	content: "■";
	font-family: var(--sine);
	color: var(--color-main);
	margin-right: 0.2em;
}
/* ルート */
.access-list__root li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.access-list__root li::before {
	content: "・";
}
/* g-map */
.g-map {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.g-map iframe {
	width: 100%;
	height: 100%;
}
@media (max-width: 959px) {
	.g-map {
		aspect-ratio: 3 / 2;
	}
}
@media (max-width: 559px) {
	.g-map {
		aspect-ratio: 4 / 3;
	}
}
@media (max-width: 376px) {
	.g-map {
		aspect-ratio: auto;
		height: max(70vw, 320px);
	}
}