html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
}

html {
    font-size: 62.5%;
}

body {
/*    font-size: 1.6rem;*/
    line-height: 1.4;
}

* {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

a,
a:visited {
    color: inherit;
    text-decoration: none;
}
a:hover {
  opacity: 0.5;
  transition-duration: 0.3s;
/*  color: #398F4A;*/
}
a[target=_blank]:after {
  font-family: "Hobonichi-Icons";
  content: "\e914";
  font-weight: normal;
  font-size: 1em; /* フォントサイズちょっと小さく */
  position: static; /* ちょっと上付きにするための指定 */
  top: -.2em; /* ちょっと上付きにする */
}

article,
aside,
footer,
header,
nav,
section,
main {
    display: block;
}

* {
    box-sizing: border-box;
}

*:before,
*:after {
    box-sizing: inherit;
}

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

ol,
ul {
    list-style: none;
}

img,
video {
    max-width: 100%;
/*    width: 100%;*/
}

img {
    border-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
}

[hidden] {
    display: none !important;
}

[disabled] {
    cursor: not-allowed;
}

:focus:not(:focus-visible) {
    outline: none;
}

li {
  list-style-type: none;
}

.pc {
  display: block;
}
.sp {
  display: none;
}

br {
  display: block;
}
.br-pcsp {
  display: block;
}
.br-sp {
  display: none;
}

body {
  width:100%;
  height:100vh;
  background-color: #000;
}

/*---------------------------------Slider*/
.mc-hide-scrolls {
  overflow: hidden
  }
body .mc-cycle {
  height:100%;
  left:0;
  overflow:hidden;
  position:fixed;
  top:0;
  width:100%;
  z-index:-1;
  }
div.mc-image {
  -webkit-transition:opacity 1s ease-in-out;
  -moz-transition:opacity 1s ease-in-out;-o-transition:opacity 1s ease-in-out;
  transition:opacity 1s ease-in-out;
  -webkit-background-size:cover;
  -moz-background-size:cover;
  -o-background-size:cover;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  height:100%;
  overflow:hidden;
  width:100%
}
.mc-old-browser .mc-image{
  overflow:hidden
}
#contents {
  color: #FFF;
  height: 50%;
  left: 25%;
  position: absolute;
  top: 25%;
  width: 50%;
}
#contents > .inner {
  background: rgba(0, 0, 0, .8);
  height: 100%;
  padding: 40px 20px;
}
#contents .text {
  height: 100%;
  overflow: auto;
  padding: 0 20px;
}
#contents h1 {
  border-bottom: 1px dotted #FFF;
  font-size: 1.5em;
  padding-bottom: 10px;
}
#contents p{
  margin-top: 20px;
}
.toggle {
  background: rgba(0, 0, 0, .8);
  color: #FFF;
  font-size: 12px;
  font-weight: bold;
  padding: 10px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 150px;
}
#cycle-loader {
  display: none;
}

/*---------------------------------Header*/
.project__header {
  width: 100%;
  position: fixed;
  top: 0;
  background-color: #000;
  text-align: center;
  padding: 1em 0;
  animation-name: SlideDown;
  animation-duration: 1s;
  z-index: 1;
}
.project__header a {
  display: block;
}
.project__header img {
  max-width: 131px;
}
.project__header a:hover {
  opacity: 1;
}
@keyframes SlideDown {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.project__title .noticeWrap {
  max-width: 756px;
  width: 100%;
  height: auto;
  margin: 130px auto;
  position: relative;
  opacity: 0;
  padding: 100px 10px 0;
}
.project__title .noticeWrap {
    -webkit-animation: noticeWrap 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both 4.5s;
          animation: noticeWrap 0.6s cubic-bezier(0.42, 0, 1.0, 1.0) both 4.5s;
}
.project__title .inner img {
  max-width: 756px;
  width: 100%;
}
@-webkit-keyframes noticeWrap {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes noticeWrap {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
            opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
            opacity: 1;
  }
}
.ping-animation {
  animation-duration: 2s;
  animation-delay: 6s;
  opacity: 0;
  animation-name: ping-animation;
  animation-iteration-count: infinite;
}
.btn__down {
  position: absolute;
  width: 48px;
  height: 23px;
  left: 50%;
  bottom: 25px;
  transform: translate(-50%, 0);
  display: block;
}
.btn__down:before {
  content: '';
  display: block;
  background-image: url('../assets/img/common/arrowbtn.png');
  background-size: contain;
  width: 70px;
  height: 70px;
}
@keyframes ping-animation {
  0% {
    opacity: 0;/* 透明 */
    transform: translateY(-50px);*//* X軸方向に50px */
  }
  100% {
    opacity: 1;*//* 不透明 */
    transform: translateY(0);
  }
}

/*---------------------------------Contents*/
.project__contents {
  max-width: 700px;
  margin: 250px auto 0;
  padding: 67px 0 52px;
  background-color: rgba(255,255,0,0.9);
}
.project__contents .about {
  font-size: 1.7em;
  line-height: 2;
  text-align: center;
  margin: 47px 0 45px;
  font-family: Shuei MaruGo B;
}
.project__contents .about.last {
  margin: 47px 0 30px;
}
.project__contents .date {
  margin: 0 0 57px;
  font-size: 1.4rem;
  line-height: 2.45;
  letter-spacing: 2.8px;
  text-align: center;
  font-family: Shuei MaruGo B;
}
.project__contents .linkBtn {
  margin: 0 auto 55px;
  max-width: 400px;
  text-align: center;
  border: 2px solid #3C3C3C;
  border-radius: 10px 10px;
  padding: 15px 0;
}
.project__contents .linkBtn a {
  font-size: 1.7em;
  line-height: 2;
  color: #3C3C3C;
  display: block;
  font-family: GSanSerif-B;
}
.project__info {
  margin: 0 0 65px;
}
.project__info h2 {
  margin: 0 0 30px;
  font-size: 2.2rem;
  line-height: 2;
  letter-spacing: 0.55px;
  color: inherit;
  font-weight: bold;
  font-family: A1 Gothic B;
  text-align: center;
}
.project__info .img {
  text-align: center;
}

.intro__txt {
  width: 436px;
  margin: 30px auto 56px;
}
.intro__txt {
  font-size: 1.6rem;
  letter-spacing: 0.43px;
  line-height: 2;
  text-align: center;
  font-family: Shuei MaruGo B;
}
.intro__txt.intro__listA {
  width: 450px;
}
.ttl_time {
  font-size: 2.8rem;
}

.notice_ticket {
  max-width: 442px;
  margin: 0 auto 56px;
  text-align: center;
}
.notice_ticket .closed {
  filter: grayscale(1);
}
.notice_ticket .txt {
  margin: 28px 0 0;
  font-size: 1.7rem;
  font-family: Shuei MaruGo B;
  text-align: center;
}

.notice {
  width: 600px;
  margin: auto;
}
.notice_listWrap li h3 {
  background: #000;
  border-radius: 20px 20px;
  color: #FFF;
  text-align: center;
  width: 188px;
  padding: 0.02em 0;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 1.28px;
  margin: 0 0 30px 12px;
  font-family: Shuei MaruGo B;
}
.notice_listWrap li p.notice_ttl {
  font-weight: bold;
  font-size: 2.7rem;
  line-height: 1.4;
  letter-spacing: 0.7px;
  text-align: left;
  margin: 0 0 37px 12px;
  font-family: A1 Gothic B, sans-serif;
}
.notice_listWrap li p.notice_dataile {
  width: 400px;
  margin: 40px auto;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.4px;
  text-align: left;
  font-family: Shuei MaruGo B;
}
.notice_listWrap li p.notice_dataile a {
  font-size: inherit;
  text-decoration: underline;
}

.notice_img img {
  max-width: 550px;
  width: 100%;
  height: auto;
}
.notice_img figure {
  margin: 0;
}
.notice_img figure figcaption {
  margin: 10px 0 0;
  display: block;
  letter-spacing: 0.10em;
  color: #898989;
  text-align: center;
  font-size: 1.4rem;
  font-family: Shuei MaruGo L;
}
.notice_size {
  width: 450px;
  margin: 40px auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.notice_size dl {
  display: flex;
  margin-bottom: 10px;
}
.notice_size dl dt {
  width: 30px;
  text-align: end;
  margin-right: 10px;
}
.notice_size dl dt, .notice_size dl dd {
  line-height: 1.7;
  letter-spacing: 0.2em;
  font-size: 1.4rem;
  font-family: Shuei MaruGo B
}
.notice_profile {
  width: 500px;
  margin: auto;
}
.notice_profile-style {
  margin: 0 20px 0 0;
}
.notice_profile dt, .notice_profile-inner dd {
  text-align: left;
}
.notice_profile dt img {
  max-width: 103px;
}
.notice_profile-inner {
  display: flex;
}
.notice_profile-inner dd span {
  display: block;
  font-size: 1.8rem;
  color: #D75A24;
  line-height: 1.8;
  font-family: Shuei MaruGo B!important;
}
.notice_profile-inner img {
  max-width: 130px;
  vertical-align: text-top;
}
.notice_profile-inner dd {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.35px;
  font-family: Shuei MaruGo L;
}

.notice_listWrap li {
  margin: 0 0 60px 0;
  padding: 42.5px 25px;
  background: #FFF;
  border-radius: 20px 20px;
}

.notice_timetable .notice_ttl {
  text-align: center!important;
  margin: 0 0 37px!important;
}
.notice_timetable .notice_dataile dl:not(.notflex) {
  margin: 0;
}
.notice_timetable dl {
  display: flex;
}
.notice_dataile {
  width: 350px;
  margin: auto;
}
.notice_dataile dl.notflex {
  display: block;
  margin: 0 0 10px;
}
.notice_dataile dl dt {
  width: 100px;
}
.notice_dataile dl.notflex dt {
  width: 100%;
}
.notice_dataile dl dt, .notice_dataile dl dd {
  font-size: 17px;
  line-height: 2;
  text-align: left;
  font-family: Shuei MaruGo B;
  letter-spacing: 0.02em;
}
.photographer {
  font-size: 1.4rem;
  line-height: 2.45;
  letter-spacing: 2.8px;
  font-family: Shuei MaruGo L;
  text-align: center;
}

.mb40 {
  margin-bottom: 40px;
}
/*---------------------------------Footer*/
.footer {
  width: 880px;
  margin: auto;
}
.footer__outer {
  display: -ms-flexbox;
  display: flex;
  width: calc(100% - 20px);
  max-width: 872px;
  margin: 0 auto;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 34px 0;
}
.footer-list__items {
  width: 398px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
    justify-content: flex-start;
}
.footer-list__item:nth-child(3) {
  margin-right: -0.001px;
}
.footer-list2 {
  text-align: right;
}
.footer-list__items2 {
  display: flex;
}
.footer-list__item2:nth-child(3) {
  margin-right: -1px;
}
.footer-copyright {
  width: 100%;
  background-color: #000;
  text-align: center;
  padding: 15px 0;
}
.footer-copyright__image {
  max-width: 210px;
}

@media screen and (max-width: 768px) {
  .footer {
    width: 100%;
  }
  .footer__outer {
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 480px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  br {
    display: none;
  }
  .br-pcsp {
    display: block;
  }
  .br-sp {
    display: block;
  }

  .project__title .noticeWrap {
    max-width: 100%;
    margin: 0 auto 90px;
    opacity: 0;
    padding: 0;
  }
  .project__title .inner {
    max-width: 90%;
    margin: 50px auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 20px;
  }
  .project__title .inner img {
    max-width: 100%;
    width: 100%;
  }

  .btn__down {
    left: 47%;
  }

  .project__contents {
    max-width: 90%;
    margin: 250px auto 0;
  }
  .project__contents .about {
    width: 80%;
    font-size: 1.3rem;
    letter-spacing: 0.33px;
    line-height: 1.999;
    text-align: left;
    margin: 25px auto;
  }
  .project__contents .about.last {
    margin: 25px auto;
  }
  .project__contents .date {
    margin: 0;
    font-size: 1.1rem;
  }
  .project__contents .linkBtn {
    max-width: 90%;
  }
  .project__contents .linkBtn a {
    font-size: 14px;
  }

  .project__info h2 {
    width: 90%;
    margin: 0 auto 30px;
    font-size: 2rem;
    line-height: 1.8;
    text-align: center;
  }

  .ttl_time {
    font-size: 1.7rem;
  }

  .intro__txt {
    width: 80%;
    font-size: 1.3rem;
    letter-spacing: 0.33px;
    line-height: 1.9;
    text-align: left;
    margin: 25px auto;
  }
  .intro__txt.intro__listA {
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .notice_ticket {
    width: 90%;
    margin: 45px auto 26px;
  }
  .notice {
    width: 90%;
  }
  .notice_listWrap li {
    padding: 20px 18px;
  }
  .notice_listWrap li h3 {
    width: 100%;
    margin: 0 0 13px;
    padding: 3px 0;
    font-size: 1.2rem;
  }
  .notice_listWrap li p.notice_ttl {
    font-size: 1.5rem;
    line-height: 1.7;
    letter-spacing: 0.7px;
    margin: 0 0 20px;
  }
  .notice_listWrap li p.notice_dataile {
    width: 100%;
    font-size: 1.3rem;
    line-height: 1.9;
    margin: 20px auto;
  }
  .notice_listWrap li {
    padding: 20px 18px;
  }
  .notice_img figure figcaption {
    font-size: 11px;
    line-height: 17px;
    text-align: left;
  }
  .notice_size {
    width: 80%;
    display: block;
    margin: 20px auto 0;
  }
  .notice_size dl dt, .notice_size dl dd {
    font-size: 1.3rem;
  }
  .notice_profile {
    width: 100%;
  }
  .notice_profile-inner {
    display: block;
  }
  .notice_profile-style.img {
    margin: 0 0 16px 0;
    text-align: center;
  }
  .notice_listWrap li p.notice_ttl {
    font-size: 1.5rem;
    line-height: 1.7;
    letter-spacing: 0.7px;
    margin: 0 0 20px;
  }
  .notice_dataile {
    width: 100%;
  }
  .notice_dataile dl {
    padding-top: 0;
    margin-top: 0;
  }
  .notice_timetable dl dt, .notice_timetable dl dd {
    font-size: 1.3rem;
    line-height: 1.9;
  }
  .notice_ticket .txt {
    font-size: 1.4rem;
  }
  .notice_profile-inner dd span {
    font-size: 1.3rem;
    text-align: center;
  }
  .notice_profile-inner dd {
    font-size: 1.3rem;
  }
  .project__topic li {
    font-size: 14px;
  }
/*  .footer {
    width: 100%;
  }*/
  .footer-list {
    width: 100%;
  }
  .footer__outer {
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 34px 0;
  }
  .footer-list__items {
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .footer-list__item:nth-child(3) {
    margin-right: -0.001px;
  }
  .footer-list__items2 {
    text-align: right;
    display: flex;
  }
  .footer-list__items2 li:not(.bw) {
    margin-right: -1px;
  }
  .footer-copyright {
    width: 100%;
    background-color: #000;
    text-align: center;
    padding: 15px 0;
  }
  .footer-copyright__image {
    max-width: 210px;
  }
  .photographer {
    font-size: 1.1rem;
    line-height: 3;
    letter-spacing: 2.2px;
  }
}
@media screen and (max-width: 375px) {
  .notice_listWrap li p.notice_ttl {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 360px) {
  .project__info h2 {
    font-size: 13px;
  }
}