@charset "UTF-8";
/* ブレイクポイント
================================================================================================= */
/* color
========================================================================== */
/* font
========================================================================== */
.main-column-archive::before {
  content: "";
  background-image: url("/cms/wp-content/themes/exseli-child/img/column-bg.jpg.webp");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.main-column-archive::after {
  content: "";
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(255, 255, 255, 0.8)), color-stop(100vw, rgb(255, 255, 255)));
  background-image: linear-gradient(rgba(255, 255, 255, 0.8) 0, rgb(255, 255, 255) 100vw);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.columnSingleHeader,
.columnArchiveHeader {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto;
  margin-bottom: 50px;
}
@media screen and (max-width: 1280px) {
  .columnSingleHeader,
  .columnArchiveHeader {
    width: 100%;
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 640px) {
  .columnSingleHeader,
  .columnArchiveHeader {
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (max-width: 768px) {
  .columnSingleHeader,
  .columnArchiveHeader {
    margin-bottom: 26px;
  }
}
.columnSingleHeader h1,
.columnArchiveHeader h1 {
  margin-bottom: 30px;
  text-wrap: auto;
}
@media screen and (max-width: 768px) {
  .columnSingleHeader h1,
  .columnArchiveHeader h1 {
    margin-bottom: 15px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .columnSingleHeader p,
  .columnArchiveHeader p {
    font-size: 1.4rem;
  }
}
.columnSingleHeader .breadnav,
.columnArchiveHeader .breadnav {
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .columnSingleHeader .breadnav,
  .columnArchiveHeader .breadnav {
    padding-left: 0;
  }
}

.columnArchiveItems {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}
@media screen and (max-width: 1280px) {
  .columnArchiveItems {
    width: 100%;
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 640px) {
  .columnArchiveItems {
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (max-width: 768px) {
  .columnArchiveItems {
    gap: 10px;
  }
}

.columnArchiveItem {
  border: 1px solid #419391;
  text-decoration: none;
  display: block;
}
.columnArchiveItem.new {
  position: relative;
}
.columnArchiveItem.new::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "NEW!";
  display: inline-block;
  background-color: #C00000;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 2px 6px;
}
@media screen and (max-width: 768px) {
  .columnArchiveItem {
    display: grid;
    grid-template-columns: 80px 1fr;
    grid-template-rows: repeat(2, 1fr);
  }
}
.columnArchiveItem__image {
  width: 100%;
  height: 230px;
}
@media screen and (max-width: 768px) {
  .columnArchiveItem__image {
    height: auto;
  }
}
.columnSingleAside .columnArchiveItem__image {
  height: 150px;
}
@media screen and (max-width: 768px) {
  .columnSingleAside .columnArchiveItem__image {
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .columnArchiveItem__image {
    grid-area: 1/1/3/2;
  }
}
.columnArchiveItem__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.columnArchiveItem__title {
  background-color: #419391;
  color: #fff;
  padding: 4px 8px;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 768px) {
  .columnArchiveItem__title {
    grid-area: 1/2/2/3;
    font-size: 1.3rem;
  }
}
.columnArchiveItem__link {
  padding: 4px 8px;
  text-align: right;
  color: #419391;
  font-weight: bold;
  font-size: 1.4rem;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .columnArchiveItem__link {
    grid-area: 2/2/3/3;
    font-size: 1.2rem;
  }
}
.columnArchiveItem__link::after {
  content: "";
  display: inline-block;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 6px;
  height: 6px;
  margin-left: 0px;
  margin-bottom: 2px;
  border-top: 2px solid;
  border-right: 2px solid;
}

/* ページネーション
========================================================================== */
.wp-pagenavi {
  text-align: center;
  margin-top: 60px;
  margin-bottom: 60px;
}
.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  padding: 0.6em 1em 0.4em;
  height: 40px;
  line-height: 20px;
  margin-left: 0.5em;
  margin-right: 0.5em;
  font-size: 1.6rem;
  border: #333 solid 1px;
}
.wp-pagenavi .current {
  background-color: #333;
  color: #fff;
}
.wp-pagenavi a {
  background-color: #fff;
  text-decoration: none;
  color: #333;
}

.columnSingleMain {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 50px;
  margin-bottom: 160px;
}
@media screen and (max-width: 1280px) {
  .columnSingleMain {
    width: 100%;
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 640px) {
  .columnSingleMain {
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (max-width: 1024px) {
  .columnSingleMain {
    grid-template-columns: 100%;
    max-width: 100%;
    gap: 40px;
  }
}
@media screen and (max-width: 768px) {
  .columnSingleMain {
    gap: 80px;
    margin-bottom: 40px;
  }
}

.columnSingleContentsImage {
  width: 100%;
  height: auto;
  margin-bottom: 30px;
}

.columnSingleContentsText h2 {
  margin-top: 3em;
  margin-bottom: 0.5em;
  font-size: 2.4rem;
  font-weight: bold;
  color: #419391;
  scroll-margin-top: 80px;
  text-wrap: auto;
}
@media screen and (max-width: 1024px) {
  .columnSingleContentsText h2 {
    margin-top: 2em;
    font-size: 2rem;
  }
}
.columnSingleContentsText h3 {
  margin-top: 2em;
  margin-bottom: 0.5em;
  font-size: 1.8rem;
  font-weight: bold;
  text-wrap: auto;
}
.columnSingleContentsText ul,
.columnSingleContentsText ol {
  margin-left: 1.5em;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.columnSingleContentsText ul {
  list-style-type: disc;
}
.columnSingleContentsText ol {
  list-style-type: decimal;
}
.columnSingleContentsText table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
.columnSingleContentsText table th,
.columnSingleContentsText table td {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: left;
  font-size: 1.3rem;
}
.columnSingleContentsText table th {
  background-color: #f5f5f5;
  text-align: center;
  background-color: #419391;
  color: #fff;
}
.columnSingleContentsText a {
  color: #7BC4C4;
}
.columnSingleContentsText .column-cta-btn {
  display: block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6rem;
  background: #CE5845;
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
  padding: 1.5rem 2.8rem 1.5rem 2rem;
  border-radius: 6px;
  line-height: 1;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2rem auto 5rem;
  text-decoration: none;
  min-width: 300px;
  text-align: center;
  line-height: 1.4;
  color: #fff;
  position: relative;
}
.columnSingleContentsText .column-cta-btn::after {
  position: absolute;
  content: "";
  right: 0.8rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 10px;
  height: 14px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  padding: 2px;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  rotate: -45deg;
  background: transparent;
  width: 10px;
  height: 10px;
}
.columnSingleContentsText .column-btn-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 6rem;
}
.columnSingleContentsText .column-btn-flex .column-cta-btn {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .columnSingleContentsText .column-btn-flex {
    gap: 15px;
    -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;
  }
}

.columnSingleToc {
  border-radius: 8px;
  border: 2px solid #419391;
  overflow: hidden;
  margin-bottom: 80px;
}
@media screen and (max-width: 1024px) {
  .columnSingleToc {
    display: none;
  }
}
.columnSingleToc--sp {
  display: none;
  margin-bottom: 40px;
  border-radius: 4px;
}
@media screen and (max-width: 1024px) {
  .columnSingleToc--sp {
    display: block;
  }
}
.columnSingleToc__header {
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  padding: 8px 16px;
  background-color: #419391;
}
.columnSingleToc__list {
  padding: 12px 16px;
  background-color: #F2F2F2;
}
.columnSingleToc__list a {
  display: block;
  padding: 4px 0;
  text-decoration: none;
  font-size: 1.4rem;
}
.columnSingleToc__list a:hover {
  text-decoration: underline;
}

.relatedColumns,
.popularArticles {
  margin-bottom: 80px;
}
@media screen and (max-width: 1024px) {
  .relatedColumns,
  .popularArticles {
    margin-bottom: 40px;
  }
}
.relatedColumns__header,
.popularArticles__header {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 10px;
  padding-left: 3.5rem;
  background-image: url("/cms/wp-content/themes/exseli-child/img/column-aside-icon.svg");
  background-size: 3rem;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .relatedColumns__header,
  .popularArticles__header {
    font-size: 1.3rem;
    padding-left: 2.5rem;
    background-size: 2rem;
    background-position: left center;
  }
}
.relatedColumns__list,
.popularArticles__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}