@charset "utf-8";
body {
		background: #F3F4F5;
}
hgroup {
		display: flex;
		flex-direction: column-reverse;
}
hgroup.center {
		text-align: center;
}
hgroup .en {
		font-size: 62px;
		font-family: "Montserrat";
		font-style: italic;
		font-weight: 700;
		letter-spacing: 0;
		margin: 0 0 10px
}
hgroup.center .en {
		margin-bottom: 10px;
}
hgroup .en span {
		position: relative;
		background: linear-gradient(90deg, #FF5701, #ff9800 95%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		display: inline-block;
		padding-right: 20px;
		padding-bottom: 10px;
}
hgroup.center .en span {
		transform: translateX(20px)
}
hgroup .jp {
		font-size: 18px;
		font-weight: 700;
		padding-left: 20px;
		position: relative;
}
hgroup .jp::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		left: 0;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: linear-gradient(180deg, #ff7b00 0%, #ff8400 100%);
}
@media(max-width: 767px) {
		hgroup .en {
				font-size: 40px;
				margin-bottom: 15px;
		}
		.movie_section hgroup .en {
				font-size: 36px;
		}
		hgroup .jp {
				font-size: 14px;
		}
}
/* ============== */
.detailBtn {
		width: 210px;
		font-weight: 500;
}
.detailBtn a {
		color: #fff;
		text-decoration: none;
		border-radius: 60px;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		height: 60px;
		box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.02);
		position: relative;
		overflow: hidden;
		background: linear-gradient(90deg, #ffbd4c 70%, #ffa100 100%);
}
.detailBtn a::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(90deg, #ff6e00 0%, #ffa100 100%);
		pointer-events: none;
		transition: opacity 0.4s;
}
.detailBtn span {
		position: relative;
		z-index: 2;
		padding-right: 18px;
}
.detailBtn span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 6px);
		right: -10px;
		width: 16px;
		height: 13px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 16px;
		background-image: url("../images/top_detailBtn_arw_wht.png")
}
@media(max-width: 767px) {
		.detailBtn a {
				height: 50px
		}
		.detailBtn {
				width: 190px;
				margin-left: auto;
				margin-right: auto;
		}
}
@media (hover: hover) {
		.detailBtn a:hover::before {
				opacity: 0;
		}
}
/* ============= */
.message_section {
		padding: 160px 30px
}
.message_right p {
		opacity: 0;
		transition: opacity 0.35s;
}
.message_right p.fadeInNmlActive {
		opacity: 1 !important
}
@media(max-width: 1700px) {
		.message_section {
				padding-left: 100px;
				padding-right: 100px;
		}
}
@media(max-width: 1150px) {
		.message_section {
				padding: 80px 30px;
				padding-left: 80px;
				padding-right: 80px;
		}
}
@media(max-width: 960px) {
		.message_left p {
				font-size: 28px;
		}
		.message_right p {
				font-size: 16px;
		}
}
@media(max-width: 767px) {
		.message_section {
				padding: 60px 20px
		}
}
.message_inner {
		max-width: 1040px;
		margin: 0 auto;
		display: flex;
		position: relative;
		z-index: 5
}
.message_left {
		width: 490px;
}
.message_left hgroup {
		margin: 0 0 30px;
}
.message_left p {
		font-size: 46px;
		font-weight: 700;
		line-height: 1.6;
}
.message_left p.en {
		line-height: 1 !important;
}
.message_left hgroup {
		margin-bottom: 15px;
}
.message_right {
		flex: 1
}
.message_right p {
		line-height: 2.2;
		font-size: 19px;
		font-weight: 700;
}
@media(max-width: 1150px) {
		.message_left {
				width: auto;
				margin-right: 50px;
		}
		.message_left p {
				font-size: 40px;
		}
}
@media(max-width: 1000px) {
		.message_left {
				width: auto;
				margin-right: 25px;
		}
		.message_left p {
				font-size: 32px;
		}
		.message_right p {
				font-size: 17px;
		}
}
@media(max-width: 767px) {
		.message_right p {
				line-height: 2;
				font-size: 15px;
		}
		.message_left p {
				font-size: 28px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.message_inner {
				display: flex;
				padding-right: 60px;
		}
		.message_left p {
				font-size: 24px;
		}
		.message_right p {
				font-size: 14.5px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.message_inner {
				display: block
		}
		.message_left {
				width: auto;
				margin: 0 0 40px
		}
		.message_left p {
				font-size: 30px;
		}
}
/* ============= */
.about_section {
		padding: 43px 30px 90px;
		position: relative;
		overflow: hidden
}
@media(max-width: 1700px) {
		.about_section {
				padding-right: 100px;
		}
}
@media(max-width: 1400px) {
		.about_section {
				padding-left: 0;
		}
}
.about_section::before, .about_section::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: calc(calc(calc(100% - 1600px) * 0.5) + 200px);
		width: 100%;
		height: 576px;
		background: linear-gradient(180deg, #ff6e00 0%, #ffc300 100%);
		pointer-events: none;
		border-radius: 6px 0 0 6px;
}
.about_section::after {
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 50px;
		background-image: url("../images/wht_bg.png");
}
.about_inner {
		position: relative;
		z-index: 2;
		max-width: 1600px;
		margin: 0 auto
}
.about_bg {
		max-width: 1396px;
}
.about_bg img {
		border-radius: 6px;
		width: 100%;
		height: auto
}
@media(max-width: 1400px) {
		.about_bg img {
				border-radius: 0 6px 6px 0;
		}
}
.about_caption {
		padding-top: 40px;
		margin-left: 270px;
		width: 1126px;
}
.about_caption_flex {
		display: flex
}
.about_caption_left {
		margin-right: 120px;
}
.about_caption_right {
		flex: 1
}
.about_caption_right p {
		line-height: 1.8;
		margin-bottom: 40px;
		text-align: justify;
}
.about_caption_right .header_btn {
		margin: 0;
		width: 280px;
}
.about_caption_right .header_btn a {
		height: 60px
}
@media(max-width: 1700px) {
		.about_caption {
				width: auto;
				margin-left: 170px;
				padding-right: 20px;
		}
}
@media(max-width: 1500px) {
		.about_section::before, .about_section::after {
				height: calc(40vw - 40px)
		}
}
@media(max-width: 1360px) {
		.about_section::before, .about_section::after {
				left: inherit;
				right: 0;
				width: calc(100% - 60px);
		}
}
@media(max-width: 1200px) {
		.about_caption {
				margin-left: 30px;
		}
		.about_caption_left {
				margin-right: 60px;
		}
}
@media(max-width: 960px) {
		.about_caption {
				padding-top: 30px;
				margin-left: 0;
				padding-left: 30px;
				padding-right: 0;
				width: auto;
		}
		.about_caption_flex {
				display: block
		}
		.about_caption_left {
				width: auto;
				margin: 0 0 30px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.about_section {
				padding-top: 20px;
				padding-right: 20px;
				padding-bottom: 60px;
		}
		.about_bg img {
				border-radius: 0 4px 4px 0;
				aspect-ratio: 4 / 2.3;
				object-fit: cover;
		}
		.about_section::before, .about_section::after {
				width: calc(100% - 30px);
		}
		.about_section::before, .about_section::after {
				height: calc(60vw - 35px);
		}
		.about_caption_right .header_btn {
				margin: 0 auto;
				width: 220px;
		}
		.about_caption_right .header_btn a {
				height: 50px
		}
}
/* ============= */
.job_section {
		padding: 110px 30px;
}
@media(max-width: 1700px) {
		.job_section {
				padding-right: 100px;
		}
}
@media(max-width: 960px) {
		.job_section {
				padding-top: 80px;
				padding-bottom: 80px;
		}
}
@media(max-width: 767px) {
		.job_section {
				padding-top: 60px;
				padding-left: 20px;
				padding-bottom: 60px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.job_section {
				padding-right: 20px;
		}
}
.job_inner {
		max-width: 1120px;
		margin: 0 auto;
		display: flex;
}
.job_inner_left {
		width: 420px;
}
.job_inner_left hgroup {
		margin-bottom: 40px;
}
.job_inner_right {
		flex: 1
}
.job_inner_right p {
		line-height: 1.8;
		margin-bottom: 30px;
}
.job_inner_right ul {
		list-style: none
}
.job_inner_right li {
		margin-bottom: 12px;
		font-weight: 700;
		border-radius: 6px;
		overflow: hidden;
		background: linear-gradient(180deg, #ff6e00 0%, #ffa100 100%);
		border: 1px solid #fff;
}
.job_inner_right li a {
		display: flex;
		align-items: center;
		height: 90px;
		box-sizing: border-box;
		color: #222;
		background: #fff;
		text-decoration: none;
		box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.02);
		padding-left: 35px;
		position: relative;
		transition: background 0.4s;
}
.job_inner_right li a::before, .job_inner_right li a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 22px);
		right: 37px;
		width: 44px;
		height: 44px;
		border-radius: 50%;
		transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
		pointer-events: none
}
.job_inner_right li a::before {
		background: linear-gradient(180deg, #ff6e00 0%, #ffa100 100%);
}
.job_inner_right li a::after {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 44px;
		background-image: url("../images/top_arw_en_wht.png")
}
@media (hover: hover) {
		.job_inner_right li a:hover {
				background: rgba(255, 255, 255, 0);
				color: #fff;
				border: 1px solid #ff5a01;
		}
		.job_inner_right li a:hover::before {
				transform: scale(1.15);
				background: #fff;
		}
		.job_inner_right li a:hover::after {
				background-image: url("../images/top_arw_en_org.png")
		}
}
@media(max-width: 1200px) {
		.job_inner_left {
				width: auto;
				margin-right: 60px;
		}
}
@media(max-width: 960px) {
		.job_inner {
				display: flex;
				flex-direction: column;
		}
		.job_inner_left {
				width: auto;
				display: contents;
		}
		.job_inner_left hgroup {
				margin-bottom: 40px;
		}
		.job_inner_right {
				display: contents;
		}
		.job_inner_left hgroup {
				order: 1;
		}
		.job_inner_right p {
				order: 2;
				margin-bottom: 30px;
		}
		.job_inner_right ul {
				order: 3;
				margin-bottom: 30px;
		}
		.job_inner_left .detailBtn {
				order: 4;
		}
}
@media(max-width: 767px) {
		.job_inner_right li a {
				height: 70px;
				padding-left: 20px;
				position: relative;
		}
		.job_inner_right li a::before, .job_inner_right li a::after {
				top: calc(50% - 15px);
				right: 15px;
				width: 30px;
				height: 30px;
		}
		.job_inner_right li a::after {
				background-size: 30px;
		}
}
/* ============== */
.environment_section {
		padding: 0 30px 120px;
}
@media(max-width: 767px) {
		.environment_section {
				padding: 0px 20px 80px;
		}
}
.environment_wrap {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url("../images/top_environment_bg_pc.jpg?2605");
		max-width: 1545px;
		margin: 0 auto;
		border-radius: 6px;
		color: #fff;
		display: flex;
		align-items: center;
		aspect-ratio: 10 / 3;
		box-sizing: border-box;
		padding-left: 130px;
}
.environment_inner {
		width: 640px;
}
.environment_inner hgroup {
		margin-bottom: 40px;
}
.environment_inner hgroup + p {
		line-height: 1.8;
		margin-bottom: 60px;
}
@media(max-width: 1500px) {
		.environment_wrap {
				aspect-ratio: unset;
				padding: 60px 120px;
		}
		.environment_inner {
				width: auto;
				padding-right: 50px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.environment_inner {
				padding-right: 40px;
		}
}
@media(max-width: 1200px) {
		.environment_wrap {
				padding: 60px 80px;
		}
}
@media(max-width: 960px) {
		.environment_wrap {
				aspect-ratio: unset;
				padding: 50px 60px;
		}
}
@media(max-width: 767px) {
		.environment_wrap {
				padding: 30px 20px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.environment_inner {
				padding-right: 20px;
		}
}
/* ============== */
.movie_section {
		padding: 90px 0;
}
.movie_inner {
		padding: 0 30px;
}
@media(max-width: 1700px) {
		.movie_inner {
				padding-right: 100px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.movie_inner {
				padding: 0 15px;
		}
}
.movie_section hgroup {
		margin-bottom: 50px;
}
.movie_section hgroup .jp {
		padding-left: 0;
}
.movie_section hgroup .jp::before {
		display: none
}
.movie_wrap {
		max-width: 1000px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
@media(max-width: 1700px) {
		.movie_wrap {
				padding-right: 100px;
		}
}
.movie_wrap video {
		width: 100%;
		height: auto;
		border-radius: 10px;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.movie_wrap {
				padding: 0 20px;
		}
}
/* ================= */
.interview_section {
		padding: 0 0 90px
}
@media(max-width: 767px) {
		.interview_section {
				padding-bottom: 60px;
		}
}
.other_inner {
		display: flex;
		align-items: flex-end;
		max-width: 1270px;
		margin: 0 auto 40px
}
@media(max-width: 1700px) {
		#toppage .other_inner {
				padding-right: 100px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		#toppage .other_inner {
				padding: 0 20px;
		}
}
.other_inner_left {
		width: 390px;
}
.other_inner_right {
		flex: 1
}
.other_inner_right p {
		line-height: 1.8;
		text-align: justify;
}
@media(max-width: 1200px) {
		.other_inner_left {
				width: auto;
				margin-right: 60px;
		}
}
@media(max-width: 960px) {
		.other_inner {
				display: block;
		}
		.other_inner_left {
				width: auto;
				margin: 0 0 40px;
		}
}
/* ================ */
.entry_inner h3 {
		font-size: 78px;
		font-family: "Montserrat";
		font-style: italic;
		font-weight: 700;
		letter-spacing: 0;
		text-align: center;
		margin-bottom: 45px;
}
.entry_inner h3 span {
		position: relative;
		background: linear-gradient(90deg, #FF5701, #ff9800 95%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		padding-right: 10px;
		left: 5px;
}
@media(max-width: 960px) {
		.entry_inner h3 {
				font-size: 62px;
		}
}
@media(max-width: 767px) {
		.entry_inner h3 {
				font-size: 50px;
				margin-bottom: 30px;
		}
}
.entry_section {
		padding: 80px 30px;
		background: #fff;
}
@media(max-width: 1700px) {
		.entry_section {
				padding-right: 100px;
		}
}
@media(max-width: 767px) {
		.entry_section {
				padding-top: 60px;
				padding-bottom: 60px;
				padding-left: 20px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.entry_section {
				padding-right: 20px;
		}
}
.entry_inner {
		max-width: 1414px;
		margin: 0 auto
}
.entry_inner h3 + p {
		text-align: center;
		font-size: 26px;
		font-weight: 700;
		line-height: 1.8;
		margin-bottom: 40px;
}
@media(min-width: 961px) {
		.entry_inner h3 + p br {
				display: none
		}
}
.entry_inner h3 + p strong {
		position: relative;
		background: linear-gradient(90deg, #FF5701, #ff9800 95%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		font-weight: 700;
}
.entry_inner p {
		line-height: 1.8;
		text-align: center;
}
.entry_btn_flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: 60px;
}
.entry_btn {
		width: calc(calc(100% - 56px) / 3);
}
.entry_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 145px;
		text-align: center;
		position: relative;
		border-radius: 6px;
		overflow: hidden;
		text-decoration: none;
		color: #fff;
		box-sizing: border-box;
}
.entry_btn a .arw {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 25px);
		right: 25px;
		width: 50px;
		height: 50px;
}
.entry_btn a .arw::before, .entry_btn a .arw::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 50px;
		height: 50px;
}
.entry_btn a .arw::before {
		background: #fff;
		border-radius: 50%;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.entry_btn a .arw::after {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 50px;
		border-radius: 50%;
}
.entry_btn a.orgGd .arw::after {
		background-image: url("../images/top_entry_btn_org_arw.png");
}
.entry_btn a.gldGd .arw::after {
		background-image: url("../images/top_entry_btn_gld_arw.png");
}
.entry_btn a.redGd .arw::after {
		background-image: url("../images/top_entry_btn_red_arw.png");
}
.entry_btn a::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.entry_btn a.orgGd::before {
		background: linear-gradient(45deg, #f64200 18%, #ff9000 76%, #f64200 97%);
}
.entry_btn a.gldGd::before {
		background: linear-gradient(45deg, #e9a000 18%, #ffee30 76%, #e9a000 97%);
}
.entry_btn a.redGd::before {
		background: linear-gradient(45deg, #ea3030 18%, #fd7070 76%, #cb1d1d 97%);
}
@media (hover: hover) {
		.entry_btn a:hover .arw::before {
				transform: scale(1.2)
		}
		.entry_btn a:hover::before {
				left: -100%;
				width: 200%;
		}
}
.entry_btn a .in {
		position: relative;
		z-index: 2
}
.entry_btn .en {
		font-size: 14px;
		font-family: "Montserrat";
		margin-bottom: 10px;
		font-weight: 500;
		letter-spacing: 0.04em;
}
.entry_btn .jp {
		font-size: 25px;
		font-weight: 600;
		letter-spacing: 0.04em;
}
@media(max-width: 1200px) {
		.entry_btn {
				width: calc(calc(100% - 30px) / 3);
		}
		.entry_btn a {
				height: 100px
		}
		.entry_btn a .arw {
				top: calc(50% - 18px);
				right: 15px;
				width: 36px;
				height: 36px;
		}
		.entry_btn a .arw::before, .entry_btn a .arw::after {
				width: 36px;
				height: 36px;
		}
		.entry_btn a .arw::after {
				background-size: 36px;
		}
		.entry_btn .en {
				font-size: 12px;
				margin-bottom: 10px;
		}
		.entry_btn .jp {
				font-size: 20px;
		}
}
@media(max-width: 960px) {
		.entry_btn {
				width: calc(calc(100% - 20px) / 3);
		}
		.entry_btn a {
				height: 80px
		}
		.entry_btn a .arw {
				top: calc(50% - 158px);
				right: 10px;
				width: 30px;
				height: 30px;
		}
		.entry_btn a .arw::before, .entry_btn a .arw::after {
				width: 30px;
				height: 30px;
		}
		.entry_btn a .arw::after {
				background-size: 30px;
		}
		.entry_btn .en {
				font-size: 10px;
				margin-bottom: 7px;
		}
		.entry_btn .jp {
				font-size: 17px;
		}
}
@media(max-width: 767px) {
		.entry_btn a {
				height: 70px
		}
		.entry_btn .en {
				font-size: 11px;
				margin-bottom: 5px;
		}
		.entry_btn .jp {
				font-size: 18px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.entry_inner p {
				text-align: justify;
		}
		.entry_inner h3 + p {
				font-size: 20px;
				margin-bottom: 30px;
				text-align: center;
		}
		.entry_btn_flex {
				display: block;
				margin: 50px auto 0;
				max-width: 320px;
		}
		.entry_btn {
				width: 100%;
				margin: 0 0 15px;
		}
		.entry_btn_flex .entry_btn:last-child {
				margin-bottom: 0;
		}
		.entry_btn a .arw {
				top: calc(50% - 15px);
				right: 15px;
				width: 30px;
				height: 30px;
		}
		.entry_btn a .arw::before, .entry_btn a .arw::after {
				width: 30px;
				height: 30px;
		}
		.entry_btn a .arw::after {
				background-size: 30px;
		}
}
/* =============== */
.interview_footer {
		max-width: 1080px;
		margin: 0 auto;
		padding: 50px 30px 0;
}
@media(max-width: 1700px) {
		.interview_footer {
				padding-right: 100px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.interview_footer {
				padding: 40px 20px 0;
		}
}
/* =============== */
.movie_section {
		background: #fff;
		padding: 90px 0
}
@media(max-width: 767px) {
		.movie_section {
				padding: 60px 0;
		}
}
.movie_container {
		position: relative;
}
.movie_container .loop_wrap {
		overflow: hidden;
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		transform: translateY(-50%)
}
.loop_slider, .reverse_slider {
		display: flex;
		width: 100%;
		overflow: hidden;
}
.loop_slider {
		position: relative;
		pointer-events: none;
		z-index: -1;
}
.loop_inner, .reverse_inner {
		display: flex;
}
.loop_inner:first-child {
		animation: loop 120s linear infinite;
}
.loop_inner:nth-child(2) {
		animation: loop2 120s -80s linear infinite;
}
.loop_inner:last-child {
		animation: loop3 120s -40s linear infinite;
}
.reverse_slider .reverse_inner:first-child {
		animation: loop4 120s linear infinite;
}
.reverse_slider .reverse_inner:nth-child(2) {
		animation: loop5 120s -80s linear infinite;
}
.reverse_slider .reverse_inner:last-child {
		animation: loop6 120s -40s linear infinite;
}
.loop_item {
		width: 1495px;
}
.loop_item img {
		width: 100%;
		height: auto;
		mix-blend-mode: multiply;
}
@media(max-width: 960px) {
		.loop_item {
				width: 1200px;
		}
}
@media(max-width: 767px) {
		.loop_item {
				width: 840px;
		}
}
@keyframes loop {
		0% {
				transform: translateX(200%);
		}
		to {
				transform: translateX(-100%);
		}
}
@keyframes loop2 {
		0% {
				transform: translateX(100%);
		}
		to {
				transform: translateX(-200%);
		}
}
@keyframes loop3 {
		0% {
				transform: translateX(0%);
		}
		to {
				transform: translateX(-300%);
		}
}
@keyframes loop4 {
		0% {
				transform: translateX(-100%);
		}
		to {
				transform: translateX(200%);
		}
}
@keyframes loop5 {
		0% {
				transform: translateX(-200%);
		}
		to {
				transform: translateX(100%);
		}
}
@keyframes loop6 {
		0% {
				transform: translateX(-300%);
		}
		to {
				transform: translateX(0%);
		}
}