@charset "UTF-8";

/* ----------common---------- */
:root {
  --mainColor-black: #1E1E1E;
  --mainColor-white: #EEEEEE;
  --accentColor-handBrown: #322924;
  --accentColor-handRed: #BA3737;
  --accentColor-handLightBlue: #48F2D0;
  --accentColor-handOrange: #DD7531;
  --accentColor-handBlue: #1C1E79;
  --accentColor-foxRed: #563838;
  --accentColor-foxGreen: #081911;
  --accentColor-suitRightViolet: #504659;
  --accentColor-suitViolet: #160427;
  --accentColor-bobBlue: #242829;
  --accentColor-bobGray: #B8ACAC;
  --accentColor-tongueBlue: #293981;
  --accentColor-tongueGreen: #23C850;
  --accentColor-gumOrange: #FFA05F;
  --accentColor-gumBlue: #1B96A2;
  --accentColor-bassBrown: #332924;
  --accentColor-bassGray: #555556;
}

* {
  cursor: crosshair;
}

a {
  cursor: pointer;
}

html {
  font-size: 62.5%;
}

.container {
  color: var(--mainColor-black);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  line-height: 1.7;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
  transition: all 0.7s;
  width: 100vw;
}

.font {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  line-height: 1;
}

img {
  width: 100%;
  height: auto;
}

.fadeIn {
  opacity: 0;
  transform: translateY(50px);
  transition: all 1s;
}

.fadeIn.animated {
  opacity: 1;
  transform: translateY(0);
}

.btn__link,
.category__name {
  display: block;
  font-size: 1.2rem;
  line-height: 1;
  padding: 10px 16px;
  border-radius: 27px;
  outline: 1px solid;
  outline-offset: -1px;
  position: relative;
}

.btn__link {
  margin: 30px auto 0;
  text-align: start;
}

.btn__link::after {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
  border: 0;
  border-top: solid 1px;
  border-right: solid 1px;
}

.btn__link--back {
  color: var(--accentColor-handRed);
  width: 70px;
}

.btn__link--back::after {
  border-color: var(--accentColor-handRed);
}

.section__topic,
.footerTopic__name {
  font-family: "Fjalla One", sans-serif;
  font-size: 10rem;
  line-height: 1.1;
  letter-spacing: -0.04em;
  overflow: hidden;
  margin-top: -100px;
  position: relative;
}

.section__topic--white {
  color: rgba(238, 238, 238, 0.5);
  -webkit-text-stroke: 1px var(--mainColor-black);
}

.section__topic--red {
  color: rgba(186, 55, 55, 0.5);
  -webkit-text-stroke: 1px var(--accentColor-handRed);
}

.section__topic--blue {
  color: rgba(28, 30, 121, 0.3);
  -webkit-text-stroke: 1px var(--accentColor-handBlue);
}

/* common pc */
@media screen and (min-width:821px) {
  .btn__link,
  .category__name {
    font-size: 1.8rem;
    padding: 14px 30px 16px;
    transition: outline-color 0.2s, color 0.2s, background-color 0.2s, transform 1s, opacity 1s;
  }

  .btn__link {
    margin-top: 90px;
  }

  .btn__link--back {
    width: 120px;
  }

  .btn__link::after {
    width: 9px;
    height: 9px;
    right: 30px;
    transition: border-color 0.2s;
  }

  .btn__link--back:hover {
    color: var(--accentColor-handBrown);
    outline-color: var(--accentColor-handRed);
    background-color: var(--accentColor-handRed);
  }

  .btn__link--back:hover::after {
    border-color: var(--accentColor-handBrown);
  }

  .section__topic,
  .footerTopic__name {
    font-size: 25rem;
    margin-top: -250px;
  }

  .spBr {
    display: none;
  }
}
/* common pc */
/* ----------common---------- */

/* ----------header---------- */
/* header */
.header {
  padding: 15px 4vw;
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: all 0.3s;
  z-index: 999999;
}

.header__topic {
  font-family: "Fjalla One", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: -0.04em;
  margin: 0 auto;
  transition: all 0.3s;
}

.header__topic a {
  cursor: pointer;
}

.header__topic span {
  margin-left: 6px;
  cursor: pointer;
}

.header::before {
  content: "";
  width: 100%;
  height: 55px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(238, 238, 238, 0.5);
  backdrop-filter: blur(3px);
  z-index: -1000;
  border-bottom: 1px solid var(--mainColor-black);
  transition: all 0.3s;
}

.header.red .header__topic {
  color: var(--accentColor-handRed);
}

.header.red::before {
  background-color: rgba(50, 41, 36, 0.5);
  border-color: var(--accentColor-handRed);
}

.header.blue .header__topic {
  color: var(--accentColor-handBlue);
}

.header.blue::before {
  background-color: rgba(221, 117, 49, 0.5);
  border-color: var(--accentColor-handBlue);
}

/* header pc */
@media screen and (min-width:821px) {
  .header {
    padding: 30px 4.16vw;
  }

  .header__topic {
    font-size: 3.6rem;
    margin: 0 0 0 auto;
  }

  .header__topic span {
    margin-left: 12px;
  }

  .header::before {
    height: 97px;
  }
}
/* header pc */
/* header */

/* nav */
.nav {
  background-color: var(--accentColor-handBrown);
  width: 240px;
  height: 100lvh;
  padding-top: 54px;
  z-index: 9999;
  position: fixed;
  top: 0;
  left: -240px;
  text-align: left;
}

.header.open {
  transform: translateX(240px);
}

.nav__list {
  padding-top: 60px;
  border-top: 1px solid var(--accentColor-handRed);
}

.nav__item {
  margin-top: 30px;
}

.nav__item:first-of-type {
  margin-top: 0;
}

.nav__item a {
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  margin-left: 6.4vw;
  color: var(--accentColor-handRed);
  position: relative;
  z-index: 99999;
}

.nav__terms a {
  font-size: 1.2rem;
  margin-top: 45px;
}

.nav__terms a:nth-of-type(2) {
  margin-top: 12px;
}

.btn__nav {
  width: 19.2vw;
  height: 55px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  border-radius: 50%;
  transition: all 0.3s;
  cursor: pointer;
}

.btn__nav span {
  display: inline-block;
  transition: all 0.3s;
  width: 24px;
  height: 2px;
  border-radius: 1px;
  background-color: var(--mainColor-black);
  position: absolute;
  top: 23px;
  left: 6.4vw;
  cursor: pointer;
}

.btn__nav span:nth-of-type(2) {
  top: 29px;
}

.header.red .btn__nav span {
  background-color: var(--accentColor-handRed);
}

.header.blue .btn__nav span {
  background-color: var(--accentColor-handBlue);
}

.header.open .btn__nav {
  transform: translateX(-240px);
  z-index: 10000;
}

.header.open .btn__nav span {
  top: 26px;
  background-color: var(--accentColor-handRed);
}

.header.open .btn__nav span:nth-of-type(1) {
  transform: rotate(-20deg);
}

.header.open .btn__nav span:nth-of-type(2) {
  transform: rotate(20deg);
}

/* nav pc */
@media screen and (min-width:821px) {
  .nav {
    width: 24.3vw;
    padding-top: 96px;
    left: -24.3vw;
  }

  .header.open {
    transform: translateX(24.3vw);
  }

  .nav__list {
    padding-top: 90px;
  }

  .nav__item {
    margin-top: 45px;
  }

  .nav__item a {
    font-size: 2.4rem;
    margin-left: 4.16vw;
    width: fit-content;
    padding-bottom: 2px;
    border-bottom: 1px dotted var(--accentColor-handBrown);
    transition: border-color 0.15s;
  }

  .nav__item a:hover {
    border-color: var(--accentColor-handRed);
  }

  .nav__terms a {
    font-size: 1.6rem;
    margin-top: 60px;
  }

  .nav__terms a:nth-of-type(2) {
    margin-top: 16px;
  }

  .btn__nav {
    width: 10.41vw;
    height: 97px;
  }

  .btn__nav span {
    width: 30px;
    top: 44px;
    left: 4.16vw;
  }

  .btn__nav span:nth-of-type(2) {
    top: 50px;
  }

  .header.open .btn__nav {
    transform: translateX(-24.3vw);
  }

  .header.open .btn__nav span {
    top: 47px;
  }
}
/* nav pc */
/* nav */
/* ----------header---------- */

/* ----------footer---------- */
.footer {
  background-color: var(--accentColor-handBrown);
  position: relative;
  overflow: hidden;
}

.footerNav__left,
.footerNav__right {
  position: absolute;
  top: 79.5vw;
}

.footerNav__left {
  left: 10.66vw;
}

.footerNav__right {
  right: 10.66vw;
}

.footerNav__item {
  margin-top: 8px;
}

.footerNav__item:first-of-type {
  margin-top: 0;
}

.footerNav__item a {
  display: block;
  width: fit-content;
  margin: 0 auto;
  font-size: 1rem;
  line-height: 1;
  color: var(--accentColor-handRed);
}

.footerTopic img {
  width: 95.2vw;
  margin-top: 30px;
}

.footerTopic__name {
  position: absolute;
  bottom: auto;
  left: 0;
}

.footerTopic__name a {
  display: flex;
  animation: scrollLoop 30s linear infinite;
}

@keyframes scrollLoop {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.footerTopic__name a span {
  font-size: 8rem;
  line-height: 1.2;
  margin-right: 21.33vw;
  cursor: pointer;
}

.copy {
  padding: 10px 0 24px;
}

.copy small,
.copyLink__item a {
  font-size: 0.6rem;
  line-height: 1;
  color: var(--accentColor-handRed);
  letter-spacing: 0;
}

.copyLink__list {
  display: flex;
  height: 8.5px;
  align-items: center;
  position: absolute;
  bottom: 24px;
  right: 8vw;
}

.copyLink__item a {
  margin-left: 2.13vw;
  font-family: "Noto Sans JP", sans-serif;
}

/* footer pc */
@media screen and (min-width:821px) {
  .footerNav__left,
  .footerNav__right {
    top: min(374px, 25.97vw);
  }

  .footerNav__left {
    left: 13.88vw;
  }

  .footerNav__right {
    right: 13.88vw;
  }

  .footerNav__item {
    margin-top: 30px;
  }

  .footerNav__item a {
    font-size: 2.4rem;
    padding-bottom: 2px;
    border-bottom: 1px dotted var(--accentColor-handBrown);
    transition: border-color 0.15s;
  }

  .footerNav__item a:hover {
    border-color: var(--accentColor-handRed);
  }

  .footerTopic img {
    max-width: 674px;
    margin-top: 120px;
  }

  .footerTopic__name {
    margin-top: -210px;
  }

  .footerTopic__name a span {
    font-size: 20rem;
    margin-right: 13.88vw;
  }

  .copy {
    padding-bottom: 60px;
  }

  .copy small,
  .copyLink__item a {
    font-size: 1.2rem;
  }

  .copyLink__list {
    bottom: 60px;
    right: 12.5vw;
  }

  .copyLink__item a {
    margin-left: 1.04vw;
    border-bottom: 1px dotted var(--accentColor-handBrown);
    transition: border-color 0.15s;
  }

  .copyLink__item a:hover {
    border-color: var(--accentColor-handRed);
  }
}
/* footer pc */
/* ----------footer---------- */
