@charset "utf-8";
.wrap::before, .wrap::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition: opacity 0.4s;
}
.wrap::before {
		background-color: #ededed;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/kv.jpg");
		z-index: -1;
}
.wrap::after {
		background-color: rgba(0, 0, 0, 0.65);
		z-index: -2;
		opacity: 0;
		mix-blend-mode: multiply;
}
.wrap.isDark::before {
		opacity: 0
}
.wrap.isDark::after {
		opacity: 1
}
.wrap.isDark {
		color: #fff;
}
.bg_movie {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 0;
}
@media(max-width: 600px) {
		.bg_movie {
				opacity: 0;
		}
		.bg_movie.isOn {
				opacity: 1;
		}
}
.bg_movie::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, 0.4);
}
.bg_movie video {
		width: 100%;
		height: 100vh;
		object-fit: cover
}
.kv img {
		width: 100%;
		height: auto;
}
.kv {
		aspect-ratio: 1 / 1.15;
}
/* ========== */
section.news_section {
		padding-top: 0;
}
/* ========== */
.second_cont {
		position: relative;
		z-index: 20;
}
/* ========== */
.about_catch {
		padding-left: 60px;
		margin: 0 0 25px;
		position: relative;
		font-weight: 500;
		font-size: 20px;
		letter-spacing: 0.1em
}
.about_catch::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% + 1px);
		left: 0;
		width: 50px;
		height: 1px;
		background: #222;
		transform-origin: left center;
		transform: scaleX(0);
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.about_catch.isActive::before {
		transform: scaleX(1)
}
.about_catch span {
		opacity: 0;
		transition: opacity 0.6s;
		transition-delay: 0.15s;
}
.about_catch.isActive span {
		opacity: 1
}
.isDark .about_catch::before {
		background: #fff;
}
.about_caption p {
		line-height: 2.2;
		letter-spacing: 0.08em;
		margin-bottom: 1em;
}
.about_caption p.about_roots {
		letter-spacing: 0;
		font-size: 12px;
}
/* ========== */
.member_col {
		margin-bottom: 20px;
		position: relative;
}
.member_col_in {
		position: relative;
		padding: 20px
}
.member_col::before, .member_col::after, .member_col_in::before, .member_col_in::after {
		content: '';
		display: block;
		position: absolute;
		background: rgba(255, 255, 255, 0.4);
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.member_col::before, .member_col_in::before {
		transform: scaleX(0)
}
.member_col::after, .member_col_in::after {
		transform: scaleY(0)
}
.member_col.isActive::before, .isActive .member_col_in::before {
		transform: scaleX(1)
}
.member_col.isActive::after, .isActive .member_col_in::after {
		transform: scaleY(1)
}
.member_col::before {
		top: 0;
		left: 0;
		width: 100%;
		height: 1px;
		transform-origin: left center;
}
.member_col::after {
		top: 0;
		left: 0;
		width: 1px;
		height: 100%;
		transform-origin: center top;
}
.member_col_in::before {
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		transform-origin: center bottom;
}
.member_col_in::after {
		top: 0;
		right: 0;
		width: 1px;
		height: 100%;
		transform-origin: right center;
}
.member_name {
		font-size: 22px;
		font-weight: 500;
		margin: 0 0 5px;
}
.member_name span.en {
		font-size: 12px;
		margin-left: 10px;
		margin-right: 3px;
		letter-spacing: 0;
		font-weight: 300;
}
.member_caption {
		line-height: 2.0;
}
.member_caption .status {
		font-size: 12px;
		margin-bottom: 20px;
}
.member_sns {
		margin-top: 25px;
}
.member_sns span {
		letter-spacing: 0;
		font-family: "Barlow Condensed", sans-serif;
		font-size: 17px;
		font-weight: 500;
}
.member_sns a {
		color: #fff;
		text-decoration: none;
		display: flex;
		align-items: center;
}
.icon_sns {
		width: 20px;
		height: 20px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 20px;
		margin-left: 8px;
}
.icon_sns.instagram {
		background-image: url("../images/icon_insta_wht.png")
}
.icon_sns.X {
		background-image: url("../images/icon_x_wht.png")
}
/* ========== */
.movie_wrap {
		margin-bottom: 20px;
}
.movie_wrap iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
		border-radius: 10px;
}
.movie_caption {
		font-size: 13px;
		line-height: 1.6;
		letter-spacing: 0.04em
}
.mailto {
		text-align: center;
		font-family: "Barlow Condensed", sans-serif;
		font-size: 26px;
		font-weight: 600;
		letter-spacing: 0.02em;
		margin: 50px 0 30px;
}
.mailto a {
		color: #222;
		text-decoration: none;
		text-underline-offset: 6px;
}
.mailto a span {
		display: inline-block;
		position: relative;
}
.mailto a span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -5px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #111;
}
@media (hover: hover) {
		.mailto a:hover span::after {
				display: none
		}
}