@charset "UTF-8";
/* CSS Document */
@media screen and (max-width: 762px) {
  /* スマホでモーダルを画面いっぱいに広げる */
  .iziModal {
    width: 800px !important;
    max-width: 100% !important;
    top: 0;
    bottom: 0;
    left: 0 !important;
    right: 0 !important;
    margin: auto !important; }

  /* モーダルのヘッダー（タイトル）をスマホ向けに調整 */
  .iziModal-header {
    padding: 10px !important;
    font-size: 4vw !important;
    text-align: center;
    line-height: 1.4;
    word-break: break-word; } }
/* 固定バナーより前面に出す（あなたのサイトは z-index が強い） */
/* スマホで iframe を縦横比維持しつつフィットさせる */
.iziModal iframe {
  width: 100% !important;
  height: 56.25vw !important;
  /* YouTube 16:9 */
  max-height: 60vh !important;
  display: block;
  height: 100% !important;
  aspect-ratio: 16 / 9; }

#movie .section-movie {
  background: #fff;
  margin-top: 50px; }
  #movie .section-movie ul.movie-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 20px;
    gap: 3vw; }
    @media screen and (min-width: 762px) {
      #movie .section-movie ul.movie-list {
        grid-template-columns: repeat(3, 1fr);
        padding: 50px; } }
    #movie .section-movie ul.movie-list li a {
      display: block;
      width: 100%;
      color: #4d4d4d;
      text-decoration: none;
      padding: 10px;
      border-radius: 4px;
      transition: 0.3s ease-in-out; }
      @media screen and (min-width: 762px) {
        #movie .section-movie ul.movie-list li a {
          padding: 20px; } }
      #movie .section-movie ul.movie-list li a .thumb {
        aspect-ratio: 16 / 9;
        overflow: hidden;
        position: relative; }
      #movie .section-movie ul.movie-list li a .play_overlay {
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        width: 3vw;
        min-width: 40px;
        /* height: 20px; */
        top: 0;
        bottom: 0;
        aspect-ratio: 1 / 1; }
        #movie .section-movie ul.movie-list li a .play_overlay img {
          width: 100%;
          height: 100%;
          display: block; }
      #movie .section-movie ul.movie-list li a .text {
        margin-top: 5px;
        text-decoration: none;
        font-size: clamp(12px, 1.25vw, 4rem); }
      #movie .section-movie ul.movie-list li a .date {
        font-size: .9em; }
      #movie .section-movie ul.movie-list li a .thumbnail-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* ★最重要：4:3画像を16:9に引き伸ばし、上下の黒帯をトリミング */
        object-position: center; }
      #movie .section-movie ul.movie-list li a:hover {
        background: #f0f0f0; }
#movie .sub-fv__container {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 100%;
  aspect-ratio: 375/120;
  background-image: url(../images/sub/kv_company.jpg);
  margin-bottom: 0; }
  @media screen and (min-width: 1280px) {
    #movie .sub-fv__container {
      aspect-ratio: 350/93; } }
  #movie .sub-fv__container::after {
    content: "";
    position: absolute;
    top: 0;
    background: rgba(128, 128, 128, 0.7);
    width: 100%;
    aspect-ratio: 375/120;
    display: block; }
    @media screen and (min-width: 1280px) {
      #movie .sub-fv__container::after {
        aspect-ratio: 350/93; } }
#movie .sub-fv__box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 2; }
#movie .sub-fv__ttl {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  color: #fff;
  font-size: 5.3vw; }
  @media screen and (min-width: 1280px) {
    #movie .sub-fv__ttl {
      font-size: 3.3vw; } }
#movie .sub-fv__sub {
  font-size: 6.6vw;
  font-weight: normal;
  font-style: italic;
  opacity: 0.2; }
  @media screen and (min-width: 1280px) {
    #movie .sub-fv__sub {
      font-size: 4vw;
      line-height: 1; } }
#movie .breadcrumb {
  padding: 2vw 3vw 0;
  margin-bottom: 3vw; }
  @media screen and (min-width: 1280px) {
    #movie .breadcrumb {
      padding: 2vw 9.7vw 0; } }
#movie .breadcrumb__list {
  display: flex; }
#movie .breadcrumb__list-item {
  display: flex;
  align-items: center;
  font-size: min(3vw, 18px);
  font-weight: bold; }
  #movie .breadcrumb__list-item:not(:first-child)::before {
    content: "＞";
    font-family: "Open sans";
    margin: 0 10px;
    display: block; }
#movie .breadcrumb__list-link {
  color: #007ce2;
  text-decoration: none; }
  #movie .breadcrumb__list-link::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #007ce2;
    display: block; }
#movie .breadcrumb {
  padding: 2vw 0;
  margin-bottom: 0; }
  @media screen and (min-width: 1280px) {
    #movie .breadcrumb {
      padding: 2vw 0; } }
#movie .breadcrumb__list-item {
  color: #fff; }
#movie .sub-company__wrapper {
  position: relative;
  padding: 0 3vw 3vw; }
  #movie .sub-company__wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/sub/bg_noise.png) center top/contain repeat-x;
    z-index: -1;
    pointer-events: none; }
  @media screen and (min-width: 1280px) {
    #movie .sub-company__wrapper {
      background: url(../images/sub/bg_noise-pc.png) center top/contain repeat-x;
      padding: 0 9.7vw 9.7vw; } }
#movie .sub-company__info {
  background: #fff;
  margin-bottom: 16vw; }
#movie .sub-company__info__ttlbox {
  margin: 0 auto 5vw;
  background: #007ce2;
  padding: 2.8vw 0; }
  @media screen and (min-width: 1280px) {
    #movie .sub-company__info__ttlbox {
      padding: 1.1vw 0; } }
#movie .sub-company__info__ttlbox-ttl {
  color: #fff;
  font-size: 4.8vw;
  text-align: center; }
  @media screen and (min-width: 1280px) {
    #movie .sub-company__info__ttlbox-ttl {
      font-size: 2.5vw; } }
#movie .sub-company__info__ttlbox {
  margin: 0 auto 3vw; }
#movie .sub-company__info-wrap {
  padding: 0 7vw 7vw; }
  @media screen and (min-width: 1280px) {
    #movie .sub-company__info-wrap {
      padding: 0 9.7vw 5vw; } }
#movie .sub-company__info-dl {
  margin-bottom: 5vw; }
  @media screen and (min-width: 1280px) {
    #movie .sub-company__info-dl {
      margin-bottom: 0; } }
#movie .sub-company__info-dt {
  color: #007ce2;
  font-size: 4.2vw;
  font-weight: bold;
  border-bottom: 1.5px dashed #4d4d4d;
  padding: 3vw 0; }
  @media screen and (min-width: 1280px) {
    #movie .sub-company__info-dt {
      font-size: 1.5vw;
      border-bottom: none;
      padding: 0; } }
#movie .sub-company__info-dd {
  font-size: 4vw;
  line-height: 2;
  padding: 5vw 0;
  border-bottom: 1.5px dashed #4d4d4d; }
  @media screen and (min-width: 1280px) {
    #movie .sub-company__info-dd {
      font-size: 1.3vw;
      border-bottom: none;
      padding: 0; } }
@media screen and (min-width: 1280px) {
  #movie .sub-company__info-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
    padding: 2vw 0;
    border-bottom: 1.5px dashed #4d4d4d; }
  #movie .sub-company__info-row:first-child {
    padding: 0 0 2vw; }
  #movie .sub-company__info-row:last-child {
    padding: 2vw 0;
    border-bottom: none; } }
#movie .sub-company__info-row .br__pc {
  display: none; }
#movie .sub-company__info-map {
  width: 100%;
  position: relative;
  padding-top: 70%; }
@media screen and (min-width: 1280px) {
  #movie .sub-company__info-map {
    width: 50%;
    padding-top: 30%;
    margin-left: auto; } }
#movie .sub-company__info-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
#movie .sub-company__history {
  position: relative;
  padding-bottom: 9.7vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw); }
#movie .sub-company__history::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  background-image: url(../images/sub/bg_geometry.png);
  background-size: cover;
  background-position: center top;
  width: 100%;
  height: 100%;
  z-index: -1; }
@media screen and (min-width: 1280px) {
  #movie .sub-company__history::after {
    background-image: url(../images/sub/bg_geometry-pc.png); } }
#movie .sub-company__history-ttlbox {
  text-align: center;
  margin-bottom: min(8vw, 60px);
  position: relative; }
#movie .sub-company__history-ttlbox-ttl {
  position: relative;
  z-index: 1;
  font-size: min(5.3vw, 40px);
  font-weight: bold;
  margin-bottom: 8vw; }
@media screen and (min-width: 768px) {
  #movie .sub-company__history-ttlbox-ttl {
    font-size: clamp(24px, 3.5vw, 40px);
    margin-bottom: 30px; } }
#movie .sub-company__history-ttlbox-sub {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Open Sans", sans-serif;
  font-size: 16vw;
  color: transparent;
  text-shadow: 0 0 2px #e0effb;
  font-weight: 400;
  font-style: italic;
  z-index: -1;
  z-index: -1;
  width: 100%;
  font-size: 9.3vw; }
  @media screen and (min-width: 768px) {
    #movie .sub-company__history-ttlbox-sub {
      font-size: clamp(70px, 9vw, 110px); } }

#company .sub-company__history-dl {
  padding: 0 9.7vw; }

@media screen and (min-width: 1280px) {
  #company .sub-company__history-dl {
    margin: 0 auto;
    display: grid;
    grid-auto-rows: 1fr; } }
@media screen and (min-width: 1280px) {
  #company .sub-company__history-row {
    display: grid;
    grid-template-columns: 1fr 3fr;
    padding: 0;
    align-items: stretch; }

  #company .sub-company__history-row:last-child .sub-company__history-dt {
    border-bottom: 3px solid #007ce2; }

  #company .sub-company__history-row:last-child .sub-company__history-dd {
    position: relative; }

  #company .sub-company__history-row:last-child .sub-company__history-dd::after {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    border-bottom: 1px dashed #4d4d4d; } }
#company .sub-company__history-dt {
  color: #007ce2;
  font-size: 4.2vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding: 3vw 0;
  margin-bottom: 3vw;
  text-align: center;
  border-top: 3px solid #007ce2;
  border-bottom: 3px solid #007ce2; }

@media screen and (min-width: 1280px) {
  #company .sub-company__history-dt {
    font-size: 1.5vw;
    margin-bottom: 0;
    padding: 2vw 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-top: none;
    border-bottom: none;
    position: relative; }

  #company .sub-company__history-dt::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    border-top: 3px solid #007ce2; } }
#company .sub-company__history-dd {
  font-size: 4.2vw;
  line-height: 2;
  margin-bottom: 8.5vw; }

@media screen and (min-width: 1280px) {
  #company .sub-company__history-dd {
    font-size: 1.3vw;
    text-align: left;
    width: 100%;
    margin: 0;
    padding: 2vw 4vw;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    border-top: none;
    position: relative; }

  #company .sub-company__history-dd::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: 100%;
    border-top: 1px dashed #4d4d4d; } }
