@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@500;700&family=Zen+Old+Mincho:wght@500;700;900&display=swap");
/* -----------------------------------------------------
	basic
----------------------------------------------------- */
html {
  font-size: 62.5%;
}

body {
  font-family: "Zen Old Mincho", serif;
  -webkit-text-size-adjust: 100%;
  font-size: min(1.19048vw,20px);
  font-weight: 500;
  line-height: 2;
  color: #fff;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  -webkit-filter: blur(30px);
  filter: blur(30px);
  opacity: .8;
  -webkit-transition: 1s all cubic-bezier(0.39, 0.575, 0.565, 1);
  -o-transition: 1s all cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 1s all cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
  body {
    font-size: 3.38542vw;
  }
}

body.fadein {
  -webkit-filter: none;
  filter: none;
  opacity: 1;
  -webkit-transition: 1s -webkit-filter cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 1s -webkit-filter cubic-bezier(0.39, 0.575, 0.565, 1);
  -o-transition: 1s filter cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 1s filter cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 1s filter cubic-bezier(0.39, 0.575, 0.565, 1), 1s -webkit-filter cubic-bezier(0.39, 0.575, 0.565, 1);
}

body .ff_g {
  font-family: "Noto Sans JP", serif;
}

main {
  width: 100%;
  position: relative;
}

#contents {
  background: url(../img/bg.jpg) center bottom/contain repeat;
  padding: min(4.28571vw,72px) 0 min(5.95238vw,100px);
}

@media screen and (max-width: 768px) {
  #contents {
    padding: 14.58333vw 0 1.04167vw;
  }
}

a {
  opacity: 1;
  -webkit-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  text-decoration: none;
}

a img {
  -webkit-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

a img:hover {
  opacity: .7;
}

@media screen and (max-width: 768px) {
  a img:hover {
    opacity: 1;
  }
}

/* -----------------------------------------------------
	br
----------------------------------------------------- */
br.pc {
  display: block;
}

@media screen and (max-width: 768px) {
  br.pc {
    display: none;
  }
}

br.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  br.sp {
    display: block;
  }
}

section {
  text-align: center;
}

section .sec_wrap {
  max-width: min(97.61905vw,1640px);
  margin: min(0.95238vw,16px) auto 0;
  padding: min(7.14286vw,120px) 3%;
  border-radius: min(0.95238vw,16px);
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  section .sec_wrap {
    max-width: 97.91667vw;
    margin-top: 1.04167vw;
    padding: 15.625vw 1.04167vw;
  }
}

section .sec_ttl {
  font-size: min(1.78571vw,30px);
  line-height: 1.8;
  display: inline-block;
  position: relative;
}

@media screen and (max-width: 768px) {
  section .sec_ttl {
    font-size: 5.20833vw;
  }
}

section .sec_ttl::before, section .sec_ttl::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 30%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

section .sec_ttl span {
  font-size: min(2.38095vw,40px);
  font-weight: 900;
  font-style: italic;
  line-height: 1;
  text-align: center;
  letter-spacing: .05em;
  display: inline-block;
  border-bottom: min(0.05952vw,1px) solid #fff;
  margin-bottom: min(3.33333vw,56px);
  padding-bottom: min(0.95238vw,16px);
}

@media screen and (max-width: 768px) {
  section .sec_ttl span {
    font-size: 6.51042vw;
    border-bottom: 0.26042vw solid #fff;
    margin-bottom: 7.29167vw;
    padding-bottom: 2.08333vw;
  }
}

/* -----------------------------------------------------
  kv
----------------------------------------------------- */
.kv .player ._pc {
  display: block;
}

@media screen and (max-width: 768px) {
  .kv .player ._pc {
    display: none;
  }
}

.kv .player ._sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .kv .player ._sp {
    display: block;
    position: relative;
  }
  .kv .player ._sp .icon_sound {
    position: absolute;
    top: 3.125vw;
    right: 3.125vw;
  }
  .kv .player ._sp .icon_sound img {
    width: 10.41667vw;
  }
  .kv .player ._sp .icon_sound:hover {
    cursor: pointer;
  }
  .kv .player ._sp .icon_sound.fadeout {
    display: none;
  }
}

.kv .player video {
  width: 100%;
}

.kv .player video.fadeout {
  display: none;
}

.kv .kv_img {
  display: none;
}

.kv .kv_img.fadein {
  display: block;
}

/* -----------------------------------------------------
  movie
----------------------------------------------------- */
.movie .sec_wrap {
  background: url(../img/sec_movie_bg.jpg) center top/cover no-repeat;
  position: relative;
}

.movie .footprint li {
  line-height: 1;
  position: absolute;
}

.movie .footprint li:nth-child(1) {
  top: .3em;
  left: 9.5em;
}

@media screen and (max-width: 768px) {
  .movie .footprint li:nth-child(1) {
    top: 1.04167vw;
    left: 3.125vw;
  }
}

.movie .footprint li:nth-child(2) {
  top: 2.5em;
  left: 8.7em;
  -webkit-transform: rotate(-8deg);
  -ms-transform: rotate(-8deg);
  transform: rotate(-8deg);
}

@media screen and (max-width: 768px) {
  .movie .footprint li:nth-child(2) {
    top: 6.25vw;
    left: 5.20833vw;
  }
}

.movie .footprint li:nth-child(3) {
  top: 4em;
  left: 10.8em;
  -webkit-transform: rotate(-10deg);
  -ms-transform: rotate(-10deg);
  transform: rotate(-10deg);
}

@media screen and (max-width: 768px) {
  .movie .footprint li:nth-child(3) {
    top: 11.45833vw;
    left: 4.16667vw;
  }
}

.movie .footprint li:nth-child(4) {
  top: 7em;
  left: 10em;
  -webkit-transform: rotate(-15deg);
  -ms-transform: rotate(-15deg);
  transform: rotate(-15deg);
}

@media screen and (max-width: 768px) {
  .movie .footprint li:nth-child(4) {
    top: 14.58333vw;
    left: 8.33333vw;
  }
}

.movie .footprint li:nth-child(5) {
  top: 8.5em;
  left: 12.5em;
  -webkit-transform: rotate(-25deg);
  -ms-transform: rotate(-25deg);
  transform: rotate(-25deg);
}

@media screen and (max-width: 768px) {
  .movie .footprint li:nth-child(5) {
    top: 20.83333vw;
    left: 10.41667vw;
  }
}

.movie .footprint li:nth-child(6) {
  top: 11em;
  left: 13.5em;
  -webkit-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  transform: rotate(-30deg);
}

@media screen and (max-width: 768px) {
  .movie .footprint li:nth-child(6) {
    top: 23.4375vw;
    left: 15.625vw;
  }
}

.movie .footprint li:nth-child(7) {
  top: 12em;
  left: 16em;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media screen and (max-width: 768px) {
  .movie .footprint li:nth-child(7) {
    top: 26.04167vw;
    left: 19.79167vw;
  }
}

.movie .footprint li:nth-child(8) {
  top: 14em;
  left: 18em;
  -webkit-transform: rotate(-55deg);
  -ms-transform: rotate(-55deg);
  transform: rotate(-55deg);
}

@media screen and (max-width: 768px) {
  .movie .footprint li:nth-child(8) {
    display: none;
  }
}

.movie .footprint img {
  width: min(1.60714vw,27px);
}

@media screen and (max-width: 768px) {
  .movie .footprint img {
    width: 2.34375vw;
  }
}

.movie .thumbs {
  max-width: min(53.57143vw,900px);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .movie .thumbs {
    max-width: 96%;
  }
}

.movie .thumbs li {
  width: calc(100% / 3 - min(0.95238vw,16px)) !important;
  margin: 0 min(0.47619vw,8px);
  padding: min(0.95238vw,16px) 0;
  background: #fff;
  font-size: min(1.19048vw,20px);
  color: #0d5ca7;
  font-weight: 900;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .movie .thumbs li {
    width: calc(100% / 3 - 2.08333vw) !important;
    margin: 0 1.04167vw;
    padding: 2.08333vw 0;
    font-size: 3.125vw;
  }
}

.movie .thumbs li span {
  font-size: min(1.07143vw,18px);
  display: block;
}

@media screen and (max-width: 768px) {
  .movie .thumbs li span {
    font-size: 2.86458vw;
  }
}

.movie .thumbs li:nth-child(n+4) {
  margin-top: min(0.95238vw,16px);
}

@media screen and (max-width: 768px) {
  .movie .thumbs li:nth-child(n+4) {
    margin-top: 2.08333vw;
  }
}

.movie .thumbs li:hover {
  cursor: pointer;
}

.movie .thumbs .slick-track {
  -webkit-transform: unset !important;
  -ms-transform: unset !important;
  transform: unset !important;
}

.movie .thumbs .slick-current {
  background: #0d5ca7;
  color: #fff;
}

.movie .panel {
  max-width: min(60.95238vw,1024px);
  margin: min(2.38095vw,40px) auto 0;
}

@media screen and (max-width: 768px) {
  .movie .panel {
    max-width: 96%;
    margin-top: 5.20833vw;
  }
}

.movie .panel li {
  padding-bottom: min(3.33333vw,56px);
}

@media screen and (max-width: 768px) {
  .movie .panel li {
    padding-bottom: 10.41667vw;
  }
}

.movie .panel .ttl {
  font-size: min(1.78571vw,30px);
  line-height: 1;
  font-weight: 900;
  font-style: italic;
  text-shadow: 0 0 min(0.47619vw,8px) rgba(0, 0, 0, 0.8);
}

@media screen and (max-width: 768px) {
  .movie .panel .ttl {
    font-size: 3.90625vw;
    text-shadow: 0 0 1.04167vw rgba(0, 0, 0, 0.8);
  }
}

.movie .panel .ttl span {
  font-size: min(2.14286vw,36px);
}

@media screen and (max-width: 768px) {
  .movie .panel .ttl span {
    font-size: 5.20833vw;
  }
}

.movie .panel .img {
  max-width: min(53.57143vw,900px);
  margin: min(1.42857vw,24px) auto 0;
  position: relative;
}

@media screen and (max-width: 768px) {
  .movie .panel .img {
    max-width: 90%;
    margin-top: 3.125vw;
  }
}

.movie .panel .img .thum {
  -webkit-box-shadow: 0px 10px 30px 16px rgba(66, 32, 19, 0.35);
  box-shadow: 0px 10px 30px 16px rgba(66, 32, 19, 0.35);
  position: relative;
}

@media screen and (max-width: 768px) {
  .movie .panel .img .thum {
    -webkit-box-shadow: 0px 1.30208vw 3.90625vw 2.08333vw rgba(66, 32, 19, 0.35);
    box-shadow: 0px 1.30208vw 3.90625vw 2.08333vw rgba(66, 32, 19, 0.35);
  }
}

.movie .panel .img .thum a::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: min(5.2381vw,88px);
  height: min(5.2381vw,88px);
  background: url(../img/icon_play.png) center/contain no-repeat;
  -webkit-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

@media screen and (max-width: 768px) {
  .movie .panel .img .thum a::after {
    width: 12.5vw;
    height: 12.5vw;
  }
}

.movie .panel .img .thum a:hover img {
  opacity: 1;
}

.movie .panel .img .thum a:hover::after {
  cursor: pointer;
  -webkit-transform: translate(-50%, -50%) scale(1.2);
  -ms-transform: translate(-50%, -50%) scale(1.2);
  transform: translate(-50%, -50%) scale(1.2);
}

@media screen and (max-width: 768px) {
  .movie .panel .img .thum a:hover::after {
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}

.movie .panel .img .btn_icon {
  position: absolute;
  right: -2em;
  bottom: -2em;
  -webkit-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  border-radius: 50vh;
  -webkit-box-shadow: 0px 10px 30px 16px rgba(66, 32, 19, 0.35);
  box-shadow: 0px 10px 30px 16px rgba(66, 32, 19, 0.35);
}

@media screen and (max-width: 768px) {
  .movie .panel .img .btn_icon {
    right: -3.64583vw;
    bottom: -3.64583vw;
    -webkit-box-shadow: 0px 1.30208vw 3.90625vw 2.08333vw rgba(66, 32, 19, 0.35);
    box-shadow: 0px 1.30208vw 3.90625vw 2.08333vw rgba(66, 32, 19, 0.35);
  }
}

.movie .panel .img .btn_icon img {
  width: min(11.90476vw,200px);
}

@media screen and (max-width: 768px) {
  .movie .panel .img .btn_icon img {
    width: 26.04167vw;
  }
}

.movie .panel .img .btn_icon:hover {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

@media screen and (max-width: 768px) {
  .movie .panel .img .btn_icon:hover {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.movie .panel .img .btn_icon:hover img {
  opacity: 1;
}

.movie .panel .next-arrow {
  right: min(1.42857vw,24px);
}

@media screen and (max-width: 768px) {
  .movie .panel .next-arrow {
    right: 0;
  }
}

.movie .panel .prev-arrow {
  left: min(1.42857vw,24px);
}

@media screen and (max-width: 768px) {
  .movie .panel .prev-arrow {
    left: 0;
  }
}

.movie .coming_soon img {
  width: min(26.19048vw,440px);
}

@media screen and (max-width: 768px) {
  .movie .coming_soon img {
    width: 72.91667vw;
  }
}

/* -----------------------------------------------------
  trailer
----------------------------------------------------- */
.trailer {
  padding: min(7.14286vw,120px) 0;
}

@media screen and (max-width: 768px) {
  .trailer {
    padding: 15.625vw 0;
  }
}

.trailer .sec_ttl {
  color: #0d5ca7;
}

.trailer .sec_ttl span {
  border-bottom: min(0.05952vw,1px) solid #0d5ca7;
}

@media screen and (max-width: 768px) {
  .trailer .sec_ttl span {
    border-bottom: 0.26042vw solid #0d5ca7;
  }
}

.trailer .sec_ttl::before {
  left: -3.2em;
  width: min(3.57143vw,60px);
  height: min(6.19048vw,104px);
  background: url(../img/sec_trailer_icon01.png) left center/contain no-repeat;
}

@media screen and (max-width: 768px) {
  .trailer .sec_ttl::before {
    left: -12.5vw;
    width: 7.8125vw;
    height: 13.54167vw;
  }
}

.trailer .sec_ttl::after {
  right: -4em;
  width: min(4.64286vw,78px);
  height: min(4.40476vw,74px);
  background: url(../img/sec_trailer_icon02.png) right center/contain no-repeat;
}

@media screen and (max-width: 768px) {
  .trailer .sec_ttl::after {
    right: -15.625vw;
    width: 10.15625vw;
    height: 9.63542vw;
  }
}

.trailer .slide .slick-slide + .slick-slide {
  margin-left: min(0.59524vw,10px);
}

@media screen and (max-width: 768px) {
  .trailer .slide .slick-slide + .slick-slide {
    margin-left: 1.04167vw;
  }
}

.trailer .slide.slick-initialized {
  opacity: 1;
}

/* -----------------------------------------------------
  topics
----------------------------------------------------- */
.topics .sec_wrap {
  background: url(../img/sec_topics_bg.jpg) center top/cover no-repeat;
  min-height: min(97.5vw,1638px);
  overflow: visible;
  margin-top: min(4.7619vw,80px);
  position: relative;
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap {
    background: url(../img/sp/sec_topics_bg.jpg) center top/cover no-repeat;
    min-height: inherit;
    margin-top: 7.29167vw;
  }
}

.topics .sec_wrap .img_cat {
  position: absolute;
  top: -8em;
  right: 10em;
  width: min(8.75vw,147px);
  height: min(11.90476vw,200px);
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .img_cat {
    top: -14.58333vw;
    right: 5.20833vw;
    width: 14.58333vw;
    height: 19.79167vw;
  }
}

.topics .sec_wrap .img_cat a:hover img {
  opacity: 1;
  -webkit-transform: scale(1.03);
  -ms-transform: scale(1.03);
  transform: scale(1.03);
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .img_cat a:hover img {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.topics .sec_wrap .img_cat._pc {
  display: block;
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .img_cat._pc {
    display: none;
  }
}

.topics .sec_wrap .img_cat._sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .img_cat._sp {
    display: block;
  }
}

.topics .sec_wrap .tab {
  max-width: min(42.85714vw,720px);
  margin: min(3.33333vw,56px) auto;
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  font-size: min(1.66667vw,28px);
  color: #0d5ca7;
  line-height: min(4.7619vw,80px);
  background: #fff;
  border-radius: 50vh;
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .tab {
    max-width: 100%;
    margin: 5.20833vw auto;
    font-size: 4.16667vw;
    line-height: 11.45833vw;
  }
}

.topics .sec_wrap .tab li {
  width: calc(100% / 3);
  border-radius: 50vh;
  -webkit-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

.topics .sec_wrap .tab li.active {
  background: #0d5ca7;
  color: #fff;
}

.topics .sec_wrap .tab li:hover {
  cursor: pointer;
}

.topics .sec_wrap .panel {
  max-width: min(59.52381vw,1000px);
  margin: 0 auto;
  background: #0d5ca7;
  display: none;
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .panel {
    max-width: 100%;
  }
}

.topics .sec_wrap .panel.active {
  display: block;
}

.topics .sec_wrap .panel .panel_wrap {
  padding: min(0.95238vw,16px) min(0.95238vw,16px) min(3.33333vw,56px);
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .panel .panel_wrap {
    padding: 4.16667vw 4.16667vw 7.29167vw;
  }
}

.topics .sec_wrap .panel .panel_wrap p {
  text-align: left;
  margin: min(1.42857vw,24px) min(2.38095vw,40px) 0;
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .panel .panel_wrap p {
    margin: 3.125vw 0 0;
  }
}

.topics .sec_wrap .panel .panel_wrap .btn a {
  max-width: min(28.57143vw,480px);
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .panel .panel_wrap .btn a {
    max-width: 52.08333vw;
  }
}

.topics .sec_wrap .panel .panel_wrap .btn a span {
  display: block;
  position: relative;
}

.topics .sec_wrap .panel .panel_wrap .btn a span::before, .topics .sec_wrap .panel .panel_wrap .btn a span::after {
  content: '';
  position: absolute;
  top: 50%;
  right: min(2.38095vw,40px);
  width: min(1.42857vw,24px);
  margin-top: min(-0.17857vw,-3px);
  border-top: min(0.17857vw,3px) solid #0d5ca7;
  -webkit-transition: .4s ease;
  -o-transition: .4s ease;
  transition: .4s ease;
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .panel .panel_wrap .btn a span::before, .topics .sec_wrap .panel .panel_wrap .btn a span::after {
    right: 5.20833vw;
    width: 3.125vw;
    margin-top: -0.52083vw;
    border-top: 0.52083vw solid #0d5ca7;
  }
}

.topics .sec_wrap .panel .panel_wrap .btn a span::after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center;
}

.topics .sec_wrap .panel .panel_wrap .btn a:hover span::before, .topics .sec_wrap .panel .panel_wrap .btn a:hover span::after {
  border-top: min(0.17857vw,3px) solid #fff;
}

@media screen and (max-width: 768px) {
  .topics .sec_wrap .panel .panel_wrap .btn a:hover span::before, .topics .sec_wrap .panel .panel_wrap .btn a:hover span::after {
    border-top: 0.52083vw solid #0d5ca7;
  }
}

/* -----------------------------------------------------
  gallery
----------------------------------------------------- */
.gallery {
  padding: min(7.14286vw,120px) 0 min(3.33333vw,56px);
}

@media screen and (max-width: 768px) {
  .gallery {
    padding: 15.625vw 0;
  }
}

.gallery .sec_ttl {
  color: #0d5ca7;
}

.gallery .sec_ttl span {
  border-bottom: min(0.05952vw,1px) solid #0d5ca7;
}

.gallery .slide .slick-slide img {
  -webkit-transform: scale(0.85);
  -ms-transform: scale(0.85);
  transform: scale(0.85);
  -webkit-transition: -webkit-transform .7s;
  transition: -webkit-transform .7s;
  -o-transition: transform .7s;
  transition: transform .7s;
  transition: transform .7s, -webkit-transform .7s;
}

.gallery .slide .slick-slide img:hover {
  cursor: pointer;
  opacity: .7;
  -webkit-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

@media screen and (max-width: 768px) {
  .gallery .slide .slick-slide img:hover {
    opacity: 1;
  }
}

.gallery .slide .slick-slide.slick-center img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.gallery .slide .slick-slide + .slick-slide {
  margin-left: min(0.59524vw,10px);
}

@media screen and (max-width: 768px) {
  .gallery .slide .slick-slide + .slick-slide {
    margin-left: 1.04167vw;
  }
}

.gallery .slide .slick-list {
  position: relative;
  overflow: visible;
}

.gallery .slide.slick-initialized {
  opacity: 1;
}

/* -----------------------------------------------------
	modal
----------------------------------------------------- */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 100;
}

.modal .modalMask {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.7);
}

.modal .modalCont .video, .modal .modalCont .galler_img {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 20;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .video, .modal .modalCont .galler_img {
    right: 0;
    left: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
  }
}

.modal .modalCont .video.inner, .modal .modalCont .galler_img.inner {
  max-width: min(59.52381vw,1000px);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .video.inner, .modal .modalCont .galler_img.inner {
    max-width: 92%;
  }
}

.modal .modalCont .video .youtube, .modal .modalCont .galler_img .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.modal .modalCont .video .youtube iframe, .modal .modalCont .galler_img .youtube iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.modal .modalCont .video .youtube.short, .modal .modalCont .galler_img .youtube.short {
  max-width: 96%;
  margin: auto;
  padding: inherit;
}

.modal .modalCont .video .youtube.short iframe, .modal .modalCont .galler_img .youtube.short iframe {
  position: inherit;
  aspect-ratio: 9 / 16;
  width: 100%;
  height: 100%;
}

.modal .modalCont .modal_wrap {
  max-width: min(59.52381vw,1000px);
  margin: 0 auto;
  padding: min(3.80952vw,64px) min(2.38095vw,40px) min(3.80952vw,64px) min(3.80952vw,64px);
  background: url(../img/bg.jpg) center top/cover repeat;
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 20;
  margin: auto;
  display: none;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap {
    max-width: 92%;
    padding: 7.29167vw 3.125vw 7.29167vw 5.20833vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner {
  max-height: min(42.85714vw,720px);
  color: #0d5ca7;
  padding-right: min(2.38095vw,40px);
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner {
    max-height: 104.16667vw;
    padding-right: 5.20833vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .wrap_ttl {
  font-size: min(2.14286vw,36px);
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
  font-style: italic;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .wrap_ttl {
    font-size: 4.16667vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .col2 {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  margin-top: min(2.38095vw,40px);
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .col2 {
    display: block;
    margin-top: 5.20833vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .col2 .text {
  width: min(25.89286vw,435px);
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .col2 .text {
    width: 100%;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .col2 .text p span {
  font-weight: 700;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(20%, #ffeb00));
  background: -webkit-linear-gradient(transparent 60%, #ffeb00 20%);
  background: -o-linear-gradient(transparent 60%, #ffeb00 20%);
  background: linear-gradient(transparent 60%, #ffeb00 20%);
}

.modal .modalCont .modal_wrap .wrap_inner .col2 .img {
  width: min(22.7381vw,382px);
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .col2 .img {
    width: 100%;
    margin-top: 5.20833vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .col2 .img p {
  margin-top: min(0.47619vw,8px);
  text-align: center;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .col2 .img p {
    margin-top: 1.04167vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .col2 .img p span {
  display: block;
  font-size: min(0.95238vw,16px);
  text-align: right;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .col2 .img p span {
    font-size: 2.60417vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .col2 .img .btn {
  text-align: center;
}

.modal .modalCont .modal_wrap .wrap_inner .col2 .img .btn a {
  display: inline-block;
  background: transparent;
  font-size: min(1.07143vw,18px);
  text-align: center;
  max-width: inherit;
  margin: min(1.42857vw,24px) auto 0;
  padding: 0 min(3.33333vw,56px);
  line-height: min(2.85714vw,48px);
  border-radius: 50vh;
  border: min(0.11905vw,2px) solid #0d5ca7;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .col2 .img .btn a {
    font-size: 3.125vw;
    margin-top: 5.20833vw;
    padding: 0 10.41667vw;
    line-height: 9.375vw;
    border: 0.39063vw solid #0d5ca7;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .col2 .img .btn a.arrow::after {
  width: min(1.07143vw,18px);
  height: min(1.07143vw,18px);
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .col2 .img .btn a.arrow::after {
    width: 3.125vw;
    height: 3.125vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution {
  background: #0d5ca7;
  border-radius: min(0.95238vw,16px);
  margin-top: min(4.7619vw,80px);
  padding: min(3.33333vw,56px);
  position: relative;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution {
    border-radius: 2.08333vw;
    margin-top: 12.5vw;
    padding: 8.33333vw 5.20833vw 7.29167vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .solution_wrap_ttl {
  position: absolute;
  top: -1.2em;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  font-size: min(1.42857vw,24px);
  font-weight: 900;
  line-height: min(3.33333vw,56px);
  font-style: italic;
  padding: 0 min(3.33333vw,56px);
  background: #fff;
  border: min(0.17857vw,3px) solid #0d5ca7;
  border-radius: min(0.47619vw,8px);
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .solution_wrap_ttl {
    width: 40%;
    top: -4.16667vw;
    right: 0;
    left: 0;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    font-size: 4.42708vw;
    text-align: center;
    margin: auto;
    line-height: 8.33333vw;
    padding: 0;
    border: 0.39063vw solid #0d5ca7;
    border-radius: 1.04167vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .solution_ttl {
  font-size: min(1.54762vw,26px);
  line-height: 1.5;
  color: #fff;
  font-weight: 900;
  text-align: center;
  font-style: italic;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .solution_ttl {
    font-size: 4.42708vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  margin-top: min(2.38095vw,40px);
  color: #fff;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .flex {
    display: block;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex .img {
  width: min(19.94048vw,335px);
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .flex .img {
    width: 100%;
    text-align: center;
  }
  .modal .modalCont .modal_wrap .wrap_inner .solution .flex .img img {
    width: 43.61979vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex .img p {
  margin-top: min(0.47619vw,8px);
  text-align: center;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .flex .img p {
    margin-top: 1.04167vw;
    font-size: 3.125vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex .img p span {
  display: block;
  font-size: min(0.95238vw,16px);
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .flex .img p span {
    font-size: 2.60417vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex .text {
  width: min(22.02381vw,370px);
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  /*IE10*/
  -webkit-flex-wrap: wrap;
  /*PC-Safari,iOS8.4*/
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .flex .text {
    width: 100%;
    display: block;
    margin-top: 7.29167vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex .text p span {
  font-weight: 700;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(20%, #5290c6));
  background: -webkit-linear-gradient(transparent 60%, #5290c6 20%);
  background: -o-linear-gradient(transparent 60%, #5290c6 20%);
  background: linear-gradient(transparent 60%, #5290c6 20%);
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex .text .btn {
  width: min(14.28571vw,240px);
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .flex .text .btn {
    width: 100%;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex .text .btn a {
  background: #0d5ca7;
  font-size: min(1.07143vw,18px);
  text-align: center;
  max-width: min(14.28571vw,240px);
  margin: min(1.42857vw,24px) auto 0;
  color: #fff;
  line-height: min(2.85714vw,48px);
  border-radius: 50vh;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .flex .text .btn a {
    font-size: 3.125vw;
    max-width: 52.08333vw;
    margin-top: 5.20833vw;
    line-height: 8.33333vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex .text .btn a::before {
  background: #fff;
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex .text .btn a.arrow::after {
  width: min(1.07143vw,18px);
  height: min(1.07143vw,18px);
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .flex .text .btn a.arrow::after {
    width: 3.125vw;
    height: 3.125vw;
  }
}

.modal .modalCont .modal_wrap .wrap_inner .solution .flex .text .btn a:hover {
  color: #0d5ca7;
}

@media screen and (max-width: 768px) {
  .modal .modalCont .modal_wrap .wrap_inner .solution .flex .text .btn a:hover {
    color: #fff;
  }
}

.modal .btn_close {
  position: absolute;
  top: -1.2em;
  right: -1.2em;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .modal .btn_close {
    top: -4.16667vw;
    right: -2.08333vw;
  }
}

.modal .btn_close a {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  background: #0d5ca7;
  display: block;
  width: min(3.33333vw,56px);
  height: min(3.33333vw,56px);
  border-radius: 50vh;
  position: relative;
}

@media screen and (max-width: 768px) {
  .modal .btn_close a {
    width: 7.29167vw;
    height: 7.29167vw;
  }
}

.modal .btn_close a::before, .modal .btn_close a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: min(1.42857vw,24px);
  height: min(0.17857vw,3px);
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .modal .btn_close a::before, .modal .btn_close a::after {
    top: 0.39063vw;
    width: 4.16667vw;
    height: 0.52083vw;
  }
}

.modal .btn_close a::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.modal .btn_close a::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
