@charset "UTF-8";

/* -------------- MV -------------- */
.mv {
	overflow: hidden;
	position: relative;
	z-index : 99995;
}

.video_wrap {
	overflow: hidden;
	position: relative;
	width   : 100%;
	height  : 100vh;
	height  : 100dvh;
}

.video {
	left             : 50%;
	min-width        : 100%;
	min-height       : 100%;
	position         : absolute;
	top              : 50%;
	transform        : translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
}

.mv_logo_wrap {
	left    : 5.3%;
	position: absolute;
	top     : calc(100vh * 0.0465);
	top     : calc(100dvh * 0.0465);
}

.mv_logo {
	width: 200px;
}

.mv_txt_wrap {
	color   : #fff;
	left    : 8.2%;
	position: absolute;
	top     : 37.4%;
}

.mv_tit_in {
	font-size     : clamp(3.2rem, calc(1rem + 4.5vw), 5rem);
	font-weight   : 500;
	letter-spacing: 0.165em;
	line-height   : 1.1;
	padding-bottom: 10px;
}

.mv_tit_in span,
.mv_txt_flex_item span {
	transform : translate(-40px, 105%);
	transition: transform cubic-bezier(0, 0.77, 0.31, 0.98) 0.8s, opacity 0.8s;
	display   : inline-block;
	opacity   : 0;
}

.mv_tit_in span.note {
	font-size     : 48px;
	vertical-align: super;
}

.mv_tit {
	margin-bottom: 12px;
	overflow     : hidden;
}

.mv_tit._1 span {
	transition-delay: 1.3s;
}

.mv_tit._2 span {
	transition-delay: 1.5s;
}

.mv_tit._3 span {
	transition-delay: 1.7s;
	font-family     : "Roboto", "Noto Sans JP", sans-serif;
}

/* .mv_tit._3 span.roboto {
  font-family: "Roboto", sans-serif;
} */
.page_load .mv_tit span,
.page_load .mv_txt_flex_item span {
	transform: translate(0, 0);
	opacity  : 1;
}

.mv_txt {
	font-size         : 18px;
	letter-spacing    : 0.1em;
	opacity           : 0;
	padding-left      : 10px;
	transition        : opacity 0.5s ease-out 2s;
	-webkit-transition: opacity 0.5s ease-out 2s;
}

.mv_txt span {
	font-family: "Roboto", sans-serif;
}

.mv_txt.mini {
	font-size  : 14px;
	padding-top: 8px;
}

html.page_load .mv_txt {
	opacity: 1;
}

@media (max-width: 1160px) {
	/* .mv_tit_in {
    font-size: 64px;
  }
  .mv_tit_in span.note {
    font-size: 40px;
  } */
}

@media (max-width: 750px) {
	.mv_logo_wrap {
		left: 7.5%;
	}

	/* .mv_tit_in {
    font-size: 40px;
  } */
	.mv_txt {
		padding-left: 0;
	}

	.mv_txt span {
		padding-right: 0;
	}

	.mv_tit_in span.note {
		vertical-align: initial;
	}
}

@media (max-width: 450px) {
	.mv_txt_wrap {
		left: 5.3%;
	}

	.mv_tit_in {
		/* font-size: 2.5rem; */
		letter-spacing: 0.14em;
		padding-bottom: 12px;
	}

	.mv_tit_in span.note {
		font-size: 32px;
	}

	.mv_txt {
		font-size: 16px;
	}
}

/* -------------- ABOUT -------------- */
.parasp:before {
	content        : "";
	display        : block;
	position       : fixed;
	top            : 0;
	left           : 0;
	z-index        : -1;
	width          : 100%;
	height         : calc(100vh + 15%);
	background     : url(../images/top/haikei_02.webp) no-repeat center;
	background-size: cover;
}

.top_about {
	padding : 240px 0 360px;
	position: relative;
	width   : 100%;
}

#about_bg {
	background     : url(../images/top/haikei_02.webp) no-repeat center;
	background-size: cover;
	width          : 100%;
	height         : 3000px;
	top            : -1000px;
	position       : fixed;
	z-index        : -1;
}

#fadeLayer {
	position          : absolute;
	top               : 0px;
	left              : 0px;
	width             : 100%;
	height            : 100%;
	background-color  : #000000;
	opacity           : 0;
	transition        : opacity 0.4s ease-in;
	-webkit-transition: opacity 0.4s ease-in;
}

.top_about.is_show #fadeLayer {
	opacity: 0.5;
}

.about_wrap {
	color    : #fff;
	margin   : 0 auto;
	max-width: 1000px;
	position : relative;
	width    : 85%;
}

.about_list {
	padding-bottom: 344px;
}

.about_item {
	display        : flex;
	justify-content: space-between;
	padding-bottom : 188px;
}

.about_item._2 {
	padding-bottom: 232px;
}

.about_list li:last-child {
	padding-bottom: 0;
}

.about_item_txt {
	width: 56%;
}

.horizon {
	align-items  : center;
	color        : #fff;
	display      : flex;
	font-size    : 13px;
	margin-bottom: 64px;
	margin-left  : 6px;
}

.horizon_in {
	background  : #fff;
	height      : 1px;
	margin-right: 24px;
	width       : 0;
}

.horizon .num {
	opacity           : 0;
	transition        : opacity 0.4s 0.3s;
	-webkit-transition: opacity 0.4s 0.3s;
	font-family       : "Roboto", sans-serif;
	font-weight       : 400;
	font-size         : 15px;
}

.horizon .num.is_show {
	opacity: 1;
}

.about_item .tit_wrap {
	padding-bottom: 40px;
}

.about_item .about_tit {
	font-size     : 40px;
	font-weight   : 500;
	letter-spacing: 0.16em;
	line-height   : 1;
	margin-bottom : 20px;
	overflow      : hidden;
}

.about_item .about_tit span {
	transform : translate(-40px, 105%);
	transition: transform cubic-bezier(0, 0.77, 0.31, 0.98) 0.8s;
	display   : inline-block;
}

.about_item .about_tit._1 span {
	transition-delay: 0.1s;
}

.about_item .about_tit._2 span {
	transition-delay: 0.25s;
}

.about_item .about_tit._3 span {
	transition-delay: 0.4s;
}

.about_tit.is_show span {
	transform: translate(0, 0);
}

.about_item .txt {
	font-size     : 18px;
	letter-spacing: 0.17em;
	line-height   : 1.5;
	padding-bottom: 26px;
}

.about_item .pic1-1 {
	margin-top: 112px;
}

.about_item .pic1-2 {
	margin-top: 104px;
}

.about_item .pic1-3 {
	margin-top: 36px;
}

.about_item .pic_1-1,
.about_item .pic_1-2,
.about_item .pic_1-3 {
	width: 450px;
}

.about_txt {
	font-weight         : 500;
	font-size           : 56px;
	left                : 50%;
	letter-spacing      : 0.15em;
	line-height         : 1;
	/* position         : absolute;
	transform           : translateX(-50%);
	-webkit-transform   : translateX(-50%); */
	white-space         : nowrap;
	display             : flex;
	flex-direction      : column;
	align-items         : center;
}

.about_txt_1_wrap {
	padding-bottom: 40px;
}

.about_txt_in {
	margin-bottom: 28px;
	overflow     : hidden;
}

.about_txt_1_wrap .about_txt_in {
	margin-bottom: 24px;
}

.about_txt_in._1 {
	margin-bottom: 0;
}

.about_txt_in._2 {
	margin-top: -4px;
}

.about_txt .small {
	font-family   : "Roboto", sans-serif;
	font-size     : 24px;
	font-weight   : 400;
	letter-spacing: 0.1em;
}

.about_txt span {
	transform : translate(-40px, 105%);
	transition: transform cubic-bezier(0, 0.77, 0.31, 0.98) 0.8s;
	display   : inline-block;
}

.about_txt .about_txt_in._1 span {
	transition-delay: 0.2s;
}

.about_txt .about_txt_in._2 span {
	transition-delay: 0.4s;
}

.about_txt .about_txt_in._3 span {
	transition-delay: 0.6s;
}

.about_txt .about_txt_in._4 span {
	transition-delay: 0.8s;
}

.about_txt .about_txt_in._5 span {
	transition-delay: 1s;
}

.about_txt .about_txt_in._6 span {
	transition-delay: 1.2s;
}

.about_txt .about_txt_in._7 span {
	transition-delay: 1.4s;
}

.about_txt.is_show span {
	transform: translate(0, 0);
}

@media screen and (max-width: 1140px) {
	.about_item_txt {
		width: 50%;
	}
}

@media (max-width: 1100px) {
	.about_item .about_tit {
		font-size    : 32px;
		margin-bottom: 16px;
	}

	.about_txt {
		font-size: 40px;
	}

	.about_item .pic_1-1,
	.about_item .pic_1-2,
	.about_item .pic_1-3 {
		width: 360px;
	}
}

@media (max-width: 880px) {
	.about_item .about_tit {
		font-size: 28px;
	}

	.about_item .pic_1-1,
	.about_item .pic_1-2,
	.about_item .pic_1-3 {
		width: 315px;
	}

	.about_txt {
		font-size: 32px;
	}

	.about_txt_in._2 {
		margin-top: 0;
	}

	.about_txt .small {
		font-size: 18px;
	}

	.about_item .about_tit span {
		transform: translate(-30px, 105%);
	}

	.about_txt span {
		transform: translate(-30px, 105%);
	}

	.about_tit.is_show span {
		transform: translate(0, 0);
	}

	.about_txt.is_show span {
		transform: translate(0, 0);
	}
}

@media (max-width: 768px) {
	.top_about {
		padding-bottom: 560px;
	}

	.about_list {
		padding-bottom: 160px;
	}

	.about_item {
		display       : block;
		padding-bottom: 152px;
	}

	.about_item._2 {
		padding-bottom: 136px;
	}

	.about_item .txt {
		width: 100%;
	}

	.about_item_txt {
		margin: 0 auto;
		width : 100%;
	}

	.about_item .pic1-1,
	.about_item .pic1-2,
	.about_item .pic1-3 {
		text-align: center;
	}

	.about_item .pic_1-1,
	.about_item .pic_1-2,
	.about_item .pic_1-3 {
		width: 360px;
	}

	.about_item .pic1-1 {
		margin-top: 24px;
	}

	.about_item .pic1-2 {
		margin-top: 0;
	}

	.about_item .pic1-3 {
		margin-top: 0;
	}
}

@media (max-width: 420px) {
	.about_list {
		padding-bottom: 120px;
	}

	.about_item .about_tit {
		font-size     : 24px;
		letter-spacing: 0.13em;
	}

	.about_item .txt {
		font-size     : 16px;
		padding-bottom: 16px;
	}

	.about_item .pic_1-1,
	.about_item .pic_1-2,
	.about_item .pic_1-3 {
		width: 315px;
	}

	.about_txt {
		font-size: 25px;
	}

	.about_txt .small {
		font-size: 16px;
	}

	.about_txt_1_wrap {
		padding-bottom: 24px;
	}

	.top_about {
		padding-bottom: 240px;
		padding-top   : 200px;
	}
}

/* -------------- PERFORMANCE -------------- */
.top_performance {
	background    : #fff;
	/* padding-top: 160px; */
	width         : 100%;
	height        : auto;
}

.performance_wrap {
	margin  : 0 auto;
	position: relative;
	height  : 100%;
}

.performance_detail_wrap {
	align-items    : center;
	display        : flex;
	height         : 100%;
	justify-content: space-between;
}

.performance_pic_wrap {
	width          : 50%;
	height         : 100%;
	position       : relative;
	overflow       : hidden;
	display        : flex;
	align-items    : center;
	justify-content: center;
}

.perfomance-pic-cover {
	position        : absolute;
	width           : 100%;
	height          : 100%;
	top             : 0;
	right           : 0;
	background-color: #fff;
	z-index         : 10;
	transition      : all 1s ease;
}

.perfomance-pic-cover.is_show {
	width: 0;
}

.perfomance-pic {
	width     : 100%;
	object-fit: cover;
	transition: all 1s ease;
}

.perfomance-pic.is_show {
	width: 100%;
}

.performance_detail {
	width: 100%;
}

.perfomance_content {
	margin: 60px auto 30px
}

@media (min-width: 750px) {
	.perfomance-pic {
		height: 100%;
		width : auto;
	}

	.perfomance-pic.is_show {
		height: 100%;
		width : auto;
	}

	.performance_detail {
		width: 50%;
	}

	.top_performance {
		height: 1200px;
	}

	.perfomance_content {
		max-width      : 60%;
		margin         : 0 20px 0 100px;
		/* margin-left : 100px;
		margin-right   : 20px; */
	}
}



.performance_detail .tit_wrap {
	border-bottom : 1px solid #ccc;
	line-height   : 1;
	padding-bottom: 28px;
	margin-bottom : 32px;
}

.performance_detail .tit {
	font-size     : 30px;
	font-weight   : 500;
	letter-spacing: 0.15em;
	padding-bottom: 16px;
}

.performance_detail .update {
	color         : #72a7d4;
	letter-spacing: 0.15em;
}

.performance_detail .condition {
	padding-bottom: 16px;
	line-height   : 1.5;
}

.performance_detail .subtit {
	letter-spacing: 0.15em;
	padding-bottom: 28px;
}

.performance_detail table {
	letter-spacing: 0.15em;
	line-height   : 1;
	margin-bottom : 88px;
	width         : 100%;
}

.performance_detail table td {
	padding-bottom: 22px;
	width         : 40%;
}

.performance_detail table td.blue {
	color    : #72a7d4;
	font-size: 18px;
	width    : 55%;
}

.performance_detail .txt {
	letter-spacing: 0.15em;
	padding-bottom: 24px;
}

.performance_detail .txt a {
	color             : #999;
	transition        : 0.3s;
	-webkit-transition: 0.3s;
}

.performance_movie {
	max-width     : 1000px;
	position      : relative;
	padding-bottom: 56.25%;
	/*アスペクト比 16   :9の場合の縦幅*/
	height        : 0;
	overflow      : hidden;
}

.performance_movie iframe {
	position: absolute;
	top     : 0;
	left    : 0;
	width   : 100%;
	height  : 100%;
}

@media (min-width: 750px) {
	.performance_detail .txt a:hover {
		color: #000;
	}
}

@media (max-width: 950px) {
	.performance_pic {
		margin-left: -240px;
		width      : 700px;
	}
}

@media (max-width: 812px) {
	.performance_detail {
		width: 50%;
	}
}

@media (max-width: 750px) {
	.performance_wrap {
		margin   : 0 auto;
		max-width: 1000px;
		width    : 100%;
	}

	.performance_pic_wrap {
		overflow: hidden;
		position: static;
		top     : 0;
		width   : 100%;
	}

	.performance_pic {
		margin: 0 auto 48px;
		width : 600px;
	}

	.performance_detail {
		padding-top: 0;
		margin     : 0 auto;
		max-width  : 1000px;
		position   : relative;
		width      : 85%;
	}

	.performance_detail_wrap {
		display       : block;
		padding-bottom: 80px;
	}

	.performance_movie {
		margin   : 0 auto;
		max-width: 1000px;
		width    : 85%;
	}
}

@media (max-width: 540px) {
	.performance_pic {
		width: 460px;
	}

	.performance_detail .tit {
		font-size: 26px;
	}

	.performance_detail table {
		margin-bottom: 48px;
	}
}

@media (max-width: 400px) {
	.performance_pic {
		width: 350px;
	}

	.performance_detail table td {
		width: 50%;
	}

	.performance_detail table td.blue {
		font-size: 16px;
		width    : 50%;
	}
}

/* -------------- Q&A -------------- */
.top_qa {
	background: #fff;
	padding   : 192px 0 0;
	width     : 100%;
}

.qa_wrap {
	margin        : 0 auto;
	max-width     : 1100px;
	position      : relative;
	width         : 85%;
	padding-bottom: 130px;
}

.top_qa .tit_wrap {
	letter-spacing: 0.15em;
	line-height   : 1;
	padding-bottom: 52px;
	text-align    : center;
}

.top_qa .tit_wrap .qa_tit {
	font-family   : "Roboto", sans-serif;
	font-size     : 56px;
	font-weight   : 300;
	letter-spacing: 0.075em;
	padding-bottom: 16px;
}

.top_qa .tit_wrap .sub {
	color    : #72a7d4;
	font-size: 13px;
}

.qa_content_wrap {
	align-items    : flex-start;
	border-top     : 1px solid #ccc;
	display        : flex;
	flex-wrap      : wrap;
	justify-content: space-between;
	padding        : 50px 0 60px;
	gap            : 5%;
}

.qa_content_wrap .q_wrap {
	width  : 45%;
	display: flex;
}

.q_wrap .tit {
	font-size     : 24px;
	letter-spacing: 0.1em;
	padding-bottom: 10px;
}

.q_wrap span {
	font-family      : "Roboto";
	font-size        : 1rem;
	line-height      : 38.4px;
	margin-inline-end: 3rem;
}

.qa_content_wrap .a_wrap {
	width: 45%;
	color: #72a7d4;
}

.a_wrap .txt {
	letter-spacing: 0.1em;
	line-height   : 2;
}

@media (max-width: 750px) {
	.qa_content_wrap .q_wrap {
		width        : 100%;
		margin-bottom: 20px;
	}

	.qa_content_wrap .a_wrap {
		width: 100%;
	}

	.q_wrap span {
		margin-inline-end: 1.5rem;
	}
}

/* -------------- NEWS -------------- */
#news-card {
	background-color: #fff;
	padding         : 120px 20px;
}

/* -------------- News List -------------- */
.news-list {
	background-color: #fff;
	padding         : 80px 20px 100px;
}

/* -------------- Movies -------------- */
.movies {
	height         : 845px;
	position       : relative;
	display        : flex;
	align-items    : center;
	justify-content: center;
}

.movies_back {
	position  : absolute;
	width     : 100%;
	height    : 100%;
	overflow  : hidden;
	top       : 50%;
	left      : 50%;
	transform : translate(-50%, -50%);
	object-fit: contain;
}

.movies-cover {
	width           : 100%;
	height          : 100%;
	position        : absolute;
	top             : 0;
	left            : 0;
	background-color: #000;
	opacity         : 0.3;
	z-index         : 1;
}

.movies-content {
	color         : #fff;
	z-index       : 10;
	font-family   : 'Roboto', sans-serif;
	display       : flex;
	flex-direction: column;
	align-items   : center;
	gap           : 10px;
}

.movies-content img {
	transition: transform 0.6s ease;
	cursor    : pointer;
}

.movies-content img:hover {
	transform: scale(0.8);
}

@media (min-width: 750px) {}

@media (max-width: 750px) {
	.movies {
		height: 450px;
	}
}