@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&family=Noto+Sans+JP:wght@500;700;900&display=swap');
/* ===================================================================
各展覧会ごとのスタイル
=================================================================== */

body {
  position: relative;
  font-family: YakuHanJP,'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: clamp(14px, 2vw, 18px);
}

body::before {
  content: "";
  background: url(/event/gallery/noitaminashop/common/bg.png)repeat,#f2f2f2;
  display: block;
  position: absolute;
  background-size: 1200px;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  z-index: -1;
  background-position: center top;
}

.loading {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: url(/event/gallery/noitaminashop/common/bg.png)repeat,#f2f2f2;
  background-size: 1200px;
  background-position: center top;
  z-index: 9999;
}
.loading div{
  width: 60%;
  max-width: 400px;
  height: 100vh;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}


.mainSec{
  padding: 20px 0;
  margin-bottom: 70px;
  background: #fff;
  border: none;
  box-sizing: border-box;
  border-left: 1px solid #000;
}

.mainSec_text {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  text-align: left;
}

.topImg{
  display: block;
  width: 100%;
  margin: 35px auto 0;
  /*height: 100vh;*/
  position: relative;
  text-align: center;
}

.topImg h1 {
  position: relative;
  z-index: 1;
  background: none;
  margin: 0;
  width: 100%;
}

.topImg h1 img{
  max-width: 1800px;
  width: 100%;
}

.kikan {
  position: relative;
  background: #000;
}

/*
.kikan::before {
  content: '';
  background: url(../img/mina.png)no-repeat;
  background-size: contain;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 12%;
  height: 200px;
}

.kikan::after {
  content: '';
  background: url(../img/noi.png)no-repeat;
  background-size: contain;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 12%;
  height: 200px;
}

@media screen and (max-width: 768px) {
  .kikan::before,.kikan::after {
    display: none;
  }
}
*/

ul.loop {
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
}

.loop li{
  width: 40%;
}

.mainSec__head {
  margin: 0;
  background: none;
  padding: 0;
  width: 100%;
}

.mainSec_table {
  margin : 10px 0;
  color: #ffffff;
}

.mainSec_table th {
  position: relative;
  min-width: 300px;
  padding: 5px 15px;
  background-color: #98D431;
  color: #000;
  font-weight: bold;
}

.mainSec_table th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-7px;
  border-left: 10px solid #98D431;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.mainSec_table td {
  background-color: #f2f2f2;
  color: #000;
  padding: 5px 15px;
  text-align: left;
}

.mainSec_table tr {
  border-bottom: 1px solid #fff;
}

a.map_link {
  background: #999;
  color: #fff;
  padding: 2px 5px;
  margin: 5px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 12px;
  text-decoration: none;
  border-radius: 3px;
}

a.map_link:hover {
  background: #98D431;
}

h2.mainSec__head{
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  position: relative;
  color: #000;
  font-size: 3em;
  text-align: left;
  padding: 0;
  margin: 0 auto 5px;
  background: none;
  line-height: 1em;
  word-break: break-all;
  max-width: 1200px;
}

h3.mainSec__subhead{
  position: relative;
  color: #fff;
  background: #000;
  font-size: 1.2em;
  padding: 8px 0;
  margin: 10px 0 20px;
  text-align: center;
  line-height: 1.2em;
  font-weight: 700;
  font-family: 'Noto Sans JP', sans-serif;
}

.catch {
  position: relative;
  display: block;
  margin: 1.5em auto;
  padding: 7px 10px;
  width: 100%;
  color: #000;
  background: #FFF;
  border: solid 3px #000;
  box-sizing: border-box;
  text-align: center;
  max-width: 400px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.5em;
  font-weight: bold;
}

.catch:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}

.catch:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #000;
  z-index: 1;
}

.catch p {
  margin: 0;
  padding: 0;
}

h4.mainSec__subhead {
  position: relative;
  font-family: 'Noto Sans JP', sans-serif;
  margin: 10px 0 0;
  padding: 0;
  color: #000;
  font-size: 1em;
  text-align: left;
  border: none;
  font-weight: 700;
  display: inline-block;
  letter-spacing: 1px;
  line-height: 1.5;
  vertical-align: middle;
}

h4.mainSec__subhead>span {
  background: #000;
  color: #fff;
  padding: 0 4px 2px 5px;
  margin-right: 3px;
}

h4.midashi {
  border: 1px solid #000;
  padding: 10px;
  margin: 30px 0 10px;
  font-size: 16px;
}

.underline {
  background: linear-gradient(#fff 55%,#def1c0 55%, #def1c0 100%);
}

.sp_br {
  display: none;
}

.hr01 {
  border-top: 1px dashed #98d431;
  margin: 50px 0;
}

@media screen and (max-width: 750px) {
  .sp_br {
    display: block;
  }
  .pc_br {
    display: none;
  }
  h3.mainSec__subhead{
    font-size: 1.2em;
  }
  body::before {
    background-size: 300px;
  }
  .catch {
    max-width: 300px;
    font-size: 1.2em;
  }
}

.scrolldown {
    text-align: center;
    position: relative;
}
  
 .scrolldown span {
  position: absolute;
  top: -200px;
  left: 48%;
  width: 55px;
  height: 55px;
  border-left: 10px solid #98D431;
  border-bottom: 10px solid #98D431;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 1.5s infinite;
  animation: sdb 1.5s infinite;
  box-sizing: border-box;
  z-index: 1;
}

@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
            transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
            transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}

.sticker {
  text-align: center;
  margin: 2rem 0;
}

.sticker img{
  max-width: 400px;
  width: 100%;
}


.postcard {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

.postcard li{
  width: calc(100% / 3 - 10px);
  margin: 5px;
}

.gallery_list li{
  list-style-type: none;
  position: relative;
  padding-left: 14px;
  line-height: 1.5;
  margin-bottom: 8px;
}

.gallery_list li:before{
  border-radius: 50%;
  width: 5px;
  height: 5px;
  display: block;
  position: absolute;
  left: 0;
  top: 0.6em;
  content: "";
  background: #000;
}

.goods_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  text-align: left;
  margin: 0;
}

.goods_list>li{
  position: relative;
  width: calc((100% - 40px) / 4);
  line-height: 15px;
  border: 1px solid #ccc;
  margin: 5px;
  padding-bottom: 30px;
}

.goods-img a {
  position: relative;
  display: block;
  height: 0;
  padding-bottom: 100%;
  background: #fff;
}

.goods-img img{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

div.goods-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between!important;
}

.goods_list p{
  font-size: 14px;
  margin: 0;
  padding: 5px;
  line-height: 1.4;
}

p.price {
  position: absolute;
  bottom: 0;
  text-align: right;
  background: #eee;
  height: 30px;
  line-height: 20px;
  width: 100%;
  padding: 5px;
}

.goods_list a:hover{
  text-decoration: none;
}

@media screen and (max-width: 750px) {
  .goods_list>li{
    width: calc((100% - 20px) / 2);
  }
  .postcard li {
    width: calc(100% / 2 - 10px);
  }
}

.fadein {
  opacity : 0;
  transform : translate(-50px, 0);
  transition:all 1s;
}
.fadein.scrollin {
  opacity : 1;
  transform : translate(0, 0);
}

@media screen and (max-width: 1199px) {

  .mainSec{
    width: 95%;
    margin-bottom: 30px;
  }

  h2.mainSec__head{
    width: 95%;
    font-size: 2.5em;
  }

  .mainSec_text {
    padding: 0 15px;
    width: 100%;
    box-sizing: border-box;
  }

}

@media screen and (max-width: 1100px) {
  .topImg h1 {
    margin-top:50px;
  }
}

@media screen and (max-width: 750px) {  

  body.blur .topImg h1 {
    opacity: 0;
    pointer-events: none;
  }

  .scrolldown span {
    position: absolute;
    top: -150px;
    left: 42%;
  }

  .mainSec_table {
    margin: 10px auto;
    width: 100%;
  }

  .mainSec_table th {
    display: block;
    padding: 5px;
    width: auto;
    min-width: auto;
  }

  .mainSec_table th:after {
    display: none;
  }

  .mainSec_table td {
    display: block;
    margin-bottom: 8px;
    padding: 5px;
  }

  a.map_link {
    font-size: 10px;
    vertical-align: middle;
  }
  .goods_list p{
    font-size: 12px;
    line-height: 1.6;
  }
}

.movetext{
  opacity:0;
}
.movetext span{
  opacity:0;
}

.mina,.noitan {
  position: absolute;
  width: 24%;
  animation: pyonpyon 3s infinite ease;
}

.mina {
  bottom: 10px;
  left: 50px;
  animation-delay: 2s;
}

.noitan {
  bottom: 0;
  right: 50px;
}

@keyframes pyonpyon {
  0% {
    transform: translate(0, 0);
  }
  5% {
    transform: translate(0, 0);
  }
  10% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(0, -15px);
  }
  25% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(0, -15px);
  }
  50% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}

@media screen and (max-width: 750px) {  
  .mina {
    width: 40%;
    left: 10px;
  }
  
  .noitan {
    width: 38%;
    bottom: 36%;
    right: 5px;
  }
}

.keyvisual {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 10px;
  margin: 1em 0 0;
}

.keyvisual li{
  width: 100%;
  margin: 0;
  background: #000;
}

.keyvisual p{
  color: #fff;
  margin: 0;
  padding: 5px;
  font-size: 10px;
  line-height: 1.2;
  height: 34px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.keyvisual a{
  text-decoration: none;
}

.on:hover{
  background: #98D431;
}


.andmore_pc p{
  color: #000;
  font-size: 20px;
  font-weight: bold;
  margin: 1em 0;
  padding: 0;
}

.andmore_sp {
  display: none;
}

@media screen and (max-width: 600px) {  
  .keyvisual {
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 0;
  }
}


.slider-box p, .slider-box div, .loop-box ul, .loop-box li {
  box-sizing: border-box; margin: 0 !important; padding: 0 !important;
}

/* 画像ループ */
.loop-box{
  position: relative;
  width: 100%;
  overflow: hidden; 
}
.loop-box, .loop-box ul {
  height: 400px; /* スライダーの高さ - 変更注意 */
}
.loop-box ul {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background: none;
  list-style: none;
  max-width: 10000%; 
  min-width: 100%;
  width: calc(400px * 0.7 * 8); /* 画像の横幅×枚数 - 変更注意・変更可・変更注意 */
  animation: 60s linear infinite; /* アニメーション設定 - 変更可 */
}
.loop-box li {
  display: flex;
  align-items: center; 
  justify-content: center;
  color: #fff;
  width: calc(100% / 8); /* li の幅を均等にする - 削除可・変更注意 */
}
.loop-box img {
  height: auto;
  width: 100%;
}

.loop-box ul.loop1 {
  animation-name: loop1;
}
.loop-box ul.loop2 {
  animation-name: loop2;
}
@keyframes loop1 {
  0% {transform: translateX(0); }
  49.99999% {transform: translateX(-100%); }
  50% {transform: translateX(100%); }
}
@keyframes loop2 {
  0% {transform: translateX(100%); }
  100%{transform: translateX(-100%); }
}

@media screen and (max-width: 768px) {  
  .loop-box, .loop-box ul {
    height: 280px;
  }
  .loop-box ul {
    width: calc(280px * 0.7 * 8);
  }
}

.linkbtn {
  background: #fff;
  padding: 10px;
  margin: 30px 0;
  display: block;
  border-radius: 30px;
  text-align: center;
  border: 2px solid #7ab319;
}

a.linkbtn{
  text-decoration: none;
  color: #7ab319;
}

a.linkbtn:hover {
  background: #7ab319;
  color: #fff;
}

.campaign-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1em;
}

.title-logo {
  width: 15%;
  margin: 0 10px;
}

.campaign-wrap ul{
  width: 85%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: .5em;
  text-align: center;
  margin: 0;
}

.campaign-wrap li{
  border: 1px solid #ccc;
  padding: 5px;
}

.campaign-wrap li a{
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.campaign-wrap p{
  margin: 0;
}

.campaign-kikan {
  position: relative;
  background: #000;
  color: #fff;
  border-radius: 30px;
}

.campaign-kikan i{
  position: absolute;
  font-size: 20px;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.campaign-wrap li a:hover p.campaign-kikan{
  background: #98D431;
}

li.comingsoon {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  color: #ccc;
  min-height: 62px;
}

@media screen and (max-width: 1180px){
  .campaign-wrap ul {
    width: 80%;
    grid-template-columns: 1fr 1fr;
  }
  .title-logo {
    width: 20%;
  }
}

@media screen and (max-width: 750px){
  .campaign-wrap {
    display: block;
  }
  .campaign-wrap ul {
    width: 100%;
    grid-template-columns: 1fr;
  }
  .title-logo {
    width: 200px;
    margin: 0 auto;
  }
}

.tokuten_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-gap: 10px;
  margin: 0 0 1em;
}

.tokuten_wrap li{
  width: 100%;
  margin: 0;
  padding: 0;
  border: 1px solid #eee;
}

@media screen and (max-width: 550px){
  .tokuten_wrap {
    grid-template-columns: 1fr 1fr;
  }
}

.copyrights {
  text-align: center;
  margin: 0 auto;
  padding: 1em;
  line-height: 1.5;
  max-width: 1200px;
}

.sns {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0 0 2em;
  font-weight: normal;
  height: 60px;
}
.sns li {
  list-style: none;
  margin: 5px;
  color: #ffffff;
}
.sns li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  background: #000000;
  padding: 8px;
  border-radius: 4px;
  color: #fff;
}
#t-icon a {
  padding: 10px;
}