main {
  text-align: center;
  padding-bottom: 0px; }
  main header {
    z-index: 0; }

section {
  display: inline-block;
  width: 100%;
  max-width: 1000px; }
  @media screen and (max-width: 768px) {
    section {
      width: 92%;
      padding: 0 4%; } }

section.blk {
  display: block;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    section.blk {
      width: 92%;
      padding: 0 4%; } }

h1, h2 {
  color: #000000;
  text-align: center;
  font-size: 2.8em;
  font-weight: bold;
  border-top: 2px solid #000000;
  margin-bottom: 0; }
  h1 span, h2 span {
    background-color: #ffffff;
    padding: 0 20px;
    position: relative;
    top: -23px; }
  @media screen and (max-width: 768px) {
    h1, h2 {
      margin-top: 50px; } }
  @media screen and (min-width: 769px) {
    h1, h2 {
      margin-top: 110px; } }

.cf:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.sub_title_bar {
  font-size: 13px;
  position: relative;
  margin-bottom: 35px;
  margin-top: -14px;
  padding-bottom: 14px; }
  @media screen and (max-width: 768px) {
    .sub_title_bar {
      margin-bottom: 20px; } }

.new {
  position: absolute;
  top: 0;
  right: 0; }

.thumb {
  display: inline-block;
  background: no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
  overflow: hidden;
  width: 100%;
  height: auto; }

.mt20 {
  margin-top: 20px; }

.mb20 {
  margin-bottom: 20px; }

.mb40 {
  margin-bottom: 40px; }

.button_more {
  color: #000000;
  font-size: 16px;
  line-height: 2.5;
  background: #ffffff;
  border: 2px solid #e5e5e1;
  width: 235px;
  height: 40px;
  display: inline-block;
  font-weight: bold;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .button_more {
      width: 100%; } }
  .button_more:before {
    background: url(../../img/icon/icon_arrow_bl_r.png) no-repeat left center;
    content: "";
    width: 7px;
    height: 14px;
    padding-right: 15px;
    display: inline-block; }

@media screen and (min-width: 769px) {
  .hide_pc {
    display: none; }

  .hide_sp {
    display: block; } }
@media screen and (max-width: 768px) {
  .hide_pc {
    display: block; }

  .hide_sp {
    display: none; } }
.search_calendar {
  cursor: pointer; }
  @media screen and (max-width: 768px) {
    .search_calendar {
      margin-top: 10px;
      display: block;
      border: 2px solid #e5e5e1;
      text-decoration: none;
      font-weight: bold;
      line-height: 2.57143; }
      .search_calendar:before {
        content: "";
        background: url(../../img/icon/icon_calendar.png) no-repeat right center;
        background-size: 20px;
        display: inline-block;
        width: 20px;
        height: 20px;
        margin-top: 0px;
        margin-right: 6px;
        vertical-align: middle;
        margin-bottom: 5px; } }
  @media screen and (min-width: 769px) {
    .search_calendar {
      position: absolute;
      top: 0;
      right: 0;
      text-decoration: underline; }
      .search_calendar:after {
        content: "";
        background: url(../../img/icon/icon_calendar.png) no-repeat right center;
        background-size: 20px;
        display: inline-block;
        width: 20px;
        height: 20px;
        margin-left: 5px;
        vertical-align: text-bottom; } }

@media screen and (max-width: 768px) {
  .sns_btns_inner {
    display: flex; }

  .sns_btns_inner .tw {
    margin-right: 10px; } }
@media screen and (max-width: 768px) {
  section.slider {
    width: 100%;
    padding: 0; } }

.main-slider {
  display: inline-block;
  width: 100%;
  max-width: 1000px; }
  @media screen and (min-width: 769px) {
    .main-slider {
      height: 500px; } }
  .main-slider img {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto; }

.slick-list {
  overflow: hidden;
  /*background: #e5e5e1;*/ }

.slick-slide {
  height: auto;
  position: relative;
  min-height: 500px; }
  @media screen and (max-width: 768px) {
    .slick-slide {
      min-height: 100vw; } }

.detail_slider {
  opacity: 0; }

.detail_slider li {
  overflow: hidden; }

.detail_slider li img.w_img {
  width: 100%;
  height: auto; }

.detail_slider li img.h_img {
  width: auto;
  height: 100%; }

.detail_slider .slick-next {
  border-left-color: #acaca8; }

.detail_slider .slick-prev {
  border-right-color: #acaca8; }

.slide_one {
  height: auto;
  position: relative;
  /*min-height: 500px;
  background: #e5e5e1;*/ }

@media screen and (max-width: 768px) {
  .detail_slider {
    height: calc(100vh/2);
    /*background: #e5e5e1;*/ }

  .event_mail {
    margin-top: 70px !important; } }
@media screen and (min-width: 769px) {
  .detail_slider li img {
    width: auto;
    height: 100%; } }
@media screen and (max-width: 768px) {
  .detail_slider li img {
    width: 100%;
    height: auto; } }

.grid_2 ul {
  margin-right: -15px;
  text-align: left; }
  @media screen and (max-width: 768px) {
    .grid_2 ul {
      margin-right: 0px; } }
  .grid_2 ul li {
    display: inline-block;
    width: 485px;
    margin-right: 20px;
    margin-bottom: 20px;
    text-align: left;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .grid_2 ul li {
        width: 100%;
		  margin-right: 0;
        margin-bottom: 20px; } }
    .grid_2 ul li a {
      display: table;
      background: #e5e5e1;
      width: 100%;
      height: auto; }
    .grid_2 ul li .thumbnail {
      display: table-cell;
      width: 130px;
      overflow: hidden;
      position: relative; }
      @media screen and (max-width: 768px) {
        .grid_2 ul li .thumbnail {
          width: 34.48%; } }
    .grid_2 ul li .info {
      display: table-cell;
      vertical-align: middle;
      padding-left: 20px; }
    .grid_2 ul li .date {
      font-size: 1.3em; }
    .grid_2 ul li .title {
      font-size: 1.3em;
      font-weight: bold; }

@media screen and (max-width: 768px) {
  width: 100%;
  margin-bottom: 20px; }
.grid_4 ul {
  margin-right: -20px;
  text-align: left; }
  .grid_4 ul li {
    display: inline-block;
    margin-right: 20px;
    margin-bottom: 20px;
    text-align: left;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .grid_4 ul li {
        width: 45%;
        margin-bottom: 20px;
        margin-right: 13px; } }
    @media screen and (min-width: 769px) {
      .grid_4 ul li {
        width: 232px; } }
    .grid_4 ul li .thumbnail {
      position: relative; }
    .grid_4 ul li .genre {
      background: #93928b;
      padding: 0 5px;
      display: inline-block;
      color: #ffffff;
      font-size: 1.2em;
      line-height: 2;
      margin: 10px 0; }
    .grid_4 ul li .date {
      font-size: 1.3em;
      margin-bottom: 10px; }
    .grid_4 ul li .title {
      width: 100%;
      font-weight: 300;
      font-size: 1.3em; }
  .grid_4 ul ol {
    display: inline;
    margin: 0px;
    padding: 0; }
.grid_4 ul.other_store {
  margin-right: -40px;
  margin-bottom: 40px; }
.grid_4 ul.other_store li {
  text-align: center;
  padding-left: 0;
  margin-right: 40px;
  width: 217px;
  margin-bottom: 17px; }
.grid_4 ul.other_store li .thumbnail {
  margin-bottom: 15px; }
.grid_4 ul.other_store li .title {
  margin-bottom: 0px; }
.grid_4 ul.shop_thumb {
  text-align: left; }
  .grid_4 ul.shop_thumb li .title {
    font-size: 1.1rem;
    position: relative;
    padding-left: 32px;
    box-sizing: border-box; }
  .grid_4 ul.shop_thumb li p {
    font-size: small; }
@media screen and (max-width: 768px) {
  .grid_4 ul {
    margin-right: -10px;
    display: table;
    border-collapse: collapse;
    width: 100%; }
  .grid_4 ul.other_store {
    margin-right: 0px;
    margin-bottom: 0px;
    width: 100%; }
    .grid_4 ul.other_store li {
      padding: 10px 10px;
      border-right: 0px solid #e9e9e9;
      border-bottom: 1px solid #e9e9e9;
      display: block;
      width: 100%;
      vertical-align: middle;
      position: relative;
      margin-bottom: 0px;
      height: 42px;
      box-sizing: border-box; }
      .grid_4 ul.other_store li .thumbnail {
        display: none; }
      .grid_4 ul.other_store li .title {
        text-align: left !important;
        width: 95%;
        font-weight: normal; }
      .grid_4 ul.other_store li .title:after {
        content: "";
        width: 0;
        height: 0;
        line-height: 0;
        font-size: 0;
        border-style: dashed dashed dashed solid;
        border-color: transparent transparent transparent #a7a79d;
        border-width: 10px;
        float: right;
        margin-top: -9px;
        position: absolute;
        right: 0px;
        top: 50%; }
  .grid_4 ul.other_store li:nth-child(even) {
    border-right: 0px solid #e9e9e9; }
  .grid_4 ul.other_store li:first-child {
    border-top: 1px solid #e9e9e9; }
  .grid_4 ul.other_store li:last-child {
    border-bottom: 0px solid #e9e9e9;
    margin-bottom: 0px; }
  .grid_4 ul.other_store ol {
    display: table-row; } }

.grid_3 ul {
  margin-right: -40px;
  text-align: left; }
  .grid_3 ul li {
    display: inline-block;
    margin-right: 25px;
    margin-bottom: 20px;
    text-align: left;
    vertical-align: top;
    box-sizing: border-box; }
    @media screen and (max-width: 768px) {
      .grid_3 ul li {
        width: 45%;
        margin-bottom: 20px;
        margin-right: 15px; } }
    @media screen and (min-width: 769px) {
      .grid_3 ul li {
        width: 314px;
        padding: 10px 32px; } }
    .grid_3 ul li .thumbnail {
      position: relative; }
    .grid_3 ul li .genre {
      background: #93928b;
      padding: 0 5px;
      display: inline-block;
      color: #ffffff;
      font-size: 1.2em;
      line-height: 2;
      margin: 10px 0; }
    .grid_3 ul li .date {
      font-size: 1.3em;
      margin-bottom: 10px; }
    .grid_3 ul li .title {
      width: 100%;
      font-weight: bold;
      font-size: 1.3em; }
.grid_3 ul.shop_thumb {
  text-align: left; }
  .grid_3 ul.shop_thumb li .title {
    font-size: 1.1rem;
    position: relative;
    padding-left: 32px;
    box-sizing: border-box; }
  .grid_3 ul.shop_thumb li p {
    font-size: small; }
@media screen and (max-width: 768px) {
  .grid_3 ul {
    margin-right: -10px; }
  .grid_3 ul.shop_thumb {
    text-align: left;
    margin-right: 0px; }
    .grid_3 ul.shop_thumb li {
      width: 100%;
      margin: 0 auto; }
    .grid_3 ul.shop_thumb li .title {
      font-size: 1.1rem;
      position: relative;
      padding-left: 32px;
      box-sizing: border-box; }
    .grid_3 ul.shop_thumb li p {
      font-size: small; } }

.grid_6 {
  text-align: left;
  font-size: 1.3em; }
  .grid_6 li {
    display: inline-block;
    width: 312px;
    margin-right: 15px;
    margin-bottom: 45px;
    text-align: left;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .grid_6 li {
        width: 100%;
        margin-bottom: 20px; } }
    .grid_6 li .title {
      display: block;
      font-weight: bold;
      font-size: 1.4em;
      background: #dcdddd;
      text-align: center;
      padding: 8px;
      margin: 0 0 8px; }
  .grid_6 .button_app {
    text-align: center; }
    .grid_6 .button_app a {
      margin: 0 15px; }
