@charset "UTF-8";
/* CSS Document */

/*slide*/
.top-slide-outer {
  position: relative;
}
#top-slide .slick-slide img {
  width: 100%;
  height: auto;
}
/*スライドの上のキャッチ アニメーション*/
.eye-catch-wrap {
  position: absolute;
  left: 3.3%;
  top: 11.6%;
}
.eye-catch-wrap .bg-wrap {
  display: block;
  overflow: hidden;
  opacity: 0;
}
.eye-catch-wrap .bg-wrap .eye-catch-txt {
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
  display: block;
  text-shadow: 1px 2px 5px rgba(0, 0, 0, 0.4);
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.eye-catch-wrap.is-animated .bg-wrap {
  opacity: 1;
}
.eye-catch-wrap.is-animated .bg-wrap .eye-catch-txt {
  opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0);
}

@media screen and (min-width: 768px) {
  .eye-catch-wrap .bg-wrap .eye-catch-txt {
    font-size: 3.0rem;
  }
}
@media screen and (min-width: 1024px) {
  .eye-catch-wrap .bg-wrap .eye-catch-txt {
    font-size: 5.4rem;
  }
}

/*topics*/
.topics {
  display: flex;
  flex-direction: column;
  margin: 30px 0 0;
}
.topics .topics-ttl {
  font-size: 2.2rem;
  font-weight: bold;
  /*margin: 0 auto 15px;*/
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 1em;
}
.topics-slide {
  display: flex;
  align-items: center;
  margin: 0 20px;
}
.topics-slide .topics-pic {
  width: 90%;
  margin: 0 auto;
  line-height: 0
}
.topics-slide .topics-pic img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .topics {
    flex-direction: row;
    justify-content: flex-end;
    position: relative;
    top: -40px;
    margin: 0 auto;
    max-width: 1280px;
  }
  .topics-slide {
    justify-content: flex-end;
    margin: 0;
  }
  .topics .topics-ttl {
    /*font-size: 2.4rem;*/
    font-size: min(2.34vw, 2.4rem);
    padding: 0 1em 0 0;
    /*margin: auto 30px auto 20px;*/
  }
  .topics-slide .topics-pic {
    box-shadow: 2px 1px 10px -1px rgba(0, 0, 0, .5);
    width: calc(100vw * (200 / 768));
    max-width: 290px;
    margin: 0 20px 0 0;
  }
}
/*重要なお知らせ*/
.headline-news {
  background-color: #ffeff4;
  /*border-top: #d30b4f 1px solid;
  border-bottom: #d30b4f 1px solid;*/
  padding: 20px 20px 10px;
  /*margin: 20px 0;*/
}
.headline-news ._inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #d30b4e;
}
.headline-news .headline-ttl {
  font-size: 1.6rem;
  font-weight: bold;
  white-space: nowrap;
  margin-bottom: 0.5em;
  border-bottom: #d30b4e 2px solid;
  padding: 0 0 0.5em;
  position: relative;
}
.headline-news .headline-txt p {
  line-height: 1.4;
  margin: 0;
  padding: 0.5em 0;
}
.headline-news .headline-txt a {
  color: #d30b4e;
  display: block;
  position: relative;
  transition: 0.3s;
  padding-left: 24px;
}
.headline-news .headline-txt a::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 0.5em;
  height: 0.5em;
  border-top: #d30b4e 1px solid;
  border-right: #d30b4e 1px solid;
  transform: rotate(45deg);
}
.headline-news .headline-txt .update {
  display: inline-block;
  margin-right: 1em;
}
@media screen and (min-width: 768px) {
  .headline-news {
    padding: 20px 30px;
    margin: 0 auto;
    /*margin: 0 auto 30px;*/
  }
  .headline-news ._inner {
    flex-direction: row;
    justify-content: flex-start;
    margin: 0 auto;
    max-width: 1060px;
  }
  .headline-news .headline-ttl {
    margin-bottom: 0;
    border-bottom: none;
    padding: 0 2em 0 1em;
  }
  .headline-news .headline-ttl::before {
    background-color: #d30b4e;
    content: '';
    position: absolute;
    left: 0;
    top: -0.25em;
    width: 4px;
    border-radius: 2px;
    height: 1.5em;
}
  .headline-news .headline-txt p {
    font-size: 1.6rem;
  }
  .headline-news .headline-txt a:hover {
    text-decoration: underline;
  }
}

/*--------------------------------
  商品情報
*/
.products-bg {
  margin: 0 auto;
  background: var(--cmn-gray06);
  /*背景上下のグレーをグラデーションで表現 下→上*/
  background: linear-gradient(-45deg, var(--cmn-gray05) 26%, var(--cmn-gray06) 26%, var(--cmn-gray06) 78%, var(--cmn-gray05) 78%);
  /*背景赤黒版
  background: linear-gradient(-45deg, var(--cmn-gray01) 26%, var(--cmn-gray03) 26%, var(--cmn-gray02) 78%, var(--cmn-red) 78%);*/
  position: relative;
  padding: 20px 0;
}
.products {
  background-color: #fff;
  margin: 0 auto;
  padding: 40px 10px;
}
.products ._inner {
  margin: 0 auto;
  padding: 20px 0 0;
}
@media screen and (min-width: 768px) {
  .products-bg {
    padding: 40px 0;
  }
  .products {
    box-shadow: 0px 5px 10px -5px rgba(119,119,119,1.00);
    max-width: 1030px;
    padding: 60px 40px 0;
  }
  .products ._inner {
    padding: 40px 0;
  }
}
.product-menu {
  display: flex;
  justify-content: space-between;
}
.product-menu li {
  flex: 1 1 290px;
  margin: 0 calc((5 / 355) * 100%) 0 0;
}
.product-menu li:nth-child(3n) {
  margin: 0;
}
.product-menu li a {
  color: inherit;
}
.product-menu li .pic {
  border-radius: 5px;
  overflow: hidden;
  line-height: 0;
}
.product-menu .pic img {
  width: 100%;
  height: 90px;
  object-fit: cover;
}
.product-menu .category {
  text-align: center;
  margin: 0.5em auto;
/*  transition: 0.3s;*/
}
@media screen and (min-width: 600px) {
  .product-menu .pic img {
    width: 100%;
    height: auto;
    object-fit: fill;
  }
}
@media screen and (min-width: 768px) {
  .product-menu li {
    flex: 0 1 290px;
    /*width: calc((290 / 950) * 100%);
    margin: 0 calc((40 / 950) * 100%) 0 0;*/
  }
  .product-menu li a:hover .category {
    color: var(--txt-link01);
    text-decoration: underline;
  }
  .product-menu li a .pic {
    transition: 0.3s;
    line-height: 0;
  }
  .product-menu li a:hover .pic {
    opacity: 0.8;
    box-shadow: 2px 1px 10px -1px rgba(0, 0, 0, .5);
  }
  .product-menu .category {
    font-size: 1.6rem;
  }
}

/*--------------------------------
  在庫・適合検索
*/
.stock-search {
  background-color: var(--cmn-gray04);
}
.stock-search ._inner {
  margin: 0 auto;
  padding: 40px 20px;
}
.stock-search .ttl-1 {
  font-size: 2.0rem;
}
@media screen and (min-width: 768px) {
  .stock-search ._inner {
    padding: 50px 20px 10px;
  }
  .stock-search .ttl-1 {
    font-size: 2.4rem;
  }
}

/*--------------------------------
  お知らせ
*/
.infomation {
  display: flex;
  flex-direction: column;
  margin: 40px auto;
  max-width: 1280px;
}
.infomation .scholarship {
  background-color: #000;
  color: #fff;
}
.infomation .news-wrap {
  padding: 0 20px
}
@media screen and (min-width: 768px) {
  .infomation {
    flex-direction: row;
    justify-content: space-between;
    margin: 70px auto;
    padding: 0 0 0 20px;
  }
  .infomation .news-wrap {
    width: calc(50% - 30px);
    padding: 0;
  }
  .infomation .scholarship {
    width: calc(50% - 30px);
  }
}
/*タイトル*/
.news-ttl-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: var(--cmn-gray04) 1px solid;
  padding-bottom: 24px;
  margin-bottom: 1em;
}
.news-ttl-wrap .news-ttl {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .news-ttl-wrap .news-ttl {
    font-size: 2.8rem;
  }
}
/*--------------------------------
  ニュース
*/
.infomation .news {
  margin: 0 0 40px;
}
.infomation .news-list li {
  background-color: #fff;
  border-bottom: var(--cmn-gray05) 1px solid;
  transition: 0.3s;
}
.infomation .news-list li a {
  color: inherit;
  display: block;
  padding: 1em 0;
}
.infomation .news-list .date-box {
  overflow: hidden;
}
.infomation .news-list .date {
  color: var(--cmn-gray03);
  font-size: 1.6rem;
  font-weight: bold;
  float: left;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  transition: 0.3s;
}
.infomation .news-list .news-txt {
  font-size: 1.6rem;
  line-height: 1.5;
  transition: 0.3s;
  margin-top: 0.5em
}
.infomation .bn-webpost {
  margin: 20px 0 0;
}
.infomation .bn-webpost img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .infomation .news {
    margin: 0 0 60px;
  }
  .infomation .news-list li a {
    padding: 1.5em 1em;
  }
  .infomation .news-list li:hover {
    background-color: var(--cmn-gray06);
  }
  .infomation .news-list li a:hover .date,
  .infomation .news-list li a:hover {
    color: var(--txt-link01);
    text-decoration: underline;
  }
  .infomation .bn-webpost img {
    max-width: 352px;
  }
}
/*--------------------------------
  イベント情報
*/
.infomation .event-news {
  margin: 0 0 30px;
}
.infomation .event-news .news-list .date {
  color: #2a2a2a;
}
.infomation .news-list .event-category {
  color: var(--cmn-red);
  font-weight: bold;
  display: inline-block;
  margin-right: 0.5em
}
@media screen and (min-width: 768px) {
  .infomation .event-news {
    margin: 0;
  }
  .infomation .news-list li a:hover .event-category {
    text-decoration: underline;
  }
}

/*--------------------------------
  スカラシップ
*/
.scholarship-pic {
  background: url("../images/top/scholarship_pic.jpg") no-repeat center center;
  background-size: cover;
  aspect-ratio: 5 / 3;
}
.scholarship-ttl {
  font-size: 3.0rem;
  font-weight: bold;
  margin-bottom: 1em
}
.scholarship-ttl span {
  font-size: 1.4rem;
  display: block;
  margin-top: 0.5em;
}
.scholarship ._inner {
  padding: 30px;
}
.scholarship p {
  line-height: 1.5;
}
.scholarship .scholarship-bt {
  margin: 1em 0;
}
.scholarship .scholarship-bt .bt {
  border: #666 1px solid;
}
@media screen and (min-width: 768px) {
  .scholarship .scholarship-bt {
    max-width: 242px;
  }
  .scholarship .scholarship-bt .bt:hover {
    border: #DD1010 1px solid;
  }
}
/*--------------------------------
  技術情報
*/
.technical-info {
  background-color: var(--cmn-gray06);
}
.technical-info ._inner {
  padding: 40px 20px;
  max-width: 1280px;
  margin: 0 auto;
}
.technical-info ._recommend-ttl-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.technical-info ._recommend-ttl-wrap .ttl-2 {
  margin-bottom: 0;
}
.technical-info ul._recommend {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 40px;
}
ul._recommend ul.recommend-item {
  margin: 1em 0;
}
ul._recommend .recommend-item {
  display: flex;
  flex-direction: column;
}
.recommend-item li {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0px 2px 10px -2px rgba(0, 0, 0, .4);
  margin: 0 0 1.5em;
}
.recommend-item li a ._pic {
  border-radius: 5px 5px 0 0;
  overflow: hidden;
  line-height: 0;
}
.recommend-item li a ._pic img {
  width: 100%;
  height: auto;
  transition: 0.6s;
}
.recommend-item li a ._ttl {
  padding: 1em;
  line-height: 1.5;
  color: #2a2a2a;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .technical-info ._inner {
    padding: 70px 20px;
  }
  .technical-info ul._recommend {
    flex-direction: row;
    justify-content: space-between;
    margin-top: 40px;
  }
  .technical-info ul._recommend > li {
    width: calc((600 / 1280) * 100%);
  }
  ul._recommend .recommend-item {
    flex-direction: row;
    justify-content: space-between;
  }
  .recommend-item li {
    width: calc((290 / 600) * 100%);
    margin: 0;
  }
  .recommend-item li a:hover ._pic img {
    transform: scale(1.1); /* 拡大 */
  }
  .recommend-item li a ._ttl {
    min-height: 5em;
  }
  .recommend-item li a:hover ._ttl {
    color: var(--txt-link01);
    text-decoration: underline;
  }
}