/*
Theme Name: CODE Child
Template: code_tcd090
Version: 1.0
*/

/* =========================================================
   固定ヘッダー（日本語版）
========================================================= */
@media screen and (min-width: 1201px) {
  #header {
    position: fixed !important;
    top: 0;
    left: 0;
    z-index: 1100;
    height: 85px;
    background: #fff !important;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #111;
    box-shadow: none !important;
    pointer-events: auto !important;
  }

  .admin-bar #header {
    top: 32px;
  }

  body,
  body.home,
  body.header_fix,
  body.home.header_fix {
    padding-top: 0 !important;
  }

  #container {
    padding-top: 85px;
  }

  #header_logo {
    flex: 0 0 auto;
    margin-left: 115px;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 2;
  }

  body.home #header_logo a,
  body.home #header_logo a.animate,
  body.home.stop_index_slider_animation #header_logo a,
  #header_logo a {
    opacity: 1 !important;
    visibility: visible !important;
  }

  #header_logo .tewatashi_header_logo,
  #header_logo .tewatashi_header_logo a {
    display: flex !important;
    align-items: center;
    height: 85px;
    margin: 0;
    padding: 0;
  }

  #header_logo .tewatashi_header_logo__image {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto;
    max-width: 300px;
    max-height: 62px;
    object-fit: contain;
  }

  #header_logo a,
  #header_logo a .logo_text,
  body.home #header_logo a .logo_text,
  body.home.header_fix #header_logo a .logo_text {
    color: #000;
  }

  #header_logo .logo.has_index_logo img.logo_image {
    display: block;
  }

  #header_logo .logo.has_index_logo img.index_logo,
  #header_logo .logo.has_index_logo img.index_mobile_logo {
    display: none !important;
  }

  #header_quick_nav {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
    height: 85px;
    padding: 0 30px;
    box-sizing: border-box;
  }

  #header_quick_nav:empty {
    display: block;
  }

  #header_quick_nav .header_quick_menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 56px;
    margin: 0;
    padding: 0;
  }

  #header_quick_nav .header_quick_menu > li {
    margin: 0;
    padding: 0;
  }

  #header_quick_nav .header_quick_menu > li > a {
    display: block;
    color: #000;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 85px;
    letter-spacing: 0.035em;
    white-space: nowrap;
    text-rendering: geometricPrecision;
  }

  #header_quick_nav .header_quick_menu > li > a:hover {
    opacity: .55;
  }

  body.home #header_search,
  body.no_index_header_content #header_search,
  body.home.header_fix #header_search,
  #header_search {
    flex: 0 0 210px;
    width: 210px;
    height: 85px;
    margin-right: 60px;
    opacity: 1;
    pointer-events: auto;
  }

  #header_search .input_area {
    left: auto;
    right: 0;
    top: 20px;
  }

  #header_search .input_area input {
    width: 210px;
    padding: 0 60px 0 20px;
  }

  #header_search .button label,
  #header_search .button input {
    width: 120px;
    height: 85px;
  }

  #header_search .button label {
    right: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding-right: 4px;
    box-sizing: border-box;
  }

  #header_search .button label:before {
    position: static;
    order: 1;
    font-size: 18px;
  }

  #header_search .search_label {
    order: 2;
    color: #000;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.025em;
    text-rendering: geometricPrecision;
  }

  #global_menu_button {
    display: none;
  }
}

@media screen and (max-width: 1200px) {
  #header_quick_nav {
    display: none;
  }

  #header_search .search_label {
    display: none;
  }
}

/* =========================================================
   トップページ 独自HERO
   YouTube優先／未設定時はSCF画像カルーセル
========================================================= */
#tewatashi_hero {
  position: relative;
  width: 100%;
  height: calc(100svh - 85px);
  min-height: 560px;
  max-height: 980px;
  overflow: hidden;
  background: #111;
  isolation: isolate;
}

#tewatashi_hero,
#tewatashi_hero * {
  box-sizing: border-box;
}

.tewatashi_hero__slides,
.tewatashi_hero__slide,
.tewatashi_hero__slide_inner,
.tewatashi_hero__picture,
.tewatashi_hero__poster,
.tewatashi_hero__video,
.tewatashi_hero__video_overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tewatashi_hero__slide {
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 1.15s cubic-bezier(.22, .61, .36, 1),
    visibility 1.15s linear;
}

.tewatashi_hero__slide.is-active {
  z-index: 2;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.tewatashi_hero__slide_inner {
  display: block;
  color: inherit;
}

.tewatashi_hero__picture {
  display: block;
  overflow: hidden;
}

.tewatashi_hero__picture img,
.tewatashi_hero__poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.tewatashi_hero__picture img {
  transform: scale(1.015);
  transition: transform 8s cubic-bezier(.2, .55, .25, 1);
}

.tewatashi_hero__slide.is-active .tewatashi_hero__picture img {
  transform: scale(1);
}

.tewatashi_hero__catch_wrap {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%);
  max-height: calc(100% - 150px);
}

.tewatashi_hero__catch {
  margin: 0;
  padding: 18px 13px;
  color: #fff;
  background: rgba(0, 0, 0, .44);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    serif;
  font-size: clamp(17px, 1.45vw, 24px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: .12em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: normal;
  box-shadow: 0 1px 10px rgba(0, 0, 0, .08);
}

.tewatashi_hero__controls {
  position: absolute;
  z-index: 6;
  right: clamp(24px, 3.2vw, 58px);
  bottom: clamp(22px, 3vw, 46px);
  display: flex;
  align-items: center;
  gap: 18px;
  color: #fff;
  mix-blend-mode: difference;
}

.tewatashi_hero__arrow {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 25px;
  line-height: 42px;
  text-align: center;
  transition: opacity .25s ease, transform .25s ease;
}

.tewatashi_hero__arrow:hover {
  opacity: .55;
}

.tewatashi_hero__arrow--prev:hover {
  transform: translateX(-3px);
}

.tewatashi_hero__arrow--next:hover {
  transform: translateX(3px);
}

.tewatashi_hero__arrow:focus-visible,
#tewatashi_hero:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.tewatashi_hero__counter {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 70px;
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
}

.tewatashi_hero__counter_line {
  display: block;
  width: 24px;
  height: 1px;
  background: currentColor;
}

.tewatashi_hero__poster {
  z-index: 2;
  background: #111;
  opacity: 1;
  transition: opacity .8s ease;
}

.tewatashi_hero--video.is-video-ready .tewatashi_hero__poster {
  opacity: 0;
  pointer-events: none;
}

.tewatashi_hero__video {
  z-index: 1;
  overflow: hidden;
  background: #111;
}

.tewatashi_hero__youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.tewatashi_hero__video_overlay {
  z-index: 3;
  pointer-events: none;
  background: rgba(0, 0, 0, .06);
}

@media screen and (max-width: 1200px) {
  #tewatashi_hero {
    height: calc(100svh - 60px);
    min-height: 520px;
    max-height: none;
  }

  .tewatashi_hero__catch_wrap {
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
    max-height: calc(100% - 130px);
  }

  .tewatashi_hero__catch {
    padding: 15px 11px;
    font-size: clamp(16px, 2vw, 21px);
  }
}

@media screen and (max-width: 700px) {
  #tewatashi_hero {
    height: calc(100svh - 60px);
    min-height: 500px;
  }

  .tewatashi_hero__catch_wrap {
    top: 50%;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
    max-height: calc(100% - 145px);
  }

  .tewatashi_hero__catch {
    padding: 13px 9px;
    background: rgba(0, 0, 0, .48);
    font-size: 16px;
    line-height: 1.72;
    letter-spacing: .1em;
  }

  .tewatashi_hero__controls {
    right: 13px;
    bottom: 16px;
    gap: 8px;
  }

  .tewatashi_hero__arrow {
    width: 38px;
    height: 38px;
    font-size: 22px;
    line-height: 38px;
  }

  .tewatashi_hero__counter {
    gap: 7px;
    min-width: 60px;
    font-size: 10px;
  }

  .tewatashi_hero__counter_line {
    width: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tewatashi_hero__slide,
  .tewatashi_hero__picture img,
  .tewatashi_hero__poster,
  .tewatashi_hero__arrow {
    transition: none !important;
  }

  .tewatashi_hero__picture img {
    transform: none !important;
  }
}

/* YouTube HERO：16:9動画をHERO領域へcover表示 */
.tewatashi_hero--video .tewatashi_hero__video {
  overflow: hidden;
}

.tewatashi_hero--video .tewatashi_hero__youtube {
  max-width: none !important;
  max-height: none !important;
  transform: translate(-50%, -50%);
  transform-origin: center center;
}

/* 再生開始をAPIで確認するまでは代替画像を前面に残し、
   YouTubeの初期プレイアイコンや停止画面を見せない。 */
.tewatashi_hero--video:not(.is-video-ready) .tewatashi_hero__poster {
  opacity: 1;
  visibility: visible;
}

/* =========================================================
   投稿者表示をサイト全体で一時的に非表示
   - 丸いプロフィール画像
   - 投稿者名
   - 記事詳細下部の投稿者プロフィール
   - 投稿者一覧コンテンツ
   PHPの出力は残してあるため、将来このブロックを外せば再表示できる。
========================================================= */

/* 記事カード・カルーセル・一覧・関連投稿などの投稿者表示 */
a.author,
li.author,
#post_meta_bottom .post_author {
  display: none !important;
}

/* 記事詳細下部の投稿者プロフィール、投稿者一覧ブロック */
.author_profile,
.cb_author_list {
  display: none !important;
}

/* 投稿者を消した分、記事タイトルをカード幅いっぱいに戻す */
.post_carousel .title,
.featured_post .title,
.blog_list .title,
#mega_category .title,
#header_slider .post_item .content_inner {
  width: 100% !important;
  float: none !important;
}

/* 投稿者用に確保されていた高さを縮める */
.post_carousel .title_area,
.featured_post .title_area {
  min-height: 0 !important;
}

/* =========================================================
   TCDヘッダーメッセージを一時的に非表示
   「Local Stories and Daily Life from Nagoya」と閉じるボタンの
   HTML・テーマ設定は残してあるため、このブロックを外せば再表示できる。
========================================================= */
#header_message {
  display: none !important;
}

/* =========================================================
   YouTube HEROの起動直後UIを一時的に非表示
   YouTubeが表示する「その他の動画」等を直接消すことはできないため、
   再生開始を確認するまでは動画レイヤー全体を隠し、
   ポスター画像のみを表示する。
========================================================= */
.tewatashi_hero--video .tewatashi_hero__video {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.tewatashi_hero--video.is-video-ready .tewatashi_hero__video {
  opacity: 1;
  visibility: visible;
}

/* iframe自体も準備完了前は描画させない */
.tewatashi_hero--video:not(.is-video-ready) .tewatashi_hero__youtube {
  opacity: 0 !important;
  visibility: hidden !important;
}

.tewatashi_hero--video.is-video-ready .tewatashi_hero__youtube {
  opacity: 1 !important;
  visibility: visible !important;
}

/* =========================================================
   トップページ TAG LIST
   TCDメガメニューで選択されているタグを、
   ABOUT US（フッターバナー）の直前へ表示する。
========================================================= */
#tewatashi_top_tag_cloud {
  box-sizing: border-box;
  width: 100%;
  padding: 72px 40px 78px;
  background: #242424;
  color: #fff;
  text-align: center;
}

#tewatashi_top_tag_cloud,
#tewatashi_top_tag_cloud * {
  box-sizing: border-box;
}

.tewatashi_top_tag_cloud__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.tewatashi_top_tag_cloud__heading {
  margin-bottom: 38px;
}

.tewatashi_top_tag_cloud__title {
  margin: 0;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(32px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .01em;
}

.tewatashi_top_tag_cloud__desc {
  margin: 18px 0 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.7;
}

.tewatashi_top_tag_cloud__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tewatashi_top_tag_cloud__list li {
  margin: 0;
  padding: 0;
}

.tewatashi_top_tag_cloud__list a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 8px 25px;
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 9px;
  color: #fff !important;
  font-size: 16px;
  line-height: 1.35;
  text-decoration: none;
  transition:
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease;
}

.tewatashi_top_tag_cloud__list a:hover {
  border-color: #fff;
  background: #fff;
  color: #111 !important;
}
/* 記事カード：エリアカテゴリー */
.tewatashi_area_category {
  font-weight: 600 !important;
	font-size: 13px !important;
	color:#333333 !important;
}

@media screen and (max-width: 700px) {
  #tewatashi_top_tag_cloud {
    padding: 54px 20px 58px;
  }

  .tewatashi_top_tag_cloud__heading {
    margin-bottom: 30px;
  }

  .tewatashi_top_tag_cloud__title {
    font-size: 30px;
  }

  .tewatashi_top_tag_cloud__desc {
    margin-top: 13px;
    font-size: 14px;
  }

  .tewatashi_top_tag_cloud__list {
    gap: 8px 6px;
  }

  .tewatashi_top_tag_cloud__list a {
    min-height: 42px;
    padding: 7px 16px;
    border-radius: 8px;
    font-size: 14px;
  }
}

/* =========================================================
   固定ヘッダー AREAメガメニュー
   - AREA hoverで展開
   - 上段テキストリンクは横並び
   - 画像リンクはPC 5カラム、6件目から次段
========================================================= */
@media screen and (min-width: 1201px) {
  #header {
    overflow: visible !important;
  }

  #header_quick_nav .menu-item-tewatashi-area.is-area-open > a {
    opacity: .55;
  }

  .tewatashi_area_mega {
    position: absolute;
    z-index: 1095;
    top: 85px;
    left: 0;
    width: 100%;
    max-height: calc(100vh - 85px);
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff;
    border-bottom: 1px solid #111;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition:
      opacity .22s ease,
      visibility .22s ease,
      transform .22s ease;
  }

  .tewatashi_area_mega.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .tewatashi_area_mega,
  .tewatashi_area_mega * {
    box-sizing: border-box;
  }

  .tewatashi_area_mega__inner {
    width: min(1500px, 100%);
    margin: 0 auto;
    padding: 34px 60px 46px;
  }

  .tewatashi_area_mega__text_nav {
    margin: 0 0 30px;
  }

  .tewatashi_area_mega__text_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 30px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .tewatashi_area_mega__text_list li {
    margin: 0;
    padding: 0;
  }

  .tewatashi_area_mega__text_list a {
    display: inline-block;
    color: #111 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .035em;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity .2s ease;
  }

  .tewatashi_area_mega__text_list a:hover {
    opacity: .5;
  }

  .tewatashi_area_mega__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 34px 26px;
  }

  .tewatashi_area_mega__card {
    display: block;
    min-width: 0;
    color: #111 !important;
    text-decoration: none;
  }

  .tewatashi_area_mega__image_wrap {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: #f1f1f1;
  }

  .tewatashi_area_mega__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1);
    transition:
      transform .45s cubic-bezier(.2, .6, .3, 1),
      opacity .25s ease;
  }

  .tewatashi_area_mega__card:hover .tewatashi_area_mega__image {
    transform: scale(1.025);
    opacity: .9;
  }

  .tewatashi_area_mega__name {
    display: block;
    margin-top: 11px;
    color: #111;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: .015em;
  }
}

@media screen and (max-width: 1200px) {
  .tewatashi_area_mega {
    display: none !important;
  }
}
/* AREAメガメニュー：左サイドバー80pxを除いた幅にする */
@media screen and (min-width: 1201px) {
  body:not(.hide_sidemenu):not(.hide_global_menu):not(.side_menu_position_type2)
  .tewatashi_area_mega {
    left: 80px;
    width: calc(100% - 80px);
  }
}

/* =========================================================
   AREA直下カテゴリー（名古屋市など）の投稿一覧
   - カテゴリー名と説明を中央表示
   - Friends of Friendsの都市一覧を参考にした4カラム
========================================================= */
.tewatashi_city_archive_header,
.tewatashi_city_archive,
.tewatashi_city_archive * {
  box-sizing: border-box;
}

.tewatashi_city_archive_header {
  width: 100%;
  padding: 92px 60px 154px;
  background: #fff;
  color: #111;
  text-align: center;
}

.tewatashi_city_archive_header__inner {
  width: min(900px, 100%);
  margin: 0 auto;
}

.tewatashi_city_archive_header__title {
  margin: 0;
  color: #111;
/*   font-family: "Times New Roman", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; */
  font-size: clamp(58px, 6.1vw, 48px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.025em;
}

.tewatashi_city_archive_header__description {
  max-width: 760px;
  margin: 34px auto 0;
  color: #111;
  font-size: 16px;
  line-height: 2;
  text-align: center;
}

.tewatashi_city_archive_header__description p {
  margin: 0;
}

.tewatashi_city_archive_header__description p + p {
  margin-top: .75em;
}

.tewatashi_city_archive {
  width: 100%;
  padding: 0 48px 120px;
  background: #fff;
}

.tewatashi_city_archive__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 88px 20px;
  width: 100%;
  max-width: 1450px;
  margin: 0 auto;
}

.tewatashi_city_card {
  min-width: 0;
  margin: 0;
}

.tewatashi_city_card__image_link,
.tewatashi_city_card__image_wrap {
  display: block;
  width: 100%;
}

.tewatashi_city_card__image_wrap {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #eee;
}

.tewatashi_city_card__image {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  transform: scale(1);
  transition: transform .5s cubic-bezier(.2, .6, .3, 1), opacity .25s ease;
}

.tewatashi_city_card__image_link:hover .tewatashi_city_card__image {
  opacity: .9;
  transform: scale(1.025);
}

.tewatashi_city_card__body {
  padding-top: 14px;
}

.tewatashi_city_card__categories {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 7px;
  min-height: 24px;
  font-family: "Times New Roman", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.35;
}

.tewatashi_city_card__categories a {
  color: #111;
}

.tewatashi_city_card__categories a:hover {
  opacity: .55;
}

.tewatashi_city_card__separator {
  color: #111;
}

.tewatashi_city_card__title {
  margin: 2px 0 0;
  font-family: Arial, "Hiragino Sans", "Yu Gothic", YuGothic, sans-serif;
  font-size: clamp(19px, 1.55vw, 25px);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}

.tewatashi_city_card__title a {
  color: #111;
}

.tewatashi_city_card__title a:hover {
  opacity: .55;
}

.tewatashi_city_card__excerpt {
  display: -webkit-box;
  margin: 16px 0 0;
  overflow: hidden;
  color: #222;
  font-size: 14px;
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.tewatashi_city_archive > .page_navi {
  max-width: 1450px;
  margin: 70px auto 0;
}

.tewatashi_city_archive > #no_post {
  padding: 0 20px 80px;
}

@media screen and (max-width: 1200px) {
  .tewatashi_city_archive_header {
    padding: 76px 40px 112px;
  }

  .tewatashi_city_archive {
    padding: 0 30px 90px;
  }

  .tewatashi_city_archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 70px 24px;
  }

  .tewatashi_city_card__title {
    font-size: 24px;
  }
}

@media screen and (max-width: 650px) {
  .tewatashi_city_archive_header {
    padding: 58px 20px 76px;
  }

  .tewatashi_city_archive_header__title {
    font-size: 48px;
  }

  .tewatashi_city_archive_header__description {
    margin-top: 24px;
    font-size: 14px;
    line-height: 1.9;
  }

  .tewatashi_city_archive {
    padding: 0 20px 70px;
  }

  .tewatashi_city_archive__grid {
    grid-template-columns: 1fr;
    gap: 58px;
  }

  .tewatashi_city_card__body {
    padding-top: 12px;
  }

  .tewatashi_city_card__categories {
    min-height: 0;
    font-size: 17px;
  }

  .tewatashi_city_card__title {
    margin-top: 3px;
    font-size: 23px;
    line-height: 1.1;
  }

  .tewatashi_city_card__excerpt {
    margin-top: 13px;
  }
}
/* =========================================================
   HERO 英語キャッチ：横書き・中央揃え
========================================================= */
.tewatashi_hero__catch--en {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  line-height: 1.55;
  letter-spacing: .04em;
  text-align: center !important;
}