@charset "UTF-8";
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  background: #fdfdfd;
}

.section__inner {
  text-align: center;
  max-width: 343px;
  padding-top: 64px;
  padding-bottom: 64px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .section__inner {
    max-width: 1080px;
    padding-top: 80px;
    padding-bottom: 80px;
    width: calc(100% - 32px);
  }
}
.img__contaier {
  margin-top: 32px;
}

@media screen and (min-width: 768px) {
  .img__contaier {
    margin-top: 40px;
  }
}
.img--sp {
  width: 343px;
}

.img--pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .img--sp {
    display: none;
  }
  .img--pc {
    display: inline;
    height: 552px;
  }
}
.section__title--small {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

@media screen and (min-width: 768px) {
  .section__title--small {
    font-size: 48px;
  }
}
.section__title {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 48px;
}

@media screen and (min-width: 768px) {
  .section__title {
    font-size: 48px;
  }
}
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%; /* 追加: ヘッダーを全幅に設定 */
  z-index: 1000; /* 追加: ヘッダーを前面に表示 */
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 追加: ボックスモデルを調整 */
}

@media screen and (min-width: 768px) {
  header {
    background-color: #fdfdfd;
  }
}
.header__nav {
  display: none;
}

@media screen and (min-width: 768px) {
  .header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
  }
  .header__link {
    color: #333;
    font-family: "Noto Sans jp";
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
  }
  .header__link:hover {
    color: #E73656;
  }
}
.header__drawerButton {
  background: none;
  border: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 80px;
  width: 80px;
  padding: 24px 20px;
  position: relative;
  z-index: 1001;
}
.header__drawerButton.open span {
  background-color: #fdfdfd;
}
.header__drawerButton.open span:nth-child(1) {
  -webkit-transform-origin: top left;
          transform-origin: top left;
  -webkit-transform: rotate(36.66deg);
          transform: rotate(36.66deg);
  width: 51.22px;
}
.header__drawerButton.open span:nth-child(2) {
  opacity: 0;
}
.header__drawerButton.open span:nth-child(3) {
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  -webkit-transform: rotate(-36.66deg);
          transform: rotate(-36.66deg);
  width: 51.22px;
}

@media screen and (min-width: 768px) {
  .header__drawerButton {
    display: none;
  }
}
.drawer-icon__bar {
  background-color: #fdfdfd;
  height: 3px;
  width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 80px;
  padding-left: 16px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 22px;
}

@media screen and (min-width: 768px) {
  .header__inner {
    max-width: 1080px; /* 最大幅を1080pxに設定 */
    width: 100%; /* 幅を100%に設定 */
    margin: 0 auto; /* 左右のマージンを自動で設定 */
    height: 80px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; /* 右寄せ */
    width: calc(100% - 32px);
  }
}
.drawer {
  width: 100%;
  height: 100vh;
  background-color: #F6D8DD;
  position: absolute;
  top: 0;
  left: -100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.drawer.open {
  display: block; /* 表示 */
  left: 0;
}

@media screen and (min-width: 768px) {
  .drawer {
    display: none;
  }
}
.drawer__inner {
  width: 128px;
  padding-top: 111px;
  padding-bottom: 112px;
  margin: 0 auto;
  text-align: left; /* 左寄せ */
}

.drawer__nav li + li {
  margin-top: 24px;
}

.drawer__link {
  display: block; /* ブロック要素として表示 */
  font-size: 40px;
  color: #E73656;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

.fv-img-pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .fv {
    margin-top: 80px;
  }
  .fv-img-sp {
    display: none;
  }
  .fv-img-pc {
    display: block;
  }
}
.about__text {
  text-align: left;
  margin-top: 32px;
}

@media screen and (min-width: 768px) {
  .about__text {
    margin-top: 40px !important;
  }
  .about__text p {
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
  }
}
.tracks {
  background: #F6D8DD;
}

@media screen and (min-width: 768px) {
  .tracks__2contents-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 40px;
  }
}
.tracks__contents-container {
  margin-top: 32px;
}

@media screen and (min-width: 768px) {
  .tracks__contents-container {
    margin-top: 40px;
  }
}
h2 {
  text-align: left;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding-left: 40px;
}

@media screen and (min-width: 768px) {
  h2 {
    font-size: 32px;
  }
}
.tracks__text {
  text-align: left;
  margin-top: 16px;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 200% */
}

@media screen and (min-width: 768px) {
  .tracks__text {
    margin-top: 24px;
    padding-left: 40px;
    font-size: 16px;
    line-height: 32px;
    border-left: solid 1px #333;
  }
}
.video {
  margin-top: 32px;
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9のアスペクト比 */
  height: 0;
}

@media screen and (min-width: 768px) {
  .video {
    margin-top: 40px;
  }
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.order__contents-container {
  margin-top: 32px;
}

@media screen and (min-width: 768px) {
  .order__contents-container {
    max-width: 342px;
    margin: 0 auto;
    margin-top: 40px;
  }
}
.button__booth {
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: inline-block;
  padding: 16px 16px;
  background-color: #E73656;
  color: #fdfdfd;
  text-decoration: none;
  border-radius: 48px;
  text-align: center;
  width: 100%;
  cursor: pointer;
  -webkit-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
}
.button__booth:hover {
  background-color: #fdfdfd;
  color: #E73656;
  border: 3px solid #E73656;
  padding: 13px 13px;
}

.button__tanoc {
  margin-top: 24px;
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: inline-block;
  padding: 16px 16px;
  background-color: #333;
  color: #fdfdfd;
  text-decoration: none;
  border-radius: 48px;
  text-align: center;
  width: 100%;
  cursor: pointer;
  -webkit-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
}
.button__tanoc:hover {
  background-color: #fdfdfd;
  color: #333;
  border: 3px solid #333;
  padding: 13px 13px;
}

@media screen and (min-width: 768px) {
  .button__tanoc {
    margin-top: 32px;
  }
}
.button__diverse {
  margin-top: 24px;
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: inline-block;
  padding: 16px 16px;
  background-color: #FC8238;
  color: #fdfdfd;
  text-decoration: none;
  border-radius: 48px;
  text-align: center;
  width: 100%;
  cursor: pointer;
  -webkit-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
}
.button__diverse:hover {
  background-color: #fdfdfd;
  color: #FC8238;
  border: 3px solid #FC8238;
  padding: 13px 13px;
}

@media screen and (min-width: 768px) {
  .button__diverse {
    margin-top: 32px;
  }
}
.button__melon {
  margin-top: 24px;
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: inline-block;
  padding: 16px 16px;
  background-color: #82C8A9;
  color: #fdfdfd;
  text-decoration: none;
  border-radius: 48px;
  text-align: center;
  width: 100%;
  cursor: pointer;
  -webkit-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
}
.button__melon:hover {
  background-color: #fdfdfd;
  color: #82C8A9;
  border: 3px solid #82C8A9;
  padding: 13px 13px;
}

@media screen and (min-width: 768px) {
  .button__melon {
    margin-top: 32px;
  }
}
.section__title--stream--sp {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 48px;
  margin-top: 64px;
}

@media screen and (min-width: 768px) {
  .section__title--stream--sp {
    display: none;
  }
}
.section__title--stream--pc {
  display: none;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 48px;
  margin-top: 64px;
}

@media screen and (min-width: 768px) {
  .section__title--stream--pc {
    display: block;
  }
}
.button__streaming {
  margin-top: 24px;
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: inline-block;
  padding: 16px 16px;
  background-color: #79C0D2;
  color: #fdfdfd;
  text-decoration: none;
  border-radius: 48px;
  text-align: center;
  width: 100%;
  cursor: pointer;
  -webkit-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
}
.button__streaming:hover {
  background-color: #fdfdfd;
  color: #79C0D2;
  border: 3px solid #79C0D2;
  padding: 13px 13px;
}

.credit {
  background-color: #F6D8DD;
}

.credit__text-container {
  margin-top: 32px;
}

@media screen and (min-width: 768px) {
  .credit__text-container {
    margin-top: 40px;
  }
}
.credit__text {
  color: #333;
  font-family: "Noto Sans jp";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}

@media screen and (min-width: 768px) {
  .credit__text {
    font-size: 16px;
    line-height: 32px;
  }
}
.mid-large-text {
  font-size: 18px;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .mid-large-text {
    font-size: 24px;
  }
}
.web-yosuke-link {
  color: #E73656;
}
.web-yosuke-link:hover {
  opacity: 0.7;
}

.footer__contents-container {
  padding-top: 32px;
  padding-bottom: 32px;
}

@media screen and (min-width: 768px) {
  .footer__contents-container {
    padding-top: 80px;
    padding-bottom: 80px;
    width: calc(100% - 32px);
  }
}
.footer__logo-container {
  margin: 0 auto;
  text-align: center;
  max-width: 343px;
}

.img-container + .img-container {
  margin-top: 8px;
}

@media screen and (min-width: 768px) {
  .img-container + .img-container {
    margin-top: 16px;
  }
}
.sprite-link:hover {
  opacity: 0.7;
}

.sprite-logo-sp {
  display: inline-block;
  width: 123px;
}

.sprite-logo-pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .sprite-logo-sp {
    display: none;
  }
  .sprite-logo-pc {
    display: inline-block;
    width: 150px;
  }
}
.go-twitter:hover {
  opacity: 0.7;
}

.twitter-logo-sp {
  display: inline-block;
  width: 24px;
}

.twitter-logo-pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .twitter-logo-sp {
    display: none;
  }
  .twitter-logo-pc {
    display: inline-block;
    width: 48px;
  }
}
small {
  display: block;
  font-size: 12px;
  margin-top: 8px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  small {
    font-size: 16px;
    margin-top: 16px;
  }
}