@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP&family=Oswald:wght@500&display=swap");
@import url("colorbox.css");

/*---------------------------------------------
	Browser Default Initialization
  ---------------------------------------------*/

body,
div,
dl,
dt,
dd,
ul,
ul li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
section,
nav,
article,
aside,
header,
address,
figure,
figcaption {
 margin: 0;
 padding: 0;
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
 font-style: normal;
 font-weight: normal;
}
table {
 border-collapse: collapse;
 border-spacing: 0;
}
caption,
th {
 text-align: left;
}
q::before,
q::after {
 content: "";
}
object,
embed {
 vertical-align: top;
}
hr,
legend {
 display: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
 font-size: 100%;
 font-weight: normal;
}
img,
abbr,
acronym,
fieldset {
 border: 0;
}
img {
 max-width: 100%;
 height: auto;
 vertical-align: bottom;
 -ms-interpolation-mode: bicubic;
}
ul li {
 list-style-type: none;
}
*,
*:before,
*:after {
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 box-sizing: border-box;
}
.clearfix {
 zoom: 1;
}
.clearfix:before,
.clearfix:after {
 content: "";
 display: table;
}
.clearfix:after {
 clear: both;
}
p.ind {
 text-indent: 1em;
}
em {
 font-style: normal;
}
strong {
 font-weight: bold;
}
a {
 color: #fff;
 outline: none;
 text-decoration: none;
 transition: all 0.5s ease-in-out;
 -webkit-transition: all 0.25s ease-in-out;
 -moz-transition: all 0.25s ease-in-out;
 -o-transition: all 0.25s ease-in-out;
 -ms-transition: all 0.25s ease-in-out;
}
a:active,
a:hover {
 text-decoration: none;
}
a:focus,
*:focus {
 outline: none;
}
a:hover img {
 -moz-transition: all 0.25s ease-in-out;
 -o-transition: all 0.25s ease-in-out;
 -webkit-transition: all 0.25s ease-in-out;
 transition: all 0.25s ease-in-out;
}
.object-fit {
 object-fit: cover;
 font-family: "object-fit: cover;";
 min-height: 100%;
}
.txhd {
 display: block;
 height: 0;
 overflow: hidden;
 font-size: 1rem;
 line-height: 2;
}
.pc,
.is_pc {
 display: block;
}
.sp,
.is_sp {
 display: none;
}
@-ms-viewport {
 width: auto !important;
 initial-scale: 1;
}
@media only screen and (max-width: 820px) {
 .pc {
  display: none;
 }
 .sp {
  display: block;
 }
}
@media only screen and (max-width: 600px) {
 .is_pc {
  display: none;
 }
 .is_sp {
  display: block;
 }
}
:root {
 /* Colors: */
 --color-blk: #000000;
 --color-wht: #ffffff;
 --color-nvy: #011936;
 --color-nvy2: #002e67;
 --color-blu: #003cff;
 --color-blu2: #0090ff;
 --color-gry2: #ced5da;
 --color-line: #556477;
 --ff-inter: "Inter", sans-serif;
 --ff-bebas: "Bebas Neue", sans-serif;
 --ff-osw: "Oswald", sans-serif;
 --ff-nsj: "Noto Sans JP", sans-serif;
}

/* ==========================================================================
Global
========================================================================== */
html {
 font-size: 62.5%;
 overflow-y: scroll;
 height: 100%;
 line-height: 1.15;
 -ms-text-size-adjust: 100%;
 -webkit-text-size-adjust: 100%;
}
html.ofyh {
 height: 100%;
 overflow-y: hidden;
}
body {
 position: relative;
 font-family: "Inter", sans-serif;
 font-weight: 400;
 background: var(--color-blk);
 margin: 0;
 width: 100%;
 -ms-width: calc(100% - (100vw - 100%));
 color: var(--color-wht);
 font-size: 1.6rem;
 line-height: 1;
 text-align: left;
 -moz-text-size-adjust: 100%;
 -webkit-text-size-adjust: 100%;
 -o-text-size-adjust: 100%;
 -ms-text-size-adjust: 100%;
 text-size-adjust: 100%;
}
.c-svg-sprite {
 display: none;
 width: 0;
 height: 0;
 opacity: 0;
 overflow: hidden;
}
.wrapper {
 width: 100%;
 min-height: 100vh;
 display: block;
 position: relative;
 background-color: var(--color-nvy);
}

@media screen and (max-width: 820px) {
 body {
  width: 100%;
  font-size: 1.6rem;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  min-width: inherit;
 }
 #wrap {
  width: 100%;
  height: auto;
  min-width: 280px;
 }
}

/* sns
==================================================================================  */
.sns {
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 30px;
}
.sns .btn {
 display: block;
 width: 35px;
 height: 35px;
}
.sns .btn a {
 display: block;
 width: 35px;
 height: 35px;
 fill: var(--color-wht);
}
.sns .btn.x a {
 padding: 2px;
}
.sns .btn a .icon {
 max-width: 100%;
 max-height: 100%;
}

/* header
==================================================================================  */
.l-gnav__container {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 96px;
 transition: 0.5s;
 z-index: 100;
 background: linear-gradient(to bottom, rgba(1, 25, 54, 1) 0%, rgba(1, 25, 54, 0.6) 70%, rgba(1, 25, 54, 0) 100%);
}
body.-scrolldown .l-gnav__container {
 transform: translateY(-100%);
}
.l-header__navi {
 position: relative;
 display: flex;
 flex-direction: row-reverse;
 justify-content: flex-end;
 align-items: center;
 gap: 24px;
 width: 100%;
 height: 90px;
 padding-inline: 274px 40px;
 z-index: 2;
}
.hdlogo {
 position: absolute;
 top: 27px;
 left: 23px;
 z-index: 20;
 transition: all 0.6s ease;
 z-index: 3;
}
.hdlogo a {
 display: block;
 width: 180px;
 aspect-ratio: 180 / 34;
 background: url(../img/logo_wide.svg) no-repeat 0 0;
 background-size: contain;
 transition: all 0.6s ease;
}
.hd_loca {
 display: flex;
 align-items: center;
 gap: 20px;
 margin-right: auto;
}
.hd_loca_item a {
 color: #adadaa;
 font-size: 1.4rem;
 font-weight: 400;
 display: block;
 position: relative;
}
.hd_loca_item a:before {
 content: " ";
 position: absolute;
 height: 1px;
 width: 0;
 left: auto;
 right: 0;
 bottom: -6px;
 background-color: #adadaa;
 transition-duration: 0.5s;
 transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
 pointer-events: none;
 z-index: 1;
}
.hd_loca_item.-on a {
 color: var(--color-wht);
 pointer-events: none;
}
.hd_list {
 display: flex;
 justify-content: center;
 position: relative;
 gap: 25px;
}
.hd_list li {
 display: inline-block;
 height: 30px;
 position: relative;
}
.hd_list li.top,
.hd_list li.sp {
 display: none;
}
.hd_list li a {
 width: auto;
 height: 100%;
 margin: 0 auto;
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 cursor: pointer;
}
.hd_list li a:before {
 content: " ";
 position: absolute;
 height: 1px;
 width: 0;
 left: auto;
 right: 0;
 bottom: -6px;
 background-color: var(--color-wht);
 transition-duration: 0.5s;
 transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
 pointer-events: none;
 z-index: 1;
}
.hd_list li a span {
 color: var(--color-wht);
 font-size: 2rem;
 font-family: var(--ff-bebas);
 font-weight: 600;
 letter-spacing: 0.02em;
 padding-top: 0.2em;
 display: flex;
 align-items: center;
 height: 100%;
 transition: 0.2s;
}
.hd_list li.no a {
 pointer-events: none;
}
.hd_list li.no a span {
 opacity: 0.3;
}
.hd_list li ul.submenu {
 display: none;
}
.hd_linkbtn {
 display: none;
}
.hd_menutrigger {
 display: none;
 position: fixed;
 right: 0;
 top: 0;
 z-index: 1000;
 transition: 0.5s;
}
.l-gnav__container.is__scroll .hd_menutrigger,
.l-gnav__container.-open .hd_menutrigger {
 opacity: 1;
 top: 0;
}
.hd_menutrigger-inner {
 position: relative;
 width: 80px;
 height: 80px;
 cursor: pointer;
 transition: 0.5s;
}
.hd__mark {
 position: absolute;
 top: 0;
 left: 0;
 width: 80px;
 height: 80px;
 transition: 0.5s;
}
.hd__mark .icon {
 max-width: 100%;
 max-height: 100%;
}
.hd_menutrigger span {
 transition: all 0.3s;
 width: 30px;
 height: 2px;
 background: var(--color-wht);
 display: block;
 position: absolute;
 left: 25px;
}
.hd_menutrigger span.hd_menutrigger__line01 {
 top: 50px;
}
.hd_menutrigger span.hd_menutrigger__line02 {
 top: 50px;
}
.hd_menutrigger-inner.-active .hd__mark {
 background-color: transparent;
}
.hd_menutrigger-inner.-active span {
 background: var(--color-wht);
}
.hd_menutrigger-inner.-active span.hd_menutrigger__line01 {
 transform: rotate(45deg) translateX(0px);
 left: 25px;
 top: 50px;
}
.hd_menutrigger-inner.-active span.hd_menutrigger__line02 {
 transform: rotate(-45deg) translateX(0px);
 left: 25px;
 top: 50px;
}
.backlayer {
 position: fixed;
 overflow-y: auto;
 z-index: 10;
 top: -101vh;
 left: 0;
 width: 100%;
 height: 100vh;
 background-color: var(--color-nvy);
 transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
 pointer-events: none;
}
.backlayer.-open {
 pointer-events: initial;
 top: 0;
 transition: all 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}

@keyframes hd__start {
 0% {
  opacity: 0;
  transform: translateY(50px);
 }
 100% {
  opacity: 1;
  transform: translateY(0);
 }
}

@media screen and (min-width: 821px) {
 .hd_list li:hover a:before,
 .hd_loca_item:not(.-on):hover a:before {
  width: 100%;
  right: auto;
  left: 0;
 }
}

@media screen and (max-width: 820px) {
 .hdlogo {
  top: 28px;
  left: 20px;
 }
 .hdlogo a {
  width: 170px;
 }
 .l-header__navi {
  padding-inline: 220px 30px;
 }
}

@media only screen and (max-width: 700px) {
 .l-gnav__container {
  height: 0;
  background: unset;
 }
 body.-scrolldown .l-gnav__container {
  transform: translateY(0);
 }
 body.-scrolldown .hd_menutrigger {
  transform: translateY(-100%);
 }
 body.-scrolldown .hd_menutrigger-inner.-active {
  transform: translateY(0);
 }
 .hd_menutrigger {
  width: 100%;
  height: 60px;
  display: flex;
  justify-content: center;
  background: linear-gradient(to bottom, rgba(1, 25, 54, 1) 0%, rgba(1, 25, 54, 1) 40%, rgba(1, 25, 54, 0) 100%);
 }
 .hd_menutrigger-inner {
  width: 60px;
  height: 60px;
 }
 .hd_menutrigger-inner::before {
  width: 60px;
  height: 60px;
 }
 .hd__mark {
  width: 100%;
  height: 60px;
  background-color: unset;
 }
 .hd_menutrigger span {
  width: 50px;
  height: 2px;
  left: 5px;
 }
 .hd_menutrigger span.hd_menutrigger__line01 {
  top: 25px;
 }
 .hd_menutrigger span.hd_menutrigger__line02 {
  top: 35px;
 }
 .hd_menutrigger-inner.-active span.hd_menutrigger__line01 {
  transform: rotate(20deg) translateX(0px);
  left: 5px;
  top: 30px;
 }
 .hd_menutrigger-inner.-active span.hd_menutrigger__line02 {
  transform: rotate(-20deg) translateX(0px);
  left: 5px;
  top: 30px;
 }
 .l-gnav__container.-open .hd_menutrigger {
  background: none;
 }

 .l-header__navi {
  display: none;
 }
 .l-gnav__container.-open .l-header__navi {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding-top: min(100px, calc((100 / 390) * 100cqw));
  padding-bottom: min(40px, calc((40 / 390) * 100cqw));
  padding-inline: calc((15 / 390) * 100cqw);
  background: none;
  z-index: 12;
 }
 .l-gnav__container.-open .hdlogo {
  display: block;
  position: relative;
  top: unset;
  left: unset;
 }
 .hdlogo a {
  width: 215px;
 }
 .l-gnav__container.-open .l-header__navi .hd_list {
  width: 100%;
  padding-top: min(40px, calc((40 / 390) * 100cqw));
  flex-flow: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
 }
 .l-gnav__container.-open .hd_list li {
  display: block;
  text-align: center;
  height: unset;
  animation: hd__start 0.8s both;
 }
 .l-gnav__container.-open .hd_list li:first-child:before,
 .l-gnav__container.-open .hd_list li::after {
  display: none;
 }
 .l-gnav__container.-open .hd_list li:nth-child(2) {
  animation-delay: 0.05s;
  -webkit-animation-delay: 0.05s;
 }
 .l-gnav__container.-open .hd_list li:nth-child(3) {
  animation-delay: 0.1s;
  -webkit-animation-delay: 0.1s;
 }
 .l-gnav__container.-open .hd_list li:nth-child(4) {
  animation-delay: 0.15s;
  -webkit-animation-delay: 0.15s;
 }
 .l-gnav__container.-open .hd_list li:nth-child(5) {
  animation-delay: 0.2s;
  -webkit-animation-delay: 0.2s;
 }
 .l-gnav__container.-open .hd_list li:nth-child(6) {
  animation-delay: 0.25s;
  -webkit-animation-delay: 0.25s;
 }
 .l-gnav__container.-open .hd_list li:nth-child(7) {
  animation-delay: 0.3s;
  -webkit-animation-delay: 0.3s;
 }
 .l-gnav__container.-open .hd_list li:nth-child(8) {
  animation-delay: 0.35s;
  -webkit-animation-delay: 0.35s;
 }
 .l-gnav__container.-open .hd_list li:nth-child(9) {
  animation-delay: 0.35s;
  -webkit-animation-delay: 0.35s;
 }
 .l-gnav__container.-open .hd_list li:nth-child(10) {
  animation-delay: 0.4s;
  -webkit-animation-delay: 0.4s;
 }
 .l-gnav__container.-open .hd_list li:nth-child(11) {
  animation-delay: 0.45s;
  -webkit-animation-delay: 0.45s;
 }
 .l-gnav__container.-open .hd_list li:nth-child(12) {
  animation-delay: 0.5s;
  -webkit-animation-delay: 0.5s;
 }
 .l-gnav__container.-open .hd_list li.top {
  display: block;
 }
 .l-gnav__container.-open .hd_list li.pc {
  display: none;
 }
 .l-gnav__container.-open .hd_list li.sp {
  display: block;
 }
 .l-gnav__container.-open .hd_list li {
  height: unset;
 }
 .l-gnav__container.-open .hd_list li a {
  width: auto;
  margin: 0 auto;
  display: inline-block;
  position: relative;
  line-height: 0.8;
  background: none;
  cursor: pointer;
 }
 .l-gnav__container.-open .hd_list li a span {
  font-size: min(6.6rem, calc((66 / 390) * 100cqw));
  font-weight: 400;
  padding-top: 0;
  position: relative;
  z-index: 2;
 }
 .l-gnav__container.-open .hd_loca {
  animation: hd__start 0.8s 0.2s both;
 }
 .hd_loca {
  gap: 30px;
  margin-right: unset;
  justify-content: center;
  width: 100%;
  margin-top: min(40px, calc((40 / 390) * 100cqw));
 }
 .hd_loca_item a {
  font-size: min(2.1rem, calc((21 / 390) * 100cqw));
  font-weight: 400;
 }
 .l-gnav__container.-open .hd_linkbtn {
  animation: hd__start 0.8s 0.25s both;
 }
 .hd_linkbtn {
  display: flex;
  justify-content: center;
  margin-top: min(40px, calc((40 / 390) * 100cqw));
 }
}

/*
 movieModal
==================================================================================*/
#cboxContent {
 padding-inline: 3.6cqw;
 padding-block: 1.8cqw;
 background-color: rgba(255, 255, 255, 0.4);
}
#cboxTopCenter {
 height: 0;
}
#cboxPrevious,
#cboxNext {
 right: unset;
 left: -20px;
 position: absolute;
 top: calc(50% - 24px);
 width: 48px;
 height: 48px;
 background-image: none;
 background-color: #2b2b2b;
}
#cboxNext {
 right: -20px;
 left: unset;
}
#cboxPrevious:after,
#cboxNext:after {
 position: absolute;
 top: 50%;
 left: 50%;
 margin-top: -5px;
 margin-left: -2px;
 content: "";
 display: block;
 width: 10px;
 height: 10px;
 border: solid 0 #ffffff;
 border-width: 1px 0 0 1px;
 transform: rotate(-45deg);
}
#cboxNext:after {
 transform: rotate(135deg);
 margin-left: -6px;
}
#cboxClose {
 position: fixed;
 right: 0;
 top: 0;
 width: 80px;
 height: 80px;
 background: #2b2b2b;
 z-index: 10000;
 transition: all 0.3s ease-out;
}
#cboxClose::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 80px;
 height: 80px;
 background: url(/en/en_assets/img/svg_close.svg) no-repeat 50% 50%;
 background-size: auto 30px;
 transition: all 0.3s ease-out;
}

@media only screen and (min-width: 821px) {
 #cboxClose:hover {
  background: var(--color-nvy);
 }
 #cboxClose:hover::before {
  transform: rotate(180deg);
 }
}

@media only screen and (max-width: 600px) {
 #cboxContent {
  padding-inline: 4cqw;
  padding-block: 4cqw;
  background-color: rgba(255, 255, 255, 0.4);
 }
 #cboxClose {
  width: min(54px, calc((54 / 390) * 100cqw));
  height: min(54px, calc((54 / 390) * 100cqw));
 }
 #cboxClose::before {
  width: min(54px, calc((54 / 390) * 100cqw));
  height: min(54px, calc((54 / 390) * 100cqw));
  background-size: auto 20px;
 }
 #cboxPrevious,
 #cboxNext {
  left: 0;
  top: calc(50% - 18px);
  width: 36px;
  height: 36px;
 }
 #cboxNext {
  right: 0;
  left: unset;
 }
 #cboxPrevious:after,
 #cboxNext:after {
  margin-top: -4px;
  margin-left: -2px;
  width: 8px;
  height: 8px;
 }
 #cboxNext:after {
  transform: rotate(135deg);
  margin-left: -6px;
 }
}

/* Contents
================================================================================== */
.cont_body {
 position: relative;
 max-width: 1800px;
 margin-inline: auto;
 padding-inline: calc((60 / 1360) * 100cqw);
}
.p-contents {
 position: relative;
}
.ttl {
 display: flex;
 align-items: center;
}
.mds {
 display: flex;
 justify-content: center;
 gap: 0.3em;
 font-size: min(calc((120 / 1360) * 100cqw), 12rem);
 font-family: var(--ff-bebas);
 font-weight: 400;
 letter-spacing: 0;
 line-height: 0.85em;
 top: 0.05em;
 position: relative;
}
.bg {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 overflow: hidden;
}
.bg .img {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-position: 50% 50%;
 background-repeat: no-repeat;
 background-size: cover;
}

@media only screen and (max-width: 820px) {
 .cont_body {
  padding: 0 calc((30 / 820) * 100cqw);
 }
}

@media only screen and (max-width: 600px) {
 .cont_body {
  padding: 0 calc((20 / 390) * 100cqw);
 }
 .ttl {
  gap: min(calc((8 / 390) * 100cqw), 8px);
 }
 .mds {
  font-size: min(calc((60 / 390) * 100cqw), 60px);
 }
}

/* p-header
---------------------------------------------------------------------------------*/
.p-header {
 position: relative;
 overflow: hidden;
 padding-top: 180px;
 height: 480px;
 background-color: var(--color-blk);
}
.ph-img {
 position: absolute;
 top: -100px;
 bottom: -100px;
 left: 0;
 width: 100%;
 display: block;
 background: url(/en/en_assets/img/ph_bg.jpg) no-repeat 0 50%;
 background-size: 100% auto;
 z-index: 0;
}
.ph-wrap {
 display: flex;
 justify-content: space-between;
}
.ph-title {
 flex: 1;
 display: flex;
}
.heading {
 color: var(--color-wht);
 font-size: 12rem;
 font-family: var(--ff-bebas);
 font-weight: 400;
 line-height: 0.9;
 position: relative;
}
.heading span {
 display: block;
 opacity: 0;
 will-change: transform;
}
.ph-nav {
 width: 300px;
 display: flex;
 flex-direction: column;
 align-items: flex-end;
 gap: 20px;
}
.nav-button {
 display: flex;
 justify-content: flex-end;
 align-items: center;
}
.nav-button p {
 color: var(--color-wht);
 font-size: 2.4rem;
 font-family: var(--ff-bebas);
 letter-spacing: 0.02em;
 display: block;
 position: relative;
 transition: all 0.2s ease;
 z-index: 2;
}
.nav-button .ar {
 width: 40px;
 height: 40px;
 margin-left: 16px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 background: var(--color-blu) url(/en/en_assets/img/svg_ar_w.svg) no-repeat 50% 50%;
 background-size: 12px auto;
 transform: rotate(90deg);
 transition: all 0.2s ease;
}
body.-start .ph-img {
 animation: phimg 3s cubic-bezier(0.075, 0.82, 0.165, 1) 0.1s both;
}
body.-start .heading span {
 animation: phtitle 0.8s cubic-bezier(0.435, 0.25, 0.15, 0.965) 0.1s both;
}
@keyframes phimg {
 0% {
  opacity: 0;
  transform: translate(0, -100px);
 }
 100% {
  opacity: 1;
  transform: translate(0, 0);
 }
}
@keyframes phtitle {
 0% {
  opacity: 0;
  transform: rotateX(-95deg) translateY(100%);
 }
 100% {
  opacity: 1;
  transform: rotateX(0deg) translateY(0);
 }
}

@media screen and (min-width: 821px) {
 .nav-button:hover p {
  color: var(--color-blu);
 }
 .nav-button:hover .ar {
  transform: scale(1.2) rotate(90deg);
  transition: all 0.4s ease;
 }
}

@media screen and (max-width: 820px) {
 .p-header {
  padding-top: 160px;
  height: 420px;
 }
 .ph-img {
  background: url(/en/en_assets/img/ph_bg.jpg) no-repeat 50% 50%;
  background-size: 150% auto;
 }
 .heading {
  font-size: 10rem;
 }
 .ph-nav {
  width: 230px;
  gap: 10px;
 }
 .nav-button p {
  font-size: 2rem;
 }
}

@media screen and (max-width: 600px) {
 .p-header {
  padding-top: calc((140 / 390) * 100cqw);
  padding-bottom: calc((80 / 390) * 100cqw);
  height: auto;
 }
 .ph-img {
  position: absolute;
  top: -100px;
  bottom: -100px;
  left: 0;
  width: 100%;
  display: block;
  background: url(/en/en_assets/img/ph_bg.jpg) no-repeat 20% 50%;
  background-size: cover;
  z-index: 0;
 }
 .ph-wrap {
  flex-direction: column;
  gap: calc((40 / 390) * 100cqw);
 }
 .ph-title {
  flex: unset;
 }
 .heading {
  font-size: min(calc((75 / 390) * 100cqw), 7.5rem);
 }
 .ph-nav {
  width: 100%;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px 20px;
 }
 .nav-button p {
  font-size: min(calc((18 / 390) * 100cqw), 1.8rem);
 }
 .nav-button .ar {
  width: 30px;
  height: 30px;
  margin-left: 10px;
  background-size: 8px auto;
 }
}

/* works
---------------------------------------------------------------------------------*/
#works .p-drama,
#works .p-distribution {
 background-color: #071321;
}
#works .contbox {
 max-width: 1160px;
 padding-block: 160px;
 margin-inline: auto;
 container: worksin / inline-size;
}
.works_list {
 margin-top: 55px;
 width: 100%;
 display: flex;
 align-items: flex-start;
 flex-wrap: wrap;
 gap: calc((60 / 1160) * 100cqw) calc((20 / 1160) * 100cqw);
}
.works_item {
 width: calc((100% - (((20 / 1160) * 100cqw) * 3)) * 0.25);
 position: relative;
}
.works_img {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 position: relative;
}
.works_img:before {
 content: "";
 position: absolute;
 z-index: 1;
 top: -3px;
 left: -3px;
 width: calc(100% + 6px);
 height: calc(100% + 6px);
 background: radial-gradient(#0090ff, #003cff, #1b1463);
 animation: animatedgradient 3s linear infinite;
 background-size: 300% 300%;
 opacity: 0;
 visibility: hidden;
 transition: all 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.works_item figure {
 display: flex;
 align-items: center;
 width: 100%;
 height: 100%;
 overflow: hidden;
 background-color: #505050;
 z-index: 2;
}
.works_item figure img {
 position: relative;
 transition: all 0.4s ease;
}
.works_item .name {
 font-size: 1.7rem;
 line-height: 1.3;
 margin-top: calc((20 / 1160) * 100cqw);
}
.works_item .cr {
 font-size: 1.1rem;
 font-family: var(--ff-nsj);
 line-height: 1.3;
 color: #b3b3b3;
 margin-top: calc((15 / 1160) * 100cqw);
}
.link_button_wrap {
 margin-top: calc((15 / 1160) * 100cqw);
 display: flex;
}
.link_button {
 display: flex;
 align-items: center;
 border-radius: 2em;
 padding: 1.2em 1.5em;
 background-color: var(--color-blu);
}
.link_button::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 opacity: 0.5;
 cursor: pointer;
 z-index: 2;
}
.link_button p {
 font-size: 1.4rem;
 letter-spacing: 0.02em;
 margin-right: calc((15 / 1160) * 100cqw);
}
.link_button .ar {
 width: 18px;
 height: 8px;
 background: url(/en/en_assets/img/svg_ar_w.svg) no-repeat 0 50%;
 background-size: contain;
 position: relative;
 transition: all 0.3s;
}
.netflix {
 margin-top: calc((15 / 1160) * 100cqw);
}
.netflix mark {
 width: 33.33%;
 display: block;
 aspect-ratio: 388/102;
 background: url(/en/en_assets/img/mark_netflix.png) no-repeat 0 0;
 background-size: contain;
}
.prize {
 margin-top: calc((20 / 1160) * 100cqw);
}
.prize mark {
 width: 33.33%;
 display: block;
 aspect-ratio: 3/1;
 background: url(/en/en_assets/img/mark_awards.png) no-repeat 0 0;
 background-size: contain;
}
.prize .logo {
 width: 86%;
 display: flex;
 flex-direction: column;
 gap: calc((10 / 1160) * 100cqw);
 margin-right: auto;
 margin-top: calc((15 / 1160) * 100cqw);
}
.prize .logo span {
 display: block;
}
.prize .text {
 display: flex;
 flex-direction: column;
 gap: calc((5 / 1160) * 100cqw);
 margin-top: calc((15 / 1160) * 100cqw);
}
.prize .text p {
 color: #d9c361;
 font-size: min(1.4rem, calc((14 / 1160) * 100cqw));
}
.morebox {
 display: flex;
 flex-direction: column;
 align-items: center;
}
.morebox .more_in {
 display: block;
}
.morebox .more_out {
 display: none;
}
.morebox.-open .more_out {
 display: block;
}
.morebox.-open .more_in {
 display: none;
}
.wmore_button_wrap {
 display: flex;
 flex-direction: column;
 align-items: center;
 margin-top: calc((80 / 1160) * 100cqw);
}
.wmore_button {
 cursor: pointer;
 display: flex;
 align-items: center;
 border-radius: 3em;
 padding: 1.6em 1.6em 1.6em 2.5em;
 background-color: #777;
}
.wmore_button p {
 font-size: 1.4rem;
 font-weight: 500;
 letter-spacing: 0.02em;
 margin-right: calc((20 / 1160) * 100cqw);
}
.wmore_button .ar {
 width: 18px;
 height: 8px;
 background: url(/en/en_assets/img/svg_ar_w.svg) no-repeat 0 50%;
 background-size: contain;
 position: relative;
 transform: rotate(90deg);
 transition: all 0.3s;
}
.morebox.-open .wmore_button .ar {
 transform: rotate(-90deg);
}

@media screen and (min-width: 821px) {
 .works_item:hover .works_img:before {
  opacity: 1;
  visibility: visible;
 }
 .works_item:hover figure img {
  transform: scale(1.06);
 }
 .link_button:hover {
  background: var(--color-blu2);
 }
 .link_button:hover .ar {
  transform: translateX(10px);
 }
 .wmore_button:hover {
  background-color: var(--color-blu2);
 }
}

@media screen and (max-width: 820px) {
 #works .contbox {
  max-width: unset;
  padding-block: 120px;
 }
 .works_item .name {
  margin-top: calc((15 / 710) * 100cqw);
 }
 .works_item .cr {
  margin-top: calc((5 / 710) * 100cqw);
 }
 .link_button_wrap {
  margin-top: calc((15 / 710) * 100cqw);
 }
 .prize {
  margin-top: calc((15 / 710) * 100cqw);
 }
 .prize mark {
  width: 60%;
 }
 .prize .logo {
  width: 100%;
  margin-top: calc((15 / 710) * 100cqw);
 }
 .prize .text {
  gap: calc((5 / 710) * 100cqw);
  margin-top: calc((15 / 710) * 100cqw);
 }
 .prize .text p {
  font-size: min(1.1rem, calc((11 / 710) * 100cqw));
 }
}

@media screen and (max-width: 600px) {
 #works .contbox {
  max-width: unset;
  padding-block: calc((80 / 390) * 100cqw);
 }
 #works .mds {
  gap: calc((2 / 350) * 100cqw);
  font-size: min(calc((60 / 350) * 100cqw), 6rem);
 }
 .works_list {
  margin-top: calc((60 / 350) * 100cqw);
  gap: calc((30 / 350) * 100cqw) calc((15 / 350) * 100cqw);
 }
 .works_item {
  width: calc((100% - ((15 / 350) * 100cqw)) * 0.5);
 }
 .works_item .name {
  font-size: min(calc((15 / 350) * 100cqw), 1.5rem);
  margin-top: calc((10 / 350) * 100cqw);
 }
 .works_item .cr {
  font-size: 1rem;
  margin-top: calc((5 / 350) * 100cqw);
 }
 .link_button_wrap {
  justify-content: center;
  margin-top: calc((15 / 350) * 100cqw);
 }
 .link_button {
  padding: 1.1em 1.2em;
 }
 .link_button p {
  font-size: min(calc((14 / 350) * 100cqw), 1.4rem);
  letter-spacing: 0.02em;
  margin-right: calc((10 / 350) * 100cqw);
 }
 .link_button .ar {
  width: 12px;
  height: 7.5px;
 }
 .prize {
  margin-top: calc((15 / 350) * 100cqw);
 }
 .prize mark {
  width: 44%;
  margin-inline: auto;
 }
 .prize .logo {
  width: 100%;
  margin-top: calc((5 / 350) * 100cqw);
  gap: calc((5 / 350) * 100cqw);
 }
 .prize .text {
  gap: calc((5 / 350) * 100cqw);
  margin-top: calc((15 / 350) * 100cqw);
 }
 .prize .text p {
  font-size: min(1.1rem, calc((11 / 350) * 100cqw));
 }
 .morebox .works_list {
  margin-top: calc((30 / 350) * 100cqw);
 }
 .wmore_button_wrap {
  margin-top: calc((50 / 350) * 100cqw);
 }
 .wmore_button {
  border-radius: 2em;
  padding: 1.4em 1.6em 1.4em 2.5em;
 }
 .wmore_button p {
  font-size: min(calc((14 / 350) * 100cqw), 1.4rem);
  margin-right: calc((20 / 350) * 100cqw);
 }
 .wmore_button .ar {
  width: 12px;
  height: 7.5px;
 }
}

/* who
---------------------------------------------------------------------------------*/
#who .contbox {
 max-width: 1160px;
 padding-block: 0 160px;
 margin-inline: auto;
 container: whoin / inline-size;
}
#who .mds {
 font-size: min(calc((100 / 1160) * 100cqw), 10rem);
 margin-bottom: 80px;
}
.phi_wrap {
 display: flex;
 flex-direction: column;
 gap: 104px;
 max-width: 900px;
 margin-right: auto;
}
.phi_wrap .item {
 display: flex;
}
.phi_ttl {
 font-size: 5rem;
 font-family: var(--ff-bebas);
 letter-spacing: 0.04em;
 width: 260px;
}
.phi_block {
 flex: 1;
 padding-left: 60px;
 border-left: 1px solid var(--color-line);
}
.phi_block p {
 font-size: 1.8rem;
 line-height: 1.6;
}
.phi_block p strong {
 font-size: 2.6rem;
 line-height: 1.6;
}
.phi_block p + p {
 margin-top: 25px;
}
.p-philosophy {
 padding-top: 160px;
}
.p-overview,
.p-access,
.p-group {
 padding-top: 160px;
 margin-top: 80px;
}
.ov_wrap {
 display: flex;
 justify-content: space-between;
}
.ov_block {
 width: 51.72%;
}
.ov_img {
 width: 35.51%;
}
.ov_img figure {
 position: relative;
 top: -70px;
}
.p-table {
 width: 100%;
 border-top: 1px solid var(--color-line);
 position: relative;
}
.p-table th {
 width: 180px;
 padding-block: 18px;
 font-size: 1.5rem;
 font-weight: 500;
 line-height: 1.8;
 border-bottom: 1px solid var(--color-line);
 position: relative;
}
.p-table td {
 padding-block: 18px;
 padding-left: 50px;
 font-size: 1.5rem;
 font-weight: normal;
 border-bottom: 1px solid var(--color-line);
 line-height: 1.8;
}
.p-table p {
 line-height: 1.8;
}
.p-table_s {
 width: 100%;
 border-top: 1px solid var(--color-line);
}
.p-table_s th {
 width: 120px;
 font-weight: 600;
 padding: 20px 0 20px 15px;
 border-bottom: 1px solid var(--color-line);
 line-height: 1.6;
}
.p-table_s td {
 padding: 20px 0 20px 30px;
 font-weight: normal;
 border-bottom: 1px solid var(--color-line);
 line-height: 1.6;
}
.access_wrap p {
 font-size: 1.8rem;
 line-height: 1.4;
}
.ggmap {
 margin-top: 60px;
 display: block;
 overflow: hidden;
 position: relative;
 filter: grayscale(0.5);
}
.ggmap iframe {
 width: 100%;
}
.gr_ttl {
 font-size: 6rem;
 font-family: var(--ff-bebas);
 letter-spacing: 0.04em;
}
.gr_ttl em {
 font-size: 5rem;
 font-family: var(--ff-osw);
 font-weight: 500;
 letter-spacing: -0.02em;
}
.upg_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: calc((40 / 1160) * 100cqw);
 margin-top: 50px;
}
.upg_wrap .item {
 position: relative;
 width: calc((100% - (((40 / 1160) * 100cqw) * 2)) * 0.3333);
}
.upg_wrap .item figure {
 display: flex;
 align-items: center;
 overflow: hidden;
}
.upg_wrap .item figure img {
 position: relative;
 transition: all 0.4s ease;
}
.upg_wrap .name {
 font-size: min(calc((24 / 1160) * 100cqw), 2.4rem);
 font-weight: 500;
 margin-top: calc((20 / 1160) * 100cqw);
}
.upg_wrap .text {
 font-size: min(calc((14 / 1160) * 100cqw), 1.4rem);
 line-height: 1.6;
 margin-top: calc((20 / 1160) * 100cqw);
}
.upg_wrap .link_button_wrap {
 margin-top: calc((20 / 1160) * 100cqw);
 display: flex;
}
.gr_02 {
 margin-top: 120px;
}
.gr_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: calc((15 / 1160) * 100cqw);
 margin-top: 50px;
}
.gr_wrap .item {
 width: calc((100% - (((20 / 1160) * 100cqw) * 4)) * 0.2);
 overflow: hidden;
}
.gr_wrap .item img {
 position: relative;
 transition: all 0.4s ease;
}

@media screen and (min-width: 821px) {
 .upg_wrap .item:hover figure img,
 .gr_wrap .item a:hover img {
  transform: scale(1.06);
 }
}

@media screen and (max-width: 820px) {
 .phi_ttl {
  font-size: 4rem;
  width: 180px;
 }
 .phi_block {
  padding-left: 40px;
 }
 .phi_block p {
  font-size: 1.5rem;
 }
 .phi_block p strong {
  font-size: 2.3rem;
 }
 .ov_wrap {
  flex-direction: column;
  gap: 50px;
 }
 .ov_block {
  width: 100%;
 }
 .ov_img {
  width: 45.51%;
  margin-left: auto;
 }
 .ov_img figure {
  position: relative;
  top: unset;
 }
 .p-philosophy {
  padding-top: 120px;
 }
 .p-overview,
 .p-group {
  padding-top: 80px;
  margin-top: 80px;
 }
 .p-access {
  padding-top: 80px;
  margin-top: unset;
 }
 .access_wrap p {
  font-size: 1.5rem;
 }
 .ggmap {
  margin-top: 40px;
 }
 .gr_ttl {
  font-size: 4.4rem;
 }
 .upg_wrap {
  gap: 40px;
 }
 .upg_wrap .item {
  width: calc((100% - 40px) * 0.5);
 }
 .upg_wrap .name {
  font-size: 2rem;
  margin-top: 20px;
 }
 .upg_wrap .text {
  font-size: 1.3rem;
  line-height: 1.6;
  margin-top: 20px;
 }
 .gr_ttl em {
  font-size: 3.6rem;
 }
 .gr_wrap {
  gap: 10px;
 }
 .gr_wrap .item {
  width: calc((100% - 30px) * 0.25);
 }
}

@media screen and (max-width: 600px) {
 #who .contbox {
  max-width: unset;
  padding-bottom: calc((80 / 390) * 100cqw);
 }
 #who .mds {
  display: flex;
  flex-direction: column;
  gap: calc((2 / 350) * 100cqw);
  font-size: min(calc((60 / 350) * 100cqw), 6rem);
  margin-bottom: calc((60 / 350) * 100cqw);
 }
 .phi_wrap {
  gap: calc((60 / 350) * 100cqw);
  max-width: unset;
 }
 .phi_wrap .item {
  display: flex;
  flex-direction: column;
 }
 .phi_ttl {
  font-size: min(calc((40 / 350) * 100cqw), 4rem);
  width: 100%;
 }
 .phi_block {
  flex: unset;
  padding-left: unset;
  border-left: unset;
  margin-top: calc((10 / 350) * 100cqw);
 }
 .phi_block p {
  font-size: calc((14 / 350) * 100cqw);
  line-height: 1.5;
 }
 .phi_block p strong {
  font-size: calc((18 / 350) * 100cqw);
  line-height: 1.4;
 }
 .phi_block p + p {
  margin-top: 1em;
 }
 .p-philosophy {
  padding-top: calc((80 / 350) * 100cqw);
 }
 .p-overview,
 .p-group {
  padding-top: calc((80 / 350) * 100cqw);
  margin-top: calc((80 / 350) * 100cqw);
 }
 .p-access {
  padding-top: calc((80 / 350) * 100cqw);
  margin-top: calc((40 / 350) * 100cqw);
 }
 .ov_wrap {
  flex-direction: column;
  gap: calc((50 / 350) * 100cqw);
 }
 .ov_block {
  width: 100%;
 }
 .ov_img {
  width: 45.51%;
  margin-left: auto;
 }
 .ov_img figure {
  top: unset;
 }
 .p-table {
  width: 100%;
 }
 .p-table th {
  width: 100px;
  padding-block: calc((15 / 350) * 100cqw);
  font-size: min(calc((14 / 350) * 100cqw), 1.4rem);
  line-height: 1.4;
 }
 .p-table td {
  padding-block: calc((15 / 350) * 100cqw);
  padding-left: calc((30 / 350) * 100cqw);
  font-size: min(calc((14 / 350) * 100cqw), 1.4rem);
  line-height: 1.4;
 }
 .p-table p {
  line-height: 1.4;
 }
 .access_wrap p {
  font-size: min(calc((15 / 350) * 100cqw), 1.5rem);
  line-height: 1.4;
 }
 .ggmap {
  margin-top: calc((30 / 350) * 100cqw);
 }
 .ggmap iframe {
  width: 100%;
  height: 100cqw;
 }
 .gr_ttl {
  font-size: min(calc((40 / 350) * 100cqw), 4rem);
 }
 .gr_ttl em {
  font-size: min(calc((33 / 350) * 100cqw), 3.3rem);
 }
 .upg_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: calc((40 / 350) * 100cqw);
  margin-top: calc((30 / 350) * 100cqw);
 }
 .upg_wrap .item {
  position: relative;
  width: 100%;
 }
 .upg_wrap .name {
  font-size: min(calc((20 / 350) * 100cqw), 2.4rem);
  margin-top: calc((20 / 350) * 100cqw);
 }
 .upg_wrap .text {
  font-size: min(calc((13 / 350) * 100cqw), 1.4rem);
  line-height: 1.5;
  margin-top: calc((15 / 350) * 100cqw);
 }
 .upg_wrap .link_button_wrap {
  margin-top: calc((20 / 350) * 100cqw);
  display: flex;
  justify-content: flex-end;
 }
 .upg_wrap .link_button::after {
  content: none;
 }
 .gr_02 {
  margin-top: calc((80 / 350) * 100cqw);
 }
 .gr_wrap {
  gap: calc((6 / 350) * 100cqw);
  margin-top: calc((30 / 350) * 100cqw);
 }
 .gr_wrap .item {
  width: calc((100% - calc((12 / 350) * 100cqw)) * 0.333);
 }
}

/*
LOADING
==================================================================================  */
.loadingWrap {
 width: 100%;
 height: 100%;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 9999;
 margin: 0px;
 padding: 0px;
 display: block;
}
.loadingWrapWaku {
 width: 100%;
 height: 100%;
 background: var(--color-blk);
 position: relative;
 margin: 0px;
 padding: 0px;
 display: flex;
 justify-content: center;
 align-items: center;
}
.lds-flex {
 width: 200px;
 margin-left: auto;
 margin-right: auto;
 display: flex;
 flex-flow: column;
 justify-content: center;
 opacity: 1;
}
.lf_01 {
 width: 100%;
 aspect-ratio: 100/75;
 margin-left: auto;
 margin-right: auto;
 display: block;
 background: url(/en/en_assets/img/svg_logo_w.svg) no-repeat 50% 50%;
 background-size: contain;
}
body.-start .loadingWrap {
 animation: ani_ld 1s cubic-bezier(1, 0, 0.85, 1) 0.4s both;
}
body.-start .lds-flex {
 animation: ani_ld2 0.6s cubic-bezier(0.53, 0.21, 0.85, 0.65) 0.1s both;
}
@keyframes ani_ld {
 0% {
  opacity: 1;
  visibility: visible;
 }
 100% {
  opacity: 0;
  visibility: hidden;
 }
}
@keyframes ani_ld2 {
 0% {
  opacity: 1;
  transform: scale(1);
  visibility: visible;
 }
 100% {
  opacity: 0;
  transform: scale(0.9);
  visibility: hidden;
 }
}

@media screen and (max-width: 820px) {
 .lds-flex {
  width: 25%;
 }
}

@media screen and (max-width: 600px) {
 .lds-flex {
  width: 36%;
 }
}

/*
titleArea
==================================================================================*/
.titleArea {
 display: block;
 position: relative;
 width: 100%;
 padding-top: 96px;
 background-color: var(--color-nvy);
}
.ta_wrap {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: calc(100svh - 96px);
 position: relative;
}
.ta_img {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 width: 100%;
 height: 100%;
 z-index: 0;
}
.ta_mv {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 width: 100%;
 height: 100%;
 background: url(/en/en_assets/img/mv.jpg) no-repeat 50% 50%;
 background-size: cover;
}
.ta_main {
 display: flex;
 flex-flow: column;
 align-items: center;
 width: calc((500 / 1360) * 100cqw);
 gap: calc((80 / 1360) * 100cqw);
 margin-inline: auto;
}
.ta_logo {
 display: block;
 position: relative;
 margin-inline: auto;
 width: 100%;
}
.ta_logo .ta_h1 {
 position: relative;
 width: 100%;
}
.ta_copy {
 position: relative;
 display: flex;
 flex-flow: column;
 gap: calc((20 / 1360) * 100cqw);
 align-items: center;
 color: var(--color-nvy);
 z-index: 2;
}
.ta_copy span {
 display: flex;
 color: var(--color-nvy2);
 font-size: clamp(1.4rem, 1.47cqw, 3rem);
 font-weight: 600;
 letter-spacing: 0.06em;
}
.scroll_item {
 position: absolute;
 right: 24px;
 top: calc(50% - 50px);
 display: flex;
 align-items: center;
 gap: 15px;
 writing-mode: vertical-rl;
 z-index: 2;
}
.scroll_item .word {
 color: var(--color-nvy2);
 font-size: 1.4rem;
 font-weight: 400;
 line-height: 1.4;
 right: -1px;
 position: relative;
}
.scroll_item .bar {
 display: block;
 position: relative;
 width: 1px;
 height: 40px;
 background: var(--color-nvy2);
 margin-bottom: 12px;
 animation: sc_ani 2s infinite;
 animation-iteration-count: 20;
}
@keyframes sc_ani {
 0% {
  transform: scaleY(1);
  transform-origin: center bottom;
 }
 50% {
  transform: scaleY(0);
  transform-origin: center bottom;
 }
 51% {
  transform: scaleY(0);
  transform-origin: center top;
 }
 100% {
  transform: scaleY(1);
  transform-origin: center top;
 }
}
.contact_circle {
 position: absolute;
 bottom: 0;
 padding-bottom: 90px;
 right: 24px;
 display: block;
 width: 112px;
 z-index: 2;
}
.contact_circle a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 padding-top: 100%;
 transition: all 0.3s;
 position: relative;
 background: url(/en/en_assets/img/svg_ar.svg) no-repeat 50% 50%;
 background-size: 18px 8px;
}
.circle_bg {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 transition: all 0.2s;
 background: url(/en/en_assets/img/svg_contact_circle.svg) no-repeat 50% 50%;
 background-size: contain;
 animation: jlg-roll 30s linear infinite;
}
.circle_bg.stop {
 animation: none;
}
@keyframes jlg-roll {
 0% {
  transform: rotate(0);
 }
 100% {
  transform: rotate(360deg);
 }
}

/* -start */
.ta_logo,
.ta_copy span {
 opacity: 0;
 will-change: transform;
}
body.-start .ta_logo {
 animation-name: obiZoom;
 animation-duration: 1.5s;
 animation-timing-function: cubic-bezier(0.08, 0.8, 0.315, 1);
 animation-delay: 1.5s;
 animation-fill-mode: both;
}
body.-start .ta_copy span {
 animation: phtitle 0.8s cubic-bezier(0.435, 0.25, 0.15, 0.965) 2s both;
}
body.-start .ta_copy span.cp2 {
 animation-delay: 2.3s;
}
@keyframes obiZoom {
 0% {
  transform: scale(1.1);
  opacity: 0;
 }
 100% {
  transform: scale(1);
  opacity: 1;
 }
}

@media screen and (min-width: 821px) {
 .ta_comic a:hover {
  opacity: 0.6;
 }
 .contact_circle a:hover {
  transform: scale(1.1);
 }
}

@media screen and (max-width: 820px) {
 .ta_main {
  width: calc((400 / 820) * 100cqw);
  gap: calc((80 / 820) * 100cqw);
 }
 .ta_copy {
  gap: calc((20 / 820) * 100cqw);
 }
 .ta_copy span {
  font-size: calc((20 / 820) * 100cqw);
 }
}

@media screen and (max-width: 600px) {
 .titleArea {
  padding-top: 60px;
 }
 .ta_wrap {
  height: calc(100svh - 60px);
 }
 .ta_main {
  width: 100%;
  gap: calc((70 / 390) * 100cqw);
  padding-bottom: 12cqw;
 }
 .ta_logo {
  width: calc((270 / 390) * 100cqw);
 }
 .ta_copy {
  gap: calc((20 / 390) * 100cqw);
 }
 .ta_copy span {
  font-size: calc((15 / 390) * 100cqw);
 }
 .scroll_item {
  right: 1cqw;
  top: 50%;
  gap: 10px;
 }
 .scroll_item .word {
  font-size: min(1.2rem, 3cqw);
 }
 .scroll_item .bar {
  height: 30px;
 }
 .contact_circle {
  padding-bottom: 2.5cqw;
  right: 2.5cqw;
  width: calc((100 / 390) * 100cqw);
 }
}

/* top-cont
 ================================================================================== */
.top-cont {
 position: relative;
 height: 100%;
 display: block;
 overflow-y: hidden;
}
.top-bg {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: calc(100vh + 200px);
 display: block;
 overflow: hidden;
}
.top-bg .bg {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 display: block;
 background: url(/en/en_assets/img/top_bg.jpg) repeat-y 0 0;
 background-size: 100% auto;
}

@media screen and (max-aspect-ratio: 1/0.75) {
 .top-bg .bg {
  background-position: 50% 0;
  background-size: 150% auto;
 }
}

@media screen and (max-width: 820px) {
 .top-bg .bg {
  background: url(/en/en_assets/img/top_bg_sp.jpg) repeat-y 0 0;
  background-size: 100% auto;
 }
}

/* what
 ================================================================================== */
#what {
 width: 100%;
 position: relative;
}
#what .contbox {
 padding-top: 290px;
 padding-inline: calc((40 / 1360) * 100cqw);
 position: relative;
 container: whatin / inline-size;
}
#what .mds {
 font-size: min(calc((120 / 1160) * 100cqw), 16rem);
}
#what .p-cp {
 display: flex;
 font-size: min(calc((50 / 1160) * 100cqw), 6rem);
 font-family: var(--ff-bebas);
 font-weight: 400;
 letter-spacing: 0.04em;
 line-height: 0.75em;
 position: relative;
 margin-bottom: min(calc((50 / 1160) * 100cqw), 70px);
}
#what .p-cp small {
 font-size: 70%;
 font-family: var(--ff-osw);
 font-weight: 500;
 line-height: 1em;
}
#what .p-text p {
 font-size: min(calc((15 / 1160) * 100cqw), 1.7rem);
 font-weight: 400;
 line-height: 1.9;
}
#what .p-text strong {
 font-size: min(calc((18 / 1160) * 100cqw), 2rem);
 font-weight: 700;
}
#what .p-text p a {
 font-size: min(calc((16 / 1160) * 100cqw), 1.8rem);
 font-weight: 700;
 text-decoration: underline;
}
.p-what {
 position: relative;
}
.p-what_01 {
 margin-top: min(calc((140 / 1160) * 100cqw), 180px);
 width: 100%;
 padding-right: 45.7%;
}
.p-what_01 p + p {
 margin-top: 2em;
}
.what_photo_01 {
 position: absolute;
 width: 35.17cqw;
 top: 215px;
 right: 1cqw;
 aspect-ratio: 408/476;
}
.p-what_02 {
 margin-top: min(calc((180 / 1160) * 100cqw), 210px);
 width: 100%;
 padding-left: 41.4%;
}
.p-what_03 {
 margin-top: min(calc((180 / 1160) * 100cqw), 210px);
 width: 100%;
 padding-right: 45.7%;
}
.what_photo_02 {
 position: absolute;
 width: 20.34cqw;
 top: 0;
 right: 8.8cqw;
 aspect-ratio: 236/218;
}
.p-what_04 {
 margin-top: min(calc((180 / 1160) * 100cqw), 210px);
 width: 100%;
 padding-left: 41.4%;
}
.p-what_05 {
 margin-top: min(calc((180 / 1160) * 100cqw), 210px);
 width: 100%;
 padding-right: 45.7%;
}
.p-what_06 {
 margin-top: min(calc((180 / 1160) * 100cqw), 210px);
 width: 100%;
 padding-left: 41.4%;
}
.what_photo_03 {
 position: absolute;
 width: 36.37cqw;
 bottom: -20.34cqw;
 left: calc((100 / 1360) * -100cqw);
 aspect-ratio: 422/256;
}
.btn_wrap {
 margin-top: 40px;
 display: flex;
 justify-content: flex-end;
}
.more-button {
 display: flex;
 justify-content: flex-end;
 align-items: center;
}
.more-button p {
 color: var(--color-blu);
 font-size: 1.8rem;
 letter-spacing: 0.02em;
 display: block;
 position: relative;
 transition: all 0.2s ease;
 z-index: 2;
}
.more-button .ar {
 width: 80px;
 height: 80px;
 margin-left: 26px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 background: var(--color-blu) url(/en/en_assets/img/svg_ar_w.svg) no-repeat 50% 50%;
 background-size: 12px 7.5px;
 transition: all 0.2s ease;
}

@media screen and (min-width: 821px) {
 #what .p-text p a:hover {
  color: var(--color-blu2);
 }
 .more-button:hover p {
  color: var(--color-blu);
 }
 .more-button:hover .ar {
  transform: scale(1.2);
  transition: all 0.4s ease;
 }
}

@media screen and (max-width: 820px) {
 #what .contbox {
  padding-top: 200px;
  padding-inline: 0;
 }
 #what .p-cp {
  font-size: calc((50 / 710) * 100cqw);
  line-height: 1;
  margin-bottom: calc((30 / 710) * 100cqw);
 }
 #what .p-cp small {
  line-height: 1.3em;
 }
 #what .p-text p {
  font-size: calc((14 / 710) * 100cqw);
  line-height: 1.7;
 }
 #what .p-text p a {
  font-size: calc((16 / 710) * 100cqw);
 }
 #what .p-text strong {
  font-size: calc((18 / 710) * 100cqw);
 }
 .p-what_01,
 .p-what_03,
 .p-what_05 {
  padding-right: 36%;
 }
 .what_photo_01 {
  width: 35cqw;
  right: -3.6vw;
 }
 .what_photo_02 {
  width: 24.34cqw;
 }
}

@media screen and (max-width: 600px) {
 #what .contbox {
  padding-top: calc((120 / 390) * 100cqw);
 }
 #what .mds {
  font-size: min(calc((70 / 390) * 100cqw), 7rem);
 }
 #what .p-cp {
  font-size: min(calc((36 / 390) * 100cqw), 3.6rem);
  margin-bottom: calc((20 / 390) * 100cqw);
 }
 #what .p-cp small {
  line-height: 1.3em;
 }
 #what .p-text p {
  font-size: calc((14 / 390) * 100cqw);
  line-height: 1.7;
 }
 #what .p-text strong {
  font-size: min(calc((18 / 390) * 100cqw), 1.8rem);
 }
 .p-what_01,
 .p-what_03,
 .p-what_05 {
  padding-right: unset;
 }
 .p-what_02,
 .p-what_04,
 .p-what_06 {
  width: 100%;
  padding-left: unset;
 }
 .p-what_01 {
  margin-top: calc((50 / 350) * 100cqw);
 }
 .p-what_02 {
  margin-top: calc((100 / 350) * 100cqw);
 }
 .p-what_03,
 .p-what_06 {
  margin-top: calc((100 / 390) * 100cqw);
 }
 .p-what_04 {
  margin-top: calc((40 / 390) * 100cqw);
 }
 .what_photo_01 {
  position: relative;
  width: 58cqw;
  margin-left: auto;
  top: unset;
  right: unset;
 }
 .what_photo_02 {
  position: relative;
  width: 56.57cqw;
  top: 0;
  right: unset;
  margin-top: calc((30 / 390) * 100cqw);
 }
 .what_photo_03 {
  position: relative;
  width: 68.57cqw;
  bottom: unset;
  left: unset;
  right: calc((20 / 390) * -100cqw);
  margin-left: auto;
  margin-top: calc((120 / 390) * 100cqw);
 }
 .btn_wrap {
  margin-top: calc((15 / 390) * 100cqw);
 }
 .more-button p {
  font-size: 1.4rem;
 }
 .more-button .ar {
  width: 60px;
  height: 60px;
  margin-left: 10px;
 }
}

/* t-works
 ================================================================================== */
#t-works {
 width: 100%;
 position: relative;
 margin-top: 400px;
 padding-top: 100px;
}
#t-works .contbox {
 padding-inline: calc((40 / 1360) * 100cqw);
 position: relative;
 container: twhorksin / inline-size;
}
#t-works .mds {
 font-size: min(calc((120 / 1160) * 100cqw), 16rem);
}
#t-works .ttl_wrap {
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.side-scroll {
 display: flex;
 justify-content: center;
 align-items: center;
 overflow: hidden;
}
.side-scroll-list-wrapper {
 position: relative;
 width: 100%;
 height: 100vh;
 display: flex;
 align-items: center;
}
.side-scroll-list {
 position: relative;
 display: flex;
 align-self: center;
 gap: 0 2.2cqw;
 padding-inline: calc((100 / 1360) * 100cqw);
 padding-left: calc(50cqw - 100px);
 z-index: 2;
}
.side-scroll-item {
 width: auto;
 height: calc(100vh - 120px);
 max-height: 680px;
 aspect-ratio: 752 / 1280;
 position: relative;
 container: sslin / inline-size;
}
.tworks_img {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 aspect-ratio: 100 / 148;
 position: relative;
}
.tworks_img figure {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 display: flex;
 align-items: center;
 justify-content: center;
 background-color: #505050;
 overflow: hidden;
 z-index: 2;
}
.tworks_img:before {
 content: "";
 position: absolute;
 z-index: 1;
 top: -3px;
 left: -3px;
 width: calc(100% + 6px);
 height: calc(100% + 6px);
 background: radial-gradient(#0090ff, #003cff, #1b1463);
 animation: animatedgradient 3s linear infinite;
 background-size: 300% 300%;
 opacity: 0;
 visibility: hidden;
 transition: all 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.tworks_img figure img {
 position: relative;
 transition: all 0.4s ease;
}
.tworks_catwrap {
 display: flex;
 align-items: center;
 gap: calc((20 / 330) * 100cqw);
 margin-top: calc((20 / 330) * 100cqw);
}
.tworks_catwrap .cat {
 font-size: calc((40 / 330) * 100cqw);
 font-family: var(--ff-bebas);
}
.tworks_catwrap .netflix mark {
 width: calc((80 / 330) * 100cqw);
}
.tworks_catwrap .prize mark {
 width: calc((80 / 330) * 100cqw);
}
.tworks_catwrap .netflix,
.tworks_catwrap .prize {
 margin-top: unset;
}
.tworks_name {
 font-size: calc((15 / 330) * 100cqw);
 font-weight: 400;
 margin-top: calc((5 / 330) * 100cqw);
}

@keyframes animatedgradient {
 0% {
  background-position: 75% 75%;
 }

 25% {
  background-position: 25% 75%;
 }

 50% {
  background-position: 25% 25%;
 }

 75% {
  background-position: 75% 25%;
 }

 to {
  background-position: 75% 75%;
 }
}

@media screen and (min-width: 821px) {
 .tworks_img:hover figure img {
  transform: scale(1.06);
 }
 .tworks_img:hover:before {
  opacity: 1;
  visibility: visible;
 }
}

@media screen and (max-width: 820px) {
 #t-works {
  margin-top: 200px;
 }
 #t-works .contbox {
  padding-inline: 0;
 }
}

@media screen and (max-width: 600px) {
 #t-works {
  margin-top: calc((40 / 390) * 100cqw);
  padding-top: calc((120 / 390) * 100cqw);
 }
 #t-works .mds {
  font-size: min(calc((70 / 390) * 100cqw), 7rem);
 }
 .side-scroll-list {
  gap: 0 6.15cqw;
  padding-inline: calc((20 / 390) * 100cqw);
  padding-left: calc((20 / 390) * 100cqw);
 }
 .side-scroll-item {
  height: calc(100vh - 200px);
  max-height: calc((500 / 390) * 100cqw);
 }
 .tworks_catwrap {
  display: flex;
  align-items: center;
  gap: calc((20 / 293) * 100cqw);
  margin-top: calc((20 / 293) * 100cqw);
 }
 .tworks_catwrap .cat {
  font-size: calc((34 / 293) * 100cqw);
  font-family: var(--ff-bebas);
 }
 .tworks_catwrap .netflix mark {
  width: calc((80 / 293) * 100cqw);
 }
 .tworks_catwrap .prize mark {
  width: calc((80 / 293) * 100cqw);
 }
 .tworks_name {
  font-size: calc((13.5 / 293) * 100cqw);
  margin-top: calc((5 / 293) * 100cqw);
 }
}

/* t-who
 ================================================================================== */
#t-who {
 width: 100%;
 position: relative;
}
#t-who .contbox {
 max-width: 1160px;
 margin-inline: auto;
 padding-top: 290px;
 padding-bottom: 300px;
}
.p-twho {
 margin-top: 100px;
 max-width: 740px;
 margin-right: auto;
}
.twho_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
}
.twho_wrap .item {
 width: calc((100% - 20px) * 0.5);
 height: 140px;
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding-inline: 35px 20px;
 background-color: var(--color-blu);
}
.twho_wrap .name {
 font-size: 4rem;
 font-family: var(--ff-bebas);
 letter-spacing: 0.04em;
 line-height: 1;
}
.twho_wrap .ar {
 width: 18px;
 height: 8px;
 background: url(/en/en_assets/img/svg_ar_w.svg) no-repeat 0 0;
 background-size: contain;
 position: relative;
 transition: all 0.3s;
}
.who_logo {
 position: absolute;
 top: -12cqw;
 right: 0;
 width: calc((740 / 1360) * 100cqw);
 aspect-ratio: 1/1.3;
 background: url(/en/en_assets/img/who_logo.png) no-repeat 0 50%;
 background-size: auto 100%;
 opacity: 0;
}
.who_logo.-show {
 animation: whologo 1.3s cubic-bezier(0.08, 0.8, 0.315, 1) 0.4s both;
}
@keyframes whologo {
 0% {
  transform: scale(1.5);
  opacity: 0;
 }
 100% {
  transform: scale(1);
  opacity: 1;
 }
}

@media screen and (min-width: 821px) {
 .twho_wrap .item:hover {
  background: var(--color-blu2);
 }
 .twho_wrap .item:hover .ar {
  transform: translateX(10px);
 }
}
@media screen and (max-width: 820px) {
 .p-twho {
  max-width: unset;
  margin-right: unset;
 }
 #t-who .contbox {
  max-width: unset;
  padding-top: 200px;
  padding-bottom: 200px;
 }
 .who_logo {
  top: -30cqw;
  width: calc((620 / 820) * 100cqw);
 }
}

@media screen and (max-width: 600px) {
 #t-who .contbox {
  padding-top: calc((120 / 390) * 100cqw);
  padding-bottom: calc((80 / 390) * 100cqw);
 }
 .p-twho {
  margin-top: calc((50 / 350) * 100cqw);
 }
 .twho_wrap {
  gap: 14px;
 }
 .twho_wrap .item {
  width: calc((100% - 14px) * 0.5);
  height: calc((75 / 350) * 100cqw);
  padding-inline: 2.85cqw;
  padding-top: 1cqw;
 }
 .twho_wrap .name {
  font-size: min(calc((28 / 350) * 100cqw), 2.8rem);
 }
 .twho_wrap .ar {
  width: 9px;
  height: 4px;
 }
 .who_logo {
  top: -50cqw;
  width: calc((290 / 390) * 100cqw);
 }
}

/* t-contact
 ================================================================================== */
#t-contact {
 width: 100%;
 height: 37.64cqw;
 background-color: var(--color-blk);
 position: relative;
}
.tc_img {
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 overflow: hidden;
 z-index: 0;
}
.tc_img .bg .img {
 background: url(/en/en_assets/img/t_c_img.jpg) no-repeat 50% 50%;
 background-size: cover;
}
.ct_link {
 width: 100%;
 height: 100%;
 display: block;
 position: relative;
 z-index: 2;
}
.ct_link a {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 display: flex;
 justify-content: center;
 align-items: center;
}
.ct_link a .playbtn {
 display: flex;
 justify-content: center;
 align-items: center;
 transition: all 0.4s;
 position: relative;
}
.ct_link a .playbtn {
 color: var(--color-wht);
 font-size: 7rem;
 font-family: var(--ff-bebas);
 font-weight: 400;
 display: flex;
 justify-content: center;
 align-items: center;
 aspect-ratio: 1/ 1;
 transition: all 0.4s;
 position: relative;
}
.cursor-pointer {
 visibility: hidden;
 opacity: 0;
 position: fixed;
 z-index: 10;
 transform: scale(0);
 height: 80px;
 width: 80px;
 margin: -60px 0 0 -60px;
 transition: transform 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s ease-out;
 pointer-events: none;
}
.cursor-pointer.-active {
 opacity: 1;
 visibility: visible;
 transform: scale(1);
}
.cursor-none {
 cursor: none;
}
.js-cursor-pointer {
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: 50%;
 background-color: rgba(255, 255, 255, 0.9);
 cursor: pointer;
}
.js-cursor-pointer svg {
 display: block;
 fill: var(--color-blk);
 width: 18px;
 height: 8px;
 position: relative;
 transition: all 0.4s linear;
}

@media screen and (max-width: 600px) {
 #t-contact {
  height: 66cqw;
 }
 .ct_link a .playbtn {
  font-size: min(4rem, calc((40 / 390) * 100cqw));
 }
}

/* Footer
---------------------------------------------------------------------------------*/
.l-footer {
 position: relative;
 background-color: var(--color-blk);
}
.l-footer__pagetop {
 position: absolute;
 top: 0;
 right: 0;
 cursor: pointer;
 z-index: 2;
}
.l-footer__pagetop a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 80px;
 height: 80px;
 position: relative;
 background-color: #2b2b2b;
}
.l-footer__pagetop a span {
 display: block;
 width: 18px;
 height: 8px;
 -webkit-transform: rotate(-90deg);
 transform: rotate(-90deg);
 position: relative;
 transition: all 0.4s linear;
}
.l-footer__pagetop a svg {
 display: block;
 width: 100%;
 height: 100%;
 fill: var(--color-wht);
}
.ft_sns {
 padding-block: 60px;
}
.ft_sns .sns .btn,
.ft_sns .sns .btn a {
 width: 40px;
 height: 40px;
}
.l-footer .cont_body {
 border-top: 1px solid #303033;
 padding-inline: 30px;
}
.l-footer__nav {
 padding-top: 48px;
}
.ft_wrap {
 display: flex;
 justify-content: space-between;
 align-items: center;
 gap: 24px;
}
.ft_sub {
 display: flex;
 flex-flow: column;
 width: 243px;
}
.ft_logo {
 width: 243px;
}
.ft_logo .logo {
 display: block;
 width: 243px;
 aspect-ratio: 180 / 34;
 transition: all 0.6s ease;
 background: url(../img/logo_wide.svg) no-repeat 0 0;
 background-size: contain;
}
.ft_main {
 display: flex;
}
.ft_main .ftnav_list {
 display: flex;
 justify-content: center;
 position: relative;
 gap: 20px;
}
.ft_main .ftnav_item {
 display: inline-block;
 height: 30px;
 position: relative;
}
.ftnav_item a {
 width: auto;
 height: 100%;
 margin: 0 auto;
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 color: var(--color-wht);
 font-size: 1.8rem;
 font-family: var(--ff-bebas);
 font-weight: 400;
 letter-spacing: 0.02em;
 padding-top: 0.2em;
 transition: 0.2s;
 cursor: pointer;
}
.ftnav-bottom {
 position: relative;
}
.ftnav-bottom-main {
 display: flex;
 justify-content: space-between;
 align-items: center;
 max-width: 100%;
 margin: auto;
 padding-block: 40px 30px;
}
.ftnav-bottom_list {
 display: flex;
}
.ftnb_item {
 margin-right: 28px;
}
.ftnb_item a {
 font-size: 1.2rem;
}
.ft_copyright {
 display: flex;
 align-items: center;
 justify-content: center;
 color: #a7a7a7;
 font-size: 1rem;
 letter-spacing: 0.02em;
}

@media screen and (min-width: 821px) {
 .l-footer__pagetop a:hover {
  background-color: var(--color-nvy);
 }
 .ftnav_item a:hover,
 .ftnb_item a:hover {
  opacity: 0.6;
 }
}

@media screen and (max-width: 600px) {
 .l-footer__pagetop a {
  width: min(60px, calc((60 / 390) * 100cqw));
  height: min(60px, calc((60 / 390) * 100cqw));
 }
 .l-footer__pagetop a span {
  display: block;
  width: 18px;
  height: 8px;
 }
 .ft_sns {
  padding-block: min(60px, calc((60 / 390) * 100cqw));
 }
 .ft_sns .sns .btn,
 .ft_sns .sns .btn a {
  width: min(40px, calc((40 / 390) * 100cqw));
  height: min(40px, calc((40 / 390) * 100cqw));
 }
 .l-footer .cont_body {
  padding-inline: calc((15 / 390) * 100cqw);
 }
 .l-footer__nav {
  padding-top: min(68px, calc((68 / 390) * 100cqw));
 }
 .ft_wrap {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 30px;
 }
 .ft_sub,
 .ft_logo,
 .ft_logo .logo {
  width: min(240px, calc((240 / 390) * 100cqw));
 }
 .ft_main .ftnav_list {
  gap: min(20px, calc((20 / 390) * 100cqw));
 }
 .ftnav_item a {
  font-size: min(2rem, calc((20 / 390) * 100cqw));
 }
 .ftnav-bottom-main {
  padding-block: 24px 80px;
 }
 .ftnb_item a {
  font-size: 1.2rem;
 }
 .ft_copyright {
  font-size: 1rem;
 }
}

/* Contact
---------------------------------------------------------------------------------*/
#contact .p-contents .contbox {
 max-width: 800px;
 padding-block: 160px;
 margin-inline: auto;
}
.form-body {
 display: flex;
 flex-flow: column;
}
#form .form-body > dt {
 width: 100%;
 display: flex;
 align-items: center;
 position: relative;
 font-size: 2rem;
 font-weight: 500;
 line-height: 1.2;
}
#form .form-body > dd + dt {
 margin-top: 40px;
}
#form .form-body > dt.required:after {
 font-size: 1.2rem;
 line-height: 1.2;
 letter-spacing: 0.04em;
 color: var(--color-wht);
 background: var(--color-blu);
 content: "required";
 display: inline-block;
 padding: 4px 10px;
 position: relative;
 word-break: break-all;
 border-radius: 2px;
 margin-left: 20px;
}
#form .form-body > dd {
 width: 100%;
 padding-block: 20px 0;
 font-weight: normal;
 line-height: 1.8;
}
.form-body input[type="text"],
.form-body input[type="email"],
.form-body input[type="tel"],
.form-body input[type="date"],
.form-body select {
 font-size: 1.8rem;
 font-family: var(--ff-inter);
 height: 54px;
 width: 100%;
 padding: 0 1em;
 position: relative;
 border-radius: 2px;
 border: none;
}
.form-body input[type="text"]:focus,
.form-body input[type="email"]:focus {
 outline: 0;
}
.form-body input[type="text"].-size01,
.form-body input[type="email"].-size01 {
 width: 224px;
}
.form-body input[type="text"].-size02,
.form-body input[type="email"].-size02 {
 width: 140px;
}
.form-body input[type="text"].-error,
.form-body input[type="email"].-error {
 background: #ffe8e5;
 border-color: var(--color-blu);
}
.form-body textarea {
 height: 350px;
 width: 100%;
 font-size: 1.8rem;
 font-family: var(--ff-inter);
 line-height: 1.5;
 padding: 0.5em 1em;
 border: none;
 border-radius: 2px;
}
.form-input input[type="checkbox"] {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 width: 0;
 height: 0;
 margin-right: 0;
}
.checkbox-field {
 display: inline-block;
 margin-right: 30px;
 margin-bottom: 20px;
}
.mwform-checkbox-field input[type="checkbox"] {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 width: 0;
 height: 0;
 margin-right: 0;
}
.mwform-checkbox-field-text {
 font-size: 1.5rem;
 position: relative;
 padding-left: 45px;
 cursor: pointer;
}
.mwform-checkbox-field-text::before {
 content: "";
 position: absolute;
 top: 50%;
 left: 0;
 transform: translateY(-50%);
 width: 30px;
 height: 30px;
 border-radius: 2px;
 background: var(--color-wht);
 border: 1px solid var(--color-line);
}
.mwform-checkbox-field-text::after {
 content: "";
 position: absolute;
 top: 50%;
 left: 8px;
 transform: translateY(-7px) rotate(-45deg);
 width: 14px;
 height: 9px;
 border-left: 2px solid var(--color-wht);
 border-bottom: 2px solid var(--color-wht);
 opacity: 0;
}
:checked + .mwform-checkbox-field-text::before {
 background: var(--color-blu);
 border: 1px solid var(--color-blu);
}
:checked + .mwform-checkbox-field-text::after {
 opacity: 1;
}
.p-form__button-wrap {
 display: flex;
 justify-content: center;
 margin-top: 36px;
}
.p-form__button02 input {
 display: block;
 width: 260px;
 height: 80px;
 padding-inline: 35px;
 margin: 0 20px;
 border: none;
 background: var(--color-blu);
 color: var(--color-wht);
 font-size: 1.8rem;
 font-weight: 600;
 letter-spacing: 0.04em;
 text-align: center;
 border-radius: 40px;
 transition: 120ms linear;
 cursor: pointer;
}
.p-form__button02 input:hover {
 background: var(--color-blu2);
}
.p-form__button02 input:disabled {
 pointer-events: none;
 background: #777;
}
.p-form__button03 input,
.p-form__button03 button,
.p-form__button03 a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 260px;
 height: 80px;
 margin: 0 20px;
 background: #555;
 border: none;
 color: var(--color-base);
 font-size: 1.8rem;
 font-weight: 600;
 letter-spacing: 0.04em;
 text-align: center;
 border-radius: 40px;
 transition: 120ms linear;
}
.p-form__button03 input:hover,
.p-form__button03 button:hover,
.p-form__button03 a:hover {
 background-color: var(--color-gy3);
}

.form-body input::placeholder,
.form-body textarea::placeholder {
 color: #aaa;
}
.form-body input:focus::-webkit-input-placeholder,
.form-body textarea:focus::-webkit-input-placeholder {
 color: transparent;
}
.form-body input:focus::-moz-placeholder,
.form-body textarea:focus::-moz-placeholder {
 color: transparent;
}
.form-body input:focus::-ms-input-placeholder,
.form-body textarea:focus::-ms-input-placeholder {
 color: transparent;
}
.form-body input:focus::placeholder,
.form-body textarea:focus::placeholder {
 color: transparent;
}
.form-body textarea:focus {
 outline: 0;
}
#form .privecy {
 margin-top: 60px;
 display: flex;
 align-items: center;
 justify-content: center;
}
#form .privecy a {
 text-decoration: underline;
}
#form .p-form__agree {
 margin-top: 30px;
 text-align: center;
}
#form .p-form__button-wrap {
 margin-top: 50px;
 display: flex;
 justify-content: center;
}
#form .last-msg {
 color: var(--color-blu);
 line-height: 1.6;
 margin-bottom: 1em;
}
.error_message {
 font-size: 1.6rem;
 font-weight: 600;
 color: #f1e078;
 line-height: 1.6;
 margin-bottom: 2em;
}
#form .error {
 display: block;
 color: #f1e078;
 font-size: 1.8rem;
 font-weight: 400;
 line-height: 1.6;
 margin-top: 1em;
}
.p-form_field {
 font-size: 1.5rem;
 line-height: 1.8;
 padding: 1.5em;
 margin-top: 0.5em;
}
.p-form_button {
 margin-top: 20px;
 display: flex;
 justify-content: center;
 gap: 30px;
}
.p-form_button input {
 display: block;
 width: 260px;
 height: 80px;
 background: var(--color-blu);
 color: #fff;
 font-size: 1.6rem;
 font-weight: bold;
 letter-spacing: 0.02em;
 text-align: center;
 border-radius: 40px;
 transition: 120ms linear;
}
.p-form_button input.back-btn {
 background: #999;
}
.p-form_button input:disabled {
 pointer-events: none;
 background: #999;
 border: 1px solid #999;
}

/* confirm */
.form_ttl_wrap {
 margin-bottom: 30px;
}
.form_ttl {
 font-size: 6rem;
 font-family: var(--ff-bebas);
 letter-spacing: 0.04em;
}
.outline {
 font-size: 1.7rem;
 line-height: 1.6;
}
.mw_wp_form_confirm .confirm-hidden {
 display: none;
}
:not(.mw_wp_form_confirm) .confirm-show {
 display: none;
}
.mw_wp_form_confirm .confirm-show {
 display: block;
}
.mw_wp_form_confirm .p-form-block01,
.mw_wp_form_confirm .p-form__agree,
#form .mw_wp_form_confirm .privecy {
 display: none;
}
#form .mw_wp_form_confirm .form-body {
 margin-top: 40px;
 border-top: 1px solid var(--color-line);
}
#form .mw_wp_form_confirm .form-body > dt {
 padding-block: 30px 0;
}
#form .mw_wp_form_confirm .form-body > dd {
 font-size: 1.7rem;
 padding-bottom: 30px;
 border-bottom: 1px solid var(--color-line);
}
#form .mw_wp_form_confirm .form-body > dd + dt {
 margin-top: 0;
}
#form .mw_wp_form_confirm .p-form__button-wrap {
 margin-top: 80px;
}

@media screen and (min-width: 821px) {
 .p-form_button input:hover {
  background-color: var(--color-blu);
 }
 .complete_wrap a:hover {
  background-color: var(--color-gy1);
 }
 .p-form__button03 input:hover,
 .p-form__button03 button:hover,
 .p-form__button03 a:hover {
  background: #888;
 }
}

@media screen and (max-width: 820px) {
 #contact .p-contents .contbox {
  max-width: unset;
  padding-block: 120px;
 }
}

@media screen and (max-width: 600px) {
 #contact .p-contents .contbox {
  max-width: unset;
  padding-block: calc((80 / 390) * 100cqw);
 }
 #form .form-body > dt {
  width: 100%;
  font-size: min(1.5rem, 4.28cqw);
 }
 #form .form-body > dt.required:after {
  font-size: min(1.2rem, 3.42cqw);
 }
 #form .form-body > dd {
  padding-block: 15px 0;
 }
 .form-body textarea {
  height: 350px;
 }
 .mwform-checkbox-field {
  display: block;
  margin-right: 0;
  margin-bottom: 20px;
 }
 .mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
 }
 .checkbox-text {
  font-size: min(1.45rem, 4.32cqw);
  padding-left: 35px;
 }
 .checkbox-text::before {
  width: 25px;
  height: 25px;
 }
 #form .privecy {
  margin-top: calc((30 / 350) * 100cqw);
  font-size: min(1.45rem, 4.32cqw);
  line-height: 1.8;
  display: block;
 }
 #form .privecy a {
  margin-right: 5px;
 }
 #form .confirm {
  margin-top: 20px;
 }
 #form .send {
  margin-top: 30px;
  flex-flow: column;
  align-items: center;
  gap: 0;
 }
 #form .confirm + .send {
  margin-top: 0;
 }
 #form .last-msg {
  color: var(--color-blu);
  line-height: 1.6;
  margin-bottom: 1em;
 }
 .p-form_field {
  font-size: min(1.45rem, 4.32cqw);
 }
 .error_message {
  font-size: 1.6rem;
  font-weight: 600;
  color: #00568f;
  line-height: 1.6;
  margin-bottom: 2em;
 }
 #form .error {
  font-size: min(1.5rem, 4.28cqw);
 }
 .p-form_button {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 30px;
 }
 .p-form_button input {
  display: block;
  width: 260px;
  height: 72px;
  margin: 0 20px;
  background: var(--color-blu);
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  text-align: center;
  border-radius: 36px;
  transition: 120ms linear;
 }
 .p-form__button02 input {
  display: block;
  width: 260px;
  height: 72px;
  padding-inline: 35px;
  margin: 0 20px;
  font-size: min(1.8rem, 5.21cqw);
  border-radius: 36px;
 }
 .p-form__button03 input,
 .p-form__button03 button,
 .p-form__button03 a {
  width: 260px;
  height: 72px;
  margin: 0 20px;
  font-size: min(1.8rem, 5.21cqw);
  border-radius: 36px;
 }
 .p-form_button input:disabled {
  pointer-events: none;
  background: #999;
  border: 1px solid #999;
 }
 #form .p-form__button-wrap {
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: calc((30 / 350) * 100cqw);
 }

 /* confirm */
 .form_ttl_wrap {
  margin-bottom: 30px;
 }
 .form_ttl {
  font-size: min(4.8rem, 13.71cqw);
 }
 .outline {
  font-size: min(1.5rem, 4.28cqw);
  line-height: 1.6;
 }
 #form .mw_wp_form_confirm .form-body {
  margin-top: calc((40 / 350) * 100cqw);
 }
 #form .mw_wp_form_confirm .form-body > dt {
  padding-top: calc((25 / 350) * 100cqw);
 }
 #form .mw_wp_form_confirm .form-body > dd {
  font-size: min(1.5rem, 4.28cqw);
  line-height: 1.5;
  padding-bottom: calc((25 / 350) * 100cqw);
 }
 #form .mw_wp_form_confirm .p-form__button-wrap {
  margin-top: calc((40 / 350) * 100cqw);
 }
}

/* 404
---------------------------------------------------------------------------------*/
#notfound .p-contents .contbox {
 max-width: 700px;
 padding-block: 120px;
 margin-inline: auto;
}
.p-notfound {
 display: flex;
 flex-direction: column;
 align-items: center;
}
.home_btn_wrap {
 margin-top: 80px;
}

@media screen and (max-width: 600px) {
 #notfound .p-contents .contbox {
  max-width: unset;
  padding-block: 80px;
 }
 .home_btn_wrap {
  margin-top: 60px;
 }
}

/* [Show Animate] 出現アニメーション
    ================================================================================== */
.p-show-elem {
 opacity: 0;
 transform: translateY(100px);
 transition: all 2s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.p-rev {
 opacity: 0;
 transform: translateY(-100px);
 transition: all 2s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.p-left {
 opacity: 0;
 transform: translateX(-200px);
 transition: all 3s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.p-right {
 opacity: 0;
 transform: translateX(200px);
 transition: all 3s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.-show,
.p-show-elem.p-rev.-show,
.p-show-elem.p-left.-show,
.p-show-elem.p-right.-show {
 opacity: 1;
 transform: translate(0, 0);
}
.p-show-elem.del2 {
 transition-delay: 0.5s;
}
.p-show-elem.del3 {
 transition-delay: 0.6s;
}
.p-show-elem.del4 {
 transition-delay: 0.7s;
}
.p-show-elem.del5 {
 transition-delay: 0.8s;
}
.p-show-elem.del6 {
 transition-delay: 0.9s;
}

@media only screen and (max-width: 767px) {
 .p-show-elem.del2,
 .p-show-elem.del3,
 .p-show-elem.del4,
 .p-show-elem.del5,
 .p-show-elem.del6 {
  transition-delay: 0.3s;
 }
}

/* p-show-clip */
.p-show-clip {
 clip-path: inset(0 100% 0 0);
 transition: all 1.5s 0.2s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-clip.-show {
 clip-path: inset(0 0 0 0);
}
.p-intro .p-text p:nth-of-type(1) {
 transition-delay: 1s;
}
.p-intro .p-text p:nth-of-type(2) {
 transition-delay: 1.15s;
}
.p-chara .chara:nth-of-type(3) {
 transition-delay: 0.65s;
}
.p-chara .chara:nth-of-type(5) {
 transition-delay: 0.65s;
}
.p-chara .chara:nth-of-type(6) {
 transition-delay: 0.8s;
}
.p-director .under {
 transition-delay: 0.65s;
}
.chara_01.p-show-clip,
.chara_02.p-show-clip {
 clip-path: none;
}
@media only screen and (max-width: 820px) {
 .p-chara.p-show-clip {
  clip-path: none;
 }
 .chara_01.p-show-clip,
 .chara_02.p-show-clip {
  clip-path: inset(0 100% 0 0);
 }
 .chara_01.p-show-clip.-show,
 .chara_02.p-show-clip.-show {
  clip-path: inset(0 0 0 0);
 }
}

/* p-show-img */
.p-show-img .img {
 opacity: 0;
 transform: scale(1.2);
}
.p-show-img.-show .img {
 opacity: 1;
 transform: scale(1);
 transition: all 1400ms cubic-bezier(0.295, 0.03, 0.115, 1);
}
.p-show-img.del2 {
 transition-delay: 0.2s;
}
.p-show-img.del3 {
 transition-delay: 0.4s;
}
.p-show-img.del4 {
 transition-delay: 0.6s;
}
.p-show-img.del2:after {
 transition-delay: 0.7s;
}
.p-show-img.del3:after {
 transition-delay: 0.9s;
}
.p-show-img.del4:after {
 transition-delay: 1.1s;
}

/* p-show-item */
