@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  font-face
* --------------------------------------------------------------------------------------------------*/
@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans Japanese Regular"),
       url("../fonts/NotoSansJP-Regular.woff") format("woff"), url("../fonts/NotoSansJP-Regular.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: 700;
  font-weight: bold;
  src: local("Noto Sans Japanese Bold"),
       url("../fonts/NotoSansJP-Bold.woff") format("woff"), url("../fonts/NotoSansJP-Bold.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: 900;
  src: local("Noto Sans Japanese Black"),
       url("../fonts/NotoSansJP-Black.woff") format("woff"), url("../fonts/NotoSansJP-Black.otf") format("opentype");
}

/*--------------------------------------------------------
　variable
--------------------------------------------------------*/
:root {
    --color-black:  #222222;
    --color-white: #FFFFFF;
    --color-blue: #30E3CD;
    --font-famiy: Helvetica, "Noto Sans Japanese", sans-serif;
    --vh100: 100vh;;
}
@supports(-webkit-touch-callout: none){
  :root {
      --vh100: 100lvh;;
  }
}

/*--------------------------------------------------------
　common parts
--------------------------------------------------------*/
/*html {
  scroll-behavior: auto;
}*/
body {
    background: var(--color-black);
    color: var(--color-white);
    font-family: var(--font-famiy);
    font-size: min(calc(100vw*24/750), 15px);
}

a {
    color: var(--color-white);
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

/*.main {
  max-width: 1920px;
  margin: 0 auto;
}*/
/*.main {
scroll-snap-type: y mandatory;
}*/
.-js-main-slide {
  left: 0;
  top: 0;
  width: 100%;
  min-height: 100vh;
  min-height: 100lvh;
  display: block;
   /*scroll-snap-align: start;*/
}

.-js-main-slide.-is-active {
  opacity: 1;
}

.-js-slide {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  min-height: 100vh;
  min-height: 100lvh;
  display: block;
  transition: opacity 0.5s ease-in-out;
}

.-js-slide:not(.-is-active) {
  pointer-events: none;
  opacity: 0;
}
.reel-section .-js-slide {
  position: absolute;
  overflow: hidden;
}

.-js-slide.-is-active {
  opacity: 1;
}

.movie-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: opacity 1s, filter 1s;
  pointer-events: none;
}

.movie-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.-em-txt {
  color: var(--color-blue);
}

.side-content {
  height: 100vh;
  height: 100lvh;
  position: sticky;
  z-index: 5;
  top: 0;
  left: 0;
  padding: 0 min(2.6vw, 50px) 15px;
  pointer-events: none;
}
.side-content .side-bg {
  pointer-events: auto;
}
.side-content .side-bg {
  width: 100%;
  display: block;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -1;
  background: var(--color-black);
}
.side-content .side-bg::after {
  content: "";
  width: 100%;
  height: 1.5em;
  display: block;
  left: 0;
  top: 100%;
  position: absolute;
  background: linear-gradient(rgba(34,34,34,1),rgba(34,34,34,0));
}
.works-section .side-content {
  padding-top: min(calc(100vh*216/1080), 216px);
}
.works-section .side-content .side-bg {
  height: min(calc(100vh*216/1080 + 2.5em), 216px);
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top;
	transition: all .1s;
}
.works-section .side-content .side-bg.-is-show {
  transform: scaleY(1);
  opacity: 1;
}
.production-section .side-content {
  padding-top: min(calc(100vh*635/1080), 635px);
}
.production-section .side-content .side-bg {
  height: min(calc(100vh*470/1080), 470px);
}
.profile-section .side-content {
  padding-top: min(calc(100vh*204/1080), 204px);
}
.side-content ul {
  pointer-events: auto;
}
.sec-ti {
  color: var(--color-blue);
  font-size: min(14.5vw, 208px);
  font-size: min(calc(100vw*208/1950), 208px);
  line-height: 1;
  letter-spacing: -0.04em;
  position: absolute;
  width: fit-content;
  z-index: 10;
  overflow: hidden;
}
.sec-ti img {
	transition: all .2s ease-in;
  transform: translateX(110%);
}
.production-section .sec-ti img {
  transform: translateX(-110%);
}
.-is-active .sec-ti img  {
  transform: translateX(0);
}
.sec-ti  img {
  height: 1em;
  vertical-align: top;
}
@media screen and (orientation: landscape) and (max-height: 700px) {
  body {
    font-size: calc(100vh*32/1080);
    font-size: min(calc(100vh*32/1080), 15px);
  }
  .sec-ti {
    font-size: calc(100vh*208/1080);
    font-size: min(calc(100vh*208/1080), calc(100vw*208/1950));
  }
}
@media (orientation: landscape){
  .mobile {
    display: none;
  }
}
@media (orientation: portrait){
  .pc {
    display: none;
  }
  body {
      font-size: calc(100vw*24/750);
  }
  .sec-ti {
    font-size: calc(100vw*112/750);
    top: calc(100vw*194/750);
    left: calc(100vw*50/750);
  }
  .sec-ti img {
    transform: translateX(-110%);
  }
  .-is-active .sec-ti img  {
    transform: translateX(0);
  }
  .side-content {
    z-index: 5;
    top: 0;
    left: 0;
    padding: calc(100vw*194/750) calc(100vw*50/750) calc(100vw*30/750);
  }
  .works-section .side-content .side-bg {
    height: calc(100vw*510/750);
  }
  .production-section .side-content {
    padding-top: calc(100vw*380/750);
  }
  .production-section .side-content .side-bg {
    height: calc(100vw*640/750);
  }
}

/*--------------------------------------------------------
　header
--------------------------------------------------------*/
#header .site-logo {
  position: fixed;
  top: min(calc(100vw*50/750), 50px);
  left: min(calc(100vw*50/750), 50px);
  width: min(calc(100vw*110/750), 110px);
  z-index: 500;
  mix-blend-mode: difference;
}

#header .menu-btn {
  position: fixed;
  top: min(calc(100vw*50/750), 50px);
  right: min(calc(100vw*40/750), 40px);
  display: flex;
  align-items: center;
  mix-blend-mode: difference;
  z-index: 500;
}

#header .menu-btn .icon {
 margin-right: min(calc(100vw*10/750), 10px);
  width: min(calc(100vw*48/750), 25px);
  height: min(calc(100vw*15/750), 8px);
  position: relative;
  display: inline-block;
}

#header .menu-btn .icon span {
  background: var(--color-white);
  position: absolute;
  left: 0;
  width: 100%;
  height: min(calc(100vw*4/750), 2.3px);
	transition: all .5s;
  display: inline-block;
  overflow: hidden;
}

#header .menu-btn .icon span:first-child {
  top: 0%;
}

#header .menu-btn .icon span:last-child {
  top: 100%;
  transform: translateY(-100%);
}

#header .menu-btn .menu-txt {
	font-weight: bold;
	font-size: min(calc(100vw*13/750), 14px);
  color: var(--color-white);
}
#header .menu-btn .menu-txt::before {
  content: "MENU";
	letter-spacing: .04em;
	width: min(calc(100vw*58/750), 58px);
	display: inline-block;
	text-align: center;
}
.is-menu-open #header .menu-btn .menu-txt::before {
  content: "CLOSE";
}
.is-menu-open #header .menu-btn .icon span:first-child {
  transform: rotate(45deg) ;
  top: 50%;
}

.is-menu-open #header .menu-btn .icon span:last-child {
  transform: rotate(-45deg);
  top: 50%;
}
@media screen and (orientation: landscape) and (max-height: 700px) {
  #header .site-logo {
    top: calc(100vw*50/1080);
    left: calc(100vw*50/1080);
    width: calc(100vw*50/1080);
    top: min(calc(100vw*50/1080), calc(100vw*50/750));
    left: min(calc(100vw*50/1080), calc(100vw*50/750));
    width: min(calc(100vw*50/1080), calc(100vw*110/750));
  }
}
@media (orientation: portrait){
  #header .menu-btn {
    flex-direction: column;
  }
  #header .menu-btn .icon {
    margin: calc(100vw*12/750) 0 calc(100vw*20/750);
  }
  #header .menu-btn .menu-txt::before {
    letter-spacing: .2em;
  }
}


/*--------------------------------------------------------
　menu
--------------------------------------------------------*/
.menu {
	background: #222222;
  position: fixed;
  inset: 0;
  transform: translateY(100%);
	right: 0;
	top: 0;
	z-index: 490;
	transition: transform .5s;
	padding: min(calc(100vw*50/750), 50px) min(calc(100vw*50/750), 50px);
	min-height: 100vh;
	min-height: 100lvh;
  display: flex;
  align-items: center;
  justify-content: flex-end;
	  overflow: auto;
 -ms-overflow-style: none;
}
.menu::-webkit-scrollbar{
  display: none;
}
.menu .list-menu {
	font-weight: bold;
	font-size: min(calc(100vw*97/750), 112px);
  line-height: 1;
	text-align: right;
}
.menu .list-menu a {
  color: var(--color-blue);
  text-decoration: none;
}
.menu .list-menu img {
  height: 1em;
  vertical-align: top;
}
.menu .list-menu li + li {
	margin-top: min(calc(1em*133/112), 88px);
}
.is-menu-open .menu {
  transform: translateY(0);
}
@media screen and (orientation: landscape) and (max-height: 700px) {
  .menu .list-menu {
    font-size: min(calc(100vh* 112 / 1080), calc(100vw*97/750));
  }
}

/*--------------------------------------------------------
　reel-section
--------------------------------------------------------*/
.reel-section-outer {
  position: relative;
  height: 600vh;
  height: 600lvh;
  display: block;
  overflow: hidden;
}
.reel-section {
  position: relative;
  /*height: 100vh; -- 戻す？ -- */
}

.sec-first.-is-active .title {
  transform: scale(1.5);
  transition: transform 1s;
}

.sec-first {
  display: flex;
  justify-content: center;
  align-items: center;
  /*height: 100vh; -- 戻す？ -- */
  mix-blend-mode: difference;
}

.sec-first .title {
  transform-origin: 48% center;
  transition: transform 0.5s, opacity 1s;
  max-width: 90%;
  max-height: 100vh;
  max-height: 100lvh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sec-first .title img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.reel-section .lead-txt {
  text-align: left;
}

.reel-section .txt {
  letter-spacing: 0.05em;
  font-weight: bold;
  display: block;
}

.reel-section .-em-txt {
}

.reel-section .sec-first-lead01 {
  font-size: min(4vw, 82px);
  line-height: 0.84;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: transform 2s ease, opacity 2s ease;
  transform: scale(1.2);
}
.reel-section .sec-first-lead01.-is-active,
.reel-section .sec-first-lead01.-is-actived{
  opacity: 1;
  transform: scale(1);
}
.reel-section .sec-first-lead01.-is-actived{
  transition: opacity .5s ease;
  opacity: 0;
  transform: scale(1);
}
.reel-section .sec-first-lead01.-is-active .lead-txt {
  animation: 1s heart-efect 2.5s ease;
}
.reel-section .sec-first-lead01 .lead-txt-motion {
  position: absolute;
}
.reel-section .sec-first-lead01.-is-active .lead-txt-motion {
  animation: heart-motion 2s linear infinite;
}
@keyframes heart-efect {
  0%,27% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.3)
  }
  32% {
    transform: scale(1)
  }
}

@keyframes heart-motion {
  0% {
    opacity: 0.5;
    transform: scale(1);
  }
  14% {
    opacity: 0.4;
    transform: scale(0.8);
  }
  21% {
    opacity: 0.4;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(3);
  }
}

.sec-first-lead03 {
  padding: 0 min(6.6vw, 127px);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}

.sec-first-lead03 .lead-txt {
  font-size: min(calc(100vh*88/1080), 88px);
}

.sec-first-lead03 .lead-txt.-block01 {
  margin-bottom: min(1.11vh, 118px);
}
.sec-first-lead03 .lead-txt.-block01 .line {
  overflow: hidden;
  line-height: 1;
  position: relative;
}

.sec-first-lead03 .lead-txt.-block01 .line:not(:first-child) {
  margin-top: -0.2em;
}

.sec-first-lead03 .lead-txt.-block01 .line .txt {
  overflow: hidden;
  line-height: 1;
  display: inline-block;
  transition: opacity 0.5s, transform 0.5s;
}

.sec-first-lead03 .lead-txt.-block01 .line .txt:first-child,
.sec-first-lead03 .lead-txt.-block01 .line .txt:first-child span {
  letter-spacing: 0.05em;
  opacity: 1;
  transform: translateX(0);
}

.sec-first-lead03 .lead-txt.-block01 .line .txt span {
  letter-spacing: -1em;
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  transition: transform .5s, letter-spacing .5s;
}

.sec-first-lead03 .lead-txt.-block01 .line.-is-line-active .txt span {
  letter-spacing: 0.05em;
  transform: translateX(0);
}
.sec-first-lead03 .lead-txt.-block01 .line.-is-line-active:nth-child(1) .txt span {
  transition-delay: 0.5s, 0.5s;
}
.sec-first-lead03 .lead-txt.-block01 .line.-is-line-active:nth-child(2) .txt span {
  transition-delay: 1s, 1s;
}
.sec-first-lead03 .lead-txt.-block01 .line.-is-line-active:nth-child(3) .txt span {
  transition-delay: 1.5s, 1.5s;
}


.sec-first-lead03 .lead-txt.-block02  {
  line-height: 1.1;
}
.sec-first-lead03 .lead-txt.-block02 .txt.-txt02 {
  margin-top: -0.3em;
}

.sec-first-lead03 .lead-txt.-block02 .txt .line {
  overflow: hidden;
}

.sec-first-lead03 .lead-txt.-block02 .txt span {
  display: block;
  transform: translateY(100%);
  transition: transform .5s;
}

.sec-first-lead03.-is-active02  .lead-txt.-block02 .txt span {
  transform: translateY(0%);
}

.reel-section .scroll {
  position: fixed;
  bottom: min(1vh, 10px);
  left: min(2.4%, 45px);
  z-index: 10;
}

.reel-section .scroll .txt {
  display: block;
  margin-bottom: 10px;
  mix-blend-mode: difference;
}

.reel-section .scroll .arrow {
  margin: auto;
  mask-image: linear-gradient(135deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
  -webkit-mask-image: linear-gradient(135deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
  mask-size: 250% 250%;
  -webkit-mask-size: 250% 250%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: 130% 130%;
  -webkit-mask-position: 130% 130%;
  background: var(--color-white);
  display: block;
  width: 1px;
  height: min(7.4vh, 80px);
  animation: scrollArrow 2s infinite;
}

@keyframes scrollArrow {
  0% { mask-position: 130% 130% }
  100% { mask-position: 0 0 }
}

.reel-section .movie-bg.-is-grayscale {
  filter: grayscale(100%) brightness(0.5);
}
@media screen and (orientation: landscape) and (max-height: 700px) {
  .reel-section .sec-first-lead01 {
    font-size: calc(100vh*82/1080);
  font-size: min(calc(100vh*82/1080), 4vw);
  }
  .sec-first-lead03 {
    padding: 0 calc(100vh*127/1080);
  padding: 0 min(calc(100vh*127/1080), 6.6vw);
  }
  .sec-first-lead03 .lead-txt {
    font-size: calc(100vh*88/1080);
  font-size: min(calc(100vh*88/1080), calc(100vh*88/1080));
  }
  .sec-first-lead03 .lead-txt.-block01 {
    margin-bottom: calc(100vh*118/1080);
  margin-bottom: min(calc(100vh*118/1080), 1.11vh);
  }
}
@media (orientation: landscape){
}
@media (orientation: portrait){
  .reel-section .scroll {
    left: 50%;
    transform: translateX(-50%);
  }
  .reel-section .sec-first-lead01 {
    font-size: calc(100vw*70/750);
  }
  .sec-first-lead03 {
    padding: 0 0 0 calc(100vw*46/750);
  }
  .sec-first-lead03 .lead-txt {
    font-size: calc(100vw*70/750);
  }
  .sec-first-lead03 .lead-txt.-block01 {
    margin-bottom: calc(100vw*73/750);
  }
}

/*--------------------------------------------------------
　works-section
--------------------------------------------------------*/
.-is-movie-active .side-content {
  mix-blend-mode: difference;
}
.works-section {
  position: relative;
}

.works-section .sec-works.-js-movie {
  height: 100vh;
  height: 100lvh;
  transition-duration: 1s;
}
.works-section .archives-works:first-of-type {
  margin-top: 100vh;
  margin-top: 100lvh;
}
.works-section .sec-works:last-of-type {
  padding-bottom: 100vh;
  margin-top: 100lvh;
}
.works-section .content-archives {
  position: fixed;
  top: min(57.5vh, 621px);
  left: min(55.2vw, calc(100%*1060/1920));
}
.works-section .content-archives .works-ti {
  margin-bottom: calc(1em*48/40);
  color: var(--color-blue);
  font-weight: bold;
  font-size: min(calc(100vw*60/750), 40px)
}
.works-section .item-archives {
  font-size: min(calc(100vw*27/750), 15px);
}
.works-section .item-archives .year {
  color: #fff;
  letter-spacing: 0.2em;
}
.works-section .item-archives .title {
  color: #fff;
  font-weight: bold;
  font-size: calc(1em*25/15);
  letter-spacing: 0.2em;
}
.works-section .item-archives .txt {
  color: #fff;
  letter-spacing: 0.2em;
  margin-bottom: .5em;
}
.works-section .item-archives .link-more {
  margin-top: min(1.85vh, 20px);
  color: var(--color-blue);
  letter-spacing: 0.2em;
  text-decoration: none;
  display: inline-block;
}
.works-section .item-archives .link-more::after {
  content: "";
  margin-left:  .7em;
  background: url(../images/ico_more.svg) no-repeat 50% 50% / contain;
  vertical-align: baseline;
  display: inline-block;
  width: 0.93em;
  height: 0.93em;
}

.works-section .side-works .list-works {
  display: flex;
  align-items: center;
  gap: 0 min(2.6vw, 50px);
  font-weight: bold;
  font-size: min(calc(100vw*33/750), 18px);
  position: relative;
  opacity: 0;
  transform: translateY(-100%);
  transition: all .1s ease-in;
}
.works-section .side-works.-is-nav-active .list-works {
  opacity: 1;
  transform: translateY(0);
}

.works-section .side-works .list-works button,
.works-section .side-works .list-works a {
  padding-bottom: 3px;
  border-bottom: 2px solid transparent;
  color: var(--color-white);
  text-decoration: none;
}

.works-section .side-works .list-works button.-is-active,
.works-section .side-works .list-works  a.is-current {
  border-color: var(--color-blue);
  color: var(--color-blue);
}

.works-section .archives-works {
  text-align: left;
  position: relative;
  padding: min(30.9vh, 334px) min(2.6vw, 50px);
  padding: 254px min(2.6vw, 50px) 0;
  padding: 3em min(2.6vw, 50px) 2em;
}

.works-section .archives-works .works-ti {
  margin-bottom: min(4.3vh, 47px);
  color: var(--color-blue);
  font-size: calc(100%*40/18);
}
.works-section .archives-works .item-archives:nth-child(n+2) {
  margin-top: 10px;
}
.works-section .archives-works .sec-archives dt {
  font-weight: 200;
}
.works-section .archives-works .sec-archives dt,
.works-section .archives-works .sec-archives dd,
.works-section .archives-works .sec-archives p {
  letter-spacing: 0.2em;
  line-height: 1.64;
}

.works-section .archives-works .sec-archives a {
  color: var(--color-blue);
  text-decoration: underline;
}
.works-section .sec-works.-js-movie .content-archives .works-ti,
.works-section .sec-works.-js-movie .content-archives .item-archives {
  transition: all 0.2s ease-in;
  transform: translateY(-1em);
  opacity: 0;
}
.works-section .sec-works.-js-movie.-is-active .content-archives .works-ti,
.works-section .sec-works.-js-movie.-is-active .content-archives .item-archives {
  transform: translateY(0%);
  opacity: 1;
  transition-delay: 1s;
}
.works-section .sec-works.-js-movie.-is-active .content-archives .item-archives {
  transition-delay: 1.3s;
}


@media (orientation: landscape){
  .works-section .sec-ti {
    top: min(calc(100vh*306/1080), 306px);
    left: min(calc(100vw*1031/1950), calc(100%*1031/1920));
  }
  .works-section .content-archives .works-ti {
    font-size: min(calc(100vh*60/1080), 40px);
  }
  .works-section .item-archives {
    font-size: min(calc(100vh*27/1080), 15px);
  }
  .works-section .archives-works .sec-archives {
    max-width: 54%;
  }
  .works-section .archives-works .sec-archives dt,
  .works-section .archives-works .sec-archives dd,
  .works-section .archives-works .sec-archives p {
    font-size: calc(100%*14/15);
  }
}
@media (orientation: portrait){
  .works-section .side-content {
    padding-top: calc(100vw*375/750);
  }
  .works-section .side-works {
    font-size: calc(100vw*25/750);
  }
  .works-section .side-works .list-works {
    flex-wrap: wrap;
    gap: 1em 2em;
    font-size: calc(100vw*33/750);
  }
  .works-section .content-archives {
    top: calc(100vw*370/750);
    left: 0;
    padding: 0 calc(100vw*50/750);
  }
  .works-section .content-archives .works-ti {
    font-size: calc(100vw*60/750);
  }
  .works-section .item-archives {
    font-size: calc(100vw*27/750);
  }
  .works-section .archives-works .works-ti {
    font-size: calc(100%*60/24);
  }
  .works-section .archives-works {
    left: calc(100vw*50/750);
    padding: 3em calc(100vw*50/750) 2em;
  }
  .works-section .archives-works + .archives-works {
    margin-top: 5em;
  }
  .works-section .archives-works .sec-archives dt,
  .works-section .archives-works .sec-archives dd,
  .works-section .archives-works .sec-archives p {
    font-size: calc(100vw*24/750);
  }
}


/*--------------------------------------------------------
　production-section
--------------------------------------------------------*/
.production-section {
  position: relative;
}
.lead-production {
  max-width: min(45vw, 370px);
  margin-bottom: min(4.8vh, 52px);
}
.lead-production .txt {
  color: var(--color-white);
  font-size: min(0.7vw, 14px);
  font-size: calc(100%*14/15);
  letter-spacing: 0.2em;
  line-height: 1.6;
}
.lead-production,.list-production {
      width: fit-content;
  background: var(--color-black);
}

.lead-production,
.list-production {
  transition: .5s all .5s;
  opacity: 0;
  transform: translateY(10%)
}
.-is-active .lead-production,
.-is-active .list-production {
  opacity: 1;
  transform: translateY(0);
}
.list-production {
  font-size: min(calc(100vw*33/750), 18px);
  transition-delay: .7s;
}
.list-production li:nth-child(n+1) {
  margin-top: min(2.3vh, 25px);
}
.list-production li a {
  color: var(--color-white);
  text-decoration: none;
  transition: color .5s;
}
.list-production li a.is-current::after {
  content: "";
  background: transparent;
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  transition: background .5s;
}
.list-production li a.is-current {
  color: var(--color-blue);
  position: relative;
}
.list-production li a.is-current::after {
  background: var(--color-blue);
}
.list-production li a span {
  font-weight: bold;
  /*font-size: min(0.9vw, 18px);
  font-size: calc(100%*18/15);*/
}

.production-content {
  margin: 75px auto;
  position: relative;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(calc(100vw*400/1240), 400px);
  height: min(calc(100vw*400/1240), 400px);
  width: 400px;
  height: 400px;
}

.production-bg {
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(#000 -20%, #222 80%);
  filter: drop-shadow(2px 2px 30px rgba(0, 0, 0, 0.75));
}
.production-ti {
  color: var(--color-blue);
  font-weight: bold;
  font-size: min(2.6vw, 51px);
  position: relative;
}

.list-children {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.list-children li {
  color: var(--color-white);
  font-weight: bold;
  font-size: min(1vw, 20px);
  font-size: min(calc(100vw*20/1240), 20px);
  font-size: 20px;
  letter-spacing: 0.2em;
  white-space: nowrap;
  position: absolute;
}
.list-children li.-children-drama01 {
  left: calc(100%*-15/400);
  top: calc(100%*75/400);
}
.list-children li.-children-drama02 {
  left: calc(100%*235/400);
  top: calc(100%*45/400);
}
.list-children li.-children-drama03 {
  left: 0;
  top: calc(100%*285/400);
}
.list-children li.-children-drama04 {
  left: calc(100%*335/400);
  top: calc(100%*135/400);
}
.list-children li.-children-drama05 {
  left: calc(100%*190/400);
  top: calc(100%*315/400);
}

.list-children li.-children-video01 {
  left: calc(100%*105/400);
  top: calc(100%*5/400);
}
.list-children li.-children-video02 {
  left: calc(100%*290/400);
  top: calc(100%*20/400);
}
.list-children li.-children-video03 {
  left: calc(100%*-50/400);
  top: calc(100%*95/400);
}
.list-children li.-children-video04 {
  left: calc(100%*350/400);
  top: calc(100%*120/400);
}
.list-children li.-children-video05 {
  left: calc(100%*-30/400);
  top: calc(100%*350/400);
}
.list-children li.-children-video06 {
  left: calc(100%*235/400);
  top: calc(100%*300/400);
}

.list-children li.-children-planning01 {
  left: calc(100%*35/400);
  top: calc(100%*50/400);
}
.list-children li.-children-planning02 {
  left: calc(100%*250/400);
  top: calc(100%*315/400);
}
.sec-production {
  padding: .1px 0;
}
@media screen and (orientation: landscape) and (max-width: 1340px) {
  .sec-production {
    padding-left: 370px;
  }
}
@media screen and (orientation: landscape) and (max-width: 900px) {
  .production-content {
    width: calc(100vw*400/1000);
    height: calc(100vw*400/1000);
  }
  .sec-production {
    padding-left: 45vw;
  }
.list-children li {
  font-size: calc(100vw*20/1000);
}
}
@media screen and (orientation: landscape) and (max-height: 700px) {
  .production-content {
    width: calc(100vh*350/700);
    height: calc(100vh*350/700);
    width: min(calc(100vh*350/700), calc(100vw*400/1240));
    height: min(calc(100vh*350/700), calc(100vw*400/1240));
  }
  .list-children li {
    font-size: calc(100vh*20/700);
  font-size: min(calc(100vh*20/700), calc(100vw*20/1240));
  }
}
.production-section .sec-production:last-of-type {
  padding-bottom: 100vh;
  padding-bottom: 100lvh;
}
@media (orientation: landscape){
  .production-section .sec-ti {
    top: min(calc(100vh*237/1080), 237px);
    left: min(2.6vw, 50px);
  }
}
@media (orientation: portrait){
  .production-section::before {
    height: calc(100vw* 690 / 750);
  }
  .production-section .sec-ti {
    left: calc(100vw*12.5/750);
  }
  .works-section .archives-works {
    left: 0;
  }
  .production-content {
    margin: calc(100vw*75/750) auto;
    width: calc(100vw*490/750);
    height: calc(100vw*490/750);
  }
  .production-ti {
    font-size: calc(100vw*60/750);
  }
  .list-children li {
    font-size: calc(100vw*23/750);
  }
  .lead-production {
    font-size: calc(100vw*24/750);
    max-width: none;
    margin-bottom: calc(1em*45/24);
    letter-spacing: normal;
  }
  .list-production {
    font-size: calc(100vw*33/750);
    display: flex;
    flex-wrap: wrap;
    gap: 1em 2em;
  }
  .list-production li {
        margin-top: 0 !important;
  }
}

/*--------------------------------------------------------
　profile-section
--------------------------------------------------------*/
.photo-profile,
.photo-block .photo {
  border-radius: 100%;
  overflow: hidden;
}

.profile-section {
  opacity: 1;
  position: relative;
}

.side-profile {
}
.side-profile .list-profile {
  transition: .5s opacity .5s;
  opacity: 1;
}
/*サムネ
.-is-active .side-profile .list-profile {
  opacity: 1;
}*/
.side-profile .list-profile li {
  position: relative;
  width: min(5.5vh, 60px);
}
.side-profile .list-profile li:nth-child(n+2) {
  margin-top: min(2.3vh, 25px);
}
.side-profile .list-profile a {
  color: var(--color-white);
  text-decoration: none;
}
.side-profile .list-profile figure img {
  border-radius: 50%;
  background: var(--color-white);
  border: 2px solid var(--color-white);
  transition: border-color 0.5s;
}
.side-profile .list-profile figcaption {
  letter-spacing: 0.2em;
  white-space: nowrap;
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 0.5s;
}
.side-profile a.is-active figure img,
.side-profile a:hover figure img {
  border-color: var(--color-blue);
}
.side-profile a.is-active figure figcaption,
.side-profile a:hover figure figcaption {
  opacity: 1
}

.sec-profile {
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  height: 100lvh;
  min-height: 100lvh;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.sec-profile:not(.-is-active) {
  pointer-events: none;
}
.profile-section .side-content .side-bg {
  background-color: transparent;
}
.profile-content {
  width: auto;
  height: auto;
  position: absolute;
  top: min(calc(100vh*200/1080), 200px);
  left: min(16.14vw, 310px);
  display: flex;
  gap: min(2.6vw, 50px);
  transform: translateY(10%);
  transition: opacity 1s ease-out, transform 1s ease-out;
  opacity: 0;
}
.profile-section .sec-profile.-is-active .profile-content {
  opacity: 1;
  transform: translateY(0);
}

.sec-profile .photo-block {
  width: min(calc(100vw*250/750), 200px);
}
.sec-profile .body-block {
  width: min(calc(100vw*341/750), 341px);
}
.sec-profile .body-block .head {
  margin-bottom: 30px;
}
.sec-profile .body-block .status {
  letter-spacing: 0.2em;
}
.sec-profile .body-block .name {
  color: var(--color-blue);
  font-size: calc(100%*25/15);
  font-weight: bold;
  letter-spacing: 0.2em;
}
.sec-profile .body-block .txt {
  letter-spacing: 0.2em;
  line-height: 1.66;
}
.sec-profile .body-block .list-link {
  margin-top: min(2.6vw, 50px);
}
.sec-profile .body-block .list-link li {
  width: min(1.4vw, 27px);
}
.profile-section .sec-ti {
  background: var(--color-black);
}
@media (orientation: landscape){
  .side-profile {
    background: none;
  }
  .profile-section .sec-ti {
    right: min(2.6vw, 50px);
    bottom: min(2.6vw, 50px);
  }
}
@media (orientation: portrait){
  .profile-section .side-content {
    padding-top: calc(100vw* 396 / 750);
  }
  .profile-content {
    font-size: calc(100vw*24/750);
    flex-direction: column;
    top: calc(100vw* 587 / 750);
    left: 0;
    gap: min(2.6vw, 50px);
    padding: 0 calc(100vw*50/750);
  }
  .sec-profile .body-block {
    width: calc(100vw* 550 / 750);
  }
  .sec-profile .body-block .head {
    margin-bottom: 1em;
  }
  .sec-profile .body-block .name {
    font-size: calc(1em* 40 / 24);
  }
  .sec-profile .body-block .list-link li {
    width: calc(1em* 44 / 24);
  }
  .side-profile .list-profile li {
    width: calc(100vw* 60 / 750);
    margin-bottom: 1.2em;
  }
  .side-profile .list-profile figcaption {
    left: 50%;
    top: calc(100% + .3em);
    transform: translateX(-50%);
  }
}


/*--------------------------------------------------------
　company-section
--------------------------------------------------------*/
.company-section {
  background: var(--color-black);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 100vh;
  min-height: 100lvh;
  padding: min(calc(100vw*100/750), 100px) 0;
}

.company-section .item-company {
  overflow: hidden;
}

.company-section .item-company dl {
  transform: translateY(100%);
  transition: transform .5s;
}

.company-section.-is-active .item-company dl {
  transform: translateY(0);
}

.company-section .item-company dt {
  font-weight: bold;
}

.company-section .item-company dt,
.company-section .item-company dd {
  text-align: center;
  line-height: 1.66;
  letter-spacing: 0.2em;
}

.company-section .item-company:nth-child(n+2) {
  margin-top: 1.66em;
}

.company-section .item-company.-sns {
  margin-top: 8em;
}

.company-section .item-company.-sns dd {
  margin: min(1.3vw, 25px) auto 0;
  width: min(14.6vw, 28px);
}

.company-section .txt-copy {
  font-size: min(calc(100vw*18/750), 12px);
  font-weight: 300;
  letter-spacing: .2em;
  text-align: center;
  position: absolute;
  left: 50%;
  bottom: 40px;
  transform: translateX(-50%);
  height: 13px;
  white-space: nowrap;
}
@media (orientation: landscape){
}
@media (orientation: portrait){
}