@charset "UTF-8";
/* =====================
	COLUMN
 ======================= */
/** ------------------------ 共通 ------------------------ **/
.cta.bg-wht {
  margin-bottom: 148px; }

/** ------------------------ サイドナビ ------------------------ **/
.column-wrapper {
  position: relative; }

.column-sidenav {
  position: fixed;
  top: 100px;
  left: 0;
  width: 275px;
  padding: 5vh 20px 5vh 0;
  height: calc(100% - 100px);
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 50; }
  .column-sidenav::-webkit-scrollbar {
    width: 0; }
  .column-sidenav.is-bottom {
    position: absolute; }
  .column-sidenav-inner {
    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-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: clamp(5vh, 5vh, 50px); }
  .column-sidenav-block {
    background: var(--c_wht);
    -webkit-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.16);
            box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.16); }
  .column-sidenav-title {
    background: var(--c_bg);
    font-size: 20px;
    font-weight: 700;
    padding: 10px;
    text-align: center;
    position: relative;
    cursor: pointer; }
    .column-sidenav-title:before {
      content: "";
      width: 0.5em;
      height: 0.5em;
      border-right: 2px solid var(--c_text);
      border-bottom: 2px solid var(--c_text);
      position: absolute;
      right: 20px;
      top: 0;
      bottom: 0;
      margin: auto;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-transition: var(--anim);
      transition: var(--anim); }
    .column-sidenav-title.is-open:before {
      -webkit-transform: rotate(-135deg);
              transform: rotate(-135deg); }
  .column-sidenav-content--archive {
    display: none; }
  .column-sidenav-category {
    padding: 4vh 0 4vh 50px; }
    .column-sidenav-category li {
      font-weight: 700;
      padding: 10px 0; }
      .column-sidenav-category li a {
        color: #D2D2D2; }
        .column-sidenav-category li a:before {
          content: "";
          width: 15px;
          height: 2px;
          background: currentColor;
          display: inline-block;
          vertical-align: middle;
          margin-right: 10px; }
        .column-sidenav-category li a.is-current {
          color: var(--c_text);
          pointer-events: none; }
        .column-sidenav-category li a:hover {
          color: var(--c_text);
          opacity: 1.0; }
  .column-sidenav-archive {
    border-bottom: 1px solid var(--c_bg); }
    .column-sidenav-archive:last-child {
      border-bottom: 0; }
    .column-sidenav-archive-year {
      font-weight: 700;
      padding: 10px 48px;
      position: relative;
      cursor: pointer; }
      .column-sidenav-archive-year:before {
        content: "";
        width: 0.5em;
        height: 0.5em;
        border-right: 2px solid var(--c_text);
        border-bottom: 2px solid var(--c_text);
        position: absolute;
        right: 20px;
        top: 0;
        bottom: 0;
        margin: auto;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        -webkit-transition: var(--anim);
        transition: var(--anim); }
      .column-sidenav-archive-year.is-open:before {
        -webkit-transform: rotate(-135deg);
                transform: rotate(-135deg); }
    .column-sidenav-archive-month {
      display: none;
      padding-bottom: 15px; }
      .column-sidenav-archive-month li {
        font-size: 14px;
        padding: 5px 48px; }

/** ------------------------ 一覧 ------------------------ **/
.inner.column-inner {
  max-width: 1492px; }

.column-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px 2.96%; }
  .column-list-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 44.2%;
            flex: 0 1 44.2%; }
    .column-list-item:last-child:nth-child(odd) {
      margin-right: 47.16%; }
    .column-list-item a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 0 20px; }
    .column-list-item .thumb {
      width: 100%;
      padding-top: 51.25%;
      margin-bottom: 15px;
      position: relative;
      border: 1px solid #EFEFEF; }
      .column-list-item .thumb img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        position: absolute;
        top: 0;
        left: 0; }
    .column-list-item .cat > span {
      font-size: 12px;
      font-weight: 700;
      padding: 4px 20px;
      background: var(--c_green);
      color: var(--c_wht);
      border-radius: 50px;
      display: block; }
    .column-list-item .title {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 100%;
              flex: 0 1 100%;
      font-size: 26px;
      font-weight: 700;
      margin-top: 8px; }

/** ------------------------ 詳細 ------------------------ **/
.column-header {
  margin-bottom: 85px;
  padding: 70px 0 4px;
  border-bottom: 1px solid #707070;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 36px;
     -moz-column-gap: 36px;
          column-gap: 36px; }
  .column-header-title {
    font-size: 20px; }
  .column-header-share {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px; }
    .column-header-share-title {
      font-size: 20px; }
    .column-header-share-sns {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-column-gap: 16px;
         -moz-column-gap: 16px;
              column-gap: 16px; }
      .column-header-share-sns > li {
        width: 40px; }

.column-single-header {
  margin-bottom: 90px; }

.column-single-title {
  text-align: center;
  font-size: 54px;
  font-weight: 700; }

.column-single-img {
  margin-top: 60px; }

.column-single #toc_container {
  width: 100%;
  margin: 90px 0 120px;
  border: 1px solid #707070;
  border-radius: 40px;
  padding: 60px 8.5%;
  background: var(--c_wht); }
  .column-single #toc_container .toc_title {
    text-align: left;
    font-size: 35px;
    font-weight: 700;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--c_text); }
  .column-single #toc_container p.toc_title + ul.toc_list {
    margin-top: 60px; }
  .column-single #toc_container .toc_list {
    width: 90%;
    margin: 60px 0 0 auto;
    font-size: 30px; }
    .column-single #toc_container .toc_list .toc_number:not(.toc_depth_1) {
      display: none; }
    .column-single #toc_container .toc_list .toc_depth_1:after {
      content: "．"; }
    .column-single #toc_container .toc_list a {
      color: var(--c_text); }
    .column-single #toc_container .toc_list > li {
      overflow: hidden; }
      .column-single #toc_container .toc_list > li > a {
        color: #86BC36;
        font-weight: 700;
        position: relative;
        display: inline-block;
        padding-bottom: 12px; }
        .column-single #toc_container .toc_list > li > a:before {
          content: "";
          width: 100vw;
          height: 1px;
          background: var(--c_text);
          position: absolute;
          left: 0;
          bottom: 1px; }
        .column-single #toc_container .toc_list > li > a:hover {
          text-decoration: none; }
      .column-single #toc_container .toc_list > li > ul {
        width: 90%;
        margin: 24px 0 0 auto; }
        .column-single #toc_container .toc_list > li > ul > li + li {
          margin-top: 12px; }
        .column-single #toc_container .toc_list > li > ul > li > a:before {
          content: "・"; }
      .column-single #toc_container .toc_list > li + li {
        margin-top: 40px; }

.column-single-content {
  word-break: break-all;
  font-size: 20px;
  line-height: 1.85;
  margin-bottom: 48px; }
  .column-single-content h2 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    color: #86BC36;
    padding-bottom: 18px;
    border-bottom: 1px solid #707070;
    margin: 80px 0 48px; }
    .column-single-content h2:first-child {
      margin-top: 0; }
    .column-single-content h2:last-child {
      margin-bottom: 0; }
  .column-single-content h3 {
    background: #E5E5E5;
    padding: 25px 35px;
    font-size: 35px;
    font-weight: 700;
    line-height: 1.2;
    margin: 48px 0 40px; }
    .column-single-content h3:first-child {
      margin-top: 0; }
    .column-single-content h3:last-child {
      margin-bottom: 0; }
  .column-single-content > * + * {
    margin-top: 1.85em; }
  .column-single-content a {
    color: #86BC36;
    text-decoration: underline; }
  .column-single-content table {
    width: 100%; }
    .column-single-content table caption {
      background: #939393;
      color: var(--c_wht);
      font-size: 30px;
      font-weight: 700;
      text-align: center;
      line-height: 1.2;
      padding: 8px;
      border: 1px solid #707070;
      border-bottom: 0; }
    .column-single-content table th, .column-single-content table td {
      font-size: 18px;
      line-height: 1.72;
      border: 1px solid #707070;
      padding: 25px;
      text-align: left;
      vertical-align: middle; }
      .column-single-content table th:first-child, .column-single-content table td:first-child {
        text-align: center;
        background: rgba(134, 188, 54, 0.25);
        border-right: 0; }
  .column-single-content .bg_link a {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 810px;
    margin-left: auto;
    background: #FCF6CF;
    font-weight: 500;
    line-height: 1.55;
    color: #4B9B37;
    padding: 20px 25px 0;
    overflow: hidden; }
    .column-single-content .bg_link a:after {
      content: "";
      width: 120px;
      height: 58px;
      background: url(../img/column/click.png) no-repeat center right/contain;
      display: block;
      float: right;
      margin-left: 25px; }
  .column-single-content .cta_btn a {
    display: block;
    width: 810px;
    max-width: 100%;
    margin: 48px auto;
    background: #86BC36;
    color: var(--c_wht);
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.052em;
    text-align: center;
    padding: 30px;
    position: relative;
    text-decoration: none;
    -webkit-box-shadow: 9px 9px 0px 0px rgba(0, 0, 0, 0.16);
            box-shadow: 9px 9px 0px 0px rgba(0, 0, 0, 0.16); }
    .column-single-content .cta_btn a:after {
      content: "";
      width: 48px;
      height: 100%;
      background: url(../img/column/icon_cta.png) no-repeat center/contain;
      position: absolute;
      right: 52px;
      top: 0; }

.column-single-author {
  margin: 48px 0;
  border: 1px solid #707070;
  border-radius: 40px;
  padding: 60px 8.5%;
  background: var(--c_wht); }
  .column-single-author-title {
    text-align: left;
    font-size: 35px;
    font-weight: 700;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--c_text); }
  .column-single-author-profile {
    margin: 60px 0 45px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
  .column-single-author-imgbox {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 37.2%;
            flex: 0 1 37.2%; }
  .column-single-author-img {
    width: 100%;
    padding-top: 100%;
    position: relative; }
    .column-single-author-img img {
      width: 100% !important;
      height: 100% !important;
      position: absolute;
      top: 0;
      left: 0;
      -o-object-fit: cover;
         object-fit: cover;
      border-radius: 32px; }
  .column-single-author-txtbox {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 58.5%;
            flex: 0 1 58.5%; }
  .column-single-author-name {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 10px; }
  .column-single-author-position {
    font-size: 20px;
    margin: 10px 0; }
  .column-single-author-txt {
    font-size: 20px;
    line-height: 1.85;
    padding: 40px 0; }
  .column-single-author-link {
    margin-top: 45px;
    text-align: center; }
    .column-single-author-link a {
      display: inline-block;
      font-size: 22px;
      font-weight: 700;
      padding: 12px 50px;
      max-width: 100%;
      border: 2px solid var(--c_text);
      border-radius: 50px; }

/** ------------------------ TOPICS ------------------------ **/
.topics {
  overflow: hidden; }
  .topics .topics-title {
    font-size: 54px;
    font-weight: 700;
    margin-bottom: 54px; }
  .topics .topics-slider {
    width: 85%;
    margin: 0 -12px; }
    .topics .topics-slider .slick-list {
      overflow: visible; }
    .topics .topics-slider-item {
      padding: 0 12px; }
  .topics .topics-slider-nav {
    margin-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 30px;
       -moz-column-gap: 30px;
            column-gap: 30px; }
    .topics .topics-slider-nav .slick-arrow {
      position: relative;
      -webkit-transform: none;
              transform: none;
      width: 41px;
      height: 41px;
      background: url(../img/common/arrow.png) no-repeat center/contain;
      -webkit-filter: var(--filter_green);
              filter: var(--filter_green); }
      .topics .topics-slider-nav .slick-arrow:before {
        display: none; }
    .topics .topics-slider-nav .slick-prev {
      left: auto;
      -webkit-transform: scale(-1, 1);
              transform: scale(-1, 1); }
    .topics .topics-slider-nav .slick-next {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      right: auto; }
    .topics .topics-slider-nav .slick-dots {
      position: relative;
      bottom: auto;
      width: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-column-gap: 20px;
         -moz-column-gap: 20px;
              column-gap: 20px; }
      .topics .topics-slider-nav .slick-dots > li {
        width: 10px;
        height: 10px;
        margin: 0; }
        .topics .topics-slider-nav .slick-dots > li button {
          width: 100%;
          height: 100%;
          border-radius: 50%;
          background: #EFEFEF;
          padding: 0; }
          .topics .topics-slider-nav .slick-dots > li button:before {
            display: none; }
        .topics .topics-slider-nav .slick-dots > li.slick-active button {
          background: var(--c_green); }

@media (max-width: 1750px) {
  .column-container {
    padding-left: calc( 275px - ((100vw - 1200px) / 2)); } }

/* タブレット
  ------------------------ */
@media (max-width: 1240px) {
  .column-container {
    padding-left: 275px; }
  .column-list {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .column-list-item {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 48.4%;
              flex: 0 1 48.4%; }
      .column-list-item:last-child:nth-child(odd) {
        margin-right: 0; } }

/* スマホ
  ------------------------ */
@media (max-width: 699px) {
  /** ------------------------ 共通 ------------------------ **/
  .cta.bg-wht {
    margin-bottom: 80px; }
  /** ------------------------ サイドナビ ------------------------ **/
  .column-sidenav {
    position: relative !important;
    top: auto !important;
    width: 87.2%;
    padding: 0;
    height: auto;
    margin: 50px auto 0;
    overflow: visible; }
    .column-sidenav-inner {
      display: block; }
    .column-sidenav-block {
      -webkit-box-shadow: none;
              box-shadow: none; }
    .column-sidenav-title {
      font-size: 14px; }
      .column-sidenav-title:before {
        display: none; }
    .column-sidenav-content {
      display: block;
      font-size: 12px; }
    .column-sidenav-category {
      padding: 10px; }
      .column-sidenav-category ul {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 16px 1fr;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px 16px; }
      .column-sidenav-category li {
        padding: 0; }
        .column-sidenav-category li a:before {
          width: 12px; }
    .column-sidenav-content--archive {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 16px 1fr;
      grid-template-columns: repeat(2, 1fr);
      -webkit-column-gap: 16px;
         -moz-column-gap: 16px;
              column-gap: 16px; }
    .column-sidenav-archive {
      border-bottom: 1px solid var(--c_bg); }
      .column-sidenav-archive:last-child {
        border-bottom: 1px solid var(--c_bg); }
      .column-sidenav-archive-year {
        padding: 4px 16px; }
      .column-sidenav-archive-month {
        padding-bottom: 8px; }
        .column-sidenav-archive-month li {
          font-size: 100%;
          padding: 4px 16px; }
  .column-container {
    padding-left: 0; }
    .column-container .wp-pagenavi {
      padding-bottom: 0; }
  /** ------------------------ 一覧 ------------------------ **/
  .column-list {
    gap: 50px 0; }
    .column-list-item {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 100%;
              flex: 0 1 100%; }
      .column-list-item a {
        -webkit-column-gap: 8px;
           -moz-column-gap: 8px;
                column-gap: 8px; }
      .column-list-item .thumb {
        margin-bottom: 12px; }
      .column-list-item .title {
        margin-top: 8px;
        font-size: 16px; }
  /** ------------------------ 詳細 ------------------------ **/
  .column-header {
    margin-bottom: 20px;
    padding: 30px 0 2px; }
    .column-header-title {
      font-size: 14px; }
    .column-header-share {
      -webkit-column-gap: 12px;
         -moz-column-gap: 12px;
              column-gap: 12px; }
      .column-header-share-title {
        font-size: 14px; }
      .column-header-share-sns {
        -webkit-column-gap: 8px;
           -moz-column-gap: 8px;
                column-gap: 8px; }
        .column-header-share-sns > li {
          width: 28px; }
  .column-single-header {
    margin-bottom: 20px; }
  .column-single-title {
    text-align: left;
    font-size: 24px; }
  .column-single-img {
    margin-top: 20px; }
  .column-single #toc_container {
    margin: 20px 0 30px;
    padding: 16px;
    border-radius: 16px; }
    .column-single #toc_container .toc_title {
      font-size: 18px;
      padding-bottom: 4px; }
    .column-single #toc_container p.toc_title + ul.toc_list {
      margin-top: 20px; }
    .column-single #toc_container .toc_list {
      width: calc(100% - 20px);
      margin-top: 12px;
      font-size: 14px;
      line-height: 1.5; }
      .column-single #toc_container .toc_list > li a {
        padding-bottom: 3px; }
      .column-single #toc_container .toc_list > li > ul {
        width: calc(100% - 20px);
        margin-top: 8px; }
        .column-single #toc_container .toc_list > li > ul > li + li {
          margin-top: 4px; }
      .column-single #toc_container .toc_list > li + li {
        margin-top: 12px; }
  .column-single-content {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 30px; }
    .column-single-content h2 {
      font-size: 16px;
      padding-bottom: 8px;
      margin: 30px 0 16px; }
    .column-single-content h3 {
      padding: 8px;
      font-size: 18px;
      margin: 24px 0 12px; }
    .column-single-content table caption {
      font-size: 16px;
      padding: 4px; }
    .column-single-content table th, .column-single-content table td {
      font-size: 12px;
      line-height: 1.5;
      padding: 12px 8px; }
    .column-single-content .bg_link a {
      padding: 12px; }
      .column-single-content .bg_link a:after {
        width: 60px;
        height: 29px;
        margin-left: 12px;
        background-position: bottom; }
    .column-single-content .cta_btn a {
      margin: 32px auto;
      font-size: 18px;
      padding: 16px 20px;
      -webkit-box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.16);
              box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.16); }
      .column-single-content .cta_btn a:after {
        width: 24px;
        right: 12px; }
  .column-single-author {
    margin: 30px 0;
    padding: 16px;
    border-radius: 16px; }
    .column-single-author-title {
      font-size: 18px;
      padding-bottom: 4px; }
    .column-single-author-profile {
      margin: 16px 0;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      row-gap: 12px; }
    .column-single-author-imgbox {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 160px;
              flex: 0 1 160px; }
    .column-single-author-txtbox {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 100%;
              flex: 0 1 100%; }
    .column-single-author-name {
      font-size: 16px;
      margin-bottom: 4px; }
    .column-single-author-position {
      font-size: 14px;
      margin: 4px 0 0; }
    .column-single-author-txt {
      font-size: 12px;
      line-height: 1.35;
      padding: 16px 0; }
    .column-single-author-link {
      margin-top: 16px; }
      .column-single-author-link a {
        font-size: 14px;
        padding: 4px 20px;
        border-width: 1px; } }
