@charset "UTF-8";
/*--------
目次
#toc_container
---------*/
#toc_container {
  padding: 24px;
  border: 1px solid #ddd !important;
  width: 100%; }
  #toc_container ul.toc_list {
    padding: 0 16px; }
    @media (max-width: 600px) {
      #toc_container ul.toc_list {
        padding: 0; } }
    #toc_container ul.toc_list > li::before {
      display: none; }
    #toc_container ul.toc_list > li ul li {
      padding-left: 1em; }

/*--------
投稿者プロフィール
contributor_profile
---------*/
@media (max-width: 600px) {
  .contributor_profile {
    width: 95%;
    margin: 0 auto; } }
.contributor_profile .wrap {
  margin: 80px auto;
  padding: 32px 50px 32px 50px;
  max-width: 1180px;
  width: 100%;
  border: 1px solid #ccc;
  background-color: #fff; }
  @media (max-width: 600px) {
    .contributor_profile .wrap {
      padding: 10px; } }
  .contributor_profile .wrap h1 {
    text-align: center;
    font-size: 2.8rem;
    font-family: serif; }
    @media (max-width: 600px) {
      .contributor_profile .wrap h1 {
        font-size: 2.2rem;
        line-height: 3; } }
  @media (max-width: 600px) {
    .contributor_profile .wrap {
      margin: 0 auto 80px; } }
  .contributor_profile .wrap .inner {
    display: grid;
    grid-template-columns: 140px calc(100% - 140px); }
    @media (max-width: 600px) {
      .contributor_profile .wrap .inner {
        display: block; } }
    .contributor_profile .wrap .inner figure {
      width: 140px;
      height: 140px; }
      @media (max-width: 600px) {
        .contributor_profile .wrap .inner figure {
          margin: auto; } }
      .contributor_profile .wrap .inner figure img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        object-fit: cover;
        background: #bbbebf; }
    .contributor_profile .wrap .inner .cont {
      padding-left: 24px; }
      @media (max-width: 600px) {
        .contributor_profile .wrap .inner .cont {
          padding: 10px; } }
      .contributor_profile .wrap .inner .cont h2 {
        font-size: 24px; }
      .contributor_profile .wrap .inner .cont p {
        line-height: 1.6em; }

/*-----------------
アーカイブページ 
コラム一覧
-------------------*/
.page_archive_column {
  padding: 1px 0; }
  .page_archive_column .wrap {
    margin: 0 auto 80px;
    max-width: 1180px;
    width: 90%; }
    .page_archive_column .wrap .title_wrap h1 {
      font-family: serif;
      font-weight: bold;
      margin-bottom: 32px;
      font-size: 3.5rem;
      text-align: center; }
    .page_archive_column .wrap .main_img {
      width: 100%; }
      .page_archive_column .wrap .main_img img {
        width: 100%;
        height: auto; }
    .page_archive_column .wrap ul.archive_items {
      margin: 8px 0;
      display: grid;
      grid-template-columns: repeat(1, 1fr);
      gap: 16px; }
      .page_archive_column .wrap ul.archive_items li {
        width: 100%;
        display: grid;
        grid-template-columns: 150px calc(100% - 150px); }
        .page_archive_column .wrap ul.archive_items li figure {
          position: relative;
          width: 100%;
          aspect-ratio: 1/1; }
          .page_archive_column .wrap ul.archive_items li figure img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        .page_archive_column .wrap ul.archive_items li .in {
          padding-left: 24px;
          display: flex;
          flex-wrap: wrap; }
          .page_archive_column .wrap ul.archive_items li .in .cat_name {
            margin-right: 10px;
            padding: 0 10px;
            height: 30px;
            line-height: 32px;
            border-radius: 2px;
            background-color: #ad8f50;
            color: #fff; }
          .page_archive_column .wrap ul.archive_items li .in h3 {
            width: 100%;
            font-size: 2.5rem;
            font-weight: 600;
            line-height: 1.2em; }
          .page_archive_column .wrap ul.archive_items li .in p {
            width: 100%;
            line-height: 1.2em; }
          .page_archive_column .wrap ul.archive_items li .in .btn {
            margin-top: 1em;
            margin-left: auto;
            width: 104px;
            height: 48px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #333;
            color: #fff;
            border-radius: 4px; }
    .page_archive_column .wrap nav a.return_list_top {
      margin: 56px auto;
      width: 400px;
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #333;
      color: #fff;
      border-radius: 4px; }

/*-----------------
関連記事
-------------------*/
.related_article .wrap {
  margin: 10px auto 0;
  padding-bottom: 80px;
  max-width: 1080px; }
  .related_article .wrap h1 {
    font-size: 32px;
    text-align: center;
    font-family: serif;
    font-weight: bold;
    padding-bottom: 20px; }
  .related_article .wrap ul li {
    width: 100%;
    display: grid;
    grid-template-columns: 150px calc(100% - 150px); }
    .related_article .wrap ul li figure {
      position: relative;
      width: 100%;
      aspect-ratio: 1/1; }
      .related_article .wrap ul li figure img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .related_article .wrap ul li .in {
      padding-left: 24px;
      display: flex;
      flex-wrap: wrap; }
      .related_article .wrap ul li .in .cat_name {
        padding: 0 10px;
        height: 30px;
        line-height: 32px;
        border-radius: 2px;
        background-color: #ad8f50;
        color: #fff; }
      .related_article .wrap ul li .in h3 {
        width: 100%;
        font-size: 18px;
        font-weight: 600;
        line-height: 1.4em; }
      .related_article .wrap ul li .in p {
        width: 100%;
        line-height: 1.4em; }
      .related_article .wrap ul li .in .btn {
        margin-top: 1em;
        margin-left: auto;
        width: 104px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #333;
        color: #fff;
        border-radius: 4px; }

/*-----------------
ページネーション
-------------------*/
.pagination_big_next {
  margin: 40px auto;
  margin-bottom: 16px;
  width: 100%;
  height: 70px;
  border: 1px solid #999;
  background-color: rgba(255, 255, 255, 0.7); }
  .pagination_big_next a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }

.pagination_set {
  display: flex;
  justify-content: center;
  gap: 8px; }
  .pagination_set > span,
  .pagination_set a {
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #999;
    background-color: rgba(255, 255, 255, 0.7); }
  .pagination_set > span.current {
    background: #ddd; }

/*-----------------
投稿ページ
-------------------*/
.page_post {
  padding: 1px 0; }
  .page_post .wrap {
    margin: 0 auto 80px;
    max-width: 1180px;
    width: 90%; }
    .page_post .wrap .title_wrap figure img {
      width: 100%;
      height: 500px;
      object-fit: cover; }
    .page_post .wrap .title_wrap h1 {
      font-family: serif;
      font-weight: bold;
      margin-bottom: 20px;
      font-size: 3.5rem;
      text-align: center;
      line-height: 1.2; }
  .page_post .return_list_top {
    margin: 56px auto;
    width: 400px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #333;
    color: #fff;
    border-radius: 4px; }

.cat_tag_wrap {
  display: flex;
  gap: 10px; }
  .cat_tag_wrap ul {
    display: flex;
    gap: 10px; }
    .cat_tag_wrap ul li a {
      padding: 6px 15px 5px;
      display: flex;
      background: #333;
      color: #fff;
      border-radius: 4px; }

@media screen and (max-width: 599px) {
  .page_archive_column .wrap {
    width: 95%; }
    .page_archive_column .wrap .breadcrumb {
      margin-top: 50px; }
    .page_archive_column .wrap .title_wrap h1 {
      margin: 0;
      font-size: 2.3rem; }
    .page_archive_column .wrap .main_img {
      width: 100%; }
    .page_archive_column .wrap ul.archive_items li {
      grid-template-columns: 100px calc(100% - 100px); }
      .page_archive_column .wrap ul.archive_items li .in {
        padding-left: 10px; }
        .page_archive_column .wrap ul.archive_items li .in .cat_name {
          padding: 0 10px;
          height: 21px;
          line-height: 22px;
          font-size: 1.2rem; }
        .page_archive_column .wrap ul.archive_items li .in h3 {
          font-size: 1.7rem;
          margin-top: 0.3em; }
        .page_archive_column .wrap ul.archive_items li .in p {
          font-size: 1.4rem; }

  .page_archive .wrap {
    width: 94%;
    margin-top: 50px; }
    .page_archive .wrap .title_wrap h1 {
      font-size: 2.3rem;
      margin-bottom: 15px; }
    .page_archive .wrap ul.archive_items {
      grid-template-columns: repeat(1, 1fr); }
    .page_archive .wrap nav a.return_list_top {
      margin: 10px auto;
      width: 100%; }

  .page_post .wrap {
    width: 94%;
    margin-top: 50px; }
    .page_post .wrap .title_wrap h1 {
      font-size: 2.3rem;
      margin-bottom: 10px; }
    .page_post .wrap .title_wrap figure img {
      height: 200px; }
    .page_post .wrap .post_fv_images {
      display: block; }
      .page_post .wrap .post_fv_images .main_img {
        width: 100%; }
      .page_post .wrap .post_fv_images ul.images {
        width: 100%;
        display: flex;
        gap: 8px; }
        .page_post .wrap .post_fv_images ul.images li {
          padding: 8px 0 0; }
    .page_post .wrap .return_list_top {
      font-size: 18px;
      width: 300px;
      padding: 10px 15px 9px;
      margin: 30px auto;
      height: auto; }

  /*-----------------
  関連記事
  -------------------*/
  .related_article .wrap h1 {
    font-size: 2.3rem; } }
