@charset "utf-8";

/* =========================================================
  History
========================================================= */
main {
    border-bottom: 1px  solid #ccc;
}
.p-history {
	position: relative;
}

.p-history__inner {
	display: grid;
	grid-template-columns:
		24.6%
		28.9%
		1fr;
	width: min(1500px, calc(100% - 30px));
	margin-left: auto;
	margin-right: auto;
}

/* =========================================================
  History Hero
========================================================= */
.p-history-hero {
	grid-column: 1 / 2;
	grid-row: 1;
	padding-top: clamp(120px, 10.4vw, 200px);
}

.p-history-hero__title {
	color: #333;
	font-size: clamp(40px, 3.385vw, 65px);
	font-weight: 500;
	line-height: 0.95;
}

.p-history-hero__title span {
	display: inline-block;
	margin-top: 0.45em;
	font-size: 0.385em;
	font-weight: 400;
	line-height: 1;
}

/* =========================================================
  History Timeline
========================================================= */
.p-history-timeline {
	grid-column: 2 / -1;
	grid-row: 1;
	position: relative;
	padding-bottom: clamp(100px, 10.417vw, 200px);
}

@media screen and (min-width:1024px) {
    .p-history-timeline::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        width: 338px;
        height: 100%;
        background-color: #f20012;
    }
}

.p-history-timeline__item {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 120px 166px 1fr;
	gap: 28px;
	padding-left: 36px;
}

.p-history-timeline__item:first-child {
	padding-top: clamp(180px, 15.625vw, 300px);
}

.p-history-timeline__item + .p-history-timeline__item {
	padding-top: clamp(42px, 4.167vw, 80px);
}

.p-history-timeline__year {
	color: var(--color-white);
	font-size: 45px;
	font-weight: 300;
	line-height: 1.2;
}

.p-history-timeline__rows {
	display: grid;
	grid-column: 2 / -1;
	gap: 1.25em;
    padding-top: 0.75em;
}

.p-history-timeline__row {
	display: grid;
	grid-template-columns: 166px 1fr;
	gap: 28px;
	align-items: start;
}

.p-history-timeline__date {
	color: var(--color-white);
	font-size: 20;
	font-weight: 500;
	line-height: 1.6;
	white-space: nowrap;
}

.p-history-timeline__text {
	color: #000;
	font-size: clamp(16px, 1.042vw, 20px);
	font-weight: 500;
	line-height: 1.8;
}

/* =========================================================
  History - Tablet
========================================================= */
@media (max-width: 1023px) {
	.p-history__inner {
		display: block;
		width: 100%;
	}

	.p-history-hero {
		padding: 70px var(--container-padding-sp) 50px 155px;
	}

	.p-history-timeline {
		padding-bottom: 90px;
	}

	main::before {
        z-index: -1;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        width: 105px;
        height: 100%;
        background-color: #f20012;
	}

	.p-history-timeline__item {
		grid-template-columns: 110px 1fr;
        padding-left: 6px;
		gap: 0;
	}

	.p-history-timeline__item:first-child {
		padding-top: 0;
	}

	.p-history-timeline__item + .p-history-timeline__item {
		padding-top: 0;
	}

	.p-history-timeline__year {
		padding: 24px 12px;
		font-size: 30px;
	}

	.p-history-timeline__rows {
		gap: 1.2em;
		padding: 24px 15px 24px 5px;
		border-bottom: 1px solid #ccc;
	}

	.p-history-timeline__row {
		display: block;
	}

	.p-history-timeline__date {
		margin-bottom: 8px;
		color: #333;
		font-size: 14px;
		font-weight: 700;
	}

	.p-history-timeline__text {
		font-size: 14px;
	}
}
@media screen and (min-width: 1280px) and (max-width: 1599px) {
	.p-history-hero {
		padding-left: 3em!important;
	}
}

/* =========================================================
  History - SP
========================================================= */
@media (max-width: 374px) {
	.p-history-hero {
		padding-left: 130px;
	}

	main::before {
		width: 115px;
	}

	.p-history-timeline__year {
		font-size: 26px;
	}

	.p-history-timeline__date,
	.p-history-timeline__text {
		font-size: 13px;
	}
}