@charset "UTF-8";
/* Scss Document */
/* ブレイクポイント設定 */
/* SP用フォントサイズ */
html {
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch; }

body, html {
  width: 100%;
    height: 100%;
  padding: 0;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  background-color: #000;
  color: #fff;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  position: relative;
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
    -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch; 
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

a:hover {
  opacity: 0.7; }

@media (min-width: 768px) {
  .pc_only {
    display: block; } }
@media (max-width: 680px) {
  .pc_only {
    display: none; } }
@media (max-width: 480px) {
  .pc_only {
    display: none; } }

@media (min-width: 768px) {
  .sp_only {
    display: none; } }
@media (max-width: 680px) {
  .sp_only {
    display: block; } }
@media (max-width: 480px) {
  .sp_only {
    display: block; } }

@media (min-width: 768px) {
  p {
    font-size: 13px; } }
@media (max-width: 680px) {
  p {
    font-size: 13px;
    font-size: 4.0625vw; } }
@media (max-width: 480px) {
  p {
    font-size: 13px;
    font-size: 4.0625vw; } }
h3 {
    line-height: 1.7em;
}
h4 {
    line-height: 1.7em;
}

.notice {
  color: #fff;
  text-align: center;
  line-height: 2em;
  letter-spacing: 0.1em;
  margin-top: 0; }
  @media (min-width: 768px) {
    .notice {
      font-size: 17px; } }
  @media (max-width: 680px) {
    .notice {
      font-size: 13px; } }
  @media (max-width: 480px) {
    .notice {
      font-size: 3vw;
      font-weight: normal; } }

.notice_b {
  color: #fff;
  text-align: center;
  line-height: 2em;
  letter-spacing: 0.1em;
  margin-top: 0; }
  @media (min-width: 768px) {
    .notice_b {
      font-size: 17px; } }
  @media (max-width: 680px) {
    .notice_b {
      font-size: 15px; } }
  @media (max-width: 480px) {
    .notice_b {
      font-size: 4.8vw;
      font-weight: normal; } }

@media (min-width: 768px) {
  .ml2 {
    margin-left: 2em; } }
@media (max-width: 680px) {
  .ml2 {
    margin-left: 0; } }
@media (max-width: 480px) {
  .ml2 {
    margin-left: 0; } }

@media (min-width: 768px) {
  .ml20 {
    margin-left: 10px;
    margin-right: 10px;} }
@media (max-width: 680px) {
  .ml20 {
    margin-left: 0; } }
@media (max-width: 480px) {
  .ml20 {
    margin-left: 0; } }
@media (min-width: 768px) {
  .ml20 p{
    margin:0;
    padding:0;} }
@media (max-width: 680px) {
  .ml20 p{
    margin: 0 auto; } }
@media (max-width: 480px) {
  .ml20 p{
    margin: 0 auto; } }
@media (min-width: 768px) {
  .ml_20 {
    margin-left: 20px;} }
@media (max-width: 680px) {
  .ml_20 {
    margin-left: 0; } }
@media (max-width: 480px) {
  .ml_20 {
    margin-left: 0; } }
@media (min-width: 768px) {
  .ml7 {
    margin-left: 6.2em; } }
@media (max-width: 680px) {
  .ml7 {
    margin-left: 0; } }
@media (max-width: 480px) {
  .ml7 {
    margin-left: 0; } }

@media (min-width: 768px) {
  .mr2 {
    margin-right: 2em; } }
@media (max-width: 680px) {
  .mr2 {
    margin-right: 0; } }
@media (max-width: 480px) {
  .mr2 {
    margin-right: 0; } }

@media (min-width: 768px) {
  .mr3 {
    margin-right: 3em; } }
@media (max-width: 680px) {
  .mr3 {
    margin-right: 0; } }
@media (max-width: 480px) {
  .mr3 {
    margin-right: 0; } }
@media (min-width: 681px) {
  .mt20 {
    margin: 40px 0 0; } }
@media (max-width: 680px) {
  .mt20 {
    margin: 20px 0 0; } }
@media (max-width: 480px) {
  .mt20 {
    margin: 2vh 0 0; } }
@media (min-width: 768px) {
  .mx20 {
    margin: 20px 0; } }
@media (max-width: 680px) {
  .mx20 {
    margin: 20px 0; } }
@media (max-width: 480px) {
  .mx20 {
    margin: 2vh 0; } }

@media (min-width: 768px) {
  .mx50 {
    margin: 50px 0; } }
@media (max-width: 680px) {
  .mx50 {
    margin: 30px 0; } }
@media (max-width: 480px) {
  .mx50 {
    margin: 4vh 0; } }

@media (min-width: 768px) {
  .mx80 {
    margin: 80px 0; } }
@media (max-width: 680px) {
  .mx80 {
    margin: 50px 0; } }
@media (max-width: 480px) {
  .mx80 {
    margin: 5vh 0; } }

@media (min-width: 768px) {
  .mb20 {
    margin-bottom: 20px; } }
@media (max-width: 680px) {
  .mb20 {
    margin-bottom: 20px; } }
@media (max-width: 480px) {
  .mb20 {
    margin-bottom: 1vh; } }

@media (min-width: 768px) {
  .mb40 {
    margin-bottom: 40px 0; } }
@media (max-width: 680px) {
  .mb40 {
    margin-bottom: 40px 0; } }
@media (max-width: 480px) {
  .mb40 {
    margin-bottom: 40vh 0; } }

.top-wrapper {
  position: relative;
  width: 100%; }
  @media (min-width: 768px) {
    .top-wrapper {
      background-image: url("../img/top_bg.jpg");
      background-size: contain;
      background-position: center top;
      background-repeat: no-repeat;
      height: auto; } }
  @media (max-width: 680px) {
    .top-wrapper {
      background-image: url("../img/top_bg.jpg");
      background-size: cover;
      background-position: center top;
      background-repeat: no-repeat;
      height: auto;
      width: 100vw; } }
  @media (max-width: 480px) {
    .top-wrapper {
      background-image: url("../img/top_bg.jpg");
      background-size: cover;
      background-position: center top;
      background-repeat: no-repeat;
      height: auto;
      width: 100vw; } }

@media (min-width: 768px) {
  .main-wrapper {
    margin: 0;
    width: 100%;
    background-image: url("../img/bg.jpg");
    background-size: 100%;
    background-position: center top;
    background-repeat: repeat-y;
    } }
@media (max-width: 680px) {
  .main-wrapper {
    margin: 0 auto;
    width: 100%;
    padding: 0;
    background-image: url("../img/bg.jpg");
    background-size: auto 100vw;
    background-position: center top;
    background-repeat: repeat-y;
    } }
@media (max-width: 480px) {
  .main-wrapper {
    margin: 0 5vw 0 0;
    width: 90vw;
    padding: 0 10vw 0 0;
    background-image: url("../img/bg.jpg");
    background-size: auto 100vw;
    background-position: center top;
    background-repeat: repeat-y;
    } }

@media (min-width: 768px) {
  .marche-wrapper {
    margin: 40px auto 0;
    width: 94%;
    background-color: #fff;
    background-image: url("../img/marche_bg.jpg");
    background-size: 100%;
    background-position: center top;
    background-repeat: repeat-y; }
    .marche-wrapper img {
      width: 100%;
      max-width: 1729px;
      margin: 0 auto; } }
@media (max-width: 680px) {
  .marche-wrapper {
    margin: 2vh auto 0;
    width: 90vw;
    padding: 2vh 0 3vh 0;
    background-image: url("../img/marche_bg.jpg");
    background-size: auto 100vw;
    background-position: center top;
    background-repeat: repeat-y; }
    .marche-wrapper img {
      width: 100%;
      margin: 0; } }
@media (max-width: 480px) {
  .marche-wrapper {
    margin: 2vh auto 0;
    width: 80vw;
    padding: 2vh 10vw 3vh 0;
    background-image: url("../img/marche_bg.jpg");
    background-size: auto 100vw;
    background-position: center top;
    background-repeat: repeat-y; }
    .marche-wrapper img {
      width: 100%;
      margin: 0 0 0 5vw; } }

@media (min-width: 768px) {
  .main-container {
    width: 100%;
    max-width: 777px;
    margin: 0 auto;
    padding: 0; }
    .main-container h3 img {
      text-align: center;
      width: 100%; } }
@media (max-width: 680px) {
  .main-container {
    max-width: 777px;
    margin: 0 auto;
    padding: 0 5%; }
    .main-container h3 img {
      text-align: center;
      width: 100%; } }
@media (max-width: 480px) {
  .main-container {
    width: 100%;
    padding: 5%; }
    .main-container h3 {
      text-align: center;
      width: 100%; } }
.main-container h4 {
  font-weight: bold; }
  @media (min-width: 768px) {
    .main-container h4 {
      font-size: 21px; } }
  @media (max-width: 680px) {
    .main-container h4 {
      font-size: 18px;
      font-size: 5.625vw; } }
  @media (max-width: 480px) {
    .main-container h4 {
      font-size: 18px;
      font-size: 5.625vw; } }

.goods-container a{
    text-decoration: none;
    border: none;
}
.goods-container a:hover{
    opacity: 0.8;
}
@media (min-width: 768px) {
    .goods-container {
        width: 110%;
        margin: 0 -5%;
        max-width: 100vw;
        padding: 30px 0 10px;
        display: flex;
        align-items: flex-start;
        align-content: flex-start;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .goods-inner{
        width: 32%;
        text-align: center;
        font-size: 18px;
        line-height: 1.5em;
        margin-bottom: 50px;
    }
    .goods-inner img{
        width: 100%;
        max-width: 381px;
        height: auto;
    }
    .goods-inner span{
        font-size: 20px;
    }
    .goods-tax {
        font-size: 14px;
    }
    .goods-group {
        text-align: center;
        display: flex;
        align-items: flex-start;
        align-content: flex-start;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .goods-group img {
        width: 100%;
        margin: 0 1% 15px;
    }
    .goods-group-txt {
        border: 1px solid;
        padding: 0.1em;
        text-align: center;
        font-size: 22px;
        margin: 25px auto;
    }
    .goods-group-info {
         text-align: center;
        font-size: 21px;
        line-height: 1.4em;
    }
    .goods-notice {
        width: 100%;
        margin: -50px auto 40px;
        font-size: 0.9em;
        text-align: center;
    }
}
@media (max-width: 767px) {
    .goods-container {
        width: 100%;
        margin: 0 auto;
        max-width: 100vw;
        padding: 0;
        display: flex;
        align-items: flex-start;
        align-content: flex-start;
        align-self: flex-start;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .goods-inner{
        width: 45%;
        text-align: center;
        font-size: 1.9vw;
        line-height: 2.6em;
        margin: 2vh auto;
    }
    .goods-inner img{
        width: 100%;
        max-width: 381px;
        height: auto;
    }
    .goods-inner span{
        font-size: 0.9em;
    }
    .goods-tax {
        font-size: 0.7em;
    }
    .goods-group {
        width: 100%;
        display: block;
        text-align: center;
    }
    .goods-group img {
        width: 100%;
        max-width: 381px;
        
        margin: 0 auto 1vh;
    }
    .goods-group-txt {
        border: 1px solid;
        padding: 0.1em;
        text-align: center;
        font-size: 22px;
        margin: 25px auto;
    }
    .goods-group-info {
         text-align: center;
        font-size: 21px;
        line-height: 1.4em;
    }
    .goods-notice {
        width: 100%;
        margin: -2vh auto 2vh;
        font-size: 0.8em;
        text-align: center;
    }
}
#goods-inline1{
    padding: 1px;
    color: #fff;
    background: #000;
}
#goods-inline1 a{
    border: none;
    text-decoration: none;
}
#goods-inline1 a:hover{
    opacity: 1;
}
#goods-inline1 img{
    width: 100%;
    height: auto;
    margin: 0;
}
#goods-inline2{
    padding: 1px;
    background: #000;
}
#goods-inline2 a{
    border: none;
    text-decoration: none;
}
#goods-inline2 a:hover{
    opacity: 1;
}
#goods-inline2 img{
    width: 100%;
    height: auto;
    margin: 0;
}
@media (min-width: 768px) {
  .marche-container {
    width: 100%;
    max-width: 777px;
    margin: 0 auto -30px;
    padding: 0 0 80px; }
    .marche-container h3 img {
      text-align: center;
      width: 100%;
      padding: 0;
      margin: 0; }
    .marche-container h3 {
      color: #6a3906;
      border: 1px solid #6a3906;
      text-align: center;
      padding: 3px;
      font-size: 20px;
      margin-top: 50px; } }
@media (max-width: 680px) {
  .marche-container {
    max-width: 777px;
    margin: 0 auto;
    padding: 0 5%; }
    .marche-container h3 img {
      text-align: center;
      padding: 0;
      margin: 0; }
    .marche-container h3 {
      color: #6a3906;
      border: 1px solid #6a3906;
      text-align: center;
      padding: 3px;
      font-size: 20px;
      margin-top: 30px; } }
@media (max-width: 480px) {
  .marche-container {
    width: 100%;
    padding: 5%; }
    .marche-container h3 {
      text-align: center;
      padding: 0;
      margin: 0; }
    .marche-container h3 {
      color: #6a3906;
      border: 1px solid #6a3906;
      text-align: center;
      padding: 3px;
      font-size: 20px;
      font-size: 6.25vw;
      margin-top: 3vh; } }

.menu {
  background-color: transparent;
  text-align: right;
  padding: 20px 0;
  position: fixed;
  z-index: 10;
  top: 0;
  width: 100%; }
  .menu img {
    width: 15%;
    max-width: 261px;
    height: auto;
    right: 0; }
  .menu span img {
    width: 27%;
      margin-left:60%;
    height: auto;
    right: 15px; }
  .menu_img_pc {
    min-width: 135px; }

  @media (max-width: 680px) {
    .menu {
      padding: 1vh 0; } }
      .menu img {
        width: 10vw;
        height: auto;
        right: 0; } 
      .menu span img {
        width: 10vw;
          margin-left: 87vw;
        height: auto;
        right: 0; } 
  @media (max-width: 480px) {
    .menu {
      padding: 1vh 0; }
      .menu img {
        width: 10vw;
        height: auto;
        right: 0; } 
      .menu span img {
        width: 10vw;
          margin-left: 87vw;
        height: auto;
        right: 0; } 
}

.header {
  background-color: #000;
  margin: 0 auto;
  padding: 0;
  height: auto;
  max-height: 184px;
  vertical-align: middle;
  border-bottom: 1px solid #fff; }
  @media (min-width: 768px) {
    .header {
      background-image: url("../img/header_logo.jpg");
      background-position: left top;
      background-repeat: no-repeat;
      background-size: contain; } }
  @media (max-width: 680px) {
    .header {
      background-image: url("../img/header_logo_sp.jpg");
      background-position: left top;
      background-repeat: no-repeat;
      background-size: contain;
      height: 7vh;} }
  @media (max-width: 480px) {
    .header {
      background-image: url("../img/header_logo_sp.jpg");
      background-position: left top;
      background-repeat: no-repeat;
      background-size: contain;
      padding-bottom: 1vh;
      height: 7vh;} }
  .header-img {
    width: 30%;
    height: auto;
    margin: 0 35%;
    text-align: center;
    vertical-align: middle;
    max-width: 777px; }
    @media (max-width: 680px) {
      .header-img {
        width: 30vw;
        margin: 2vh 35vw 0;
        vertical-align: bottom; } }
    @media (max-width: 480px) {
      .header-img {
        width: 30vw;
        margin: 2vh 35vw 0;
        vertical-align: bottom; } }

.comingsoon {
  text-align: center; }
  .comingsoon img {
    width: 90%;
    max-width: 777px; }
  @media (min-width: 768px) {
    .comingsoon {
      padding-bottom: 30px; } }
  @media (max-width: 680px) {
    .comingsoon {
      padding-bottom: 0; } }
  @media (max-width: 480px) {
    .comingsoon {
      padding-bottom: 0;
      width: 100%;
      margin: 0 auto; } }

.popupModal1 {
  z-index: 100; }

.popupModal1 > input {
  /* ラジオボックス非表示 */
  display: none; }

.popupModal1 > input:nth-child(1) + label {
  cursor: pointer; }

.modalPopup2 {
  /* 初期設定 ポップアップ非表示 */
  display: none; }

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 {
  /* ラジオ１ チェックでポップアップ表示 */
  display: block;
  z-index: 998;
  position: fixed;
  width: 92%;
  height: 92%;
  border-radius: 20px;
  left: 50%;
  top: 50%;
  margin-top: 30px;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  padding: 10px 40px;
  overflow: hidden; }
  @media (min-width: 768px) {
    .popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 {
      left: 50% !important;
      top: 50% !important;
      width: 100%;
      max-width: 1185px;
      margin: 0 auto; } }

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div {
  /* */
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  display: inline-block;
  width: 100%;
  margin-left: -15%;
  height: 100%; }

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div > iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block; }

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div > img {
  /* ポップアップの中の要素 */
  max-width: 100%; }

.popupModal1 > input:nth-child(1) + label ~ label {
  display: none;
  /* ラジオ１ 以外のラベルを初期は非表示 */ }

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 997;
  text-indent: -999999px;
  overflow: hidden; }

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
  background: rgba(255, 255, 255, 0.5);
  display: none;
  position: fixed;
  left: 10px;
  top: 20px;
  z-index: 999;
  width: 44pt;
  height: 44pt;
  font-size: 40px;
  border-radius: 50%;
  line-height: 44pt;
  text-align: center;
  box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.2); }

.popupModal1 > input:nth-child(1) + label + input:nth-child(3):checked + label + input:nth-child(5) + label + .modalPopup2,
.popupModal1 > input:nth-child(1) + label + input:nth-child(3) + label + input:nth-child(5):checked + label + .modalPopup2 {
  /* ラジオ２と３ どっちかチェックでポップアップ非表示 */
  display: none; }

.modalPopup2 {
  animation: fadeIn 1s ease 0s 1 normal;
  -webkit-animation: fadeIn 1s ease 0s 1 normal;
  z-index: 101;
overflow-y: hidden;
-ms-overflow-style:none;}

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.popupModal1 .modalTitle {
  padding-bottom: .5em;
  margin: .5em 0;
  border-bottom: 1px solid #ccc;
  font-weight: bold; }

.popupModal1 .modalMain {
  color: #222;
  text-align: center;
  font-size: 14px;
  line-height: 1.8em;
  width: 105%;
  padding: 0;
  min-width: 200px;
    overflow-y: hidden;
-ms-overflow-style:none;}

.menu-container {
  width: 100%;
    height: 96%;
    margin: 0 4%;
  background-image: url("../img/pu_bg.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: auto;
  padding: 50px 0 20px;
    overflow-y: hidden;
-ms-overflow-style:none;}
  @media (min-width: 768px) {
    .menu-container {
      width: 90%;
      background-image: url("../img/pu_bg.jpg");
      background-position: center top;
      background-repeat: no-repeat;
      background-size: contain;
      pointer-events: auto;
      padding: 10px 0 20px;
        margin: 0 0 0 5%;
      overflow-y: hidden} }
  @media (max-width: 680px) {
    .menu-container {
      background-image: url("../img/pu_bg_sp.jpg");
      width: 85vw;
      margin-left: 2vw;
      padding: 2vh 2vw; } }
  @media (max-width: 480px) {
    .menu-container {
      font-size: 20px;
      font-size: 6.25vw;
      background-image: url("../img/pu_bg_sp.jpg");
      width: 90vw;
        height: 60vh;
      margin-left: 2vw;
      padding: 2vh 0 2vh; } }

.menu-btn {
  width: 100%;
  margin: 0 auto;
  text-align: center; }
  .menu-btn img {
    margin: 0 3px 10px;
width: 14%;}
    @media (max-width: 680px) {
      .menu-btn img {
        margin: 0 1vw 1vh;
        width: 40%;} }
    @media (max-width: 480px) {
      .menu-btn img {
        margin: 0;
        width: 39%;} }

.menu-inner {
  width: 70%;
  max-width: 270px;
  margin: 0 auto 5px; }
  @media (max-width: 680px) {
    .menu-inner {
      width: 40vw;
      margin: 0 auto;} }
  @media (max-width: 480px) {
    .menu-inner {
      width: 40vw;
      margin: 0 auto;} }
  .menu-inner img {
    width: 65px;
    margin: 0 5px; }
    @media (max-width: 680px) {
      .menu-inner img {
        width: 6vw;
        margin: 2vw 0;
        padding: 0; } }
    @media (max-width: 480px) {
      .menu-inner img {
        width: 8vw;
        padding: 0;
        margin: 1vh 0; } }


.menu-inner-logo {
  width: 150%;
  max-width: 430px;
    min-width: 200px;
  margin: 0 auto; }
  @media (max-width: 680px) {
    .menu-inner-logo {
      width: 40vw; } }
  @media (max-width: 480px) {
    .menu-inner-logo {
      width: 40vw; } }
  .menu-inner-logo img {
    margin: 0 auto; }
    @media (max-width: 680px) {
      .menu-inner-logo img {
        width: 18vw;
        margin: 0;
        padding: 0; } }
    @media (max-width: 480px) {
      .menu-inner-logo img {
        width: 32vw;
        padding: 0;
        margin: 0; } }
  .menu-inner-logo_logo {
    width: 100%;
    margin: 0 auto;
    border: 1px #fff; }
  .menu-title img {
    width: 30%;
    margin: 20px 5px; }
    @media (max-width: 680px) {
      .menu-title img {
        width: 30vw;
        margin: 1vh 0;
        padding: 0; } }
    @media (max-width: 480px) {
      .menu-title img {
        width: 32vw;
        padding: 0;
        margin: 1vh 0; } }
  .menu-title2 img {
    width: 30%;
    margin: 20px 5px 0; }
    @media (max-width: 680px) {
      .menu-title2 img {
        width: 30vw;
        margin: 1vh 0 0;
        padding: 0; } }
    @media (max-width: 480px) {
      .menu-title2 img {
        width: 32vw;
        padding: 0;
        margin: 2vh 0 0; } }
.news {
  width: 95%;
  background-image: url("../img/top_news_bg.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: auto;
  min-height: 4em;
  vertical-align: middle;
  text-align: center;
  color: #000;
  text-decoration: none;
  padding-top: 0.7em;
  margin-right: 5%;
margin-bottom: 40px;}
  @media (min-width: 768px) {
    .news {
      font-size: 20px; } }
  @media (max-width: 680px) {
    .news {
      font-size: 18px;
      font-size: 5.625vw;
      background-size: cover;
      min-height: 2em;
      padding: 0.5em;
      opacity: 0.9;} }
  @media (max-width: 480px) {
    .news {
      font-size: 18px;
      font-size: 5.625vw;
      background-size: cover;
      min-height: 2em;
      padding: 0.5em;
      opacity: 0.9;} }
  .news a {
    text-decoration: none; }

.sns {
  color: #fff;
  text-align: center;
  letter-spacing: 0.2em; }
  @media (min-width: 768px) {
    .sns {
      font-size: 17px; } }
  @media (max-width: 680px) {
    .sns {
      font-size: 17px;
      font-size: 5.3125vw; } }
  @media (max-width: 480px) {
    .sns {
      font-size: 17px;
      font-size: 5.3125vw; } }
  .sns img {
    width: 50px;
    margin: 0 5px; }

.lead {
  color: #fff;
  text-align: center;
  line-height: 1.7em;
  letter-spacing: 0.1em; }
  @media (min-width: 768px) {
    .lead {
      font-size: 19px; } }
  @media (max-width: 680px) {
    .lead {
      font-size: 17px;
      line-height: 1.8em; } }
  @media (max-width: 480px) {
    .lead {
      font-size: 16px;
      line-height: 1.6em; } }
  .lead span {
    font-weight: bold;
    line-height: 2.5em;
    letter-spacing: 0; }
    @media (min-width: 768px) {
      .lead span {
        font-size: 30px; } }
    @media (max-width: 680px) {
      .lead span {
        font-size: 19px;
        font-size: 5.1375vw; } }
    @media (max-width: 480px) {
      .lead span {
        font-size: 5vw;
        line-height: 1.6em;
        margin-bottom: 6vh; } }

.lead_top {
  color: #fff;
  text-align: center;
  line-height: 2em;
  letter-spacing: 0.1em; }
  @media (min-width: 681px) {
    .lead_top  {
      font-size: 22px; } }
  @media (max-width: 680px) {
    .lead_top  {
      font-size: 17px;
      line-height: 1.8em; } }
  @media (max-width: 480px) {
    .lead_top  {
      font-size: 16px;
      line-height: 1.6em; } }
  .lead_top  span {
    font-weight: bold;
    line-height: 2.5em;
    letter-spacing: 0; }
    @media (min-width: 768px) {
      .lead_top  span {
        font-size: 28px; } }
    @media (max-width: 680px) {
      .lead_top  span {
        font-size: 19px;
        font-size: 5.9375vw; } }
    @media (max-width: 480px) {
      .lead_top  span {
        font-size: 18px;
        font-size: 5.625vw;
        line-height: 1.6em;
        margin-bottom: 2vh; } }
  .lead_small {
    color: #fff;
    text-align: center;
    line-height: 2em;
    font-weight: lighter; }
    @media (min-width: 768px) {
      .lead_small {
        font-size: 16px; } }
    @media (max-width: 680px) {
      .lead_small {
        font-size: 15px; } }
    @media (max-width: 480px) {
      .lead_small {
        font-size: 15px; } }

.sublead {
  color: #fff;
  text-align: center;
  line-height: 2em;
  letter-spacing: 0.1em; }
  @media (min-width: 768px) {
    .sublead p{
      font-size: 18px;
      font-weight: lighter;} }
  @media (max-width: 680px) {
    .sublead p{
      font-size: 17px;
      line-height: 1.7em;
      font-weight: 100;} }
  @media (max-width: 480px) {
    .sublead p{
      font-size: 15px;
      line-height: 1.7em;
      font-weight: 100;} }
  .sublead span {
    font-weight: bold;
    line-height: 2.1em;
    letter-spacing: 0; }
    @media (min-width: 768px) {
      .sublead span {
        font-size: 1.3em; } }
    @media (max-width: 680px) {
      .sublead span {
        font-size: 1.1em; } }
    @media (max-width: 480px) {
      .sublead span {
        font-size: 1em;
        line-height: 1.6em;
        margin-bottom: 2vh; } }
.top_beigebg {
    background-color: #908077;
    width: 95%;
    margin-left: 2%;
    padding: 0.1em;
    text-align: center;
    color: #fff;
}
@media (max-width: 680px) {
    .top_beigebg {
    padding: 1.5em 0;
}
}
@media (max-width: 480px) {
    .top_beigebg {
    padding: 3vh 0;
        font-size: 2em;
}
}
.top_beigebg span{
    font-size: 0.7em;
}
.top_beigebg p{
    padding: 0;
    margin: 0;
}
.news-date {
  text-align: left;
  width: 100%;
  border-bottom: 1px solid #fff;
  margin-bottom: 1em; }
  @media (min-width: 768px) {
    .news-date {
      font-size: 15px; } }
  @media (max-width: 680px) {
    .news-date {
      font-size: 13px;
      font-size: 4.0625vw; } }
  @media (max-width: 480px) {
    .news-date {
      font-size: 13px;
      font-size: 4.0625vw; } }

.news-txt {
  text-align: left;
  line-height: 1.5em;
  letter-spacing: 0.1em; }
  @media (min-width: 681px) {
    .news-txt {
      font-size: 19px; } }
  @media (max-width: 680px) {
    .news-txt {
      font-size: 13px;
  line-height: 1.8em;} }
  @media (max-width: 480px) {
    .news-txt {
      font-size: 1.8vw;
        letter-spacing: 0;
  line-height: 5.4vw;} }
  .news-txt span {
    font-weight: bold;
line-height: 1.4em;}
    @media (min-width: 681px) {
      .news-txt span {
        font-size: 1.3em;
        line-height: 1.8em;} }
    @media (max-width: 680px) {
      .news-txt span {
        font-size: 1.1em;
        line-height: 1.7em;} }
    @media (max-width: 480px) {
      .news-txt span {
        font-size: 4.1vw;
        line-height: 7.1vw;} }
  .news-txt a {
    color: #fff; }

.marche-txt {
  color: #000;
  text-align: left;
  line-height: 1.3em;
  font-weight: normal; }
  @media (min-width: 768px) {
    .marche-txt {
      font-size: 19px; } }
  @media (max-width: 680px) {
    .marche-txt {
      font-size: 17px;
      font-size: 5.3125vw; } }
  @media (max-width: 480px) {
    .marche-txt {
      font-size: 17px;
      font-size: 5.3125vw;
      white-space: normal; } }
  .marche-txt a {
    color: #6a3906;
    text-decoration: none; }
    @media (max-width: 680px) {
      .marche-txt a {
        font-size: 17px;
        font-size: 5.3125vw; } }
    @media (max-width: 480px) {
      .marche-txt a {
        font-size: 17px;
        font-size: 5.3125vw; } }

.section-inner {
  width: 100%;
  display: flex;
  flex-wrap: nowrap; }
  @media (max-width: 680px) {
    .section-inner {
      flex-wrap: wrap; } }
  @media (max-width: 480px) {
    .section-inner {
      flex-wrap: wrap; } }
  .section-inner_two {
    width: 50%;
    padding: 0; }
    @media (max-width: 680px) {
      .section-inner_two {
        width: 100%; } }
    @media (max-width: 480px) {
      .section-inner_two {
        width: 100%; } }
    .section-inner_two img {
      width: 100%; }
    .section-inner_two_txt {
      width: 45%;
      padding: 0 20px;
      margin-top: -1em;
      line-height: 1.5em;
      letter-spacing: 0.1em;
      white-space: normal;
      vertical-align: top; }
      @media (min-width: 768px) {
        .section-inner_two_txt {
          font-size: 15px; } }
      @media (max-width: 680px) {
        .section-inner_two_txt {
          font-size: 15px;
          font-size: 4.6875vw;
          width: 100%;
          margin-top: 1vh; } }
      @media (max-width: 480px) {
        .section-inner_two_txt {
          font-size: 15px;
          font-size: 4.6875vw;
          width: 100%;
          margin-top: 1vh; } }
.section-inner_four {
    width: 25%;
    padding: 1%; }
    @media (max-width: 680px) {
      .section-inner_four {
        width: 48%; } }
    @media (max-width: 480px) {
      .section-inner_four {
        width: 48%; } }
    @media (min-width: 681px) {
    .section-inner_four img {
      width: 100%; } }
    .section-inner_four img {
      width: 100%; }
    @media (max-width: 680px) {
    .section-inner_four img {
      width: 98%; } }
.section-inner_three {
    width: 33%; }
.section-inner_three img{
    width: 90%;
margin: 0 5%;}

    .notice_l {
      margin-left: 10px;
padding-left: 20px;}
    @media (max-width: 680px) {
    .notice_l {
      margin: 0 auto;
        padding: 0;
        font-size: 0.8em;} }

.howto_title {
    width: 98%;
    border: 1px solid #fff;
    padding: 0.3em;
    margin: 0 2% 0 0;
    text-align: center;
    letter-spacing: 0.5em;
}
    @media (max-width: 680px) {
.howto_title {
    letter-spacing: 0.1em;
} }
    @media (max-width: 480px) {
.howto_title {
    letter-spacing: 0.1em;
    font-size: 5vw;
} }
.qrs .howto_title{
    letter-spacing: 0.1em;
    margin-top: 80px;
}
    @media (max-width: 480px) {
.qrs .howto_title{
    margin-top: 0;
} }

.specialqr_title {
    width: 100%;
    color: #000;
    background: #fff;
    padding: 0.3em;
    margin: 0 2% 0 0;
    text-align: center;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 1.1em;
    line-height: 1.6em;
    margin-bottom: 2em;
}
    @media (max-width: 680px) {
.specialqr {
    letter-spacing: 0.1em;
} }
    @media (max-width: 480px) {
.specialqr {
    letter-spacing: 0.1em;
    font-size: 5vw;
    margin-bottom: 3vh;
} }
.faq_txt {
  padding-left: 1em;
  text-indent: -1em;
    margin-bottom: 0;
    padding-bottom: 0;
}
.faq_txt_nlh {
  padding-left: 1em;
  text-indent: -1em;
    margin-bottom: 0;
    margin-top: 0;
    padding-bottom: 0;
    padding-bottom: 0;
}

.qrs .faq_txt
{line-height: 1.5em;
    text-align: left;
}
.qrs .faq_txt p{
    margin-bottom: 0;
    padding-bottom: 0;
}

.chara {
  width: 100%;
  text-align: center; }
  .chara img {
    width: 80%;
    max-width: 1285px; }
    @media (max-width: 680px) {
      .chara img {
        width: 100%;
        margin-left: 5vw; } }
    @media (max-width: 480px) {
      .chara img {
        width: 100%;
        margin-left: 5vw; } }
  @media (min-width: 768px) {
    .chara {
      margin: 0 auto;
      padding-top: 80px; } }
  @media (max-width: 680px) {
    .chara {
      margin: 0 auto;
      padding-top: 3vh; } }
  @media (max-width: 480px) {
    .chara {
      margin: 0 auto;
      padding-top: 3vh; } }

footer {
  width: 100%;
  background: #000;
  text-align: center; }

.footer-inner {
  color: #67696b;
  width: 100%;
  max-width: 777px;
  margin: 0 auto -30px;
  padding: 50px 0 40px;
  line-height: 1.7em; }
  @media (min-width: 768px) {
    .footer-inner {
      font-size: 17px; }
      .footer-inner img {
        text-align: center;
        width: 80%; } }
  @media (max-width: 680px) {
    .footer-inner {
      font-size: 17px;
      font-size: 5.3125vw; }
      .footer-inner img {
        text-align: center;
        width: 90vw;
        padding: 0 5vw; } }
  @media (max-width: 480px) {
    .footer-inner {
      font-size: 17px;
      font-size: 5.3125vw; }
      .footer-inner img {
        text-align: center;
        width: 90vw;
        padding: 0 5vw; } }
  .footer-inner a {
    text-decoration: none;
    color: #fff; }

.copy {
  color: #fff;
  text-align: center;
  line-height: 2em;
  letter-spacing: 0.1em;
  margin-top: 1em; }
  @media (min-width: 768px) {
    .copy {
      font-size: 12px; } }
  @media (max-width: 680px) {
    .copy {
      font-size: 10px;
      font-size: 3.1375vw; } }
  @media (max-width: 480px) {
    .copy {
      font-size: 10px;
      font-size: 3.1375vw;
      font-weight: normal; } }

.intro_anm {
  margin: auto;
  background-image: url(../img/intro_anm_bg_pc.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  position: relative;
  height: 120%;
  pointer-events: auto;
  z-index: 998; }

@media screen and (max-width: 768px) {
  .intro_anm {
    margin: auto;
    background-image: url(../img/intro_anm_bg.jpg);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    position: relative;
    height: 100%;
    padding-top: 0;
    pointer-events: auto;
    z-index: 998; } }
.intro_anm img {
  width: 100%;
  animation-name: intro_anm;
  -webkit-animation-name: intro_anm;
  animation-duration: 10s;
  -webkit-animation-duration: 10s;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: 1;
  opacity: 0; }

.intro_anm .img1pc {
  display: block;
  margin: 0;
  top: 0;
  left: 0;
  pointer-events: auto; }

.intro_anm .img1sp {
  display: none; }

.intro_anm .img2pc {
  display: block;
  position: absolute;
  animation-delay: 2s;
  top: 0;
  left: 0; }

.intro_anm .img2sp {
  display: none; }

.intro_anm .img3pc {
  display: block;
  position: absolute;
  animation-delay: 5s;
  top: 0;
  left: 0; }

.intro_anm .img3sp {
  display: none; }

.intro_anm .img4pc {
  display: block;
  position: absolute;
  animation-delay: 6s;
  top: 0;
  left: 0; }

.intro_anm .img4sp {
  display: none; }
@media screen and (max-width: 768px) {
  .intro_anm img {
    width: 100%;
  animation-name: intro_anm;
  -webkit-animation-name: intro_anm;
  animation-duration: 10s;
  -webkit-animation-duration: 10s;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: 1;
    overflow: hidden;
    z-index: 999;
    top: 0;
    left: 0; }

  .intro_anm .img1sp {
    display: block;
    margin: 0;
    pointer-events: auto; }

  .intro_anm .img1pc {
    display: none; }

  .intro_anm .img2sp {
    display: block;
    position: absolute;
    top: 0;
    left: 0%;
    animation-delay: 2s; }

  .intro_anm .img2pc {
    display: none; }

  .intro_anm .img3sp {
    display: block;
    position: absolute;
    top: 0;
    left: 0%;
    animation-delay: 5s; }

  .intro_anm .img3pc {
    display: none; }
  .intro_anm .img4sp {
    display: block;
    position: absolute;
    top: 0;
    left: 0%;
    animation-delay: 6s; }

  .intro_anm .img4pc {
    display: none; }}
@keyframes intro_anm {
	0% {
		opacity: 0;
	}
	
	7.5% {
		opacity: 1;
	}

	27.5% {
		opacity: 1;
	}
	30% {
		opacity: 0;
	}}
@-webkit-keyframes intro_anm {
  0% {
		opacity: 0;
	}
	
	7.5% {
		opacity: 1;
	}

	27.5% {
		opacity: 1;
	}
	30% {
		opacity: 0;
	}}
.intro_anm .img1 {
  display: block;
  margin: 0 auto; }

.intro_anm .img2 {
  animation-delay: 3s;
  -webkit-animation-delay: 3s;
  position: absolute;
  top: 0;
  left: 0; }

.intro_anm .img3 {
  animation-delay: 4s;
  -webkit-animation-delay: 4s;
  position: absolute;
  top: 0;
  left: 0; }

/* Overlay
------------------------------ */
.s-header-bg-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background: rgba(34, 35, 36, 0);
  visibility: hidden;
  -webkit-transition: all 1s ease-in 0.4s;
  transition: all 1s ease-in 0.4s; }

.s-header-bg-overlay.-is-open {
  background: rgba(34, 35, 36, 0.99);
  visibility: visible;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out; }

.inline_message {
    background-color: #000; padding: 1.5em 1em 1em;
}
@media (min-width: 681px) {
.inline_message {
    min-width: 400px;
    border: 5px solid #000;
} 
}
@media (max-width: 680px) {
.inline_message {
    background-color: #000; padding: 0 0 0 1em;
} 
}

/*----------------------------------
  Back To Top
------------------------------------*/
.s-back-to-top {
  position: fixed;
  right: -1.125rem;
  bottom: 2.125rem;
  display: block;
  width: 272px;
  height: 156px;
  z-index: 9;
  background-image: url(../img/buyticket.png);
  background-repeat: no-repeat;
    background-size: contain;
    background-color: transparent;
  text-align: center;
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
	pointer-events: auto;
}

@media (max-width: 61.9em) {
.s-back-to-top {
  position: fixed;
  right: -3.125rem;
  bottom: 2.025rem;
  display: block;
  width: 146px;
  height: 78px;
  z-index: 9;
  background-image: url(../img/buyticket.png);
  background-repeat: no-repeat;
    background-size: contain;
    background-color: transparent;
  text-align: center;
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
	pointer-events: auto;
}
}

.s-back-to-top:before {
  display: block;
  font-size: 0.75rem;
  font-style: normal;
  font-family: themify;
  color: #000;
  line-height: 3rem;
  content: " ";
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.s-back-to-top:hover {
  color: #000;
}

.s-back-to-top:hover:before {
  color: #13b1cd;
}

.s-back-to-top:focus, .s-back-to-top:hover {
  text-decoration: none;
}

/* The button becomes visible */
.s-back-to-top.-is-visible {
  bottom: 2.125rem;
  opacity: .8;
}

.s-back-to-top.-is-visible:hover {
  opacity: 1;
}

/* If the user keeps scrolling down, the button is out of focus and becomes less visible */
.s-back-to-top.-zoom-out {
  opacity: .6;
}

summary {
    border: 1px #fff;
  cursor: pointer;
    color: transparent;
    width: auto;
    max-width: 800px;
    text-align: center;
    outline: none;
}
summary img {
    width: 32%;
    margin: 0 auto;
}
@media (max-width: 680px) {
summary img {
    width: 40%;
    margin: 0 auto;
}
}
summary:hover {
    opacity: 0.7;
}
details {
    margin: 0 0 4em;
}
@media (max-width: 680px) {
details {
    width: 90vw;
    margin: 0 auto 2vh;
    padding: 0;
}
}
.dol_detail {
    margin: 0 0 4em 20%;
}
@media (max-width: 680px) {
.dol_detail {
    width: 90vw;
    margin: 0 auto;
    padding: 0;
    font-size: 0.96em;
}
}

.premium_ticket {
    width: 80%;
    margin: 0 10% 5px;
}
@media (max-width: 680px) {
.premium_ticket {
    width: 100%;
    margin: 0 0 1vh;
}
}

.scroll{
  overflow:hidden;
}
@media (max-width: 680px) {
.scroll{
  overflow-y: hidden;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
}
.scroll img {
    margin: 10px auto 40px;
}
@media (max-width: 680px) {
.scroll img {
    width: 826px;
    height: 392px;
    margin: 10px auto 10px;
}
}
.scroll::-webkit-scrollbar{
 height: 0px;
}
@media (max-width: 680px) {
.scroll::-webkit-scrollbar{
 height: 5px;
    margin-bottom: 5vh;
}
}
.scroll::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}
.nazo02 {
    width: 60%;
    text-align: right;
    margin: 0 auto;
    padding: 0;
    z-index: 2;
    background-image: url("../img/pages_special_answer.png");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
}
@media (max-width: 680px) {
.nazo02 {
    width: 85vw;
    text-align: right;
    margin: 5vh auto 0;
    padding: 0;
    z-index: 2;
}}
@media (max-width: 480px) {
.nazo02 {
    width: 85vw;
    text-align: right;
    margin: 5vh auto 0;
    padding: 0;
    z-index: 2;
}}
    
.nazo_txt02{
    height: 37px;
    width: 57%;
    margin-right:-22px;
    margin-bottom: -2px;
    border-radius: 0;
    border: 2px solid #000;
    padding: 0 1em;
    font-size: 1.2em;
}
@media (max-width: 680px) {
.nazo_txt02{
    height: 6vh;
    width: 45vw;
    margin-left: -2vw;
    margin-bottom: -40px;
}}
@media (max-width: 480px) {
.nazo_txt02{
    height: 5vh;
    width: 45vw;
    margin-left: -2vw;
    margin-bottom: -40px;
    border-right:2px solid #000;
}}

#nazo_btn2 {
    background-image: url("../img/pages_special_btn.jpg");
    background-color: transparent;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    width:121px;
    height:38px;
    padding: 0.5em 0;
    border: none;
    cursor:pointer;
    vertical-align:bottom;
    color:#004715;
    margin-left: 0;
    margin-top: -2px;
    font-weight: bold;
    font-size: 1.2em;
}
    
    #nazo_btn2:hover{
        opacity: 0.8;
    }

@media (max-width: 680px) {
#nazo_btn2 {
    background-image: url("../img/pages_special_btn.jpg");
    background-color: transparent;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    width:8.5vh;
    height:4.8vh;
    vertical-align: middle;
    border-left:2px solid #000;
    font-size: 1em;
    }
#nazo_btn2 :hover{
    opacity: 1;
    }
}
    
@media (max-width: 480px) {
#nazo_btn2 {
    margin-bottom: 3px;
    background-image: url("../img/pages_special_btn.jpg");
    background-color: transparent;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    color: transparent;
    width:7.5vh;
    height:5.2vh;
    vertical-align: middle;
    border-left:2px solid #000;
    font-size: 1em;
    }
#nazo_btn2 :hover{
    opacity: 1;
    }
}
 
/* アコーディオン */
.ac-container{
    width: 100%;
}
.ac-container label{
    cursor: pointer;
}
.ac-container label:hover{
    opacity: 0.9;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.ac-container label:after{
 color: #fff;
}
.ac-container input:checked ~ label::after {
 color: #fff;
}
.ac-container input{
   display: none;
}
.ac-container div{
   background: rgba(255, 255, 255, 0.1);
    text-align: center;
    margin-bottom: 20px;
   margin-top: -1px;
   overflow: hidden;
   height: 0px;
   position: relative;
   z-index: 10;
   transition: 
   height 0.3s ease-in-out, 
   box-shadow 0.6s linear;
}
.ac-container input:checked ~ div{
   transition: 
   height 0.5s ease-in-out, 
   box-shadow 0.1s linear;
   box-shadow: 0px 0px 0px 1px rgba(155,155,155,0.3);
}
.ac-container div p{
   padding: 20px;
}
/* 高さの定義 */
    .ac-container input:checked ~ div.ac-small{
       height: 110px;
    }
    .ac-container input:checked ~ div.ac-medium{
       height: 200px;
    }
    .ac-container input:checked ~ div.ac-large{
       height: 300px;
    }
@media (max-width: 680px) {
    .ac-container input:checked ~ div.ac-small{
       height: 25vh;
    }
    .ac-container input:checked ~ div.ac-medium{
       height: 25vh;
    }
    .ac-container input:checked ~ div.ac-large{
       height: 30vh;
    }  
}
.special_banner {
    width: 87%; margin: 10px auto 80px;
}
.special_banner:hover {
    opacity: 1;
}
.special_banner2 {
    width: 87%; margin: 10px auto 0;
}
@media (max-width: 680px) {
    .special_banner2 {
    width: 87%; margin: 1vh auto;
}
        .special_banner {
    width: 87%; margin: 1vh auto;
}
}
.special_banner2:hover {
    opacity: 1;
}
.special_a:hover {
    opacity: 1;
}
.special_banner_t {
    margin: 0 auto;
}
.special_banner_t:hover {
    opacity: 1;
}
.special_workshop{
    display: flex;
    align-content: flex-start;
    justify-content: flex-start;
    line-height: 1.5em;
}
    @media (max-width: 480px) {
.special_workshop {
    display: block;
} }

.workshop_title {
    width: auto;
    border: 1px solid #fff;
    padding: 0.3em;
    margin: 0 2% 0 0;
    text-align: center;
    letter-spacing: 0.5em;
}
    @media (max-width: 680px) {
.workshop_title {
    letter-spacing: 0.1em;
} }
    @media (max-width: 480px) {
.workshop_title {
    letter-spacing: 0.1em;
    font-size: 5vw;
} }
.workshop_prof {
    padding-left: 2em;
    line-height: 1.6em;
}
    @media (max-width: 680px) {
.workshop_prof {
    padding: 0 0 10vw;
} }
    @media (max-width: 480px) {
.workshop_prof {
    padding: 0 0 10vw;
    line-height: 1.6em;
    
} 
.workshop_prof p{
    line-height: 1.7em;
        }
}

.workshop_pb {
    padding-bottom: 40px;
}
 @media (max-width: 680px) {
.workshop_pb {
    padding-bottom: 10vw;
}
}

.workshop {
    width: auto;
    letter-spacing: 0.5em;
}
.workshop_img{
    width: auto;
}
    @media (max-width: 680px) {
        .workshop h4{
    font-size: 30px;
} 
            .workshop_img {
            width: 80%;
            padding: 5vw;
            text-align: center;
        }

        .workshop p {
            font-size: 0.96em;
            line-height: 1.8em;
        }
}
    @media (max-width: 480px) {
        .workshop h4{
        font-size: 5.2vw;
        } 
        .workshop h5{
        font-size: 4.8vw;
            line-height: 1.6em;
        } 
        .workshop p {
        font-size: 4.7vw;
        line-height: 1.8em;
        }
        .workshop_img {
            width: 90%;
            padding: 5vw;
            text-align: center;
        }
}



.marche_dealer {
    width: 100%;
    height: 50px;
    margin-top: 30px;
    position: relative;
    display: flex;
    align-content: flex-start;
    justify-content: center;
    flex-wrap: nowrap;
}
@media (max-width: 680px) {
    .marche_dealer {
    width: 70vw;
        margin: 3vh auto 0;
}
}
.marche_dealer_inner {
    position: relative;
    border-top:1px solid #6a3906;
    border-bottom:1px solid #6a3906;
    height:4px;
    padding: 1px 10px;
    min-width: 20%;
    flex-grow: 2;
}
@media (max-width: 680px) {
    .marche_dealer_inner {
    position: relative;
    border-top:1px solid #6a3906;
    border-bottom:1px solid #6a3906;
    height:4px;
    padding: 1px 10px;
    min-width: 15vw;
    flex-grow: 2;
}
}
.marche_dealer h4{
    margin-top: -10px;
    text-align: center;
    font-size: 17px;
    color: #6a3906;
    white-space: nowrap;
    padding: 0 10px;
}
.marche_dealer_list {
    margin-top: -20px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
}
.marche_dealer_list img{
    width: 48%;
    height: auto;
}
@media (max-width: 680px) {
.marche_dealer_list {
    margin: -1vh auto 2vh;
    width: 80vw;
}
.marche_dealer_list img{
    width: 48%;
    height: auto;
}   
}

.top_popup {
    overflow: hidden;
    text-align: center;
    min-height: 400px;
    min-width: 591px;
}
.top_popup img{
    width: 591px;
    height: auto;
    margin-top: 0;
}
@media (max-width: 480px) {
.top_popup {
    overflow: hidden;
    text-align: left;
    min-height: 25vh;
    width: 330px;
    padding: 2vh 0;
}
.top_popup img{
    width: 270px;
    height: auto;
    margin: 0;
} 
}
@media (min-width: 320px) and (max-width: 340px) and (orientation: portrait) {
.top_popup {
    overflow: hidden;
    text-align: left;
    min-height: 25vh;
    width: 330px;
    padding: 2vh 0;
}
.top_popup img{
    width: 220px;
    height: auto;
    margin: 0 0 0 0;
}   
}
@media (min-width: 413px) and (max-width: 680px) and (orientation: portrait) {
.top_popup {
    overflow: hidden;
    text-align: left;
    min-height: 25vh;
    width: 340px;
    padding: 2vh 0;
}
.top_popup img{
    width: 300px;
    height: auto;
    margin: 0 0 0 0;
}   
}