@media print, screen and (min-width: 961px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 960px) {
  .pc {
    display: none !important;
  }
}

@media print, screen and (min-width: 961px) {
  .kv {
    padding-top: 161px;
  }
}
.kv h1 {
  line-height: 1.5;
  font-weight: 600;
}
@media print, screen and (min-width: 961px) {
  .kv h1 {
    font-size: 40px;
    letter-spacing: 8px;
  }
}
@media screen and (max-width: 960px) {
  .kv h1 {
    font-size: 8.2051282051vw;
    letter-spacing: 1.641025641vw;
  }
}
.kv picture.kv_img {
  display: block;
  position: relative;
}
@media print, screen and (min-width: 961px) {
  .kv picture.kv_img {
    margin-top: 60px;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .kv picture.kv_img {
    margin-top: 8.2051282051vw;
    margin-left: -5.1282051282vw;
    margin-right: -5.1282051282vw;
  }
}
.kv picture.kv_img::before {
  content: "SPIRIT";
  display: block;
  font-family: Chonburi;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(rgba(255, 255, 255, 0.1)));
  background: linear-gradient(180deg, #FFF 0%, rgba(255, 255, 255, 0.1) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  z-index: 2;
}
@media print, screen and (min-width: 961px) {
  .kv picture.kv_img::before {
    font-size: 200px;
    letter-spacing: 20px;
    top: calc(100% - 97px);
    left: -93px;
  }
}
@media screen and (max-width: 960px) {
  .kv picture.kv_img::before {
    font-size: 18.4615384615vw;
    letter-spacing: 1.8461538462vw;
    top: 47.1794871795vw;
    left: 5.1282051282vw;
  }
}
.kv .wrapper {
  position: relative;
}
@media print, screen and (min-width: 961px) {
  .kv .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 143px;
    margin-top: 160px;
  }
}
@media screen and (max-width: 960px) {
  .kv .wrapper {
    margin-top: 16.1538461538vw;
  }
}
@media print, screen and (min-width: 961px) {
  .kv .wrapper h2 picture img {
    width: 164px;
  }
}
@media screen and (max-width: 960px) {
  .kv .wrapper h2 picture img {
    width: 85.8974358974vw;
  }
}
.kv .wrapper p {
  line-height: 2;
}
@media print, screen and (min-width: 961px) {
  .kv .wrapper p {
    max-width: 677px;
    font-size: 18px;
    letter-spacing: 3.6px;
  }
}
@media screen and (max-width: 960px) {
  .kv .wrapper p {
    margin-top: 8.2051282051vw;
    font-size: 4.6153846154vw;
    letter-spacing: 0.9230769231vw;
  }
}
.kv .wrapper p + p {
  margin-top: 2em;
}
.kv .wrapper::before {
  content: "";
  display: block;
  border-radius: 100%;
  opacity: 0.2;
  background: linear-gradient(136deg, #CB1F22 17.49%, #FFA800 85.86%);
  -webkit-filter: blur(50px);
          filter: blur(50px);
  position: absolute;
  z-index: -1;
}
@media print, screen and (min-width: 961px) {
  .kv .wrapper::before {
    width: 450px;
    height: 450px;
    top: -510px;
    left: -98px;
  }
}
@media screen and (max-width: 960px) {
  .kv .wrapper::before {
    width: 115.3846153846vw;
    height: 115.3846153846vw;
    top: -64.6153846154vw;
    left: -53.5897435897vw;
  }
}
.kv .wrapper::after {
  content: "";
  display: block;
  border-radius: 100%;
  opacity: 0.1;
  background: linear-gradient(136deg, #CB1F22 17.49%, #FFA800 85.86%);
  -webkit-filter: blur(50px);
          filter: blur(50px);
  position: absolute;
  z-index: -1;
}
@media print, screen and (min-width: 961px) {
  .kv .wrapper::after {
    width: 687px;
    height: 687px;
    top: 158px;
    right: -89px;
  }
}
@media screen and (max-width: 960px) {
  .kv .wrapper::after {
    width: 176.1538461538vw;
    height: 176.1538461538vw;
    top: 111.2820512821vw;
    left: 17.1794871795vw;
  }
}

@media print, screen and (min-width: 961px) {
  #instagram {
    margin-top: 160px;
    padding-bottom: 200px;
  }
}
@media screen and (max-width: 960px) {
  #instagram {
    margin-top: 20.5128205128vw;
  }
}
#instagram .inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-top: 2px solid #221915;
}
@media print, screen and (min-width: 961px) {
  #instagram .inner {
    padding: 60px 0 0;
  }
}
@media screen and (max-width: 960px) {
  #instagram .inner {
    margin-left: 5.1282051282vw;
    margin-right: 5.1282051282vw;
    padding: 10.2564102564vw 0 0 0;
  }
}
#instagram h2 {
  line-height: 1.5;
  font-weight: 600;
}
@media print, screen and (min-width: 961px) {
  #instagram h2 {
    font-size: 32px;
    letter-spacing: 6.4px;
  }
}
@media screen and (max-width: 960px) {
  #instagram h2 {
    font-size: 6.1538461538vw;
    letter-spacing: 1.2307692308vw;
  }
}
#instagram h2::before {
  content: "Instagram";
  display: block;
  font-family: Chonburi, serif;
  font-weight: 400;
  letter-spacing: 0;
}
@media print, screen and (min-width: 961px) {
  #instagram h2::before {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 16px;
  }
}
@media screen and (max-width: 960px) {
  #instagram h2::before {
    margin-bottom: 3.0769230769vw;
    font-size: 5.1282051282vw;
    line-height: 1.6;
  }
}
#instagram .photos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media print, screen and (min-width: 961px) {
  #instagram .photos {
    gap: 29px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 960px) {
  #instagram .photos {
    gap: 1.2820512821vw;
    margin-top: 10.2564102564vw;
  }
}
#instagram .photos a {
  aspect-ratio: 1/1;
}
@media print, screen and (min-width: 961px) {
  #instagram .photos a {
    width: calc((100% - 87px) / 4);
  }
}
@media screen and (max-width: 960px) {
  #instagram .photos a {
    width: calc((100% - 1.2820512821vw) / 2);
  }
}
#instagram .photos a img,
#instagram .photos a video {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#instagram .btn {
  text-align: center;
}
@media print, screen and (min-width: 961px) {
  #instagram .btn {
    margin-top: 60px;
  }
}
@media screen and (max-width: 960px) {
  #instagram .btn {
    margin-top: 10.2564102564vw;
  }
}
#instagram .btn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid rgba(0, 0, 0, 0.5);
  color: #221915;
  font-family: Chonburi, serif;
  text-decoration: none;
}
@media print, screen and (min-width: 961px) {
  #instagram .btn a {
    width: 395px;
    height: 80px;
    font-size: 16px;
  }
  #instagram .btn a:hover {
    background-color: #221915;
    color: #fff;
  }
  #instagram .btn a:hover::before {
    background-color: #fff;
  }
}
@media screen and (max-width: 960px) {
  #instagram .btn a {
    margin-top: 8.2051282051vw;
    width: 100%;
    height: 15.3846153846vw;
    font-size: 4.1025641026vw;
  }
}
#instagram .btn a::before {
  content: "";
  display: inline-block;
  background-color: #221915;
  -webkit-mask-image: url(../img/icon_insta.svg);
          mask-image: url(../img/icon_insta.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media print, screen and (min-width: 961px) {
  #instagram .btn a::before {
    margin-right: 12px;
    width: 24px;
    height: 24px;
  }
}
@media screen and (max-width: 960px) {
  #instagram .btn a::before {
    margin-right: 3.0769230769vw;
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
}