@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 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; }

body {
  line-height: 1;
  text-align: left; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

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

/*
---------------------- ここまでReset ---------------------------- */
body {
  margin: 0;
  padding: 0;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #111;
  background: #0A1945; }

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

.hero {
  background-position: top center, top;
  background-repeat: repeat-x, no-repeat;
  background-size: auto, cover;
  margin: 0; }
  @media only screen and (max-width: 767px) {
    .hero {
      background-image: url("/dir/spr/img/newyear_2021/line-sp.png"), url("/dir/spr/img/newyear_2021/spr_bg.jpg");
      height: 170px; } }
  @media only screen and (min-width: 768px) {
    .hero {
      background-image: url("/dir/spr/img/newyear_2021/line.png"), url("/dir/spr/img/newyear_2021/spr_bg.jpg");
      height: 360px; } }

figure {
  margin: 0;
  padding: 0; }

.wrap {
  background: #F2ECE7;
  background-image: url("/dir/spr/img/newyear_2021/bg.png"); }
  .wrap .wrap_inner {
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .wrap .wrap_inner {
        margin: 0 10px; } }
    @media only screen and (min-width: 768px) {
      .wrap .wrap_inner {
        max-width: 1150px;
        width: calc(100% - 30px);
        margin: 0 auto; } }

h1 {
  position: relative;
  z-index: 10;
  text-align: center;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    h1 {
      margin: -80px 5px 50px; } }
  @media only screen and (min-width: 768px) {
    h1 {
      margin: -240px 0 70px; } }
  h1 img {
    filter: drop-shadow(8px 8px 3px rgba(145, 125, 86, 0.4)); }

@media only screen and (max-width: 767px) {
  .intro {
    padding: 0 0 20px; } }
@media only screen and (min-width: 768px) {
  .intro {
    padding: 10px 15px 40px; } }
.intro .attention {
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .intro .attention {
      padding: 0 40px; } }
  .intro .attention .event_date {
    text-align: center;
    background: #F4F5F7;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #C32B1E;
    font-weight: 600; }
    @media only screen and (max-width: 767px) {
      .intro .attention .event_date {
        max-width: 300px;
        height: 50px;
        font-size: 17px;
        line-height: 16px;
        margin: 0 auto 50px; } }
    @media only screen and (min-width: 768px) {
      .intro .attention .event_date {
        max-width: 450px;
        height: 50px;
        font-size: 21px;
        line-height: 20px;
        margin: 0 auto 90px; } }
    .intro .attention .event_date .pic {
      margin-right: 15px; }
      .intro .attention .event_date .pic img {
        height: auto; }
        @media only screen and (max-width: 767px) {
          .intro .attention .event_date .pic img {
            width: 20px; } }
        @media only screen and (min-width: 768px) {
          .intro .attention .event_date .pic img {
            width: 25px; } }
    .intro .attention .event_date .ttl {
      margin-right: 13px;
      border-right: #C32B1E solid 3px;
      padding-right: 13px; }
  .intro .attention .attention_ttl {
    font-family: 'Noto Sans JP';
    font-weight: bold;
    margin: 0 0 25px; }
    @media only screen and (max-width: 767px) {
      .intro .attention .attention_ttl {
        font-size: 20px; } }
    @media only screen and (min-width: 768px) {
      .intro .attention .attention_ttl {
        font-size: 25px; } }
  .intro .attention ul {
    margin: 0 auto;
    text-align: left;
    list-style: disc; }
    @media only screen and (max-width: 767px) {
      .intro .attention ul {
        font-size: 15px;
        padding: 0 0 0 25px; } }
    @media only screen and (min-width: 768px) {
      .intro .attention ul {
        max-width: 650px;
        padding: 0 0 0 25px;
        font-size: 16px; } }
    @media only screen and (max-width: 767px) {
      .intro .attention ul li {
        line-height: 25px;
        margin: 0 0 13px; } }
    @media only screen and (min-width: 768px) {
      .intro .attention ul li {
        margin: 0 0 17px; } }
    .intro .attention ul li:last-child {
      margin: 0; }
  .intro .attention p {
    font-family: 'Noto Sans JP';
    margin: 0;
    padding: 0;
    font-weight: 500; }
    @media only screen and (max-width: 767px) {
      .intro .attention p {
        font-size: 15px;
        line-height: 35px; } }
    @media only screen and (min-width: 768px) {
      .intro .attention p {
        font-size: 18px;
        line-height: 45px; } }

.topics_content {
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .topics_content {
      margin: 45px 0 110px; } }
  @media only screen and (min-width: 768px) {
    .topics_content {
      margin: 60px 0 150px; } }
  .topics_content .wrap {
    margin: 0 auto;
    position: relative; }
    @media only screen and (min-width: 768px) {
      .topics_content .wrap {
        max-width: 1150px;
        width: calc(100% - 30px); } }
  .topics_content .topics_ttl {
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .topics_content .topics_ttl {
        margin: 0 0 30px; } }
    @media only screen and (min-width: 768px) {
      .topics_content .topics_ttl {
        margin: 0 0 50px; } }
    @media only screen and (max-width: 767px) {
      .topics_content .topics_ttl img {
        width: 100px; } }
  .topics_content .tab_container {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto; }
    .topics_content .tab_container .tab {
      display: block;
      text-align: center;
      height: 40px;
      line-height: 40px;
      font-weight: 600;
      background: #C32B1E;
      color: #fff;
      position: relative;
      cursor: pointer; }
      @media only screen and (max-width: 767px) {
        .topics_content .tab_container .tab {
          margin: 0 16px 10px;
          font-size: 14px;
          width: 85px; } }
      @media only screen and (min-width: 768px) {
        .topics_content .tab_container .tab {
          margin: 0 18px 15px;
          font-size: 15px;
          width: 130px; } }
      .topics_content .tab_container .tab:hover {
        opacity: 0.8; }
      .topics_content .tab_container .tab::before, .topics_content .tab_container .tab::after {
        position: absolute;
        top: 0;
        width: 0;
        height: 0;
        content: '';
        border: 20px solid transparent;
        border-right: 12px solid transparent;
        border-left: 12px solid transparent; }
      .topics_content .tab_container .tab::before {
        right: 100%;
        border-right-color: #C32B1E; }
      .topics_content .tab_container .tab::after {
        left: 100%;
        border-left-color: #C32B1E; }
    @media only screen and (max-width: 767px) {
      .topics_content .tab_container .text_s {
        font-size: 11px; } }
    @media only screen and (min-width: 768px) {
      .topics_content .tab_container .text_s {
        font-size: 14px; } }
    @media only screen and (max-width: 767px) {
      .topics_content .tab_container .text_ss {
        font-size: 10px; } }
    @media only screen and (min-width: 768px) {
      .topics_content .tab_container .text_ss {
        font-size: 13px; } }
    .topics_content .tab_container .narrow-active {
      background: #fff;
      color: #C32B1E; }
      .topics_content .tab_container .narrow-active::before, .topics_content .tab_container .narrow-active::after {
        position: absolute;
        top: 0;
        width: 0;
        height: 0;
        content: '';
        border: 20px solid transparent;
        border-right: 12px solid transparent;
        border-left: 12px solid transparent; }
      .topics_content .tab_container .narrow-active::before {
        right: 100%;
        border-right-color: #fff; }
      .topics_content .tab_container .narrow-active::after {
        left: 100%;
        border-left-color: #fff; }
  .topics_content .narrow-hide {
    display: none !important; }
  @media only screen and (max-width: 767px) {
    .topics_content .topics_container {
      margin: 30px 0; } }
  @media only screen and (min-width: 768px) {
    .topics_content .topics_container {
      margin: 30px 0 20px; } }
  .topics_content .topics_container ul {
    list-style: none;
    padding: 0;
    width: 100%;
    display: -ms-flexbox;
    display: -moz-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media only screen and (max-width: 767px) {
      .topics_content .topics_container ul {
        margin: 0;
        justify-content: space-between; } }
    @media only screen and (min-width: 768px) {
      .topics_content .topics_container ul {
        margin: 0 0 7px;
        -webkit-justify-content: center;
        justify-content: center; } }
    .topics_content .topics_container ul .topic {
      background: #fff;
      box-sizing: border-box;
      border-radius: 10px;
      box-shadow: 1px 1px 3px rgba(145, 125, 86, 0.4);
      position: relative; }
      @media only screen and (max-width: 767px) {
        .topics_content .topics_container ul .topic {
          width: 48%;
          margin: 0 0 20px;
          padding: 15px 10px; } }
      @media only screen and (min-width: 768px) {
        .topics_content .topics_container ul .topic {
          width: calc((100% - 64px) / 4);
          display: -ms-flexbox;
          display: -moz-box;
          display: -webkit-box;
          display: -webkit-flex;
          display: flex;
          flex-direction: column;
          margin: 0 8px 35px;
          padding: 15px 13px; } }
      .topics_content .topics_container ul .topic:first-child {
        margin-top: 0; }
      .topics_content .topics_container ul .topic:hover {
        box-shadow: 0 6px 13px rgba(145, 125, 86, 0.3);
        transition: 0.3s; }
      .topics_content .topics_container ul .topic figure {
        width: 100%;
        position: relative;
        overflow: hidden;
        background: #f1f1f1;
        display: flex;
        justify-content: center;
        align-items: center; }
        @media only screen and (max-width: 767px) {
          .topics_content .topics_container ul .topic figure {
            height: 100px; } }
        @media only screen and (min-width: 768px) {
          .topics_content .topics_container ul .topic figure {
            height: 190px; } }
        .topics_content .topics_container ul .topic figure a {
          display: block; }
          .topics_content .topics_container ul .topic figure a img {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            margin: auto; }
        .topics_content .topics_container ul .topic figure .noimg {
          color: #97a5b7;
          font-size: 1.3rem;
          font-weight: 600; }
          @media only screen and (max-width: 767px) {
            .topics_content .topics_container ul .topic figure .noimg {
              font-size: 1.1rem; } }
          @media only screen and (min-width: 768px) {
            .topics_content .topics_container ul .topic figure .noimg {
              font-size: 1.3rem; } }
      .topics_content .topics_container ul .topic .caption {
        box-sizing: border-box;
        width: 100%;
        margin: 15px 0 0; }
        .topics_content .topics_container ul .topic .caption .category {
          display: inline-block;
          margin: 0;
          color: #73654f;
          background: #e4e0cc;
          border-radius: 5px; }
          @media only screen and (max-width: 767px) {
            .topics_content .topics_container ul .topic .caption .category {
              font-size: 11px;
              padding: 6px 12px; } }
          @media only screen and (min-width: 768px) {
            .topics_content .topics_container ul .topic .caption .category {
              font-size: 12px;
              padding: 6px 14px; } }
        .topics_content .topics_container ul .topic .caption h4 {
          background: #fff;
          font-weight: bold;
          width: 100%;
          padding: 0;
          margin: 10px 0 0;
          text-overflow: ellipsis;
          overflow: hidden; }
          @media only screen and (max-width: 767px) {
            .topics_content .topics_container ul .topic .caption h4 {
              font-size: 14px;
              height: 66px;
              line-height: 23px; } }
          @media only screen and (min-width: 768px) {
            .topics_content .topics_container ul .topic .caption h4 {
              padding: 0;
              color: #000;
              font-size: 16px;
              height: 80px;
              overflow: hidden;
              line-height: 27px; } }
          .topics_content .topics_container ul .topic .caption h4 a {
            color: #111;
            text-decoration: none; }
            @media only screen and (max-width: 767px) {
              .topics_content .topics_container ul .topic .caption h4 a {
                text-overflow: ellipsis;
                white-space: normal; } }
            .topics_content .topics_container ul .topic .caption h4 a::after {
              position: absolute;
              top: 0;
              right: 0;
              bottom: 0;
              left: 0;
              z-index: 1;
              pointer-events: auto;
              content: "";
              background-color: transparent; }
        .topics_content .topics_container ul .topic .caption .date {
          text-align: right;
          color: #666;
          letter-spacing: 0.07em; }
          @media only screen and (max-width: 767px) {
            .topics_content .topics_container ul .topic .caption .date {
              margin: 20px 0 0;
              font-size: 14px; } }
          @media only screen and (min-width: 768px) {
            .topics_content .topics_container ul .topic .caption .date {
              margin: 28px 0 0;
              font-size: 0.85rem; } }

.soon {
  font-family: 'Noto Sans JP';
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .soon {
      margin: 30px 0 60px; } }
  @media only screen and (min-width: 768px) {
    .soon {
      margin: 50px 0 80px; } }

.shop_info {
  background: #C32B1E;
  color: #fff; }
  .shop_info .inner {
    margin: 0 auto;
    position: relative; }
    @media only screen and (min-width: 768px) {
      .shop_info .inner {
        max-width: 1200px;
        width: calc(100% - 30px); } }
  .shop_info .title {
    font-family: 'Noto Sans JP';
    position: absolute;
    top: -35px;
    background: #C32B1E;
    border-radius: 10px 10px 0 0 / 10px 10px 0 0;
    height: 35px;
    text-align: center;
    color: #fff;
    font-weight: 600;
    letter-spacing: 1.5px; }
    @media only screen and (max-width: 767px) {
      .shop_info .title {
        left: 20px;
        width: 200px;
        font-size: 14px;
        line-height: 50px; } }
    @media only screen and (min-width: 768px) {
      .shop_info .title {
        left: 0;
        width: 210px;
        font-size: 16px;
        line-height: 45px; } }
  .shop_info .block {
    display: flex; }
    @media only screen and (max-width: 767px) {
      .shop_info .block {
        flex-direction: column;
        padding: 0 25px 30px; } }
    @media only screen and (min-width: 768px) {
      .shop_info .block {
        justify-content: space-between;
        padding: 40px 0 60px; } }
    @media only screen and (max-width: 767px) {
      .shop_info .block .box {
        width: 100%;
        margin: 0 0 35px; }
        .shop_info .block .box:last-child {
          margin: 0; } }
    @media only screen and (min-width: 768px) {
      .shop_info .block .box {
        width: 32%; } }
    .shop_info .block .box h6 {
      font-family: 'Noto Sans JP';
      color: #fff;
      font-weight: bold;
      margin: 0 0 15px;
      padding: 0; }
      @media only screen and (max-width: 767px) {
        .shop_info .block .box h6 {
          font-size: 16px; } }
      @media only screen and (min-width: 768px) {
        .shop_info .block .box h6 {
          font-size: 18px; } }
      .shop_info .block .box h6 .icon {
        position: relative; }
        @media only screen and (max-width: 767px) {
          .shop_info .block .box h6 .icon {
            top: 1px; } }
        @media only screen and (min-width: 768px) {
          .shop_info .block .box h6 .icon {
            top: 1px; } }
        .shop_info .block .box h6 .icon img {
          height: auto; }
          @media only screen and (max-width: 767px) {
            .shop_info .block .box h6 .icon img {
              width: 20px;
              margin-right: 7px; } }
          @media only screen and (min-width: 768px) {
            .shop_info .block .box h6 .icon img {
              width: 25px;
              margin-right: 8px; } }
  @media only screen and (max-width: 767px) {
    .shop_info .detail {
      margin: 0;
      padding: 30px 0 0; } }
  @media only screen and (min-width: 768px) {
    .shop_info .detail {
      padding: 0; } }
  .shop_info .detail .shop_name {
    font-family: 'Noto Sans JP';
    font-weight: 600;
    border-bottom: #fff solid 1px;
    margin: 0 0 15px;
    padding: 0 0 8px; }
    @media only screen and (max-width: 767px) {
      .shop_info .detail .shop_name {
        font-size: 1.15rem; } }
    @media only screen and (min-width: 768px) {
      .shop_info .detail .shop_name {
        font-size: 1.3rem; } }
  .shop_info .detail .detail_inner {
    margin: 0 0 20px;
    line-height: 23px; }
    .shop_info .detail .detail_inner:last-child {
      margin: 0; }
    .shop_info .detail .detail_inner .link {
      position: relative;
      border: #fff solid 3px;
      text-align: center;
      border-radius: 5px;
      padding: 7px 5px; }
      .shop_info .detail .detail_inner .link:hover {
        background: #fff;
        transition: 0.5s; }
        .shop_info .detail .detail_inner .link:hover a {
          color: #C32B1E; }
        .shop_info .detail .detail_inner .link:hover .icon-hover {
          opacity: 1; }
      .shop_info .detail .detail_inner .link a {
        color: #fff;
        text-decoration: none;
        font-size: 13px;
        font-weight: 600; }
        .shop_info .detail .detail_inner .link a::after {
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          z-index: 1;
          pointer-events: auto;
          content: "";
          background-color: transparent; }
      .shop_info .detail .detail_inner .link .icon {
        position: relative;
        top: -4px; }
        .shop_info .detail .detail_inner .link .icon img {
          margin-right: 7px; }
      .shop_info .detail .detail_inner .link .icon-hover {
        position: absolute;
        left: 0;
        top: 4px;
        opacity: 0;
        transition: 0.5s; }
  .shop_info .detail p {
    margin: 0;
    padding: 0;
    font-size: 14px; }

.global_head {
  margin: 0;
  padding: 0; }

footer {
  margin: 0;
  padding: 0;
  background: #0A1945; }
  footer .global_foot {
    border: none;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      footer .global_foot {
        margin: 0 auto;
        padding: 30px 20px 10px; } }
    @media only screen and (min-width: 768px) {
      footer .global_foot {
        max-width: 1200px;
        width: calc(100% - 45px);
        margin: 0 auto;
        padding: 35px 0 25px; } }
    footer .global_foot .guide_container {
      display: flex; }
      @media only screen and (max-width: 767px) {
        footer .global_foot .guide_container {
          flex-wrap: wrap; } }
    @media only screen and (max-width: 767px) {
      footer .global_foot .guide_list {
        width: 49%;
        margin: 0 0 18px; } }
    @media only screen and (min-width: 768px) {
      footer .global_foot .guide_list {
        margin-right: 50px; } }
    footer .global_foot ul {
      list-style: none;
      margin: 0;
      text-align: left; }
      footer .global_foot ul li {
        font-size: 13px !important;
        margin: 0 0 13px !important; }
        footer .global_foot ul li a {
          text-decoration: none;
          color: #fff; }
          footer .global_foot ul li a:hover {
            text-decoration: underline; }
    footer .global_foot .sns_area {
      display: flex; }
      @media only screen and (max-width: 767px) {
        footer .global_foot .sns_area .item {
          margin-right: 4px;
          text-align: left; }
          footer .global_foot .sns_area .item img {
            width: 80%; } }
      @media only screen and (min-width: 768px) {
        footer .global_foot .sns_area .item {
          margin-left: 5px;
          text-align: right; }
          footer .global_foot .sns_area .item img {
            width: 90%; }
            footer .global_foot .sns_area .item img:hover {
              opacity: 0.8; } }
    footer .global_foot .guide_top {
      display: flex; }
      @media only screen and (max-width: 767px) {
        footer .global_foot .guide_top {
          flex-direction: column;
          margin: 0 0 20px; } }
      @media only screen and (min-width: 768px) {
        footer .global_foot .guide_top {
          justify-content: space-between;
          margin: 0 0 40px; } }
    footer .global_foot .guide_middle .lang_area {
      display: flex; }
      @media only screen and (max-width: 767px) {
        footer .global_foot .guide_middle .lang_area {
          margin: 0 0 15px; } }
      @media only screen and (min-width: 768px) {
        footer .global_foot .guide_middle .lang_area {
          margin: 0 0 15px; } }
      footer .global_foot .guide_middle .lang_area .item {
        text-align: left; }
        @media only screen and (max-width: 767px) {
          footer .global_foot .guide_middle .lang_area .item {
            margin-right: 4px; } }
        @media only screen and (min-width: 768px) {
          footer .global_foot .guide_middle .lang_area .item {
            margin-right: 3px; } }
        footer .global_foot .guide_middle .lang_area .item img {
          border-radius: 50px; }
          @media only screen and (max-width: 767px) {
            footer .global_foot .guide_middle .lang_area .item img {
              width: 70%; } }
          @media only screen and (min-width: 768px) {
            footer .global_foot .guide_middle .lang_area .item img {
              width: 75%; }
              footer .global_foot .guide_middle .lang_area .item img:hover {
                opacity: 0.8; } }
    footer .global_foot .guide_bottom {
      display: flex; }
      @media only screen and (max-width: 767px) {
        footer .global_foot .guide_bottom {
          flex-direction: column; } }
      @media only screen and (min-width: 768px) {
        footer .global_foot .guide_bottom {
          justify-content: space-between; } }
      @media only screen and (max-width: 767px) {
        footer .global_foot .guide_bottom .police {
          text-align: left; } }
      @media only screen and (min-width: 768px) {
        footer .global_foot .guide_bottom .copyright {
          text-align: center; } }
      footer .global_foot .guide_bottom p {
        color: #fff; }
        @media only screen and (max-width: 767px) {
          footer .global_foot .guide_bottom p {
            font-size: 11px; } }
        @media only screen and (min-width: 768px) {
          footer .global_foot .guide_bottom p {
            font-size: 11px; } }
        footer .global_foot .guide_bottom p a {
          text-decoration: none;
          color: #fff; }
          footer .global_foot .guide_bottom p a:hover {
            text-decoration: underline; }
