@charset "UTF-8";
/* LESS Document */
.l-topSecTour {
  background-image: url(../img/top/bg_tour.jpg?2506);
}
.tourCntWrap__read::after {
  background-image: url(../img/tour/img_tour03.png?2506);
  background-size: 100% auto;
}
.tourItemTit::before {
  width: 182px;
  height: 205px;
  top: -15px;
  left: 10px;
  background-image: url(../img/tour/img_tour01.png?2506);
  background-size: contain;
}
@media (max-width: 768px) {
  .tourItemTit::before {
    width: calc(182px * 0.75);
    height: calc(205px * 0.75);
    top: 20px;
    left: -30px;
  }
}
@media (min-width: 769px) {
  .l-tourItem:nth-child(even) .tourItemTit::before {
    width: 185px;
    height: 205px;
    top: -15px;
    left: 35px;
    background-image: url(../img/tour/img_tour02.png?2506);
    background-size: contain;
  }
}
body.front-page {
  --primary-color: #c90d41;
}
@media (max-width: 1320px) {
  body.front-page .l-gHeader__nav {
    width: auto;
    padding-top: 10px;
  }
}
@media (min-width: 769px) {
  body.front-page .l-gHeader__nav .l-gNav__item.-new,
  body.front-page .l-gHeader__nav .l-gNav__item.-mid {
    display: none;
  }
}
body.front-page .mainVisual {
  max-width: 1600px;
  margin: 10px auto 0;
}
body.front-page .mainVisual img {
  max-width: 100%;
  height: auto;
}
body.front-page .mainVisual svg {
  width: 100%;
}
body.front-page .mainVisual__inner {
  display: flex;
  align-items: flex-start;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__inner {
    display: block;
  }
}
body.front-page .mainVisual__img {
  position: relative;
  flex: 0 0 calc(750 / 1480 * 100%);
  max-width: 750px;
  padding-bottom: clamp(100px, calc(140 / 1480 * 100vw), 140px);
}
@media (max-width: 768px) {
  body.front-page .mainVisual__img {
    max-width: 580px;
    margin: -15px auto 0;
    padding: 0 0 0 32%;
  }
}
body.front-page .mainVisual__img .main {
  clip-path: polygon(6.66% 0%, 100% 0%, 100% 100%, 0% 100%);
}
@media (min-width: 1481px) {
  body.front-page .mainVisual__img .main {
    clip-path: polygon(6.66% 0%, 100% 0%, calc(100% - 6.66%) 100%, 0% 100%);
  }
}
@media (max-width: 768px) {
  body.front-page .mainVisual__img .main {
    translate: 6.66% 0;
    clip-path: polygon(6.66% 0%, 100% 0%, calc(100% - 6.66%) 100%, 0% 100%);
  }
}
body.front-page .mainVisual__img .main img {
  aspect-ratio: 750 / 800;
}
body.front-page .mainVisual__img .sub {
  width: 53%;
  position: absolute;
  left: calc(clamp(225px, calc(320 / 1480 * 100vw), 320px) * -1);
  bottom: 0;
  clip-path: polygon(4.27% 0%, 100% 0%, calc(100% - 4.27%) 100%, 0% 100%);
}
@media (max-width: 768px) {
  body.front-page .mainVisual__img .sub {
    width: 50%;
    left: -5%;
    bottom: -30px;
  }
}
body.front-page .mainVisual__img .sub img {
  aspect-ratio: 598 / 383;
}
body.front-page .mainVisual__body {
  position: relative;
  z-index: 1;
  flex: 1 1 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 30px;
  padding: 0 5%;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body {
    max-width: 480px;
    margin: 0 auto;
  }
}
body.front-page .mainVisual__body .copyBlock {
  width: clamp(420px, calc(600 / 1480 * 100vw), 600px);
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body .copyBlock {
    width: auto;
  }
}
body.front-page .mainVisual__body .copyBlock .shape {
  width: 100%;
  margin-bottom: -16px;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body .copyBlock .shape {
    margin-bottom: -20px;
  }
}
body.front-page .mainVisual__body .copyBlock .shape svg path {
  fill: none;
  stroke: #222222;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  stroke-width: 3px;
}
.js-ready body.front-page .mainVisual__body .copyBlock .shape svg path {
  animation: handwriting-line 5s forwards infinite;
  animation-delay: 2.2s;
}
@keyframes handwriting-line {
  0% {
    stroke-dashoffset: 1000;
  }
  25%,
  100% {
    stroke-dashoffset: 0;
  }
}
body.front-page .mainVisual__body .copyBlock .title {
  width: calc(352 / 600 * 100%);
  margin-bottom: clamp(16px, calc(24 / 1480 * 100vw), 24px);
  opacity: 0;
  transition: 1s;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body .copyBlock .title {
    margin-bottom: 10px;
  }
}
.js-ready body.front-page .mainVisual__body .copyBlock .title {
  opacity: 1;
  transition-delay: 1.5s;
}
body.front-page .mainVisual__body .copyBlock .copy {
  width: calc(460 / 600 * 100%);
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: 18px;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body .copyBlock .copy {
    gap: 12px;
  }
}
body.front-page .mainVisual__body .copyBlock .copy .big {
  width: calc(423 / 460 * 100%);
  color: var(--primary-color);
}
body.front-page .mainVisual__body .copyBlock .copy .big svg path {
  fill: none;
  stroke: var(--primary-color);
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  stroke-width: 1px;
}
.js-ready body.front-page .mainVisual__body .copyBlock .copy .big svg path {
  animation: handwriting 1.5s ease-in forwards;
  animation-delay: 0.5s;
}
body.front-page .mainVisual__body .copyBlock .copy .small {
  width: 100%;
  color: #222222;
}
body.front-page .mainVisual__body .copyBlock .copy .small svg path {
  fill: none;
  stroke: currentColor;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  stroke-width: 1px;
}
.js-ready body.front-page .mainVisual__body .copyBlock .copy .small svg path {
  animation: handwriting 1.5s ease-in forwards;
  animation-delay: 0.5s;
}
@keyframes handwriting {
  0% {
    fill: transparent;
    stroke-dashoffset: 1000;
  }
  40% {
    fill: transparent;
  }
  60% {
    fill: transparent;
  }
  100% {
    fill: currentColor;
    stroke-dashoffset: 0;
  }
}
body.front-page .mainVisual__body .copyBlock .subcopy {
  width: calc(525 / 600 * 100%);
  margin-top: clamp(24px, calc(36 / 1480 * 100vw), 36px);
  opacity: 0;
  transition: 1s;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body .copyBlock .subcopy {
    margin-top: 16px;
  }
}
.js-ready body.front-page .mainVisual__body .copyBlock .subcopy {
  opacity: 1;
  transition-delay: 1.5s;
}
body.front-page .mainVisual__body .copyBlock .btns {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-top: clamp(28px, calc(40 / 1480 * 100vw), 40px);
  opacity: 0;
  translate: 0 30px;
  transition: 0.5s;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body .copyBlock .btns {
    margin-top: 20px;
  }
}
.js-ready body.front-page .mainVisual__body .copyBlock .btns {
  opacity: 1;
  translate: 0 0;
  transition-delay: 2.3s;
}
body.front-page .mainVisual__body .copyBlock .btns__item {
  flex: 1;
  max-width: 280px;
  filter: drop-shadow(0 10px 48px rgba(0, 0, 0, 0.08));
}
body.front-page .mainVisual__body .copyBlock .btns__item a {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: clamp(1.4rem, calc(17 / 1480 * 100vw), 1.7rem);
  font-weight: 700;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1;
  padding: 3.8em 2em;
  background: #000000;
  clip-path: polygon(4% 0%, 100% 0%, calc(100% - 4%) 100%, 0% 100%);
  transition: 0.3s;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body .copyBlock .btns__item a {
    font-size: 1.2rem;
    padding: 2.6em 2em;
  }
}
@media (any-hover: hover) {
  body.front-page .mainVisual__body .copyBlock .btns__item a:hover {
    translate: 0 3px;
    filter: brightness(1.05);
  }
}
body.front-page .mainVisual__body .copyBlock .btns__item a::before {
  content: '';
  position: absolute;
  left: 28px;
  top: 17px;
  background: #ffffff;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body .copyBlock .btns__item a::before {
    left: 18px;
    top: 10px;
    scale: 0.7;
    transform-origin: left top;
  }
}
body.front-page .mainVisual__body .copyBlock .btns__item a::after {
  content: '';
  aspect-ratio: 1 / 1;
  width: 20px;
  position: absolute;
  right: 25px;
  bottom: 14px;
  background: #ffffff;
  mask: url(../img/top/2025/ico_arrow.png) center center / contain no-repeat;
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body .copyBlock .btns__item a::after {
    width: 13px;
    right: 18px;
    bottom: 12px;
  }
}
body.front-page .mainVisual__body .copyBlock .btns__item a b {
  display: block;
  font-size: 1.64em;
  color: #ffffff;
  margin-bottom: 0.4em;
}
body.front-page .mainVisual__body .copyBlock .btns__item.-newgrad a {
  background: #2B8FDC;
  background: linear-gradient(-45deg, #2b8fdc 0%, #41c8ee 100%);
}
body.front-page .mainVisual__body .copyBlock .btns__item.-newgrad a::before {
  aspect-ratio: 42 / 66;
  width: 21px;
  mask: url(../img/top/2025/ico_newgraduate.png) center center / contain no-repeat;
}
body.front-page .mainVisual__body .copyBlock .btns__item.-career a {
  background: var(--primary-color);
  background: linear-gradient(-45deg, #c90d41 0%, #e41462 100%);
}
body.front-page .mainVisual__body .copyBlock .btns__item.-career a::before {
  aspect-ratio: 54 / 72;
  width: 27px;
  mask: url(../img/top/2025/ico_career.png) center center / contain no-repeat;
}
body.front-page .mainVisual__body .img {
  width: clamp(200px, calc(286 / 1480 * 100vw), 286px);
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 24px;
  translate: 0 100%;
  clip-path: polygon(0% 0%, 100% 0%, calc(100% - 6%) 100%, 0% 100%);
}
@media (min-width: 1481px) {
  body.front-page .mainVisual__body .img {
    clip-path: polygon(6% 0%, 100% 0%, calc(100% - 6%) 100%, 0% 100%);
  }
}
@media (max-width: 768px) {
  body.front-page .mainVisual__body .img {
    width: 35%;
    bottom: -20px;
    translate: -6% 100%;
    clip-path: polygon(6% 0%, 100% 0%, calc(100% - 6%) 100%, 0% 100%);
  }
}
body.front-page .mainVisual__body .img img {
  aspect-ratio: 286 / 268;
}
body.front-page .topSecSearch {
  max-width: 1600px;
  position: relative;
  width: auto;
  display: flex;
  flex-flow: row-reverse;
  align-items: flex-start;
  gap: 6%;
  margin: 0 auto;
  padding: 65px 0 110px;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch {
    display: block;
    padding: 0;
  }
}
body.front-page .topSecSearch::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: -200px -2000px 0 6.75%;
  background: #f2f2f2;
  clip-path: polygon(3% 0%, 100% 0%, 100% 100%, 0% 100%);
}
@media (max-width: 768px) {
  body.front-page .topSecSearch::before {
    inset: -240px -2000px 0 55%;
  }
}
body.front-page .topSecSearch__cnt__wrap {
  flex: 1 1 auto;
  margin-top: 24px;
  filter: drop-shadow(0 10px 48px rgba(0, 0, 0, 0.03));
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt__wrap {
    margin-top: 60px;
  }
}
body.front-page .topSecSearch__tit {
  position: relative;
  z-index: 1;
  text-align: left;
  margin-bottom: -12px;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__tit {
    padding: 0 5%;
    text-align: center;
  }
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__tit img {
    height: 22px;
    width: auto;
  }
}
body.front-page .topSecSearch__cnt {
  width: auto;
  padding: 4% 8.5% 4% 8.5%;
  border-radius: 0;
  box-shadow: none;
  clip-path: polygon(3% 0%, 100% 0%, 100% 100%, 0% 100%);
}
@media (min-width: 1481px) {
  body.front-page .topSecSearch__cnt {
    clip-path: polygon(3% 0%, 100% 0%, calc(100% - 3%) 100%, 0% 100%);
  }
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt {
    clip-path: none;
    padding: 40px 5%;
  }
}
body.front-page .topSecSearch__cnt::after {
  display: none;
}
body.front-page .topSecSearch__cnt .l-formTable {
  font-size: 1.5rem;
  overflow: visible;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .l-formTable {
    font-size: 1.4rem;
  }
}
body.front-page .topSecSearch__cnt .l-formTable__row {
  position: relative;
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .l-formTable__row {
    display: block;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}
body.front-page .topSecSearch__cnt .l-formTable__row::after {
  content: '';
  height: 1px;
  position: absolute;
  inset: auto 0 0 0;
  background: #e5e5e5;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .l-formTable__row:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
body.front-page .topSecSearch__cnt .l-formTable__row:last-child::after {
  display: none;
}
body.front-page .topSecSearch__cnt .l-formTable__th {
  flex: 0 0 calc(6em + 30px);
  padding: 30px 30px 30px 0;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .l-formTable__th {
    margin-bottom: 0.5em;
    padding: 0;
  }
}
body.front-page .topSecSearch__cnt .l-formTable__th::after {
  display: none;
}
body.front-page .topSecSearch__cnt .l-formTable__th:not(:first-child) {
  flex: 0 0 auto;
  margin-left: 2em;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .l-formTable__th:not(:first-child) {
    margin-left: 0;
    margin-top: 1em;
  }
}
body.front-page .topSecSearch__cnt .l-formTable__td {
  width: auto;
  flex: 1;
  display: flex;
  gap: 20px;
  padding: 30px 0;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .l-formTable__td {
    display: block;
    padding: 0;
  }
}
body.front-page .topSecSearch__cnt .searchForm__tit {
  font-size: 1.6rem;
  color: #000000;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .searchForm__tit {
    font-size: 1.4rem;
  }
}
body.front-page .topSecSearch__cnt .searchForm__checkList {
  margin-right: 0;
}
body.front-page .topSecSearch__cnt .searchForm__checkList > li {
  margin-right: 2px;
}
body.front-page .topSecSearch__cnt .searchForm input[type=checkbox] + label {
  padding: 16px 20px 16px 44px;
  border: 1px solid #cccccc;
  border-radius: 2px;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .searchForm input[type=checkbox] + label {
    padding: 12px 16px 12px 40px;
  }
}
body.front-page .topSecSearch__cnt .searchForm input[type=checkbox] + label::before {
  left: 18px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background: #e5e5e5;
  border: none;
  border-radius: 2px;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .searchForm input[type=checkbox] + label::before {
    left: 14px;
  }
}
body.front-page .topSecSearch__cnt .searchForm input[type=checkbox] + label::after {
  left: 24px;
  top: 0;
  bottom: 2px;
  margin: auto 0;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .searchForm input[type=checkbox] + label::after {
    left: 20px;
  }
}
body.front-page .topSecSearch__cnt .l-formTable__child {
  display: flex;
  gap: 30px;
}
body.front-page .topSecSearch__cnt .searchForm__pull-down {
  width: 100%;
}
body.front-page .topSecSearch__cnt .searchForm select,
body.front-page .topSecSearch__cnt .searchForm input[type="text"] {
  color: #222222;
  padding: 1.2em 44px 1.2em 1.3em;
  border: 1px solid #cccccc;
  border-radius: 2px;
}
body.front-page .topSecSearch__cnt .searchForm__searth_btn {
  max-width: 210px;
  margin: 0;
}
@media (max-width: 768px) {
  body.front-page .topSecSearch__cnt .searchForm__searth_btn {
    margin: 20px auto 0;
  }
}
body.front-page .topSecSearch__cnt .searchForm__searth_btn .searchForm__btn_cover::before {
  left: 1.8em;
  width: 18px;
  height: 21px;
  background: url(../img/top/2025/ico_search.png) center center / contain no-repeat;
}
body.front-page .topSecSearch__cnt .searchForm__searth_btn input[type="submit"] {
  font-size: 1.5rem;
  border-radius: 500px;
}
body.front-page .topSecSearch__img {
  flex: 0 0 calc(380 / 1480 * 100%);
  max-width: 380px;
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  clip-path: polygon(0% 0%, 100% 0%, calc(100% - 8%) 100%, 0% 100%);
}
@media (min-width: 1481px) {
  body.front-page .topSecSearch__img {
    clip-path: polygon(8% 0%, 100% 0%, calc(100% - 8%) 100%, 0% 100%);
  }
}
body.front-page .topSecSearch__img__wrap {
  animation: none;
}
body.front-page .topSecSearch__img__wrap::after {
  display: none;
}
body.front-page .topSecSearch__img__wrap img {
  aspect-ratio: 380 / 502;
  border-radius: 0;
}
body.front-page .sec__newjobs {
  max-width: 1600px;
  margin: 0 auto;
}
body.front-page .sec__newjobs .newjobs__inner {
  position: relative;
  display: flex;
  align-items: center;
  margin-left: 6.75%;
  padding: 72px 40px;
}
@media (max-width: 768px) {
  body.front-page .sec__newjobs .newjobs__inner {
    flex-flow: wrap;
    justify-content: space-between;
    margin: 0;
    padding: 30px 5% 40px;
  }
}
body.front-page .sec__newjobs .newjobs__inner::before {
  content: '';
  height: 1px;
  position: absolute;
  inset: auto -2000px 0 0;
  background: #e5e5e5;
}
body.front-page .sec__newjobs .newjobs__title {
  flex: 0 0 auto;
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--primary-color);
  margin-right: 64px;
}
@media (max-width: 768px) {
  body.front-page .sec__newjobs .newjobs__title {
    flex: 0 0 100%;
    text-align: center;
    font-size: 2rem;
    margin: 0;
  }
}
body.front-page .sec__newjobs .newjobs__contents {
  flex: 1 1 100%;
  overflow: hidden;
}
@media (max-width: 768px) {
  body.front-page .sec__newjobs .newjobs__contents {
    margin-bottom: 20px;
  }
}
body.front-page .sec__newjobs .newjobs__contents .list {
  flex: 1 1 100%;
}
body.front-page .sec__newjobs .newjobs__contents .list__item a {
  display: flex;
  align-items: center;
  gap: 0 1.5em;
  font-size: 1.6rem;
}
@media (max-width: 768px) {
  body.front-page .sec__newjobs .newjobs__contents .list__item a {
    flex-flow: column;
    align-items: flex-start;
    gap: 0.3em;
    font-size: 1.4rem;
  }
}
body.front-page .sec__newjobs .newjobs__contents .list__item .title {
  font-weight: 700;
  text-decoration: underline;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
body.front-page .sec__newjobs .newjobs__controls {
  flex: 0 0 auto;
  display: flex;
  gap: 0 5px;
  margin-left: 40px;
}
@media (max-width: 768px) {
  body.front-page .sec__newjobs .newjobs__controls {
    margin-left: 0;
  }
}
body.front-page .sec__newjobs .newjobs__controls .controls__item {
  position: relative;
  aspect-ratio: 1 / 1;
  width: 32px;
  flex: 0 0 32px;
  background: var(--primary-color);
  border-radius: 50%;
  cursor: pointer;
  transition: 0.3s;
}
@media (any-hover: hover) {
  body.front-page .sec__newjobs .newjobs__controls .controls__item:hover {
    opacity: 0.8;
  }
}
body.front-page .sec__newjobs .newjobs__controls .controls__item::after {
  content: '';
  width: 0.5em;
  height: 0.5em;
  position: absolute;
  inset: 0;
  margin: auto;
  border-left: 2px solid #ffffff;
  border-top: 2px solid #ffffff;
  box-sizing: border-box;
}
body.front-page .sec__newjobs .newjobs__controls .controls__item.-prev::after {
  rotate: -45deg;
  translate: 25% 0;
}
body.front-page .sec__newjobs .newjobs__controls .controls__item.-next::after {
  rotate: 135deg;
  translate: -25% 0;
}
body.front-page .sec__newjobs .newjobs__link {
  flex: 0 0 auto;
  margin-left: 48px;
}
body.front-page .sec__newjobs .newjobs__link a {
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--primary-color);
}
@media (max-width: 768px) {
  body.front-page .sec__newjobs .newjobs__link a {
    font-size: 1.4rem;
  }
}
@media (any-hover: hover) {
  body.front-page .sec__newjobs .newjobs__link a:hover::after {
    translate: 2px 0;
  }
}
body.front-page .sec__newjobs .newjobs__link a::after {
  content: '';
  aspect-ratio: 70 / 48;
  width: 2.1875em;
  flex: 0 0 2.1875em;
  background: url(../img/top/2025/ico_link.png) center center / contain no-repeat;
  transition: 0.3s;
}
body.front-page .sec__movie {
  margin-top: 100px;
  margin-bottom: 140px;
}
@media (max-width: 768px) {
  body.front-page .sec__movie {
    margin-top: 50px;
    margin-bottom: 70px;
  }
}
body.front-page .sec__movie .movie__title {
  width: fit-content;
  margin: 0 auto 48px;
}
@media (max-width: 768px) {
  body.front-page .sec__movie .movie__title {
    margin-bottom: 30px;
  }
}
@media (max-width: 768px) {
  body.front-page .sec__movie .movie__title img {
    height: 18px;
  }
}
body.front-page .sec__movie .movie__wrap {
  max-width: 900px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  body.front-page .sec__movie .movie__wrap {
    padding: 0 5%;
  }
}
body.front-page .sec__movie .movie__wrap .movie {
  position: relative;
  z-index: 1;
  width: 100%;
}
body.front-page .sec__movie .movie__wrap .movie::before {
  content: '';
  aspect-ratio: 760 / 143;
  width: 85%;
  position: absolute;
  z-index: -1;
  inset: auto 0 0 0;
  margin: 0 auto;
  background: url(../img/top/2025/movie_shadow.png) center center / contain no-repeat;
  translate: 0 50%;
}
body.front-page .sec__movie .movie__wrap .movie iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}
body.front-page .curtainIn {
  position: relative;
  overflow: hidden;
}
body.front-page .curtainIn::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  background: var(--primary-color);
  translate: -101% 0;
}
.js-ready body.front-page .curtainIn::before {
  animation: showMask 1.5s forwards;
  animation-delay: 0.5s;
}
body.front-page .curtainIn img {
  opacity: 0;
}
.js-ready body.front-page .curtainIn img {
  animation: showElements 1.5s forwards;
  animation-delay: 0.5s;
}
@keyframes showMask {
  0% {
    translate: -101% 0;
  }
  45%,
  50% {
    translate: 0% 0;
  }
  100% {
    translate: 101% 0;
  }
}
@keyframes showElements {
  0%,
  45% {
    opacity: 0;
  }
  50%,
  100% {
    opacity: 1;
  }
}
