@charset "UTF-8";
/* ====================================================
Font
==================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

/* ====================================================
reset style
==================================================== */
html {
  overflow-y: scroll;
  overflow-x: hidden;
  font-size: 10px;
  font-weight: 400;
  /* Base font size, change to 14px or 16px if needed */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

img {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

address, caption, cite, code, dfn, var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  /*font-weight: 500;*/
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  /*font-size: 10px;
  position: relative;
  top: 0em;
  margin-left: 0.3em;*/

  /* vertical-align: top; */

}

sub {
  vertical-align: text-bottom;
}

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/*to enable resizing for IE*/
/* input, textarea, select {
  *font-size: 100%;
} */

/*because legend doesn't inherit in IE */
legend {
  color: #000;
}

del, ins {
  text-decoration: none;
}
.main_content{
  display: block;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  background-attachment: fixed !important;
  background: url(../img/main_bg.png) center / 100% 100% no-repeat;
  position: relative;
}
/* main {
  padding-top: 70px;
} */

section {
  position: relative;
}

.nolink{
  pointer-events: none;
  opacity: .8;
}


body {
  /*color: #876138;*/
  /*font-family: "BIZ UDGothic", sans-serif;*/
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 100%;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  font-feature-settings: "palt" 1;
  background-image: url("../img/bg.jpg");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  background-attachment: fixed;
}

@media screen and (min-width: 641px) {
  /*body {
    background-attachment: fixed;
  }*/
}

@media screen and (max-width: 480px) {
  /* body {
    background-image: url("../img/bg_sp.jpg");
    background-size: 375px 640px;
  } */

}

a {
  color: inherit;
  text-decoration: none;
  -webkit-backface-visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a:hover {
  opacity: 0.7;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  a {
    display: inline-block;
  }
}
@media screen and (min-width: 481px) {
  a[href^=tel] {
    pointer-events: none;
  }
}

@media screen and (max-width: 480px) {
  .noneSP {
    display: none !important;
  }
}
@media screen and (min-width: 481px) {
  .nonePC {
    display: none !important;
  }
}





/* ヘッダーエリア
***************************************************************/
header {
  z-index: 1000 !important;
  position: fixed;
  max-width: 750px;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 100%;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: .3s ease;
  background: transparent;
  background: linear-gradient(-20deg, rgba(0, 67, 133, 1) 0%, rgba(0, 62, 127, 1) 19.62%, rgba(7, 39, 94, 1) 48.19%, rgba(16, 24, 65, 1) 100%);
}
/*.navOn header {
    background: rgb(255 255 255 / 90%);
}*/
header .inner {

}
.head_body {
  position: relative;
  width: 100%;
  height: 70px;
}



.head_conv a img{
  width: 50px;
  height: auto;
}


.gNav_PC .ul1 .menu_box a {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.gNav_PC .ul1 .menu_box a span{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    color: #000;
    margin-top: 10px;
}


.toggleBtn {
  width: 40px;
  height: 40px;
  padding: 0;
  position: absolute;
  display: block;
  top: 15px;
  right: 15px;
  z-index: 101;
  background: transparent;
  transition: .3s ease;
  cursor: pointer;
  flex-shrink: 0;
  background: url(../img/hanb_bg.png) center / 100% no-repeat;
}

.toggleBtn > p {
  position: relative;
  height: 100%;
}

.toggleBtn p span::before,
.toggleBtn p span::after {
    content: "";
    position: absolute;
    left: 0;
    top: -3px;
    display: block;
    width: 25px;
    height: 2px;
    background: #fff;
    transition: 0.3s ease;
    border-radius: 10px;
}
.toggleBtn p span {
  transform: translateY(-50%);
  background: #fff;
  width: 25px;
  height: 2px;
  display: block;
  top: 50%;
  left: 7.5px;
  position: relative;
  transition: .3s ease;
  border-radius: 10px;
}

.toggleBtn p span::before {
    transform: translateY(-3px) rotate(0deg);
}

.toggleBtn p span::after {
  transform: translateY(3px) rotate(0deg);
  top: 3px;
  left: auto;
}

.open .toggleBtn p span {
    background: transparent;
}

.open .toggleBtn p span::before {
    top: 0;
    transform: translateY(calc(-50% + 1px)) rotate(-45deg);
    /*background: #000;*/
}

.open .toggleBtn p span::after {
    bottom: 0;
    transform: translateY(calc(-50% + 1px)) rotate(45deg);
    width: 100%;
    top: 0;
}



  .gNav {
    opacity: 0;
    pointer-events: none;
    background: rgb(0 32 96);
    position: fixed;
    width: 100%;
    max-width: 750px;
    left: 50%;
    top: 0;
    height: 100vh;
    transform: translateX(-50%);
    transition: .5s ease;
    color: #fff;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
     & ul{
      padding: 170px 0 0;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
        & li{
          width: 100%;
        }
        & li:last-child{
         padding-bottom: 100px;
        }
        & li a {
            width: 100%;
            padding-top: 2.3em;
            padding-bottom: 2.3em;
            font-size: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 1.4em;
            position: relative;
    text-align: center;
        }
        & li a::after {
          content: '';
          width: 16px;
          height: 14px;
          /*background: url(../img/common/arrow_r_b.svg) center / contain no-repeat;*/
          transform: translateX(0);
          transition: .3s ease;
        }
        & li a:hover::after {
          transform: translateX(10px);
        }
        & li + li{

        }
     }
  }
  .open .gNav {
    opacity: 1;
    pointer-events: initial;
  }



  header > .inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      height: 100%;
      width: 100%;
      position: relative;
      height: 100%;
      transition: .3s ease;
  }
  .head .ul1 {
      display: flex;
      height: 100%;
      align-items: center;
  }

body.open main{
  pointer-events: none;
  overflow: hidden;
}
body.open {
    overflow: hidden;
    position: fixed;
    width: 100%;
}
.main_ttl{
  width: 140px;
  margin: 12px auto 0;
  z-index: 1;
  position: relative;
}
/*ヘッダーボタン*/
@media screen and (max-width: 767px) {
  /* header {
      right: 15px;
      top: 20px;
      width: 70px;
      height: 70px;
  }
  .toggleBtn {
    width: 70px;
    height: 70px;
  }
  .toggleBtn p span {
    width: 35px;
    height: 3px;
    top: 48.5%;
    left: 16.25px;
  }
  .toggleBtn p span::before, .toggleBtn p span::after {
    top: -7px;
    width: 35px;
    height: 3px;
  }
  .toggleBtn p span::after {
    top: 7px;
  }
  .gNav {
    & ul {
      padding: 110px 0 0;
        & li a {
          padding-top: 2em;
          padding-bottom: 2em;
        }
    }
  } */
}
@media screen and (min-width: 768px) {
  header {
    height: 140px;
  }
  .head_body {
    height: 140px;
  }
  .main_ttl {
    width: 280px;
    margin: 24px auto 0;
  }
  .toggleBtn {
    width: 80px;
    height: 80px;
    top: 30px;
    right: 30px;
  }
  .toggleBtn p span {
    width: 50px;
    height: 4px;
    left: 15px;
  }
  .toggleBtn p span::before,
  .toggleBtn p span::after {
    width: 50px;
    height: 4px;
    top: -10px;
  }
  .toggleBtn p span::after {
    top: 10px;
  }
  .gNav {
    & ul {
      padding: 190px 0 0;
      & li a {
        font-size: 20px;
        padding-top: 1.6em;
        padding-bottom: 1.6em;
      }
    }
  }
}




/*//////////////////////////// イベント終了文言　content_end ////////////////////////////*/

.content_end{
  background-color: #fff;
  padding-top: 60px;
  padding-bottom: 60px;
}
.content_end > div{
  background:red;
  border-radius:6px;
  font-weight:bold;
  text-align:center;
  max-width:90%;
  margin:0 auto;
  color:#fff;
  padding:10px;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .content_end{
    background-color: #fff;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .content_end > div{
    font-size: 20px;
    letter-spacing: -0.1em;
  }
}




/*//////////////////////////// sec-mv ////////////////////////////*/
.sec-mv {
  position: relative;
  overflow: hidden;
}
.sec-mv__ttl img {
  width: 100%;
}
/* .sec-mv__sns {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  padding-top: 25px;
  padding-bottom: 25px;
} */
.sec-mv::after {
  content: '';
  width: 100%;
  height: 5px;
  background: url(../img/line_01.svg) center / auto 100% repeat-x;
  display: block;
}
@media screen and (min-width: 768px) {
  .sec-mv::after {
    height: 10px;
  }
}
/* .sec-mv__sns-item {
  margin-left: 19px;
}
.sec-mv__sns-item img {
  width: 36px;
} */



/*//////////////////////////// 共通 ////////////////////////////*/
/* フォントサイズ共通クラス */
.font30 {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.33;
}
.font24 {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
}
.font20 {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.40;
}
@media screen and (min-width: 768px) {
  .font30 {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.33;
  }
  .font24 {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
  }
  .font20 {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.40;
  }
}

.anchor{
  position: absolute;
  height: 0;
  pointer-events: none;
  margin-top: -70px;
}
#id-04.anchor,
#id-05.anchor,
#id-06.anchor{
  margin-top: -250px;
}

.sec{
  /* margin-bottom: 190px; */
}
.sec_subttl{
  display: block;
  max-width: 68%;
  margin: 0 auto;
}
.sec_subttl_hanbai {
  max-height: 58px;
  max-width: 440px;
  width: 64%;
}
.hanbai_wrap {
  margin: 10px auto 100px;
}
.hanbai_txt {
  font-size: clamp(20px, 2.5vw, 27px);
  font-weight: 700;
  line-height: 1.48;
  color: #fff;
}
.inner {
  display: block;
  max-width: 750px;
  text-align: center;
  padding: 0 15px;
  margin: 0 auto;
  width: 100%;
    .inner {
      padding: 0 20px;
    }
}

.bg_logo {
  position: fixed;
  width: clamp(140px, 17vw, 300px);
  height: auto;
  left: clamp(30px, 3.3vw, 80px);
  top: clamp(20px, 3vh, 40px);
  z-index: -1;
}

.shop_extxt{
  max-width: 290px;
  color: #fff;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
}
/* @media screen and (min-width: 481px) {

}

@media screen and (max-width: 480px) {
  .bg_w {
      padding: 2% 6%;
  }
} */


@media screen and (min-width: 768px) {
  .shop_extxt{
    max-width: 570px;
    margin-top: 60px;
  }
  .anchor{
    margin-top: -140px;
  }
  .inner {
    padding: 0 30px;
      .inner {
        padding: 0 40px;
      }
  }
}

@media screen and (max-width: 767px) {
  .hanbai_wrap {
    margin: 10px auto 60px;
  }
  .hanbai_txt {
    font-size: clamp(16px, 2.5vw, 27px);
  }
}











/*//////////////////////////// 開催概要 page_menu sec01 ////////////////////////////*/

.page_menu{
    padding-top: 20px;
    margin-bottom: 70px;
      a{
        display: block;
      }
      .main_menu{
        max-width: 88%;
        margin: 15px auto 0;
        a + a{
          margin-top: 13px;;
        }
      }
      .submenu{
        display: flex;
        justify-content: space-between;
        margin: 20px auto 0;
          a{
            max-width: 48%;
          }
      }
}
@media screen and (min-width: 768px) {
  .page_menu{
      .submenu{
        max-width: 94%;
      }
      .main_menu{
        a + a{
          margin-top: 20px;
        }
      }
      .submenu{
        margin-top: 30px;
      }
  }
}

@media screen and (max-width: 767px) {
}









/*//////////////////////////// コラボグッズ　全施設共通 sec-commongoods ////////////////////////////*/

/* goods_list共通 */
.goods_list{
  max-width: 94%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 25px 5%;
  color: #fff;
    .goods_list-item{
      width: 47%;
        .goods_list-img img{
          width: 100%;
        }
        .goods_type{
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 12px;
          text-align: center;
          aspect-ratio: 300 / 40;
          width: 100%;
          margin-top: 5px;
          background: url("../img/ttl_bg01.png") center / 100% 100% no-repeat;
        }
        .goods_ttl{
          text-align: center;
          margin-top: 5px;
        }
        .goods_price{
          text-align: center;
          margin-top: 5px;
            .blue_box {
              background-color: #336de2;
              padding: 0.2em 0 0.3em;
              min-width: 80%;
              display: table;
              margin: 0.4em auto -0.2em;
            }
        }
        .ticket_price_size{
          text-align: center;
          margin-top: 5px;
          white-space: nowrap;
        }
    }
}



.sec-commongoods{
  .goods_list{
    margin-top: 20px;
      .goods_type02{
        background: url("../img/ttl_bg02.png") center / 100% 100% no-repeat;
      }
  }
  .sec_subttl02{
    margin-top:60px;
  }
  .shop_btn{
    margin-top:20px;
    display: block;
    max-width: 76%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (min-width: 768px) {
  .goods_list{
    gap: 50px 6%;
      .goods_list-item{
          .goods_type{
            font-size: 24px;
            margin-top: 10px;
          }
          .goods_ttl{
            margin-top: 5px;
          }
          .goods_price{
            margin-top: 5px;
              .blue_box {
                padding: 0 0 0.3em;
              }
          }
          .ticket_price_size{
            margin-top: 7px;
          }
      }
  }

  .sec-commongoods{
    .goods_list{
      margin-top: 40px;
    }
    .sec_subttl02{
      margin-top:120px;
    }
    .shop_btn{
      margin-top:40px;
    }
  }
  
}

@media screen and (max-width: 767px) {
}







/*//////////////////////////// 梅田スカイビル ////////////////////////////*/
.sec-commongoods.sec02{
  margin-bottom: 75px;
}

/* エリアメニュー共通 */
.area-sec_menu_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 100%;
  margin: 0 auto;
}
.area-sec_menu_list_item{
  width: calc(50% - 7.5px);
}
.area-sec_menu_list_item a{
  display: block;
  transition: opacity 0.3s;
}
.area-sec_menu_list_item a:hover{
  opacity: 0.8;
}
.area-sec_menu_list_item img{
  width: 100%;
  height: auto;
  display: block;
}


/* 梅田用sec01 */

.umeda_contents{
  position: relative;
  background: transparent;
    > .inner {
      position: relative;
      z-index: 2;
    }
    .area-sec_menu{
      margin-bottom: 20px;
    }
}

.umeda_contents::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(10, 139, 204, 1) 0%, rgba(0, 67, 133, 1) 100%);
  background-attachment: scroll;
  z-index: 1;
  opacity: 1;
  transition: opacity 0.6s ;
}

.umeda_contents::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(10, 139, 204, 1) 30%, rgba(0, 67, 133, 1) 100%);
  background-attachment: fixed;
  z-index: 0;
  opacity: 1;
  /* transition: opacity 0.6s ; */
}

/* 上向きスクロール時（0.6s） */
.umeda_contents.scroll-up::before {
  transition: opacity 0.4s ;
}

/* .umeda_contents.scroll-up::after {
  transition: opacity 0.6s ;
} */

/* 下向きスクロール時（0.2s） */
.umeda_contents.scroll-down::before {
  transition: opacity 0.6s ;
}

/* .umeda_contents.scroll-down::after {
  transition: opacity 0.2s ;
} */

.umeda_contents.bg-fixed::before {
  opacity: 0;
}

/* .umeda_contents.bg-fixed::after {
  opacity: 1;
} */
.umeda_sec01_txt01{
  text-align: center;
  margin-top: 10px;
  color: #fff;
}
.umeda_sec01_txt02{
  text-align: center;
  margin-top: 5px;
  color: #fff;
}
.umeda_btn01{
  display: block;
  max-width: 65%;
  margin: 0 auto 0;
}
.umeda_btn01.disabled{
  opacity: 0.5;
  pointer-events: none;
}
.ticket_price_table{
  width: 100%;
  max-width: 94%;
  margin: 20px auto 0;
  border-collapse: collapse;
  background-color: #006693;
  font-weight: 900;
}
.ticket_price_table th{
  border: 1px solid #006693;
  padding: 0.3em;
  text-align: center;
  font-size: 14px;
  font-weight: 900;
}
.ticket_price_table td{
  border: 1px solid #006693;
  padding: 0.4em;
  text-align: center;
  font-size: 15px;
  font-weight: 900;
}
.ticket_price_table thead tr:first-child th{
  background-color: #006693;
  color: #fff;
  font-size: 13px;
}
.ticket_price_table thead tr:last-child th{
  background-color: rgb(221 237 243 / 80%);
  color: #006693;
}
.ticket_price_table tbody td{
  background-color: rgb(221 237 243 / 80%);
  color: #006693;
}

/* セット内容 */
.set_info_wrap{
  margin-top: 25px;
  background-color: #fff;
  border-radius: 10px;
  position: relative;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
    .set_info_ttl{
      position: relative;
      top: -30px;
      max-width: 34%;
      margin-left: auto;
      margin-right: auto;
    }
    .set_info_ttl02{
      max-width: 60%;
      margin-left: auto;
      margin-right: auto;
    }
    .set_info_plus{
      width: 4.5%;
      margin: 2.5% auto;
    }
    .set_info_img01{
      max-width: 54%;
      margin-left: auto;
      margin-right: auto;
    }
    .set_info_img02{
      max-width: 77%;
      margin-left: auto;
      margin-right: auto;
    }
    .set_info_img03{
      max-width: 92%;
      margin-left: auto;
      margin-right: auto;
    }
}
.umeda_contents_sec01{
  .shop_extxt{
    margin-top: 20px;
  }
}
.umeda_contents_sec02_inner02{
  .shop_extxt {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .umeda_contents_sec01{
    margin-bottom: 150px;
  }

  .area-sec_menu_list{
    gap: 15px;
    max-width: 94%;
  }



  .sec-commongoods.sec02{
    margin-bottom: 150px;
  }
  .umeda_contents{
      .area-sec_menu{
        margin-bottom: 40px;
      }
  }
  .umeda_btn01{
    margin: 10px auto 0;
  }
  .ticket_price_table{
    margin: 30px auto 0;
  }
  .ticket_price_table th{
    border: 2px solid #006693;
    padding: 0.4em 0;
    font-size: 28px;
  }
  .ticket_price_table td{
    border: 2px solid #006693;
    padding: 0.7em 0;
    font-size: 30px;
  }
  .ticket_price_table thead tr:first-child th{
    font-size: 22px;
  }

  .set_info_wrap{
    margin-top: 50px;
    background-color: #fff;
    border-radius: 10px;
    position: relative;
    padding: 10px;
      .set_info_ttl{
        position: relative;
        top: -30px;
      }
  }
  .umeda_contents_sec01{
    .shop_extxt{
      margin-top: 35px;
    }
  }
  .umeda_contents_sec02_inner02{
    .shop_extxt {
      margin-top: 35px;
    }
  }
}

@media screen and (max-width: 767px) {
}


/*//////////////////////////// umeda_contents_sec02 ////////////////////////////*/
.umeda_contents_sec01{
  margin-bottom: 90px;
}
.umeda_sec02_txt01{
  color: #fff;
  text-align: center;
  margin-top: 15px;
    .yellow_txt{
      color: #ffff00;
      font-weight: 900;
    }
}
.keihin_wrap{
    .keihin_txt{
      text-align: center;
      margin-top: 0px;
      color: #fff;
    }
}

.star_item{
  max-width: 20%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
  display: block;
}

.flow_wrap{
  background-color: #fff;
  background-image: url('../img/tate_line01.png'), url('../img/tate_line01.png');
  background-repeat: repeat-y, repeat-y;
  background-position: left top, right top;
  background-size: 5px auto, 5px auto;
  border-radius: 10px;
  margin-top: 60px;
}
.flow_ttl_00{
  top: -40px;
  max-width: 53%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-bottom: -40px;
}
.flow_step{
    max-width: 88%;
    margin-left: auto;
    margin-right: auto;
    padding: 20px 0;
    .flow_ttl{
      font-weight: 700;
      color: #004385;
    }
    .flow_txt{
      margin-top: 7px;
      color: #006693;
    }
}
.flow_step_img{
  max-width: 55%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
  display: block;
}
.flow_step + .flow_step{
  border-top: 1px dashed #006693;
}
@media screen and (min-width: 768px) {
  .umeda_contents_sec02{
    margin-bottom: 150px;
  }
  .umeda_sec02_txt01{
    margin-top: 30px;
  }
  .keihin_wrap{
      .keihin_txt{
        margin-top: 5px;
      }
  }
  .star_item{
    margin-top: 20px;
  }

  .flow_wrap{
    background-size: 10px auto, 10px auto;
    margin-top: 120px;
  }
  .flow_step{
      padding: 40px 0;
        .flow_txt{
          margin-top: 12px;
        }
  }
  .flow_step + .flow_step{
    border-top: 2px dashed #006693;
  }
}

@media screen and (max-width: 767px) {
}





/*//////////////////////////// umeda_contents_sec03　コラボグッズ ////////////////////////////*/

.umeda_contents_sec02{
  margin-bottom: 90px;
}

.umeda_contents_sec03{
  .goods_list{
    margin-top: 20px;
  }
  .goods_list-item:last-child{
    margin-left: auto;
    margin-right: auto;
  }
  .umeda_contents_sec03_btn01{
    margin-top: 15px;
    max-width: 83%;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .shop_extxt{
    margin-top: 25px;
  }
  .shop_btn{
    margin-top: 15px;
    max-width: 76%;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .umeda_contents_sec03_inner01{
    margin-top: 45px;
    display: block;
      .umeda_contents_sec03_inner01_txt01{
        color: #fff;
        display: block;
        margin-top: 10px;
      }
  }
  .keihin_wrap{
    margin-top: 10px;
  }
  .shop_extxt{
    margin-top: 15px;
  }
}

@media screen and (min-width: 768px) {
  .umeda_contents_sec03{
    margin-bottom: 150px;
    .goods_list{
      margin-top: 40px;
    }
    .umeda_contents_sec03_btn01{
      margin-top: 30px;
    }
    .shop_extxt{
      margin-top: 50px;
    }
    .shop_btn{
      margin-top: 30px;
      display: block;
    }
    .umeda_contents_sec03_inner01{
      margin-top: 90px;
        .umeda_contents_sec03_inner01_txt01{
          margin-top: 20px;
        }
    }
    .keihin_wrap{
      margin-top: 20px;
    }
    .shop_extxt{
      margin-top: 25px;
    }
  }
}

@media screen and (max-width: 767px) {
}





/*//////////////////////////// umeda_contents_sec04 ////////////////////////////*/
.umeda_contents_sec03{
  margin-bottom: 90px;
}

.umeda_contents_sec04_box01{
  max-width: 88%;
  margin-left: auto;
  margin-right: auto;
  display: block;
    .sec_subttl{
      max-width: 100%;
      .shop_extxt{
        max-width: 18em;
        margin-top: 10px;
      }
    }
    .star_item{
      margin-top: 0px;
    }
}
.umeda_contents_sec04_box02{
  .shop_extxt{
    margin-top: 10px;
    max-width: 600px;
  }
}
@media screen and (min-width: 768px) {
  .umeda_contents_sec04{
    margin-bottom: 150px;
  }
  .umeda_contents_sec04_box01{
    .keihin_wrap{
      margin-top: 10px;
    }
    .shop_extxt{
      max-width: 590px;
      margin-top: 20px;
    }
  }
  .umeda_contents_sec04_box02{
    .shop_extxt{
      margin-top: 20px;
    }
  }
}

@media screen and (max-width: 767px) {
}





/*//////////////////////////// umeda_contents_sec05 ////////////////////////////*/

.umeda_contents_sec04{
  margin-bottom: 90px;
}

.umeda_contents_sec05{
  .sec_subttl{
    max-width: 100%;
      .shop_extxt{
        margin-top: 10px;
        max-width: 100%;
      }
  }
  .star_item + .keihin_txt{
    margin-top: 25px;
  }
}
.umeda_contents_sec05_box01{
  .keihin_wrap{
    margin-top:15px;
  }
}
.umeda_contents_sec05_box02{
  background-color: rgba(255,255,255,0.2);
  border: 4px dotted #fff;
  margin-top: 80px;
    .umeda_contents_sec05_box02_ttl {
      max-width: 80%;
      margin-left: auto;
      margin-right: auto;
      display: block;
      margin-top: -40px;
      position: relative;
    }
    .keihin_item{
      max-width: 70%;
      margin-left: auto;
      margin-right: auto;
      display: block;
      margin-top: 25px;
    }
    .keihin_txt{
      margin-top: 12px;
      margin-bottom: 15px;
    }
}
@media screen and (min-width: 768px) {
  .umeda_contents_sec05{
    margin-bottom: 150px;
    .sec_subttl{
      .shop_extxt{
        margin-top: 10px;
        font-size: 30px;
      }
    }
    .star_item + .keihin_txt{
      margin-top: 50px;
    }
  }
  .umeda_contents_sec05_box01{
    .keihin_wrap{
      margin-top:30px;
    }
  }
  .umeda_contents_sec05_box02{
    margin-top: 120px;
      .keihin_item{
        max-width: 70%;
        margin-left: auto;
        margin-right: auto;
        display: block;
        margin-top: 40px;
      }
      .keihin_txt{
        margin-top: 25px;
        margin-bottom: 25px;
      }
  }
}

@media screen and (max-width: 767px) {
}



/*//////////////////////////// umeda_contents_sec06 ////////////////////////////*/

.umeda_contents_sec05{
  margin-bottom: 90px;
}

.umeda_contents_sec06{
  .sec_subttl{
    .shop_extxt{
      margin-top: 10px;
    }
  }
}
.umeda_contents_sec06_content{
  max-width: 88%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin-top: 30px;
    dl{
      display: flex;
        dt{
          width: 30%;
          max-width: 110px;
          flex-shrink: 0;
            p{
              background-color: #fff;
              color: #006693;
              font-weight: 500;
            }
        }
        dd{
          font-size: 14px;
          width: 100%;
          color: #fff;
          padding: 0 0.4em;
          text-align: left;
          line-height: 1.46;
          margin-top: -3px;
          padding-left: 10px;
        }
    }
    dl + dl{
      margin-top: 10px;
    }
}
.ggmap {
  position: relative;
  width: 100%;
  aspect-ratio: 400 / 280;
  height: auto;
  margin-top: 20px;
}

.ggmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .umeda_contents_sec06{
    .sec_subttl{
      .shop_extxt{
        margin-top: 20px;
      }
    }
  }
  .umeda_contents_sec06_content{
      dl{
          dt{
            width: 30%;
            max-width: 110px;
          }
          dd{
            font-size: 28px;
            margin-top: -3px;
          }
      }
      dl + dl{
        margin-top: 12px;
      }
  }
}
    /* .sec_subttl{
        .shop_extxt{
          margin-top: 10px;
          max-width: 100%;
          display: block;
        }
    } */

@media screen and (max-width: 767px) {
}






/* 東京タワー */
/*//////////////////////////// aaaaa ////////////////////////////*/
.umeda_contents_sec06{
  padding-bottom: 230px;
}
.sec-tokyo {
  position: relative;
  margin-top: -185px;
}
.tokyo_contents{
  position: relative;
  /* background: transparent; */
  background: linear-gradient(180deg, #993d5c 0%, #542b4f 100%);
  padding-bottom: 230px;
  > .inner {
    position: relative;
    z-index: 2;
  }
}
.coming_soon{
  max-width: 53%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* .tokyo_contents::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #993d5c 0%, #542b4f 100%);
  background-attachment: scroll;
  z-index: 1;
  opacity: 1;
  transition: opacity 0.6s ;
}

.tokyo_contents::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #993d5c 30%, #542b4f 100%);
  background-attachment: fixed;
  z-index: 0;
  opacity: 1;
} */

/* 上向きスクロール時（0.4s） */
.tokyo_contents.scroll-up::before {
  transition: opacity 0.4s ;
}

/* 下向きスクロール時（0.6s） */
.tokyo_contents.scroll-down::before {
  transition: opacity 0.6s ;
}

.tokyo_contents.bg-fixed::before {
  opacity: 0;
}

@media screen and (min-width: 768px) {
  .sec-tokyo {
    position: relative;
    margin-top: -125px;
  }
  .tokyo_contents{
    padding-bottom: 300px;
  }
}

@media screen and (max-width: 767px) {
}


/* さっぽろテレビ塔 */
/*//////////////////////////// aaaaa ////////////////////////////*/

.sec-sapporo {
  position: relative;
  margin-top: -185px;
}
.sapporo_contents{
  position: relative;
  /* background: transparent; */
  background: linear-gradient(180deg, #1f9985 0%, #195963 100%);
  padding-bottom: 230px;
  > .inner {
    position: relative;
    z-index: 2;
  }
}

/* .sapporo_contents::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #1f9985 0%, #195963 100%);
  background-attachment: scroll;
  z-index: 1;
  opacity: 1;
  transition: opacity 0.6s ;
}

.sapporo_contents::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #1f9985 30%, #195963 100%);
  background-attachment: fixed;
  z-index: 0;
  opacity: 1;
} */

/* 上向きスクロール時（0.4s） */
.sapporo_contents.scroll-up::before {
  transition: opacity 0.4s ;
}

/* 下向きスクロール時（0.6s） */
.sapporo_contents.scroll-down::before {
  transition: opacity 0.6s ;
}

.sapporo_contents.bg-fixed::before {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .sec-sapporo {
    position: relative;
    margin-top: -125px;
  }
}

@media screen and (max-width: 767px) {
}








/*//////////////////////////// aaaaa ////////////////////////////*/


@media screen and (min-width: 768px) {
}

@media screen and (max-width: 767px) {
}

/*//////////////////////////// aaaaa ////////////////////////////*/


@media screen and (min-width: 768px) {
}

@media screen and (max-width: 767px) {
}



/* GKプリント */
/*//////////////////////////// gkprint ////////////////////////////*/

.sec-gk {
  position: relative;
  margin-top: -185px;
}
.gk_head_inner{
  padding: 0 30px;
  position: absolute;
  top: 90px;
  z-index: 1;
    .sec_subttl {
      max-width: 100%;
        .shop_extxt {
          text-align: center;
          margin-top: 20px;
        }
    }
}
.gk_contents{
  position: relative;
  background: linear-gradient(0deg, #004385 0%, #101841 100%);
  padding-bottom: 50px;
  padding-top: 30px;
    .gk_contents_ttl{
      font-weight: 900;
      background-color: #fff;
      color:#006693;
      text-align: center;
      margin-top: 10px;
      padding: 0.3em 0 0.3em;
    }
    .gk_contents_txt{
      font-weight: 500;
      color: #fff;
      text-align: center;
      margin-top: 10px;
    }
    .coming_soon{
      margin-top: 25px;
      max-width: 60%;
      margin-left: auto;
      margin-right: auto;
      display: block;
    }
}

/* お問い合わせ部分 */
.contact_box{
  margin-top: 120px;
}
.contact_txt{
  .shop_extxt{
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.48;
  }
}
.contact_txt02{
  margin-top: 70px;
  .shop_extxt{
    max-width: 100%;
    color: #fff;
  }
}


@media screen and (min-width: 768px) {
  .sec-gk {
    position: relative;
    margin-top: -125px;
  }
  .gk_head_inner{
    padding: 0 30px;
    position: absolute;
    top: 155px;
    z-index: 1;
      .sec_subttl {
        max-width: 100%;
          .shop_extxt {
            text-align: center;
            margin-top: 20px;
            font-size: 30px;
          }
      }
  }
  .gk_contents{
    padding-bottom: 100px;
    padding-top: 20px;
      .gk_contents_ttl{
        font-weight: 900;
        background-color: #fff;
        color:#006693;
        text-align: center;
        margin-top: 20px;
        padding: 0.3em 0 0.3em;
      }
      .gk_contents_txt{
        font-weight: 500;
        color: #fff;
        text-align: center;
        margin-top: 20px;
      }
      .coming_soon{
        margin-top: 50px;
        max-width: 60%;
        margin-left: auto;
        margin-right: auto;
        display: block;
      }
  }


  /* お問い合わせ部分 */
  .contact_box{
    margin-top: 260px;
  }
  .contact_txt{
    .shop_extxt{
      margin-top: 20px;
      font-size: 27px;
        a{
          text-decoration: underline;
        }
    }
  }
  .contact_txt02{
    margin-top: 130px;
  }
}

@media screen and (max-width: 767px) {

  .gk_contents {
    padding-top: 40px;
    /* margin-top: -30px; */
  }

  .gk_head_inner{
    margin-top: -66%;
    top: 0px;
    position: relative;
  }
}







/*//////////////////////////// popup ////////////////////////////*/
.popup {
  position: fixed;
  width: 100%;
  height: 100vh;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.8);
  padding: 15px;
  opacity: 0;
  pointer-events: none;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.8s ease;
  overflow-y: scroll;
}
.popup.on {
  opacity: 1;
  pointer-events: unset;
  z-index: 1001;
  transition: 0.8s ease;
}
.popup-wrap {
  position: relative;
  width: 100%;
  max-width: 800px;
  max-height: 100%;
}
.popup-wrap--big {
  max-width: 800px;
}
.popup-wrap__ct {
  position: relative;
}
.popup-wrap__ct--top {
  padding: 20px 0;
}
.popup-wrap__ct--top .popup-wrap__close {
  bottom: auto;
  top: -10px;
  right: 0;
}
.popup-wrap__close {
  position: absolute;
  bottom: 10px;
  right: 5px;
  opacity: 0.7;
  cursor: pointer;
  z-index: 2;
  transition: 0.2s ease;
}
.popup-wrap__close:hover {
  opacity: 1;
  transition: 0.2s ease;
}
.popup-wrap__close--top {
  bottom: auto;
  top: -35px;
}
.popup-wrap__list {
  max-height: 100%;
}
.popup-wrap__list-img {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 5px;
}
.popup-wrap__list-img:before {
  content: "";
  display: block;
  background: white;
  padding-bottom: 100%;
}
.popup-wrap__list-img--thumb {
  position: absolute;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.popup-wrap__list-img img {
  max-width: 100%;
  max-height: 100%;
}
.popup-wrap__list-ttl {
  display: block;
  color: #ccc;
  font-size: 1.5rem;
  padding: 0 5px;
}
.popup-wrap__list .custom_paging {
  color: #999;
  font-size: 1.2rem;
  list-style: none;
  padding: 0 5px;
}
.popup-wrap__list .custom_paging li {
  display: none;
}
.popup-wrap__list .custom_paging li.slick-active {
  display: inline-block;
}
.popup-wrap__list .slick-prev, .popup-wrap__list .slick-next {
  top: 0;
  transform: unset;
  width: 20%;
  height: calc(100% - 42px);
  z-index: 1;
}
.popup-wrap__list .slick-prev:before, .popup-wrap__list .slick-next:before {
  content: "";
  position: absolute;
  background: url("../img/icon-arrow.png") center no-repeat;
  background-size: contain;
  width: 28px;
  height: 45px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: 0.6s ease;
}
@media screen and (min-width: 768px) {
  .popup-wrap__list .slick-prev:before, .popup-wrap__list .slick-next:before {
    opacity: 0;
  }
}
.popup-wrap__list .slick-prev:hover:before, .popup-wrap__list .slick-next:hover:before {
  opacity: 1;
  transition: 0.6s ease;
}
.popup-wrap__list .slick-next {
  right: 0;
}
.popup-wrap__list .slick-next:before {
  right: 20px;
}
.popup-wrap__list .slick-prev {
  left: 0;
}
.popup-wrap__list .slick-prev:before {
  left: 20px;
  transform: translateY(-50%) scaleX(-1);
}


/*///////////////////// footer /////////////////////*/
.main-footer{
  padding: 30px 0 30px;
  margin-top: 4%;
}
.foot_logo{
  max-width: 44%;
  margin: 0 auto;
  margin-bottom: 3cqh;
  display: block;
}
.main-footer__desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  /*font-family: "Noto Sans JP", sans-serif;*/
}
.main-footer__copyright {
  max-width: 86%;
  margin: 0 auto 0;
  /* color: #ECE5D8; */
  /* font-size: 20px; */
}
/* .foot_btnwrap{
  position: fixed;
  bottom: 50px;
  right: 6%;
  display: none;
  cursor: pointer;
  width: 150px;
  z-index: 10;
} */



/*フロートボタン*/
.float_btn{
  position: fixed;
  display: block;
  width: 10vw;
  max-width: 75px;
  height: auto;
  right: calc(((100% - 750px) / 2) + 15px);
  bottom: 30px;
  z-index: 2;
    a{
      display: block;
      width: 100%;
      height: auto;
    }
}
.main-footer__cart {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.main-footer__cart img {
  max-width: 100%;
  width: 100%;
}
.main-footer__backtop {
  width: 100%;
  transition: 0.3s;
  margin: 6px auto 0;
}
.main-footer__backtop:hover {
  opacity: 0.7;
}

@media screen and (max-width: 750px) {
  .float_btn{
    right: 10px;
    width: 75px;
  }
}


@media screen and (min-width: 768px) {
  .foot_logo{
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {

}

