@charset "UTF-8";
/* ==================================
202509より
HPのカスタマイズ、コンテンツ追加のために作成
TOPページ用のcss
================================== */
/* ==================================
リセット
================================== */
a {
  text-decoration: none;
}

/* ==================================
section設定
================================== */
.p-top-section {
  margin-block-start: 120px;
}
.p-top-section.--bg-dots {
  background-image: url(../images/top/product_h3.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding-block: 60px;
}
.p-top-section.--video {
  margin-block-end: 80px;
}
.p-top-section img {
  width: 100%;
}

/* ==================================
inner設定
================================== */
.l-inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 40px;
  text-align: center;
}
.l-inner.--semi-wide {
  max-width: 1400px;
}
@media (max-width: 768px) {
  .l-inner {
    padding-inline: 20px;
  }
}

/* ==================================
ヘッダー
================================== */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #FFF;
  z-index: 200;
}
@media (max-width: 375px) {
  .l-header {
    height: 20vw;
  }
}

main {
  margin-block-start: 120px;
}
@media (max-width: 600px) {
  main {
    margin-block-start: 20vw;
  }
}

/* ==================================
バナーセクション
================================== */
.p-top-banner {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.p-top-banner__img {
  width: 100%;
  height: auto;
}

/* ==================================
YouTube videoセクション
================================== */
.p-top-video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  box-shadow: 10px 10px 0px #FFFFFF;
}

/* ==================================
ブログセクション
================================== */
.p-top-blog {
  text-align: left;
}
.p-top-blog__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-weight: 900;
}
.p-top-blog__list {
  margin-block-start: 40px;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.p-top-blog__btn {
  margin-block-start: 40px;
  text-align: center;
}
.p-top-blog__btn a {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: bold;
  background-color: #FFFFFF;
  border: solid 5px #000;
  padding: 16px 20px;
  min-width: 300px;
}
@media (any-hover: hover) {
  .p-top-blog__btn a:hover {
    background-color: #000;
    border: solid 5px #FFF;
    color: #FFF;
  }
}

.c-top-blog-card a {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.c-top-blog-card__title {
  font-size: 16px;
  font-weight: bold;
  background-color: #FFFFFF;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  padding-inline: 10px;
  line-height: 2;
}
.c-top-blog-card__img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  overflow: visible;
  position: relative;
  z-index: 1;
}
.c-top-blog-card__img img {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.c-top-blog-card__img::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/top/top_media_youtubebg.png) repeat left top;
  background-size: 40px;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: -1;
}
.c-top-blog-card__btn {
  padding-inline: 40px;
}
@media (any-hover: hover) {
  .c-top-blog-card:hover img.btn-img {
    filter: invert(100%);
  }
}

@media (max-width: 768px) {
  .p-top-blog__title {
    font-size: 28px;
  }
  .p-top-blog__list {
    grid-template-columns: repeat(1, 1fr);
  }
  .p-top-blog__btn a {
    width: 100%;
    min-width: 0;
  }
}/*# sourceMappingURL=top-additional.css.map */