@charset "UTF-8";

/*--------------------------------------------------
  変数定義 (Variables)
--------------------------------------------------*/
:root {
  --main-blue: #0078c5;
  --sub-blue: #D9EBF7;
  --sub-blue-40: rgba(217, 235, 247, 0.4); 
  --mk-blue: #123556;
  --text-color: #333333;
  --base-color: #FAFAFA;
  --step-color01: #83CCFE;
  --step-color02: #65BBF6;
  --step-color03: #49ACEF;
  --step-color04: #2D9CE7;
  --step-color05: #178CD7;
  --step-color06: #0E83CE;
  --step-color07: #0078c5;
  --mg-green: #378E79;
  --white: #ffffff;
}

/*--------------------------------------------------
  テントの豆知識：共通設定
--------------------------------------------------*/
strong {
  font-weight: bold;
}

/*--------------------------------------------------
  テントの豆知識：一覧ページ (Card & List)
--------------------------------------------------*/
/* --- 全体レイアウト --- */
.tc-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 auto;
}

/* --- カード基本装飾 --- */
.tc-card {
  border: 1px solid var(--mk-blue);
  border-radius: 20px;
  padding: 15px;
  background-color: #fff;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  height: 100%;
}

.tc-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.tc-card-title {
  margin: 0;
  line-height: 1.5;
  font-weight: bold;
  color: var(--mk-blue);
}

.tc-card-title a {
  text-decoration: none;
  color: inherit;
  font-weight: bold;
  font-size: clamp(16px,4vw,21px);
}
  .tc-no-image {
    background: #eee;
    color: #888;
    display: flex;
    align-items: center;
    justify-content: center;
  }
/* --- 【PC・タブレット】801px以上：縦並びカード --- */
@media (min-width: 801px) {
  .tc-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-height: 280px;
  }
  .tc-card-thumbnail {
    width: 100%;
    margin-bottom: 15px;
  }
  .tc-card-thumbnail img, 
  .tc-no-image {
    height: 180px;
    width: 100%;
    object-fit: cover;
    border-radius: 2px;
  }
  .tc-card-title {
    font-size: 1.1rem;
  }
}

/* --- 【スマホ】800px以下：横並びリスト --- */
@media (max-width: 800px) {
  .tc-card {
    flex-direction: row;
    align-items: center;
    text-align: left;
    padding: 10px;
  }
  .tc-card-thumbnail {
    flex: 0 0 100px !important;
    width: 100px !important;
    height: 70px;
    margin-right: 15px;
    margin-bottom: 0;
  }
  .tc-card-thumbnail img, 
  .tc-no-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border-radius: 4px;
  }
  .tc-no-image {
    background: #eee;
    color: #888;
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .tc-card-title {
    font-size: 1rem;
    flex: 1;
  }

  /* --- 【スマホ特化】450px以下：さらにコンパクトなリスト形式 --- */
@media (max-width: 450px) {
    .tc-card {
        padding: 8px;
    }

    /* 画像エリアを80pxに縮小 */
    .tc-card-thumbnail {
        flex: 0 0 80px !important;
        width: 80px !important;
        height: 56px;
        margin-right: 12px;
    }

    .tc-card-title {
        font-size: 0.95rem;
        line-height: 1.4;
    }
  }
}

/*--------------------------------------------------
  テントの豆知識：個別記事ページ
--------------------------------------------------*/
@media screen and (max-width: 1299px) {
  .single-tent-column .news-header-bg {
    padding-inline: 5%;
  }
}

.single-tent-column .entry-content h2:not(.mkh2),
.post-type-tent-column .editor-styles-wrapper h2:not(.mkh2) {
  padding: 1rem 2rem;
  /* border-top: 2px solid var(--sub-blue) !important; */
  border-bottom:  2px solid var(--main-blue) !important;
  background: var(--sub-blue);
  font-size: clamp(18px,4vw,26px);
  margin-bottom: 2.5rem!important;
}

@media screen and (max-width: 767px) {
  .single-tent-column .entry-content h2:not(.mkh2),
  .post-type-tent-column .editor-styles-wrapper h2:not(.mkh2) {
    padding: 0.75rem 1rem;
  }
}


/* .single-tent-column .entry-content,
.post-type-tent-column .editor-styles-wrapper {
  h2:not(.mkh2) {
    border-bottom: solid 3px #cce4ff !important;
    position: relative;
    margin-top: 30px;
    color: var(--mk-blue);
    font-size: clamp(16px, 4vw, 18px);
    font-weight: bold;
    padding-top: 0;
  }

  h2:not(.mkh2):after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px var(--main-blue);
    bottom: -3px;
    width: 15%;
  }

  ol {
    list-style: decimal;
    padding-left: 2em; 
    margin-bottom: 1.5em;
  }

  .column-step {
    padding: 20px;
  }

  .column-step h2 {
    margin-top: 0;
  }
} */

/* --- テーブルスタイル 01 (横長比較) --- */
/* .column-table01 {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
} */

/* .column-table01 tr td:first-child {
  background-color: #f0f7ff;
  width: 30%;
  font-size: 1.15rem;
  vertical-align: middle;
  padding: 15px;
} */

/* .column-table01 tr td:last-child {
  width: 70%;
  font-size: 0.95rem;
  background-color: #ffffff;
  vertical-align: middle;
  padding: 15px;
} */

/* --- テーブルスタイル 02 --- */
/* .column-table02 {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  margin-bottom: 2em;
} */

/* .column-table02 tr:first-child td {
  background-color: #004494 !important;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  padding: 12px 15px;
} */

/* .column-table02 td {
  padding: 15px;
  border: 1px solid #dddddd;
  vertical-align: middle;
} */

/* .column-table02 tr td:first-child {
  background-color: #f9f9f9;
  font-weight: bold;
  width: 25%;
  text-align: center;
} */

/* --- テーブルスタイル 03 --- */
/* .column-table03 {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  margin-bottom: 2em;
} */

/* 1行目（ヘッダー行）のスタイル */
/* .column-table03 tr:first-child td {
  background-color: #004494 !important;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  padding: 12px 15px;
} */

/* 2行目（コンテンツ行）のスタイル */
/* .column-table03 tr:nth-child(2) td {
  background-color: #ffffff;
  color: #333333;
  text-align: left;
  padding: 15px;
  border: 1px solid #dddddd;
  vertical-align: middle;
} */

/* 補足：特定の列幅を調整したい場合（必要に応じて） */
/* .column-table03 td {
  width: 50%;
} */
.tent-column h1{
  color: var(--mk-blue)!important;
  font-weight: bold!important;
  font-size: clamp(22px,4vw,34px)!important;
}

.tent-column-inner {
  padding-bottom: clamp(40px, 6vw, 72px);
}

.tent-column-bottom-nav {
  margin-top: clamp(36px, 5vw, 56px);
  padding-top: 24px;
  border-top: 1px solid #d9e5ef;
}

.tent-column-archive-link-wrap {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}

.tent-column-bottom-nav > .tent-column-archive-link-wrap:first-child {
  margin-top: 0;
}

.tent-column-archive-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  min-height: 48px;
  padding: 10px 28px;
  border: 2px solid var(--main-blue);
  border-radius: 6px;
  background: var(--main-blue);
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.4;
  text-decoration: none;
}

.tent-column-archive-link:hover {
  background: #fff;
  color: var(--main-blue);
  opacity: 1;
}

.tent-column-post-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.tent-column-post-nav-link,
.tent-column-post-nav-spacer {
  min-height: 96px;
}

.tent-column-post-nav-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 20px;
  border: 1px solid #d9e5ef;
  border-radius: 10px;
  background: #fafafa;
  color: var(--text-color);
  text-decoration: none;
}

.tent-column-post-nav-link.is-next {
  text-align: right;
}

.tent-column-post-nav-label {
  margin-bottom: 6px;
  color: var(--main-blue);
  font-size: 13px;
  font-weight: bold;
}

.tent-column-post-nav-title {
  color: var(--mk-blue);
  font-size: clamp(14px, 2.5vw, 16px);
  font-weight: bold;
  line-height: 1.55;
}

@media screen and (max-width: 767px) {
  .tent-column-post-nav {
    grid-template-columns: 1fr;
  }

  .tent-column-post-nav-link.is-next {
    text-align: left;
  }

  .tent-column-post-nav-spacer {
    display: none;
  }

  .tent-column-archive-link {
    width: min(100%, 260px);
  }
}


/*-----------------
「この記事でわかること」BOX
-----------------*/
.column-summary{
 border: 2px solid var(--mk-blue)!important;
 padding: 15px 25px;
}
.column-summary h2{
  border-bottom: 1px dotted var(--mk-blue)!important;
  font-size: 1.2em;
  font-weight: bold;
}
.column-summary ul{
  padding-left: 0;
}
.column-summary ul li{
  display: grid;
  grid-template-columns: 1em minmax(0, 1fr);
  column-gap: 10px;
  align-items: start;
  list-style: none;
}
.column-summary ul li::before{
  content: "\25A0";
  margin-right: 0;
}
.column-summary ul li:before{
  content: "■";
  color: var(--mk-blue);
  margin-right: 10px;
}

/*--------------------------------------------------
  テントの豆知識：個別記事_ラインナップ
--------------------------------------------------*/

/* 1. カラム全体の共通設定 */
.t-column-lineup {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    overflow: hidden;
}

.t-column-lineup .wp-block-image {
    margin-bottom: 0;
    overflow: hidden;
    line-height: 0;
}

.t-column-lineup img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.t-column-lineup:hover img {
    transform: scale(1.1);
}

.t-column-lineup p {
    color: #fff;
    margin: 0;
    padding: 5px;
    flex-grow: 1;
    z-index: 2;
    background-color: var(--mk-blue);
}

.single-tent-column .column-summary ul li,
.tent-column-inner .column-summary ul li {
  display: grid;
  grid-template-columns: 1em minmax(0, 1fr);
  column-gap: 10px;
  align-items: start;
  list-style: none;
}

.single-tent-column .column-summary ul li::before,
.tent-column-inner .column-summary ul li::before {
  content: "\25A0";
  margin-right: 0;
}

.single-tent-column .vk_tableOfContents_list_item_link,
.tent-column-inner .vk_tableOfContents_list_item_link {
  text-decoration: none;
  border-bottom: none;
  font-weight: normal;
}

.single-tent-column .vk_tableOfContents_list_item,
.tent-column-inner .vk_tableOfContents_list_item {
  border-bottom: 1px dotted #123556;
}

.single-tent-column .vk_tableOfContents_list_item_link:hover,
.tent-column-inner .vk_tableOfContents_list_item_link:hover {
  color: var(--orange, #E58948);
  text-decoration: none;
  border-bottom: none;
  font-weight: normal;
}

.single-tent-column .vk_balloon_icon_image {
  width: 80px;
  height: 80px;
}

.single-tent-column .vk_balloon_icon:not(:empty) {
  flex-basis: 96px;
}

.single-tent-column .entry-content .tc-disc-list,
.post-type-tent-column .editor-styles-wrapper .tc-disc-list {
  list-style-type: disc;
  padding-left: 1.5em;
}

.single-tent-column .entry-content .tc-disc-list > li,
.post-type-tent-column .editor-styles-wrapper .tc-disc-list > li {
  display: list-item;
  list-style-type: disc;
}

.single-tent-column .column-summary ul,
.post-type-tent-column .editor-styles-wrapper .column-summary ul,
.single-tent-column .vk_tableOfContents_list,
.post-type-tent-column .editor-styles-wrapper .vk_tableOfContents_list {
  list-style-type: none;
  padding-left: 0;
}

.single-tent-column .column-summary ul > li,
.post-type-tent-column .editor-styles-wrapper .column-summary ul > li,
.single-tent-column .vk_tableOfContents_list > li,
.post-type-tent-column .editor-styles-wrapper .vk_tableOfContents_list > li {
  list-style-type: none;
}

.single-tent-column .column-summary ul > li,
.post-type-tent-column .editor-styles-wrapper .column-summary ul > li {
  display: grid;
}

/* Archive and top cards */
.post-type-archive-tent-column .tent-column-archive {
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 80px;
}

.post-type-archive-tent-column .archive-description {
  color: var(--text-color);
  line-height: 1.8;
  margin-block: 50px;
}

.post-type-archive-tent-column .tent-column-grid {
  align-items: stretch;
}

.post-type-archive-tent-column .tent-column-item-wrapper {
  display: flex;
}

.post-type-archive-tent-column .tent-column-card {
  width: 100%;
  height: 100%;
}

.post-type-archive-tent-column .work-card-link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.post-type-archive-tent-column .tent-column-card-thumbnail {
  padding-bottom: 56.25%;
  background-color: #fff;
}

.post-type-archive-tent-column .tent-column-card-thumbnail img {
  object-fit: contain;
  padding: 8px;
}

.post-type-archive-tent-column .work-card-link:hover .tent-column-card-thumbnail img {
  transform: none;
}

.post-type-archive-tent-column .work-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(1.4em * 3 + 30px);
  padding: 15px 12px;
}

.post-type-archive-tent-column .tent-column-card-date {
  line-height: 1.4;
}

.post-type-archive-tent-column .work-card-title {
  display: -webkit-box;
  min-height: calc(1.4em * 3);
  max-height: calc(1.4em * 3);
  overflow: hidden;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
}

@media screen and (max-width: 768px) {
  .post-type-archive-tent-column .archive-description {
    margin-block: 30px;
  }
}

/* Single article title area */
.single-tent-column .news-header-bg {
  width: 100%;
  background: linear-gradient(to bottom, var(--sub-blue), #fafafa);
  padding-block: 3rem;
}

.tent-column-header-image {
  width: min(60%, 720px);
  margin: clamp(20px, 3vw, 30px) auto clamp(18px, 3vw, 26px);
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 16 / 9;
  background: #e8eef3;
}

.tent-column-header-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-tent-column .entry-meta {
  color: var(--main-blue);
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .tent-column-header-image {
    width: 100%;
    border-radius: 4px;
    aspect-ratio: auto;
    background: transparent;
    overflow: visible;
  }

  .tent-column-header-image img {
    display: block;
    height: auto;
    object-fit: contain;
  }
}
