/* ==================== History/@.css ==================== */

.History {
	margin-top: 2em;
}


@media (max-width: 567px) {
	.History {
		display: flex;
		flex-direction: column;
	}
}

@media (min-width: 568px) {
	.History {
		display: flex;
		position: relative;
	}
}



/* ==================== History/content/@.css ==================== */

.History .content {
	position: relative;
	dislay: flex;
	flex-direction: column;
	align-items: center;
	padding: 1em 0;
}

.History .content::before,
.History .content::after {
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	width: 100%;
	background: no-repeat;
	background-size: contain;
}
.History .content::before {
	left: 0;
	top: 0;
	background-postion: center top;
}
.History .content::after {
	left: 0;
	bottom: 0;
	background-position: center bottom;
}


@media (max-width: 567px) {

	.History .content::before,
	.History .content::after {
		height: 3em;
		background-image: url(../images/history/body_roll_sp.png);
		transform: scale(1.05);
	}

}

@media (min-width: 568px) {

	.History .content::before,
	.History .content::after {
		height: 4em;
		background-image: url(../images/history/body_roll_pc.png);
	}

	.History .content {
		width: 34em;
	}

}



/* ==================== History/content/<h1>.css ==================== */

.History .content h1 {
	position: absolute;
	z-index: 2;
	left: 50%;
	top: 0;
	margin: 0;
	transform: translate(-50%, -40%);
}



/* ==================== History/content/base/@.css ==================== */

.History .content .base {
	position: relative;
	box-shadow: 0.4em 0.4em 0 #83c7e3;
	background: #faf2da;
	color: #5e300d;
}
.History .content .base::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 0 2em #edd5a4 inset;
}
.History .content .base > * {
	position: relative;
}


@media (max-width: 567px) {

	.History .content .base {
		margin: 0 1em;
		padding: 2.5em 0;
	}

}


@media (min-width: 568px) {

	.History .content .base {
		margin: 0 2.5em;
		padding: 3.5em 0;
	}

}



/* ==================== History/content/base/term/@.css ==================== */

.History .content .base .term {
	display: flex;
	flex-direction: column;
}

.History .content .base .term:not(.active) {
	display: none;
}


@media (max-width: 567px) {

	.History .content .base .term {
		padding: 0 1em;
	}

}


@media (min-width: 568px) {

	.History .content .base .term {
		padding: 0 1.5em;
	}

}



/* ==================== History/content/base/term/<h2>.css ==================== */

.History .content .base .term h2 {
	margin: 0.5rem 0 1rem;
	align-self: center;
}



/* ==================== History/content/base/term/year/@.css ==================== */

.History .content .base .term .year {
	display: flex;
	flex-direction: column;
	border-top: 2px dashed #d1b6a1;
	padding: 0.5em 0;
}



/* ==================== History/content/base/term/year/<h3>.css ==================== */

.History .content .base .term .year h3 {
	align-self: center;
	color: #a15d2a;
}


@media (max-width: 567px) {

	.History .content .base .term .year h3 {
		font-size: 100%;
	}

}


@media (min-width: 568px) {

	.History .content .base .term .year h3 {
		font-size: 90%;
	}

}



/* ==================== History/content/base/term/year/items/@.css ==================== */

.History .content .base .term .year .items {
	display: table;
	border-spacing: 0 1.5em;
}



/* ==================== History/content/base/term/year/items/item/@.css ==================== */

.History .content .base .term .year .items .item {
	display: table-row-group;
}



/* ==================== History/content/base/term/year/items/item/pkg.css ==================== */

.History .content .base .term .year .items .item .pkg {
	display: table-cell;
	vertical-align: top;
	text-align: center;
}

.History .content .base .term .year .items .item .pkg figure {
	margin: 0;
	padding-right: 1em;
}


@media (max-width: 567px) {

	.History .content .base .term .year .items .item .pkg {
		width: 7em;
	}
	.History .content .base .term .year .items .item .pkg img {
		max-width: none;
		font-size: 90%;
	}

}


@media (min-width: 568px) {

	.History .content .base .term .year .items .item .pkg {
		width: 7.5em;
	}
	.History .content .base .term .year .items .item .pkg img {
		max-width: 100%;
		font-size: 80%;
	}

}



/* ==================== History/content/base/term/year/items/item/text.css ==================== */

.History .content .base .term .year .items .item .text {
	display: table-cell;
	vertical-align: middle;
}

.History .content .base .term .year .items .item .text h4 {
	margin: 0;
}
.History .content .base .term .year .items .item .text h4 span {
	display: inline-block;
}

.History .content .base .term .year .items .item .text  p {
	margin-bottom: 0;
	text-align: justify;
}


@media (max-width: 567px) {

	.History .content .base .term .year .items .item .text {
		width: 100%;
	}

	.History .content .base .term .year .items .item .text h4 {
		font-size: 90%;
	}

	.History .content .base .term .year .items .item .text p {
		font-size: 80%;
	}

}


@media (min-width: 568px) {

	.History .content .base .term .year .items .item .text h4,
	.History .content .base .term .year .items .item .text p {
		font-size: 75%;
	}

}



/* ==================== History/menu/@.css ==================== */

@media (max-width: 567px) {

	.History .menu {
		margin-top: 2em;
		align-self: center;
	}

}

@media (min-width: 568px) {

	.History .menu {
		margin-left: auto;
		padding-top: 2em;
	}

}



/* ==================== History/menu/body/@.css ==================== */

.History .menu .body::before,
.History .menu .body::after {
	content: '';
	display: block;
	position: relative;
	z-index: 0;
	left: 0;
	width: 100%;
	height: 3em;
	background: url(../images/history/menu_roll.png) no-repeat;
	background-size: contain;
}
.History .menu .body::before {
	top: 0;
	background-position: center top;
}
.History .menu .body::after {
	bottom: 0;
	background-position: center bottom;
}


@media (min-width: 568px) {

	.History .menu.overflow .body {
		position: fixed;
		top: 2em;
	}

}



/* ==================== History/menu/body/<nav>/@.css ==================== */

.History .menu .body nav {
	margin: -1em 1em -2em 1.5em;
	padding: 1.25em 1.5em 1.75em 1em;
	background: url(../images/history/menu_base.png) no-repeat center center;
	background-size: 100% 100%;
}



/* ==================== History/menu/body/<nav>/<ul>/@.css ==================== */

.History .menu .body nav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-align: center;
}

.History .menu .body nav ul li {
	transition: transform 250ms;
}

.History .menu .body nav ul li:nth-of-type(n+2) {
	margin-top: 1rem;
}

.History .menu .body nav ul li:hover,
.History[data-selectedterm="term1"] .menu li:nth-of-type(1),
.History[data-selectedterm="term2"] .menu li:nth-of-type(2),
.History[data-selectedterm="term3"] .menu li:nth-of-type(3),
.History[data-selectedterm="term4"] .menu li:nth-of-type(4),
.History[data-selectedterm="term5"] .menu li:nth-of-type(5),
.History[data-selectedterm="term6"] .menu li:nth-of-type(6) {
	transform: scale(1.2);
}


@media (max-width: 567px) {

	.History .menu .body nav ul li img {
		font-size: 70%;
	}

}


@media (min-width: 568px) {

	.History .menu .body nav ul li img {
		font-size: 55%;
	}

}