@charset "UTF-8";
/* =====================
	BLOG
 ======================= */
/** -------------------- 基本レイアウト -------------------- **/
section.blog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 5.2083333333%;
     -moz-column-gap: 5.2083333333%;
          column-gap: 5.2083333333%;
  margin-bottom: 7.3%;
}

section.blog .blog-main {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 57.3%;
          flex: 0 1 57.3%;
}

section.blog .blog-sidenav {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 18.75%;
          flex: 0 0 18.75%;
}

/** -------------------- サイドナビ -------------------- **/
.blog-sidenav-block {
  margin-bottom: 5em;
}

.blog-sidenav-block:last-child {
  margin-bottom: 0;
}

.blog-sidenav-ttl {
  color: var(--c_blue);
  font-size: 110%;
  font-weight: 700;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.25em;
  margin: 0 0 1em;
}

.blog-sidenav-list {
  font-size: 110%;
}

.blog-sidenav-list li + li {
  margin-top: 0.5em;
}

.blog-sidenav-list--category li:before {
  content: "・";
}

/** -------------------- 一覧 -------------------- **/
.blog-list-item {
  margin-bottom: 18%;
}

.blog-list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.blog-list-link:hover {
  opacity: 1.0;
}

.blog-list-link:hover .thumb img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.blog-list-link:hover .ttl {
  color: var(--c_orange);
}

.blog-list-link:hover .more {
  -webkit-filter: none;
          filter: none;
  -webkit-transform: translate(0.2vw, 0.2vw);
          transform: translate(0.2vw, 0.2vw);
}

.blog-list .imgbox {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 46.4%;
          flex: 0 1 46.4%;
}

.blog-list .thumb {
  width: 100%;
  padding-top: 67.2549019608%;
  position: relative;
  border-radius: 1.4em;
  overflow: hidden;
}

.blog-list .thumb img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: var(--anim);
  transition: var(--anim);
}

.blog-list .txtbox {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 47.3%;
          flex: 0 1 47.3%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.blog-list .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2em;
}

.blog-list .cat {
  min-width: 46.7%;
  font-size: 110%;
  font-weight: 700;
  text-align: center;
}

.blog-list .cat > * {
  display: block;
  border-radius: 0.1818181818em;
  color: var(--c_wht);
}

.blog-list .date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 110%;
  font-weight: 700;
}

.blog-list .ttl {
  font-size: 150%;
  font-weight: 700;
  margin-top: 0.5em;
  -webkit-transition: var(--anim);
  transition: var(--anim);
}

.blog-list .excerpt {
  font-size: 110%;
  line-height: 1.95;
  margin-bottom: auto;
  word-break: break-word;
}

.blog-list .more {
  margin: 0.4em 0 0 auto;
  width: 9.8em;
  -webkit-filter: drop-shadow(0.2vw 0.2vw 0 var(--c_orange));
          filter: drop-shadow(0.2vw 0.2vw 0 var(--c_orange));
  -webkit-transition: var(--anim);
  transition: var(--anim);
}

/** -------------------- 詳細 -------------------- **/
.blog-single-header {
  margin-bottom: 2.25em;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(22%, auto) 1.5em auto;
  grid-template-columns: minmax(22%, auto) auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.5em;
}

.blog-single-category {
  min-width: 22%;
  font-size: 110%;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.35em;
}

.blog-single-category > * {
  color: var(--c_wht);
  text-align: center;
  border-radius: 0.2em;
  padding: 0 1em;
}

.blog-single-category > *:only-child {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.blog-single-category:empty {
  display: none;
}

.blog-single-date {
  font-size: 110%;
  font-weight: 700;
}

.blog-single-ttl {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / 3;
  font-size: 150%;
  font-weight: 700;
  padding: 0 0.4em;
}

.blog-single-body {
  font-size: 110%;
  line-height: 2.32;
  word-break: break-word;
}

.blog-single-body > * {
  margin-bottom: 1em;
}

.blog-single-body > *:last-child {
  margin-bottom: 0;
}

.blog-single-footer {
  margin-top: 9%;
}

/* タブレット
  ------------------------ */
@media (max-width: 1100px) {
  /** -------------------- 基本レイアウト -------------------- **/
  section.blog .blog-main {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 70%;
            flex: 0 1 70%;
  }
}

/* スマホ
  ------------------------ */
@media (max-width: 699px) {
  /** -------------------- 基本レイアウト -------------------- **/
  section.blog {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 60px;
  }
  section.blog .blog-main {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 94%;
            flex: 0 1 94%;
  }
  section.blog .blog-sidenav {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 300px;
            flex: 0 1 300px;
  }
  /** -------------------- サイドナビ -------------------- **/
  .blog-sidenav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 30px;
       -moz-column-gap: 30px;
            column-gap: 30px;
  }
  .blog-sidenav-block {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .blog-sidenav-ttl {
    font-size: 16px;
  }
  .blog-sidenav-list {
    font-size: 14px;
  }
  .blog-sidenav-list li + li {
    margin-top: 0.25em;
  }
  /** -------------------- 一覧 -------------------- **/
  .blog-list-link {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 12px;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
  .blog-list .imgbox {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
  }
  .blog-list .thumb {
    border-radius: 14px;
  }
  .blog-list .txtbox {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
  }
  .blog-list .cat {
    font-size: 14px;
  }
  .blog-list .date {
    font-size: 14px;
  }
  .blog-list .ttl {
    font-size: 18px;
  }
  .blog-list .excerpt {
    font-size: 14px;
    line-height: 1.7;
  }
  /** -------------------- 詳細 -------------------- **/
  .blog-single-header {
    gap: 16px 24px;
  }
  .blog-single-category {
    font-size: 14px;
  }
  .blog-single-date {
    font-size: 14px;
  }
  .blog-single-ttl {
    font-size: 18px;
  }
  .blog-single-body {
    font-size: 14px;
    line-height: 1.8;
  }
}
