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

/* COMPANY */

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

メッセージ

================================ */
#greeting {
	position: relative;
	padding-top: var(--gutter-var-10x);
}
#greeting::before {
	content: "";
	display: inline-block;
	width: 40vw;
	height: 100%;
	background-color: var(--color-main-thin);
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);
	        clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);

	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
/* --------------------
コンテナ */
@media (min-width: 960px) {
	.greeting__inner {
		--greeting-txt-width: max(
			calc(336rem / 16),
			calc(50% - var(--gutter-var-10x))
		);
		display: grid;
		grid-template-areas:
		"headline	photo"
		"txt		photo";
		grid-template-rows: auto auto;
		grid-template-columns: var(--greeting-txt-width) 1fr;
		gap: 0 var(--gutter-var-10x);
	}
	.greeting__headline {
		grid-area: headline;
	}
	.greeting__photo {
		grid-area: photo;
		align-self: flex-start;
	}
	.greeting__txt-wrapper {
		grid-area: txt;
	}
}
@media (max-width: 959px) {
	#greeting {
		padding-block: var(--gutter-var-10x);
	}
	#greeting::before {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%);
		        clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%);
	}
	.greeting__inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 3.1em;
	}
}
/* --------------------
タイトル */
.greeting__headline {
	font-size: calc(var(--txt-xl) * 1.16);
	font-weight: 700;

	padding-bottom: 1.1em;
	position: relative;

	--greeting-headline-border: 1.2em;
}
.greeting__headline::first-letter {
	color: var(--color-main);
}
.greeting__headline::before,
.greeting__headline::after {
	content: "";
	display: block;
	width: var(--greeting-headline-border);
	height: 5px;

	position: absolute;
}
.greeting__headline::before {
	background-color: var(--color-main);
	left: 0;
	bottom: 0;
}
.greeting__headline::after {
	background-color: var(--color-accent);
	left: var(--greeting-headline-border);
	bottom: 5px;
}
/* --------------------
テキスト */
.greeting__txt-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1.9em;

	margin-top: 3.1em;
}
/* サイン */
.greeting__sign {
	-ms-flex-item-align: end;
	    align-self: flex-end;

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 1em;

	font-size: var(--txt-sm);
}
.greeting__sign img {
	width: 124px;
	max-width: 100%;
	height: auto;
}
@media (max-width: 959px) {
	.greeting__txt-wrapper {
			gap: 3.1em;
			margin-top: 0;
	}
}
@media (max-width: 559px) {
	.greeting__sign {
		font-size: var(--txt-xs);
	}
	.greeting__sign img {
		width: 110px;
	}
}
/* --------------------
画像 */
.greeting__photo {
	display: block;
}
.greeting__photo img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}



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

概要

================================ */
.overview__table-wrapper {
	margin-top: 3.1em;
}
.overview__table th {
	--table-th-width : 5.5em;
}
.overview__map {
	margin-top: 3.1em;
	width: 100%;

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

	position: absolute;
	inset: 0;
}
@media (max-width: 959px) {
	.overview__map::before {
		padding-top: 75%;
	}
}
@media (max-width: 559px) {
	.overview__map::before {
		padding-top: 100vw;
	}
}


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

沿革

================================ */
.history__inner {
	overflow-y: hidden;
	padding-block: var(--section-inner-gutter);

	margin-top: 3.1em;
	position: relative;
}
.history__inner::before {
	content: "";
	display: inline-block;
	width: 40vw;
	height: 100%;
	background-color: var(--color-main-thin);
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);
	        clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);

	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
@media (max-width: 959px) {
	.history__inner::before {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%);
		        clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%);
	}
}
/* -----------
ライン */
.history__item {
	position: relative;
}
.history__item:not(:last-child):before {
	content: "";
	display: inline-block;
	width: 2px;
	height: 100%;
	background-color: var(--color-main-pale);

	position: absolute;
	top: calc(var(--txt-4x) / 2);
	left: calc(calc(var(--txt-md) / 2) - 1px);
}
.history__item:not(:last-child) {
	padding-bottom: 3.1em;
}
/* -----------
大きい数字 */
.history__number {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 1em;
}
.history__number::before {
	content: "";
	display: inline-block;
	width: var(--txt-md);
	height: var(--txt-md);
	border-radius: 50%;
	background-color: var(--color-main-pale);

	margin-top: -0.25em;
}
.history__number time {
	font-family: var(--number);
	font-weight: 800;
	font-size: var(--txt-4x);
	line-height: 1;
	color: var(--color-main-pale);
}
/* -----------
内容 */
.history__desc {
	padding-left: calc(calc(var(--txt-md) * 2) + 1em);
	margin-top: 1.3em;
}
.history__desc li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1em;
}
.history__desc li + li {
	margin-top: 0.5em;
}
.history__desc li::before {
	content: "";
	display: inline-block;
	/* min: 25px, max: 100px */
	width: clamp(1.563rem, calc(-0.312rem + 9.375vw), 6.25rem);
	height: 1px;
	background-color: var(--color-main-pale);

	margin-top: calc(0.6em + 1px);

	-ms-flex-negative: 0;

	    flex-shrink: 0;
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
}
.history__desc time {
	font-family: var(--number);
	font-weight: 700;

	-webkit-box-ordinal-group: 2;

	    -ms-flex-order: 1;

	        order: 1;
}
.history__desc p {
	-webkit-box-ordinal-group: 4;
	    -ms-flex-order: 3;
	        order: 3;
}
/* ---------------
スライダー
スライダー本体はassets>css>option>slider>slider-loop.css参照 */
.history__slider {
	margin-top: var(--section-inner-gutter);
}