@charset "UTF-8";
/* TOP：libraryブロック
-----------------------------------*/
.block-library {
  background: #c3dce5;
  background: -moz-linear-gradient(top, #c3dce5 0%, #c3dce5 118px, #84ccc9 118px, #84ccc9 100%);
  background: -webkit-linear-gradient(top, #c3dce5 0%, #c3dce5 118px, #84ccc9 118px, #84ccc9 100%);
  background: linear-gradient(to bottom, #c3dce5 0%, #c3dce5 118px, #84ccc9 118px, #84ccc9 100%);
}
@media screen and (min-width: 736px) {
  .block-library .sp-none {
    display: none;
  }
}
.block-library .btn-center {
  text-align: center;
}
.block-library .btn-arrow {
  display: flex;
  align-items: center;
  max-width: 276px;
  min-height: 50px;
  border: 1px solid #2f2f32;
  background-color: #fff;
  color: #2f2f32;
  margin: 1em auto 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  font-weight: bold;
  font-size: 16px;
  padding: 0 1em;
  position: relative;
}
.block-library .btn-arrow::after {
  content: '';
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  right: 20px;
  border-top: 2px solid #2f2f32;
  border-right: 2px solid #2f2f32;
  transform: rotate(45deg);
}
.block-library .btn-arrow:hover {
  text-decoration: none;
  background-color: #2f2f32;
  color: #fff;
}
.block-library .btn-arrow:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media screen and (min-width: 960px) {
  .block-library .btn-arrow {
    margin: 30px auto 0;
  }
}

.block-library-in {
  min-height: 420px;
  background: url('../img/evlibrary-bg1.png') top center no-repeat;
  background-size: cover;
  max-width: 1260px;
  margin: 0 auto;
  padding: 160px 12px 0;
}
@media screen and (min-width: 960px) {
  .block-library-in {
    min-height: 400px;
  }
}

.library-title-area {
  text-align: center;
}
.library-title-area .ttl {
  text-align: center;
  padding: 0 !important;
  margin: 0 auto !important;
}

.library-catch {
  font-size: 16px;
  line-height: 1.5;
}
.library-catch span {
  display: inline-block;
}
.library-catch .large {
  font-size: 120%;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .library-catch {
    font-size: 18px;
  }
}

/* ページ：library
-----------------------------------*/
.header-pages .block-library {
  background: -moz-linear-gradient(top, #c3dce5 0%, #c3dce5 82px, #84ccc9 82px, #84ccc9 100%);
  background: -webkit-linear-gradient(top, #c3dce5 0%, #c3dce5 82px, #84ccc9 82px, #84ccc9 100%);
  background: linear-gradient(to bottom, #c3dce5 0%, #c3dce5 82px, #84ccc9 82px, #84ccc9 100%);
}
@media screen and (min-width: 736px) {
  .header-pages .block-library {
    background: -moz-linear-gradient(top, #c3dce5 0%, #c3dce5 100px, #84ccc9 100px, #84ccc9 100%);
    background: -webkit-linear-gradient(top, #c3dce5 0%, #c3dce5 100px, #84ccc9 100px, #84ccc9 100%);
    background: linear-gradient(to bottom, #c3dce5 0%, #c3dce5 100px, #84ccc9 100px, #84ccc9 100%);
  }
}
@media screen and (min-width: 960px) {
  .header-pages .block-library {
    background: -moz-linear-gradient(top, #c3dce5 0%, #c3dce5 107px, #84ccc9 107px, #84ccc9 100%);
    background: -webkit-linear-gradient(top, #c3dce5 0%, #c3dce5 107px, #84ccc9 107px, #84ccc9 100%);
    background: linear-gradient(to bottom, #c3dce5 0%, #c3dce5 107px, #84ccc9 107px, #84ccc9 100%);
  }
}
.header-pages .block-library-in {
  min-height: 260px;
  padding: 120px 12px 0;
  background-size: auto 300px;
}
@media screen and (min-width: 736px) {
  .header-pages .block-library-in {
    min-height: 300px;
    padding: 150px 12px 0;
    background-size: auto 360px;
  }
}
@media screen and (min-width: 960px) {
  .header-pages .block-library-in {
    background-size: auto 383px;
    padding: 160px 12px 0;
  }
}

/* アンカーリンク */
.list-link-block {
  width: 100%;
  margin: 24px auto;
  padding: 0 12px;
}
.list-link-block .list-link {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  list-style: none;
}
.list-link-block .list-link li {
  width: 100%;
  min-height: 50px;
  margin: 0 auto auto;
  font-size: 14px;
}
.list-link-block .list-link li a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  padding: 0 1.5em 0 1em;
  background-color: #f4f4f4;
  border: 1px solid #f4f4f4;
  color: #050505;
  position: relative;
  line-height: 1.2;
}
.list-link-block .list-link li a.btn-arrow::after {
  content: url('../img/evlibrary-arrow2.png');
  width: 13px;
  height: 12px;
  position: absolute;
  right: 8px;
  bottom: 20px;
}
.list-link-block .list-link li a:hover {
  border: 1px solid #0179fe;
  text-decoration: none;
}
@media screen and (min-width: 736px) {
  .list-link-block .list-link {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .list-link-block .list-link li {
    font-size: 16px;
  }
}
@media screen and (min-width: 960px) {
  .list-link-block .list-link {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 960px) {
  .list-link-block {
    padding: 0;
    margin: 40px auto 60px;
    max-width: 988px;
  }
}

/* ライブラリーリスト */
.page-body {
  margin: auto;
  max-width: 988px;
}
.page-body .title {
  background-color: #179ce2;
  color: #fff;
  min-width: 100%;
  margin: 0 -12px;
  padding: 0 24px;
  font-weight: bold;
  font-size: 18px;
  min-height: 50px;
  display: flex;
  align-items: center;
}
.page-body .title.icon-handle {
  position: relative;
  padding-left: 92px;
}
.page-body .title.icon-handle::before {
  content: '';
  width: 58px;
  height: 60px;
  display: block;
  position: absolute;
  top: -15px;
  left: 24px;
  background-image: url('../img/evlibrary-icon1.png');
}
@media screen and (min-width: 960px) {
  .page-body .title {
    margin: 0;
    padding: 0 12px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
  }
  .page-body .title.icon-handle {
    padding-left: 84px;
  }
  .page-body .title.icon-handle::before {
    left: 12px;
  }
}

.section-block {
  min-width: 100%;
  margin-bottom: 60px;
}
@media screen and (min-width: 960px) {
  .section-block {
    margin-bottom: 80px;
  }
}

.list {
  margin-top: 36px;
  padding: 0 12px;
  list-style: none;
}
@media screen and (min-width: 960px) {
  .list {
    padding: 0 72px;
  }
}
.list li {
  font-size: 16px;
}
.list li + li {
  margin-top: 24px;
}
.list li.item-arrow {
  position: relative;
  padding-left: 2em;
}
.list li.item-arrow::before {
  content: url('../img/evlibrary-arrow1.png');
  position: absolute;
  display: inline-block;
  left: 0;
  top: 2px;
}
.list li.item-arrow a {
  color: #050505;
}
@media screen and (min-width: 960px) {
  .list li {
    font-size: 18px;
  }
}
