/* all
-------------------------------------------------------------------*/
:root {
	--hover: background .4s, color .4s, border-color .4s, opacity .4s, text-decoration-color .4s, transform .4s, translate .4s, scale .4s, outline .4s, filter .4s, box-shadow .4s;
	--header: 80px;
	--container: 1400px;
	--inner: 2em;
	--fontcolor: #282828;
	--whitecolor: #fff;
	--bgcolor: #f9f8f6;
	--keycolor: #d3b44a;
	--accent01: #0a0e2d;
	--border_position:6.25em;
	--keycolor_gradation: linear-gradient(-20deg, rgba(198, 140, 20, 1) 0%, rgba(215, 189, 100, 1) 27%, rgba(246, 230, 146, 1) 52%, rgba(215, 189, 100, 1) 77%, rgba(198, 140, 20, 1) 100%);
	--border_gradation: linear-gradient(130deg,rgba(224, 186, 0, 1) 0%, rgba(198, 156, 0, 1) 25%, rgba(255, 241, 148, 1) 72%, rgba(253, 196, 0, 1) 100%);
}
:root img {
	transition: opacity .4s, filter .4s;
}
body main p {
	margin-bottom: 0;
	line-height: 1.4;
}
:root :is(a, button) {
	transition: var(--hover);
}
html {
	background: var(--whitecolor);
	color: var(--fontcolor);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	scroll-padding: var(--header);
	scroll-behavior: smooth;
	font-feature-settings: 'palt';
	font-optical-sizing: auto;
	font-style: normal;
	letter-spacing: 0.1em;
}
html :is([lang="en"], .eng) {
	font-family: "Cormorant Garamond", serif;
}
html :is(.serif) {
	font-family: "Noto Serif JP", serif;
}
body {
	width: min(100%,1920px);
	font-size: 100%;
	text-align: center;
	min-width: var(--container);
	position: relative;
	z-index: 2;
	background: var(--bgcolor);
	margin-inline: auto;
}
main {
	overflow: clip;
	width: 100%;
}
body img,
body svg {
	max-width: 100%;
	height: auto;
}
.sitewrap {
	width: var(--container);
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
}
*:has(> .sitewrap) {
	width: 100%;
	overflow-x: clip;
}
*:has(>wbr) {
	word-break: keep-all
}
@media screen and (max-width:1460px) {
	:root {
		--container: 100%;
	}
	body,
	.sitewrap {
		width: 100%;
		min-width: 0;
	}
	.sitewrap>* {
		margin-inline: var(--inner);
	}
}
@media screen and (max-width:767px) {
	:root {
		--inner: 1.14rem;
		--header: 60px;
	}
	html {
		font-size: 14px;
	}
	body img,
	body svg {
		width:100%;
	}
}
/* header
-------------------------------------------------------------------*/
header {
	position: absolute;
	z-index: 1000;
	inset: 0 0 auto;
	text-align: left;
	padding: 2.5em 2.75em;
}
:is(header #site_ttl,#footer) a {
	display: inline-block;
}
:is(header #site_ttl,#footer) a:hover {
	opacity: 0.6;
}
@media screen and (max-width:767px) {
	header {
		padding: 1em 1.25em;
	}
	header #site_ttl a {
		width: 140px;
	}
}
/* contents
-------------------------------------------------------------------*/
.section,
section {
	position: relative;
}
.mv-wrap {
	--header: 165px;
	z-index: 10;
	background: var(--accent01);
	padding-top: var(--header);
}
.mv-wrap::before {
	position: absolute;
	z-index: 100;
	inset: 0;
	content: "";
	display: inline-block;
	background: url(../img/bg-header.png) no-repeat;
	background-position: center top;
	background-size: auto;
}
.mv-wrap .mv-text_wrap {
	position: absolute;
	z-index: 120;
	top: calc(50% + var(--header) - 113px);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	translate:0 -50%;
}
.mv-wrap .mv-text_wrap .mv-text_box {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}
.mv-wrap .mv-text_wrap .mv-title {
	order:2;
	display:flex;
	justify-content:center;
	align-items:flex-end;
	font-size:3rem;
	font-weight:bold;
	line-height:1;
	color:var(--keycolor);
	margin-block: 0.35em 0.5em;
	filter: drop-shadow(0 0 21px var(--accent01)) drop-shadow(0 0 10px var(--accent01));
	will-change: filter;
}
.mv-wrap .mv-text_wrap .mv-title small {
	display:inline-block;
	font-size:0.875em;
	padding-inline:0.25em 0.125em; 
}
.mv-wrap .mv-text_wrap .mv-text_logo {
	order:1;
}
.mv-wrap .mv-text_wrap .mv-lead {
	order:3;
	font-size:2rem;
	font-weight:bold;
	letter-spacing: 0;
	color: transparent;
	background-color: var(--whitecolor);
	background-image: url(../img/bg-lead.png);
	background-clip: text;
	-webkit-background-clip: text;
	background-repeat: no-repeat;
	background-size: auto;
	background-position: center;
}
.mv-wrap .mv-bg_wrap {
	position: relative;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 1.125em;
	overflow: hidden;
}
.mv-wrap .mv-bg_wrap::before {
	position: absolute;
	z-index: 10;
	inset: 0;
	content: "";
	background: var(--accent01);
	opacity: 0.6;
}
.mv-wrap .mv-bg_wrap :is(.mv-bg_inner, .mv-bg_list) {
	display: flex;
	justify-content: center;
	align-items: center;
}
.mv-wrap .mv-bg_wrap .mv-bg_list {
	animation: scroll-left 80s infinite linear;
}
.mv-wrap .mv-bg_wrap .mv-bg_bottom .mv-bg_list  {
	animation-name: scroll-right;
}
@keyframes scroll-left {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}
@keyframes scroll-right {
	from {
		transform: translateX(-100%);
	}
	to {
		transform: translateX(0%);
	}
}
.mv-wrap .mv-bg_wrap .mv-bg_item {
	width: 463px;
	margin-inline: 0.75em;
	border-radius: 0.625em;
	overflow: hidden;
}
.mv-wrap .mv-bg_wrap .mv-bg_bottom .mv-bg_item {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.history-wrap {
	z-index:10;
	background:var(--bgcolor);
}
.history-wrap .history-title_box {
	position:relative;
	z-index:10;
	padding-block: 4em;
}
.history-wrap .history-title_box::before {
	position:absolute;
	z-index:10;
	inset: -270px auto auto 50%;
	content:"";
	width:1920px;
	aspect-ratio:1920/473;
	background:url(../img/bg-figure01.png);
	background-size:cover;
	background-position:center;
	translate:-50%;
}
.history-wrap .history-title_box .history_title {
	position:relative;
	z-index:20;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	width:5.78571428571em;
	aspect-ratio:1/1;
	font-size: 3.5rem;
	font-weight: bold;
	color: var(--keycolor);
	background:url(../img/bg-history.png);
	background-position:center;
	background-size:auto;
	border-radius:100%;
	text-transform: uppercase;
	margin-inline: auto;
	filter: drop-shadow(0 0 21px rgba(10,14,45,0.1));
	will-change: filter;
}
main .bg_text {
	position:absolute;
	z-index: -10;
	font-size:20rem;
	font-weight:bold;
	color:var(--accent01);
	line-height: 0.9;
	letter-spacing: 0.1em;
	text-transform:uppercase;
	white-space: nowrap;
	opacity:0.05;
	translate: 0 -50%;
}
.history-wrap .history-title_box .bg_text {
	left: 0;
	top: 50%;
}
.history-main_wrap .bg_text {
	text-align:right;
	z-index:-20;
	right: -0.1em;
}
.history-main_wrap .bg_text.text_01 {
	top: 39.5%;
}
.history-main_wrap .bg_text.text_02 {
	top: 76.5%;
}
.history-main_wrap {
	position:relative;
	z-index:10;
	margin-top:6.25em;
}
.history-main_wrap::before,
.history-main_wrap::after {
	position:absolute;
	z-index:-10;
	content:"";
	height:100%;
	top:0;
}
.history-main_wrap::before {
	left:0;
	width:266px;
	background: url(../img/bg-history_left.png) top left / 266px auto repeat-y;
	mask-image: linear-gradient(to bottom, transparent 66.6%, black 66.6%);
	mask-size: 100% 3300px;
}
.history-main_wrap::after {
	right:0;
	width:286px;
	background: url(../img/bg-history_right.png) top left / 286px auto repeat-y;
	mask-image: linear-gradient(to bottom, black 33.3%, transparent 33.3%);
	mask-size: 100% 3132px;
}
.history-main_wrap .history-inner {
	position:relative;
	z-index:10;
}
.history-main_wrap .history-boder {
	position:absolute;
	z-index:-10;
	top:0;
	left:var(--border_position);
	display:inline-block;
	width:4px;
	height:100%;
	background-image: radial-gradient(circle, var(--accent01) 2px, transparent 2px);
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 4px 12px;
}
.history-main_wrap .history-item {
	position:relative;
	z-index:10;
	min-height: 20em;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap: 1.25em;
	width: min(95%,950px);
	color:var(--whitecolor);
	padding:2.5em;
}
.history-main_wrap .history-item.item_car {
	align-items: stretch;
	min-height: 18.75em;
	width: min(80%, 950px);
	margin-left:auto;
}
.history-main_wrap .history-car_wrap {
	position:relative;
	z-index:10;
}
.history-main_wrap .history-car_wrap::before,
.history-main_wrap .history-car_wrap::after {
	position:absolute;
	z-index: -20;
	content:"";
	display:inline-block;
	top:50%;
	translate: 0 -50%;
}
.history-main_wrap .history-car_wrap::before {
	left: var(--border_position);
	width:calc(100% - var(--border_position));
	height:4px;
	background-image: radial-gradient(circle, var(--accent01) 2px, transparent 2px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 8px 4px;
}
.history-main_wrap .history-car_wrap::after {
	left: calc(var(--border_position) - 0.325em);
	width:1em;
	aspect-ratio:1/1;
	background:var(--keycolor);
	border-radius: 100%;
}
.history-main_wrap .history-item.item_full {
	width:100%;
	background-image: url(../img/bg-item.png);
	background-repeat: no-repeat;
	background-position: center bottom -43%;
}
.history-main_wrap :is(.history-item:not(.item_car),.history-item_bg) {
	background-color: var(--accent01);
	border-radius:0.625em;
}
.history-main_wrap .history-item_bg {
	position:absolute;
	z-index:-10;
	inset:0;
	border: 5px solid transparent; 
	background-image: linear-gradient(var(--accent01), var(--accent01)),var(--border_gradation);
	background-origin: border-box;
	background-clip: padding-box, border-box;
	overflow:hidden;
}
.history-main_wrap .history-item_bg::after{
	position:absolute;
	z-index:-10;
	top:-1.25em;
	right:-14.125em;
	content:"";
	display:inline-block;
	width:39.8125em;
	aspect-ratio:1/1;
	background:var(--keycolor);
	background:var(--keycolor_gradation);
	border-radius:100%;
}
.history-main_wrap :is(.history-car_wrap:not(:last-child),.history-item:not(:last-child)) {
	margin-bottom: 4em;
}
.history-main_wrap :is(.history-car_wrap,.history-item) + *:has(.image_frameout) {
	margin-top: 8.75em;
}
.history-main_wrap .history-item_text {
	position:relative;
	z-index:10;
	max-width: 50%;
}
.history-main_wrap .history-item_text .history-item_years {
	font-size:3rem;
	font-weight:900;
	line-height: 1;
	color:var(--keycolor);
	letter-spacing:0.05em;
	margin-bottom: 0.65em;
}
.history-main_wrap .history-item_text .history-item_title {
	font-size:1.25rem;
	letter-spacing: 0.02em;
	font-weight:bold;
	line-height:1.8;
	margin-bottom:1.25em;
}
.history-main_wrap .history-item_text .history-item_article {
	font-size:1rem;
	line-height:1.8;
}
.history-main_wrap .history-item_image img {
	display:block;
	border-radius:0.625em;
	filter:drop-shadow(0 0 10px rgba(10,14,45,0.1));
	will-change:filter;
	overflow:hidden;
}
.history-main_wrap .history-item_image.image_frameout {
	position:absolute;
	z-index:5;
	bottom: 2.5em;
	right:calc((4% + 2.5em) * -1);
	width:57.8947368421%;
	aspect-ratio: 550/357;
}
.history-main_wrap .history-item_image p{
	margin-top:.5em;
}
.history-main_wrap .history-item.item_car .history-item_image {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}
.history-main_wrap .history-item_image.image_frameout.item_2012 img:nth-child(1) {
	position:absolute;
	z-index:10;
	top:0;
	right:0;
	width:70.181818181%;	
}
.history-main_wrap .history-item_image.image_frameout.item_2012 img:nth-child(2) {
	position:absolute;
	z-index:10;
	left:0;
	bottom:0;
	width: 52%;
}
.history-bottom_wrap {
	padding-block: 5em 2.5em;
}
.history-bottom_wrap .caution_list {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-wrap:wrap;
	gap: 0.5em 1.5em;
}
.history-bottom_wrap .caution_list li {
	text-indent:-1em;
	padding-left:1em;
}
@media screen and (max-width:767px) {
	.mv-wrap {
		--header: 100px;
	}
	.mv-wrap::before {
		height: 120px;
		background-position: center top;
		background-size: 1250px;
	}
	.mv-wrap .mv-text_wrap {
		top: calc(50% + var(--header) - 113px);
	}
	.mv-wrap .mv-text_wrap .mv-title {
		justify-content:center;
		align-items:center;
		flex-wrap:wrap;
		gap:0.125em;
		font-size:min(65vw,2rem);
		margin-block: 0.75em 1em;
		filter: drop-shadow(0 0 10px var(--accent01)) drop-shadow(0 0 5px var(--accent01));
	}
	.mv-wrap .mv-text_wrap .mv-title img {
		width:min(85%,290px);
	}
	.mv-wrap .mv-text_wrap .mv-title small {
		padding-inline:0; 
	}
	.mv-wrap .mv-text_wrap .mv-title span {
		text-align:center;
		width:100%;
	}
	.mv-wrap .mv-text_wrap .mv-text_logo {
		width:min(75%,257px);
	}
	.mv-wrap .mv-text_wrap .mv-lead {
		text-align:center;
		font-size:min(5.2vw,1.35rem);
		background-position: 0;
		background-repeat: repeat;
		background-size: 150%;
	}
	.mv-wrap .mv-bg_wrap {
		gap: 1.125em;
	}
	.mv-wrap .mv-bg_wrap .mv-bg_list {
		animation-duration: 100s;
	}
	.mv-wrap .mv-bg_wrap .mv-bg_item {
		width: 360px;
	}
	.history-wrap {
		z-index:10;
		background:var(--bgcolor);
	}
	.history-wrap .history-title_box {
		padding-block: 3em;
	}
	.history-wrap .history-title_box::before {
		inset: -55vw auto auto 50%;
		width:350vw;
	}
	.history-wrap .history-title_box .history_title {
		font-size: 2.5rem;
		filter: drop-shadow(0 0 10px rgba(10,14,45,0.1));
	}
	main .bg_text {
		font-size:10rem;
	}
	.history-main_wrap .bg_text {
		right: -0.1em;
	}
	.history-main_wrap .bg_text.text_01 {
		top: 42.5%;
	}
	.history-main_wrap .bg_text.text_02 {
		top: 70%;
	}
	.history-main_wrap {
		position:relative;
		z-index:10;
		margin-top: 0;
	}
	.history-main_wrap::before {
		width:180px;
		background-size:180px;
		mask-size: 100% 2232px;
	}
	.history-main_wrap::after {
		width:200px;
		background-size:200px;
		mask-size: 100% 2190px;
	}
	.history-main_wrap .history-boder {
		left:0;
		right:0;
		width:6px;
		background-image: radial-gradient(circle, var(--accent01) 3px, transparent 3px);
		background-size: 6px 16px;
		margin-inline:auto;
	}
	.history-main_wrap .history-item {
		min-height: 0;
		align-items: center;
		justify-content: flex-start;
		flex-direction: column;
		gap: 1.5em;
		width: 100%;
		padding:1.25em;
		margin-inline:auto;
	}
	.history-main_wrap .history-item.item_car {
		width:100%;
		align-items: center;
		min-height:0;
	}
	.history-main_wrap .history-car_wrap::before,
	.history-main_wrap .history-car_wrap::after {
		display:none;
	}
	.history-main_wrap .history-item.item_full {
		width:100%;
		background-position: left 82% bottom -110%;
	}
	.history-main_wrap .history-item_bg {
		border-width:4px;
	}
	.history-main_wrap .history-item_bg::after{
		top:auto;
		bottom:-16em;
		right:-16em;
		width:30em;
	}
	.history-main_wrap :is(.history-car_wrap:not(:last-child),.history-item:not(:last-child)),
	.history-main_wrap :is(.history-car_wrap,.history-item) + *:has(.image_frameout) {
		margin-top:0;
		margin-bottom: 3em;
	}
	.history-main_wrap .history-item_text {
		max-width: 100%;
		width: 100%;
	}
	.history-main_wrap .history-item_text .history-item_years {
		font-size: 1.75rem;
		margin-bottom: 0.25em;
	}
	.history-main_wrap .history-item_text .history-item_title {
		font-size: 1.125rem;
		line-height:1.6;
		margin-bottom:0.75em;
	}
	.history-main_wrap .history-item_text .history-item_title:not(:has(~.history-item_article)) {
		margin:0;
	}
	.history-main_wrap .history-item_text .history-item_article {
		font-size:0.95rem;
		line-height:1.6;
	}
	.history-main_wrap .history-item_image img {
		filter:none;
	}
	.history-main_wrap .history-item_image.image_frameout {
		position: relative;
		inset: 0;
		width:100%;
	}
	.history-main_wrap .history-item_image p{
		margin-top:.5em;
	}
	.history-main_wrap .history-item.item_car .history-item_image {
		display:flex;
		justify-content:center;
		align-items:center;
		flex-direction:column;
	}
	.history-main_wrap .history-item.item_car .history-item_image:not(.item_1968) {
		width:80%;
	}
	.history-bottom_wrap {
		padding-block:2em 1.5em;
	}
}
/* footer
-------------------------------------------------------------------*/
#footer {
	position:relative;
	z-index:10;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	gap:8.75em;
	background:url(../img/bg-footer.png) no-repeat;
	background-size:auto;
	background-position:center top;
	padding-block:13.75em 3.75em;
}
#footer::after {
	position:absolute;
	z-index:-10;
	inset:auto 0 0;
	content:"";
	display:inline-block;
	width:100%;
	height:50%;
	background:var(--whitecolor);
}
#footer .sns_list {
	display:flex;
	justify-content:center;
	align-items:center;
	gap:0.3125em;
}
@media screen and (max-width:767px) {
	#footer {
		gap:4em;
		background-size: 1250px;
		padding-block: 6em 2.5em;
		padding-inline:var(--inner);
	}
	#footer_logo a {
		width:80%;
	}
	#footer .sns_list li {
		width:45px;
	}
}
/* print
-------------------------------------------------------------------*/
*html body {
	zoom: 60%;
}