@charset "UTF-8";

/*==================================
  1. Utility
==================================*/
.u-strong {
  font-weight: 700;
}

.u-error {
  color: #b60000;
}

.u-small {
  font-size: 90%;
}

.u-smaller {
  font-size: 60%;
}

.u-big {
  font-size: 110%;
}

.u-bigger {
  font-size: 140%;
}

.u-biggest {
  font-size: 170%;
}

.u-colon {
  position: relative;
}

.u-colon::after {
  content: "\ff1a";
  padding: 0 0.25em;
}

.u-sup {
  font-size: 1.2rem;
  letter-spacing: 0;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

/* adjustment */
.pc_none {
  display: none;
}
.pc_space {
  margin-left: 1em;
}

@media only screen and (max-width: 767px) {
  .pc_none {
    display: block;
  }
  .pc_space {
    margin: auto;
  }
}

/* Margin */
.u-mt0 {
  margin-top: 0 !important;
}
.u-mt20 {
  margin-top: 20px;
}
.u-mt40 {
  margin-top: 40px;
}
.u-mt60 {
  margin-top: 60px;
}
.u-mt80 {
  margin-top: 80px;
}
.u-mt100 {
  margin-top: 100px;
}
.u-mt120 {
  margin-top: 120px;
}
.u-mt160 {
  margin-top: 160px;
}

@media only screen and (max-width: 767px) {
  .u-mt20 {
    margin-top: 10px;
  }
  .u-mt40 {
    margin-top: 20px;
  }
  .u-mt60 {
    margin-top: 30px;
  }
  .u-mt80 {
    margin-top: 40px;
  }
  .u-mt100 {
    margin-top: 50px;
  }
  .u-mt120 {
    margin-top: 60px;
  }
  .u-mt160 {
    margin-top: 80px;
  }
}

/* Padding */
.u-pd80 {
  padding: 80px 0;
}
.u-pd120 {
  padding: 120px 0;
}
.u-pd160 {
  padding: 160px 0;
}
.u-pt80 {
  padding-top: 80px;
}
.u-pt120 {
  padding-top: 120px;
}
.u-pb120 {
  padding-bottom: 120px;
}

@media only screen and (max-width: 767px) {
  .u-pd80 {
    padding: 40px 0;
  }
  .u-pd120 {
    padding: 60px 0;
  }
  .u-pd160 {
    padding: 80px 0;
  }
  .u-pt80 {
    padding-top: 40px;
  }
  .u-pt120 {
    padding-top: 60px;
  }
  .u-pb120 {
    padding-bottom: 60px;
  }
}

/*==================================
  2. TSP
==================================*/

/*
 	2.1 History
====================================*/
.c-tsphistory_bnr {
  display: block;
}

.c-tsphistory_bnr img {
  width: 100%;
}

/*
 	2.2 Category
====================================*/
.c-tspList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media only screen and (max-width: 767px) {
  .c-tspList {
    grid-template-columns: repeat(2, 1fr);
  }
}
