/*!***************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/components/_banner.sass ***!
  \***************************************************************************************************************************/
.banner {
  width: 100vw;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.banner__content {
  width: 100%;
  max-width: calc(56rem + 1px);
  box-sizing: border-box;
  display: flex;
  margin: auto;
  align-content: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.banner__text {
  color: var(--color2);
  margin: auto auto auto 0;
}
.banner__other-text {
  color: var(--color2);
  margin: 1vw auto auto 0;
  font-size: var(--fs-mid);
  font-weight: 400;
  font-family: var(--ff2);
  font-style: normal;
  line-height: calc(var(--fs-mid) * 1.3);
  letter-spacing: calc(var(--fs-mid) * 0);
  width: 100%;
  padding-right: 30vw;
  box-sizing: border-box;
}

@media all and (orientation: landscape) {
  .banner {
    height: 75vh;
  }
  .banner__content {
    height: 100%;
    padding: 0 2rem;
  }
  .banner__text {
    max-width: 40vw;
    font-size: var(--fs-xxl);
    font-weight: 600;
    font-family: var(--ff1);
    font-style: normal;
    line-height: calc(var(--fs-xxl) * 1.2);
    letter-spacing: calc(var(--fs-xxl) * 0);
  }
}
@media all and (orientation: portrait) {
  .banner {
    height: 70vh;
  }
  .banner__content {
    height: 100%;
    padding: 0 5vw;
  }
  .banner__text {
    font-size: var(--fs-xl);
    font-weight: 600;
    font-family: var(--ff1);
    font-style: normal;
    line-height: calc(var(--fs-xl) * 1.3);
    letter-spacing: calc(var(--fs-xl) * 0);
  }
}
/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/components/_blog.sass ***!
  \*************************************************************************************************************************/
.blog {
  width: 100%;
  max-width: calc(48rem + 1px);
  margin: auto;
  box-sizing: border-box;
}
.blog__title {
  color: var(--color1);
  margin: auto;
  font-size: var(--fs-large);
  font-weight: 700;
  font-family: var(--ff1);
  font-style: normal;
  line-height: calc(var(--fs-large) * 1.3);
  letter-spacing: calc(var(--fs-large) * 0);
}
.blog__title--filter {
  color: var(--color4);
}

.entry {
  width: 100%;
}
.entry__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 4/3;
  border-radius: 0.6vw;
  margin: 0 2vw 0 0;
}
.entry__content {
  box-sizing: border-box;
}
.entry__title {
  color: var(--color1);
  margin: 1vw 0;
  text-decoration: underline;
  font-size: var(--fs-regular);
  font-weight: 600;
  font-family: var(--ff1);
  font-style: normal;
  line-height: calc(var(--fs-regular) * 1.4);
  letter-spacing: calc(var(--fs-regular) * 0);
}
.entry__date {
  display: block;
  font-size: var(--fs-small);
  font-weight: 400;
  font-family: var(--ff2);
  font-style: normal;
  line-height: calc(var(--fs-small) * 1.4);
  letter-spacing: calc(var(--fs-small) * 0);
  color: var(--color1);
}
.entry__excerpt {
  color: var(--color1);
  margin: auto;
  font-size: var(--fs-small);
  font-weight: 400;
  font-family: var(--ff2);
  font-style: normal;
  line-height: calc(var(--fs-small) * 1.4);
  letter-spacing: calc(var(--fs-small) * 0);
}
.entry__link {
  color: var(--color4);
  display: block;
  width: max-content;
  text-decoration: underline;
  margin: 2vw 0 auto auto;
  font-size: var(--fs-small);
  font-weight: 400;
  font-family: var(--ff1);
  font-style: normal;
  line-height: calc(var(--fs-small) * 1.4);
  letter-spacing: calc(var(--fs-small) * 0);
}
.entry__h-link {
  color: var(--color1);
  text-decoration: none;
  display: block;
}

@media all and (orientation: landscape) {
  .blog {
    padding: 4vw 1vw 6vw 1vw;
  }
  .blog__grid {
    padding-top: 2vw;
  }
  .entry {
    padding: 1.5vw 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .entry__content {
    width: 60%;
    padding-left: 3vw;
  }
  .entry > .entry__h-link {
    width: 40%;
  }
}
@media all and (orientation: portrait) {
  .blog {
    padding: 12vw 5vw;
  }
  .blog__grid {
    padding-top: 5vw;
  }
  .entry {
    padding: 4vw 0;
  }
  .entry__image {
    margin-bottom: 4vw;
  }
}
