@charset "UTF-8";
/* CSS Document */

/* =========================================================
  Reset
========================================================= */
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight: normal;list-style-type:none;}
body {line-height:1}
pre,textarea{overflow:auto}
[hidden],audio:not([controls]),template{display:none}
details,main,summary{display:block}
input[type=number]{width:auto}
input[type=search]{-webkit-appearance:textfield}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
progress{display:inline-block}
small{font-size:75%}
textarea{resize:vertical}
[unselectable]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
*,::after,::before{box-sizing:inherit;border-style:solid;border-width:0}
*{font-size:inherit;line-height:inherit;margin:0;padding:0}
::after,::before{text-decoration:inherit;vertical-align:inherit}
a{text-decoration:none}
audio,canvas,iframe,img,svg,video{vertical-align:middle}
button,input,textarea{background-color:transparent;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit;min-height:1.5em}
code,kbd,pre,samp{font-family:monospace,monospace}
nav ol,nav ul{list-style:none}
table{border-collapse:collapse;border-spacing:0}
::-moz-selection{background-color:#B3D4FC;text-shadow:none}
::selection{background-color:#B3D4FC;text-shadow:none}
@media screen{[hidden~=screen]{display:inherit}
  [hidden~=screen]:not(:active):not(:focus):not(:target){clip:rect(0 0 0 0)!important;position:absolute!important}
}

@font-face {
  font-family: "numberfont";
  src: url("../fonts/GlacialIndifference-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "numberfont";
  src: url("../fonts/GlacialIndifference-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* =========================================================
  Common
========================================================= */
html {
  font-size: 62.5%;
  height: 100%;
}
body {
  color: #293855;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  max-height: 999999px;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  height: 100%;
}
body.modalActive {
  overflow: hidden;
}
* {
  box-sizing: border-box;
}
a {
  color: #293855;
  text-decoration: none;
  -webkit-transition: all .25s ease-in;
  transition: all .25s ease-in;
}
a:focus {
  outline: none;
}
a:hover {
  opacity: 0.7;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
sup {
  font-size: 80%;
  vertical-align: top;
  position: relative;
}
.spOnly {
  display: none;
}
article {
  padding-top: 65px;
}
@media only screen and (max-width:749px) {
  .pcOnly {
    display: none;
  }
  .spOnly {
    display: block;
  }
  img {
    width: 100%;
  }
}
/* =========================================================
  Header
========================================================= */
.header {
  position: fixed;
  z-index: 9;
  width: 100%;
  display: flex;
  justify-content: space-between;
  height: 65px;
  padding: 0 3.2% 0 2.5%;
  transition: all .25s ease-in;
}
.header.isScroll {
  background: #293855;
  box-shadow: 0px 7px 29.7px 0.3px rgba(134, 123, 115, 0.58);
}
.header .mainLogo {
  max-width: 370px;
  width: 100%;
  display: flex;
  align-items: center;
}
.header .mainLogo a {
  width: 100%;
}
.header .mainLogo svg {
  width: 100%;
}
.header .mainLogo .pcOnly .st0 {
  fill: none;
}
.header .mainLogo .pcOnly .st1 {
  fill: url(#gradation3);
}
.header .mainLogo .pcOnly .st2 {
  fill: url(#gradation2);
}
.header .mainLogo .pcOnly .st3 {
  fill: #d0121b;
}
.header .mainLogo .pcOnly .st4 {
  fill: #000;
  transition: all .25s ease-in;
}
.header .mainLogo .pcOnly .st5 {
  fill: #333;
  transition: all .25s ease-in;
}
.header.isScroll .mainLogo .pcOnly .st4 {
  fill: #fff;
}
.header.isScroll .mainLogo .pcOnly .st5 {
  fill: #fff;
}
.header .mainLogo .pcOnly .st6 {
  clip-path: url(#clippath);
}
.header .headMeta {
  margin: 0 0 0 auto;
  display: flex;
}
.header .headNav ul {
  display: flex;
}
.header .headNav li {
  margin-left: 10px;
}
.header .headNav li .parent {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 70px;
  min-height: 81px;
  line-height: 1.217;
  cursor: pointer;
}
.header .headNav li.entry .parent {
  background: #c92634;
  border: 2px solid #c92634;
}
.header .headNav li.intern .parent {
  background: #0072ba;
  border: 2px solid #0072ba;
  transition: all .25s ease-in;
}
.header .headNav li .parent svg  {
  fill: #fff;
  width: 100%;
  transition: all .25s ease-in;
}
.header .headNav li.entry .parent:hover {
  background: #fff;
}
.header .headNav li.entry .parent:hover svg {
  fill: #c92634;
}
.header .headNav li.entry .parent:hover::after {
  background: #c92634;
}
.header .headNav li.intern .parent:hover {
  background: #fff;
}
.header .headNav li.intern .parent:hover svg {
  fill: #0072ba;
}
.header .headNav li .child {
  position: absolute;
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 412px;
  min-height: 60px;
  right: 3.2%;
  padding: 0 16px;
  margin-top: 10px;
}
.header .headNav li .child.isActive {
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.header .headNav li .child li {
  margin: 0;
  width: 182px;
}
.header .headNav li .child li a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 33px;
  background: #fff;
  border: 2px solid #fff;
  width: 100%;
}
.header .headNav li .child li a:hover {
  opacity: 1;
}
.header .headNav li .child li a svg {
  width: 165px;
  transition: all .25s ease-in;
}
.header .headNav li.entry .child {
  background: #c92634;
}
.header .headNav li.entry .child li a .st0 {
  fill: #c92634;
}
.header .headNav li.entry .child li a:hover {
  background: #c92634;
}
.header .headNav li.entry .child li a:hover .st0 {
  fill: #fff;
}
.header .headNav li.intern .child {
  background: #0072ba;
}
.header .headNav li.intern .child li a .st0 {
  fill: #0072ba;
}
.header .headNav li.intern .child li a:hover {
  background: #0072ba;
}
.header .headNav li.intern .child li a:hover .st0 {
  fill: #fff;
}
.header .triggerWrap {
  height: 65px;
  display: flex;
  align-items: center;
}
.header .menuTrigger {
  min-width: 47px;
  min-height: 47px;
  border-radius: 50%;
  border: 1px solid #000;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: #fff;
  margin-left: 32px;
}
.header .menuTrigger span {
  width: 2.82px;
  aspect-ratio: 1/1;
  background: #000;
  border-radius: 50%;
  margin: 2px 0;
  position: relative;
}
.header .menuTrigger:hover span {
  background: transparent;
}
.header .menuTrigger span::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 2px;
  background: #000;
  transform: translate(-50%, -50%) scaleX(0);
  transform-origin: center;
  transition: transform .3s ease;
}
.header .menuTrigger:hover span::before {
  transform: translate(-50%, -50%) scaleX(1);
}
@media only screen and (max-width:749px) {
  .header {
    height: 12vw;
    padding: 0 3.7% 0 3.3%;
  }
  .header .mainLogo {
    max-width: none;
    width: 42.8vw;
  }
  .header .mainLogo .spOnly .sp0 {
    fill: none;
  }
  .header .mainLogo .spOnly .sp1 {
    fill: url(#gradation5);
  }
  .header .mainLogo .spOnly .sp2 {
    fill: url(#gradation6);
  }
  .header .mainLogo .spOnly .sp3 {
    fill: #d0121b;
  }
  .header .mainLogo .spOnly .sp4 {
    fill: #333;
    transition: all .25s ease-in;
  }
  .header.isScroll .mainLogo .spOnly .sp4 {
    fill: #fff;
  }
  .header .mainLogo .spOnly .sp5 {
    clip-path: url(#clippath2);
  }
  .header .headNav li {
    margin-left: 2vw;
  }
  .header .headNav li .parent {
    width: 13.33vw;
    min-height: 15.18vw;
  }
  .header .headNav li .child {
    width: 54.53vw;
    min-height: 0;
    right: 3.7%;
    padding: 3.6vw 2.8vw;
    margin-top: 1.86vw;
    display: block;
  }
  .header .headNav li .child li {
    margin: 0 0 2.53vw;
    width: 48.54vw;
  }
  .header .headNav li .child li:last-child {
    margin-bottom: 0;
  }
  .header .headNav li .child li a {
    min-height: 8.8vw;
  }
  .header .headNav li .child li a svg {
    width: 44vw;
  }
  .header .triggerWrap {
    height: 12vw;
  }
  .header .menuTrigger {
    min-width: 8.6vw;
    min-height: 8.6vw;
    margin-left: 3.2vw;
  }
  .header .menuTrigger span {
    width: 0.63vw;
    margin: 0.53vw 0;
  }
  .header .menuTrigger span::before {
    width: 5vw;
  }
}
/* =========================================================
  Inner Header
========================================================= */
.innerHead {
  padding: 35px 3% 0;
}
.innerHead .headWrap {
  max-width: 1040px;
  margin: 0 auto;
}
.innerHead .headWrap .breadcrumb {
  display: flex;
  letter-spacing: 0.06em;
  flex: 1;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
}
.innerHead .headWrap .breadcrumb li {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 27px;
  background: #293855;
  color: #fff;
  border-radius: 100px;
  padding: 0 27px;
  margin-left: 18px;
}
.innerHead .headWrap .breadcrumb .top {
  max-width: 92px;
  width: 100%;
  min-height: 0;
  background: none;
  border-radius: 0;
  display: block;
  padding: 0;
  margin: 0;
}
.innerHead .headWrap .breadcrumb .top a {
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 27px;
  border: 1px dashed #293855;
}
.innerHead .headWrap .breadcrumb .top svg {
  max-width: 30px;
  height: auto;
  width: 100%;
}
.innerHead .headWrap .breadcrumb .top .st0 {
  fill: #293855;
}
.innerHead .headWrap .breadcrumb .top a:hover {
  background: #293855;
  opacity: 1;
  transition: all .25s ease-in;
}
.innerHead .headWrap .breadcrumb .top a:hover .st0 {
  fill: #fff;
}
.innerHead .headWrap h1 {
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 15px;
  letter-spacing: 0.04em;
}
.innerHead .headWrap h1 img {
  display: block;
  margin-bottom: 10px;
}
@media only screen and (max-width:749px) {
  .innerHead {
    padding: 3% 5% 0;
  }
  .innerHead .headWrap {
    max-width: none;
  }
  .innerHead .headWrap .breadcrumb li {
    min-height: 5.5vw;
    padding: 0 4.4vw;
    margin-left: 3vw;
    font-size: 2.66vw;
  }
  .innerHead .headWrap .breadcrumb li span {
    font-size: 1.9vw;
  }
  .innerHead .headWrap .breadcrumb .top {
    max-width: 16.91vw;
  }
  .innerHead .headWrap .breadcrumb .top a {
    min-height: 5.5vw;
  }
  .innerHead .headWrap .breadcrumb .top svg {
    max-width: 5.73vw;
  }
  .innerHead .headWrap h1 {
    font-size: 4.26vw;
    margin-top: 17.5%;
  }
  .innerHead .headWrap h1 img {
    margin-bottom: 3.5%;
  }
}
/* =========================================================
  Menu
========================================================= */
.menuModal {
  position: relative;
  z-index: -1;
  opacity: 0;
  transition: all .25s ease-in;
  visibility: hidden;
}
.menuModal.isActive {
  z-index: 999;
  opacity: 1;
  visibility: visible;
}
.menuModal .menuBg {
  width: 100%;
  height: 100%;
  position: fixed;
  background: rgba(41, 56, 85, 0.78);
  top: 0;
  left: 0;
}
.menuModal .menuBlock {
  width: 93%;
  height: 78vh;
  max-width: 1175px;
  max-height: 600px;
  z-index: 2;
  border-radius: 10px;
  position: fixed;
  margin: auto;  
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: #fff;
}
.menuModal .closeBtn {
  width: 50px;
  height: 50px;
  position: absolute;
  top: -3.5%;
  right: -2.2%;
  z-index: 2;
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20100%20100%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff%3B%20fill-rule%3A%20evenodd%3B%20%7D%20.st1%20%7B%20fill%3A%20%23293855%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M50%2C1.1c27%2C0%2C48.9%2C21.9%2C48.9%2C48.9s-21.9%2C48.9-48.9%2C48.9S1.1%2C77%2C1.1%2C50%2C23%2C1.1%2C50%2C1.1Z%22%2F%3E%20%3Cpath%20class%3D%22st1%22%20d%3D%22M50%2C99.4C22.7%2C99.4.6%2C77.3.6%2C50S22.7.6%2C50%2C.6s49.4%2C22.2%2C49.4%2C49.4-22.2%2C49.4-49.4%2C49.4ZM50%2C1.6C23.3%2C1.6%2C1.6%2C23.3%2C1.6%2C50s21.7%2C48.4%2C48.4%2C48.4%2C48.4-21.7%2C48.4-48.4S76.7%2C1.6%2C50%2C1.6Z%22%2F%3E%20%3C%2Fg%3E%20%3Cpolygon%20class%3D%22st1%22%20points%3D%2267.9%2034.5%2065.5%2032.1%2050%2047.7%2034.5%2032.1%2032.1%2034.5%2047.7%2050%2032.1%2065.5%2034.5%2067.9%2050%2052.3%2065.5%2067.9%2067.9%2065.5%2052.3%2050%2067.9%2034.5%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  cursor: pointer;
}
.menuModal .menuAll {
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
}
.menuModal .menuWrap {
  display: flex;
  justify-content: space-between;
}
.menuModal .menuWrap .movieBlock {
  width: 35%;
  padding: 0 3%;
  border-right: 1px dashed #293855;
  height: 78vw;
  max-height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.menuModal .menuWrap .movieBlock figure {
  max-width: 283px;
  margin: 0 auto 40px;
}
.menuModal .menuWrap .movieBlock .movieWrap {
  position: relative;
  aspect-ratio: 16/9;
  margin-bottom: 12px;
}
.menuModal .menuWrap .movieBlock p {
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.75;
}
.menuModal .menuWrap .block.block01 {
  height: 600px;
}
.menuModal .menuWrap .block.block01 {
  /*width: 32%;*/
  width: 50%;
  border-right: 1px dashed #293855;
  height: 100%;
}
.menuModal .menuWrap .block.block02 {
  /*width: 33%;*/
  width: 50%;
}
.menuModal .menuWrap .block .box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 4.5%;
  border-bottom: 1px dashed #293855;
}
.menuModal .menuWrap .block .box:last-of-type {
  border-bottom: none;
}
.menuModal .menuWrap .block.block01 .box.box01 {
  height: 95px;
}
.menuModal .menuWrap .block.block01 .box.box02 {
  height: 240px;
}
.menuModal .menuWrap .block.block01 .box.box03 {
  height: 200px;
}
.menuModal .menuWrap .block.block01 .box.box04 {
  height: 310px;
}
.menuModal .menuWrap .block.block02 .box.box01 {
  height: 121px;
}
.menuModal .menuWrap .block.block02 .box.box02 {
  height: 260px;
}
.menuModal .menuWrap .block.block02 .box.box03 {
  height: auto;
}
.menuModal .menuWrap .block .box h2 {
  font-weight: 900;
  color: #c92634;
  margin-bottom: 22px;
}
.menuModal .menuWrap .block .box ul {
  padding-left: 5%;
}
.menuModal .menuWrap .block .box li {
  margin-bottom: 14px;
}
.menuModal .menuWrap .block .box li:last-child {
  margin-bottom: 0;
}
.menuModal .menuWrap .block .box li a,
.menuModal .menuWrap .block .box li button {
  display: flex;
  cursor: pointer;
  transition: all .25s ease-in;
}
.menuModal .menuWrap .block .box li a::before,
.menuModal .menuWrap .block .box li button::before {
  content: "";
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2040%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff%3B%20%7D%20.st1%20%7B%20fill%3A%20%23293855%3B%20fill-rule%3A%20evenodd%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st1%22%20d%3D%22M20%2C0c11%2C0%2C20%2C9%2C20%2C20s-9%2C20-20%2C20S0%2C31%2C0%2C20%2C9%2C0%2C20%2C0Z%22%2F%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2217.1%2026.9%2016%2025.9%2021.9%2020%2016%2014.1%2017.1%2013.1%2024%2020%2017.1%2026.9%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  width: 27px;
  height: 27px;
  margin-right: 14px;
}
.menuModal .menuWrap .block .box li a:hover,
.menuModal .menuWrap .block .box li button:hover {
  opacity: 0.7;
}
.menuModal .menuWrap .block .box li p {
  font-size: 1.5rem;
  font-size: clamp(1.3rem,1.17vw,1.5rem);
  font-weight: 900;
}
.menuModal .menuWrap .block .box li p span {
  font-size: 1.4rem;
  font-size: clamp(1.2rem,1.09vw,1.4rem);
  font-weight: 900;
}
.menuModal .menuWrap .block .box li.comingsoon a {
  pointer-events: none;
  color: #b6b7b4;
}
.menuModal .menuWrap .block .box li.comingsoon a::before {
  content: "";
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2040%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff%3B%20%7D%20.st1%20%7B%20fill%3A%20%23b6b7b4%3B%20fill-rule%3A%20evenodd%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st1%22%20d%3D%22M20%2C0c11%2C0%2C20%2C9%2C20%2C20s-9%2C20-20%2C20S0%2C31%2C0%2C20%2C9%2C0%2C20%2C0Z%22%2F%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2217.1%2026.9%2016%2025.9%2021.9%2020%2016%2014.1%2017.1%2013.1%2024%2020%2017.1%2026.9%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
}
.menuModal .menuWrap .block .box li.comingsoon span {
  font-family: "numberfont", sans-serif;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  font-size: 1.5rem;
  font-size: clamp(1.4rem,1.25vw,1.6rem);
  margin-left: 14px;
}
.menuModal .menuWrap .entryNav {
  padding: 9% 0 0;
}
.menuModal .menuWrap .entryNav li {
  /*max-width: 283px;*/
  width: 100%;
  margin-bottom: 20px;
}
.menuModal .menuWrap .entryNav li a::before {
  display: none;
}
.menuModal .menuWrap .entryNav li a {
  display: flex;
  min-height: 55px;
  position: relative;
  padding: 0 14% 0 7%;
}
.menuModal .menuWrap .entryNav li a::after {
  position: absolute;
  width: 16px;
  height: 15px;
  right: 5%;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
.menuModal .menuWrap .entryNav li a:hover {
  opacity: 1;
}
.menuModal .menuWrap .entryNav li.entry a {
  background: #c92634;
  border: 2px solid #c92634;
}
.menuModal .menuWrap .entryNav li.intern a {
  background: #0072ba;
  border: 2px solid #0072ba;
}
.menuModal .menuWrap .entryNav li a svg {
  max-width: 260px;
  margin: 0 auto;
  width: 100%;
}
.menuModal .menuWrap .entryNav li a .st0 {
  fill: #fff;
  transition: all .25s ease-in;
}
.menuModal .menuWrap .entryNav li.entry a:hover {
  background: #fff;
}
.menuModal .menuWrap .entryNav li.entry a:hover .st0 {
  fill: #c92634;
}
.menuModal .menuWrap .entryNav li.entry a:hover::after {
  background: #c92634;
}
.menuModal .menuWrap .entryNav li.intern a:hover {
  background: #fff;
}
.menuModal .menuWrap .entryNav li.intern a:hover .st0 {
  fill: #0072ba;
}
.menuModal .menuWrap .entryNav li.intern a:hover::after {
  background: #0072ba;
}
@media only screen and (max-width:749px) {
  .menuModal .menuBlock {
    width: 93%;
    height: calc(var(--vh, 1vh) * 91);
    max-width: none;
    min-height: 0;
  }
  .menuModal .closeBtn {
    width: 11.79vw;
    height: 11.79vw;
    top: -4.2%;
    right: -0.2%;
  }
  .menuModal .menuWrap {
    display: block;
    padding: 8% 0 0;
  }
  .menuModal .menuWrap .block.block01 {
    height: auto;
  }
  .menuModal .menuWrap .block.block01 {
    width: 100%;
    border-right: none;
    border-top: 1px dashed #293855;
    border-bottom: 1px dashed #293855;
  }
  .menuModal .menuWrap .block.block02 {
    width: 100%;
  }
  .menuModal .menuWrap .block .box {
    height: auto;
    display: block;
    padding: 7% 8% 6%;
    border-bottom: 1px dashed #293855;
  }
  .menuModal .menuWrap .block.block01 .box.box01,
  .menuModal .menuWrap .block.block01 .box.box02,
  .menuModal .menuWrap .block.block01 .box.box03,
  .menuModal .menuWrap .block.block01 .box.box04,
  .menuModal .menuWrap .block.block02 .box.box01,
  .menuModal .menuWrap .block.block02 .box.box02 {
    height: auto;
  }
  .menuModal .menuWrap .block.block02 .box.box02 {
    border-bottom: none;
  }
  .menuModal .menuWrap .block.block02 .box.box03 {
    display: none;
  }
  .menuModal .menuWrap .block .box h2 {
    margin-bottom: 6%;
    font-size: 3.73vw;
  }
  .menuModal .menuWrap .block .box ul {
    padding-left: 7%;
  }
  .menuModal .menuWrap .block .box li {
    margin-bottom: 6.5%;
  }
  .menuModal .menuWrap .block .box li:last-child {
    margin-bottom: 2.5%;
  }
  .menuModal .menuWrap .block .box li:only-child {
    margin-bottom: 0;
  }
  .menuModal .menuWrap .block .box li a::before,
  .menuModal .menuWrap .block .box li button::before {
    width: 7.33vw;
    height: 7.33vw;
    margin-right: 14px;
  }
  .menuModal .menuWrap .block .box li p {
    font-size: 4vw;
  }
  .menuModal .menuWrap .block .box li p span {
    font-size: 3.73vw;
    display: block;
    width: 100%;
  }
  .menuModal .menuWrap .block .box li.comingsoon span {
    font-size: 4.26vw;
    margin-left: 3.73vw;
    display: inline-block;
    width: auto;
  }
  .menuModal .menuWrap .entryNav {
    padding: 0 9.5% 5.5%;
  }
  .menuModal .menuWrap .entryNav li {
    max-width: none;
    margin-bottom: 5%;
  }
  .menuModal .menuWrap .entryNav li a {
    min-height: 15.47vw;
    padding: 0 0 0 5%;
  }
  .menuModal .menuWrap .entryNav li a::after {
    width: 4.4vw;
    height: 4.13vw;
    right: 3%;
  }
  .menuModal .menuWrap .entryNav li a svg {
    max-width: 61vw;
    margin: 0;
  }
}
/* ----------- MOVIE ---------- */
.movieModalWrap {
  position: relative;
  z-index: -1;
  opacity: 0;
  transition: all .25s ease-in;
  visibility: hidden;
}
.movieModalWrap.isActive {
  z-index: 999;
  opacity: 1;
  visibility: visible;
}
.movieModalWrap .modalBg {
  width: 100%;
  height: 100%;
  position: fixed;
  background: rgba(30, 28, 28, 0.9);
  top: 0;
  left: 0;
}
.movieModalWrap .modalBlock {
  width: 93%;
  max-height: 92vh;
  max-width: 800px;
  z-index: 2;
  position: fixed;
  margin: auto;  
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  aspect-ratio: 14 / 9;
}
.movieModalWrap .closeBtn {
  width: 50px;
  height: 50px;
  position: absolute;
  top: -5%;
  right: 0;
  z-index: 2;
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2098%2098%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff%3B%20fill-rule%3A%20evenodd%3B%20%7D%20.st1%20%7B%20fill%3A%20%23293855%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M49%2C.5c26.8%2C0%2C48.5%2C21.7%2C48.5%2C48.5s-21.7%2C48.5-48.5%2C48.5S.5%2C75.8.5%2C49%2C22.2.5%2C49%2C.5Z%22%2F%3E%20%3Cpath%20class%3D%22st1%22%20d%3D%22M49%2C98C22%2C98%2C0%2C76%2C0%2C49S22%2C0%2C49%2C0s49%2C22%2C49%2C49-22%2C49-49%2C49ZM49%2C1C22.5%2C1%2C1%2C22.5%2C1%2C49s21.5%2C48%2C48%2C48%2C48-21.5%2C48-48S75.5%2C1%2C49%2C1Z%22%2F%3E%20%3C%2Fg%3E%20%3Crect%20class%3D%22st1%22%20x%3D%2225.4%22%20y%3D%2247.4%22%20width%3D%2247.2%22%20height%3D%223.3%22%20transform%3D%22translate(-20.3%2049)%20rotate(-45)%22%2F%3E%20%3Crect%20class%3D%22st1%22%20x%3D%2247.4%22%20y%3D%2225.4%22%20width%3D%223.3%22%20height%3D%2247.2%22%20transform%3D%22translate(-20.3%2049)%20rotate(-45)%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  cursor: pointer;
}
.movieModalWrap .modalDetails {
  overflow: auto;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.movieModalWrap .modalDetails iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
@media only screen and (max-width:749px) {
  .movieModalWrap .modalBlock {
    width: 90%;
    max-height: calc(var(--vh, 1vh) * 91);
    max-width: none;
    min-height: 0;
    aspect-ratio: 11.5 / 9;
  }
  .movieModalWrap .closeBtn {
    width: 11.79vw;
    height: 11.79vw;
    top: -5%;
  }
}
/* =========================================================
  Main Contents
========================================================= */
/* ---------- icon ----------- */
.linkArrow::after {
  content: "";
  width: 22px;
  height: 19px;
  mask: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20137%20127%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23e60033%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2231%200%2031%208%20123.1%208%200%20120.9%205.4%20126.8%20129%2013.5%20129%20106%20137%20106%20137%200%2031%200%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  mask-size: contain;
  display: inline-block;
  margin-left: 5px;
  background: #293855;
  transition: all .25s ease-in;
}
.mainContents {
  display: block;
  width: 100%;
  overflow-x: clip;
  overflow-y: visible;
  flex: 1;
}
.mainContents .cornerLineBg::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -112px;
  transform: translateX(-50%);
  width: 140%;
  height: 610px;
  border-radius: 100% / 100%;
  box-shadow:
    0 -6px 18px rgba(33,26,26,.25),
    0 -14px 34px rgba(33,26,26,.18);
  z-index: 0;
}
/* ---------- NEXT CONTENTS ----------- */
.nextContents {
  padding: 38px 0 26px;
  background: #f3faee;
}
.nextContents .titleWrap {
  padding: 0 3%;
}
.nextContents .titleWrap h2 {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  max-width: 1040px;
  margin: 0 auto;
  font-weight: 700;
}
.nextContents .titleWrap h2 img {
  max-width: 319px;
  display: block;
  margin-bottom: 10px;
}
.nextContents ul {
  position: relative;
  z-index: 2;
  margin-top: -10px;
}
.nextContents li {
  border-bottom: 1px dashed #293855;
  padding: 0 3% 20px;
  margin-bottom: 20px;
}
.nextContents li .txtWrap {
  display: flex;
  justify-content: flex-end;
  max-width: 1040px;
  margin: 0 auto;
}
.nextContents li a {
  display: flex;
  align-items: center;
}
.nextContents li a .txt {
  min-width: 330px;
  line-height: 1.5;
}
.nextContents li a .cat {
  color: #c92634;
  font-weight: 900;
  font-size: 1.6rem;
}
.nextContents li a h3 {
  font-size: 2rem;
  font-weight: 900;
}
.nextContents li a h3 span {
  font-weight: 900;
  font-size: 1.6rem;
  display: block;
}
.nextContents li a::after {
  content: "";
  width: 35px;
  height: 35px;
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2040%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff%3B%20%7D%20.st1%20%7B%20fill%3A%20%23293855%3B%20fill-rule%3A%20evenodd%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st1%22%20d%3D%22M20%2C0c11%2C0%2C20%2C9%2C20%2C20s-9%2C20-20%2C20S0%2C31%2C0%2C20%2C9%2C0%2C20%2C0Z%22%2F%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2217.1%2026.9%2016%2025.9%2021.9%2020%2016%2014.1%2017.1%2013.1%2024%2020%2017.1%2026.9%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
}
.nextContents li.comingsoon a {
  pointer-events: none;
  color: #b6b7b4;
}
.nextContents li.comingsoon a .cat {
  color: #b6b7b4;
}
.nextContents li.comingsoon a span {
  font-weight: 400;
  display: inline-block;
  font-family: "numberfont", sans-serif;
  font-variant-numeric: tabular-nums;
  margin-left: 14px;
}
.nextContents li.comingsoon a::after {
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2040%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff%3B%20%7D%20.st1%20%7B%20fill%3A%20%23b6b7b4%3B%20fill-rule%3A%20evenodd%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st1%22%20d%3D%22M20%2C0c11%2C0%2C20%2C9%2C20%2C20s-9%2C20-20%2C20S0%2C31%2C0%2C20%2C9%2C0%2C20%2C0Z%22%2F%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2217.1%2026.9%2016%2025.9%2021.9%2020%2016%2014.1%2017.1%2013.1%2024%2020%2017.1%2026.9%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
}
@media only screen and (max-width:749px) {
  .linkArrow::after {
    width: 4.4vw;
    height: 4.13vw;
    margin-left: 0.6vw;
  }
  .mainContents .cornerLineBg::before {
    border-radius: 100% / 32%;
  }
  /* ---------- NEXT CONTENTS ----------- */
  .nextContents {
    padding: 22% 0 21%;
  }
  .nextContents .titleWrap {
    padding: 0 5%;
  }
  .nextContents .titleWrap h2 {
    font-size: 4.26vw;
    max-width: none;
  }
  .nextContents .titleWrap h2 img {
    max-width: 77%;
    display: block;
    margin-bottom: 3%;
  }
  .nextContents ul {
    margin-top: 19%;
  }
  .nextContents li {
    padding: 0 0 5.2%;
    margin-bottom: 4%;
  }
  .nextContents li .txtWrap {
    max-width: none;
    padding: 0 5%;
  }
  .nextContents li a .txt {
    min-width: 75vw;
  }
  .nextContents li a .cat {
    font-size: 4vw;
  }
  .nextContents li a h3 {
    font-size: 4.8vw;
  }
  .nextContents li a h3 span {
    font-size: 4.26vw;
  }
  .nextContents li a::after {
    width: 5.33vw;
    height: 5.33vw;
  }
  .nextContents li.comingsoon a span {
    margin-left: 3.73vw;
  }
}
/* =========================================================
  Cookie
========================================================= */
.cookieContents {
  position: fixed;
  bottom: 0;
  padding: 2.05vw 3%;
  width: 100%;
  background: rgba(41, 56, 85, 0.85);
  visibility: hidden;
  z-index: 998;
}
.cookieContents.isShow {
  visibility: visible;
}
.cookieWrap {
  max-width: 1040px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  font-size: 1.8rem;
  font-size: clamp(1.5rem,0.93vw,1.8rem);
}
.cookieText {
  line-height: 1.88;
  color: #fff;
  width: calc(100% - 206px - 3%);
}
.cookieBtn {
  width: 206px;
  display: flex;
  justify-content: space-between;
  margin-left: 3%;
}
.cookieBtn li {
  color: #fff;
  width: 95px;
  font-weight: 500;
  text-align: center;
  padding: 8px 0;
  background: #293855;
  border: 2px solid #fff;
  cursor: pointer;
  transition: all .25s ease-in;
}
.cookieBtn li:hover {
  color: #212121;
  background: #fff;
}
.ccHide1 {
  display: none;
}
.ccHide2 {
  animation: hide .3s linear 0s;
  animation-fill-mode: forwards;
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@media only screen and (max-width:749px) {
  .cookieContents {
    padding: 4vw 14% 3vw;
  }
  .cookieWrap {
    max-width: none;
    display: block;
    font-size: 2.66vw;
  }
  .cookieText {
    width: 100%;
  }
  .cookieBtn {
    width: 100%;
    justify-content: center;
    margin: 2vw 0 0;
  }
  .cookieBtn li {
    width: 12.8vw;
    padding: 0.5vw 0;
    margin: 0 2vw;
  }
}
/* =========================================================
  footer
========================================================= */
.footer {
  padding: 38px 3% 48px;
  background: #293855;
}
.footer .footLogo {
  max-width: 320px;
  margin: 0 auto 52px;
}
.footer .footMeta {
  display: flex;
  max-width: 1180px;
  margin: 0 auto 45px;
}
.footer .footMeta a::after {
  width: min(22px, 1.5vw);
  height: min(22px, 1.3vw);
  position: absolute;
  right: 5%;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
.footer .footMeta .linkNav {
  display: flex;
  justify-content: space-between;
  width: 56.5%;
  padding-right: 2.5%;
  border-right: 1px dashed #fff;
}
.footer .footMeta .linkNav li {
  max-width: 305px;
  width: 48%;
}
.footer .footMeta .linkNav li a {
  display: flex;
  min-height: 77px;
  position: relative;
  padding: 0 14% 0 4.5%;
}
.footer .footMeta .linkNav li a:hover {
  opacity: 1;
}
.footer .footMeta .linkNav li a .pcOnly {
  min-height: 77px;
  display: flex;
  align-items: center;
}
.footer .footMeta .linkNav li.entry a {
  background: #c92634;
  border: 2px solid #c92634;
}
.footer .footMeta .linkNav li.intern a {
  background: #0072ba;
  border: 2px solid #0072ba;
}
.footer .footMeta .linkNav li a svg {
  width: 100%;
  max-width: 234px;
}
.footer .footMeta .linkNav li a .st0 {
  fill: #fff;
  transition: all .25s ease-in;
}
.footer .footMeta .linkNav li.entry a:hover {
  background: #fff;
}
.footer .footMeta .linkNav li.entry a:hover .st0 {
  fill: #c92634;
}
.footer .footMeta .linkNav li.entry a:hover::after {
  background: #c92634;
}
.footer .footMeta .linkNav li.intern a:hover {
  background: #fff;
}
.footer .footMeta .linkNav li.intern a:hover .st0 {
  fill: #0072ba;
}
.footer .footMeta .linkNav li.intern a:hover::after {
  background: #0072ba;
}
.footer .footMeta .instagram {
  width: 24.5%;
  border-right: 1px dashed #fff;
}
.footer .footMeta .instagram a {
  display: flex;
  padding: 8px 0 0 10%;
  position: relative;
}
.footer .footMeta .instagram a::after {
  right: 10%;
}
.footer .footMeta .instagram a img {
  max-width: 12.4%;
}
.footer .footMeta .instagram a .txtBox {
  width: calc(100% - 12.4%);
  color: #fff;
  padding: 0 23% 0 9.5%;
  font-size: 1.2rem;
}
.footer .footMeta .instagram a .txtBox .t1 {
  font-weight: 900;
  margin-bottom: 10px;
}
.footer .footMeta .instagram a .txtBox .t2 {
  line-height: 1.333;
}
.footer .footMeta .corporate {
  width: 16%;
}
.footer .footMeta .corporate a {
  font-size: 1.2rem;
  color: #fff;
  font-weight: 900;
  position: relative;
  display: flex;
  align-items: center;
  min-height: 77px;
  padding: 0 16% 0 19%;
}
.footer .footMeta .corporate a::after {
  right: 0;
}
.footer .copyright {
  max-width: 341px;
  margin: 0 auto;
}
@media only screen and (max-width:749px) {
  .footer {
    padding: 11% 5% 14%;
  }
  .footer .footLogo {
    max-width: 81%;
    margin: 0 auto 9.4%;
  }
  .footer .footMeta {
    flex-wrap: wrap;
    max-width: none;
    margin: 0 auto 9.5%;
  }
  .footer .footMeta a::after {
    width: 4.4vw;
    height: 4.13vw;
    right: 5%;
  }
  .footer .footMeta .linkNav {
    display: block;
    width: 100%;
    padding: 0 0 7%;
    border-right: none;
  }
  .footer .footMeta .linkNav li {
    max-width: none;
    width: 76%;
    margin: 0 auto 6.5%;
  }
  .footer .footMeta .linkNav li a {
    min-height: 15.46vw;
    padding: 0 0 0 5%;
  }
  .footer .footMeta .linkNav li a .pcOnly {
    display: none;
  }
  .footer .footMeta .linkNav li a .spOnly {
    min-height: 15.46vw;
    display: flex;
    align-items: center;
  }
  .footer .footMeta .linkNav li a svg {
    max-width: 52.93vw;
  }
  .footer .footMeta .instagram {
    width: 61%;
    border-left: 1px dashed #fff;
  }
  .footer .footMeta .instagram a {
    align-items: center;
    min-height: 16.53vw;
    padding: 0 0 0 8%;
  }
  .footer .footMeta .instagram a .txtBox {
    padding: 0 0 0 5.5%;
    font-size: 2.4vw;
  }
  .footer .footMeta .instagram a .txtBox .t1 {
    margin-bottom: 3%;
  }
  .footer .footMeta .corporate {
    width: 39%;
  }
  .footer .footMeta .corporate a {
    font-size: 2.4vw;
    min-height: 16.53vw;
    padding: 0 0 0 13%;
  }
  .footer .footMeta .corporate a::after {
    right: 0;
  }
  .footer .copyright {
    max-width: 76%;
  }
}