@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
:root {
  --base: #333333;
  --blue1: #0190a1;
  --gray1: #f2f2f2;
}

.pc {
  display: block;
}
@media only screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.tab {
  display: none;
}
@media only screen and (max-width: 1100px) {
  .tab {
    display: block;
  }
}

.sp {
  display: none;
}
@media only screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

.inline-pc {
  display: inline;
}
@media only screen and (max-width: 768px) {
  .inline-pc {
    display: none;
  }
}

.inline-sp {
  display: none;
}
@media only screen and (max-width: 768px) {
  .inline-sp {
    display: inline;
  }
}

.no-link {
  pointer-events: none;
}

.l-page-header {
  width: 100%;
  height: 270px;
  background: url(../img/blog/blog_mv.jpg) 50% 50%/cover no-repeat;
}
@media only screen and (max-width: 768px) {
  .l-page-header {
    height: 180px;
  }
}
.l-page-header__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  max-width: 1040px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.l-page-header__title {
  line-height: 1.75;
  font-size: 46px;
  font-weight: 700;
  color: var(--blue1);
}
@media only screen and (max-width: 768px) {
  .l-page-header__title {
    font-size: min(46px, 7.1875vw);
  }
}

.l-wrapper {
  display: grid;
  grid-template-columns: min(770px, 64.9789029536vw) 1fr;
  gap: min(25px, 2.1097046414vw);
  max-width: 1225px;
  width: 100%;
  margin: 0 auto;
  padding: 70px 20px 120px;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .l-wrapper {
    grid-template-columns: 100%;
    gap: 40px;
    padding: 40px 20px 80px;
  }
}

.l-paginatelinks {
  display: flex;
  gap: 12px;
  margin: 78.2px 0 0;
}
@media only screen and (max-width: 768px) {
  .l-paginatelinks {
    gap: min(12px, 1.875vw);
  }
}
.l-paginatelinks .page-numbers {
  display: grid;
  place-content: center;
  width: 36px;
  aspect-ratio: 1/1;
  border: 1px solid var(--blue1);
  box-sizing: border-box;
  line-height: 1.4;
  font-size: 18px;
  font-weight: 500;
  color: var(--blue1);
}
@media only screen and (max-width: 768px) {
  .l-paginatelinks .page-numbers {
    width: min(36px, 5.625vw);
    font-size: min(18px, 2.8125vw);
  }
}
.l-paginatelinks .page-numbers.current {
  background: var(--blue1);
  color: #FFF;
}

.p-blog-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32.2px min(10px, 0.8438818565vw);
}
@media only screen and (max-width: 768px) {
  .p-blog-list {
    grid-template-columns: repeat(2, 1fr);
    gap: min(10px, 1.5625vw);
  }
}
.p-blog-list__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-blog-list__item_image {
  display: block;
  width: 100%;
  aspect-ratio: 250/170;
  overflow: hidden;
  transition: 0.3s opacity;
}
.p-blog-list__item_image:hover {
  opacity: 0.6;
}
.p-blog-list__item_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-blog-list__item_content {
  text-align: left;
}
.p-blog-list__item_date {
  line-height: 1.75;
  font-size: min(16px, 1.3502109705vw);
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  .p-blog-list__item_date {
    font-size: min(16px, 2.5vw);
  }
}
.p-blog-list__item_cat {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 8px 0 0;
}
.p-blog-list__item_cat a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 4px 2px;
  border-radius: 6px;
  box-sizing: border-box;
  background: var(--gray1);
  line-height: 1.2;
  text-decoration: none;
  font-size: 12px;
  font-weight: 400;
  color: var(--base);
}
.p-blog-list__item_title {
  margin: 8.8px 0 0;
  line-height: 1.4444444444;
  font-size: min(18px, 1.5189873418vw);
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-blog-list__item_title {
    font-size: min(18px, 2.8125vw);
  }
}
.p-blog-list__item_title a {
  text-decoration: none;
  color: var(--base);
}
.p-blog-side__item + .p-blog-side__item {
  margin-top: 88.7px;
}
.p-blog-side__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin: 0 auto 24.8px;
}
.p-blog-side__title .is__jp {
  line-height: 1.4;
  font-size: 18px;
  font-weight: 700;
  color: var(--blue1);
}
.p-blog-side__title .is__en {
  line-height: 1.4;
  font-size: 30px;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
}
.p-blog-side__popular {
  display: flex;
  flex-direction: column;
  gap: 34.5px;
}
.p-blog-cat {
  display: flex;
  flex-direction: column;
}
.p-blog-cat__item {
  border-bottom: 1px solid var(--base);
  box-sizing: border-box;
}
.p-blog-cat__link {
  display: block;
  padding: 20px;
  box-sizing: border-box;
  position: relative;
  line-height: 1.4444444444;
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;
  color: var(--base);
}
.p-blog-cat__link::after {
  content: "";
  width: 10px;
  aspect-ratio: 1/1;
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: var(--base);
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  rotate: 45deg;
}
.p-blog-taxonomy__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  margin: 45px auto 0;
  padding: 0 0 20px;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .p-blog-taxonomy__title {
    gap: min(7px, 1.09375vw);
    margin-top: min(45px, 7.03125vw);
    padding-bottom: min(20px, 3.125vw);
  }
}
.p-blog-taxonomy__title::after {
  content: "";
  width: 46px;
  height: 4px;
  background: var(--blue1);
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}
@media only screen and (max-width: 768px) {
  .p-blog-taxonomy__title::after {
    width: min(46px, 7.1875vw);
    height: min(4px, 0.625vw);
  }
}
.p-blog-taxonomy__title .is__en {
  line-height: 1.4;
  font-size: 18px;
  font-weight: 700;
  color: var(--blue1);
}
@media only screen and (max-width: 768px) {
  .p-blog-taxonomy__title .is__en {
    font-size: min(18px, 2.8125vw);
  }
}
.p-blog-taxonomy__title .is__jp {
  line-height: 1.2;
  font-size: 40px;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-blog-taxonomy__title .is__jp {
    font-size: min(40px, 6.25vw);
  }
}
.p-blog-detail__title {
  margin: 0 0 20px;
  line-height: 1.5;
  font-size: 28px;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-blog-detail__title {
    font-size: min(28px, 4.375vw);
  }
}
.p-blog-detail__head {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 0 0 24px;
}
.p-blog-detail__date {
  line-height: 1.75;
  font-size: 16px;
  font-weight: 400;
}
.p-blog-detail__cat {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.p-blog-detail__cat_item {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 3px;
  border-radius: 6px;
  box-sizing: border-box;
  background: var(--gray1);
  line-height: 1.2;
  font-size: 14px;
  font-weight: 400;
}
.p-blog-detail__body {
  padding: 20px 0 0;
  line-height: 1.625;
  font-size: 16px;
  font-weight: 500;
}
.p-blog-detail__body * + * {
  margin-top: 1.6em;
}
.p-blog-detail__body * + h2 {
  margin-top: 40px;
}
.p-blog-detail__body h2 {
  display: block;
  padding: 15px 20px;
  background: var(--gray1);
  line-height: 1.1818181818;
  font-size: 22px;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-blog-detail__body h2 {
    font-size: min(22px, 3.4375vw);
  }
}