@charset "UTF-8";

/* ================
 * Google Fonts
================ */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');

#heading {
  margin: 0;
}

.shinohai-clb__wrap {
  font-size: 15px;
  font-family: "Shippori Mincho", system-ui;
}

.shinohai-clb__wrap img {
  vertical-align: middle;
}

.wrap__bd {
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.wrap__bd::before {
  content: '';
  background: url(/event/shinnohai-collabo/images/bg2.jpg) top center;
  background-size: cover;
  position: absolute;
  filter: blur(0.66em);
  z-index: -1;
  top: 0;
  bottom: 0;
  left: -0.66em;
  right: -0.66em;
}

.wrap__hd {
  position: relative;
  background: url(/event/shinnohai-collabo/images/bg1.jpg) top center;
  background-size: cover;
  max-width: 1366px;
  width: 100%;
  aspect-ratio: 1920 / 1363;
  margin: 0 auto;
  filter: drop-shadow(0 0.33em 0.66em #fff);
  margin: 0 auto 4em;
}

.wrap__hd .box {
  position: relative;
}

.wrap__hd > img,
.wrap__hd > div {
  position: absolute;
}

img[src="/event/shinnohai-collabo/images/title.png"] {
  max-width: 180px;
  aspect-ratio: 600 / 2303;
  right: 4%;
  top: 4%;
}

img[src="/event/shinnohai-collabo/images/catch.png"] {
  top: 2%;
  left: 2%;
  max-width: 180px;
}

img[src="/event/shinnohai-collabo/images/map.png"] {
  top: 42%;
  right: 18%;
  max-width: 150px;
}

img[src="/event/shinnohai-collabo/images/date.png"] {
  bottom: 2%;
  left: 2%;
  max-width: 600px;
}

img[src="/event/shinnohai-collabo/images/place.png"] {
  bottom: 4%;
  /* left: calc(600px + 4%); */
  right: 2%;
  max-width: 240px;
}

.hd__ttl {
  left: 4%;
  top: 16%;
}

.hd__ttl div {
  font-size: 5.6em;
  font-weight: 800;
  display: inline-block;
  background: linear-gradient(30deg, #AD8211 0, #FFE6A4 75%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0.075em 0.05em 0.025em #000);
  line-height: 1em;
}

.hd__ttl span {
  font-size: 0.75em;
}

.hd__ramen {
  max-width: 900px;
  top: 47%;
  left: 2%;
}

.hd__ramen ul {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hd__ramen li {
  width: 20%;
  position: relative;
}

.hd__ramen li span {
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  font-size: 0.8em;
  padding: 0.25em 0;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.75);
  text-align: center;
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  color: #000;
}

.hd__ramen .lower li:nth-of-type(4) {
  aspect-ratio: 600 / 480;
  background: rgba(255, 255, 255, 0.75);
}

.hd__ramen .lower li:nth-of-type(4) img {
  padding: 15% 0 0;
}

.hd__ramen .lower li:nth-of-type(4) span {
  background: none;
}

.hd__term {
  left: 2%;
  bottom: 12%;
}

.hd__term > div {
  font-size: 3.2em;
  font-weight: 600;
  color: #fff;
  display: inline-flex;
  align-items: baseline;
  /* filter: drop-shadow(0.05em 0.075em 0.05em #000); */
  border-bottom: 0.05em solid;
}

.hd__term .priod {
  border: 0.05em solid #fff;
  padding: 0 0.25em;
  margin: 0 0.15em 0 0;
  font-size: 0.6em;
}

.hd__term .num {
  font-size: 1.25em;
  margin: 0 0.1em;
}

.hd__term .mon,
.hd__term .sun {
  display: inline-block;
  font-size: 0.6em;
  background: #000;
  width: 1.6em;
  height: 1.6em;
  border-radius: 100vh;
  position: relative;
  bottom: 0.2em;
  text-align: center;
}

.hd__term .mon {
  background: #000;
}

.hd__term .sun {
  background: #f00;
}

.hd__term .kara {
  margin: 0 0 0 0.1em;
}

.hd__cycle {
  font-family: 'Noto Sans JP', sans-serif;
  bottom: 2%;
  left: 48%;
  color: #fff;
  font-size: 0.8em;
  font-weight: 300;
  display: inline-flex;
  align-items: center;
}

.hd__cycle img {
  max-width: 120px;
  margin: 0 1em 0 0;
}

.hd__copy {
  font-family: 'Noto Sans JP', sans-serif;
  bottom: 1%;
  right: 1%;
  color: #fff;
  font-size: 0.8em;
  font-weight: 300;
}

.wrap__bd main {
  position: relative;
  z-index: 1;
  margin: 0 0 4em;
}

.wrap__bd section {
  max-width: 1366px;
  width: 100%;
  margin: 0 auto;
}

.wrap__bd .official-link {
  text-align: center;
}

.wrap__bd .official-link a {
  background: linear-gradient(225deg, #264a39 0%, #457762 100%);
  color: #fff;
  font-size: 2em;
  padding: 0.5em 2em;
  display: inline-block;
  border: 0.25em solid #AD8211;
  position: relative;
  box-shadow: 0.4em 0.4em 0 rgba(3,3,3,0.5);
  transition: all .3s ease;
}

.wrap__bd .official-link a:hover {
  opacity: .8;
  text-decoration: none;
  box-shadow: unset;
  transform: translate(0.3em,0.3em);
}

.wrap__bd .campaign {
  margin: 3em 0 0;
  text-align: center;
  padding: 0;
}

.wrap__bd .campaign > div {
  display: inline-block;
  background: rgba(255, 255, 255, 0.5);;
  padding: 2em;
  position: relative;
}

.wrap__bd .campaign > div::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(255, 230, 164, 0.5);
  position: absolute;
  z-index: -1;
  top: 1em;
  left: 1em;
}

.wrap__bd .campaign h4 {
  font-size: 1.8em;
  font-weight: 800;
}

.wrap__bd .campaign h4 > span {
  display: block;
  background: linear-gradient(2deg, #AD8210 40%, #FFE6A4 50%, #AD8211 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.8em;
  filter: drop-shadow(0.05em 0.05em 0.025em #333);
}

.wrap__bd .campaign h4 span .sm {
  font-size: 0.75em;
}

.wrap__bd .campaign > div div {
  text-align: center;
  display: inline-block;
}

.wrap__bd .campaign > div div p {
  margin: 1em 0 0;
  text-align: left;
  font-size: 1.4em;
  font-weight: 600;
}

.wrap__bd .campaign > div div p span {
  background: #182249;
  color: #fff;;
  padding: 0.25em 1em;
  margin: 0 1em 0 0;
  font-weight: 600;
}

.wrap__bd dl {
  background: #FFE6A4;
  background: linear-gradient(225deg, #AD8211 0%, #FFE6A4 100%);
  padding: 4em;
  margin: 3em 0 0;
  filter: drop-shadow(0 0.33em 0.66em #fff);
}

.wrap__bd dl > div {
  border: 0.4em solid #000;
}

.wrap__bd dt {
  text-align: center;
  padding: 1em 0;
}

.wrap__bd dt > span {
  font-size: 2.4em;
  font-weight: 800;
}

.wrap__bd dt > span > span {
  font-family: "ta-fuga-fude", sans-serif;
  font-size: 1.5em;
  font-weight: normal;
  display: block;
}

.wrap__bd dd {
  border-top: 0.2em solid #000;
  padding: 1.5em 2em;
}

.wrap__bd dd > ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.wrap__bd dd > ul > li {
  font-size: 1.6em;
  font-weight: 800;
}

.wrap__bd dd > ul > li:nth-of-type(1) {
  min-width: 42%;
  position: relative;
}

.wrap__bd dd > ul > li:nth-of-type(2) {
  min-width: 10%;
  margin: 0 4% 0 2%;
  text-align: right;
}

.wrap__bd dd > ul > li:nth-of-type(3) {
  min-width: 42%;
  text-align: center;
}

.wrap__bd dd a {
  color: #000;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.wrap__bd dd span {
  display: block;
  font-size: 1.25em;
  margin: 0 0 0.5em;
}

.wrap__bd dd .g-map {
  position: relative;
  margin: 1em 0 0;
  width: 100%;
  aspect-ratio: 2 / 1;
}

.wrap__bd dd .g-map iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}

.wrap__bd dd .sns {
  position: absolute;
  top: 0;
  left: calc(100% + 0.5em);
  display: flex;
}

.wrap__bd dd .sns li:nth-of-type(n+2) {
  margin: 0 0 0 0.5em;
}

.wrap__bd dd .sns i {
  font-size: 1.2em;
  color: #fff;
  padding: 0.25em 0;
  border-radius: 0.5em;
  width: 1.5em;
  text-align: center;
}

.wrap__bd dd .sns i.fa-house {
  background: #529ac6;
}

.wrap__bd dd .sns i.fa-x-twitter {
  background: #000;
}

.wrap__bd dd .sns i.fa-instagram {
  background: #c6529a;
}

.wrap__bd .support {
  background: linear-gradient(225deg, #10192e 0%, #182249 100%);
  /* background: #182249; */
  color: #fff;
  text-align: center;
  padding: 1em 0;
  margin: 4em 0 0;
}

.wrap__bd .support p {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6em;
  font-weight: 600;
}

@media screen and (max-width: 899px) {

  .shinohai-clb__wrap {
    font-size: 10px;
  }

  .wrap__hd {
    background: url(/event/shinnohai-collabo/images/bg2.jpg) top center;
    background-size: contain;
    aspect-ratio: 1920 / 2705;
  }

  img[src="/event/shinnohai-collabo/images/title.png"] {
    max-width: 90px;
    right: 2%;
    top: 2%;
  }

  img[src="/event/shinnohai-collabo/images/catch.png"] {
    max-width: 81px;
  }

  img[src="/event/shinnohai-collabo/images/map.png"] {
    top: 4%;
    right: 21%;
    max-width: 81px;
  }

  img[src="/event/shinnohai-collabo/images/date.png"] {
    bottom: 7%;
    max-width: 240px;
  }

  img[src="/event/shinnohai-collabo/images/place.png"] {
    bottom: 4%;
    max-width: 108px;
  }

  .hd__ttl {
    top: 12%;
  }

  .hd__ttl div {
    font-size: 9vw;
  }

  .hd__ttl span {
    line-height: 1em;
  }

  .hd__ramen {
    max-width: calc(100% - 108px);
    top: 40%;
  }

  .hd__ramen ul {
    align-items: end;
    /* justify-content: space-evenly; */
    /* margin: 0 0 2%; */
  }

  .hd__ramen li {
    width: 32%;
    aspect-ratio: 600 / 480;
  }

  .hd__ramen li span {
    line-height: 1em;
  }

  .hd__term {
    bottom: 14%;
  }

  .hd__term > div {
    font-size: 5vw;
  }

  .hd__cycle {
    bottom: 1%;
    left: 2%;
    line-height: 1.25em;
  }

  .hd__cycle img {
    max-width: 60px;
  }

  .hd__copy {
    right: 2%;
  }

  .wrap__bd .official-link a {
    font-size: 1.8em;
    padding: 0.5em 1em;
    box-shadow: unset;
  }

  .wrap__bd .official-link a:hover {
    transform: none;
  }

  .wrap__bd .campaign {
    margin: 2em 1em 0 0;
  }

  .wrap__bd .campaign h4 {
    font-size: 1.6em;
  }

  .wrap__bd .campaign h4 > span {
    line-height: 1.25em;
  }

  .wrap__bd .campaign > div div p span {
    padding: 0.25em 0;
    margin: 0 0 0.5em;
    display: block;
    width: 8em;
    text-align: center;
  }

  .wrap__bd dl {
    padding: 2em 1.5em;;
  }

  .wrap__bd dt {
    padding: 1em 0.5em;
  }

  .wrap__bd dt > span {
    font-size: 2em;
  }

  .wrap__bd dd {
    padding: 1.5em 1em;
  }

  .wrap__bd dd > ul {
    display: block;
    text-align: center;
  }

  .wrap__bd dd span {
    margin: 0;
  }

  .wrap__bd dd .sns {
    top: auto;
    left: auto;
    bottom: -2em;
    right: 0;
  }

  .wrap__bd dd > ul > li:nth-of-type(2) {
    text-align: center;
    margin: 0;
  }

  .wrap__bd dd > ul > li:nth-of-type(3) {
    margin: 1em 0 0;
  }

  .wrap__bd .support p {
    font-size: 1.4em;
  }
}
