@charset "UTF-8";
/*-------------------------------------------------------------
リセット
-------------------------------------------------------------*/
/*-------------------------------------------------------------
reset
-------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
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%;
  /*vertical-align:top;*/
  background: transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  /*vertical-align:top;*/
}

body {
  margin: 0;
  padding: 0;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, h5, h6, address {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  letter-spacing: 0.05em;
}

table, th, td {
  margin: 0;
  padding: 0;
  line-height: 1.6;
}

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

th {
  text-align: left;
  font-weight: normal;
}

img {
  vertical-align: top;
  border: 0;
}

ul, ol, li, dl, dt, dd {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

p {
  margin: 0;
  padding: 0;
}

input, select, textarea {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

input[type=text], input[type=submit], textarea {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*-------------------------------------------------------------
common
-------------------------------------------------------------*/
/*variable*/
/*variable*/
/*variable*/
/*mixin*/
/*beforeやafterの共通項目*/
/*mixin*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 15px;
  min-width: 375px;
  color: #141414;
  position: relative;
  background-color: #fff;
  line-height: 1.6;
  font-weight: 500;
}

h2, h3, h4, h5, h6 {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0;
}

img {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  color: #141414;
  cursor: pointer;
}

p > a {
  color: #5EB736;
  text-decoration: underline;
  opacity: 1;
}

ul li {
  line-height: 1.6;
}

table th, table td {
  line-height: 1.6;
}

input {
  border: none;
  cursor: pointer;
}
input::-webkit-input-placeholder {
  color: #c3c3c3;
}
input::-moz-placeholder {
  color: #c3c3c3;
}
input:-ms-input-placeholder {
  color: #c3c3c3;
}
input::-ms-input-placeholder {
  color: #c3c3c3;
}
input::placeholder {
  color: #c3c3c3;
}

input[type=submit] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

@media (hover: hover) {
  a img {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  a img:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 800px) {
  body {
    font-size: 15px;
  }
}
/*-------------------------------------------------------------
Utility/プロパティ単体での指定を補助
-------------------------------------------------------------*/
.u-br-690 {
  display: none;
}

.u-border-radius {
  border-radius: 10px;
}

@media screen and (max-width: 690px) {
  .u-br-690 {
    display: block;
  }
}
/*-------------------------------------------------------------
project / 大きめのパーツ
-------------------------------------------------------------*/
:root {
  --wrap_PC: 90%;
  --wrap_tab: 65%;
  --wrap_sp: 86%;
  --eventList_L:calc( (100% - 40px) / 3);
  --eventList_M:calc( (100% - 20px) / 2);
  --eventList_S:100%;
}

.mv {
  position: relative;
  background-color: #fff;
}
.mv__logo {
  width: 10%;
  max-width: 70px;
  position: absolute;
  top: 30px;
  right: 30px;
}
.mv__contents {
  display: grid;
  gap: 30px;
  width: var(--wrap_PC);
  max-width: 480px;
  margin: 0 auto;
  padding: 120px 0;
}
.mv__contents > * {
  display: block;
}

.thanks {
  padding: 50px 0 100px;
}
.thanks__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  width: var(--wrap_tab);
  max-width: 1200px;
  margin: 0 auto;
}

.main {
  background: linear-gradient(135deg, #f6ff98 0%, #ffffff 33%, #ffe0e1 66%, #d5fdff 100%);
  background-size: 200% 200%;
  background-attachment: fixed;
  -webkit-animation: gradationAnim 10s ease infinite;
          animation: gradationAnim 10s ease infinite;
}
.main__inner {
  width: var(--wrap_PC);
  max-width: 1620px;
  margin: 0 auto;
  padding: 100px 0 100px;
}
.main__mv {
  display: block;
  max-width: 780px;
  margin: 0 auto;
}
.main__title {
  height: 5vw;
  max-height: 40px;
  min-height: 30px;
  margin-bottom: 30px;
}
.main__title img {
  height: 100%;
  width: auto;
}
.main__title-kyousan {
  width: 60%;
  min-width: 260px;
  max-width: 500px;
  margin-bottom: 30px;
}
.main__contents {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 150px 8%;
  margin: 50px auto 0;
}

@-webkit-keyframes gradationAnim {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@keyframes gradationAnim {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.map {
  margin-top: 80px;
}

.event__navigation {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 0.65fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px 8%;
}
.event__navigation li a {
  display: block;
}
.event__list {
  grid-column: 1/4;
  width: 100%;
  margin: 0 auto;
}
.event__list__contents {
  width: var(--eventList_L);
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
  margin-top: 20px;
  padding: 70px 50px;
  background-color: #fff;
  background: linear-gradient(135deg, transparent 35px, #fff 0) top left, linear-gradient(-135deg, transparent 35px, #fff 0) top right, linear-gradient(-45deg, transparent 35px, #fff 0) bottom right, linear-gradient(45deg, transparent 35px, #fff 0) bottom left;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  display: grid;
  gap: 30px;
}
.event__list__contents--width100 {
  width: 100%;
}
.event__list__contents__photo {
  margin-top: 20px;
}
.event__list__contents__title-mini {
  margin-top: 30px;
}
.event__list__contents-wrap {
  width: var(--eventList_L);
}

.bnr-wrap {
  width: var(--wrap_PC);
  max-width: 960px;
  margin: 0 auto;
  padding: 80px 0;
}

.bnr {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 15px;
}

.copy {
  display: block;
  width: var(--wrap_PC);
  max-width: 280px;
  margin: 0 auto 50px;
}

.logo_fadein {
  background: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 999;
}

.logo_fadein p {
  position: fixed;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: none;
  z-index: 9999;
  width: 240px;
}

/*-------------------------------------------------------------
レスポンシブの調整
-------------------------------------------------------------*/
@media screen and (width <= 1560px) {
  .main__inner {
    width: var(--wrap_tab);
  }
  .main__contents {
    grid-template-columns: 1fr;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
  .event__list {
    grid-column: 1/1;
  }
  .event__list__contents {
    width: var(--eventList_M);
  }
  .event__list__contents--width100 {
    width: 100%;
  }
  .event__list__contents-wrap {
    width: var(--eventList_M);
  }
  .copy {
    width: var(--wrap_tab);
  }
}
@media screen and (width <= 980px) {
  .thanks__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .mv__contents {
    width: var(--wrap_tab);
    max-width: 480px;
    margin: 0 auto;
    padding: 120px 0;
  }
  .mv__contents > * {
    width: 70%;
    margin: 0 auto;
    text-align: center;
  }
  .event__navigation {
    grid-template-columns: 1fr;
    gap: 15px;
    width: 100%;
    overflow: hidden;
  }
  .event__navigation li {
    max-height: 30px;
    overflow: hidden;
  }
  .event__navigation li a {
    height: 100%;
  }
  .event__navigation li a img {
    height: 100%;
    width: auto;
  }
  .event__list__contents {
    width: var(--eventList_S);
  }
  .event__list__contents--width100 {
    width: 100%;
  }
  .event__list__contents-wrap {
    width: var(--eventList_S);
  }
  .bnr {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (width <= 580px) {
  .thanks {
    padding: 0 0 50px;
  }
  .thanks__inner {
    width: var(--wrap_sp);
  }
  .mv__contents {
    width: var(--wrap_sp);
    max-width: 480px;
    margin: 0 auto;
    padding: 120px 0;
  }
  .mv__contents > * {
    width: 70%;
    margin: 0 auto;
    text-align: center;
  }
  .main__inner {
    width: var(--wrap_sp);
  }
  .map {
    margin-top: 0;
  }
  .event__navigation li {
    height: 80%;
  }
  .event__list__contents {
    width: var(--eventList_S);
    padding: 50px 25px;
    background: linear-gradient(135deg, transparent 20px, #fff 0) top left, linear-gradient(-135deg, transparent 20px, #fff 0) top right, linear-gradient(-45deg, transparent 20px, #fff 0) bottom right, linear-gradient(45deg, transparent 20px, #fff 0) bottom left;
    background-size: 50% 50%;
    background-repeat: no-repeat;
  }
  .event__list__contents-wrap {
    width: var(--eventList_S);
  }
  .bnr-wrap {
    width: 70%;
    padding: 60px 0;
  }
  .bnr {
    grid-template-columns: 1fr;
  }
}