@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Marcellus:wght@400&display=swap");
h1, h2, h3, h4, h5, h6 {
  font-weight: 700; }

/*----------------------------------------------
topMainBox
----------------------------------------------*/
.topMainBox .topMainList {
  margin: 0;
  padding: 0;
  list-style-type: none; }
  .topMainBox .topMainList .slick-dots {
    text-align: center;
    height: 10px;
    margin: 25px auto 0;
    padding: 0; }
  .topMainBox .topMainList .slick-dots > li {
    display: inline-block;
    margin: 0 5px;
    padding: 0;
    list-style-type: none; }
  .topMainBox .topMainList .slick-dots > li button {
    display: block;
    width: 6px;
    height: 6px;
    margin: 0;
    padding: 0;
    background: #d0d0d0;
    border: none;
    border-radius: 50%;
    text-indent: -9999px;
    cursor: pointer;
    outline: none;
    appearance: none; }
  .topMainBox .topMainList .slick-dots > li.slick-active button {
    background: #888888; }

/*----------------------------------------------
topBannerBox
----------------------------------------------*/
.topBannerBox {
  margin: 30px auto;
  max-width: 750px; }

.topBannerList {
  margin: 0;
  padding: 0;
  list-style-type: none; }
  .topBannerList > li {
    margin: 30px 0; }

/*----------------------------------------------
topContentBox
----------------------------------------------*/
.topContentBox.blog .list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 4%; }
  .topContentBox.blog .list > li {
    width: 48%; }
    @media (min-width: 1201px) {
      .topContentBox.blog .list > li {
        width: 22%; } }
    .topContentBox.blog .list > li a {
      display: block;
      text-decoration: none; }
      .topContentBox.blog .list > li a:hover .imgBox img {
        transform: scale(1.1); }
    .topContentBox.blog .list > li .imgBox {
      margin: 0;
      overflow: hidden;
      background: #E4E4E4; }
      .topContentBox.blog .list > li .imgBox img {
        aspect-ratio: 422 / 342;
        object-fit: cover; }
.topContentBox.category .list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 4%; }
  .topContentBox.category .list > li {
    width: 48%;
    position: relative;
    aspect-ratio: 336 / 160;
    overflow: hidden; }
    @media (min-width: 1201px) {
      .topContentBox.category .list > li {
        width: 30%; } }
    .topContentBox.category .list > li a {
      display: block;
      text-decoration: none; }
      .topContentBox.category .list > li a:hover .imgBox img {
        transform: scale(1.1); }
    .topContentBox.category .list > li .imgBox {
      margin: 0;
      -webkit-transition: all .3s;
      transition: all .3s; }
      .topContentBox.category .list > li .imgBox img {
        object-fit: cover; }
      .topContentBox.category .list > li .imgBox::before {
        content: "";
        display: block;
        background: #666666;
        opacity: 0.7;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10; }
    .topContentBox.category .list > li .name {
      margin: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #ffffff;
      font-size: 1.4rem;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 20; }
.topContentBox.guarantee .banner {
  max-width: 690px;
  margin: 0 auto;
  text-align: center; }
.topContentBox.news .list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  display: flex;
  flex-wrap: wrap;
  gap: 2em 1em; }
  .topContentBox.news .list > dt {
    margin: 0;
    color: #888888;
    width: 7em; }
  .topContentBox.news .list > dd {
    margin: 0;
    width: calc(100% - 8em); }
