@charset "UTF-8";
/*コンポーネント描画遅延対策*/
product-tab,
product-dropdown {
  display: block;
  visibility: hidden;
}

product-tab:defined,
product-dropdown:defined {
  visibility: visible;
}

product-tab {
  min-height: 46px;
}

product-dropdown {
  min-height: 128px;
}


/*base*/
.product-container img {
  width: 100%;
  height: auto;
}

.product-container ul, .product-container ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

.flex {
  display: flex;
  flex-wrap: wrap;
}

.product-container {
  max-width: 1054px;
  margin: 0 auto 80px;
  padding: 96px 15px 0;
}

/*背景色*/
.products-bg-gray {
  background: #E6EDF5;
}

/*PC非表示*/
.displaynone-pc {
  display: none;
}

/* ぱんくずリスト */
nav.pankuzu {
  margin: 32px auto 48px;
  height: auto;
}

nav.pankuzu ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  line-height: 2;
}

nav.pankuzu li {
  font-size: 12px;
}

nav.pankuzu li:not(:last-child)::after {
  content: '/';
  padding: 0 0.5em;
}

nav.pankuzu a {
  color: #426599;
  text-decoration: underline;
}

nav.pankuzu a:hover {
  color: #222;
  text-decoration: none;
  opacity: 1;
}

/*カタログリンクボタン*/
.catalog-link-btn-wrap {
  display: flex;
  gap: 40px 100px;
  flex-wrap: wrap;
  justify-content: center;
}

.catalog-link-btn {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 298px;
  height: 51px;
  border-radius: 4px;
  color: #fff;
  background: #426599;
}

.catalog-link-btn:hover {
  background: #668ABE;
  color: #fff;
}

/*h1*/
h1.title {
  margin-bottom: 20px;
  padding-left: 5px;
  width: 100%;
  max-width: 600px;
  height: 136px;
}
h1.title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}

/*キービジュアル*/
#keyvisual img {
  height: 695px;
  width: 100%;
  object-fit: cover;
}

.keyvisual-description {
  margin: 20px 0 60px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 6%;
}

.keyvisual-h2 {
  margin-bottom: .3em;
}

.keyvisual-description p,
.keyvisual-description dt,
.keyvisual-description dd {
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  line-height: 1.3;
}

#outline dl {
  display: flex;
}

#outline dt {
  min-width: 5em;
  margin: 0;
  position: relative;
}

#outline dt::after {
  content: ':';
  position: absolute;
  right: .5em
}

.outline-2col dl {
  width: 45%;
}

/*キービジュアルテキスト幅調整-左336px,右600px*/
.keyvisual-description.flex-pair #concept {
  flex: 1;
  min-width: 225px;
}

.keyvisual-description.flex-pair #outline {
  width: 600px;
}

/*キービジュアルテキスト幅調整-左右各47％*/
.keyvisual-description.flex-equal #concept,
.keyvisual-description.flex-equal #outline {
  width: 47%;
}

/*outline width調整*/
.outline-2col .w30 {
  width: 30%;
}

.outline-2col .w40 {
  width: 40%;
}

.outline-2col .w60 {
  width: 60%;
}

.outline-2col .w70 {
  width: 70%;
}

/*point*/
#features {
  margin-bottom: 100px;
}

.features-item {
  margin-bottom: 60px;
}

.features-h2 {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  gap: 20px;
}

.features-h2-circle {
  font-family: "Roboto", sans-serif;
  font-size: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #222;
  background: #E6EDF5;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  flex-shrink: 0;
}

.features-h2-text {
  margin:0;
  flex-shrink: 1;
  line-height: 1.3;
}

.features-h2-text-small {
  font-size: 16px;
  margin-left: .5em;
}

.features-lead-h3 {
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  margin-bottom: .5em;
}

.features-lead {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  margin-bottom: 1em;
}

.products-border {
  border: 1px solid #a3a3a3;
}

#features img {
  object-fit: cover;
}

#features figure {
  margin-bottom: 30px;
}

.features-fig-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.features-img-layer-container {
  position: relative;
}

.features-img-overlay {
  position: absolute;
}

/*メディアクエリ 1024px以下*/
@media (max-width:1024px) {
  .product-container {
    padding-top: 64px;
  }
} 
/*メディアクエリ 768px以下*/
@media (max-width:768px) {

  /*コンポーネント描画遅延対策*/
  product-tab {
    min-height: 98px;
  }

  /*base*/
  .product-container {
    padding: 64px 24px 0;
  }

  /*PC非表示,スマホ表示*/
  .displaynone-pc {
    display: block;
  }

  /*スマホ非表示*/
  .displaynone-sm {
    display: none;
  }

  /* ぱんくずリスト */
    nav.pankuzu {
      margin: 24px auto;
    }

  /*カタログリンクボタン*/
  .catalog-link-btn {
    font-size: 14px;
    height: 38px;
  }

  .catalog-link-btn-wrap.digicata-and-pdf {
    flex-direction: column;
    align-items: center;
  }

  /*h1*/
  h1.title {
    padding-left: 0;
    height: 80px;
  }

  /*キービジュアル*/
  #keyvisual img {
    height: 59.19vw;
  }

  .keyvisual-h2 {
    font-size: 16px;
  }

  .keyvisual-description {
    font-size: 12px;
    margin: 10px 0 30px;
  }

  .keyvisual-description.flex-pair #concept,
  .keyvisual-description.flex-pair #outline,
  .keyvisual-description.flex-equal #concept,
  .keyvisual-description.flex-equal #outline,
  .outline-2col dl,
  .outline-2col .w30,
  .outline-2col .w40,
  .outline-2col .w60,
  .outline-2col .w70 {
    width: 100%;
  }


  /*point*/
  #features {
    margin-bottom: 0;
  }

  .features-item {
    margin-bottom: 40px;
  }

  .features-h2 {
    gap: 16px;
    margin-bottom: 16px;
  }

  .features-h2-circle {
    font-size: 16px;
    width: 68px;
    height: 68px;
  }

  .features-h2-text {
    font-size: 16px;
  }

  .features-h2-text-small {
    font-size: 12px;
  }

  .features-lead-h3 {
    font-size: 14px;
  }

  .features-lead {
    font-size: 12px;
  }

  #features .catalog-link-btn-wrap {
    margin: 0 0 40px;
  } 

}




