@charset "utf-8";
.modal_overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 110vh;
		background: rgba(0, 0, 0, 0.5);
		display: none;
		z-index: 6000;
}
#movie_more .modal_overlay {
		background: rgba(243, 241, 234, 0.9);
}
.modal_container {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		display: none;
		z-index: 1000;
		box-sizing: border-box;
		padding-bottom: 50px;
}
.modal_container .modal_close {
		position: absolute;
		top: 35px;
		right: 35px;
		width: 50px;
		height: 50px;
		cursor: pointer;
}
.modal_container .modal_wrap2 .modal_close {
		top: 15px;
}
.modal_close::before, .modal_close::after {
		content: '';
		display: block;
		position: absolute;
		top: 24.5px;
		left: 8px;
		width: 34px;
		height: 1px;
		background: #333;
		pointer-events: none;
}
@media (hover: hover) {
		.modal_close:hover::before, .modal_close:hover::after {
				background: #BE008A;
		}
}
.modal_close::before {
		transform: rotate(45deg);
}
.modal_close::after {
		transform: rotate(-45deg);
}
.modal_wrap {
		position: relative;
		background: #f3f1ea;
		max-width: 980px;
		min-height: 400px;
		margin: 80px auto;
		padding: 50px 0 80px 0;
		transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
		box-sizing: border-box;
		z-index: 8000;
}
#about_ochori .modal_wrap {
		min-height: 600px;
}
@media(max-width: 767px) {
		#about_ochori .modal_wrap {
				min-height: 100vh;
		}
}
#movie_more .modal_wrap {
		background: none;
		padding: 90px 45px 0;
		max-width: 1200px;
}
@media(max-height: 900px) and (min-width: 1195px) {
		#movie_more .modal_wrap {
				margin-top: 0;
				max-width: 900px;
		}
}
#movie_more .modal_wrap video {
		width: 100%;
		height: auto;
}
@media(max-width: 1194px) {
		.verLandscape .modal_wrap {
				margin-top: 0;
				margin-bottom: 0;
		}
}
#news_more .modal_wrap {
		margin-top: 0;
		margin-bottom: 0;
}
.modal_wrap2 {
		position: relative;
		background: #f3f1ea;
		max-width: 980px;
		min-height: 400px;
		margin: 0 auto;
		padding: 80px 50px 100px;
		transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
		box-sizing: border-box;
		z-index: 8000;
}
.modal_cont_sp {
		overflow-y: auto;
		height: calc(100vh - 350px);
		padding-right: 80px;
		padding-top: 40px;
		padding-left: 100px;
}
@media(max-width: 1194px) {
		.modal_cont_sp {
				height: calc(100vh - 100px);
		}
}
#news_more .modal_cont_sp {
		height: calc(100vh - 150px);
}
.modal_wrap .news_item_flex_col {
		width: 100%;
}
.modal_wrap .news_item_figure {
		width: 160px;
}
.modal_wrap .news_item {
		margin-bottom: 30px;
}
.modal_wrap .news_item_caption p {
		font-size: 15px;
}
.modal_wrap .news_item_caption_hdr {
		font-size: 14px;
}
.modal_wrap .section_title {
		margin: 0 0 50px;
		pointer-events: none;
}
.aboutModal .section_title {
		margin-left: 100px;
}
.modal_wrap .section_title .section_title_en {
		font-size: 70px;
}
.section_title_jp.off {
		opacity: 1 !important
}
#contact_more .modal_wrap {
		margin-top: 0;
		margin-bottom: 0;
		height: 100vh;
}
#contact_more .modal_cont_sp {
		height: calc(100vh - 100px);
}
@media(max-width: 1194px) {
		#movie_more .modal_wrap {
				max-width: 900px;
		}
}
@media(max-width: 840px) {
		.modal_wrap {
				margin-top: 0;
				padding-top: 70px;
		}
		#movie_more .modal_wrap {
				padding: 70px 25px 0;
		}
		.modal_cont_sp {
				overflow-y: auto;
				height: calc(100vh - 190px);
				padding-right: 70px;
				padding-top: 40px;
				padding-left: 60px;
		}
		.modal_wrap .news_item_figure {
				width: 100%;
		}
		.modal_container .modal_close {
				position: absolute;
				top: 15px;
				right: 15px;
		}
}
@media(max-width: 767px) {
		.modal_container .modal_close {
				position: absolute;
				top: 10px;
				right: 10px;
		}
		.modal_wrap {
				padding: 60px 0px 30px 20px;
				margin: 0;
				box-sizing: border-box;
				height: 100vh;
		}
		#movie_more .modal_wrap {
				padding: 15vh 0px 0;
		}
		.modal_cont_sp {
				overflow: auto;
				height: calc(100vh - 100px);
				padding-left: 0;
				padding-right: 20px;
				padding-top: 40px;
		}
		.modal_wrap .section_title {
				margin-bottom: 30px;
		}
		.aboutModal .section_title {
				margin-left: 0;
		}
		.modal_wrap .section_title .section_title_en {
				font-size: 36px;
		}
		.modal_wrap .section_title .section_title_jp {
				font-size: 15px;
		}
		.modal_wrap .news_item_flex {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				width: 100%;
				padding-bottom: 100px;
		}
		.modal_wrap .news_item_flex_col {
				width: 100%;
				display: flex;
				justify-content: space-between;
				margin: 0 0 50px;
		}
		.modal_wrap .news_item_figure {
				width: 100%;
		}
		.modal_wrap .news_item {
				margin-bottom: 0;
		}
		.modal_wrap .news_item_caption p {
				font-size: 13px;
		}
		.modal_wrap .news_item_caption_hdr {
				font-size: 12px;
		}
}
/* =============== */
.origin_flex {
		display: flex;
		justify-content: space-between;
		padding-top: 50px;
}
.origin_flex_left p {
		line-height: 2.0;
		margin: 0 0 2em;
}
.origin_flex_right {
		width: 320px;
}
.origin_flex_right_figure img {
		width: 100%;
		height: auto;
}
.origin_flex_right_figure {
		margin-bottom: 30px;
}
@media(max-width: 1194px) {
		.origin_flex {
				display: block;
				padding-top: 0;
				padding-bottom: 100px;
		}
}
/* =============== */
.staff_flex {
		display: flex;
}
.staff_flex_left {
		width: 200px;
		margin-right: 55px;
}
.staff_figure {
		margin: 0 0 20px;
}
.staff_figure img {
		width: 100%;
		height: auto;
}
.staff_name {
		margin: 0 0 5px
}
.staff_job {
		font-family: 'Inter', sans-serif;
		font-weight: 400;
		line-height: 1;
		font-size: 85%;
		margin: 0 0 20px;
}
.join {
		font-family: 'Inter', sans-serif;
		font-weight: 400;
		font-size: 85%;
}
.staff_flex_right {
		flex: 1;
}
.staff_flex_right h3 {
		font-size: 24px;
		font-weight: 500;
		line-height: 1.6;
		margin: 0 0 50px;
}
.staff_flex_right h4 {
		font-size: 20px;
		margin: 50px 0 20px;
		font-weight: 500;
}
.staff_flex_right p {
		line-height: 1.8;
		font-size: 15px;
}
@media(max-width: 1194px) {
		.staff_flex {
				display: block;
				padding-bottom: 200px;
		}
		.staff_flex_left {
				width: 70%;
				margin: 0 auto 50px;
				font-size: 17px;
		}
		.staff_job, .join {
				font-size: 15px;
		}
		.staff_figure {
				margin: 0 0 15px;
		}
		.staff_flex_right h3 {
				font-size: 24px;
				margin: 0 0 55px;
		}
		.staff_flex_right h4 {
				font-size: 20px;
				margin: 50px 0 20px;
		}
		.origin_flex_right {
				width: 100%;
				margin: 0 auto 0px;
				max-width: inherit;
				padding-bottom: 80px;
		}
		.origin_flex_right_figure {
				margin: 0 0 20px;
				width: 100%;
		}
}
@media(max-width: 767px) {
		.origin_flex_left p {
				line-height: 2.0;
				margin: 0 0 1em;
		}
		.origin_flex_left {
				padding-bottom: 30px;
		}
		.staff_flex_left {
				font-size: 15px !important;
		}
		.staff_job, .join {
				font-size: 13px !important;
		}
}
/* ==================== */
.about_modal_sb {
		width: 195px;
		margin: 0 auto 30px;
}
.about_modal_input_flex {
		display: flex;
		justify-content: space-between;
		width: 510px;
		margin: 0 auto;
		position: relative;
}
.about_modal_first {
		position: relative;
		padding-bottom: 20px;
}
.about_modal_first .memory_cont {
		position: absolute;
		width: 100%;
		height: 30vh;
		top: 0;
		left: 0;
		background: #f3f1ea;
		z-index: 10;
		display: flex;
		justify-content: center;
		display: none;
		padding: 7vh 0 0vh;
		box-sizing: border-box;
}
@media(max-width: 1194px) {
		.about_modal_first .memory_cont {
				height: 50vh;
				padding: 10vh 0 0vh;
		}
}
@media(max-width: 840px) {
		.about_modal_first .memory_cont {
				height: 50vh;
				padding: 10vh 0 0vh;
		}
}
.about_modal_first .about_input_error {
		position: absolute;
		bottom: -20px;
		left: 0;
		width: 100%;
		display: none;
		text-align: center;
		color: #BE008A;
		font-size: 20px;
		font-family: 'Inter', sans-serif;
		font-weight: 500;
}
.memory_cont_btn {
		width: 490px;
		font-size: 32px;
		font-family: 'Inter', sans-serif;
		font-weight: 500;
}
.memory_cont_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 96px;
		border: 2px solid #393939;
		border-radius: 60px;
		text-decoration: none;
		transition: background 0.3s;
		color: #393939;
		position: relative;
}
.memory_cont_btn a::before, .memory_cont_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		right: 50px;
		width: 9px;
		height: 9px;
}
.memory_cont_btn a::before {
		border: 1px solid #393939;
}
.memory_cont_btn a::after {
		border-top: 1px solid #393939;
		border-right: 1px solid #393939;
		width: 7px;
		height: 7px;
		top: calc(50% - 6px);
		right: 48px;
}
@media (hover: hover) {
		.memory_cont_btn a:hover {
				background: #393939;
				color: #fff;
		}
		.memory_cont_btn a:hover::before {
				border: 1px solid #fff;
		}
		.memory_cont_btn a:hover::after {
				border-top: 1px solid #fff;
				border-right: 1px solid #fff;
		}
}
.about_modal_first::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -25px;
		left: 0;
		width: 100%;
		height: 160px;
		pointer-events: none;
		transition: all 0.5s;
		z-index: 5;
}
.about_modal_first.isBack::after {
		background: none;
		pointer-events: all;
}
.about_modal_input_item {
		width: 75px;
}
.about_modal_input_hd {
		margin: 0 0 9px;
}
.about_modal_input_hd img {
		width: 100%;
		height: auto;
}
.about_modal_input_item input {
		width: 100%;
		height: 90px;
		text-align: center;
		box-sizing: border-box;
		padding: 10px 0;
		border: none;
		font-family: 'Inter', sans-serif;
		font-weight: 500;
		font-size: 36px;
		text-transform: uppercase;
}
.about_form_flex {
		display: flex;
		align-items: center;
}
.about_modal_input_flex .about_txt {
		position: absolute;
		top: 27.5px;
		left: -96px;
		width: 75px;
}
.about_modal_input_flex .about_arw {
		position: absolute;
		right: -82px;
		top: 24px;
}
.about_arw {
		width: 52px;
		opacity: 0.5;
		position: relative;
}
.about_arw.isActive {
		opacity: 1;
}
.about_arw::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 47px;
		height: 47px;
		pointer-events: none;
		background: url("../images/about_modal_arw.png") no-repeat 0 0;
		background-size: 100%;
		border-radius: 50%;
		border: 2px solid #393939;
		transition: all 0.3s;
}
@media (hover: hover) {
		.about_arw.isActive:hover::before {
				background: url("../images/about_modal_arw_on.png") no-repeat 0 0;
				background-size: 100%;
				border: 2px solid #be008a;
		}
}
.about_arw .about_arw_cover {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #f3f1ea;
		opacity: 0.8;
		z-index: 10;
}
.about_arw.isActive .about_arw_cover {
		display: none;
}
.about_arw input {
		opacity: 0;
		display: block;
		width: 52px;
		height: 52px;
		border: none;
		background: none;
}
.about_arw.isActive input {
		cursor: pointer;
}
.isBack .about_txt, .isBack .about_arw {
		display: none
}
@media(min-width: 768px) {
		.about_txtSP {
				display: none;
		}
}
@media(max-width: 767px) {
		.modal_wrap.aboutModal {
				padding: 70px 30px 20px;
				margin: 0;
				height: inherit;
				box-sizing: border-box;
				height: 100vh;
				height: 100dvh;
		}
		.about_modal_input_flex {
				width: auto;
				box-sizing: border-box;
				padding: 0 5px;
		}
		.about_modal_input_item {
				width: 14.5%;
		}
		.about_modal_input_flex .about_txt {
				display: none;
		}
		.about_modal_input_item input {
				width: 100%;
				height: auto;
				padding: 15px 10px !important;
				font-size: 20px;
		}
		.about_modal_sb {
				width: 48vw;
				max-width: 160px;
				margin: 40px auto 40px;
		}
		.about_txtSP {
				width: 100%;
				text-align: center;
				margin: 0 0 25px;
				font-family: 'Inter', sans-serif;
				font-weight: 500;
				font-size: 18px;
		}
		.about_arw {
				width: 64px;
				height: 64px;
		}
		.about_modal_input_flex .about_arw {
				right: inherit;
				left: calc(50% - 26px);
				top: inherit;
				bottom: -130px;
		}
		.about_arw::before {
				width: 60px;
				height: 60px;
		}
		.about_arw input {
				display: block;
				width: 60px;
				height: 60px;
		}
		.about_modal_first {
				padding-bottom: 150px;
		}
		.memory_cont_btn {
				width: 100%;
				font-size: 18px;
		}
		.memory_cont_btn a {
				height: 54px;
		}
		.memory_cont_btn a::before, .memory_cont_btn a::after {
				right: 30px;
		}
		.memory_cont_btn a::after {
				right: 28px;
		}
		/* ============= */
		.about_modal_cont {
				overflow: auto;
				height: calc(100vh - 80px);
		}
}
@media(max-width: 400px) {
		.about_modal_sb {
				margin-bottom: 20px;
		}
		.about_txtSP {
				margin: 0;
		}
		.about_modal_input_flex .about_arw {
				bottom: -90px;
		}
}