@charset "UTF-8";
body {
  font-family: "Zen Maru Gothic", serif;
  color: #343436;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 500;
  background: #e6edf3;
}
.inner {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 900px) {
  .inner {
    max-width: 1440px;
  }
}

.header {
  height: 142px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
}
.header.scrolled {
  background: #e6edf3;
  height: 68px;
}
@media screen and (min-width: 900px) {
  .header.scrolled {
    height: 99px;
  }
}
@media screen and (min-width: 900px) {
  .header {
    height: 138px;
  }
}

.header__inner {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (min-width: 900px) {
  .header__inner {
    padding-left: 48px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 32px 0px 0px 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
}

.archive-page .header__logo {
  padding: 32px 0px 0px 4px;
}

.header__logo-scroll {
  display: none;
  width: 160px;
  height: 32.867px;
  display: -webkit-box;
  display: -ms-flexbox;
  /* display: flex; */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.header__logo-scroll img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 900px) {
  .header__logo-scroll {
    width: 206.351px;
    height: 42.389px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.hidden {
  display: none;
}

.header__title {
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.6; /* 32px */
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    color-stop(18.85%, #c31f1f),
    color-stop(67.5%, #132097)
  );
  background: linear-gradient(90deg, #c31f1f 18.85%, #132097 67.5%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.header__text {
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
}

.header__tag {
  position: fixed;
  right: 0;
  top: 0;
  border-radius: 0px 0px 0px 28px;
  background: var(--blue, #135097);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 28px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 39px;
  -webkit-transition: background-color 0.01s ease-in-out;
  transition: background-color 0.01s ease-in-out;
}

.archive-page .header__tag {
  padding: 28px 30px;
}

.header__tag.no-background {
  background: none;
}
.header__tag-icon.is-checked {
  display: none;
}
.header__tag.scrolled {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  padding: 20px 32px 20px 40px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 48px;
  border-radius: 0px 0px 0px 24px;
}
@media screen and (min-width: 900px) {
  .header__tag.scrolled {
    display: none;
  }
}
@media screen and (min-width: 900px) {
  .header__tag {
    display: none;
  }
}

.header__icon {
  z-index: 11;
  width: 27px;
  height: 16.5px;
  position: relative;
  top: 0px;
  right: 5px;
}
.header__icon.is-checked .drawer-icon__bar:nth-child(1),
.header__icon.is-checked .drawer-icon__bar:nth-child(3) {
  top: 9px;
}
.header__icon.is-checked .drawer-icon__bar:nth-child(1) {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}
.header__icon.is-checked .drawer-icon__bar:nth-child(2) {
  display: none;
}
.header__icon.is-checked .drawer-icon__bar:nth-child(3) {
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
}
@media screen and (min-width: 900px) {
  .header__icon {
    display: none;
  }
}

.drawer-icon__bar {
  z-index: 11;
  position: absolute;
  width: 36px;
  height: 2.769px;
  left: 0;
  background: #fff;
  -webkit-transition: top 0.4s, -webkit-transform 0.4s;
  transition: top 0.4s, -webkit-transform 0.4s;
  transition: top 0.4s, transform 0.4s;
  transition: top 0.4s, transform 0.4s, -webkit-transform 0.4s;
  border-radius: 4px;
}
.drawer-icon__bar:nth-child(1) {
  top: 0;
}
.drawer-icon__bar:nth-child(2) {
  top: 11px;
}
.drawer-icon__bar:nth-child(3) {
  top: 21px;
}

.header__nav {
  position: fixed;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 240px;
  padding: 24px 24px 32px 64px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 32px;
  border-radius: 0px 0px 0px 24px;
  opacity: 0.95;
  background-color: #135097;
  right: -120%;
  -webkit-transition: right 0.4s ease;
  transition: right 0.4s ease; /* トランジション効果を追加 */
  overflow-y: auto; /* 縦方向のスクロールを有効にする */
}
.header__nav-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 900px) {
  .header__nav-button {
    /* padding-left: 32px; */
  }
}
.header__nav-button:hover {
  opacity: 0.8;
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  -webkit-transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
  transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
  transition: transform 0.2s, box-shadow 0.2s;
  transition: transform 0.2s, box-shadow 0.2s, -webkit-transform 0.2s,
    -webkit-box-shadow 0.2s;
}
.header__nav .button-top {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.66667; /* 166.667% */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0px 3px 0 3px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 8px 8px 0px 0px;
  border: 1px solid #fff;
  background: #135097;
}
@media screen and (min-width: 900px) {
  .header__nav .button-top {
    font-size: clamp(0.625rem, 0.37vw + 0.417rem, 0.75rem);
  }
}
.header__nav .button-bottom {
  color: #135097;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25; /* 125% */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3px 0px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  border-radius: 0px 0px 8px 8px;
  border: 1px solid #fff;
  background: #fff;
}
@media screen and (min-width: 900px) {
  .header__nav .button-bottom {
    font-size: clamp(0.875rem, 0.37vw + 0.667rem, 1rem);
  }
}
.header__nav .header__nav-button-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.header__nav .header__nav-button-2 .button-top {
  color: #135097;
  background: #fff;
  padding: 1px 17px 0 17px;
}
.header__nav .header__nav-button-2 .button-bottom {
  padding: 3px clamp(0.8125rem, 0.37vw + 0.604rem, 0.9375rem);
  color: #fff;
  background: #135097;
}
@media screen and (min-width: 900px) {
  .header__nav {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 0px 0px 0px 32px;
    padding: 24px 10px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    align-items: center;
    gap: 48px;
  }
}
@media screen and (min-width: 1200px) {
  .header__nav {
    padding: 24px clamp(0.625rem, 22.917vw - 16.562rem, 4.0625rem);
  }
}

.header__nav.is-open {
  right: 0; /* メニューが表示される位置 */
}

.header__nav-lists {
  padding-top: 48.5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-right: 40px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 32px;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}
@media screen and (min-width: 900px) {
  .header__nav-lists {
    gap: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding-top: 0;
    padding-right: 0;
  }
}
.header__nav-list {
  color: #fff;
}
.header__nav-list:nth-child(5) {
  display: none;
}
.header__nav-list:nth-child(6) {
  display: none;
}
@media screen and (min-width: 900px) {
  .header__nav-list {
    padding-left: clamp(0.625rem, 7.037vw - 3.333rem, 3rem);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2; /* 19.2px */
  }
  .header__nav-list:nth-child(1) {
    padding-left: 0;
  }
  .header__nav-list:nth-child(5) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header__nav-list:nth-child(6) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: clamp(0.625rem, 4.074vw - 1.667rem, 2rem);
  }
}
@media screen and (min-width: 1440px) {
  .header__nav-list {
    font-size: 16px;
  }
}
.header__nav-list:hover {
  opacity: 0.7; /* ホバー時に透明度を変更 */
}

.fv {
  padding-top: 235px;
  overflow-x: clip;
  overflow: hidden;
}
@media screen and (min-width: 900px) {
  .fv {
    padding-top: 235px;
  }
}

.swiper1 {
  overflow: unset !important;
  margin-top: -32px;
}

.swiper-wrapper1 {
  position: relative;
  width: 100%;
}

.swiper-slide1 {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  max-width: 302px;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.swiper-button-prev1,
.swiper-button-next1 {
  width: 36px !important;
  height: 36px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 43% !important;
}
.swiper-button-prev1::after,
.swiper-button-next1::after {
  display: none;
}
@media screen and (min-width: 900px) {
  .swiper-button-prev1,
  .swiper-button-next1 {
    top: 44.5% !important;
  }
}
.swiper-button-prev1:hover,
.swiper-button-next1:hover {
  opacity: 0.8; /* ホバー時に透明度を変更 */
}

.swiper-button-prev1 {
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  left: calc(50% - 168px) !important;
  background: url(../img/arrow-left.png) no-repeat center center/contain;
}
@media screen and (min-width: 900px) {
  .swiper-button-prev1 {
    left: calc(50% - 358px) !important;
  }
}

.swiper-button-next1 {
  right: calc(50% - 204px) !important;
  background: url(../img/arrow-right.png) no-repeat center center/contain;
}
@media screen and (min-width: 900px) {
  .swiper-button-next1 {
    right: calc(50% - 394px) !important;
  }
}

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 302px;
  padding: 16px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 8px;
  background-color: #fff;
  border-radius: 12px;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.03),
    0px 5px 30px 0px rgba(20, 43, 78, 0.2);
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.03),
    0px 5px 30px 0px rgba(20, 43, 78, 0.2);
}
.card img {
  height: 152.53px;
  width: 270px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  border-radius: 8px;
}
@media screen and (min-width: 900px) {
  .card img {
    width: 540px;
    height: 305.57px;
  }
}
@media screen and (min-width: 900px) {
  .card {
    padding: 28px;
    border-radius: 20px;
    -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.02),
      0px 16px 30px 0px rgba(0, 0, 0, 0.06);
    box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.02),
      0px 16px 30px 0px rgba(0, 0, 0, 0.06);
    width: 596px;
    gap: 8px;
  }
}
.card:hover {
  opacity: 0.8; /* ホバー時に透明度を変更 */
}

.card-date {
  color: #676e87;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2; /* 14.4px */
  padding-top: 4px;
}
@media screen and (min-width: 900px) {
  .card-date {
    font-size: 14px;
    padding-top: 8px;
  }
}

.card-title {
  width: 270px;
  overflow: hidden;
  text-overflow: ellipsis;
  /* card/title-15px */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4; /* 21px */
  letter-spacing: 0.3px;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 2行に制限 */
  -webkit-box-orient: vertical;
  white-space: normal;
  text-overflow: clip;
}
@media screen and (min-width: 900px) {
  .card-title {
    width: 540px;
    font-size: 20px;
    line-height: 1.6; /* 32px */
    letter-spacing: 1px;
  }
}

.card-category {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3px 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #c88dec;
  background: #fff;
}
@media screen and (min-width: 900px) {
  .card-category {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    padding: 3px 19px;
    border-radius: 6px;
  }
}

.card-tags {
  gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; /* タグを1行に制限 */
  overflow: hidden; /* はみ出る部分を隠す */
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; /* タグを中央揃え */
  padding-top: 4px;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}
@media screen and (min-width: 900px) {
  .card-tags {
    padding-top: 8px;
    gap: 16px;
  }
}

.card-tag {
  white-space: nowrap; /* タグ内のテキストを折り返さない */
  display: inline-block;
  padding: 2px 8px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 24px;
  background: #daeff8;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8; /* 21.6px */
}
@media screen and (min-width: 900px) {
  .card-tag {
    padding: 2px 10px 4px 8px;
    border-radius: 16px;
    font-size: 14px;
    line-height: 1.5;
  }
}

.swiper1 .swiper-slide-active {
  -webkit-transform: translateY(-12px) !important;
  transform: translateY(-12px) !important;
  -webkit-transition: -webkit-transform 0.3s ease-in-out !important;
  transition: -webkit-transform 0.3s ease-in-out !important;
  transition: transform 0.3s ease-in-out !important;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out !important;
}
@media screen and (min-width: 900px) {
  .swiper1 .swiper-slide-active {
    -webkit-transform: translateY(-40px) !important;
    transform: translateY(-40px) !important;
  }
}

.news {
  padding-bottom: 40px;
  padding-top: 59px;
  padding-inline: 44px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (min-width: 900px) {
  .news {
    padding-top: 48px;
  }
}

.single-page .section__top {
  margin-right: auto;
  padding-top: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 12px;
}
@media screen and (min-width: 900px) {
  .single-page .section__top {
    margin-right: auto;
    padding-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 12px;
  }
}
.section__top {
  margin-right: auto;
  padding-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 12px;
}
@media screen and (min-width: 900px) {
  .section__top {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: unset;
  }
}

.section__top-img img {
  width: 100%;
  height: 100%;
}
.single-page .section__top-img {
  width: 42px;
  height: 22.556px;
}
@media screen and (min-width: 900px) {
  .section__top-img {
    width: 72px;
    height: 38px;
  }
}
@media screen and (min-width: 900px) {
  .single-page .section__top-img {
    margin-top: 5px;
    width: 52px;
    height: 28px;
  }
}

.section__top-title {
  color: #135097;
  text-shadow: 0px 2px 24px rgba(0, 0, 0, 0.05);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2; /* 28.8px */
  letter-spacing: 4.8px;
}
.single-page .section__top-title {
  color: #135097;
  text-shadow: 0px 2px 24px rgba(0, 0, 0, 0.05);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2; /* 28.8px */
  letter-spacing: 2.4px;
}
@media screen and (min-width: 900px) {
  .section__top-title {
    font-size: 32px;
    letter-spacing: 6.4px;
  }

  .single-page .section__top-title {
    letter-spacing: 6.4px;
    font-size: 32px;
  }
}

.news__card-wrap {
  display: grid;
  padding-top: 32px;
  gap: 20px;
}
@media screen and (min-width: 900px) {
  .news__card-wrap {
    width: 100%;
    max-width: 700px;
    padding-top: 48px;
    grid-template-columns: repeat(auto-fit, minmax(302px, 1fr));
    -webkit-column-gap: clamp(1.25rem, 8.148vw - 3.333rem, 4rem);
    -moz-column-gap: clamp(1.25rem, 8.148vw - 3.333rem, 4rem);
    column-gap: clamp(1.25rem, 8.148vw - 3.333rem, 4rem);
    row-gap: 50px;
  }
}
@media screen and (min-width: 1200px) {
  .news__card-wrap {
    max-width: 1034px;
  }
}

.news__card {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 302px;
  padding: 16px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 8px;
  background-color: #fff;
  border-radius: 12px;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.03),
    0px 5px 30px 0px rgba(20, 43, 78, 0.2);
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.03),
    0px 5px 30px 0px rgba(20, 43, 78, 0.2);
}
.news__card img {
  height: 152.53px;
  width: 270px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  border-radius: 8px;
}

.news__card-date {
  color: #676e87;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2; /* 14.4px */
  padding-top: 4px;
}

.news__card-title {
  width: 270px;
  overflow: hidden;
  text-overflow: ellipsis;
  /* card/title-15px */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4; /* 21px */
  letter-spacing: 0.3px;
}

/* 投稿がない場合にだけテキストを中央揃えにする */
.no-posts .news__card-title {
  text-align: center;
}

.news__card-category {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3px 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #c88dec;
  background: #fff;
}

.news__card-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding-top: 4px;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  -ms-flex-flow: unset;
  flex-flow: unset;
}

.news__card-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2px 8px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 24px;
  background: #daeff8;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8; /* 21.6px */
}

.showmore_button {
  margin-top: 32px;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 6px 24px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid #135097;
  border-radius: 20px 20px 0px 20px;
  background: #135097;
  -webkit-box-shadow: 0px 2px 24px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 2px 24px 0px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8; /* 32.4px */
  letter-spacing: 3.6px;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (min-width: 900px) {
  .showmore_button {
    margin-top: 49px;
    margin-right: auto;
    font-size: 20px;
    letter-spacing: 4px;
  }
}
.showmore_button:hover {
  background: #fff;
  color: #135097;
}

.recommend {
  overflow: hidden;
  background: url(../img/recommend_bg.jpg) center center no-repeat;
  background-size: cover;
  padding-bottom: 65px;
}
.single-page .recommend {
  background: unset;
  padding-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .recommend {
    padding-bottom: 60px;
  }
  .single-page .recommend {
    padding-bottom: 10px;
  }
}

.recommend__top {
  position: relative;
}
@media screen and (min-width: 900px) {
  .recommend__top {
    padding-top: 64px;
    margin-left: 5px;
  }
  .single-page .recommend__top {
    padding-top: 65px;
  }
}

.recommend__wrap {
  margin-left: clamp(1.25rem, 27.505vw - 5.454rem, 10rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media screen and (min-width: 900px) {
  .recommend__wrap {
    margin-left: 198px;
  }
}

.recommend_top-title {
  color: #fff;
  letter-spacing: 4.8px;
}
.single-page .recommend_top-title {
  color: #135097;
}

.swiper2 {
  width: 100%;
  margin-left: 0;
  margin-right: 68px;
  padding-top: 96px !important;
  padding-bottom: 37px;
  overflow: unset !important;
}
.single-page .swiper2 {
  margin-left: 0;
  margin-right: 68px !important;
  padding-top: 96px !important;
  padding-bottom: 37px;
  overflow: unset !important;
}

@media screen and (min-width: 900px) {
  .swiper2 {
    padding-top: 45px;
    padding-bottom: 49px;
    margin-top: 42px;
  }
  .single-page .swiper2 {
    padding-top: 45px;
    padding-bottom: 49px;
    margin-top: -50px;
  }
}

.swiper-wrapper2 {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 900px) {
  .swiper-wrapper2 {
    right: clamp(14.375rem, 36.481vw - 6.146rem, 26.6875rem);
  }
}

.swiper-slide2 {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  max-width: 302px;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.swiper-button-prev2,
.swiper-button-next2 {
  padding-top: 24px;
  z-index: 10;
  width: 48px !important;
  height: 48px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* top: 94px !important; */
  top: 116px !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
}
.single-page .swiper-button-prev2 {
  /* top: 164px !important; */
}
.swiper-button-prev2::after,
.swiper-button-next2::after {
  display: none;
}
@media screen and (min-width: 900px) {
  .swiper-button-prev2,
  .swiper-button-next2 {
    /* padding-top: 0 !important; */
    top: 86px !important;
  }
}
.swiper-button-prev2.swiper-button-disabled,
.swiper-button-next2.swiper-button-disabled {
  opacity: 0.5 !important;
}

.swiper-button-prev2 {
  /* margin: -23px clamp(14.25rem, 53.438vw + 1.224rem, 31.25rem) !important;
  margin-right: clamp(14.25rem, 33.792vw + 6.013rem, 25rem) !important; */
  margin: -23px clamp(14.25rem, 53.438vw + 1.224rem, 31.25rem) !important;

  background: url(../img/swiper2_button.png) no-repeat center center/contain;
  background-size: 48px 48px;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}
.single-page .swiper-button-prev2 {
  background: url(../img/swiper2_button-blue.png) no-repeat center
    center/contain;
  margin: 0 clamp(12.4375rem, 59.136vw - 1.977rem, 31.25rem) !important;
}
@media screen and (min-width: 900px) {
  .swiper-button-prev2 {
    /* top: 86px; */
    margin: -23px clamp(31.25rem, 77.407vw - 12.292rem, 57.375rem) !important;
  }
  .single-page .swiper-button-prev2 {
    margin: 0 clamp(31.25rem, 77.407vw - 12.292rem, 57.375rem) !important;
  }
}
.swiper-button-prev2:hover {
  background: url(../img/swiper2_button_hover.png) no-repeat center
    center/contain;
}
.single-page .swiper-button-prev2:hover {
  background: url(../img/swiper2_button_hover-blue.png) no-repeat center
    center/contain;
}

.swiper-button-next2 {
  /* left: clamp(17rem, 28.857vw + 9.966rem, 35.9375rem) !important; */
  left: clamp(18.875rem, 58.939vw + 4.509rem, 37.625rem) !important;
  /* margin: 0px !important; */
  background: url(../img/swiper2_button.png) no-repeat center center/contain;
  background-size: 48px 48px;
}
.single-page .swiper-button-next2 {
  background: url(../img/swiper2_button-blue.png) no-repeat center
    center/contain;
  left: clamp(17rem, 64.833vw + 1.197rem, 37.625rem) !important;
  margin-top: 0;
}
@media screen and (min-width: 900px) {
  .swiper-button-next2 {
    left: clamp(35.9375rem, 77.222vw - 7.5rem, 62rem) !important;
  }
  .single-page .swiper-button-next2 {
    left: clamp(35.9375rem, 77.222vw - 7.5rem, 62rem) !important;
  }
}
.swiper-button-next2:hover {
  background: url(../img/swiper2_button_hover.png) no-repeat center
    center/contain;
}
.single-page .swiper-button-next2:hover {
  background: url(../img/swiper2_button_hover-blue.png) no-repeat center
    center/contain;
}

.swiper-scrollbar2 {
  position: relative !important;
  width: clamp(22rem, 6.168rem + 64.95vw, 64.625rem) !important;
  height: 8px !important;
  border-radius: 4px !important;
  background: #dde1f0 !important;
  top: 24px !important;
  left: 0 !important;
}
.single-page .swiper-scrollbar2 {
  top: 24px !important;
}
@media screen and (min-width: 900px) {
  .single-page .swiper-scrollbar2 {
    top: -6px !important;
  }
}
@media screen and (min-width: 1440px) {
  .swiper-scrollbar2 {
    width: clamp(64.625rem, 14.75rem + 55.42vw, 81.25rem) !important;
    margin-top: 43px !important;
  }
}

.swiper-scrollbar-drag {
  /* width: 76px !important; */
  /* height: 8px !important; */
  position: relative !important;
  background: rgba(0, 0, 0, 0.5) !important;
  border-radius: 4px !important;
  left: 0;
  top: 0;
  background: #135097 !important;
}

.recommend__card {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 302px;
  padding: 16px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 8px;
  background-color: #fff;
  border-radius: 12px;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.03),
    0px 5px 30px 0px rgba(20, 43, 78, 0.2);
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.03),
    0px 5px 30px 0px rgba(20, 43, 78, 0.2);
}
.recommend__card img {
  height: 152.53px;
  width: 270px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  border-radius: 8px;
}

.recommend__card-date {
  color: #676e87;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2; /* 14.4px */
  padding-top: 4px;
}

.recommend__card-title {
  width: 270px;
  overflow: hidden;
  text-overflow: ellipsis;
  /* card/title-15px */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4; /* 21px */
  letter-spacing: 0.3px;
}

.recommend__card-category {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3px 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #c88dec;
  background: #fff;
}

.recommend__card-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding-top: 4px;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
}

.recommend__card-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2px 8px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 24px;
  background: #daeff8;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8; /* 21.6px */
}

.allposts {
  padding-top: 9px;
  padding-bottom: 48px;
  padding-inline: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.archive-page .allposts {
  padding-bottom: 48px;

  padding-top: 140px;
  padding-left: 28px;
}
@media screen and (min-width: 900px) {
  .allposts {
    padding-top: 23px;
    padding-bottom: 64px;
  }
  .archive-page .allposts {
    padding-top: 140px;
    padding-left: 20px;
  }
}

.allposts__wrap {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
@media screen and (min-width: 900px) {
  .allposts__wrap {
    position: relative;
  }
}

.allposts__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 20px;
}
.archive-page .allposts__top {
  padding-top: 6px;
}
@media screen and (min-width: 900px) {
  .archive-page .allposts__top {
    padding-top: 32px;
    padding-left: 0;
  }
}

.allposts__tabs {
  padding-top: 19px;
  padding-inline: 29px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 11px;
}
@media screen and (min-width: 900px) {
  .allposts__tabs {
    padding-inline: 8px;
    position: absolute;
    right: 0;
    padding-top: 55px;
  }
  .archive-page .allposts__tabs {
    padding-top: 45px;
  }
}
@media screen and (min-width: 750px) {
  .allposts__tabs {
    gap: 8px;
  }
}
@media screen and (min-width: 950px) {
  .allposts__tabs {
    gap: 12px;
  }
}

.allposts__tabs-item-new,
.allposts__tabs-item-rank {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3; /* 18.2px */
}
@media screen and (min-width: 950px) {
  .allposts__tabs-item-new,
  .allposts__tabs-item-rank {
    font-size: 18px;
  }
}

/* ホバー時のスタイル */
.allposts__tabs-item-new:hover,
.allposts__tabs-item-rank:hover {
  color: #135097; /* 青色 */
  transition: color 0.3s ease; /* スムーズな色の変化のためのトランジション */
}

.allposts__tabs-item-new {
  color: #676e87;
}

.allposts__tabs-item-rank {
  color: #676e87;
}

.allposts__tabs-item-bar {
  width: 1px;
  height: 16px;
  background: #676e87;
}
@media screen and (min-width: 900px) {
  .allposts__tabs-item-bar {
    height: 20px;
  }
}

.allposts__contents {
  padding-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media screen and (min-width: 900px) {
  .allposts__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 48px;
  }
  .archive-page .allposts__contents {
    padding-top: 39px;
  }
}

.allposts__contents-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
}

@media screen and (min-width: 900px) {
  .allposts__contents-tags {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    gap: 12px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.allposts__contents-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 27px;
  padding: 11px 9px 9px 6px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 0px 12px 12px 0px;
  border: 1px solid #629de2;
  background: #fff;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #629de2;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: 2.56px;
  font-weight: 500;
  line-height: 1.15; /* 16.1px */
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl; /* 縦書き、右から左 */
  text-orientation: upright; /*英字用*/
  /* 4番目の要素の色を変更 */
  /* 5番目の要素の色を変更 */
}

.archive-page .allposts__contents-tag {
  /* background: #629de2; */
  color: #fff;
}
.tag-page .allposts__contents-tag {
  background: #629de2;
  color: #fff;
}

@media screen and (min-width: 900px) {
  .allposts__contents-tag {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    padding: 5px 19px 2px 20px;
    border-radius: 12px 12px 0px 0px;
    font-size: 16px;
    line-height: 1.5; /* 24px */
    letter-spacing: -0.1px;
  }
}
@media screen and (min-width: 750px) {
  .allposts__contents-tag {
    font-size: clamp(0.8125rem, 0.612vw + 0.449rem, 1rem);
  }
}

.allposts__contents-tag:nth-child(3) {
  color: #42a0ad;
  border: 1px solid #42a0ad;
}
body:not(.archive-page) .allposts__contents-tag:nth-child(3):hover {
  background: #42a0ad;
}
.allposts__contents-tag:nth-child(4) {
  color: #bb7ee1;
  border: 1px solid #bb7ee1;
}
body:not(.archive-page) .allposts__contents-tag:nth-child(4):hover {
  background: #bb7ee1;
}
.allposts__contents-tag:nth-child(5) {
  color: #816dfa;
  border: 1px solid #816dfa;
}
body:not(.archive-page) .allposts__contents-tag:nth-child(5):hover {
  background: #816dfa;
}
body:not(.archive-page) .allposts__contents-tag:hover {
  color: #fff;
  background: #629de2;
}

.allposts__contents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(302px, 1fr));
  gap: clamp(0.6875rem, 2vw + 0.2rem, 2rem);
  padding: clamp(0.625rem, 2.095vw + 0.114rem, 2rem);
  border-radius: 16px 0px 16px 16px;
  border: 1px solid #629de2;
  background: #629de2;
}
@media screen and (min-width: 900px) {
  .allposts__contents-grid {
    border-radius: 0px 16px 16px 16px;
  }
}
@media screen and (min-width: 750px) {
  .allposts__contents-grid {
    grid-template-columns: repeat(2, 1fr); /* 750px以上950px未満: 2列 */
  }
}
@media screen and (min-width: 950px) {
  .allposts__contents-grid {
    grid-template-columns: repeat(3, 1fr); /* 950px以上: 3列 */
  }
}

.tag-page .allposts__contents-grid {
  background: #629de2;
  border-color: #629de2;
}

.allposts__card {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 302px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 16px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 8px;
  background-color: #fff;
  border-radius: 12px;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.03),
    0px 5px 30px 0px rgba(20, 43, 78, 0.2);
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.03),
    0px 5px 30px 0px rgba(20, 43, 78, 0.2);
}
.allposts__card img {
  height: 152.53px;
  width: 270px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  border-radius: 8px;
}
@media screen and (min-width: 750px) {
  .allposts__card img {
    width: clamp(15rem, 6.122vw + 11.365rem, 16.875rem);
  }
}
.allposts__card:nth-child(n + 4) {
  display: none;
}
@media screen and (min-width: 750px) {
  .allposts__card:nth-child(4),
  .allposts__card:nth-child(5),
  .allposts__card:nth-child(6) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 950px) {
  .allposts__card:nth-child(7),
  .allposts__card:nth-child(8),
  .allposts__card:nth-child(9) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.allposts__card-date {
  color: #676e87;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2; /* 14.4px */
  padding-top: 4px;
}

.allposts__card-title {
  width: 270px;
  overflow: hidden;
  text-overflow: ellipsis;
  /* card/title-15px */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4; /* 21px */
  letter-spacing: 0.3px;
}
@media screen and (min-width: 750px) {
  .allposts__card-title {
    width: clamp(15rem, 6.122vw + 11.365rem, 16.875rem);
    font-size: clamp(0.8125rem, 0.408vw + 0.57rem, 0.9375rem);
  }
}

.allposts__card-category {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3px 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #c88dec;
  background: #fff;
}

.allposts__card-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding-top: 4px;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  /* -ms-flex-flow: wrap; */
  /* flex-flow: wrap; */
}

.allposts__card-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2px 8px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 24px;
  background: #daeff8;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8; /* 21.6px */
}

.allposts__button {
  margin-top: 21px;
  margin-inline: auto;
  width: fit-content;
}
@media screen and (min-width: 900px) {
  .allposts__button {
    margin-left: auto !important;
    margin-inline: unset;
    margin-top: 31px;
  }
}

.allposts__keyword {
  max-width: 80vw;
  padding-top: 64px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.single-page .allposts__keyword {
  padding-top: 0;
}

.tag-page .allposts__keyword {
  padding-bottom: clamp(3rem, 2.629rem + 1.52vw, 4rem);
  align-items: center;
  margin-inline: auto;
}

.allposts__keyword-center {
  width: fit-content;
  display: flex;
  flex-direction: column;
}

.tag-page .allposts__keyword-wrap {
  width: fit-content;
}
.allposts__keyword-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 10px 28px 6px 16px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 8px;
  border-radius: 16px 16px 0px 0px;
  background: #629de2;
}
@media screen and (min-width: 900px) {
  .allposts__keyword-wrap {
    padding: 12px 43px 8px 24px;
    gap: 11px;
  }
}

.allposts__keyword-icon {
  width: 18px;
  height: 18px;
}
@media screen and (min-width: 900px) {
  .allposts__keyword-icon {
    width: 24px;
    height: 24px;
  }
}

.allposts__keyword-title {
  color: #fff;
  font-weight: 700;
  line-height: 1.5; /* 22.5px */
  letter-spacing: 2.25px;
}
@media screen and (min-width: 900px) {
  .allposts__keyword-title {
    font-size: 18px;
    letter-spacing: 2.7px;
  }
}

.allposts__keyword-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 24px 16px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 20px;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  border-radius: 0px 20px 20px 20px;
  border: 1px solid #629de2;
  background: #fff;
  display: flex;
  align-items: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  gap: 8px;
  align-self: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (min-width: 900px) {
  .allposts__keyword-tags {
    padding: 35px 92px;
    gap: 16px;
  }
}

.tag-page .allposts__keyword-tags {
  /* width: 350px;
  */
  width: clamp(21.875rem, 61.905vw + 6.786rem, 62.5rem);
}

.allposts__keyword-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2px 8px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 16px;
  background: #daeff8;
  color: #343436;
  font-size: 12px;
  line-height: 1.8; /* 21.6px */
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  transition: background 0.3s ease, color 0.3s ease;
}
.allposts__keyword-tag:hover {
  background: #343436; /* ホバー時の背景色、例として黒を指定 */
  color: #daeff8; /* ホバー時の文字色、デフォルトの背景色と同じにする */
}

.cta {
  background: url(../img/cta_bg.jpg) center center no-repeat;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.cta__wrap {
  max-width: 440px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 40px;
  padding-bottom: 72px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

.archive-page .cta__wrap {
  padding-left: 44px;
}

@media screen and (min-width: 750px) {
  .cta__wrap {
    max-width: 715px;
  }
  .archive-page .cta__wrap {
    padding-left: 40px;
  }
}
@media screen and (min-width: 900px) {
  .cta__wrap {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 80px;
    padding-bottom: 74px;
    padding-top: 101px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
  }
}
@media screen and (min-width: 1200px) {
  .cta__wrap {
    gap: 130px;
  }
}

.cta__button {
  position: relative;
  top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  -webkit-box-shadow: 0px 0px 34px 0px rgba(0, 0, 0, 0.05),
    0px 24px 44px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 0px 34px 0px rgba(0, 0, 0, 0.05),
    0px 24px 44px 0px rgba(0, 0, 0, 0.05);
}
@media screen and (min-width: 900px) {
  .cta__button {
    top: 0;
  }
}
.cta__button:hover {
  opacity: 0.8;
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
  -webkit-transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
  transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
  transition: transform 0.2s, box-shadow 0.2s;
  transition: transform 0.2s, box-shadow 0.2s, -webkit-transform 0.2s,
    -webkit-box-shadow 0.2s;
}

.cta__button-2 {
  margin-top: 31px;
  top: 32px;
}
@media screen and (min-width: 900px) {
  .cta__button-2 {
    margin-top: 1px;
    top: 0;
  }
}
.cta__button-2 .cta__button-sub {
  background: #fff;
  color: #2a84bf;
  padding: 4px 15px;
  top: -18px;
}
@media screen and (min-width: 900px) {
  .cta__button-2 .cta__button-sub {
    top: -27px;
    padding: 6px 15px;
  }
}
.cta__button-2 .cta__button-main {
  background: transparent;
  border-radius: 12px;
  border: 2px solid #fff;
  padding: 10px 13px 7px 22px;
  gap: 2px;
}
@media screen and (min-width: 900px) {
  .cta__button-2 .cta__button-main {
    padding: 14px 21px 14px 30px;
    gap: 0;
  }
}
.cta__button-2 .cta__button-main-text {
  color: #fff;
  letter-spacing: 1.44px;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 900px) {
  .cta__button-2 .cta__button-main-text {
    text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);
    letter-spacing: 1.92px;
  }
}

.cta__button-sub {
  position: absolute;
  top: -20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 5px 15px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 8px 8px 8px 0px;
  border: 1px solid #fff;
  background: #2a84bf;
  color: var(--white, #fff);
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-style: normal;
  line-height: 1.3; /* 18.2px */
}
@media screen and (min-width: 900px) {
  .cta__button-sub {
    font-size: 18px;
    font-weight: 500;
    top: -28px;
    padding: 6px 15px;
  }
}

.cta__button-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 11px 15px 8px 19px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  border: 1px solid #fff;
  background: #fff;
}
@media screen and (min-width: 900px) {
  .cta__button-main {
    padding: 14px 31px;
    gap: 10px;
  }
}

.cta__button-main-text {
  color: #135097;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  font-style: normal;
  line-height: 1.3; /* 23.4px */
  letter-spacing: 0.36px;
}
@media screen and (min-width: 900px) {
  .cta__button-main-text {
    font-size: 24px;
    letter-spacing: 0.48px;
  }
}

.cta__button-1-img {
  width: 18px;
  height: 18px;
}
.cta__button-1-img svg {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 900px) {
  .cta__button-1-img {
    width: 24px;
    height: 24px;
  }
}

.cta__button-2-img {
  width: 21px;
  height: 22px;
  -webkit-filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.25));
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.25));
}
.cta__button-2-img svg {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 900px) {
  .cta__button-2-img {
    margin-top: 3px;
    margin-left: 5px;
    width: 24px !important;
    height: 24px !important;
  }
}

@media screen and (min-width: 900px) {
  .cta__button-2-main {
    padding: 14px 30px;
  }
}

.footer {
  background: #241919;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 40px 20px 20px 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.archive-page .footer {
  padding: 41px 20px 20px 27px;
}
@media screen and (min-width: 900px) {
  .footer {
    padding: 48px 0 28px 0;
  }
  .archive-page .footer {
    padding: 48px 0 28px 0;
  }
}

.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 36px;
}
@media screen and (min-width: 900px) {
  .footer__inner {
    max-width: 1034px;
    width: calc(100% - 180px);
    /* padding-inline: 203px; */
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.footer__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 36px;
  width: 234px;
  height: 48.069px;
}
.footer__title img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 900px) {
  .footer__title {
    width: 334px;
    height: 63px;
  }
}

.footer-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 40px;
}
@media screen and (min-width: 900px) {
  .footer-contents {
    gap: 64px;
  }
}

.footer__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 32px;
}
@media screen and (min-width: 900px) {
  .footer__menu {
    gap: 24px;
    padding: 16px 0px;
  }
}
.footer__menu :nth-of-type(1) {
  margin-right: 1px;
}

.footer__menu-item {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  line-height: 1.2; /* 19.2px */
  letter-spacing: 0.8px;
}
.footer__copy {
  padding-top: 36px;
  color: #e6edf3;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.2; /* 19.2px */
}
@media screen and (min-width: 900px) {
  .footer__copy {
    padding-top: 24px;
  }
}

.footer__end-text {
  padding-top: 39px;
  color: #e6edf3;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2; /* 14.4px */
}
.archive-page .footer__end-text {
  margin-left: -3px;
}

@media screen and (min-width: 900px) {
  .footer__end-text {
    padding-top: 24px;
  }
  .archive-page .footer__end-text {
    margin-left: 0;
  }
}

.pagination {
  padding-top: 32px;
  text-align: center;
  display: flex;
  gap: 8px;
  justify-content: center;
  display: flex;
  align-items: center;
}
.archive-page .pagination {
  padding-top: 32px;
  gap: 8px;
}

@media screen and (min-width: 900px) {
  .pagination {
    padding-top: 55px;
  }
  .archive-page .pagination {
    padding-top: 55px;
  }
}

.pagination a {
  transition: all 0.3s ease 0s;
}

.pagination a:hover {
  opacity: 0.6;
}

.pagination a.next,
.pagination a.prev {
  font-size: 30px;
}

.pagination a.next:hover,
.pagination a.prev:hover {
  opacity: 0.6;
}

.page-numbers {
  color: #676e87;
  display: inline-block;
  font-family: "Noto Sans JP";
  font-size: 20px;
  /* height: 40px; */
  font-style: normal;
  font-weight: 400;
  line-height: 1.4; /* 28px */
  letter-spacing: 3px;
  width: 28px;
  padding: 2px 8px;

  /* margin-right: 8px; */
  /* min-width: 40px; */
  text-align: center;
  text-decoration: none;
}

.page-numbers:last-child {
  margin-right: 0;
}

.page-numbers.current {
  background: #629de2;

  color: #fff;
  font-weight: 700;
  /* display: flex; */
  width: 28px;
  padding: 2px 8px;
  flex-direction: column;
  align-items: center;
  border-radius: 4px;

  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 28px */
  letter-spacing: 3px;
}

.page-numbers.dots,
.page-numbers.next,
.page-numbers.prev {
  border: none;
  line-height: 40px;
  min-width: initial;
  width: auto;
  display: flex;
  align-items: center;
  padding: 0;
}

.page-numbers.next {
  margin-left: 8px;
}

.page-numbers.prev {
  margin-right: 8px;
  transform: rotate(180deg);
}

.bg-color-1 {
  border-color: #629de2;
  background: #629de2; /* カテゴリ1の背景色 */
}

.bg-color-2 {
  border-color: #135097;
  background: #135097; /* カテゴリ2の背景色 */
}

.bg-color-3 {
  border-color: #42a0ad;
  background: #42a0ad; /* カテゴリ3の背景色 */
}
.bg-color-4 {
  border-color: #9c8cff;
  background: #9c8cff; /* カテゴリ3の背景色 */
}
.bg-color-5 {
  border-color: #c88dec;
  background: #c88dec; /* カテゴリ3の背景色 */
}
.news__card-categorybg-color-1 {
  border-color: #629de2;
  background: #fff; /* カテゴリ1の背景色 */
  color: #629de2;
}

.news__card-categorybg-color-2 {
  border-color: #135097;
  background: #fff; /* カテゴリ2の背景色 */
  color: #132097;
}

.news__card-categorybg-color-3 {
  border-color: #42a0ad;
  background: #fff; /* カテゴリ3の背景色 */
  color: #42a0ad;
}
.news__card-categorybg-color-4 {
  border-color: #9c8cff;
  background: #fff; /* カテゴリ3の背景色 */
  color: #9c8cff;
}
.news__card-categorybg-color-5 {
  border-color: #c88dec;
  background: #fff; /* カテゴリ3の背景色 */
  color: #c88dec;
}

/* 他のカテゴリの色も追加 */

.card-category.news {
  border-color: #c88dec; /* Newsカテゴリーの場合の背景色 */
  color: #c88dec;
}

.card-category.tips {
  border-color: #42a0ad; /* Entertainmentカテゴリーの場合の背景色 */
  color: #42a0ad;
}
.card-category.interview {
  border-color: #9c8cff; /* Entertainmentカテゴリーの場合の背景色 */
  color: #9c8cff;
}
.card-category.whats-new {
  border-color: #135097; /* Entertainmentカテゴリーの場合の背景色 */
  color: #135097;
}

/* 他のカテゴリーに対しても同様に設定 */

/* 404 */

.not404 {
  display: flex;
  /* padding-top: 144px; */
  margin-top: clamp(9rem, 8.327rem + 2.76vw, 10.813rem);
  padding-inline: 20px;
  flex-direction: column;
  align-items: center;
}
.not404__content {
  display: flex;
  padding: clamp(3.5rem, 2.943rem + 2.29vw, 5rem)
    clamp(1.25rem, -0.329rem + 6.48vw, 5.5rem);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;

  border-radius: 24px;

  box-shadow: 0px 24px 64px 0px rgba(0, 0, 0, 0.05);
}
.not404__content-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.not404__content-logo {
  width: 89.143px;
  height: 48px;
}
.not404__content-logo img {
  width: 100%;
  height: 100%;
}

.not404__content-top-text {
  padding-top: 20px;
  color: var(--blue, #135097);
  text-align: center;
  font-family: "Noto Sans JP";
  /* font-size: 24px;*/
  font-size: clamp(1.5rem, 0.952vw + 1.268rem, 2.125rem);
  font-style: normal;
  font-weight: 700;
  line-height: 1.8; /* 43.2px */
  /* letter-spacing: 2.4px; */
  letter-spacing: clamp(0.15rem, 0.127rem + 0.1vw, 0.212rem);
}

.not404__content-top-404 {
  color: var(--blue, #629de2);
  font-family: "Noto Sans JP";
  /* font-size: 80px; */
  font-size: clamp(5rem, 4.536rem + 1.9vw, 6.25rem);
  font-style: normal;
  font-weight: 900;
  line-height: 1; /* 80px */
  letter-spacing: 8px;
  padding-bottom: 20px;
  margin-left: 8px;
}
.not404__content-bottom {
  width: clamp(19.375rem, 7.071rem + 50.48vw, 52.5rem);
  padding-top: 32px;
  display: flex;

  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 32px;
}

.not404__content-bottom-text {
  color: var(--gray33333, #343436);
  font-family: "Zen Maru Gothic";
  /* font-size: 20px; */
  font-size: clamp(1.25rem, 1.157rem + 0.38vw, 1.5rem);
  font-style: normal;
  font-weight: 700;
  line-height: 1.8; /* 36px */
  /* letter-spacing: 2px; */
  letter-spacing: clamp(0.125rem, 0.116rem + 0.04vw, 0.15rem);
}
.not404__content-bottom-sub-text {
  color: var(--gray33333, #343436);
  font-family: "Noto Sans JP";
  /* font-size: 15px; */
  font-size: clamp(0.938rem, 0.821rem + 0.48vw, 1.25rem);
  font-style: normal;
  font-weight: 500;
  line-height: 1.8; /* 27px */
  /* letter-spacing: 1.5px; */
  letter-spacing: clamp(0.094rem, 0.082rem + 0.05vw, 0.125rem);
}

.not404__content-button {
  display: flex;
  padding: 14px 30px;
  justify-content: center;
  align-items: center;
  /* gap: 20px; */
  border-radius: 16px;
  border: 2px solid var(--white, #fff);
  background: var(--blue, #629de2);

  color: var(--white, #fff);
  font-family: "Noto Sans JP";
  /* font-size: 14px; */

  font-size: clamp(0.875rem, 0.643rem + 0.95vw, 1.5rem);
  font-style: normal;
  font-weight: 500;
  line-height: 1.3; /* 18.2px */
  /* letter-spacing: 1.12px; */
  letter-spacing: clamp(0.07rem, 0.051rem + 0.08vw, 0.12rem);
}

/* single page */

.single {
  display: flex;
  padding-top: 144px;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
}
@media screen and (min-width: 900px) {
  .single {
    padding-top: 172px;
  }
}
.single__inner {
  width: 100%;
  max-width: 1016px;
  display: flex;
  padding: 20px 20px 48px 20px;
  flex-direction: column;
  align-items: center;
  gap: 16px;

  background: var(--white, #fff);
  box-shadow: 0px 24px 64px 0px rgba(0, 0, 0, 0.05);
}

@media screen and (min-width: 900px) {
  .single__inner {
    border-radius: 24px;
    padding: 48px 88px;
  }
}

.single__top {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 8px;
}

.single__date {
  color: var(--Gray67, #676e87);
  font-family: "Noto Sans JP";
  /* font-size: 16px;
   */
  font-size: clamp(0.875rem, 0.19vw + 0.829rem, 1rem);
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 28.8px */
}

.single__category {
}

.single__title {
  color: var(--gray33333, #343436);
  font-family: "Noto Sans JP";
  /* font-size: 20px; */
  font-size: clamp(1.25rem, 0.762vw + 1.064rem, 1.75rem);
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 30px */
  letter-spacing: 2px;
}

@media screen and (min-width: 390px) {
  .single__title {
    min-width: 352px;
  }
}
@media screen and (min-width: 900px) {
  .single__title {
    line-height: 180%; /* 50.4px */
    letter-spacing: 2.8px;
  }
}

.single__img {
  /* width: 840px; */
  width: clamp(21.875rem, 46.667vw + 10.5rem, 52.5rem);
  /* height: 490px; */
  height: clamp(12.6875rem, 27.333vw + 6.025rem, 30.625rem);
  border-radius: 8px;
}
.single__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}
.single__body {
  margin-top: -3px;
  margin-inline: auto;
  width: 100%;
}

.single__body p:nth-of-type(1) {
  padding-top: 7px;
}
@media screen and (min-width: 900px) {
  .single__body p:nth-of-type(1) {
    padding-top: 20px;
    width: 815px;
    /* width: clamp(21.875rem, 44.286vw + 11.08rem, 50.9375rem); */
  }
}

.single__body p {
  color: var(--gray33333, #343436);
  font-family: "Noto Sans JP";
  /* font-size: 15px; */
  font-size: clamp(0.875rem, 0.095vw + 0.852rem, 0.9375rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.8; /* 25.2px */
  letter-spacing: 1.4px;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .single__body p {
    line-height: 2; /* 30px */
    letter-spacing: 2.25px;
  }
}

.single__body p:nth-of-type(4) {
  padding-bottom: 0;
}
.single__body p:nth-of-type(5) {
  padding-top: 2px;
  padding-bottom: 10px;
}
@media screen and (min-width: 900px) {
  .single__body p:nth-of-type(5) {
    padding-top: 5px;
    padding-bottom: 10px;
  }
}
.single__body p:nth-of-type(10) {
  width: clamp(21.8125rem, 46.762vw + 10.414rem, 52.5rem);
}
.single__body p:nth-of-type(11) {
  /* width: 842px; */
  width: clamp(21.875rem, 46.857vw + 10.454rem, 52.625rem);
}
.single__body p:nth-of-type(12) {
  width: clamp(21.125rem, 47.81vw + 9.471rem, 52.5rem);
}
.single__body p:nth-of-type(19) {
  padding: 20px 0 20px;
  line-height: 1.815;
}
.single__body p:nth-of-type(20) {
  padding-top: 7px;
  line-height: 1.799em;
}
@media screen and (min-width: 900px) {
  .single__body p:nth-of-type(19) {
    padding: 21px 0 22px;
    line-height: 2.05;
  }
}
@media screen and (min-width: 900px) {
  .single__body p:nth-of-type(20) {
    padding-top: 8px;
    line-height: 2.03;
  }
}

#toc_container.toc_white {
  width: 350px;
  margin-top: 8px;
  /* width: 461px; */
  display: flex;
  gap: 10px;
  gap: 12px;
  padding: 0 16px 17px 16px;
  flex-direction: column;
  align-items: flex-start;

  border-right: 1px solid var(--right-blue1, #daeff8);
  border-bottom: 1px solid var(--right-blue1, #daeff8);
  border-left: 1px solid var(--right-blue1, #daeff8);
  background: var(--white, #fff);
}
@media screen and (min-width: 900px) {
  #toc_container.toc_white {
    width: 461px;
    gap: 12px;
    padding: 0 29px 17px 24px;
  }
}

#toc_container p.toc_title {
  width: inherit;
  margin: -10px -14px -12px -17px;
  padding: 6px 16px;
  display: flex;

  align-items: flex-start;

  align-self: stretch;

  color: var(--gray33333, #343436);
  font-family: "Noto Sans JP";
  /* font-size: 20px; */
  font-size: clamp(1rem, 0.381vw + 0.907rem, 1.25rem);
  font-style: normal;
  font-weight: 500 !important;
  line-height: 1.8; /* 36px */
  letter-spacing: 3px;
  background: #daeff8;
}
@media screen and (min-width: 900px) {
  #toc_container p.toc_title {
    letter-spacing: 3px;
    margin: -10px -32px -12px -24px;
    padding: 8px 16px;
  }
}

#toc_container p.toc_title + ul.toc_list {
  margin-left: -1px;
  margin-top: 13px;
  text-decoration: underline #135097;
}
@media screen and (min-width: 900px) {
  #toc_container p.toc_title + ul.toc_list {
    /* margin-left: -9px; */
  }
}

#toc_container ul ul {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  margin-left: 15px;
}

/* #1から#6までの親要素 */
.toc_list > li > a {
  color: var(--blue, #135097);
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6; /* 25.6px */
  letter-spacing: 0.9px;
  text-decoration-line: underline;
}
@media screen and (min-width: 900px) {
  .toc_list > li > a {
    font-size: 16px;
    letter-spacing: 1.92px;
  }
}

.toc_list > li:nth-of-type(2) {
  margin-top: 1px !important;
}
.toc_list > li:nth-of-type(3) {
  margin-top: 8px !important;
}
.toc_list > li:nth-of-type(4) {
  margin-top: 8px !important;
}
.toc_list > li:nth-of-type(5) {
  margin-top: 6px !important;
}
.toc_list > li:nth-of-type(6) {
  margin-top: 8px !important;
}

@media screen and (min-width: 900px) {
  .toc_list > li:nth-of-type(2) {
    margin-top: 0 !important;
  }
  .toc_list > li:nth-of-type(3) {
    margin-top: 9px !important;
  }
  .toc_list > li:nth-of-type(4) {
    margin-top: 8px !important;
  }
  .toc_list > li:nth-of-type(5) {
    margin-top: 9px !important;
  }
  .toc_list > li:nth-of-type(6) {
    margin-top: 9px !important;
  }
}

/* #1-1 から #1-3-1 など、各親要素に含まれる子要素 */
.toc_list > li > ul > li > a {
  color: var(--blue, #135097);
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6; /* 24px */
  letter-spacing: 0.84px;
  text-decoration-line: underline;
}

@media screen and (min-width: 900px) {
  .toc_list > li > ul > li > a {
    font-size: 15px;

    letter-spacing: 1.8px;
  }
}

/* #1-3-1 など、さらにネストされた子要素 */
.toc_list > li > ul > li > ul > li > a {
  display: none;
}

h3.wp-block-heading {
  display: flex;
  padding: 16px 0px;
  align-items: flex-start;
  /* gap: 10px; */
  align-self: stretch;
  border-bottom: 2px solid var(--blue, #629de2);

  color: var(--gray33333, #343436);
  font-family: "Noto Sans JP";
  /* font-size: 24px; */
  font-size: clamp(1.25rem, 0.381vw + 1.157rem, 1.5rem);
  font-style: normal;
  font-weight: 500;
  line-height: 1.6; /* 38.4px */
  letter-spacing: 3px;
}
@media screen and (min-width: 900px) {
  h3.wp-block-heading {
    display: flex;

    /* gap: 10px;  */
    /* font-size: 24px; */

    letter-spacing: 3.6px;
  }
  h3.wp-block-heading:nth-of-type(1) {
    padding: 19px 0 13px;
  }
  h3.wp-block-heading:nth-of-type(3) {
    padding: 16px 0 15px !important;
  }
  h3.wp-block-heading:nth-of-type(4) {
    padding: 16px 0 !important;
  }
  h3.wp-block-heading:nth-of-type(5) {
    padding: 16px 0 !important;
  }
  h3.wp-block-heading:nth-of-type(6) {
    padding: 15px 0 !important;
  }
}

h3.wp-block-heading:nth-of-type(1) {
  padding: 23px 0 13px;
}
h3.wp-block-heading:nth-of-type(2) {
  padding: 14px 0;
}
h3.wp-block-heading:nth-of-type(3) {
  padding: 14px 0;
}
h3.wp-block-heading:nth-of-type(4) {
  padding: 14px 0;
}
h3.wp-block-heading:nth-of-type(5) {
  padding: 14px 0;
}
h3.wp-block-heading:nth-of-type(6) {
  padding: 14px 0;
}
h4.wp-block-heading {
  display: flex;
  padding: 0px 14px;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
  border-left: 2px solid var(--blue, #629de2);

  color: var(--gray33333, #343436);
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6; /* 25.6px */
  letter-spacing: 3.2px;
}
@media screen and (min-width: 900px) {
  h4.wp-block-heading {
    padding: 0px 16px;
  }
}

h4.wp-block-heading:nth-of-type(2) {
  margin-top: 20px;
  padding: 0 0 0 16px;
}
@media screen and (min-width: 900px) {
  h4.wp-block-heading:nth-of-type(2) {
    padding: 0 16px;
  }
}
h4.wp-block-heading:nth-of-type(3) {
  padding: 5px 15px 0;
}
h4.wp-block-heading:nth-of-type(4) {
  padding: 0 15px;
}
h4.wp-block-heading:nth-of-type(5) {
  padding: 1px 15px 0 15px;
  margin-top: -1px;
}
@media screen and (min-width: 900px) {
  h4.wp-block-heading:nth-of-type(5) {
    padding: 0 16px;
  }
}
h4.wp-block-heading:nth-of-type(7) {
  margin-top: -2px;
}
@media screen and (min-width: 900px) {
  h4.wp-block-heading:nth-of-type(7) {
    margin-top: 0;
  }
}
h5.wp-block-heading {
  padding-left: 30px;
  display: flex;
  align-items: center;
  gap: 10px;
  align-self: stretch;

  position: relative;
}
h5.wp-block-heading span {
  margin-top: -9px;
  color: var(--gray33333, #343436);
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6; /* 24px */
  letter-spacing: 3px;
}
h5.wp-block-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  width: 20px; /* ボーダーの幅 */
  height: 2px; /* ボーダーの長さ */
  background-color: #629de2;
}

.wp-block-columns {
  margin-top: -3px;
  display: flex;
  padding: 14px 16px 22px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  /* gap: 10px; */
  align-self: stretch;

  border: 1px solid var(--blue, #629de2);
  background: var(--right-gray, #e6edf3);
}
@media screen and (min-width: 900px) {
  .wp-block-columns {
    padding: 19px 28px;
    margin-top: 0;
  }
}

.wp-block-columns p {
  width: 100%;
  max-width: 315px;
  color: var(--gray33333, #343436);
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;

  line-height: 1.6;
  letter-spacing: 2.4px;
  padding: 0;
}

.wp-block-columns p:nth-child(2) {
  color: var(--blue, #135097);
  padding-top: 10px;
  text-decoration: underline #135097;

  margin-top: 4px;
}
@media screen and (min-width: 900px) {
  .wp-block-columns p:nth-child(1) {
    max-width: unset;
    line-height: 2; /* 32px */
    padding-top: 0 !important;
  }
  .wp-block-columns p:nth-child(2) {
    margin-top: 0;
    max-width: unset;
    line-height: 2; /* 32px */
  }
}

.wp-block-table {
  margin-top: 9px;
  border: 2px solid #629de2;
}

.wp-block-table td {
  border: 1px solid #629de2;

  /* height: 40px; */
  padding: 6.5px 3px;
  vertical-align: middle;
  align-self: stretch;

  /* color: var(--gray33333, #343436); */
  font-family: "Noto Sans JP";
  /* font-size: 16px; */
  font-size: clamp(0.8125rem, 0.286vw + 0.743rem, 1rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.4; /* 24px */
}
@media screen and (min-width: 900px) {
  .wp-block-table td {
    border: 1px solid #629de2;

    height: 40px;
    padding: 9px 3px;
  }
}
/* .wp-block-table tr:nth-of-type(1) {
  background: #629de2;
  color: var(--white, #fff);
  font-weight: 700;
} */
.wp-block-table tr:nth-of-type(1) td {
  background: #629de2;
  color: var(--white, #fff);
  font-weight: 700;
  line-height: 1.3;
  padding: 6px 3px;
}
@media screen and (min-width: 900px) {
  .wp-block-table tr:nth-of-type(1) td {
    padding: 10px 3px;
  }
}

.wp-block-list {
  padding-top: 10px;
  gap: 2px;
  padding-bottom: 20px;
  display: grid;
}
.wp-block-list li {
  padding-left: 44px;
  color: var(--gray33333, #343436);
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 2; /* 30px */
  letter-spacing: 2.25px;
  position: relative;
}
.wp-block-list li::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 45%;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  background-color: #629de2; /* 青色の点 */
  border-radius: 50%; /* 円形にする */
}

.wp-block-button {
}
.wp-block-button__link {
  display: flex;
  padding: 14px 30px;
  justify-content: center;
  align-items: center;

  border-radius: 16px;
  border: 2px solid var(--white, #fff);
  background: var(--blue, #629de2);

  color: var(--white, #fff);
  font-family: "Noto Sans JP";
  /* font-size: 24px; */
  font-size: clamp(0.875rem, 0.952vw + 0.643rem, 1.5rem);
  font-style: normal;
  font-weight: 500;
  line-height: 1.3; /* 31.2px */
  letter-spacing: 1.12px;
}
@media screen and (min-width: 900px) {
  .wp-block-button__link {
    padding: 13px 29px;

    letter-spacing: 1.92px;
  }
}

.single__tag-wrap {
  overflow: hidden;
  flex-direction: column;
  margin-top: 3px;
  display: flex;
  padding-top: 20px;
  /* align-items: center; */
  gap: 4px;
  align-self: stretch;
  border-top: 1px solid var(--linegray, #dde1f0);
}
@media screen and (min-width: 900px) {
  .single__tag-wrap {
    flex-direction: row;
    margin-top: 16px;
    display: flex;
    padding-top: 20px;
    align-items: center;
    gap: 32px;
    align-self: stretch;
  }
}
.single__tag-text {
  color: var(--gray33333, #343436);
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 2; /* 30px */
  letter-spacing: 2.25px;
}

.single__tags {
  gap: 8px;
}

.wp-block-columns p:nth-child(2) {
  text-decoration: underline #135097;
  padding-left: 2px;
}

.no-wrap {
  white-space: nowrap;
}
