@charset "UTF-8";
/*一覧ページ*/
.parts .color-main {
  font-size: 1.7em;
  color: var(--mainColor);
  margin-bottom: 0.6em;
}
@media only screen and (max-width: 559px) {
  .parts .color-main {
    font-size: 1.4em;
    margin-bottom: 0.3em;
  }
}
.parts .catArea {
  margin-bottom: 2.5em;
}
@media only screen and (max-width: 559px) {
  .parts .catArea {
    margin-bottom: 1.5em;
  }
}
.parts .catArea .flex {
  flex-wrap: wrap;
}
.parts .catArea li a {
  font-size: 1em;
  color: var(--mainColor);
  padding: 0.2em 1em;
  border: 1px solid var(--mainColor);
  display: inline-block;
  margin-right: 0.7em;
  margin-bottom: 0.7em;
}
@media only screen and (max-width: 559px) {
  .parts .catArea li a {
    font-size: 0.875em;
    padding: 0 0.7em;
    margin-right: 0.6em;
    margin-bottom: 0.6em;
  }
}
.parts .catArea li a.active {
  color: var(--colorW);
  border: none;
  background-color: var(--mainColor);
}
.parts .box .cms-label {
  font-size: 0.875em;
  color: var(--colorW);
  background-color: var(--mainColor);
  padding: 0.1em 0.75em;
  display: inline-block;
  margin-bottom: 0.2em;
  margin-right: 0.4em;
}
@media only screen and (max-width: 559px) {
  .parts .box .cms-label {
    font-size: 0.75em;
    padding: 0 0.4em;
    margin-bottom: 0.05em;
    margin-right: 0.1em;
  }
}
.parts .box figure {
  margin-bottom: 0.6em;
}
@media only screen and (max-width: 559px) {
  .parts .box figure {
    margin-bottom: 0.1em;
  }
}
.parts .box .date {
  font-size: 1em;
  color: var(--base50Color);
}
@media only screen and (max-width: 559px) {
  .parts .box .date {
    font-size: 0.75em;
  }
}
.parts .box .contents-text {
  font-size: 1.25em;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  /* ブラウザがサポートしていない場合のフェールセーフ */
  max-height: 6rem;
}
@media only screen and (max-width: 559px) {
  .bparts .box .contents-text {
    font-size: 0.875em;
    line-height: 1.3;
  }
}
.pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover, .pager .disabled > span {
  color: var(--mainColor);
  font-size: 1.25em;
  background-color: transparent;
}
@media only screen and (max-width: 559px) {
  .pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover, .pager .disabled > span {
    font-size: 1em;
  }
}
.pager p {
  display: flex;
  align-items: center;
}
.pager p a {
  color: var(--mainColor);
  font-size: 1.4em;
  font-weight: 500;
  align-items: center;
  justify-content: center;
  display: flex;
  flex-shrink: 0;
  padding: 0 0.6em;
}
@media only screen and (max-width: 559px) {
  .pager p a {
    font-size: 1em;
    padding: 0.2em 0.8em;
  }
}
.pager p a.current {
  color: var(--colorW);
  background-color: var(--mainColor);
}
.pager .flex-c {
  gap: 1em;
}
@media only screen and (max-width: 559px) {
  .pager .flex-c {
    gap: 0.5em;
  }
}
.pager {
  margin-top: 6em;
}
@media only screen and (max-width: 559px) {
  .pager {
    margin-top: 2.7em;
  }
}
@media only screen and (max-width: 559px) {
  .parts .flex {
    flex-direction: row;
  }
  .parts .contents3Wrap {
    gap: 1em;
  }
/*
  .parts .contents3Wrap > li, .parts .contents3Wrap > div {
    width: calc((100% - 1em) / 2);
  }
*/
  .parts .imgWrap {
    margin-bottom: 0.1em;
  }
}
/*リンクスタイル*/
.parts .contents-text a {
  text-decoration: underline;
  color: var(--mainColor);
}
/*絵文字スタイル*/
.parts .fr-emoticon {
  background: url(https://cdnjs.cloudflare.com/ajax/libs/emojione/2.0.1/assets/svg/1f600.svg);
  background-repeat: no-repeat !important;
  background-position: center !important;
  display: inline-block;
  width: 1em;
}
/*表の簡易スタイル*/
.parts table td {
  border: 1px solid var(--baseColor);
  padding: 0.5em 0.75em;
}
/*斜体スタイル*/
.parts em {
  font-style: italic !important;
}
/*太字スタイル*/
.parts strong {
  font-weight: bold !important;
}
/*--------------------詳細ページ----------------------*/
.parts {
  margin-top: 0.3em;
}
.parts figure.top-img {
  margin: 0 auto 1.5em;
  aspect-ratio: 7 / 4;
  overflow: hidden;
  max-width: 60%;
}
.parts .post-info p.cms-label {
  font-size: 0.875em;
  color: var(--colorW);
  background-color: var(--mainColor);
  padding: 0.25em 0.75em;
  margin-right: 0.5em;
  margin-bottom: 0.5em;
  display: inline-block;
}
.parts .post-info p.date {
  margin-top: 1em;
  font-size: 1.125em;
}
.parts .post-info {
  margin: 1.5em 0 0.5em;
}
.parts h2 {
  font-size: 2.2em;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1.5;
  padding-bottom: 0.4em;
  margin-bottom: 1.1em;
  border-bottom: solid 1px var(--baseColor);
}
.parts {
  max-width: 60%;
  margin: 0 auto;
}
.contents-text video {
  margin: 0 auto;
  display: block;
}
.single-pager {
  margin: 6em 0 1em;
}
.single-pager .flex-c {
  align-items: center;
  gap: 2em;
}
.pager .flex-c {
  align-items: center;
  gap: 2em;
}
.single-pager p a {
  color: var(--mainColor);
  font-weight: 500;
  letter-spacing: 0.025em;
  text-decoration: underline;
  font-size: 1.125em;
}
.single-pager p.prev a, .single-pager p.next a {
  font-size: 1.25em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}
.parts .contents-text h3 {
  font-size: 1.9em;
  margin-top: 0.6em;
  margin-bottom: 0.6em;
  line-height: 1.4;
}
.parts .contents-text h4 {
  font-size: 1.5em;
  margin-bottom: 0.4em;
}
.parts ul {
  list-style-type: disc;
  padding-left: 1.7em;
}
.parts ol {
  list-style-type: decimal;
  padding-left: 1.7em;
}
@media only screen and (max-width: 559px) {
  .parts figure.top-img {
    max-width: 100%;
    margin-bottom: 0.7em;
  }
  .parts {
    max-width: 100%;
  }
  .parts .post-info {
    margin: 0.7em 0 0.5em;
  }
  .parts .post-info p.cms-label {
    font-size: 0.75em;
    padding: 0.15em 0.6em;
    margin-right: 0.25em;
    margin-bottom: 0.25em;
  }
  .parts .post-info p.date {
    margin-top: 0.5em;
    font-size: 1em;
  }
  .parts h2 {
    font-size: 1.65em;
    padding-bottom: 0.75em;
    margin-bottom: 1em;
    line-height: 1.3;
  }
  .parts .contents-text {
    font-size: 0.875em;
  }
  .parts .contents-text h3 {
    font-size: 1.55em;
  }
  .parts .contents-text h4 {
    font-size: 1.4em;
    margin-bottom: 0.5em;
  }
  .single-pager .flex-c {
    gap: 1em;
  }
  .single-pager p a {
    font-size: 0.875em;
  }
  .single-pager p.prev a, .single-pager p.next a {
    font-size: 1em;
  }
  .cms-single-Area .contents-text video {
    width: 100% !important;
  }
  .contents-text video {
    width: 100% !important;
  }
  .single-pager {
    margin: 3em 0 1em;
  }
}
