@charset "UTF-8";
/* CSS Document */
/*============================================
responsive
============================================*/
sup {
  font-size: 70%; }

@media screen and (max-width: 897px) {
  html,
  body {
    overflow-x: hidden !important; } }

.inner {
  max-width: 1100px;
  margin: auto; }
  @media screen and (max-width: 897px) {
    .inner {
      margin: 0 20px; } }

.inner2 {
  max-width: 90%;
  margin: auto; }
  @media screen and (max-width: 897px) {
    .inner2 {
      margin: 0 20px; } }

.pc {
  display: block; }
  @media screen and (max-width: 897px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 897px) {
    .sp {
      display: block; } }

/* ============================
mainview
============================ */
.mainview {
  max-width: 100%;
  margin: auto; }
  .mainview img {
    width: 100%; }

.intro {
  padding: 120px 0; }
  @media screen and (max-width: 897px) {
    .intro {
      padding: 40px 0; } }
  .intro__headline p {
    text-align: center;
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 2.2; }
    @media screen and (max-width: 897px) {
      .intro__headline p {
        text-align: justify;
        font-size: 1.7rem;
        line-height: 1.7; } }
  .intro__date {
    max-width: 960px;
    margin: 30px auto;
    text-align: center;
    padding: 10px;
    background: linear-gradient(to right, rgba(255, 247, 218, 0) 0%, rgba(255, 247, 218, 0) 15%, #FFF7DA 50%, rgba(255, 247, 218, 0) 85%, rgba(255, 247, 218, 0) 100%);
    font-size: 2.5rem;
    color: #D9333F;
    font-weight: 700; }
    @media screen and (max-width: 897px) {
      .intro__date {
        margin: 15px 0;
        font-size: 2.2rem;
        line-height: 1.5; } }
    .intro__date span {
      font-size: 4.0rem; }
      @media screen and (max-width: 897px) {
        .intro__date span {
          font-size: 3.5rem; } }
  .intro__img {
    max-width: 840px;
    margin: 10px auto 30px auto; }
    .intro__img img {
      border-radius: 5px; }
  .intro__btn {
    text-align: center;
    max-width: 840px;
    margin: auto; }
    .intro__btn .btn img {
      box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; }
    .intro__btn .txt {
      font-weight: 700;
      margin: 10px 0 0 0;
      font-size: 2.5rem; }
      @media screen and (max-width: 897px) {
        .intro__btn .txt {
          font-size: 1.8rem;
          text-align: center;
          line-height: 1.5; } }

.event {
  padding: 0 0 120px 0; }
  @media screen and (max-width: 897px) {
    .event {
      padding: 0 0 40px 0; } }
  .event__headline {
    padding: 0 0 40px 0; }
    @media screen and (max-width: 897px) {
      .event__headline {
        padding: 0 0 20px 0;
        text-align: center; } }
    .event__headline span {
      color: #F7D6D9;
      font-size: 2.5rem;
      line-height: 1.0;
      font-weight: 500; }
      @media screen and (max-width: 897px) {
        .event__headline span {
          font-size: 1.5rem; } }
    .event__headline h2 {
      color: #D9333F;
      font-size: 6.0rem;
      line-height: 1.0;
      font-weight: 700;
      padding: 10px 0 0 0; }
      @media screen and (max-width: 897px) {
        .event__headline h2 {
          font-size: 3.0rem; } }
  .event__box {
    background: #fff;
    border-radius: 15px;
    padding: 60px;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; }
    @media screen and (max-width: 897px) {
      .event__box {
        padding: 20px; } }
    .event__box dl {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 897px) {
        .event__box dl {
          display: block;
          line-height: 1.6; } }
      .event__box dl dt {
        width: 20%;
        font-weight: 700;
        font-size: 1.8rem; }
        @media screen and (max-width: 897px) {
          .event__box dl dt {
            width: 100%;
            margin: 0 0 5px 0;
            background: #f7f7f7;
            padding: 5px;
            font-size: 1.65rem; } }
      .event__box dl dd {
        width: 80%;
        font-size: 1.8rem; }
        @media screen and (max-width: 897px) {
          .event__box dl dd {
            width: 100%;
            font-size: 1.55rem; } }
        .event__box dl dd ul {
          margin: 0;
          padding: 0 0 0 20px;
          color: #EC0003; }
          .event__box dl dd ul li {
            list-style-type: disc; }
            @media screen and (max-width: 897px) {
              .event__box dl dd ul li {
                padding: 0; } }
            .event__box dl dd ul li span {
              color: #222; }
      .event__box dl:not(:last-of-type) {
        padding: 0 0 15px 0;
        margin: 0 0 15px 0;
        border-bottom: 1px dotted #eee; }
        @media screen and (max-width: 897px) {
          .event__box dl:not(:last-of-type) {
            padding: 0 0 15px 0;
            margin: 0;
            border-bottom: none; } }

.access {
  padding: 0 0 120px 0; }
  @media screen and (max-width: 897px) {
    .access {
      padding: 0 0 40px 0; } }
  .access__headline {
    padding: 0 0 40px 0; }
    @media screen and (max-width: 897px) {
      .access__headline {
        padding: 0 0 20px 0;
        text-align: center; } }
    .access__headline span {
      color: #F7D6D9;
      font-size: 2.5rem;
      line-height: 1.0;
      font-weight: 500; }
      @media screen and (max-width: 897px) {
        .access__headline span {
          font-size: 1.5rem; } }
    .access__headline h2 {
      color: #D9333F;
      font-size: 6.0rem;
      line-height: 1.0;
      font-weight: 700;
      padding: 10px 0 0 0; }
      @media screen and (max-width: 897px) {
        .access__headline h2 {
          font-size: 3.0rem; } }
  .access__box {
    background: #fff;
    border-radius: 15px;
    padding: 60px;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; }
    @media screen and (max-width: 897px) {
      .access__box {
        padding: 20px; } }
    .access__box .map .gmap {
      position: relative;
      width: 100%;
      padding-top: 56.25%;
      /* 16:9のアスペクト比 */
      height: 0; }
      .access__box .map .gmap iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    .access__box .txt {
      padding: 15px 0 0 0; }
      @media screen and (max-width: 897px) {
        .access__box .txt {
          padding: 8px 0 0 0; } }
      .access__box .txt ul li:first-of-type {
        font-size: 2.1rem;
        padding: 0 0 10px 0;
        margin: 0 0 10px 0;
        border-bottom: 1px dotted #ccc; }
        @media screen and (max-width: 897px) {
          .access__box .txt ul li:first-of-type {
            font-size: 1.8rem; } }
      .access__box .txt ul li:last-of-type {
        font-size: 1.8rem; }
        @media screen and (max-width: 897px) {
          .access__box .txt ul li:last-of-type {
            font-size: 1.55rem; } }

.gallery {
  padding: 120px 0;
  background: url("../img/gallery-bg.jpg");
  background-size: cover; }
  @media screen and (max-width: 897px) {
    .gallery {
      padding: 40px 0; } }
  .gallery__headline {
    padding: 0 0 40px 0;
    text-align: center; }
    @media screen and (max-width: 897px) {
      .gallery__headline {
        padding: 0 0 20px 0; } }
    .gallery__headline span {
      color: #D9333F;
      font-size: 2.5rem;
      line-height: 1.0;
      font-weight: 500; }
      @media screen and (max-width: 897px) {
        .gallery__headline span {
          font-size: 1.5rem; } }
    .gallery__headline h2 {
      color: #D9333F;
      font-size: 6.0rem;
      line-height: 1.0;
      font-weight: 700;
      padding: 10px 0 0 0; }
      @media screen and (max-width: 897px) {
        .gallery__headline h2 {
          font-size: 3.0rem; } }
  .gallery__box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media screen and (max-width: 897px) {
      .gallery__box {
        display: block; } }
    .gallery__box__item {
      width: calc(100% / 2 - 20px); }
      @media screen and (max-width: 897px) {
        .gallery__box__item {
          width: 100%; } }
      .gallery__box__item:nth-child(n + 3) {
        margin: 40px 0 0 0; }
        @media screen and (max-width: 897px) {
          .gallery__box__item:nth-child(n + 3) {
            margin: 0; } }
      @media screen and (max-width: 897px) {
        .gallery__box__item:not(:last-of-type) {
          margin: 0 0 20px 0; } }

.line {
  border-top: 1px solid #eee;
  padding: 120px 0;
  text-align: center; }
  @media screen and (max-width: 897px) {
    .line {
      padding: 40px 0; } }
