@charset "UTF-8";

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

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

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var,
optgroup {
  font-style: inherit;
  font-weight: inherit;
}

del,
ins {
  text-decoration: none;
}

li {
  list-style: none;
}

caption,
th {
  text-align: left;
}

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

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

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

sup,
sub {
  vertical-align: baseline;
}

legend {
  color: #000;
}

input,
button,
textarea,
select,
optgroup,
option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
}

input,
button,
textarea,
select {
  *font-size: 100%;
}

/* RESET HTML5 */
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

/* GENERAL */
body {
  color: #fff;
  font: 12px/1.4 "Lucida Grande", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
}

a {
  outline: none;
}

a:link,
a:visited {
  color: #dc0816;
  text-decoration: none;
}

a:hover {
  color: #dc0816;
  text-decoration: underline;
}

a img {
  vertical-align: bottom;
}

/* CLEARFIX */
.clearfix {
  zoom: 1;
}

.clearfix:after {
  content: ".";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  font-size: 0;
  line-height: 0;
}

header:after,
h2.ttl:after,
.hasigoDisp:after,
#slideArea:after,
h2.ttl:after,
.howDisp:after,
.ticketDisp:after {
  content: ".";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  font-size: 0;
  line-height: 0;
}

strong {
  font-weight: bold;
}

img {
  vertical-align: bottom;
}

* {
  box-sizing: content-box;
}

/* ------------------------------------------
COMMON
------------------------------------------ */
img {
  max-width: 100%;
}

.sttlA {
  border: 2px solid #dc0816;
  border-radius: 50px;
  padding: 6px 24px;
  font-weight: bold;
  color: #dc0816;
  margin-bottom: 10px;
  display: inline-block;
}

.pn{
  pointer-events: none;
}

.mb16{
  margin-bottom: 16px;
}
.mb24{
  margin-bottom: 24px;
}
.mb32{
  margin-bottom: 32px;
}
.mb40{
  margin-bottom: 40px;
}
.mb48{
  margin-bottom: 48px;
}

/* ------------------------------------------
LAYOUT
------------------------------------------ */
html {
  height: 100%;
}

body {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  width: 100%;
  height: 100%;

  color: #000;
  position: relative;
  font-size: 14px;
  line-height: 160%;
  background: #ef7f1b url('../images/bg.png') repeat;
  background-size: 200px;
}

a.under {
  text-decoration: underline;
}

#mapCanvas {
  clear: both;
  height: 360px;
}

#spHeader {
  display: none;
}

a.tel-link {
  text-decoration: underline;
  font-weight: bold;
}

.eventStr {
  text-align: center;
}

.eventStr img {
  max-width: 100%;
  margin-bottom: 10px;
}

#wrapper {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

section {
  border: 3px solid #dc0816;
  border: none;
  border-radius: 10px;
  border-radius: 16px;
  overflow: hidden;
  background-color: #fff;
  padding: 60px 40px;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

section#about {
  padding-top: 30px;
}

.navInfoList li {
  display: block;
  float: right;
  margin-left: 10px;
}

/* ------------------------------------------
header
------------------------------------------ */
header {
  background: #dc0816;
  padding-top: 15px;
  padding: 20px;
}

h1#logo {
  float: left;
}

nav {
  float: right;
}

nav .navList {
  text-align: right;
}

nav .navList li {
  display: inline-block;
  margin-left: 20px;
}

nav .navList li a {
  color: #fff;
  font-weight: bold;
}

nav .navList li img {
  height: 20px;
}

#main {
  margin-bottom: 30px;
  padding-top: 12px;
  padding-top: 30px;
  position: relative;
}

#main img {
  max-width: 100%;
}

#snsArea {
  position: absolute;
  right: 20px;
  top: 20px;
}

#topSlider {
  border: 3px solid #dc0816;
  border-radius: 10px;
  overflow: hidden;
}

#sb_instagram #sbi_images{
  display: block;
  padding: 0;
}

#slideArea .left {
  /*
    	float: left;
    	width: 70%;
    */
  padding-right: 320px;
}

#slideArea .right {
  float: right;
  width: 300px;
}

.bx-viewport {
  height: auto !important;
}

.personEachList .dispArea {
  display: none;
}

.personEachList li .img a {
  display: block;
  position: relative;
  overflow: hidden;
}

.personEachList li .img a:before {
  content: "";
  display: block;
  padding-top: 61.4%;
}

.personEachList li .img a img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

#topSlider {
  margin-bottom: 10px;
}

#topSlider .bx-wrapper {
  margin-bottom: 0;
}

#sb_instagram {
  height: auto !important;
}

.bx-viewport {
  height: auto !important;
}

.sbi_item {
  width: 220px !important;
  height: 220px !important;
}

@media only screen and (max-width: 720px) {
  #sb_instagram {
    height: 160px !important;
  }

  .bx-viewport {
    height: 160px !important;
  }

  .sbi_item {
    width: 160px !important;
    height: 160px !important;
  }
}

#ticker {
  color: #dc0816;
  margin-bottom: 36px;
  font-weight: bold;
  overflow: hidden;
  background: #fff;
  padding: 3px 0;
}

h2.ttl {
  text-align: center;
  position: relative;
  margin-bottom: 30px;
}

.present {
  text-align: center;
}

.present img {
  max-width: 100%;
}

/* ------------------------------------------
about-ticket
------------------------------------------ */
.about-ticket {
  /*メリット*/
  /*参加者の声*/
}

.about-ticket .row {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
}

.about-ticket .lead {
  margin-bottom: 4%;
}

.about-ticket .lead dt {
  padding-right: 20px;
  margin-bottom: 2%;
}

.about-ticket .lead dt span {
  background: #dc0816;
  display: inline-block;
  margin-bottom: 8px;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  padding: 5px;
  font-feature-settings: "palt";
}

.about-ticket .lead dd {
  font-size: 15px;
  line-height: 1.6;
}

.about-ticket h3 {
  margin-bottom: 2%;
}

.about-ticket h3 img {
  height: 30px;
  width: auto;
}

.about-ticket .dtl-sec {
  padding-bottom: 24px;
  max-width: 100%;
  flex: 1 0 0%;
}

.about-ticket .dtl-sec img {
  max-width: 100%;
  height: auto;
}

.about-ticket .dtl-sec dt {
  margin-bottom: 2%;
}

.about-ticket .dtl-sec01 {
  margin-right: 24px;
  max-width: 27%;
}

.about-ticket .dtl-sec01 .kaisaichi {
  font-size: 17px;
  font-weight: bold;
}

.about-ticket .dtl-sec02 {
  max-width: 70%;
}

.about-ticket .dtl-sec02 .ttl {
  font-weight: bold;
  font-size: 14px;
  margin-bottom: 8px;
}

.about-ticket .dtl-sec02 .ttl span {
  background: #fff100;
  font-weight: bold;
  display: inline-block;
  padding: 0 4px;
  margin-right: 8px;
}

.about-ticket .dtl-sec02 .cnt {
  display: flex;
}

.about-ticket .dtl-sec02 .price {
  font-weight: bold;
  color: #dc0816;
  font-size: 17px;
  flex-shrink: 0;
  margin-right: 10px;
}

.about-ticket .dtl-sec02 .seller {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.about-ticket .dtl-sec02 .seller li {
  width: 56%;
  text-align: left;
  font-weight: bold;
  font-size: 13px;
  margin-bottom: 5px;
  white-space: nowrap;
}

.about-ticket .dtl-sec02 .seller li a {
  color: #000;
  text-decoration: underline;
}

.about-ticket .dtl-sec02 .seller li a:hover {
  text-decoration: none;
}

.about-ticket .dtl-sec02 .seller li::before {
  content: "○";
}

.about-ticket .dtl-sec02 .seller li:nth-of-type(odd) {
  width: 42%;
}

.about-ticket .dtl-sec02 .seller li.p100 {
  width: 100%;
}

.about-ticket .dtl-sec02 ul {
  display: flex;
}

.about-ticket .dtl-sec02 > li {
  width: 49%;
}

.about-ticket .dtl-sec02 > li:last-child {
  border-left: 1px dotted #000;
  margin-left: 20px;
  padding-left: 20px;
}

.about-ticket .ttl-subtxt {
  font-size: 12px;
  padding-left: 12px;
}

.about-ticket .flow-sec {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.about-ticket .flow-sec li {
  display: flex;
  justify-content: space-between;
  width: calc(50% - 30px);
  margin-bottom: 50px;
  position: relative;
}

.about-ticket .flow-sec li::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 14px;
  border-color: transparent transparent transparent #dc0816;
  position: absolute;
  right: -30px;
  top: calc(50% - 12px);
}

.about-ticket .flow-sec li:nth-of-type(even)::after {
  display: none;
}

.about-ticket .flow-sec li:last-of-type::after {
  display: none;
}

.about-ticket .flow-sec li:nth-of-type(2) .cnt {
  width: 100%;
}

.about-ticket .flow-sec li .img {
  flex-shrink: 0;
  width: 180px;
  text-align: center;
}

.about-ticket .flow-sec li .cnt {
  width: calc(100% - 200px);
}
.about-ticket .flow-sec li .cnt.w100 {
  width: 100%;
}

.about-ticket .flow-sec li .cnt .ttl {
  font-weight: bold;
  font-size: 17px;
  color: #dc0816;
  margin-bottom: 8px;
}

@media only screen and (max-width: 1000px) {
  .about-ticket .dtl-sec01 {
    margin-right: 0;
    max-width: 100%;
    width: 100%;
    margin-bottom: 20px;
  }

  .about-ticket .dtl-sec02 {
    max-width: 100%;
    width: 100%;
    flex: none;
  }

  .about-ticket .flow-sec li .img {
    width: 30%;
  }

  .about-ticket .flow-sec li .cnt {
    width: 66%;
  }
}

@media only screen and (max-width: 719px) {
  .about-ticket .flow-sec {
    width: 100%;
  }

  .about-ticket .flow-sec li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 50px;
  }

  .about-ticket .flow-sec li::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 14px 12px 0 12px;
    border-color: #dc0816 transparent transparent transparent;
    position: absolute;
    top: auto;
    right: auto;
    bottom: -30px;
    left: calc(50% - 12px);
    display: block !important;
  }

  .about-ticket .flow-sec li:last-of-type:after {
    display: none !important;
  }

  .about-ticket .flow-sec li:nth-of-type(2) .cnt {
    width: 100%;
  }

  .about-ticket .dtl-sec02 .cnt {
    display: block;
  }

  .about-ticket .dtl-sec02 .cnt .price {
    margin-bottom: 8px;
  }
}

.about-ticket .merit-txt {
  text-align: center;
  margin: 30px 0 30px;
}

.about-ticket .merit-txt span {
  background: linear-gradient(to bottom, #fff050 0%, #fff050 100%);
  display: inline-block;
  padding: 5px;
  font-size: 24px;
  font-weight: bold;
}

.about-ticket .merit-dtl {
  font-weight: bold;
  padding-bottom: 20px;
}

.about-ticket .merit-dtl li {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 2px dotted #b6cbce;
}

.about-ticket .merit-dtl li:last-child {
  border: none;
  margin-bottom: 0;
}

.about-ticket .merit-dtl dl {
  display: flex;
}

.about-ticket .merit-dtl dt {
  color: #dc0816;
  font-size: 20px;
  flex-basis: 350px;
}

.about-ticket .voice-dtl {
  display: flex;
  justify-content: space-around;
}

.map_print {
  margin-top: 8px;
  display: block;
}

.icn-arrow {
  padding-left: 12px;
  background: url(../images/icn_arrow01.png) 0 center no-repeat;
  background-size: 6px 8px;
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
}

@media only screen and (max-width: 719px) {
  .about-ticket {
    /*メリット*/
    /*参加者の声*/
  }

  .about-ticket .row {
    display: block;
  }

  .about-ticket .lead {
    display: block;
    margin-bottom: 6%;
  }

  .about-ticket .lead dt {
    padding: 0 0 4%;
  }

  .about-ticket .lead dt span {
    margin-bottom: 8px;
    font-size: 4.2vw;
    font-weight: bold;
    color: #fff;
    padding: 6px;
    font-feature-settings: "palt";
  }

  .about-ticket h3 {
    margin-bottom: 2%;
  }

  .about-ticket .dtl-sec {
    display: block;
    margin-bottom: 4%;
  }

  .about-ticket .dtl-sec01 {
    margin-right: 0;
    max-width: 100%;
  }

  .about-ticket .dtl-sec01 img {
    width: 70%;
  }

  .about-ticket .dtl-sec02 {
    max-width: 100%;
  }

  .about-ticket .dtl-sec02 ul {
    display: block;
  }

  .about-ticket .dtl-sec02 ul > li {
    width: 100%;
  }

  .about-ticket .dtl-sec02 dd > ul > li:last-child {
    border-left: none;
    border-top: 1px dotted #ccc;
    margin-top: 15px;
    padding-top: 15px;
    margin-left: 0;
    padding-left: 0;
  }

  .about-ticket .dtl-sec02 img {
    width: 80%;
  }

  .about-ticket .ttl-subtxt {
    display: block;
    margin-bottom: 20px;
    padding-left: 5px;
  }

  .about-ticket .flow-sec {
    display: block;
  }

  .about-ticket .merit-txt span {
    font-size: 18px;
  }

  .about-ticket .merit-dtl {
    padding-bottom: 20px;
  }

  .about-ticket .merit-dtl dl {
    display: block;
  }

  .about-ticket .merit-dtl dt {
    margin-bottom: 8px;
    font-size: 18px;
  }

  .about-ticket .voice-dtl {
    display: block;
  }

  .about-ticket .voice-dtl dt {
    margin-bottom: 20px;
  }
}

/* ------------------------------------------
hirunomi
------------------------------------------ */
.hirunomi {
  background: #f6d2d2;
}

.hirunomi h2 {
  font-weight: bold;
  font-size: 24px;
  background: #dc0816;
  max-width: 480px;
  height: 48px;
  margin: 0 auto 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  border-radius: 24px;
  margin-top: -15px;
  font-feature-settings: "palt";
}

.hirunomi .date {
  color: #dc0816;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 8px;
}

.hirunomi .time {
  text-align: center;
  color: #dc0816;
  font-weight: bold;
  font-size: 17px;
  margin-bottom: 24px;
}

.hirunomi .txt {
  text-align: center;
}

.hirunomi h3 {
  font-weight: bold;
  font-size: 20px;
  border: 2px solid #dc0816;
  background: #fff;
  max-width: 380px;
  height: 40px;
  margin: 40px auto 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #dc0816;
  border-radius: 20px;
  font-feature-settings: "palt";
  box-sizing: border-box;
}

.hirunomi_bus {
  text-align: center;
}

.hirunomi_bus p b {
  font-size: 18px;
  font-weight: bold;
  margin-top: 8px;
  display: block;
  text-align: center;
}

.bus_table {
  margin-top: 20px;
}

.hirunomi_bus img {
  width: 680px;
  height: auto;
}

@media only screen and (max-width: 719px) {
  .hirunomi h2 {
    font-weight: bold;
    font-size: 20px;
    background: #dc0816;
    max-width: 480px;
    height: 40px;
    margin: 0 auto 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    border-radius: 20px;
    margin-top: -10px;
  }

  .hirunomi .date {
    color: #dc0816;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 8px;
  }

  .hirunomi .time {
    font-size: 16px;
    margin-bottom: 16px;
  }

  .hirunomi .txt {
    text-align: left;
  }

  .hirunomi h3 {
    font-weight: bold;
    font-size: 17px;
    border: 2px solid #dc0816;
    background: #fff;
    max-width: 280px;
    height: 32px;
    margin: 24px auto 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #dc0816;
    border-radius: 16px;
    font-feature-settings: "palt";
    box-sizing: border-box;
  }

  .hirunomi .txt2 {
    text-align: left;
  }
}

/* ------------------------------------------
ticket
------------------------------------------ */
#ticket h2 {
  font-weight: bold;
  font-size: 24px;
  color: #dc0816;
  margin-bottom: 48px;
}

.ticketDisp .left {
  width: 100%;
}

.ticketList > li {
  clear: both;
  margin-bottom: 15px;
}

.ticketList > li strong {
  display: block;
  margin: 8px 0 -5px;
}

.ticketList > li .ticket-date {
  font-weight: bold;
}

.ticketList > li .saller-list {
  margin-bottom: 16px;
}

.ticketList > li .saller-list:first-of-type {
  margin-bottom: 40px;
}

.saller-list a:hover{
  text-decoration: none;
}

.ticketList > li > div.ttl {
  float: left;
  color: #dc0816;
  font-weight: bold;
}

.ticketList > li > div.ttl-price {
  float: left;
  color: #dc0816;
  font-weight: bold;
}

.ticketList > li > div.disp {
  padding-left: 100px;
}

.ticketList > li .sub {
  font-size: 12px;
  color: #775749;
}

.ticketList > li > div.ttl2 {
  float: left;
  font-weight: bold;
}

.ticketList > li > div.disp2 {
  padding-left: 100px;
}

.ticketList > li > .red {
  color: #dc0816;
}

@media only screen and (max-width: 719px) {
  #ticket h2 {
    margin-bottom: 24px;
  }

  .ticketList > li > div.ttl {
    float: none;
    margin-bottom: 10px;
  }

  .ticketList > li > div.disp {
    padding-left: 0;
  }
}

/* ------------------------------------------
shop
------------------------------------------ */
section#shop {
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
  z-index: 100;
}

section#shop h2 {
  font-weight: bold;
  font-size: 24px;
  color: #dc0816;
  margin-bottom: 24px;
}

.pastyear{
  text-align: center;
  color: #dc0816;
  margin-bottom: 32px;
  font-size: 16px;
  margin-top: -8px;
}

h2.ttl .attention {
  position: absolute;
  right: 20px;
  top: 0;
  color: #dc0816;
}

section#shop .soon {
  text-align: center;
  margin-bottom: 40px;
}

.shopList {
  font-size: 0;
}

.shopList > li {
  display: inline-block;
  font-size: 14px;
  width: 22%;
  margin-left: 2%;
  overflow: hidden;
  vertical-align: top;
  text-align: left;
  line-height: 140%;
  margin-bottom: 30px;
  position: relative;
}

.shopList > li:nth-of-type(4n) {
  margin-right: 0;
}

.menuList {
  text-align: center;
  padding: 2px 8px;
  font-weight: bold;
  border: 1px solid #ee9384;
  line-height: 140%;
  background-color: #f8cfc5;
}

.menuList li {
  width: 100%;
  font-size: 12px;
  margin-bottom: 0;
}

.menuList li .mini {
  font-size: 10px;
  opacity: 0.7;
}

.menu {
  /*
  	background-color: #dc0816;
  	background-color: #EE9384;
  	color: #fff;
  */
  text-align: center;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: bold;
  border: 1px solid #ee9384;
  line-height: 140%;
}

.menu .mini {
  font-size: 10px;
  opacity: 0.7;
}

.menu2 {
  margin-top: 10px;
}

.shopList.eventList {
  margin-left: 20px;
  margin-right: 20px;
}

.shopList.eventList li {
  width: 30%;
  margin-left: 1.5%;
  margin-right: 1.5%;
}

.shopList li {
  position: relative;
}

.shopList li .img {
  margin-bottom: 7px;
  /* 	height: 146px; */
  position: relative;
}

.shopList li .img:before {
  content: "";
  display: block;
  padding-top: 66%;
}

.shopList li .img img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.icon {
  background-color: #dc0816;
  padding: 2px 8px;
  color: #fff;
  font-weight: bold;
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
}

.shopList li a {
  display: block;
  -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  -moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  -ms-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.shopList li a:hover {
  text-decoration: none;
  opacity: 0.6;
}

.shopList li .ttl {
  color: #dc0816;
  font-weight: bold;
  margin-bottom: 3px;
}

.shopList li .disp {
  font-size: 13px;
}

.shopList li .img img {
  width: 100%;
  /* 	max-width: 100%; */
}

.mapPdf {
  float: right;
  margin-top: 5px;
}

/*
.popup{
	position: fixed;
	left: 0;
	top: 0;
	background-color: #fff;
	z-index: 3;
	width: 100%;
}
*/
.popup {
  display: none;
}

.popupBox {
  padding: 20px 30px;
}

.popupBox > .left {
  float: left;
  width: 45%;
}

.popupBox > .right {
  float: right;
  width: 50%;
}

.popupBox .img {
  margin-bottom: 20px;
  position: relative;
  max-width: 410px;
}

.popupBox .img img {
  max-width: 100%;
}

.infoList {
  font-size: 12px;
  margin-bottom: 20px;
}

.infoList .ttl2 {
  float: left;
  font-weight: bold;
}

.shopName {
  font-weight: bold;
  color: #dc0816;
  font-size: 16px;
  margin-bottom: 10px;
}

.infoList .disp2 {
  padding-left: 80px;
}

.menuDetailList {
  border: 1px solid #ee9384;
  line-height: 140%;
  background-color: #f8cfc5;
  padding: 20px;
}

.menuDetailList li {
  margin-bottom: 10px;
}

.menuDetailList li .ttl2 {
  font-weight: bold;
}

.mymap{
  width: 100%;
  height: 680px;
  padding: 16px;
  box-sizing: border-box;
}
.mymap iframe{
  width: 100%;
  height: 100%;
  border: none;
}

@media only screen and (max-width: 719px) {
  .mymap{
    height: 350px;
    padding: 8px;
  }
}
/* ------------------------------------------
event
------------------------------------------ */
section#event {
  padding-left: 0px;
  padding-right: 0px;
  padding-bottom: 0;
}

section#event .img img {
  width: 100%;
  height: auto;
}

/* ------------------------------------------
bingo
------------------------------------------ */
section#bingo {
  position: relative;
  z-index: 100;
}

section#bingo h2 {
  font-weight: bold;
  font-size: 24px;
  color: #dc0816;
  margin-bottom: 24px;
}
section#bingo .lead {
  text-align: center;
  margin-bottom: 48px;
}

section#bingo .recruit .ttl {
  text-align: center;
  font-size: 18px;
  margin-bottom: 24px;
}
section#bingo .recruit .copy {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 24px;
}
section#bingo .recruit dl {
  padding: 0 40px;
}
section#bingo .recruit dl dt {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 8px;
  color: #dc0816;
}
section#bingo .recruit dl dd {
  margin-bottom: 24px;
}
section#bingo .recruit .entry_btn {
  display: flex;
  justify-content: center;
  margin-top: 48px;
  margin-bottom: 32px;
}
section#bingo .recruit .entry_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 280px;
  height: 48px;
  border: 2px solid #dc0816;
  background: #dc0816;
  color: #fff;
  border-radius: 24px;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 16px;
  transition: all 0.3s ease;
}
section#bingo .recruit .entry_btn a:hover {
  background: #fff;
  color: #dc0816;
  text-decoration: none;
}

/* ------------------------------------------
member
------------------------------------------ */

.wrap_footer {
  margin-top: -160px;
  background: #dc0816;
  padding: 180px 40px 10px;
}

.gakkai {
  max-width: 1024px;
  margin: 0 auto 30px;
}

.gakkai p {
  margin-bottom: 8px;
  color: #fff;
  font-weight: bold;
}

.gakkai p b::after {
  content: " → ";
}

.gakkai p a {
  color: #fff;
  text-decoration: underline;
}

.memberList {
  max-width: 1024px;
  margin: 0 auto 20px;
}

.memberList li {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 8px;
}

.memberList li .ttl {
  color: #fff;
  display: inline-block;
  font-weight: bold;
}

.memberList li .disp {
  display: inline-block;
  color: #fff;
}

.memberList a {
  color: #fff;
  text-decoration: underline;
}

.onlyPc {
  display: block;
}

.onlySp {
  display: none;
}

.copyrightArea {
  text-align: center;
  padding: 40px 0 20px 0;
  font-size: 12px;
  color: #fff;
}

@media only screen and (max-width: 719px) {
  .memberList {
    padding: 0;
  }

  .gakkai p span {
    display: block;
    margin-bottom: 8px;
  }

  .gakkai p a {
    display: inline-block;
  }

  .gakkai p b::after {
    display: none;
  }
}

/* ------------------------------------------
contact
------------------------------------------ */
section#contact {
  text-align: center;
}

.red {
  color: #dc0816;
  margin-bottom: 5px;
}

.onlyPc {
  display: block;
}

.onlySp {
  display: none;
}

#pagetop {
  display: none;
  width: 51px;
  height: 51px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1000;
}

#pagetop a {
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/ico_pagetop.png);
  background-repeat: no-repeat;
  background-position: 50% 45%;
  text-indent: -9999px;
  background-size: 20px 11px;
  border-radius: 51px;
  background-color: #dc0816;
}

#spHeader {
  display: none;
}

/* ipad landscape
***************************************************************************/
/* ipad
***************************************************************************/
@media only screen and (max-width: 800px) {
  #pagetop a {
    background-image: url(../images/ico_pagetop@2x.png);
  }

  .howDisp .left {
    width: 60%;
  }

  .howDisp .right {
    width: 37%;
  }

  section {
    padding-left: 30px;
    padding-right: 30px;
  }

  .ticketDisp .left {
    width: 60%;
  }

  .ticketDisp .right {
    width: 37%;
  }

  .ticketDisp .right img {
    max-width: 100%;
  }
}

/* ------------------------------------------
smartphone
------------------------------------------ */
@media only screen and (max-width: 719px) {
  header {
    padding-top: 10px;
    padding-bottom: 5px;
  }

  body {
    font-size: 13px;
  }

  h1#logo {
    float: none;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    margin-bottom: 10px;
    padding-top: 0;
  }

  h1#logo img {
    max-width: 100%;
  }

  nav {
    float: none;
    display: none;
  }

  nav .navList {
    text-align: center;
  }

  nav .navList li {
    margin-left: 8px;
    margin-right: 8px;
  }

  #snsArea {
    display: none;
  }

  #slideArea .right {
    display: none;
  }

  #slideArea .left {
    padding: 0;
  }

  h2.ttl .left,
  h2.ttl .right {
    display: none;
  }

  h2.ttl .center {
    position: relative;
    top: 0;
    margin-top: 0px;
  }

  h2.ttl .center img {
    max-width: 100%;
    /* 	margin-bottom: 20px; */
  }

  #wrapper {
    padding-left: 16px;
    padding-right: 16px;
  }

  section {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 30px;
  }

  #about h2.ttl {
    margin-bottom: 20px;
  }

  .hasigoMenu img {
    max-width: 100%;
  }

  .hasigoDisp .left {
    float: none;
    width: 100%;
    margin-bottom: 20px;
  }

  .hasigoDisp .right {
    float: none;
    width: 100%;
    margin-left: 0;
  }

  .hasigoDisp .left img,
  .hasigoDisp .right img {
    width: 100%;
  }

  h3.ttl img {
    max-width: 100%;
  }

  .howDisp .left,
  .howDisp .right {
    float: none;
    width: 100%;
    margin-right: 0;
  }

  .howDisp img {
    max-width: 100%;
  }

  .howDisp .right {
    text-align: center;
    margin-bottom: 20px;
  }

  .present img {
    max-width: 100%;
  }

  .ticketDisp .left {
    float: none;
    width: 100%;
    margin-right: 0;
  }

  .ticketDisp .right {
    float: none;
    width: 100%;
    margin-right: 0;
    text-align: center;
  }

  .ticketList li > div.ttl2 {
    float: none;
  }

  .ticketList li > div.disp2 {
    padding-left: 0;
  }

  .ticketDisp .right img {
    max-width: 100%;
  }

  h2.ttl .attention {
    display: none;
  }

  .shopList {
    padding-left: 20px;
    padding-right: 20px;
    /*
    	padding-left: 0px;
    	padding-right: 0px;
    */
  }

  .shopList li {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    /*
      	width: 48%;
      	margin-left: 1%;
      	margin-right: 1%;	
      */
  }

  .shopList li .img {
    text-align: center;
  }

  .shopList li .img img {
    width: 100%;
  }

  .shopList.eventList li {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    float: none;
  }

  .memberList li {
    margin-bottom: 10px;
  }

  .onlyPc {
    display: none;
  }

  .onlySp {
    display: block;
  }

  .concept {
    text-align: left;
    font-size: 12px;
  }

  .btn img {
    max-width: 100%;
  }

  #spHeader {
    display: block;
    text-align: center;
    position: relative;
    top: -200px;
  }

  #tabContent {
    padding-top: 15px;
    width: 100%;
    display: block;
    position: absolute;
    left: 0;
  }

  #tabHeader {
    height: 52px;
    width: 100%;
    position: relative;
    top: 200px;
  }

  #tab {
    background-image: url(../images/btn_tab.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 40px 40px;
    width: 40px;
    height: 40px;
    float: left;
    cursor: pointer;
    position: absolute;
    z-index: 3;
    top: 5px;
    right: 10px;
  }

  .navList {
    font-size: 0;
    letter-spacing: 0.06em;
  }

  .navList li {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    width: 50%;
    background-image: url(../images/ln_dotted_tate.png);
    background-size: 1px 4px;
    background-position: right top;
    background-repeat: repeat-y;
    background-color: #dc0816;
  }

  .navList li.second {
    background-image: none;
  }

  .navList li .navLine {
    background-image: url(../images/ln_dotted.png);
    background-size: 4px 1px;
    background-position: left bottom;
    background-repeat: repeat-x;
  }

  .navList li .navLine a {
    display: block;
    padding: 12px 0;
    color: #fff;
    font-size: 13px;
  }
  .navList .w100 {
    width: 100%;
  }

  .navList .btn-sns {
    width: 33.33%;
  }

  .navList .btn-sns img {
    height: 20px;
  }

  .hasigoMenu .onlyPc,
  .present .onlyPc {
    display: none;
  }

  .oneday {
    text-align: center;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
  }

  .oneday img {
    max-width: 100%;
  }

  .shopList {
    padding-left: 10px;
    padding-right: 10px;
  }

  #main {
    margin-bottom: 10px;
  }

  .shopList li .img img {
    width: 100% !important;
    height: auto !important;
  }

  .popupBox {
    padding: 0;
  }

  .popupBox > .left,
  .popupBox > .right {
    float: none;
    width: auto;
  }

  .popupBox .img img {
    width: 100% !important;
    height: auto !important;
  }
}
