@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : base.css
Description : 共通
===================================================================== */
@-webkit-keyframes textAnime {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@keyframes textAnime {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
/* =====================================================================
    共通（大枠）
======================================================================*/
html {
  min-height: 100vh;
  font-size: calc(10 / 750 * 100vw);
}

.gDef-top-banner {
  background-color: #ffffff;
}

.sec-contents .main {
  text-align: center;
}

.wrapper {
  position: relative;
  font-family: "Zen Kaku Gothic New", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 15px;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #231815;
  background-color: #ffffff;
  overflow-x: clip;
}
.wrapper section,
.wrapper main,
.wrapper header,
.wrapper footer {
  position: relative;
}
.wrapper img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.wrapper a {
  display: block;
  color: #231815;
  word-break: break-all;
}
.wrapper a.nolink {
  pointer-events: none;
  color: #999;
}
.wrapper a.nolink:hover {
  -webkit-transform: translateY(0) !important;
          transform: translateY(0) !important;
}

.font-en {
  font-family: "Jost", sans-serif;
}

.inner {
  position: relative;
  margin: 0 auto;
  width: calc(680 / 750 * 100%);
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: calc(10 / 1920 * 100vw);
  }
  .wrapper {
    font-size: 1.6rem;
    font-size: max(1.6rem, 13px);
    background: url(../images/common/bg_pattern.png) repeat top left/30rem;
  }
  .wrapper a {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .inner {
    width: 90%;
    max-width: 1320px;
  }
  .is-sp {
    display: none !important;
  }
}
@media screen and (min-width: 1920px) {
  html {
    font-size: 10px;
  }
  .inner {
    max-width: 1560px;
  }
}
/* =====================================================================
*    共通
* =================================================================== */
.sec_ttl {
  margin-bottom: 10rem;
  font-family: "Special Elite", system-ui;
  font-weight: 400;
  font-style: normal;
  font-size: 6rem;
  color: #ac9c8e;
  opacity: 0;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
  line-height: 1.2;
}

.sec-contents .sec_ttl {
  margin: 0;
  position: relative;
  z-index: 10;
  font-size: 7rem;
  opacity: 1;
}

.sec_ttl.active {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-animation: textAnime 1s steps(9) forwards;
          animation: textAnime 1s steps(9) forwards;
  display: inline-block;
  opacity: 1;
}

.sec_ttl_stamp {
  margin: 10rem 0 7rem;
  display: block;
  position: relative;
}
.sec_ttl_stamp::after {
  content: "";
  display: block;
  width: calc(346 / 750 * 100%);
  height: 21rem;
  position: absolute;
  top: -9rem;
  right: 0;
  background: url(../images/common/img_stamp.png) no-repeat top right/contain;
  z-index: 0;
}

@media screen and (min-width: 768px) {
  .sec_ttl {
    margin: 0 auto 6rem;
  }
  .sec_ttl_stamp {
    margin: 10rem 0 7rem;
    display: inline-block;
  }
  .sec_ttl_stamp::after {
    width: 27.8rem;
    height: 15.8rem;
    top: -8rem;
    right: -23rem;
  }
}
.third_ttl {
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 4.6rem;
  font-weight: 400;
  font-family: "BIZ UDPMincho", serif;
  max-width: 1080px;
  margin: 2rem auto 5rem;
  padding-bottom: 4rem;
  line-height: 1.2;
  background: url(../images/common/line_dot.png) repeat-x bottom left/50rem;
}
.third_ttl.mark {
  text-align: left;
  margin: 2rem auto 3rem;
  padding-left: 6rem;
  padding-bottom: 2rem;
  position: relative;
}
.third_ttl.mark::before {
  content: "";
  display: block;
  width: 5rem;
  height: 5rem;
  position: absolute;
  left: 0;
  background: url(../images/common/icon_h3.png) no-repeat center center/contain;
}

@media screen and (min-width: 768px) {
  .third_ttl {
    font-size: 3rem;
  }
  .third_ttl.mark {
    padding-left: 5rem;
  }
  .third_ttl.mark::before {
    width: 3.5rem;
    height: 3.5rem;
  }
}
/*--- 白背景シャドウ付き　-----------------------------------------------*/
.bg_paper {
  background: #ffffff;
  -webkit-box-shadow: 0 0 3rem rgba(53, 45, 18, 0.05);
          box-shadow: 0 0 3rem rgba(53, 45, 18, 0.05);
  padding: 7rem 4rem;
  max-width: 1320px;
  margin: auto;
  text-align: left;
}
.bg_paper_line {
  background: #ffffff url(../images/common/line_pattern.png) repeat-x top left/75rem;
}

/*--- リンク設定　-----------------------------------------------*/
a.arrow {
  text-align: left;
  color: #d94869;
  display: inline-block;
  position: relative;
  padding-left: 5.6rem;
  line-height: 3.6rem;
  margin-bottom: 1rem;
  font-size: 2.6rem;
}
a.arrow::before {
  content: "";
  display: block;
  width: 3.6rem;
  height: 3.6rem;
  position: absolute;
  left: 0;
  background: #d94869 url(../images/common/icon_arrow.svg) no-repeat center center/1rem;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
a.arrow:hover::before {
  -webkit-transform: translateX(1rem);
          transform: translateX(1rem);
}

@media screen and (min-width: 768px) {
  a.arrow {
    padding-left: 4rem;
    line-height: 2.5rem;
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
  a.arrow::before {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.center {
  text-align: center !important;
}

/*--- 写真の並び　-----------------------------------------------*/
.img_box1 {
  width: 90%;
  max-width: 67.6rem;
  margin: auto;
  padding: 3rem 0;
}

.img_box2 {
  margin: auto;
  padding: 3rem 0 0;
  width: 90%;
}
.img_box2 figure {
  margin-bottom: 4rem;
}

figcaption {
  text-align: center;
  padding-top: 1rem;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .img_box2 {
    padding: 3rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
  }
  .img_box2 figure {
    width: calc(50% - 4rem);
    margin-bottom: 4rem;
  }
  .img_box2 figure:nth-child(odd) {
    margin-right: 8rem;
  }
}
/*--- ボーダーライン　-----------------------------------------------*/
.border_line {
  background: #ac9c8e;
  width: 100%;
  height: 1px;
  margin: 6rem 0;
}

/* =====================================================================
    sub_mv
======================================================================*/
.sub_mv {
  position: relative;
  background: #ffffff url(../images/common/bg_subheader_sp.jpg) no-repeat top center/cover;
}
.sub_mv .pos {
  position: absolute;
  top: 0;
  left: 0;
}
.sub_mv h1 {
  width: calc(212 / 750 * 100%);
  margin: calc(56 / 750 * 100%) 0 0 calc(269 / 750 * 100%);
  -webkit-box-shadow: 0 0 3rem rgba(53, 45, 18, 0.2);
          box-shadow: 0 0 3rem rgba(53, 45, 18, 0.2);
}
.sub_mv_img {
  border: 1px solid transparent;
}
.sub_mv_img .img01,
.sub_mv_img .img02,
.sub_mv_img .img07,
.sub_mv_img .img10 {
  display: none;
}
.sub_mv_img .img03 {
  width: calc(154 / 750 * 100%);
  margin: calc(167 / 750 * 100%) 0 0 calc(585 / 750 * 100%);
}
.sub_mv_img .img04 {
  width: calc(90 / 750 * 100%);
  margin: calc(239 / 750 * 100%) 0 0 calc(11 / 750 * 100%);
}
.sub_mv_img .img05 {
  width: calc(136 / 750 * 100%);
  margin: calc(200 / 750 * 100%) 0 calc(83 / 750 * 100%) calc(113 / 750 * 100%);
}
.sub_mv_img .img06 {
  width: calc(74 / 750 * 100%);
  margin: calc(137 / 750 * 100%) 0 0 calc(500 / 750 * 100%);
}
.sub_mv_img .img08 {
  width: calc(170 / 750 * 100%);
  margin: calc(24 / 750 * 100%) 0 0 calc(45 / 750 * 100%);
}
.sub_mv_img .img09 {
  width: calc(106 / 750 * 100%);
  margin: calc(37 / 750 * 100%) 0 0 calc(498 / 750 * 100%);
}
.sub_mv_date {
  width: 100%;
  border-bottom: 10px solid #d94869;
}

@media screen and (min-width: 768px) {
  .sub_mv {
    background: #ffffff url(../images/common/bg_subheader.jpg) no-repeat top center/cover;
  }
  .sub_mv h1 {
    width: calc(185 / 1920 * 100%);
    margin: calc(40 / 1920 * 100%) 0 0 calc(867 / 1920 * 100%);
    -webkit-box-shadow: 0 0 3rem rgba(53, 45, 18, 0.2);
            box-shadow: 0 0 3rem rgba(53, 45, 18, 0.2);
  }
  .sub_mv_img {
    border: 1px solid transparent;
  }
  .sub_mv_img .img01,
  .sub_mv_img .img02,
  .sub_mv_img .img07,
  .sub_mv_img .img10 {
    display: block;
  }
  .sub_mv_img .img01 {
    width: calc(122 / 1920 * 100%);
    margin: calc(32 / 1920 * 100%) 0 0 calc(630 / 1920 * 100%);
  }
  .sub_mv_img .img02 {
    width: calc(118 / 1920 * 100%);
    margin: calc(73 / 1920 * 100%) 0 0 calc(1510 / 1920 * 100%);
  }
  .sub_mv_img .img03 {
    width: calc(195 / 1920 * 100%);
    margin: calc(21 / 1920 * 100%) 0 0 calc(1652 / 1920 * 100%);
  }
  .sub_mv_img .img04 {
    width: calc(101 / 1920 * 100%);
    margin: calc(173 / 1920 * 100%) 0 0 calc(717 / 1920 * 100%);
  }
  .sub_mv_img .img05 {
    width: calc(170 / 1920 * 100%);
    margin: calc(184 / 1920 * 100%) 0 3rem calc(1439 / 1920 * 100%);
  }
  .sub_mv_img .img06 {
    width: calc(94 / 1920 * 100%);
    margin: calc(155 / 1920 * 100%) 0 3rem calc(86 / 1920 * 100%);
  }
  .sub_mv_img .img07 {
    width: calc(152 / 1920 * 100%);
    margin: calc(44 / 1920 * 100%) 0 0 calc(60 / 1920 * 100%);
  }
  .sub_mv_img .img08 {
    width: calc(270 / 1920 * 100%);
    margin: calc(77 / 1920 * 100%) 0 0 calc(236 / 1920 * 100%);
  }
  .sub_mv_img .img09 {
    width: calc(146 / 1920 * 100%);
    margin: calc(129 / 1920 * 100%) 0 0 calc(538 / 1920 * 100%);
  }
  .sub_mv_img .img10 {
    width: calc(100 / 1920 * 100%);
    margin: calc(23 / 1920 * 100%) 0 0 calc(1372 / 1920 * 100%);
  }
  .sub_mv_date {
    position: absolute;
    top: 0;
    left: 0;
    margin: calc(88 / 1920 * 100%) 0 0 calc(1084 / 1920 * 100%);
    width: calc(293 / 1920 * 100%);
    border-bottom: none;
  }
}
/* =====================================================================
*    navi
* =================================================================== */
.nav_inner {
  background: #f7f4e9;
  position: fixed;
  top: -1000px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 1000px;
  min-height: 100%;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  opacity: 0;
}
.nav h1 {
  width: 28rem;
  margin: 3rem auto;
}
.nav_menu li {
  font-family: "BIZ UDPMincho", serif;
  font-size: 3rem;
  text-align: center;
  margin: 0 2.5rem;
  -webkit-transition: all 0;
  transition: all 0;
}
.nav_menu li a {
  color: #000;
  padding: 2rem 0;
  display: inline-block;
  position: relative;
}
.nav_menu li a.outlink {
  position: relative;
}
.nav_menu li a.outlink::after {
  content: "";
  display: block;
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  top: 2.2rem;
  right: -3.5rem;
  background: url(../images/common/icon_link.svg) no-repeat top center/contain;
}
.nav_menu li span {
  display: block;
  font-size: 1.8rem;
  color: #ac9c8e;
  padding-top: 0.5rem;
}
.nav_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4rem 0;
  margin-top: 4rem;
  background: url(../images/common/line_dot.png) no-repeat top left/contain;
}
.nav_sns li a {
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  margin: 0 2rem;
}
.nav_sns li.nav_x a {
  background: #d94869 url(../images/common/icon_x_wt.svg) no-repeat center center/contain;
}
.nav_sns li.nav_insta a {
  background: #d94869 url(../images/common/icon_insta_wt.svg) no-repeat center center/contain;
}

/* Toggle Button */
#nav-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute !important;
  top: 10px;
  right: 1rem;
  width: 10rem;
  height: 10rem;
  cursor: pointer;
  z-index: 2000;
  background: #d94869;
}
#nav-toggle.fixed {
  position: fixed !important;
}
#nav-toggle div {
  position: relative;
  width: 4.8rem;
  height: 3rem;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  background: #ffffff;
  left: 0;
  -webkit-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 1.5rem;
}
#nav-toggle span:nth-child(3) {
  top: 3rem;
}

/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
  top: 1.1rem;
  -webkit-transform: rotate(152deg);
  transform: rotate(152deg);
}

.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}

.open #nav-toggle span:nth-child(3) {
  top: 1.1rem;
  -webkit-transform: rotate(-152deg);
  transform: rotate(-152deg);
}

/* #global-nav スライドアニメーション */
.open .nav_inner {
  top: 0;
  opacity: 1;
  z-index: 100;
}

@media screen and (min-width: 768px) {
  .nav {
    background: #d94869;
    position: relative;
    top: auto;
    left: auto;
    z-index: 100;
    width: 100%;
    height: auto;
    margin: auto;
  }
  .nav_inner {
    width: 90%;
    height: 9rem;
    min-height: auto;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.7rem 0;
    background: none;
    position: relative;
    top: auto;
    left: auto;
    z-index: 100;
    opacity: 1;
  }
  .nav h1 {
    width: 12rem;
    margin: 0;
    display: none;
  }
  .nav_block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: auto;
  }
  .nav_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .nav_menu li {
    font-size: 1.8rem;
    margin: 0 2.5rem;
  }
  .nav_menu li a {
    color: #ffffff;
    padding: 0;
  }
  .nav_menu li a.outlink::after {
    width: 1.7rem;
    height: 1.7rem;
    top: 0;
    right: -2rem;
  }
  .nav_menu li a.nolink {
    color: #70192b;
  }
  .nav_menu li a.nolink span {
    color: #70192b;
  }
  .nav_menu li span {
    font-size: 1.4rem;
    padding-top: 0.5rem;
    color: #f890a7;
  }
  .nav_sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 11rem;
    padding: 0;
    margin-top: 0;
    background: none;
    position: absolute;
    top: calc(50% - 1.7rem);
    right: -3%;
  }
  .nav_sns li a {
    width: 3.4rem;
    height: 3.4rem;
    margin: 0 0.5rem;
  }
  .nav_sns li.nav_x a {
    background: #ffffff url(../images/common/icon_x.svg) no-repeat center center/contain;
  }
  .nav_sns li.nav_insta a {
    background: #ffffff url(../images/common/icon_insta.svg) no-repeat center center/contain;
  }
  #nav-toggle {
    display: none;
  }
  #top .nav h1 {
    display: block;
  }
  #top .nav_block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin: 0;
  }
  #top .nav_sns {
    position: relative;
  }
  .nav.fixed {
    top: 0;
    position: fixed;
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
  }
}
/* ----- sub_navi ---------------------------------------------------- */
/* =====================================================================
*    banner
* =================================================================== */
/*.banner_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    li {
        margin: 0 4% 4% 0;
        width: 48%;

        @include mq-sp {

            &:nth-child(2n),
            &:last-child {
                margin-right: 0;
            }
        }

        a {
            box-shadow: 0 3.2rem 3.2rem 0 rgba(#000, 0.15);
        }
    }
}

@include mq-tab {
    .banner_list {
        li {
            margin: 0 calc(25 / 1080 * 100%) calc(50 / 1080 * 100%);
            width: calc(200 / 1080 * 100%);

            a:hover {
                transform: translateY(1rem);
                box-shadow: 0 1rem 1rem 0 rgba(#000, 0.15);
            }
        }
    }
}*/
/* =====================================================================
    bannerArea
======================================================================*/
#top .bannerArea {
  background: #ffffff;
}
.bannerArea .inner {
  max-width: 1080px;
  padding: 10rem 0 6rem;
}
.bannerArea .inner ul.banner_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.bannerArea .inner ul.banner_list li {
  width: 42%;
  margin: 0 4% 3rem;
}
.bannerArea .inner ul.banner_list li a:hover {
  opacity: 0.7;
}
.bannerArea .inner ul.conpany_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bannerArea .inner ul.conpany_logo li {
  margin: 0 3rem;
}
.bannerArea .inner ul.conpany_logo li:nth-child(1) {
  width: 36.3235294118%;
}
.bannerArea .inner ul.conpany_logo li:nth-child(2) {
  width: 47.9411764706%;
}
.bannerArea .inner ul.conpany_logo li a:hover {
  opacity: 0.7;
}

@media screen and (min-width: 768px) {
  .bannerArea .inner {
    padding: 10rem 0;
    max-width: 1080px !important;
  }
  .bannerArea .inner ul.banner_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 6rem;
  }
  .bannerArea .inner ul.banner_list li {
    width: 31%;
    margin: 0 1% 0;
  }
  .bannerArea .inner ul.conpany_logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .bannerArea .inner ul.conpany_logo li {
    margin: 0 3rem;
  }
  .bannerArea .inner ul.conpany_logo li:nth-child(1) {
    width: 20.3703703704%;
  }
  .bannerArea .inner ul.conpany_logo li:nth-child(2) {
    width: 36.1111111111%;
  }
}
/* =====================================================================
*    footer
* =================================================================== */
.footer_bg {
  padding: 4rem 0;
  background-color: #f7f4e9;
}

.fix_content {
  display: none;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 100;
}

.pagetop {
  margin-left: auto;
  margin-right: 1rem;
}
.pagetop a {
  width: 11.5rem;
}

.copyright_art {
  font-size: 1.8rem;
  line-height: 1.2;
  padding-bottom: 7rem;
  font-weight: 400;
}

.copyright {
  text-align: center;
  font-family: "Jost", sans-serif;
  font-size: 1.6rem;
  line-height: 1.625;
}

@media screen and (min-width: 768px) {
  .footer .inner {
    max-width: 1320px;
  }
  .footer .banner_list {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
  .footer .banner_list li.worcesterart {
    width: calc(217 / 1320 * 100%);
  }
  .copyright_art {
    font-size: 87%;
    padding-bottom: 3rem;
  }
  .copyright {
    font-size: 78%;
  }
}
/* =====================================================================
*    ticket
* =================================================================== */
.ticket_btn {
  width: 100%;
  height: 19rem;
  background: url(../images/common/bg_ticket.png) no-repeat top right/contain;
  margin-right: 0;
  margin-bottom: 2rem;
}
.ticket_btn a {
  display: block;
  width: 8.8rem;
  height: 100%;
  margin-left: 1.8rem;
  background: url(../images/common/img_ticket.png) no-repeat top left/contain;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
}
.ticket_btn a:hover {
  -webkit-transform: rotate(-5deg) translateX(-0.8rem);
          transform: rotate(-5deg) translateX(-0.8rem);
}

/* =====================================================================
*    hover
* =================================================================== */
.btnHover {
  position: relative;
  display: inline-block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.btnHover:hover {
  -webkit-transform: translateY(-1rem);
          transform: translateY(-1rem);
}

/* =====================================================================
*    popup
* =================================================================== */
.yt_popup {
  position: relative;
}
.yt_popup::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 25%;
  height: 22%;
  background: url(../images/common/icon_youtube.svg) no-repeat center/contain;
}

.popup {
  position: fixed;
  left: 0;
  top: 0;
  display: none;
  width: 100%;
  height: 100vh;
  height: 100svh;
  background: rgba(247, 244, 233, 0.9);
  z-index: 1000;
}

.popup_area {
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 1010;
}

.popup_bg {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100vh;
  z-index: 1020;
  cursor: pointer;
}

.popup_inner {
  -ms-flex-item-align: start;
  align-self: flex-start;
  position: relative;
  margin: auto;
  -ms-flex-item-align: start;
  align-self: flex-start;
  width: calc(680 / 750 * 100%);
  z-index: 1030;
}

@media screen and (max-width: 767px) {
  .popup_movie .popup_inner {
    width: 100%;
  }
}
.popup_list > li {
  display: none;
}

.popup_movie_embed {
  position: relative;
  padding-top: 56.25%;
}
.popup_movie_embed iframe,
.popup_movie_embed video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.popup_close2 {
  margin: 0;
  padding: 0;
  width: 10rem;
  height: 10rem;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
  background: #d94869;
  position: absolute;
  right: 0;
  top: -12rem;
  z-index: 2000;
  cursor: pointer;
}
.popup_close2::before, .popup_close2::after {
  content: "";
  display: block;
  width: 6rem;
  height: 1px;
  margin: 5rem 0 0 2rem;
  background: #ffffff;
  position: absolute;
}
.popup_close2::before {
  -webkit-transform: rotate(152deg);
          transform: rotate(152deg);
}
.popup_close2::after {
  -webkit-transform: rotate(-152deg);
          transform: rotate(-152deg);
}

@media screen and (min-width: 768px) {
  .popup_inner {
    width: 90%;
    max-width: 1320px;
  }
  .popup_movie .popup_inner {
    max-width: 120vh;
  }
  .popup_close2 {
    width: 7rem;
    height: 7rem;
    top: -10rem;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .popup_close2::before, .popup_close2::after {
    width: 4rem;
    margin: 3.5rem 0 0 1.5rem;
  }
  .popup_close2:hover {
    -webkit-transform: translateY(-1rem);
            transform: translateY(-1rem);
  }
}/*# sourceMappingURL=base.css.map */