@charset "UTF-8";
:root {
  --color-blue-100: #005CB7;
  --color-blue-200: #004385;
  --color-green-100: #00B743;
  --color-turquoise-100: #00B7B7;
  --color-brown-100: #B74600;
  --color-purple-100: #B70086;
  --color-pink-100: #FF0086;
  --color-gray-100: #000000;
  --color-gray-200: #666666;
  --color-gray-300: #999999;
  --color-gray-400: #CCCCCC;
  --color-gray-500: #E5E5E5;
  --color-gray-600: #F5F5F5;
  --color-white-100: #FFFFFF;
  
  /* カテゴリーカラー (14色 + デフォルト) */
  --category-default: #6B7280;                          /* デフォルト - グレー */
  --category-basics-of-recruiting-foreigners: #8B5CF6;  /* 外国人採用の基礎 - 紫 */
  --category-foreign-employment-visa-guide: #10B981;    /* 就労ビザガイド - 緑 */
  --category-nihongo-study: #EC4899;                    /* 日本語学習 - ピンク */
  --category-lifestyle-support: #06B6D4;                /* 生活サポート - シアン */
  --category-recruitment-case-studies: #3B82F6;         /* 採用事例 - 青 */
  --category-housing-and-real-estate: #84CC16;          /* 住宅・不動産 - ライム */
  --category-labor-law-guide: #F59E0B;                  /* 労働法ガイド - アンバー */
  --category-hiring-basics: #A855F7;                    /* 採用基礎 - パープル */
  --category-public-services-and-living-infrastructure: #14B8A6; /* 公共サービス・生活インフラ - ティール */
  --category-japanese-culture-and-social-rules: #EF4444; /* 日本文化・社会ルール - 赤 */
  --category-jobs-careers: #6366F1;                     /* 仕事・キャリア - インディゴ */
  --category-daily-life-guide: #F97316;                 /* 日常生活ガイド - オレンジ */
  --category-popular-and-hidden-sights: #F472B6;        /* 人気・穴場スポット - ローズ */
  --category-leisure: #FBBF24;                          /* レジャー - イエロー */

  --font-size-xs: 0.625rem;   /* 10px */
  --font-size-sm: 0.812rem;   /* 13px */
  --font-size-base: 1.000rem;   /* 16px */
  --font-size-lg: 1.250rem;   /* 20px */
  --font-size-xl: 1.563rem;   /* 25px */
  --font-size-2xl: 1.938rem;   /* 31px */
  --font-size-3xl: 2.438rem;   /* 39px */
  --font-size-4xl: 3.063rem;   /* 49px */
  --font-size-5xl: 3.813rem;   /* 61px */

  --font-weight-normal: 400;
  --font-weight-bold: 700;

  --line-height-sm: 1.3;
  --line-height-base: 1.5;
  --line-height-lg: 1.8;

  --border-radius-sm: 0.25rem;
  --border-radius-base: 0.5rem;
  --border-radius-lg: 1rem;

  --transition-default: all 0.3s ease;
}

/* ========================================
   Utility Classes - Category Colors (15色)
   ======================================== */

/* 文字色用のユーティリティクラス */
.u-category-default { color: var(--category-default) !important; }
.u-category-basics-of-recruiting-foreigners { color: var(--category-basics-of-recruiting-foreigners) !important; }
.u-category-foreign-employment-visa-guide { color: var(--category-foreign-employment-visa-guide) !important; }
.u-category-nihongo-study { color: var(--category-nihongo-study) !important; }
.u-category-lifestyle-support { color: var(--category-lifestyle-support) !important; }
.u-category-recruitment-case-studies { color: var(--category-recruitment-case-studies) !important; }
.u-category-housing-and-real-estate { color: var(--category-housing-and-real-estate) !important; }
.u-category-labor-law-guide { color: var(--category-labor-law-guide) !important; }
.u-category-hiring-basics { color: var(--category-hiring-basics) !important; }
.u-category-public-services-and-living-infrastructure { color: var(--category-public-services-and-living-infrastructure) !important; }
.u-category-japanese-culture-and-social-rules { color: var(--category-japanese-culture-and-social-rules) !important; }
.u-category-jobs-careers { color: var(--category-jobs-careers) !important; }
.u-category-daily-life-guide { color: var(--category-daily-life-guide) !important; }
.u-category-popular-and-hidden-sights { color: var(--category-popular-and-hidden-sights) !important; }
.u-category-leisure { color: var(--category-leisure) !important; }

/* 背景色用のユーティリティクラス */
.u-category-bg-default { background-color: var(--category-default) !important; }
.u-category-bg-basics-of-recruiting-foreigners { background-color: var(--category-basics-of-recruiting-foreigners) !important; }
.u-category-bg-foreign-employment-visa-guide { background-color: var(--category-foreign-employment-visa-guide) !important; }
.u-category-bg-nihongo-study { background-color: var(--category-nihongo-study) !important; }
.u-category-bg-lifestyle-support { background-color: var(--category-lifestyle-support) !important; }
.u-category-bg-recruitment-case-studies { background-color: var(--category-recruitment-case-studies) !important; }
.u-category-bg-housing-and-real-estate { background-color: var(--category-housing-and-real-estate) !important; }
.u-category-bg-labor-law-guide { background-color: var(--category-labor-law-guide) !important; }
.u-category-bg-hiring-basics { background-color: var(--category-hiring-basics) !important; }
.u-category-bg-public-services-and-living-infrastructure { background-color: var(--category-public-services-and-living-infrastructure) !important; }
.u-category-bg-japanese-culture-and-social-rules { background-color: var(--category-japanese-culture-and-social-rules) !important; }
.u-category-bg-jobs-careers { background-color: var(--category-jobs-careers) !important; }
.u-category-bg-daily-life-guide { background-color: var(--category-daily-life-guide) !important; }
.u-category-bg-popular-and-hidden-sights { background-color: var(--category-popular-and-hidden-sights) !important; }
.u-category-bg-leisure { background-color: var(--category-leisure) !important; }

/* ボーダー色用のユーティリティクラス */
.u-category-border-default { border-color: var(--category-default) !important; }
.u-category-border-basics-of-recruiting-foreigners { border-color: var(--category-basics-of-recruiting-foreigners) !important; }
.u-category-border-foreign-employment-visa-guide { border-color: var(--category-foreign-employment-visa-guide) !important; }
.u-category-border-nihongo-study { border-color: var(--category-nihongo-study) !important; }
.u-category-border-lifestyle-support { border-color: var(--category-lifestyle-support) !important; }
.u-category-border-recruitment-case-studies { border-color: var(--category-recruitment-case-studies) !important; }
.u-category-border-housing-and-real-estate { border-color: var(--category-housing-and-real-estate) !important; }
.u-category-border-labor-law-guide { border-color: var(--category-labor-law-guide) !important; }
.u-category-border-hiring-basics { border-color: var(--category-hiring-basics) !important; }
.u-category-border-public-services-and-living-infrastructure { border-color: var(--category-public-services-and-living-infrastructure) !important; }
.u-category-border-japanese-culture-and-social-rules { border-color: var(--category-japanese-culture-and-social-rules) !important; }
.u-category-border-jobs-careers { border-color: var(--category-jobs-careers) !important; }
.u-category-border-daily-life-guide { border-color: var(--category-daily-life-guide) !important; }
.u-category-border-popular-and-hidden-sights { border-color: var(--category-popular-and-hidden-sights) !important; }
.u-category-border-leisure { border-color: var(--category-leisure) !important; }

/* ========================================
   カテゴリードット - サイズ定義
   ======================================== */
/* デフォルト（12px） */
.u-category-dot::before,
a.u-category-dot::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 8px;
  border-radius: 50%;
}

/* Small（8px） */
.u-category-dot-sm::before,
a.u-category-dot-sm::before {
  width: 8px !important;
  height: 8px !important;
  margin-right: 4px !important;
}

/* Large（16px） */
.u-category-dot-lg::before,
a.u-category-dot-lg::before {
  width: 16px !important;
  height: 16px !important;
}

/* ========================================
   カテゴリードット - カラー定義
   ======================================== */
.u-category-dot-default::before,
a.u-category-dot-default::before { 
  background: var(--category-default); 
}

.u-category-dot-basics-of-recruiting-foreigners::before,
a.u-category-dot-basics-of-recruiting-foreigners::before { 
  background: var(--category-basics-of-recruiting-foreigners) !important; 
}

.u-category-dot-foreign-employment-visa-guide::before,
a.u-category-dot-foreign-employment-visa-guide::before { 
  background: var(--category-foreign-employment-visa-guide) !important; 
}

.u-category-dot-nihongo-study::before,
a.u-category-dot-nihongo-study::before { 
  background: var(--category-nihongo-study) !important; 
}

.u-category-dot-lifestyle-support::before,
a.u-category-dot-lifestyle-support::before { 
  background: var(--category-lifestyle-support) !important; 
}

.u-category-dot-recruitment-case-studies::before,
a.u-category-dot-recruitment-case-studies::before { 
  background: var(--category-recruitment-case-studies) !important; 
}

.u-category-dot-housing-and-real-estate::before,
a.u-category-dot-housing-and-real-estate::before { 
  background: var(--category-housing-and-real-estate) !important; 
}

.u-category-dot-labor-law-guide::before,
a.u-category-dot-labor-law-guide::before { 
  background: var(--category-labor-law-guide) !important; 
}

.u-category-dot-hiring-basics::before,
a.u-category-dot-hiring-basics::before { 
  background: var(--category-hiring-basics) !important; 
}

.u-category-dot-public-services-and-living-infrastructure::before,
a.u-category-dot-public-services-and-living-infrastructure::before { 
  background: var(--category-public-services-and-living-infrastructure) !important; 
}

.u-category-dot-japanese-culture-and-social-rules::before,
a.u-category-dot-japanese-culture-and-social-rules::before { 
  background: var(--category-japanese-culture-and-social-rules) !important; 
}

.u-category-dot-jobs-careers::before,
a.u-category-dot-jobs-careers::before { 
  background: var(--category-jobs-careers) !important; 
}

.u-category-dot-daily-life-guide::before,
a.u-category-dot-daily-life-guide::before { 
  background: var(--category-daily-life-guide) !important; 
}

.u-category-dot-popular-and-hidden-sights::before,
a.u-category-dot-popular-and-hidden-sights::before { 
  background: var(--category-popular-and-hidden-sights) !important; 
}

.u-category-dot-leisure::before,
a.u-category-dot-leisure::before { 
  background: var(--category-leisure) !important; 
}

/* タグ風のスタイル（背景色を薄く、文字色を濃く） */
.u-category-tag-default { 
  background-color: color-mix(in srgb, var(--category-default) 10%, white) !important;
  color: var(--category-default) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-basics-of-recruiting-foreigners { 
  background-color: color-mix(in srgb, var(--category-basics-of-recruiting-foreigners) 10%, white) !important;
  color: var(--category-basics-of-recruiting-foreigners) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-foreign-employment-visa-guide { 
  background-color: color-mix(in srgb, var(--category-foreign-employment-visa-guide) 10%, white) !important;
  color: var(--category-foreign-employment-visa-guide) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-nihongo-study { 
  background-color: color-mix(in srgb, var(--category-nihongo-study) 10%, white) !important;
  color: var(--category-nihongo-study) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-lifestyle-support { 
  background-color: color-mix(in srgb, var(--category-lifestyle-support) 10%, white) !important;
  color: var(--category-lifestyle-support) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-recruitment-case-studies { 
  background-color: color-mix(in srgb, var(--category-recruitment-case-studies) 10%, white) !important;
  color: var(--category-recruitment-case-studies) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-housing-and-real-estate { 
  background-color: color-mix(in srgb, var(--category-housing-and-real-estate) 10%, white) !important;
  color: var(--category-housing-and-real-estate) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-labor-law-guide { 
  background-color: color-mix(in srgb, var(--category-labor-law-guide) 10%, white) !important;
  color: var(--category-labor-law-guide) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-hiring-basics { 
  background-color: color-mix(in srgb, var(--category-hiring-basics) 10%, white) !important;
  color: var(--category-hiring-basics) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-public-services-and-living-infrastructure { 
  background-color: color-mix(in srgb, var(--category-public-services-and-living-infrastructure) 10%, white) !important;
  color: var(--category-public-services-and-living-infrastructure) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-japanese-culture-and-social-rules { 
  background-color: color-mix(in srgb, var(--category-japanese-culture-and-social-rules) 10%, white) !important;
  color: var(--category-japanese-culture-and-social-rules) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-jobs-careers { 
  background-color: color-mix(in srgb, var(--category-jobs-careers) 10%, white) !important;
  color: var(--category-jobs-careers) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-daily-life-guide { 
  background-color: color-mix(in srgb, var(--category-daily-life-guide) 10%, white) !important;
  color: var(--category-daily-life-guide) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-popular-and-hidden-sights { 
  background-color: color-mix(in srgb, var(--category-popular-and-hidden-sights) 10%, white) !important;
  color: var(--category-popular-and-hidden-sights) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}
.u-category-tag-leisure { 
  background-color: color-mix(in srgb, var(--category-leisure) 10%, white) !important;
  color: var(--category-leisure) !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
}

body, html {
  font-family: "Noto Sans JP", メイリオ, meiryo, sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  color: var(--color-gray-100);
  background: var(--color-gray-600);
  height: -webkit-fill-available;
  letter-spacing: 0.03em;
}

.only-sp {
  display: none;
}

.only-pc {
  display: inline;
}

.no-horizontal-scrolling {
  overflow-x: hidden;
}

.error {
  padding: 64px 32px;
  max-width: 600px;
  margin-inline: auto;
}
.error__ttl {
  font-size: 32px;
  font-weight: 700;
}
.error__desc {
  font-size: 16px;
  margin-top: 16px;
}

.wp-block-tag-cloud a {
  display: inline-block;
  margin-right: 5px;
  text-decoration: none;
  color: #131313;
  border: 1px solid #cfcfcf;
  padding: 2px 8px;
  font-size: 14px !important;
  border-radius: 4px;
  margin: 0 4px 4px 0;
  background: #fff;
}

.c-breadcrumb {
  border-top: 1px solid #e8e8e8;
}
.c-breadcrumb__inr {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 0;
  font-size: 14px;
}
.c-breadcrumb__inr a {
  color: #696969;
}
.c-btn {
  display: inline-block;
  padding: 16px 24px;
  border-radius: 72px;
  border: 2px solid #131313;
  font-weight: bold;
  color: #131313;
  cursor: pointer;
  text-decoration: none;
  transition: var(--transition-default);
}
.c-btn--primary {
  background: var(--color-blue-100);
  color: #fff;
  border: 2px solid var(--color-blue-100);
}
.c-btn--primary:hover {
  background: var(--color-blue-200) !important;
  border: 2px solid var(--color-blue-200) !important;
}
.c-btn--arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  &::after {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url("../images/common/icon-arrow-right-white.svg") no-repeat center center;
    background-size: 24px 24px;
    margin-left: 8px;
  }
}
.c-btn--white {
  background: #fff;
  color: #131313;
  border: 2px solid #fff;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.12);
}
.c-btn--white:hover {
  background: #131313 !important;
  border: 2px solid #131313;
  color: #fff !important;
}
.c-btn + .c-btn {
  margin-left: 16px;
}
.c-btn:hover {
  background: #131313;
  color: #fff;
}
.c-hdr {
  border-bottom: 1px solid #e8e8e8;
  background: #fff;
  z-index: 1000;
  position: relative;
}
.c-hdr__inr {
  padding: 16px 24px;
  display: flex;
  align-items: center;
}
.c-hdr__logo {
  width: 160px;
  margin-right: 24px;
}
.c-hdr__search {
  margin-left: auto;
}
.c-hdr__search__icon {
  display: none;
}
.c-hdr__search__bottom {
  display: none;
  padding: 16px 20px;
  background: var(--color-white-100);
}
.c-hdr__search__bottom.open {
  display: flex;
  justify-content: center;
}
.c-hdr__search__bottom form {
  display: flex;
  align-items: center;
  width: 100%;
}
.c-hdr__search__bottom input {
  border: 1px solid #e8e8e8;
  background: #f4f4f4;
  padding: 8px 16px;
  border-radius: 8px 0 0 8px;
  width: calc(100% - 58px);
}
.c-hdr__search__bottom button {
  padding: 8px 16px;
  background: #1662b5;
  border: 1px solid #1662b5;
  border-radius: 0 8px 8px 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  height: 42px;
  display: flex;
  align-items: center;
}
.c-hdr__search__bottom button:hover {
  background: #104988;
}
.c-hdr__search form {
  display: flex;
  align-items: center;
}
.c-hdr__search input {
  border: none;
  background: #f4f4f4;
  padding: 8px 16px;
  border-radius: 40px 0 0 40px;
  max-width: 180px;
  height: 40px;
  &:focus {
    outline: none;
  }
}
.c-hdr__search button {
  padding: 8px 16px;
  background: #f4f4f4;
  border: none;
  border-radius: 0 40px 40px 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  height: 40px;
  display: flex;
  align-items: center;
}
.c-hdr__search button:hover {
  cursor: pointer;
  img {
    transform: rotate(25deg);
  }
}
.c-hdr__btn {
  display: none;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.c-hdr__closebtn {
  display: none;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.c-hdr__closebtn.open {
  display: block;
  z-index: 101;
  position: fixed;
  right: 20px;
  top: 24px;
}
.c-hdr__nav {
  margin-right: auto;
}
.c-hdr__nav.open {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(255, 255, 255);
  padding: 64px 24px;
  z-index: 100;
  overflow-y: scroll;
}
.c-hdr__nav.open .c-hdr__nav__lst li:has(.sub-menu) > a:after {
  display: none;
}
.c-hdr__nav.open .sub-menu {
  display: block;
  padding-left: 16px;
}
.c-hdr__nav.open .c-hdr__nav__lst a {
  padding: 8px 0;
}
.c-hdr__nav__lst {
  padding: 0;
  list-style: none;
  display: flex;
}
.c-hdr__nav__lst li {
  position: relative;
}
.c-hdr__nav__lst li .sub-menu {
  display: none;
}
.c-hdr__nav__lst li:hover .sub-menu {
  display: block;
}
.c-hdr__nav__lst li:has(.sub-menu) > a:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("../images/common/icon_arrow_down_blk.svg") no-repeat !important;
  background-size: 20px 20px;
  background-position: center;
  margin-left: 2px;
}
.c-hdr__nav__lst li:has(.sub-menu):hover a:after {
  transform: rotate(180deg);
}
.c-hdr__nav__lst li:has(.sub-menu):hover .sub-menu {
  display: block;
  position: absolute;
  top: 49px;
  left: 0;
  background: #fff;
  box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  width: 260px;
  overflow: hidden;
  z-index: 1001;
}
.c-hdr__nav__lst li:has(.sub-menu):hover .sub-menu a {
  padding: 12px 8px;
}
.c-hdr__nav__lst a {
  padding: 16px 8px;
  text-decoration: none;
  font-weight: bold;
  font-size: 12px;
  letter-spacing: -0.01em;
  color: #131313;
  display: flex;
  align-items: center;
  position: relative;
}
.c-hdr__nav__lst .cta a {
  background: #131313;
  color: #fff;
  border-radius: 64px;
  padding: 16px 24px;
  font-weight: bold;
}
.c-hdr__nav__lst .cta a:hover {
  background: #696969;
}
.c-hdr__nav .sub-menu {
  list-style: none;
  padding: 0;
}
.c-hdr__nav .sub-menu a:hover {
  background: #f4f4f4;
}
.c-hdr__cta {
  margin-left: auto;
}
.c-hdr__cta__btn {
  display: inline-block;
  padding: 16px 24px;
  font-weight: bold;
  text-decoration: none;
  color: #131313;
  border: 1px solid;
  border-radius: 32px;
  margin-left: 16px;
}
.c-hdr__cta__btn--primary {
  background: #131313;
  color: #fff;
}
.cta-banner {
  background: var(--color-blue-100);
}
.cta-banner__inr {
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: center;
}
.cta-banner__txt {
  color: #fff;
  padding: 64px;
}
.cta-banner__ttl {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
  margin-bottom: 16px;
}
.cta-banner__archivement {
  margin-bottom: 16px;
  max-width: 369px;
}
.cta-banner__img {
  height: 100%;
  img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}
.c-ftr {
  background: var(--color-gray-600);
}
.c-ftr__inr {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 0 0;
}
.c-ftr__main {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: 24px;
}
.c-ftr__logo img {
  max-width: 200px;
}
.c-ftr__logo__inr {
  color: #131313;
  text-decoration: none;
}
.c-ftr__logo .sns {
  list-style: none;
  margin-top: 24px;
  padding-left: 0;
}
.c-ftr__subcopy {
  font-size: 12px;
  font-weight: 700;
  display: block;
  margin-top: 4px;
}
.c-ftr__column__ttl {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 16px;
  color: #696969;
}
.c-ftr__nav__lst {
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}
.c-ftr__nav__lst .sub-menu {
  list-style: none;
  padding-left: 0;
  margin-top: 8px;
}
.c-ftr__nav__lst .sub-menu a {
  font-size: 14px;
  font-weight: bold;
  color: #696969;
  text-decoration: none;
  display: block;
  padding: 4px 0;
}
.c-ftr__nav__lst .sub-menu a:hover {
  text-decoration: underline;
}
.c-ftr__nav__lst a {
  font-size: 18px;
  font-weight: bold;
  color: #131313;
  text-decoration: none;
  display: block;
}
.c-ftr__nav__lst a:hover {
  text-decoration: underline;
}
.c-ftr__nav__lst__sub {
  display: flex;
  list-style: none;
  padding: 0;
}
.c-ftr__nav__lst__sub li + li {
  margin-left: 16px;
}
.c-ftr__nav__lst__sub a {
  color: #696969;
  text-decoration: none;
  font-size: 14px;
}
.c-ftr__sub {
  margin-top: 24px;
  padding: 16px 0;
  border-top: 1px solid #e8e8e8;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.c-ftr__copyright {
  margin-left: auto;
  font-size: 14px;
  color: #9b9b9b;
}
.cta-footer-above {
  background: url("../images/common/footer-above-cta-bg.png");
  background-size: cover;
}
.cta-footer-above__inr {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 0;
}
.cta-footer-above__ttl {
  color: #fff;
  font-size: 32px;
  text-align: center;
  margin-bottom: 1em;
}
.cta-footer-above__lst {
  margin-left: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  list-style: none;
  padding: 0;
}
.cta-footer-above__lst li {
  background: #fff;
  padding: 24px;
  text-align: center;
  border-radius: 16px;
}
.cta-footer-above__item__ttl {
  font-size: 24px;
  text-align: center;
}
.cta-footer-above__item__desc {
  font-size: 14px;
  text-align: center;
  margin: 16px 0;
}
.cta-footer-above__item__btn {
  display: inline-block;
  padding: 16px 24px;
  font-weight: bold;
  text-decoration: none;
  background: #131313;
  color: #fff;
  border: 1px solid;
  border-radius: 32px;
}

/* ===== Featured Article Slider Styles ===== */
.fv-article {
  position: relative;
  padding: 40px 0;
  background: var(--color-gray-600);
  margin-bottom: 48px;
}

.fv-article-swiper {
  position: relative;
  padding: 0 40px;
  /* JavaScript読み込み前の初期表示を整える */
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* JavaScript読み込み後に表示 */
.fv-article-swiper.swiper-initialized {
  opacity: 1;
}

.fv-article-swiper .swiper-slide {
  height: auto;
  /* 初期表示時のレイアウトを整える */
  display: flex;
  flex-direction: column;
}

/* JavaScript読み込み前の初期表示 */
.fv-article-swiper:not(.swiper-initialized) .swiper-slide {
  margin-right: 30px;
  flex-shrink: 0;
}

.fv-article-swiper:not(.swiper-initialized) {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.fv-article-swiper:not(.swiper-initialized) .swiper-slide {
  scroll-snap-align: start;
  min-width: calc(100% - 60px);
}

/* データ属性に基づく初期表示制御 */
.fv-article-swiper[data-swiper-initialized="false"] {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.fv-article-swiper[data-swiper-initialized="false"] .swiper-slide {
  scroll-snap-align: start;
  min-width: calc(100% - 60px);
  margin-right: 30px;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .fv-article-swiper:not(.swiper-initialized) .swiper-slide {
    min-width: calc(50% - 30px);
  }
}

@media screen and (min-width: 1024px) {
  .fv-article-swiper:not(.swiper-initialized) .swiper-slide {
    min-width: calc(40% - 30px);
  }
}

.fv-article__item {
  height: 100%;
  background: var(--color-white-100);
  border-radius: 24px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  padding: 8px;
}

.fv-article__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.fv-article__item a {
  color: var(--color-gray-100);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}

.fv-article__item__img {
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}

.fv-article__item__img img {
  width: 100%;
  aspect-ratio: 493 / 449;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.fv-article__item:hover .fv-article__item__img img {
  transform: scale(1.08);
}

.fv-article__item__txt {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--color-gray-100);
  margin: 0 8px 8px;
  border-radius: 8px;
}

.fv-article__item__ttl {
  font-size: 18px;
  font-weight: var(--font-weight-bold);
  margin-bottom: 12px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex-grow: 1;
}

.fv-article__item__date {
  font-size: 13px;
  color: var(--color-gray-300);
  margin-top: auto;
}

.fv-article__item__category {
  position: absolute;
  top: -8px;
  left: -8px;
  z-index: 1;
}

.fv-article__item__category ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.fv-article__item__category li {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: var(--font-weight-normal);
  background: var(--color-white-100);
  color: var(--color-gray-100);
  padding: 12px 24px;
  border-radius: 0 0 24px 0;
}
.fv-article__item__category .u-category-dot {
  display: inline-flex;
  align-items: center;
}

/* Swiper Navigation */
.fv-article .swiper-button-prev,
.fv-article .swiper-button-next {
  color: var(--color-white-100);
  background: var(--color-gray-100);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  top: 50%;
  transform: translateY(-50%);
}

.fv-article .swiper-button-prev {
  left: 10px;
}

.fv-article .swiper-button-next {
  right: 10px;
}

.fv-article .swiper-button-prev:hover,
.fv-article .swiper-button-next:hover {
  background: var(--color-gray-100);
  color: var(--color-white-100);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.fv-article .swiper-button-prev::after,
.fv-article .swiper-button-next::after {
  font-size: 16px;
}

/* Swiper Pagination */
.fv-article .swiper-pagination {
  position: absolute;
  left: 0;
  right: 0;
}

.fv-article .swiper-pagination-bullet {
  background: var(--color-gray-100) !important;
  opacity: 1;
  width: 8px;
  height: 8px;
  margin: 0 4px;
  transition: all 0.3s ease;
}

.fv-article .swiper-pagination-bullet-active {
  background: var(--color-gray-100);
  width: 24px;
  border-radius: 4px;
}

/* Container styles for proper slider alignment */
.fv-article .swiper {
  margin: 0 auto;
}

/* Grid layout fv-article__lst */
.fv-article__lst {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding: 0;
  list-style: none;
}
.fv-article__lst__item {
  border-bottom: 1px solid #e8e8e8;
}
.fv-article__lst__item a {
  color: #131313;
  text-decoration: none;
}
.fv-article__lst__item__img img {
  width: 100%;
  aspect-ratio: 16/10;
  -o-object-fit: cover;
     object-fit: cover;
}
.fv-article__lst__item__txt {
  padding: 24px;
}
.fv-article__lst__item__date {
  font-size: 14px;
  display: inline-block;
  margin-right: 16px;
  color: #696969;
}
.fv-article__lst__item__ttl {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}
.fv-article__lst__item__category {
  display: inline-block;
  color: #696969;
}
.fv-article__lst__item__category ul {
  padding: 0;
}
.fv-article__lst__item__category ul li {
  display: inline-block;
  font-size: 14px;
  padding-right: 8px;
}
.home {
  .container {
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 100%;
    padding: 0;
  }
}
.article-block-category {
  background: var(--color-gray-600);
  position: relative;
  & + .article-block-category {
    margin-top: 32px;
  }
  .article-block-header {
    padding: 0 32px;
    .inner {
      display: flex;
      align-items: flex-start;
      gap: 24px;
    }
    .article-block-tags {
      flex: 1;
      min-width: 0;
    }
    .article-block-header__ttl {
      flex-shrink: 0;
      white-space: nowrap;
      font-size: var(--font-size-2xl);
      font-weight: var(--font-weight-bold);
      position: relative;
      display: flex;
      align-items: center;
      gap: 8px;
      a {
        display: flex;
        align-items: center;
        gap: 8px;
        transition: var(--transition-default);
        color: var(--color-gray-100);
        text-decoration: none;
        &:after {
          content: '';
          display: inline-block;
          width: 32px;
          height: 32px;
          background: url("../images/common/icon-arrow-right-black.svg") no-repeat center center;
          background-size: 32px 32px;
          transition: var(--transition-default);
        }
        &:hover {
          &:after {
            transform: translateX(8px);
          }
        }
      }
    }
    .article-block-tags {
      display: flex;
      padding: 0;
      list-style: none;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 16px;
      .article-block-tags__item {
        display: inline-block;
        a {
          padding: 4px 12px;
          border: 1px solid var(--color-gray-400);
          border-radius: 40px;
          font-size: var(--font-size-sm);
          color: var(--color-gray-100);
          text-decoration: none;
          transition: var(--transition-default);
          &:hover {
            background: var(--color-gray-600);
          }
        }
      }
    }
  }
}
.article-block-body {
  .article-block-body__lst {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    list-style: none;
    padding: 32px;
    align-items: stretch;
  }
}
.article-block-body__item {
  & > a {
    padding: 8px;
    background: var(--color-white-100);
    border-radius: 16px;
    display: block;
    text-decoration: none;
    color: var(--color-gray-100);
    overflow: hidden;
    height: 100%;
    transition: var(--transition-default);
    &:hover {
      transform: translateY(-4px);
      box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    }
  }
  .article-block-body__item__img {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--border-radius-base);
    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: var(--border-radius-base);
    }
  }
  .article-block-body__item__txt {
    padding: 16px;
  }
  .article-block-body__item__category {
    margin-bottom: 8px;
    ul {
      padding: 0;
      list-style: none;
    }
    li {
      display: inline-block;
      font-size: var(--font-size-sm);
    }
  }
  .article-block-body__item__ttl {
    margin-bottom: 8px;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-sm);
  }
  .article-block-body__item__date {
    font-size: var(--font-size-sm);
    color: var(--color-gray-300);
  }
}
.article-block-footer {
  padding-bottom: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.container {
  display: grid;
  grid-template-columns: 774px 1fr;
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 0;
  position: relative;
  align-items: start;
}
.c-sec__ttl {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 16px;
}
.article-lst > ul {
  display: grid;
  gap: 32px;
  list-style: none;
  padding: 0;
}
.article-lst__item a {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 16px;
  text-decoration: none;
  color: #131313;
  align-items: flex-start;
}
.article-lst__item__img img {
  width: 200px;
  height: 133px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.article-lst__item__date {
  font-size: 14px;
  display: inline-block;
  margin-right: 16px;
  color: #696969;
}
.article-lst__item__ttl {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}
.article-lst__item__category {
  display: inline-block;
  color: #696969;
}
.article-lst__item__category ul {
  padding: 0;
}
.article-lst__item__category ul li {
  display: inline-block;
  font-size: 14px;
  padding-right: 8px;
}
.wp-pagenavi {
  padding: 24px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.wp-pagenavi .pages {
  border: 0;
}
.wp-pagenavi .page {
  border: 1px solid var(--color-gray-400);
  border-radius: 50%;
  color: var(--color-gray-100);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-pagenavi .current {
  background: var(--color-blue-100);
  color: var(--color-white-100);
  border-radius: 50%;
  border-color: var(--color-blue-100) !important;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  border: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-lg);
}
.wp-pagenavi .extend {
  border: 0;
}
.wp-pagenavi a {
  border-radius: 4px;
  border-color: #e8e8e8;
  color: #131313;
}
.c-page.download .c-page__inr {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.c-page.download .c-page__inr p {
  margin-top: 1em;
}
.c-page.download .c-page__inr h2 {
  font-size: 24px;
  margin-top: 1em;
  margin-bottom: 0.5em;
}
.c-page.download .c-page__inr ul {
  padding-left: 24px;
}
.c-page__inr .c-page__header__inr {
  padding: 0;
}
.c-page__inr .c-page__content {
  padding: 48px 32px;
}
.c-page__inr .c-page__form {
  padding: 24px;
  background: #f4f4f4;
}
.c-page__header {
  background: #f4f4f4;
}
.c-page__header__inr {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 0;
}
.c-page__ttl {
  font-size: 48px;
  font-weight: bold;
  text-align: center;
}
.c-page__subttl {
  font-size: 16px;
  font-weight: bold;
  display: block;
}
.c-page__content {
  max-width: 1200px;
  margin: 0 auto 40px;
  padding: 40px 0;
  background: var(--color-white-100);
  border-radius: 24px;
}
.c-page__content--narrow {
  max-width: 700px;
  margin: 0 auto 40px;
}
.c-page__content p {
  margin-bottom: 1em;
}
.c-page__content a {
  word-break: break-word;
  overflow-wrap: break-word;
}
.c-page__content ol {
  margin-top: 1em;
}
.c-page__content ol li {
  margin-bottom: 1em;
}
.c-page__content ul {
  margin-top: 1em;
}
.c-page__noitem {
  background: #f4f4f4;
  padding: 24px;
}
.c-page__bottom__nav {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 0;
  display: flex;
  justify-content: center;
}
.c-page__bottom__nav__item {
  flex: 1;
  padding: 32px 48px;
  background: #fff;
  border-radius: 16px;
  border: 2px solid;
  color: #131313;
  text-decoration: none;
  font-weight: bold;
}
.c-page__bottom__nav__item + .c-page__bottom__nav__item {
  margin-left: 24px;
}
.c-page__bottom__nav__item:hover {
  background: #131313;
  color: #fff;
}
.c-page__table tr {
  border-bottom: 1px solid #cfcfcf;
  font-size: 14px;
}
.c-page__table td {
  border: none;
  padding: 1rem;
}
.wpcf7-form {
  max-width: 600px;
  margin: 24px auto;
}
.wpcf7-form .form-item {
  margin-bottom: 24px;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px dotted #cfcfcf;
}
.wpcf7-form .form-item-label {
  font-size: 14px;
  font-weight: 700;
}
.wpcf7-form .form-item .wpcf7-form-control-wrap {
  margin-bottom: 8px;
  display: inline-block;
}
.wpcf7-form .form-item .required {
  color: red;
}
.wpcf7-form .form-item input, .wpcf7-form .form-item textarea, .wpcf7-form .form-item select {
  padding: 12px 8px;
  border-color: #cfcfcf;
  border-radius: 4px;
  border-width: 1px;
  width: 100%;
}
.wpcf7-form .form-item input.wpcf7-not-valid, .wpcf7-form .form-item textarea.wpcf7-not-valid, .wpcf7-form .form-item select.wpcf7-not-valid {
  border-color: red;
  background: #f9f1f1;
}
.wpcf7-form .form-item input[type=checkbox],
.wpcf7-form .form-item input[type=radio] {
  width: auto;
}
.wpcf7-form .form-item .note {
  font-size: 12px;
  margin-top: 8px;
}
.wpcf7-form ol {
  font-size: 14px;
  display: grid;
  gap: 8px;
}
.wpcf7-form .c-btn {
  width: 100%;
  margin-top: 24px;
}
.wpcf7-form .wpcf7-not-valid-tip {
  font-size: 12px;
  margin-top: 4px;
}
.single-post .wpcf7-form {
  max-width: 100%;
  margin: 24px auto;
}
h2.wp-block-heading {
  font-size: 24px;
  font-weight: bold;
  margin-top: 1em;
  margin-bottom: 0.5em;
}
.wide .wpcf7-list-item {
  display: block;
}
.wpcf7-list-item + .wpcf7-list-item {
  margin-top: 4px;
}
.c-post__inr {
  display: grid;
  grid-template-columns: 774px 1fr;
  gap: 48px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 0;
  position: relative;
  align-items: start;
}
.c-post__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
}
.c-post__meta__date > * {
  display: inline-block;
}
.c-post__meta__date + .c-post__meta__date {
  margin-left: 8px;
}
.c-post__thum {
  margin: 24px 0;
}
.c-post__thum img {
  margin-inline: auto;
  width: 100%;
}
.c-post__cat {
  margin-bottom: 4px;
  display: inline-block;
}
.c-post__cat .post-categories {
  list-style: none;
  padding: 0;
  margin-bottom: 16px;
}
.c-post__cat .post-categories li {
  display: inline-block;
}
.c-post__cat .post-categories a {
  font-size: var(--font-size-sm);
  padding: 8px 16px;
  text-decoration: none;
  color: var(--color-gray-100) !important;
}
.c-post__tags a {
  display: inline-block;
  margin-right: 5px;
  text-decoration: none;
  color: #131313 !important;
  border: 1px solid #9b9b9b;
  padding: 2px 8px;
  font-size: 14px !important;
  border-radius: 4px;
}
.c-post__related > ul {
  list-style: none;
  display: grid;
  gap: 32px;
  list-style: none;
  padding: 0;
}
.c-post__related__item a {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 16px;
  text-decoration: none;
  color: #131313 !important;
  align-items: flex-start;
}
.c-post__related__item__ttl {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
.c-post__related__item__date {
  font-size: 14px;
  display: inline-block;
  margin-right: 16px;
  color: #696969;
}
.c-post__related__item__ttl {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}
.c-post__related__item__ttl::before {
  display: none !important;
}
.c-post__related__item__category {
  display: inline-block;
  color: #696969;
  margin-bottom: 8px;
}
.c-post__related__item__category ul {
  padding: 0;
}
.c-post__related__item__category ul li {
  display: inline-block;
  font-size: 14px;
  padding-right: 8px;
  &.category-business-etiquette-and-workplace-culture {
    &::before {
      content: '';
      display: inline-block;
      width: 8px;
      height: 8px;
      margin-right: 4px;
      background: var(--color-purple-100);
      border-radius: 50%;
    }
  }
  &.category-visa-residency {
    &::before {
      content: '';
      display: inline-block;
      width: 8px;
      height: 8px;
      margin-right: 4px;
      background: var(--color-green-100);
      border-radius: 50%;
    }
  }
  &.category-lifestyle-support {
    &::before {
      content: '';
      display: inline-block;
      width: 8px;
      height: 8px;
      margin-right: 4px;
      background: var(--color-turquoise-100);
      border-radius: 50%;
    }
  }
  &.category-financial-and-mobile {
    &::before {
      content: '';
      display: inline-block;
      width: 8px;
      height: 8px;
      margin-right: 4px;
      background: var(--color-brown-100);
      border-radius: 50%;
    }
  }
  &.category-nihongo-study {
    &::before {
      content: '';
      display: inline-block;
      width: 8px;
      height: 8px;
      margin-right: 4px;
      background: var(--color-pink-100);
      border-radius: 50%;
    }
  }
}
.c-post__related__item img {
  width: 200px;
  height: 133px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.c-post__ad__msg {
  font-size: 14px;
  padding: 8px 16px;
  background: #f4f4f4;
  border-radius: 8px;
  margin-top: 16px;
  color: #696969;
}
.c-post__ads {
  margin: 24px 0;
  padding: 16px;
}
.c-post__ads.only-sp {
  display: none;
}
.c-post__ads.only-pc {
  display: block;
}
.c-post__ads li {
  list-style: none;
}
.c-post .wp-block-post-title {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.4;
}
.c-post .wp-block-post-date {
  font-size: 14px;
  color: #696969;
  margin-top: 16px;
}
.c-post .wp-block-image img {
  margin-inline: auto;
  height: auto !important;
}
.c-post .c-post__contents {
  background: var(--color-white-100);
  padding: 24px 32px;
  border-radius: 24px;
}
.c-post .c-post__contents h1 {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: 1rem;
  line-height: 1.3;
  color: var(--color-gray-100);
}
.c-post .c-post__contents h2 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  margin: 2.5em 0 1em;
  color: var(--color-gray-100);
  position: relative;
}
.c-post .c-post__contents h3 {
  font-size: var(--font-size-lg);
  font-weight: bold;
  margin: 1.5em 0 1em;
  padding: 1em 0;
  position: relative;
}
.c-post .c-post__contents h3:before {
  content: "";
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 1px;
  background: repeating-linear-gradient(90deg, #1662b5 0%, #1662b5 29.3%, rgba(150, 150, 150, 0.2) 29.3%, rgba(150, 150, 150, 0.2) 100%);
}
.c-post .c-post__contents h4 {
  font-size: 16px;
  font-weight: bold;
  margin: 1.5em 0 1em;
}
.c-post .c-post__contents h5 {
  font-size: 14px;
  font-weight: bold;
  margin: 1.5em 0 1em;
}
.c-post .c-post__contents p {
  font-size: 16px;
  line-height: 1.7;
  margin: 1em 0;
}
.c-post .c-post__contents a {
  color: #1662b5;
  word-break: break-all;
}
.c-post .news-detail__date {
  margin-top: 8px;
  font-size: 14px;
  font-family: "Avenir Next", sans-serif;
  color: #696969;
  font-style: normal;
}

.sns-share {
  margin-top: 40px;
}
.sns-share__inr {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 24px;
  align-items: center;
  padding: 24px 0;
  border-top: 2px solid #131313;
  border-bottom: 2px solid #131313;
}
.sns-share__ttl {
  font-size: 20px;
  font-weight: bold;
  font-family: "Avenir Next", sans-serif;
}
.sns-share__lst {
  padding: 0;
  list-style: none;
  display: flex;
}
.sns-share__item {
  margin-right: 16px;
}
.sns-share__item:last-child {
  margin-right: 0;
}
.c-post__related__ttl {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  margin: 2.5em 0 1em;
  color: var(--color-gray-100);
  position: relative;
  display: block;
}
.sidebar {
  position: sticky;
  top: 24px;
}
.sidebar .wpp-list li {
  display: flex;
  flex-wrap: wrap;
}
.sidebar ul {
  list-style: none;
  padding: 0;
}
.sidebar .widget_block {
  padding: 24px;
  background: var(--color-white-100);
  border-radius: 16px;
  margin-bottom: 24px;
}
.sidebar .widget_block h2 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
}
.sidebar .widget_block p {
  margin-bottom: 16px;
}
.sidebar .widget_block .c-btn {
  width: 100%;
  text-align: center;
}
.sidebar .widget_block .wpp-post-title {
  font-size: 16px;
  font-weight: 700;
  color: #131313;
  text-decoration: none;
  width: calc(100% - 91px);
}
.sidebar .widget_block .wpp-thumbnail {
  border-radius: 8px;
}
.sidebar .widget_block .wpp-list li:nth-of-type(1):before {
  content: "RANK 01";
  display: block;
  color: #b95;
  font-size: 14px;
  font-weight: 700;
  font-family: "Avenir Next", sans-serif;
  width: 100%;
}
.sidebar .widget_block .wpp-list li:nth-of-type(2):before {
  content: "RANK 02";
  display: block;
  color: #aaa;
  font-size: 14px;
  font-weight: 700;
  font-family: "Avenir Next", sans-serif;
  width: 100%;
}
.sidebar .widget_block .wpp-list li:nth-of-type(3):before {
  content: "RANK 03";
  display: block;
  color: #bb7455;
  font-size: 14px;
  font-weight: 700;
  font-family: "Avenir Next", sans-serif;
  width: 100%;
}
.sidebar .widget_block .wpp-list li:nth-of-type(4):before {
  content: "RANK 04";
  display: block;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  font-family: "Avenir Next", sans-serif;
  width: 100%;
}
.sidebar .widget_block .wpp-list li:nth-of-type(5):before {
  content: "RANK 05";
  display: block;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  font-family: "Avenir Next", sans-serif;
  width: 100%;
}
.sidebar .widget_block .wpp-list li:nth-of-type(6):before {
  content: "RANK 06";
  display: block;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  font-family: "Avenir Next", sans-serif;
  width: 100%;
}
.sidebar .widget_block .wpp-list li:nth-of-type(7):before {
  content: "RANK 07";
  display: block;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  font-family: "Avenir Next", sans-serif;
  width: 100%;
}
.sidebar .widget_block .wpp-list li:nth-of-type(8):before {
  content: "RANK 08";
  display: block;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  font-family: "Avenir Next", sans-serif;
  width: 100%;
}
.sidebar .widget_block .wpp-list li:nth-of-type(9):before {
  content: "RANK 09";
  display: block;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  font-family: "Avenir Next", sans-serif;
  width: 100%;
}
.sidebar .widget_block .wpp-list li:nth-of-type(10):before {
  content: "RANK 10";
  display: block;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  font-family: "Avenir Next", sans-serif;
  width: 100%;
}

.c-archive__inr {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0 40px;
  position: relative;
  align-items: start;
}
.c-archive__header {
  background: #f4f4f4;
}
.c-archive__header__inr {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 0;
}
.c-archive__ttl {
  font-size: 40px;
  font-weight: bold;
}
.c-archive__ttl__sub {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-100);
  margin-bottom: 8px;
}
.c-archive__lst {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  list-style: none;
  padding: 0;
  align-items: stretch;
}
.c-archive__lst__item a {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 16px;
  text-decoration: none;
  color: #131313;
  align-items: flex-start;
}
.c-archive__lst__item__img img {
  width: 200px;
  height: 133px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.c-archive__lst__item__date {
  font-size: 14px;
  display: inline-block;
  margin-right: 16px;
  color: #696969;
}
.c-archive__lst__item__ttl {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}
.c-archive__lst__item__category {
  display: inline-block;
  color: #696969;
}
.c-archive__lst__item__category ul {
  padding: 0;
}
.c-archive__lst__item__category ul li {
  display: inline-block;
  font-size: 14px;
  padding-right: 8px;
}


/* Responsive Design */
@media screen and (min-width: 1440px) {
  .cta-banner__ttl {
    font-size: var(--font-size-4xl);
  }
}
@media screen and (max-width: 1200px) {
  .c-breadcrumb__inr {
    padding: 16px 24px;
  }
  .c-hdr__logo {
    width: 140px;
  }
  .c-hdr__btn {
    display: block;
    margin-left: 0;
    margin-right: 16px;
  }
  .c-hdr__btn.open {
    display: block;
  }
  .c-hdr__nav {
    display: none;
  }
  .c-hdr__nav__lst {
    flex-direction: column;
  }
  .c-hdr__cta {
    font-size: 14px;
    padding: 12px 16px;
    display: none;
  }
  .cta-banner__ttl {
    font-size: var(--font-size-2xl);
    br {
      display: none;
    }
  }
  .c-ftr__inr {
    padding: 64px 24px;
  }
  .cta-footer-above__inr {
    padding: 80px 32px;
  }
  .container {
    padding: 40px 32px;
    grid-template-columns: 620px 1fr;
  }
  .c-page__header__inr {
    padding: 48px 32px;
  }
  .c-page__content {
    padding: 40px 32px;
  }
  .c-post__inr {
    padding: 40px 32px;
    grid-template-columns: 620px 1fr;
  }
  .c-archive__inr {
    padding: 40px 32px;
  }
  .c-archive__header__inr {
    padding: 48px 32px;
  }
}
@media screen and (max-width: 1024px) {
  .fv-article-swiper {
    padding: 0 20px;
  }
  .article-block-category  {
    .article-block-header {
      .article-block-header__ttl {
        font-size: var(--font-size-lg);
      }
    }
  }
  .article-block-body {
    .article-block-body__lst  {
      gap: 16px;
    }
  }
  .article-block-body__item {
    .article-block-body__item__ttl {
      font-size: var(--font-size-base);
    }
  }
  .article-block-footer {
    padding-bottom: 24px;
  }
  .c-btn {
    display: block;
    text-align: center;
  }
  .c-btn--arrow {
    display: flex;
  }
  .c-btn + .c-btn {
    margin-top: 16px;
    margin-left: 0;
  }
  .c-hdr__nav.open .c-hdr__nav__lst a {
    font-size: var(--font-size-xl);
  }
  .cta-banner__txt {
    padding: 40px;
  }
  .c-ftr__nav__lst .sub-menu a {
    font-size: 12px;
  }
  .c-ftr__nav__lst a {
    font-size: 14px;
  }
  .cta-footer-above__item__ttl {
    font-size: 20px;
  }
  .container {
    padding: 32px 24px;
    grid-template-columns: 480px 1fr;
  }
  .c-page__ttl {
    font-size: 40px;
  }
  .c-post__inr {
    padding: 32px 24px;
    grid-template-columns: 480px 1fr;
  }
  .c-post .c-post__contents h1 {
    font-size: 32px;
  }
  .c-archive__inr {
    padding: 32px 24px;
  }
  .c-archive__ttl {
    font-size: 40px;
  }
}

@media screen and (max-width: 768px) {
  .fv-article {
    padding: 30px 0;
  }
  
  .fv-article .swiper-button-prev,
  .fv-article .swiper-button-next {
    display: none;
  }
  
  .fv-article__item__ttl {
    font-size: 16px;
    -webkit-line-clamp: 2;
  }
  
  .fv-article__item__txt {
    padding: 16px;
  }
  
  .fv-article__item__category li {
    font-size: 11px;
    padding: 6px 16px;
  }
  .article-block-category  {
    .article-block-header {
      .article-block-header__ttl {
        gap: 0;
        white-space: wrap;
        flex-shrink: 1;
        a {
          gap: 0;
          &:after {
            content: '';
            display: inline-block;
            width: 20px;
            height: 20px;
            background: url(../images/common/icon-arrow-right-black.svg) no-repeat center center;
            background-size: 20px 20px;
            transition: var(--transition-default);
          }
        }
      }
    }
  }
  .only-sp {
    display: inline;
  }
  .only-pc {
    display: none;
  }
  .c-hdr__logo {
    width: 120px;
  }
  .c-hdr__search {
    display: none;
  }
  .c-hdr__search__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    width: 24px;
    height: 24px;
  }
  .c-hdr__search__bottom button {
    font-size: 12px;
  }
  .c-hdr__search input {
    max-width: 80px;
    padding: 4px 8px;
  }
  .c-hdr__search__bottom input {
    height: 44px;
  }
  .c-hdr__search button {
    padding: 4px 8px;
    font-size: 12px;
  }
  .c-hdr__btn {
    margin-left: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    &.open {
      display: flex;
    }
  }
  .c-hdr__nav.open .c-hdr__nav__lst a {
    border-bottom: 1px solid #e8e8e8;
    font-size: var(--font-size-base);
  }
  .c-hdr__nav__lst li:has(.sub-menu):hover .sub-menu {
    position: static;
    width: 100%;
    box-shadow: none;
    border-radius: 0px;
  }
  .c-hdr__nav__lst .cta a {
    margin-top: 24px;
    padding: 16px 24px !important;
    text-align: center;
    justify-content: center;
  }
  .cta-banner__inr {
    grid-template-columns: 1fr;
  }
  .cta-banner__txt {
    padding: 32px 20px;
  }
  .c-ftr__inr {
    padding: 48px 20px;
  }
  .c-ftr__main {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .c-ftr__logo {
    width: 100%;
  }
  .c-ftr__column {
    padding: 16px 0;
    border-bottom: 1px solid #e8e8e8;
  }
  .c-ftr__column__ttl {
    font-size: 12px;
  }
  .c-ftr__nav__lst {
    grid-template-columns: 1fr;
  }
  .c-ftr__nav__lst__sub {
    display: block;
  }
  .c-ftr__nav__lst__sub li + li {
    margin-left: 0;
    margin-top: 16px;
  }
  .c-ftr__sub {
    display: block;
    border-top: 0;
    margin-top: 0;
  }
  .c-ftr__copyright {
    margin-top: 32px;
  }
  .cta-footer-above__lst {
    grid-template-columns: 1fr;
  }
  .fv-article {
    .swiper-pagination {
      bottom: -12px !important;
    }
  }
  .fv-article__lst {
    grid-template-columns: 1fr;
  }
  .article-block-body {
    .article-block-body__lst  {
      padding: 16px 20px;
      grid-template-columns: 1fr;
    }
  }
  .article-block-category {
    .article-block-header {
      padding: 0 20px;
    }
  }
  .container {
    padding: 24px 20px;
    grid-template-columns: 1fr;
  }
  .c-sec__ttl {
    font-size: 24px;
  }
  .article-lst > ul {
    gap: 16px;
  }
  .article-lst__item a {
    grid-template-columns: 120px 1fr;
  }
  .article-lst__item__img img {
    width: 120px;
    height: 80px;
  }
  .article-lst__item__date {
    font-size: 12px;
  }
  .article-lst__item__ttl {
    font-size: 14px;
    margin-bottom: 0;
  }
  .article-lst__item__category ul li {
    font-size: 12px;
  }
  .c-page.download .c-page__inr {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .c-page__inr .c-page__content {
    padding: 48px 20px;
  }
  .c-page__header__inr {
    padding: 40px 20px;
  }
  .c-page__ttl {
    font-size: 28px;
  }
  .c-page__content {
    padding: 32px 20px;
  }
  .c-page__bottom__nav {
    display: block;
  }
  .c-page__bottom__nav__item {
    display: block;
    padding: 16px 24px;
  }
  .c-page__bottom__nav__item + .c-page__bottom__nav__item {
    margin-left: 0;
    margin-top: 24px;
  }
  .wpcf7-form .form-item {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .wpcf7-form .form-item-label {
    padding-top: 0;
  }
  h2.wp-block-heading {
    font-size: 20px;
  }
  .c-post__inr {
    padding: 0;
    display: block;
  }
  .c-post__meta {
    justify-content: space-between;
    margin-bottom: 8px;
    flex-wrap: wrap;
    gap: 8px 0;
  }
  .c-post__meta__date {
    width: 50%;
  }
  .c-post__thum {
    margin: 24px -20px;
  }
  .c-post__cat {
    margin-left: 0;
    margin-top: 0;
    display: block;
    width: 100%;
  }
  .c-post__cat .post-categories a {
    font-size: 12px;
    display: inline-flex;
    gap: 4px;
    align-items: center;
    padding: 0;
  }
  .c-post__related {
    margin-bottom: 32px;
  }
  .c-post__related__item a {
    grid-template-columns: 120px 1fr;
  }
  .c-post__related__item__ttl {
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin: 0 0 4px !important;
  }
  .c-post__related__item__date {
    font-size: 12px;
  }
  .c-post__related__item__category ul li {
    font-size: 12px;
  }
  .c-post__related__item img {
    width: 120px;
    height: 80px;
  }
  .c-post__ad__msg {
    font-size: 12px;
  }
  .c-post__ads.only-sp {
    display: block;
  }
  .c-post__ads.only-pc {
    display: none;
  }
  .c-post .c-post__contents {
    border-radius: 0;
    padding: 24px 20px;
  }
  .c-post .c-post__contents h1 {
    font-size: 24px;
  }
  .c-post .c-post__contents h2 {
    font-size: 20px;
  }
  .c-post .c-post__contents h3 {
    font-size: 18px;
  }
  .sns-share__inr {
    grid-template-columns: 60px 1fr;
    gap: 16px;
  }
  .sns-share__ttl {
    font-size: 16px;
  }
  .c-post__related__ttl {
    font-size: 20px;
  }
  .sidebar {
    position: static;
    margin-top: 24px;
  }
  .sidebar .widget_block  {
    border-radius: 0;
  }
  .c-archive__inr {
    padding: 0 20px 24px;
    display: block;
  }
  .c-archive__header__inr {
    padding: 40px 20px;
  }
  .c-archive__ttl {
    font-size: 32px;
  }
  .c-archive__content {
    margin-bottom: 32px;
  }
  .c-archive__lst {
    gap: 16px;
    grid-template-columns: 1fr;
  }
  .c-archive__lst__item a {
    grid-template-columns: 120px 1fr;
  }
  .c-archive__lst__item__img img {
    width: 120px;
    height: 80px;
  }
  .c-archive__lst__item__date {
    font-size: 12px;
  }
  .c-archive__lst__item__ttl {
    font-size: 14px;
    margin-bottom: 0;
  }
  .c-archive__lst__item__category ul li {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  .fv-article {
    padding: 20px;
  }
  
  .fv-article-swiper {
    padding: 0 16px;
  }
  
  .fv-article__item__ttl {
    font-size: 14px;
  }
  
  .fv-article__item__txt {
    padding: 12px;
  }
  
  .fv-article__item__date {
    font-size: 12px;
  }
}