@charset "UTF-8";
@import url("global.css");
/* ------------------------------
 Archive
------------------------------ */
.list_event {
  display: flex;
  justify-content: flex-start;
  gap: 50px; }
  .list_event li {
    width: calc(100% / 3); }
    .list_event li.end .image::before {
      content: "";
      position: absolute;
      inset: 0;
      background-color: #1A1A3F;
      mix-blend-mode: multiply;
      opacity: .45;
      z-index: 1; }
    .list_event li.end .image::after {
      content: "イベント終了";
      color: #fff;
      position: absolute;
      bottom: auto;
      right: auto;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      font-size: 1em;
      opacity: 1; }
    @media (any-hover: hover) {
      .list_event li.end a:hover .image::after {
        translate: none; } }
    .list_event li a {
      display: block; }
      @media (any-hover: hover) {
        .list_event li a:hover .image img {
          filter: blur(2px); }
        .list_event li a:hover .image::before {
          opacity: .6; }
        .list_event li a:hover .image::after {
          opacity: 1;
          translate: 20px 0; } }
    .list_event li .image {
      width: 100%;
      aspect-ratio: 3 / 2;
      overflow: hidden;
      border-radius: 8px;
      margin-bottom: 20px;
      position: relative; }
      .list_event li .image::before {
        content: "";
        position: absolute;
        inset: 0;
        background-color: #1d1d1d;
        mix-blend-mode: multiply;
        opacity: 0;
        z-index: 1;
        transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
        backface-visibility: hidden; }
      .list_event li .image::after {
        content: "もっと見る";
        color: #fff;
        position: absolute;
        bottom: 15px;
        right: 40px;
        z-index: 2;
        font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        font-size: .875em;
        opacity: 0;
        transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0.2s;
        backface-visibility: hidden; }
    .list_event li .text_area .post_title_area {
      display: flex;
      align-items: center;
      gap: 15px;
      margin-bottom: 15px;
      padding-bottom: 15px;
      border-bottom: 1px solid #E1E1E1;
      line-height: 26px; }
      .list_event li .text_area .post_title_area .post_category span {
        display: inline-block;
        width: 65px;
        height: 26px;
        line-height: 26px;
        background: #1A1A3F;
        color: #fff;
        text-align: center;
        box-sizing: border-box;
        letter-spacing: 0;
        font-size: 12px; }
      .list_event li .text_area .post_title_area .post_title {
        line-height: 1.4;
        font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
    .list_event li .post_data dl {
      display: flex;
      line-height: 18px;
      gap: 10px;
      margin-bottom: 10px; }
      .list_event li .post_data dl dt {
        width: 15px; }
      .list_event li .post_data dl dd {
        flex: 1;
        font-size: 13px; }
    @media (any-hover: hover) {
      .list_event li a:hover .image::before {
        opacity: .3; }
      .list_event li a:hover .image::after {
        opacity: 1; }
      .list_event li a:hover .image img {
        filter: blur(3px); } }

/* ------------------------------
 Single
------------------------------ */
.entry #sec_pagetitle {
  height: 650px;
  margin-bottom: 80px; }
  .entry #sec_pagetitle #pagetitle {
    height: calc(650px - var(--header-height));
    padding-top: 0;
    z-index: 2;
    margin-top: auto; }
  .entry #sec_pagetitle .title .ja {
    color: #E1E1E1 !important; }
    .entry #sec_pagetitle .title .ja::before {
      background: #E1E1E1 !important; }
  .entry #sec_pagetitle .posttitle {
    line-height: 1.4;
    margin-bottom: 10px;
    color: #fff;
    font-size: clamp(18px, 3vw, 28px);
    font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
  .entry #sec_pagetitle .post_category {
    color: #474644;
    letter-spacing: 0;
    font-size: 13px; }
    .entry #sec_pagetitle .post_category span {
      margin-right: 10px;
      background: #F5F5F5;
      padding: 2px 15px;
      border-radius: 50px; }
      .entry #sec_pagetitle .post_category span img {
        width: 12px;
        height: 12px;
        margin-right: 4px;
        vertical-align: -1px; }
  .entry #sec_pagetitle #eventbg {
    position: absolute;
    left: 0;
    top: 0;
    height: 650px;
    width: 100%;
    overflow: hidden; }
    .entry #sec_pagetitle #eventbg::after {
      content: "";
      width: 100%;
      height: 100%;
      background: rgba(29, 29, 29, 0.5);
      position: absolute;
      left: 0;
      top: 0; }
    .entry #sec_pagetitle #eventbg figure {
      height: 100%; }

.post .sec_detail {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
  margin-bottom: 80px; }
  .post .sec_detail figure {
    width: 48%; }
  .post .sec_detail .data {
    width: 48%; }
    .post .sec_detail .data table {
      width: 100%;
      border-collapse: collapse; }
      .post .sec_detail .data table tr {
        border-bottom: 1px solid #E1E1E1; }
      .post .sec_detail .data table th {
        padding: 10px;
        width: 90px;
        box-sizing: border-box; }
      .post .sec_detail .data table td {
        padding: 10px; }
    .post .sec_detail .data .reservebtn {
      margin-top: 40px; }
      .post .sec_detail .data .reservebtn a {
        text-align: right;
        background: #1A1A3F;
        color: #fff;
        padding: 10px 20px 10px 80px; }
        .post .sec_detail .data .reservebtn a::after {
          width: 0;
          height: 0; }
        .post .sec_detail .data .reservebtn a::before {
          left: 10px;
          background-image: none;
          background-color: #fff;
          mask: url("../img/arrow.svg") no-repeat center/contain;
          -webkit-mask: url("../img/arrow.svg") no-repeat center/contain; }
.post .post_body_wrap {
  margin-block: 100px; }
.post .gallery_area {
  margin-bottom: 100px; }
  .post .gallery_area .sec_title {
    text-align: center;
    margin-bottom: 30px; }
    .post .gallery_area .sec_title span {
      display: block;
      line-height: 1.4; }
    .post .gallery_area .sec_title .ja {
      font-size: clamp(15px, 2vw, 18px);
      font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
    .post .gallery_area .sec_title .en {
      color: #7E7F85;
      font-size: 13px;
      font-family: "Jost", "Zen Kaku Gothic New", sans-serif; }

#formarea {
  margin-top: 100px; }

.pageback {
  margin-inline: auto;
  margin-top: 0; }

#event-thanks .sec_intro {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  margin-bottom: 100px; }
  #event-thanks .sec_intro figure {
    flex: 1;
    padding-left: 100px;
    overflow: hidden; }
  #event-thanks .sec_intro .text_area {
    width: 450px;
    flex-shrink: 0; }
    #event-thanks .sec_intro .text_area .catch {
      margin-bottom: 20px;
      font-size: clamp(18px, 2.8vw, 24px);
      font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
    #event-thanks .sec_intro .text_area p + p {
      margin-top: 1em; }
    #event-thanks .sec_intro .text_area .telbox {
      box-sizing: border-box; }

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  /* ------------------------------
   Archive
  ------------------------------ */
  .list_event {
    display: block; }
    .list_event li {
      width: 100%;
      margin-bottom: 50px; }
      .list_event li a {
        display: flex;
        justify-content: space-between; }
      .list_event li .image {
        width: 45%;
        margin-bottom: 0; }
      .list_event li .text_area {
        flex: 1;
        padding-left: 30px; }

  /* ------------------------------
   Single
  ------------------------------ */
  .entry #sec_pagetitle {
    height: 400px; }
    .entry #sec_pagetitle #pagetitle {
      height: calc(400px - var(--header-height)); }
    .entry #sec_pagetitle #eventbg {
      height: 400px; }

  .post .sec_detail {
    display: block;
    margin-bottom: 60px; }
    .post .sec_detail figure {
      width: 100%;
      margin-bottom: 30px; }
    .post .sec_detail .data {
      width: 100%; }
      .post .sec_detail .data .reservebtn {
        margin-inline: auto; }
  .post .post_body_wrap {
    margin-block: 60px; }
  .post .gallery_area {
    margin-bottom: 60px; }
    .post .gallery_area .sec_title .en {
      font-size: 11px; }

  #event-thanks .sec_intro {
    align-items: stretch; }
    #event-thanks .sec_intro figure {
      padding-left: 50px; }
    #event-thanks .sec_intro .text_area {
      width: 50%; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  /* ------------------------------
   Archive
  ------------------------------ */
  .list_event li a {
    display: block; }
  .list_event li .image {
    width: 100%;
    margin-bottom: 20px; }
  .list_event li .text_area {
    padding-left: 0; }
  .list_event li:nth-child(n + 3) {
    display: none; }

  /* ------------------------------
   Single
  ------------------------------ */
  .entry #sec_pagetitle {
    height: 300px;
    margin-bottom: 50px; }
    .entry #sec_pagetitle #pagetitle {
      height: calc(300px - 50px); }
    .entry #sec_pagetitle #eventbg {
      height: 300px; }

  .post .sec_detail figure {
    margin-bottom: 20px; }
  .post .post_body_wrap {
    margin-block: 50px; }
  .post .gallery_area {
    margin-bottom: 50px; }

  .fotorama__stage {
    height: 30vh !important;
    max-height: 30vh !important; }

  #event-thanks .sec_intro {
    display: block;
    margin-bottom: 50px; }
    #event-thanks .sec_intro figure {
      padding-left: 0;
      height: 180px;
      margin-bottom: 20px; }
    #event-thanks .sec_intro .text_area {
      width: 100%; }
      #event-thanks .sec_intro .text_area .catch {
        margin-bottom: 20px; } }
