@charset "UTF-8";
/* css/generic.css */

/* ================================= */
/*             汎用セレクタ           */
/* ================================= */

/* 画面幅に応じてdisplay:block;/none;を切り替えるクラス */
@media screen and (min-width: 1101px) {
  .onlyPc {
    display: block;
  }
}
@media screen and (min-width: 768.1px) and (max-width: 1100px) {
  .onlyPc {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .onlyPc {
    display: none;
  }
}

@media screen and (min-width: 1101px) {
  .onlyTb {
    display: none;
  }
}
@media screen and (min-width: 768.1px) and (max-width: 1100px) {
  .onlyTb {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .onlyTb {
    display: none;
  }
}

@media screen and (min-width: 1101px) {
  .onlySp {
    display: none;
  }
}
@media screen and (min-width: 768.1px) and (max-width: 1100px) {
  .onlySp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .onlySp {
    display: block;
  }
}

@media screen and (min-width: 1101px) {
  .belowTb {
    display: none;
  }
}
@media screen and (min-width: 768.1px) and (max-width: 1100px) {
  .belowTb {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .belowTb {
    display: block;
  }
}

@media screen and (min-width: 1101px) {
  .exceptSp {
    display: block;
  }
}
@media screen and (min-width: 768.1px) and (max-width: 1100px) {
  .exceptSp {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .exceptSp {
    display: none;
  }
}

@media screen and (min-width: 1101px) {
  .exceptSpInline {
    display: inline;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .exceptSpInline {
    display: inline;
  }
}
@media screen and (max-width: 768.1px) {
  .exceptSpInline {
    display: none;
  }
}

@media screen and (min-width: 1101px) {
  .onlySpInline {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .onlySpInline {
    display: none;
  }
}
@media screen and (max-width: 768.1px) {
  .onlySpInline {
    display: inline;
  }
}

.below540 {
  display: none;
}
@media (max-width: 540px) {
  .below540 {
    display: block;
  }
}

/* 改行禁止 */
.nowrap {
  white-space: nowrap;
}

/* 子spanの改行禁止 */
.childSpan--nowrap > span {
  white-space: nowrap;
}

/* 子孫spanの改行禁止 */
.descSpan--nowrap span {
  white-space: nowrap;
}

.underline--black {
  border-bottom: solid var(--black) 0.1rem;
}

.underline--red {
  border-bottom: solid var(--red) 0.1rem;
}

.inline {
  display: inline;
}

.hover--opacity {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .hover--opacity:hover {
    opacity: 0.7;
  }
}

.none {
  display: none;
}

.invisible {
  visibility: hidden;
}