@charset "utf-8";
/* -----------------------------------------------
= common
----------------------------------------------- */
body {
	opacity: 0;
	transition: opacity .8s;
}
body.visible {
	opacity: 1;
}
/* -----------------------------------------------
= main_contents
----------------------------------------------- */
.main_contents {
	clip-path: inset(0);
	background: #fff;
}
/* -----------------------------------------------
= main_bg_movie
----------------------------------------------- */
.main_bg_movie {
	position: fixed;
	inset: 0;
	z-index: -5;
	overflow: hidden;
	opacity: 0;
	transition: opacity .8s;
}
.visible .main_bg_movie {
	opacity: 1;
}
.main_bg_movie::before,
.main_bg_movie::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: radial-gradient(rgba(0,0,0,.36), rgba(123,123,123,.36));
	mix-blend-mode: multiply;
	pointer-events: none;
}
.main_bg_movie_inner {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.main_bg_movie iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: 177.05vw;
	min-width: 56.48vh;
	min-height: 100vh;
	border: none;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity 1s;
}
.main_bg_movie iframe.is-active {
	opacity: 1;
}
@media print, screen and (min-width: 768px) {/* PC */
.main_bg_movie iframe {
	height: 56.25vw;
	min-width: 177.78vh;
}
}/* @media */
/* -----------------------------------------------
= main
----------------------------------------------- */
.main {
	position: relative;
	z-index: 1;
	height: 100svh;
	color: #fff;
	overflow: hidden;
}
.main .inner {
	position: absolute;
	top: 50%;
	left: 3rem;
	width: calc(100% - 3rem);
	transform: translateY(-60%);
}
.main h1 {
	position: absolute;
	right: 2.6rem;
	bottom: 1.5em;
	width: 3.9rem;
}
.main .en .row {
	display: block;
	overflow: hidden;
}
.main .en .row span {
	display: block;
	font-family: "Josefin Sans", sans-serif;
	font-size: calc(64 / 390 * 100vw);
	font-weight: 200;
	line-height: calc(72 / 64);
	letter-spacing: .03em;
	transform: translateY(110%);
	transition: transform .8s ease;
}
.visible .main .en .row span {
	transform: translateY(0);
}
.visible .main .en .row:nth-child(1) span {
	transition-delay: .8s;
}
.visible .main .en .row:nth-child(2) span {
	transition-delay: 1s;
}
.visible .main .en .row:nth-child(3) span {
	transition-delay: 1.2s;
}
.visible .main .en .row:nth-child(4) span {
	transition-delay: 1.4s;
}
.main .swiper {
	height: 100svh;
}
@media print, screen and (min-width: 768px) {/* PC */
.main {
	height: 100vh;
}
.main .inner {
	left: 13.6rem;
	width: calc(100% - 13.6rem);
	transform: translateY(-40%);
}
.main h1 {
	right: 18rem;
	top: 3.3rem;
	bottom: auto;
	width: 5.3rem;
}
.main .en .row span {
	font-size: 13rem;
	line-height: calc(138 / 130);
}
.main .swiper {
	height: 100vh;
}
}/* @media */
/* -----------------------------------------------
= swiper-pagination
----------------------------------------------- */
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	position: static;
	width: auto;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	width: 2.1rem;
	height: 1px;
	margin: 0;
	background: transparent;
	border-top: .1rem dotted #000;
	border-radius: 0;
	opacity: .6;
	vertical-align: middle;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
	border-top: .1rem solid #000;
	opacity: 1;
}
/* -----------------------------------------------
= swiper-button
----------------------------------------------- */
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
	opacity: 0;
}
.swiper-button-prev {
	left: .8rem;
}
.swiper-button-next {
	right: .8rem;
}
.swiper-button-prev,
.swiper-button-next {
	width: 4.5rem;
	height: 4.5rem;
	background: rgba(38,38,38,.5);
	backdrop-filter: blur(30px);
}
.swiper-button-prev::after,
.swiper-button-next::after {
	content: "";
	position: absolute;
	top: calc(50% - .4rem);
	width: .4rem;
	height: .4rem;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
.swiper-button-prev::after {
	left: calc(50% - .2rem);
	transform: rotate(-135deg);
}
.swiper-button-next::after {
	left: calc(50% - .4rem);
	transform: rotate(45deg);
}
@media print, screen and (min-width: 768px) {/* PC */
.swiper-button-prev {
	left: 5.9rem;
}
.swiper-button-next {
	right: 5.9rem;
}
.swiper-button-prev,
.swiper-button-next {
	width: 6.4rem;
	height: 6.4rem;
}
.swiper-button-prev::after,
.swiper-button-next::after {
	top: calc(50% - .5rem);
	width: .5rem;
	height: .5rem;
}
.swiper-button-prev::after {
	left: calc(50% - .3rem);
}
.swiper-button-next::after {
	left: calc(50% - .5rem);
}
}/* @media */
/* -----------------------------------------------
= fix_menu
----------------------------------------------- */
.fix_menu {
	position: fixed;
	left: 1.6rem;
	bottom: 10rem;
	z-index: 5;
	width: 18.2rem;
}
.fix_menu button {
	position: relative;
	width: 100%;
	padding: 1.4rem 1.8rem;
	color: #fff;
	background: #FF1100;
	border: 1px solid #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 1.1rem;
	text-align: left;
	letter-spacing: .03em;
}
.fix_menu button::after {
	content: "";
	position: absolute;
	top: calc(50% - .4rem);
	right: 1.8rem;
	width: .4rem;
	height: .4rem;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: rotate(45deg);
}
.fix_menu button[aria-expanded="true"]::after {
	top: calc(50% - .2rem);
	transform: rotate(-135deg);
}
.fix_menu ul {
	position: absolute;
	left: 0;
	bottom: 4.5rem;
	width: 100%;
	padding: 1.6rem 1rem 1.6rem 1.8rem;
	box-sizing: border-box;
	color: #fff;
	background: #FF1100;
	border: 1px solid #fff;
	opacity: 0;
	pointer-events: none;
	transition: opacity .4s;
}
.fix_menu button[aria-expanded="true"] + ul {
	opacity: 1;
	pointer-events: auto;
}
.fix_menu ul li + li {
	margin-top: 1.2rem;
}
.fix_menu ul li a {
	display: inline-block;
	position: relative;
	padding-left: 1.2rem;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 1.1rem;
	line-height: 1.3;
	letter-spacing: .03em;
	opacity: .6;
}
.fix_menu ul li.is-active a {
	opacity: 1;
}
.fix_menu ul li a::before {
	content: "";
	position: absolute;
	top: calc(50% - .4rem);
	left: 0;
	width: .4rem;
	height: .4rem;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: rotate(45deg);
}
@media print, screen and (min-width: 768px) {/* PC */
.fix_menu {
	left: 3.2rem;
	bottom: 3.2rem;
	width: 23.5rem;
}
.fix_menu button {
	padding: 2rem 4rem;
	font-size: 1.4rem;
}
.fix_menu button::after {
	top: calc(50% - .5rem);
	right: 3rem;
	width: .5rem;
	height: .5rem;
}
.fix_menu ul {
	bottom: 6rem;
	padding: 2.3rem 1rem 2.5rem 2.5rem;
}
.fix_menu ul li + li {
	margin-top: 1.2rem;
}
.fix_menu ul li a {
	padding-left: 1.6rem;
	font-size: 1.4rem;
}
.fix_menu ul li a::before {
	top: calc(50% - .5rem);
	width: .5rem;
	height: .5rem;
}
}/* @media */
@media (hover:hover) {
.fix_menu::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 100%;
	width: 100%;
	height: 2rem;
}
.fix_menu ul li a {
	transition: opacity .3s;
}
.fix_menu ul li a:hover {
	opacity: 1;
}
}/* @media */
/* -----------------------------------------------
= block sub_title
----------------------------------------------- */
.block .sub_title {
	margin-bottom: 2.4rem;
}
.block .sub_title .jp {
	display: block;
	margin-bottom: 1rem;
	color: #FF1100;
	font-size: 1.2rem;
	line-height: 1.5;
	letter-spacing: .06em;
}
.block .sub_title .en {
	display: block;
	font-family: "Josefin Sans", sans-serif;
	font-size: min(4.2rem, calc(42 / 390 * 100vw));
	font-weight: 200;
	line-height: calc(36 / 32);
}
.block .sub_title .row {
	display: block;
	overflow: hidden;
}
.block .sub_title .row span {
	display: block;
	transform: translateY(110%);
	transition: transform .8s ease;
}
.block .sub_title.visible .row span {
	transform: translateY(0);
}
.block .sub_title.visible .row:nth-child(1) span {
	transition-delay: .8s;
}
.block .sub_title.visible .row:nth-child(2) span {
	transition-delay: 1s;
}
.block .sub_title.visible .row:nth-child(3) span {
	transition-delay: 1.2s;
}
.block .sub_title.visible .row:nth-child(4) span {
	transition-delay: 1.4s;
}
@media print, screen and (min-width: 768px) {/* PC */
.block .sub_title {
	margin-bottom: 7.3rem;
}
.block .sub_title .jp {
	margin-bottom: 1.6rem;
	font-size: 1.8rem;
}
.block .sub_title .en {
	font-size: min(9.1rem, calc(91 / 1440 * 100vw));
	font-weight: 200;
	line-height: calc(103 / 91);
}
}/* @media */
/* -----------------------------------------------
= data
----------------------------------------------- */
.data {
	position: relative;
	z-index: 1;
	padding-block: 21.2rem 0;
}
.data::before,
.data::after {
	content: "";
	position: absolute;
	left: 0;
	z-index: -1;
	width: 100%;
}
.data::before {
	top: 0;
	height: 22.8rem;
	background: linear-gradient(transparent,rgba(255,255,255,.8));
}
.data::after {
	bottom: 0;
	height: calc(100% - 22.8rem);
	background: linear-gradient(rgba(255,255,255,.8),rgba(255,255,255,.8));
}
.data .intro {
	margin-bottom: 10.8rem;
}
.data .intro .text_set {
	padding: 0 2rem 8.5rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.data .intro .text_set.visible {
	opacity: 1;
	transform: translateY(0);
}
.data .intro .text_set p {
	font-size: 1.4rem;
	font-weight: 300;
	line-height: calc(30 / 14);
	letter-spacing: .06em;
}
.data .intro .text_set p + p {
	margin-top: 2em;
}
.data .intro .item {
	position: relative;
	padding: 2.8rem 5.9rem 0 0;
}
.data .intro .item .text {
	position: absolute;
	top: 0;
	right: 3rem;
	width: 15.5rem;
}
.data .intro .item .text img {
	max-width: none;
	width: 100%;
}
.data .intro .img_set {
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.data .intro .img_set.visible {
	opacity: 1;
	transform: translateY(0);
}
.data .intro .item .img {
	display: block;
	height: 26.3rem;
	border-radius: 0 19rem 19rem 0;
	object-fit: cover;
}
.slide-number {
	display: flex;
	align-items: center;
	gap: 0 1.1rem;
	font-family: 'Montserrat', sans-serif;
	font-size: 1.1rem;
}
.data .slide-number {
	margin: 2rem 3rem 0;
}
.data .history .sub_title {
	padding-left: 3.3rem;
}
.data .history .sub_title .en {
	font-size: min(3.2rem, calc(32 / 390 * 100vw));
}
.data .history .swiper {
	padding-left: 1.6rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.data .history .swiper.visible {
	opacity: 1;
	transform: translateY(0);
}
.data .history .year {
	position: relative;
	font-family: "Josefin Sans", sans-serif;
	font-size: 4rem;
	font-weight: 200;
}
.data .history .year::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% + 8px);
	height: 1px;
	border-bottom: 1px dotted #000;
}
.data .history .box {
	position: relative;
	z-index: 1;
	margin-top: 3.6rem;
	padding: 2.4rem 2rem 0;
}
.data .history .box::before {
	content: '';
	position: absolute;
	top: -2.4rem;
	left: 6.5rem;
	width: 1px;
	height: 1.6rem;
	border-left: 1px dotted #000;
}
.data .history .box::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 5rem);
	z-index: -1;
	background: rgba(255,255,255,0.2);
	backdrop-filter: blur(50px);
}
.data .history h3 {
	margin-bottom: 1.6rem;
	color: #FF1100;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: calc(28 / 16);
	letter-spacing: .06em;
}
.data .history p {
	margin-bottom: 1.6rem;
	font-size: 1.2rem;
	font-weight: 300;
	line-height: calc(19 / 12);
	letter-spacing: .06em;
}
.data .history .item {
	position: relative;
	z-index: 1;
	padding: 1.6rem;
}
.data .history .item + .item {
	margin-block: .4rem;
}
.data .history .item::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255,255,255,0.6);
	backdrop-filter: blur(30px);
}
.data .history h4 {
	margin-bottom: .8rem;
	padding-bottom: .8rem;
	color: #262626;
	border-bottom: 1px solid #FF1100;
	font-size: 1.2rem;
	font-weight: 300;
	line-height: calc(22 / 12);
	letter-spacing: .06em;
}
.data .history li {
	color: #262626;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: calc(20 / 11);
	letter-spacing: .06em;
}
.data .history .initiatives {
	margin-left: 1em;
	text-indent: -1em;
}
.data .history .historical li {
	display: flex;
}
.data .history .historical li span:first-child {
	width: 4.5em;
}
.data .history .historical.type01 li span:first-child {
	width: 7em;
}
.data .history .historical.type02 li span:first-child {
	width: 6em;
}
.data .history .historical.type03 li span:first-child {
	width: 7.5em;
}
.data .history .historical li span:last-child {
	flex: 1;
}
.data .history .swiper-button-prev,
.data .history .swiper-button-next {
	background: #FF1100;
}
@media print, screen and (min-width: 768px) {/* PC */
.data {
	padding-block: 25rem 10rem;
}
.data .intro {
	display: flex;
	align-items: end;
	gap: 5rem 17.6rem;
	margin-bottom: 22rem;
}
.data .intro .text_set {
	order: 2;
	flex: 1;
	padding: 0 9rem 0 0;
}
.data .intro .text_set_in {
	display: table;
	margin-inline: auto;
}
.data .intro .text_set p {
	font-size: 1.8rem;
	line-height: calc(44 / 18);
}
.data .intro .text_set p + p {
	margin-top: 2em;
}
.data .intro .img_set {
	max-width: 62rem;
}
.data .intro .item {
	padding: 2.3rem 3.3rem 0 0;
}
.data .intro .item .text {
	right: 0;
	width: 17.6rem;
}
.data .intro .item .img {
	height: 52.8rem;
	border-radius: 0 30rem 30rem 0;
}
.slide-number {
	gap: 0 1.3rem;
	font-size: 1.3rem;
}
.data .slide-number {
	justify-content: end;
	margin: 1rem 0 0;
}
.data .history .sub_title {
	padding-left: 9.2rem;
}
.data .history .sub_title .en {
	font-size: min(9.1rem, calc(91 / 1440 * 100vw));
}
.data .history .swiper {
	padding-left: 9rem;
}
.data .history .swiper-slide {
	width: 62.8rem;
}
.data .history .year {
	padding-left: 1rem;
	font-size: 5.3rem;
}
.data .history .year::after {
	width: calc(100% + 16px);
}
.data .history .box {
	padding: 4.5rem 5rem 0;
}
.data .history .box::before {
	top: -2.7rem;
	height: 1.8rem;
}
.data .history h3 {
	margin-bottom: 2.4rem;
	font-size: 2.4rem;
	line-height: calc(40 / 24);
}
.data .history p {
	margin-bottom: 4rem;
	font-size: 1.3rem;
	line-height: calc(26 / 13);
}
.data .history .item_wrap {
	display: flex;
	gap: 0 .8rem;
}
.data .history .item {
	width: 100%;
	padding-bottom: 3.6rem;
}
.data .history .item + .item {
	margin-block: 0;
}
.data .history h4 {
	margin-bottom: 1.8rem;
}
.data .history li {
	font-size: 1.2rem;
	line-height: calc(22 / 12);
}
}/* @media */
/* -----------------------------------------------
= play_btn
----------------------------------------------- */
.play_btn {
	display: grid;
	place-content: center;
	position: relative;
	z-index: 1;
	width: 8rem;
	height: 10rem;
	margin-inline: auto;
	color: #fff;
}
.play_btn::before {
	content: '';
	position: absolute;
	inset: 0;
	height: 8rem;
	z-index: -1;
	background: rgba(255,17,0,0.8);
	border-radius: 50%;
}
.play_btn::after {
	content: '';
	position: absolute;
	top: 3.5rem;
	left: calc(50% - .5rem);
	width: 1rem;
	height: 1rem;
	background: #fff;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.play_btn span {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	font-size: 1rem;
	font-weight: 300;
	text-align: center;
	letter-spacing: .03em;
}
@media print, screen and (min-width: 768px) {/* PC */
.play_btn {
	width: 12rem;
	height: 16rem;
}
.play_btn::before {
	height: 12rem;
}
.play_btn::after {
	top: 5rem;
	left: calc(50% - 1rem);
	width: 2rem;
	height: 2.2rem;
}
.play_btn span {
	position: relative;
	bottom: -8rem;
	font-size: 1.5rem;
}
}/* @media */
@media (hover:hover) {
.play_btn::before {
	transition: transform .3s;
}
.play_btn:hover::before {
	transform: scale(1.83333);
}
.play_btn span {
	transition: .3s;
}
.play_btn:hover span {
	bottom: -4rem;
}
}/* @media */
/* -----------------------------------------------
= project
----------------------------------------------- */
.project {
	padding-block: 9.2rem 5.9rem;
	background: #fff;
}
.project .sub_title {
	margin-bottom: 4rem;
	padding-left: 2.6rem;
}
.project .item {
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.project .item.visible {
	opacity: 1;
	transform: translateY(0);
}
.project .item.london {
	background: url(../../img/global/global_project_img01.jpg) no-repeat 50% 0 / cover;
}
.project .item.indonesia {
	background: url(../../img/global/global_project_img02.jpg) no-repeat 50% 0 / cover;
}
.project .item a {
	display: block;
}
.project .item .inner {
	position: relative;
	padding: 2.4rem 2.9rem 1.4rem 2.7rem;
	aspect-ratio: 390 / 222;
	font-family: 'Montserrat', sans-serif;
}
.project .item .inner .city {
	margin-bottom: 1.5rem;
	font-size: 1.8rem;
	font-weight: 200;
	text-align: right;
	letter-spacing: .03em;
}
.project .item .row {
	display: block;
	overflow: hidden;
}
.project .item .row span {
	display: block;
	transform: translateY(110%);
	transition: transform .8s ease .8s;
}
.project .item.visible .row span {
	transform: translateY(0);
}
.project .item .inner .num {
	margin-block: 1rem 1.6rem;
	color: #FF1100;
	font-size: 1rem;
	font-weight: 300;
	letter-spacing: .03em;
}
.project .item .inner h3 {
	font-family: "Josefin Sans", sans-serif;
	font-size: 2.6rem;
	font-weight: 200;
	letter-spacing: .03em;
}
.project .item .inner h3 .row {
	padding-bottom: 1rem;
}
.project .item .text {
	padding: 2.6rem 3.2rem 8rem;
	font-size: 1.4rem;
	font-weight: 300;
	line-height: calc(30 / 14);
	letter-spacing: .06em;
}
@media print, screen and (min-width: 768px) {/* PC */
.project {
	padding-block: 13rem 0;
}
.project .sub_title {
	margin-bottom: 7.3rem;
	padding-left: 9.2rem;
}
.project .item_wrap {
	display: flex;
}
.project .item {
	position: relative;
	width: 100%;
}
.project .item a {
	height: 48rem;
	padding: 3.5rem 3.5rem 3rem 3.5rem;
	box-sizing: border-box;
	overflow: hidden;
}
.project .item .inner {
	position: static;
	width: calc(460 / 1270 * 100%);
	padding: 0;
	aspect-ratio: auto;
}
.project .item .inner .city {
	font-size: 2.4rem;
	text-align: left;
}
.project .item .inner .btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.project .item .inner .set {
	position: absolute;
	top: 28rem;
	left: 3.5rem;
}
.project .item .inner .num {
	margin-block: 0 2.4rem;
	font-size: 1.6rem;
}
.project .item .inner h3 {
	font-size: 5.2rem;
}
.project .item .text {
	position: absolute;
	left: 3.5rem;
	bottom: 3rem;
	max-width: 46rem;
	padding: 0;
	font-size: 1.4rem;
	line-height: 2;
	opacity: 0;
	pointer-events: none;
}
}/* @media */
@media (hover:hover) and (min-width: 768px) {
.project .item a + .text {
	transition: opacity .5s ease;
}
.project .item a:hover + .text {
	opacity: 1;
}
.project .item a .inner .set {
	transition: top .3s ease;
}
.project .item a:hover .inner .set {
	top: 12rem;
}
.project .item a .inner .btn {
	transition: .3s ease;
}
.project .item a:hover .inner .btn {
	left: auto;
	right: 5rem;
	transform: translate(0, -50%);
}
}/* @media */
/* -----------------------------------------------
= modal-movie
----------------------------------------------- */
.modal-movie.fade .modal_in {
	padding: 7.5rem 2.5rem 0;
}
.modal_btn_close {
	top: 4rem;
	right: 2.5rem;
}
.modal-movie .embed {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-bottom: 2.5rem;
}
.modal-movie .embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media print, screen and (min-width: 768px) {/* PC */
.modal-movie.fade .modal_in {
	max-width: 72rem;
	margin: 0 auto;
	padding: 12rem 4rem 0;
}
.modal_btn_close {
	top: 8rem;
	right: 4rem;
}
}/* @media */
/* -----------------------------------------------
= films
----------------------------------------------- */
.films {
	padding: 0 1.5rem 8.8rem;
	background: #fff;
}
.films .sub_title {
	margin-bottom: 4rem;
	padding-left: 1.1rem;
}
.films .item {
	margin-bottom: .8rem;
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.films .item.visible {
	opacity: 1;
	transform: translateY(0);
}
.films .item a {
	display: block;
	position: relative;
	color: #fff;
	overflow: hidden;
}
.films .item .play_btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.films .item .num {
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-family: "Josefin Sans", sans-serif;
	font-size: 1rem;
	font-weight: 300;
}
.films .item .city {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	font-family: "Josefin Sans", sans-serif;
	font-size: 1rem;
	font-weight: 300;
}
@media print, screen and (min-width: 768px) {/* PC */
.films {
	padding: 12rem 0 0;
}
.films .sub_title {
	margin-bottom: 7rem;
	padding-left: 9.2rem;
}
.films .item-wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: .8rem;
	margin-inline: .8rem;
}
.films .item {
	margin-bottom: 0;
}
.films .item img {
	width: 100%;
}
.films .item .num {
	top: 3rem;
	left: 3rem;
	font-size: 2rem;
}
.films .item .city {
	right: 3rem;
	bottom: 3rem;
	font-size: 2.1rem;
}
}/* @media */
@media (hover:hover) {
.films .item a img {
	transition: .3s;
}
.films .item a:hover img {
	transform: scale(1.05);
}
}/* @media */
/* -----------------------------------------------
= strategy
----------------------------------------------- */
.strategy {
	padding: 0 1.5rem 1.5rem;
	background: #fff;
}
.strategy .sub_title {
	margin-bottom: 4rem;
	padding-left: 1.1rem;
}
.strategy .item {
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.strategy .item.visible {
	opacity: 1;
	transform: translateY(0);
}
.strategy a {
	display: block;
	position: relative;
	color: #fff;
	height: 100%;
}
.strategy .country {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	padding: .5rem;
	color: #fff;
	background: #EA5550;
	font-family: "Josefin Sans", sans-serif;
	font-size: 1.3rem;
	font-weight: 300;
	letter-spacing: .03em;
}
.strategy .set {
	position: relative;
	overflow: hidden;
}
.strategy .set::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 70%;
	background: linear-gradient(transparent,rgba(0,0,0,.7));
}
.strategy .set img {
	max-width: none;
	width: 100%;
}
.strategy .box {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	z-index: 1;
}
.strategy .box h3 {
	margin-bottom: .6rem;
	font-size: 1.8rem;
	font-weight: 300;
	line-height: calc(28 / 18);
	letter-spacing: .06em;
}
.strategy .box .text {
	font-size: 1.2rem;
	font-weight: 300;
	line-height: calc(30 / 12);
}
@media print, screen and (min-width: 768px) {/* PC */
.strategy {
	padding: 14rem 0 3.2rem;
}
.strategy .sub_title {
	margin-bottom: 6.2rem;
	padding-left: 9.2rem;
}
.strategy .item_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-inline: 3rem;
}
.strategy .country {
	padding: 1rem;
	font-size: 1.6rem;
}
.strategy .set::after {
	height: 50%;
}
.strategy .box {
	bottom: 4rem;
	left: 4rem;
}
.strategy .box h3 {
	margin-bottom: 2rem;
	font-size: 2.4rem;
	line-height: calc(44 / 24);
}
.strategy .box .text {
	font-size: 1.4rem;
	line-height: calc(30 / 14);
}
}/* @media */
@media (hover:hover) {
.strategy .set img {
	transition: .3s;
}
.strategy .set:hover img {
	transform: scale(1.05);
}
}/* @media */
/* -----------------------------------------------
= people
----------------------------------------------- */
.people {
	margin-top: 5.5rem;
	padding: 8rem 1.5rem 6rem;
	background: rgba(255,255,255,.9);
}
.people .sub_title {
	margin-bottom: 4rem;
	padding-left: 1.1rem;
}
.people .item {
	opacity: 0;
	transform: translateY(4rem);
	transition: .8s .4s;
}
.people .item.visible {
	opacity: 1;
	transform: translateY(0);
}
.people .item + .item {
	margin-top: 2rem;
}
.people .item a {
	display: block;
}
.people .item .set {
	position: relative;
	overflow: hidden;
}
.people .item img {
	max-width: none;
	width: 100%;
}
.people .division {
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 1rem 1.4rem;
	color: #fff;
	background: #EA5550;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.4;
}
.people .name {
	margin-block: 1rem .8rem;
}
.people .name .jp {
	display: inline-block;
	margin-right: .5em;
	font-size: 1.8rem;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: .06em;
}
.people .name .en {
	display: inline-block;
	font-family: "Josefin Sans", sans-serif;
	font-size: 1rem;
	font-weight: 200;
	line-height: 1.4;
	letter-spacing: .06em;
}
.people .year {
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: .06em;
}
@media print, screen and (min-width: 768px) {/* PC */
.people {
	padding: 12.7rem 0 11rem;
}
.people .sub_title {
	margin-bottom: 7.2rem;
	padding-left: 9.2rem;
}
.people .item_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3.6rem .8rem;
	max-width: 105rem;
	margin-inline: auto;
}
.people .item + .item {
	margin-top: 0;
}
.people .division {
	padding: 1.6rem 2.6rem;
	font-size: 1.4rem;
}
.people .name {
	margin-block: 1.6rem .8rem;
}
.people .name .jp {
	font-size: 2.4rem;
}
.people .name .en {
	margin-bottom: 0;
	font-size: 1.4rem;
}
.people .year {
	font-size: 1.4rem;
}
}/* @media */
@media (hover:hover) {
.people .item a img {
	transition: transform .3s;
}
.people .item a:hover img {
	transform: scale(1.05);
}
}/* @media */

