.main {
	overflow: hidden;
}
/* -----------------------------------------------
= container
----------------------------------------------- */
@media print, screen and (min-width: 768px) {/* PC */
	.container {
		padding-bottom: 0;
	}
}/* @media */
/* -----------------------------------------------
= contents
----------------------------------------------- */
.contents {
	padding-bottom: 0;
}
/* @media */
/* -----------------------------------------------
= block
----------------------------------------------- */
.block {
	margin-top: 60px;
	scroll-margin-top: 90px;
}
.block:first-child {
	margin-top: 0;
}
.block p {
	font-size: calc(1.5rem / 1.6);
	line-height: 2;
	margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.block {
		margin-top: 100px;
		scroll-margin-top: 118px;
	}
}/* @media */

/* -----------------------------------------------
= growth-history
----------------------------------------------- */
body .leading-wide {
	line-height: calc(34 / 15);
}
.growth-history {
	container-type: inline-size;
}
.growth-history > p {
	margin-top: 60px;
}
.growth-history-border {
	position: relative;
}
.growth-history-border::before {
	position: absolute;
	left: 50%;
	translate: -50% 0;
	content: "";
	width: 1px;
	background-color: #707070;
}
.growth-history > dl {
	position: relative;
}
.growth-history > dl > dt {
	font-family: var(--libre);
	font-size: calc(4.4rem / 1.6);
	font-weight: 400;
	text-align: center;
	margin-bottom: 34px;
	z-index: 2;
	position: relative;
}
.growth-history > dl > dd {
	padding: 0 30px;
	margin-bottom: 120px;
	position: relative;
	z-index: 1;
}
.growth-history > dl > dd.growth-history-border::before {
	height: 80px;
	top: calc(100% + 20px);
}
.growth-history > dl:last-child > dd.growth-history-border::after {
	content: "";
	position: absolute;
	left: calc(50% - 5.5px);
	top: calc(100% + 88px);
	width: 10px;
	height: 10px;
	border-bottom: 1px solid #707070;
	border-right: 1px solid #707070;
	transform: rotate(45deg);
}
.growth-history > dl > dd.bg {
	position: relative;
	z-index: 1;
}
.growth-history > dl > dd.bg::after {
	position: absolute;
	top: 0;
	left: 50%;
	translate: -50% -67px;
	content: "";
	width: 100%;
	height: calc(100% + 67px - 50.933333333vw);
	min-height: 535px;
	border-radius: 0px 160px 0px 80px;
	background: linear-gradient(
		135deg,
		#fd582c 0%,
		#ebb3a6 36.02%,
		#d4d5db 71.92%,
		#dae9f3 100%
	);
	opacity: 0.3;
	z-index: -1;
}
.growth-history > dl > dd:has(img,a).growth-history-border::before {
	top: 100%;
	height: 100px;
}
.growth-history > dl > dd.bg .title.growth-history-border::before {
	content: none;
}
.growth-history > dl > dd .title {
	font-size: calc(1.6rem / 1.6);
	font-weight: 600;
	color: #FF1100;
	text-align: center;
	border: 1px solid currentColor;
	padding: 11px 1em;
	margin-bottom: 20px;
	background-color: #FFFFFF;
}
.growth-history > dl > dd .title.growth-history-border::before {
	bottom: 100%;
	height: 20px;
}
.growth-history > dl > dd p {
	font-size: calc(1.7rem / 1.6);
	font-weight: 400;
	margin-bottom: 0;
}
.growth-history > dl > dd p:has(+ *) {
	margin-bottom: 20px;
}
.growth-history > dl > dd p:has(+ a) {
	margin-bottom: 40px;
}
.growth-history > dl > dd p:has(>span) {
	font-family: var(--min);
	font-size: calc(2.5rem / 1.6);
	font-weight: 400;
	line-height: calc(33 / 22);
}
.growth-history > dl > dd .btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: calc(1.4rem / 1.6);
	font-weight: 500;
	border: 1px solid #707070;
	padding: 17px 18px;
	margin: 0 -20px;
	background-color: #FFFFFF;
}
@media(hover:hover) {
	.growth-history > dl > dd .btn { 
		transition: color .3s;
	}
	.growth-history > dl > dd .btn:hover {
		color: var(--red);
	}
}/* @media */
	
.growth-history > dl > dd .btn::after {
	content: "";
	aspect-ratio: 1/1;
	width: 8px;
	background-color: #FF1100;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.growth-history > dl > dd > div:has(img) {
	margin-top: 30px;
}
.graph-legend {
	display: flex;
	gap:18px;
	max-width: 600px;
	margin-inline:auto;
	margin-bottom: 8px;
}
.graph-legend li {
	font-size: calc(1.1rem / 1.6);
	font-weight: 400;
	line-height: 1;
	display: flex;
	gap: 5px;
}
.graph-legend li::before {
	content: "";
	width: 14px;
	height: 14px;
}
.graph-legend li:nth-child(1)::before {
	background-color: #CECECE;
}
.graph-legend li:nth-child(2)::before {
	background-color: #B4D6F7;
}
.graph-legend li:nth-child(3)::before {
	background-color: #F9704C;
}

@media print, screen and (max-width: 767px) {/* SP */
	.growth-history > dl.ex-type-02 .left {
		margin-inline:-20px;
	}
}/*media*/
@media print, screen and (min-width: 768px) {/* PC */
	.growth-history > p {
		margin-top: 0;
		margin-bottom: 180px;
	}
	.growth-history-border::before {
		content: none;
	}
	.growth-history > dl {
		display: grid;
		grid-template-columns: 1fr 25.333cqw 1fr;
		margin-bottom: 85px;
		position: relative;
	}
	.growth-history > dl::after {
		position: absolute;
		/* bottom: 100%; */
		top: 0;
		left: 50%;
		translate: 50% 85px;
		content: "";
		width: 1px;
		background-color: #707070;
	}
	.growth-history > dl.js-height-1::after {
		height: calc(var(--js-height-1) + 20px);
	}
	.growth-history > dl.js-height-2::after {
		height: calc(var(--js-height-2) + 20px);
	}
	.growth-history > dl.js-height-3::after {
		height: calc(var(--js-height-3) + 10px);
	}
	.growth-history > dl.js-height-4::after {
		height: calc(var(--js-height-4));
	}
	.growth-history > dl.js-height-5::after {
		height: var(--js-height-5);
	}
	.growth-history > dl.js-height-6::after {
		height: calc(var(--js-height-6) + 90px);
	}
	.growth-history > dl.js-height-7::after {
		height: var(--js-height-7);
	}
	.growth-history > dl.js-height-8::after {
		height: calc(var(--js-height-8) - 30px);
	}
	.growth-history > dl:has(.bg) {
		margin-bottom: 120px;
	}
	.growth-history > dl:has(+ dl) {
		margin-bottom: 120px;
	}
	.growth-history > dl > dt {
		font-size: calc(5.4rem / 1.6);
		grid-row: 1/2;
		grid-column: 2/3;
		translate: 0 -.25em;
		margin-bottom: 0;
	}
	.growth-history > dl > dd {
		display: grid;
		grid-template-rows: subgrid;
		grid-template-columns: subgrid;
		grid-row: 1/2;
		grid-column: 1/4;
		padding: 0;
		margin-bottom: 0;
	}
	.growth-history > dl:last-child {
		margin-bottom: 60px;
	}
	.growth-history > dl:last-child > dd.growth-history-border::after {
		left: calc(50% - 10px);
		top: calc(100% + 30px);
		width: 20px;
		height: 20px;
	}
	.growth-history > dl > dd.bg::after {
		top: 50%;
		left: auto;
		translate: 0 -50%;
		width: 76%;
		height: calc(100% + 120px);
		opacity: 0.3;
		min-height: auto;
	}
	.growth-history > dl > dd.bg-left::after {
		border-radius: 160px 0px 320px 0px;
		background: linear-gradient(-135deg, #dae9f3 0%, #d4d5db 36.02%, #ebb3a6 71.92%, #fd582c 100%);
		left: 0;
		right: auto;
		scale: 1 -1;
	}
	.growth-history > dl > dd.bg-right::after {
		border-radius: 160px 0px 320px 0px;
		background: linear-gradient(-45deg, #dae9f3 0%, #d4d5db 36.02%, #ebb3a6 71.92%, #fd582c 100%);
		right: 0;
		left: auto;
	}
	.growth-history > dl > dd .left {
		grid-row: 1/2;
		grid-column: 1/2;
		padding-left: calc(95 / 1200 * 100cqw);
	}
	.growth-history > dl > dd:not(.bg) .left:has(> img) {
		padding-right: calc(90 / 1200 * 100cqw);
	}
	.growth-history > dl > dd .right {
		grid-row: 1/2;
		grid-column: 3/4;
		padding-right: calc(42 / 1200 * 100cqw);
	}
	.growth-history > dl > dd.wide {
		grid-row: 2/3;
		grid-column: 1/4;
		align-items: center;
	}
	
	.growth-history > dl > dd.wide.bg img {
		max-width: 320px;
	}
	.growth-history > dl.left-text .left {
		margin-right: calc(54 / 1200 * -100cqw);
	}
	.growth-history > dl.ex-type-01 .left {
		margin-right: calc(54 / 1200 * -100cqw);
	}
	.growth-history > dl.ex-type-02 {
		row-gap: 30px;
		padding-bottom: 30px;
	}
	.growth-history > dl.ex-type-02 .left {
		grid-row: 1/2;
		grid-column: 1/3;
	}
	.growth-history > dl.ex-type-03 {
		margin-bottom: 210px;
	}
	.growth-history > dl.ex-type-03 .left {
		padding-left: calc(132 / 1200 * 100cqw);
		padding-right: 0;
	}
	.growth-history > dl > dd .title {
		width: 100%;
		max-width: 8.648648648em;
		margin-bottom: 40px;
	}
	.growth-history > dl > dd .title.growth-history-border::before {
		content: none;
	}
	.growth-history > dl > dd .btn {
		margin: 0;
		padding: 25px 30px;
	}
	.graph-legend {
		justify-content: flex-end;
		gap: 24px;
		margin-bottom: -15px;
		max-width: inherit;
	}
	.graph-legend li {
		font-size: calc(1.3rem / 1.6);
		gap:11px;
	}
}/* @media */
/* -----------------------------------------------
= bnr
----------------------------------------------- */
.bnr {
	position: relative;
	margin-inline: -20px;
	padding: 40px 35px 50px;
}
.bnr::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background: linear-gradient(45deg, #FD582C, #EBB3A6, #D4D5DB, #DAE9F3);
	opacity: .3;
}
.bnr::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(#fff 0, transparent 20%);
}
.bnr p {
	margin: 0 -10px 30px;
	font-family: var(--min);
	font-size: calc(2.1rem / 1.6);
	font-weight: 400;
	text-align: center;
}
.bnr a {
	display: block;
	position: relative;
	color: #fff;
	border-radius: 0 0 30px 0;
}
.bnr a::before,
.bnr a::after {
	content: "";
	position: absolute;
}
.bnr a::before {
	top: 30px;
	right: 50px;
	width: 1px;
	height: 70px;
	background: rgba(255,255,255,.2);
}
.bnr a::after {
	top: calc(50% - 4px);
	right: 22px;
	width: 8px;
	height: 8px;
	background: #fff;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.bnr a img {
	height: 130px;
	object-fit: cover;
	border-radius: 0 0 30px 0;
}
.bnr a span {
	display: block;
	position: absolute;
	left: 20px;
}
.bnr a .jp {
	top: 40px;
	font-family: var(--min);
	font-size: calc(1.6rem / 1.6);
}
.bnr a .en {
	bottom: 40px;
	font-family: var(--hanken);
	font-size: calc(1.1rem / 1.6);
	font-weight: 400;
}
@media print, screen and (min-width: 768px) {/* PC */
	.bnr {
		margin-inline: 0;
		padding: 80px 40px 116px;
	}
	.bnr::before {
		inset: 0 -50vw;
		background: linear-gradient(20deg, #FD582C, #EBB3A6, #D4D5DB, #DAE9F3);
		opacity: .5;
	}
	.bnr::after {
		inset: 0 -50vw;
	}
	.bnr p {
		margin: 0 0 80px;
		font-size: calc(2.5rem / 1.6);
	}
	.bnr a {
		max-width: 800px;
		margin-inline: auto;
		border-radius: 0 0 60px 0;
	}
	.bnr a::before {
		top: 40px;
		right: 100px;
		height: 120px;
	}
	.bnr a::after {
		right: 50px;
	}
	.bnr a img {
		height: 200px;
		border-radius: 0 0 60px 0;
	}
	.bnr a span {
		left: 0;
		width: 100%;
		text-align: center;
	}
	.bnr a .jp {
		top: 60px;
		font-size: calc(2.4rem / 1.6);
	}
	.bnr a .en {
		bottom: 60px;
		font-size: calc(1.2rem / 1.6);
	}
}/* @media */
@media(hover:hover) {
	.bnr a {
		transition: opacity .3s;
	}
	.bnr a:hover {
		opacity: .8;
	}
}/* @media */
/* -----------------------------------------------
= transition
----------------------------------------------- */
.transition {
	overflow: hidden;
	margin: 60px -20px 0;
	padding: 60px 0 100px;
	background-color: var(--bg-gray);
	border-image:linear-gradient( var(--bg-gray),var(--bg-gray) ) fill 0 //  0 100vw;
}
.transition-container {
	padding: 0 20px;
	max-width: 800px;
	margin-inline: auto;
}
.transition-container .block-sub-title {
	font-family: var(--min);
	padding-bottom: 15px;
	border-bottom: 1px solid var(--border-gray);
}
.transition-scroll {
	position: relative;
}
.transition-scroll-area {
	overflow-x: auto;
	padding-bottom: 30px;
	margin-inline: -20px;
	padding-left: 20px;
}
.transition-scroll-area::-webkit-scrollbar {
	height: 1px;
	background-color: #FFFFFF;
}
.transition-scroll-area::-webkit-scrollbar-thumb {
	background-color: #707070;
}
.transition-scroll-area img {
	display: block;
	width: 608.05px;
	margin-inline: auto;
}
.transition-scroll-btn {
	display: none;
	position: absolute;
	width: 36px;
	height: 36px;
	margin-top: 0;
	background: #AAAAAA;
	border-radius: 50%;
	backdrop-filter: blur(30px) brightness(115%);
	z-index: 10;
	cursor: pointer;
	color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.transition-scroll-btn::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	background: #fff;
	font-size: 0;
}
.transition-scroll-btn.prev {
	top: 50%;
	translate: 0 -50%;
	left: -10px;
}
.transition-scroll-btn.prev::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	clip-path: polygon(0 50%, 100% 0, 100% 100%);

}
.transition-scroll-btn.next {
	top: 50%;
	translate: 0 -50%;
	right: -10px;
}
.transition-scroll-btn.next::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.transition-scroll.is-scrollable .transition-scroll-btn {
	display: flex;
	align-items: center;
	justify-content: center;
}
.transition-scroll-btn.is-disabled {
	opacity: 0;
	pointer-events: none;
}
@media print, screen and (min-width: 768px) {/* PC */
	.transition {
		margin: 0;
		padding: 100px 0 200px;
	}
	.transition-container .block-sub-title {
		font-family: var(--min);
		padding-bottom: 15px;
		border-bottom: 1px solid var(--border-gray);
	}
	.transition p {
		margin-bottom: 60px;
	}
	.transition-scroll {
		position: relative;
	}
	.transition-scroll-area {
		padding-bottom: 0;
		margin-inline: 0px;
		padding-left: 0px;
	}
	.transition-scroll-area img {
		width: 100%;
	}
}/* @media */