@charset "utf-8";
header {
	filter: drop-shadow(0 0 6px rgba(0,0,0,0.4));
}

/* page_top */
	.page_top__inner {
		height: 100vh;
	}
		.page_top__heading {
			color: var(--color--white);
		}
		.company__page_top_contents {
			position: absolute;
			top: 50vh;
			left: 50%;
			transform: translate(-50%,-50%);
			z-index: 1;
		}
			.company__page_top_heading {
				width: 100%;
				height: auto;
				margin: 0 auto 28px;
				font-size: 24px;
				font-weight: 700;
				line-height: calc(29 / 24);
				letter-spacing: 0em;
				text-align: center;
				color: var(--color--white);
				opacity: 0;
				transform: translate(0%,15px);
				transition: .8s;
				transition-delay: .5s;
			}
			.loaded .company__page_top_heading {
				opacity: 1;
				transform: translate(0%,0px);
			}
			.company__page_top_copy {
				width: calc((596.68 / 1366) * 100vw);
				max-width: 596px;
				height: auto;
				margin: 0 auto 28px;
				opacity: 0;
				transform: translate(0%,15px);
				transition: .8s;
				transition-delay: .62s;
			}
			.loaded .company__page_top_copy {
				opacity: 1;
				transform: translate(0%,0px);
			}
			.company__page_top_txt {
				width: 100%;
				height: auto;
				font-size: 20px;
				font-weight: 400;
				line-height: calc(32 / 20);
				letter-spacing: 0.005em;
				text-align: center;
				color: var(--color--white);
				opacity: 0;
				transform: translate(0%,15px);
				transition: .8s;
				transition-delay: .74s;
			}
			.loaded .company__page_top_txt {
				opacity: 1;
				transform: translate(0%,0px);
			}
	.page_top__bg_image {
		overflow: initial;
	}

#company {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 2;
}
	.company__inner {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
		.company__about_list {
			width: 83%;
			max-width: 1126px;
			height: auto;
			margin: 0 auto;
		}
			.company__about_list__item {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				width: 100%;
				height: auto;
				padding: 0 0 120px;
			}
			.company__about_list__item:not(:last-of-type) {
				margin-bottom: 120px;
				border-bottom: solid 1px var(--color--gray);
			}
				.list_heading {
					width: calc((426 / 1126) * 100%);
					height: auto;
					font-size: 20px;
					font-weight: 700;
					line-height: calc(29 / 20);
					letter-spacing: 0em;
					color: var(--color--black);
				}
				.list_details {
					flex: 1;
					height: auto;
				}
					.company__about_list__item__txt {
						font-size: 18px;
						font-weight: 400;
						line-height: calc(38 / 18);
						letter-spacing: 0em;
						color: var(--color--black);
					}
					.company__about_list__item__txt:not(:last-of-type) {
						margin-bottom: 24px;
					}
						.company__about_list__item__txt strong {
							font-weight: 700;
						}
					.company__about_list__item__ceo {
						display: flex;
						justify-content: space-between;
						align-items: center;
						width: 100%;
						height: auto;
						margin: 60px auto 0;
					}
						.company__about_list__item__ceo__image {
							width: calc((307 / 700) * 100%);
							height: auto;
						}
						.company__about_list__item__ceo__details {
							width: calc((377 / 700) * 100%);
							height: auto;
						}
							.company__about_list__item__ceo__details__position {
								width: 100%;
								height: auto;
								margin: 0 auto 6px;
								font-size: 12px;
								font-weight: 400;
								line-height: calc(20 / 12);
								letter-spacing: 0em;
								color: var(--color--black);
							}
							.company__about_list__item__ceo__details__info {
								width: 100%;
								height: auto;
								margin: 0 auto 14px;
							}
								.company__about_list__item__ceo__details__info dt {
									width: 100%;
									height: auto;
									margin: 0 auto 14px;
									font-size: 16px;
									font-weight: 700;
									line-height: calc(24 / 16);
									letter-spacing: 0em;
									color: var(--color--black);

								}
								.company__about_list__item__ceo__details__info dd {
									width: 100%;
									height: auto;
									font-size: 16px;
									font-weight: 400;
									line-height: calc(28 / 16);
									letter-spacing: 0em;
									color: var(--color--black);
								}
							.company__about_list__item__ceo__details__note {
								width: 100%;
								height: auto;
								font-size: 12px;
								font-weight: 400;
								line-height: calc(17 / 12);
								letter-spacing: 0em;
								text-align: right;
								color: var(--color--black);
							}
		.company__band_image {
			width: 100%;
			height: auto;
			aspect-ratio: 2 / 1;
			overflow: hidden;

			background-color: #000;
		}
			.company__band_image__inner {
				width: 100%;
				height: 100%;
				position: relative;
			}
				.company__band_image__inner img {
					width: 100%;
					height: auto;
					position: absolute;
					top: 50%;
					left: 0;
					transform: translate(0%,-50%);
				}
		.company__profile_list {
			width: 83%;
			max-width: 1126px;
			height: auto;
			padding: 120px 0;
			margin: 0 auto;
			border-bottom: solid 1px var(--color--gray);
		}
			.company__profile_list__item {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				width: 100%;
				height: auto;
			}
				.company__profile_list__item .list_heading {
					width: calc((326 / 1126) * 100%);
				}
					.company__child_profile_list {
						width: 100%;
						height: auto;
					}
						.company__child_profile_list__item {
							display: flex;
							justify-content: flex-start;
							align-items: flex-start;
							width: 100%;
							height: auto;
							padding: 16px 0;
							border-bottom: solid 1px var(--color--gray);
							position: relative;
						}
						.company__child_profile_list__item:not(:last-of-type) {
							margin-bottom: 64px;
						}
							.company__child_profile_list__item::before {
								content: '';
								display: block;
								width: calc(((200 / 700) * 100%) - 45px);
								height: 2px;
								background-color: #707070;
								position: absolute;
								bottom: 0;
								left: 0;
								z-index: 1;
								transform: translate(0%,50%);
							}
							.company__child_profile_list__item > dt {
								width: calc((200 / 700) * 100%);
								height: auto;
								font-size: 16px;
								font-weight: 400;
								line-height: calc(24 / 16);
								letter-spacing: 0em;
								color: var(--color--black);
							}
							.company__child_profile_list__item > dd {
								flex: 1;
								height: auto;
								font-size: 16px;
								font-weight: 400;
								line-height: calc(24 / 16);
								letter-spacing: 0em;
								color: var(--color--black);
							}
								.company__child_profile_list__item__txt:not(:last-of-type) {
									margin-bottom: 16px;
								}
		.company__history_list {
			width: 83%;
			max-width: 1126px;
			height: auto;
			padding: 120px 0;
			margin: 0 auto;
			border-bottom: solid 1px var(--color--gray);
		}
			.company__history_list__item {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				width: 100%;
				height: auto;
			}
				.company__history_list__item .list_heading {
					width: calc((326 / 1126) * 100%);
				}
					.company__child_history_list {
						width: 100%;
						height: auto;
					}
						.company__child_history_list__item {
							display: flex;
							justify-content: space-between;
							align-items: flex-start;
							width: 100%;
							height: auto;
						}
						.company__child_history_list__item:not(:last-of-type) {
							margin-bottom: 46px;
						}
							.company__child_history_list__item > dt {
								width: 131px;
								height: auto;
								font-family: "din-2014", sans-serif;
								font-size: 48px;
								font-weight: 400;
								line-height: calc(62 / 48);
								letter-spacing: 0em;
								color: var(--color--black);
							}
							.company__child_history_list__item > dd {
								flex: 1;
								height: auto;
							}
								.history_timeline {
									width: 100%;
									height: auto;
									position: relative;
								}
									.history_timeline::before {
										content: '';
										display: block;
										background-color: var(--color--gray);
										width: 1px;
										height: calc(46px - 12px);
										opacity: .7;
										position: absolute;
										bottom: -26px;
										left: 0px;
										transform: translate(0%,100%);
										z-index: 10;
									}
									.company__child_history_list__item:last-of-type .history_timeline::before {
										display: none;
									}
									.history_timeline__item {
										display: flex;
										justify-content: space-between;
										align-items: flex-start;
										width: 100%;
										height: auto;
										padding-left: 19px;
										position: relative;
										font-size: 18px;
										font-weight: 400;
										line-height: calc(38 / 18);
										letter-spacing: 0em;
										color: var(--color--black);
									}
									.history_timeline__item:not(:last-of-type) {
										margin-bottom: 12px;
									}
										.history_timeline__item::before,
										.history_timeline__item::after {
											content: '';
											display: block;
											background-color: var(--color--gray);
											position: absolute;
											top: 14px;
											left: 0;
										}
										.history_timeline__item::before {
											width: 1px;
											height: calc(100% + 12px);
										}
										.company__child_history_list__item:last-of-type .history_timeline__item:last-of-type::before {
											display: none;
										}
										.history_timeline__item::after {
											width: 13px;
											height: 13px;
											border-radius: 9999px;
											left: -6px;
										}
										.history_timeline__item > dt {
											width: 50px;
											height: auto;
										}
										.history_timeline__item > dd {
											flex: 1;
											height: auto;
										}
		.company__btn_area {
			width: 100%;
			height: auto;
			padding: 120px 0 140px;
		}
			.company__btn_wrap {
				width: 280px;
				height: 50px;
				margin: 0 auto;
			}

/* PC ================================================== */
@media all and (min-width: 769px){

}

/* Tablet ================================================== */
@media all and (max-width: 768px){
/* page_top */
#page_top {
	height: calc((693 / 844) * 100svh);
	min-height: 693px;
}
	.page_top__inner {
		height: 100%;
	}
		.company__page_top_contents {
			width: 100%;
			top: 50%;
		}
			.company__page_top_heading {
				margin: 0 auto 24px;
				font-size: 20px;
				line-height: calc(29 / 20);
			}
			.company__page_top_copy {
				width: calc((330 / 390) * 100vw);
				max-width: 330px;
			}
			.company__page_top_txt {
				font-size: 16px;
				line-height: calc(30 / 16);
			}

/* company */
#company {
	margin-top: -84px;
}
		.company__about_list {
			width: calc((314 / 390) * 100%);
		}
			.company__about_list__item {
				display: block;
				padding: 0 0 75px;
			}
			.company__about_list__item:not(:last-of-type) {
				margin-bottom: 80px;
				border-bottom: solid 1px var(--color--gray);
			}
				.list_heading {
					width: 100%;
					margin: 0 auto 40px;
					text-align: center;
				}
				.list_details {
					flex: initial;
					width: 100%;
				}
					.company__about_list__item__txt {
						font-size: 16px;
						line-height: calc(28 / 16);
					}
					.company__about_list__item__txt:not(:last-of-type) {
						margin-bottom: 22px;
					}
					.company__about_list__item__ceo {
						display: block;
						margin: 34px auto 0;
					}
						.company__about_list__item__ceo__image {
							width: calc((234 / 314) * 100%);
							margin: 0 auto 16px;
						}
						.company__about_list__item__ceo__details {
							width: 100%;
						}
							.company__about_list__item__ceo__details__position {
								margin: 0 auto 6px;
								font-size: 12px;
							}
		.company__profile_list {
			width: calc((314 / 390) * 100%);
			padding: 80px 0;
		}
			.company__profile_list__item {
				display: block;
			}
				.company__profile_list__item .list_heading {
					width: 100%;
				}
						.company__child_profile_list__item {
							padding: 12px 0;
						}
						.company__child_profile_list__item:not(:last-of-type) {
							margin-bottom: 28px;
						}
							.company__child_profile_list__item::before {
								width: calc(((110 / 314) * 100%) - 12px);
							}
							.company__child_profile_list__item > dt {
								width: calc((110 / 314) * 100%);
								font-size: 12px;
								line-height: calc(20 / 12);
							}
							.company__child_profile_list__item > dd {
								font-size: 12px;
								line-height: calc(20 / 12);
							}
								.company__child_profile_list__item__txt:not(:last-of-type) {
									margin-bottom: 0px;
								}
		.company__history_list {
			width: calc((314 / 390) * 100%);
			padding: 80px 0;
		}
			.company__history_list__item {
				display: block;
			}
				.company__history_list__item .list_heading {
					width: 100%;
				}
						.company__child_history_list__item {
							display: block;
						}
						.company__child_history_list__item:not(:last-of-type) {
							margin-bottom: 40px;
						}
							.company__child_history_list__item > dt {
								width: 100%;
								margin: 0 auto 12px;
								text-align: center;
							}
							.company__child_history_list__item > dd {
								flex: initial;
								width: 100%;
							}
									.history_timeline::before {
										height: calc(40px + 84px);
										bottom: -12px;
									}
									.company__child_history_list__item:last-of-type .history_timeline::before {
										display: none;
									}
									.history_timeline__item {
										padding-left: 25px;
										line-height: calc(33 / 18);
									}
									.history_timeline__item:not(:last-of-type) {
										margin-bottom: 7px;
									}
										.history_timeline__item::before,
										.history_timeline__item::after {
											top: 10px;
										}
		.company__btn_area {
			padding: 80px 0 100px;
		}
}

/* SP ================================================== */
@media all and (max-width: 575px){

}