@charset "UTF-8";
/*
	Theme Name: 地域色彩オリジナルテーマ ver2
	Version: 2.0.0
	Author: Le-in.Inc
*/
/* 『style.scss』：全ページ共通クラス用Scssファイル
===================================================
**「ファイル概要」
・全体のCSS設計や、全ページに共通して登場するクラスへの割り当てを行います。
	※ヘッダー、フッター、下層ページの冒頭など
**
====================================================== */
/* クラス名について
===================================================
・クラス名命名規則は基本的にBEM（Block Element Modifier）を採用しています。
・クラス名は接頭語をわかりやすいそのセクションの意味を表現する単語とし、以降はそのセクションの構造的意味合いの単語とします。
	※TOPページに登場するクラス名のみ、すべてのクラス名の冒頭に"front"を付与しています。例えばトップページと下層ページで同じ系統の記事一覧を表示する場合でも、レイアウトが異なる場合があるからです。
・シングルクラス方式を採用しています。1つのタグに対して付与するクラス名は原則1つとしていますが、状況に応じて複数付与する場合もあります。
	※例：同様の並びの兄弟要素の末尾要素のみ、間隔を広げるために末尾の要素に2つ目のクラスを付与するなど。
====================================================== */
/* ブレイクポイント
===================================================
**
	768pxまではPCサイズ、767px以下はスマホサイズで切り替える
	・（max-width:1339px）
	・（max-width:767px）
**
==================================================== */
.bp-sp_i, .bp-sp_ib, .bp-sp_b {
  display: none;
}

@media screen and (max-width: 767px) {
  .bp-pc {
    display: none;
  }
  .bp-sp_i {
    display: inline;
  }
  .bp-sp_ib {
    display: inline-block;
  }
  .bp-sp_b {
    display: block;
  }
}
/* 『基本要素のCSSリセット』
===================================================
	**
	『リセット設計趣旨』
	”ブラウザ毎のデフォルト設定をリセット”。
	余白関係：0にする
	リストスタイルの余白無し、接頭マーク無し
	画像ファイル：親要素の幅を超えない幅
	画像の下の空白を埋めるようにする
	**
==================================================== */
/* マージン初期化&ボックスサイジング */
body, h1, h2, h3, h4, h5, h6, p, div,
figure, ul, ol, li, dl, dt, dd,
article, a, span, nav, section {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* リストスタイルのリセット */
ul, ol {
  list-style: none;
  padding-left: 0;
}

/* 画像ファイル：幅を大きく */
img,
video {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* リンクテキスト */
a {
  text-decoration: none;
  color: inherit;
}

a[href*="tel:"] {
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  a[href*="tel:"] {
    pointer-events: auto;
  }
}
/* 『フォーム部品のCSSリセット』
===================================================
	**
	『リセット設計趣旨』
	ブラウザ毎のデフォルト設定をリセット。
	・文字色とフォント：body要素を引き継ぐようにする
	・余白関係：0にする
	・枠線：無しにする
	・背景色：無しにする
	**
==================================================== */
/* 初期形状のリセット */
input:not([type=radio]),
select,
button,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-family: inherit;
  color: inherit;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: 0;
  background: none;
}

/* マウスオンでカーソル表示 */
input[type=submit],
input[type=button],
button {
  cursor: pointer;
}

/* 連絡先タグの文字スタイル */
address {
  font-style: normal;
}

/* テーブルタグのスタイル */
table {
  border-collapse: collapse;
  width: 100%;
}

/* フィールドセットタグのスタイル */
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  padding: 0;
}

/* ===================================================
	※※本サイトの採用フォントについて※※
	Google Fontより採用
	- 通常フォント：Noto Sans JP
	- 英字フォント：Bebas Neue
	- 数字フォント：Inter
==================================================== */
/* ===================================================
	基本要素のCSS設定
==================================================== */
html {
  font-size: 62.5%;
}

body {
  font: 500 1.5rem/1.3157894737 "Noto Sans JP", sans-serif;
  color: #000;
  scroll-behavior: auto;
  --bg-color: #f5f3f0;
  background-color: var(--bg-color);
}
body.fixed {
  position: fixed;
  top: 0;
  width: 100%;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1.2rem;
  }
}
/* 『フォーム部品CSS』
==================================================== */
/* テキスト */
input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=password],
textarea {
  padding: 1.3em 1em;
  background-color: #f2f0f0;
  border: 1px solid #f2f0f0;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  color: inherit;
  border-radius: 8px;
}

input[type=text]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=number]::-moz-placeholder, textarea::-moz-placeholder {
  color: #999;
}

input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
input[type=number]::placeholder,
textarea::placeholder {
  color: #999;
}

textarea {
  resize: vertical;
}

select {
  border: 1px solid #f2f0f0;
  padding: 1.3em 1em;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  color: inherit;
  border-radius: 8px;
  background: top 50% right 20px/15px 8px url(./assets/img/icon-arrow09.png) no-repeat;
  cursor: pointer;
}

input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=number]:focus,
select:focus-visible,
input[type=checkbox]:focus,
textarea:focus {
  border-color: #97c6ff;
  background-color: #fff;
}

/* 送信ボタン */
input[type=submit],
button {
  text-align: center;
  color: inherit;
  font-weight: inherit;
  font-family: inherit;
  font-size: 1.6rem;
}

input[type=submit]:hover {
  opacity: 0.7;
}

input[type=checkbox] {
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #e0e0e0;
  background-color: #f2f0f0;
  position: relative;
}

input[type=checkbox]::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 40%;
  width: 60%;
  height: 32%;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
  opacity: 0;
}

input[type=checkbox]:checked {
  background-color: #fff;
}

input[type=checkbox]:checked::after {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  input[type=text],
  input[type=tel],
  input[type=email],
  textarea {
    padding: 0.5em;
    font-size: 1.6rem;
    border-radius: 5px;
  }
  select {
    padding: 0.5em 1em;
    font-size: 1.6rem;
    border-radius: 5px;
    background-size: 15px 8px;
    background-position-x: right 10px;
  }
  input[type=checkbox]:focus {
    border-color: #f2f0f0;
  }
}
/* ===================================================
	コンテナ（サイトコンテンツ幅）
==================================================== */
.container {
  max-width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 1339px) {
  .container {
    max-width: 680px;
  }
}
@media screen and (max-width: 767px) {
  .container {
    padding: 0 20px;
  }
}
/* ===================================================
	ヘッダー
==================================================== */
.global-header {
  position: relative;
}
.global-header-container {
  display: flex;
  justify-content: space-between;
}
.global-header-logo {
  position: absolute;
  top: 34px;
  left: 50px;
  z-index: 100;
  width: 253px;
  transition: opacity 300ms;
}
.global-header-logo img {
  width: 100%;
}
.global-header-logo:hover {
  opacity: 0.6;
}
.global-header-navigation-wrap {
  position: absolute;
  top: 42px;
  right: 50px;
  z-index: 100;
}
.global-header-navigation {
  padding: 6px 6px 6px 42px;
  border-radius: 9999px;
  background-color: #fff;
  display: flex;
  align-items: center;
  gap: 0 1.5em;
  font: 700 1.5rem/1 "Zen Maru Gothic", sans-serif;
}
.global-header-menu {
  display: flex;
  align-items: center;
  gap: 0 1.5em;
  font: 700 1.5rem/1 "Zen Maru Gothic", sans-serif;
  text-align: center;
}
.global-header-menu-item br {
  display: none;
}
.global-header-menu-item a {
  transition: opacity 300ms;
  display: block;
  padding: 0.4em 0.5em;
}
.global-header-menu-item a:hover {
  opacity: 0.6;
}
.global-header-menu-search-button {
  display: inline-block;
  border-radius: 50%;
  transition: opacity 300ms;
  cursor: pointer;
  overflow: hidden;
}
.global-header-menu-search-button:hover {
  opacity: 0.6;
}
.global-header-subpage {
  position: fixed;
  top: 0;
  left: 48px;
  right: 48px;
  z-index: 100;
}
.home .global-header-subpage {
  transform: translateY(-75px);
}
.global-header-subpage.show {
  transform: translateY(0px);
}
.global-header-subpage.transition {
  transition: transform 500ms;
}
.global-header-subpage-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 8px 9px 33px;
  background-color: #fff;
  border-radius: 0 0 30px 30px;
}
.global-header-subpage-logo {
  width: 271px;
  transition: opacity 300ms;
}
.global-header-subpage-logo img {
  width: 100%;
}
.global-header-subpage-logo:hover {
  opacity: 0.6;
}
.global-header-hamburger {
  display: none;
}
.global-header-menu-hamburger-button {
  display: inline-block;
  border-radius: 50%;
  transition: background-color 300ms;
  cursor: pointer;
  overflow: hidden;
}
.global-header-menu-hamburger-button:hover {
  background-color: #d0d0d0;
}

@media screen and (max-width: 1339px) {
  .global-header-logo {
    width: 143px;
  }
  .home .global-header-subpage {
    position: fixed;
  }
  .global-header-navigation {
    padding: 6px 6px 6px 12px;
    gap: 0 1em;
  }
  .global-header-menu {
    gap: 0 0.5em;
  }
  .global-header-menu-item br {
    display: inline;
  }
}
@media screen and (max-width: 949px) {
  .global-header-subpage {
    left: 0;
    right: 0;
  }
  .global-header-subpage-navigation-wrap {
    top: 9px;
    right: 8px;
    z-index: 100;
  }
  .global-header-subpage-container {
    box-sizing: content-box;
    height: 57px;
  }
  .global-header-menu {
    display: none;
  }
  .global-header-hamburger {
    display: block;
  }
  .global-header-menu-item br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .global-header-logo {
    top: 17px;
    left: 20px;
    width: 112px;
  }
  .global-header-logo:hover {
    opacity: 1;
  }
  .global-header-subpage-navigation-wrap {
    position: fixed;
    top: 6px;
    right: 6px;
    z-index: 100;
  }
  .global-header-navigation-wrap {
    top: 17px;
    right: 20px;
  }
  .global-header-navigation {
    padding: 0;
    gap: 0 10px;
    background-color: transparent;
  }
  .global-header-subpage-container {
    padding: 6px 6px 6px 15px;
    border-radius: 0 0 22.2px 22.2px;
    box-sizing: border-box;
    height: 48px;
  }
  .global-header-subpage-logo {
    width: 204px;
    transition: initial;
  }
  .global-header-subpage-logo:hover {
    opacity: 1;
  }
  .global-header-menu-search-button, .global-header-menu-hamburger-button {
    width: 35px;
  }
  .global-header-menu-search-button {
    transition: initial;
    cursor: initial;
  }
  .global-header-menu-search-button:hover {
    opacity: 1;
  }
  .global-header-menu-hamburger-button {
    transition: initial;
    cursor: initial;
  }
  .global-header-menu-hamburger-button:hover {
    background-color: #fff;
  }
}
/* ===================================================
	ヘッダー（SP版）
==================================================== */
.global-header-sp {
  display: none;
}
.global-header-sp-navigation {
  position: fixed;
  left: 0;
  top: 0;
  z-index: -100;
  width: 100%;
  height: 100%;
  background-color: var(--bg-color);
  container-type: inline-size;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  transition: opacity 300ms, visibility 0ms 300ms, z-index 0ms 300ms;
}
.global-header-sp-navigation.open {
  z-index: 150;
  opacity: 1;
  visibility: visible;
  transition: opacity 300ms, visibility 0ms, z-index 0ms;
}
.global-header-sp-content {
  padding: 35.8974358974cqi 5.1282051282cqi 10.2564102564cqi;
}
.global-header-sp-logo {
  position: fixed;
  top: 1.6927083333cqi;
  left: 2.6041666667cqi;
  width: 16.9270833333cqi;
}
.global-header-sp-logo img {
  width: 100%;
}
.global-header-sp-close-button {
  position: fixed;
  top: 1.6927083333cqi;
  right: 2.6041666667cqi;
  width: 5.7291666667cqi;
  aspect-ratio: 1/1;
}
.global-header-sp-close-button img {
  width: 100%;
}
.global-header-sp-main-menu-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5em 1em;
  font: 700 3.125cqi/1.2 "Zen Maru Gothic", sans-serif;
}
.global-header-sp-sub-menu {
  margin-top: 10.2564102564cqi;
}
.global-header-sp-sub-menu-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.75em;
  font: 500 2.6041666667cqi/1.2 "Zen Maru Gothic", sans-serif;
  color: gray;
}
.global-header-sp-banner {
  margin-top: 12.8205128205cqi;
}
.global-header-sp-banner-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 2.3076923077cqi;
}
.global-header-sp-banner-item {
  max-width: 50%;
  width: 100%;
}
.global-header-sp-banner-item-image {
  border-radius: 2.5641025641cqi;
  overflow: hidden;
}
.global-header-sp-banner-item-image img {
  width: 100%;
  height: auto;
}
.global-header-sp-sns {
  position: relative;
  padding-bottom: 7.6923076923cqi;
  text-align: center;
}
.global-header-sp-sns-block {
  border: 5.1282051282cqi solid var(--bg-color);
  padding: 4.6153846154cqi 5.641025641cqi;
  border-radius: 9999px;
  background-color: #fff;
  display: inline-block;
}
.global-header-sp-sns-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 6.1538461538cqi;
}
.global-header-sp-sns-item {
  padding: 1.0256410256cqi;
  box-sizing: content-box;
  width: 6.9230769231cqi;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.global-header-sp-sns-item img {
  width: calc(100% * var(--icon-width) / 27);
}
.global-header-sp-bg-curve {
  position: absolute;
  top: 10.2564102564cqi;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.global-header-sp-bg-curve {
  background-color: #bd2214;
  clip-path: ellipse(110% 100% at 50% 100%);
}
.global-header-sp-footer-logo-wrap {
  margin-top: 12.8205128205cqi;
  text-align: center;
}
.global-header-sp-footer-logo {
  display: inline-block;
  width: 16.6666666667cqi;
}
.global-header-sp-copyrights {
  margin-top: 6.4102564103cqi;
  text-align: center;
  font-weight: 400;
  font-size: 1.5384615385cqi;
  line-height: 1;
  color: #fff;
}

@media screen and (max-width: 949px) {
  .global-header-sp {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .global-header-sp-logo {
    top: min(17px, 4.358974359cqi);
    left: min(20px, 5.1282051282cqi);
    width: min(112px, 28.7179487179cqi);
  }
  .global-header-sp-close-button {
    top: min(17px, 4.358974359cqi);
    right: min(20px, 5.1282051282cqi);
    width: min(35px, 8.9743589744cqi);
  }
  .global-header-sp-main-menu-list {
    font-size: 4.8717948718cqi;
  }
  .global-header-sp-sub-menu-list {
    font-size: 3.3333333333cqi;
  }
}
/* ===================================================
	フッター
==================================================== */
.global-footer {
  padding: 0 0 20px;
  position: relative;
}
.global-footer-bg-curve {
  position: absolute;
  top: 97px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.global-footer-bg-curve.center {
  background-color: #bd2214;
  clip-path: ellipse(75% 100% at 50% 100%);
}
.global-footer-bg-curve.left {
  background-color: #e5e7e3;
  clip-path: ellipse(75% 100% at -10% 100%);
}
.global-footer-bg-curve.right {
  background-color: #f2e4c7;
  clip-path: ellipse(75% 100% at 110% 100%);
}
.global-footer-inner {
  container-type: inline-size;
  max-width: 734px;
  margin: 0 auto;
}
.global-footer-sns-block-wrap {
  text-align: center;
}
.global-footer-sns-block {
  display: inline-block;
  background-color: var(--bg-color);
  padding: 5.4495912807cqi;
  border-radius: 9999px;
}
.global-footer-sns-block-container {
  padding: 6.5395095368cqi;
  background-color: #fff;
  border-radius: 9999px;
  display: inline-block;
}
.global-footer-sns-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 8.446866485cqi;
}
.global-footer-sns-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  aspect-ratio: 1/1;
  transition: opacity 300ms;
  flex-basis: 8.446866485cqi;
}
.global-footer-sns-item .icon {
  width: calc(100% * var(--icon-width) / 62);
}
.global-footer-sns-item:hover {
  opacity: 0.6;
}
.global-footer-navigation, .global-footer-submenu-wrap, .global-footer-copyrights {
  color: #fff;
}
.global-footer-navigation {
  margin-top: 50px;
}
.global-footer-menu-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1em 3em;
  font-size: 1.6rem;
  font-family: "Zen Maru Gothic", sans-serif;
}
.global-footer-submenu-wrap {
  margin-top: 50px;
}
.global-footer-submenu-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  gap: 1.5em 3em;
  font-size: 1.4rem;
  font-family: "Zen Maru Gothic", sans-serif;
}
.global-footer-logo-wrapper {
  margin-top: 72px;
}
.global-footer-logo {
  text-align: center;
}
.global-footer-logo a {
  display: inline-block;
  transition: opacity 300ms;
  width: var(--icon-width) px;
}
.global-footer-logo a:hover {
  opacity: 0.6;
}
.global-footer-copyrights {
  margin-top: 60px;
  font-weight: 400;
  font-size: 1.4rem;
  text-align: center;
}

@media screen and (max-width: 1339px) {
  .global-footer-inner {
    max-width: 560px;
  }
  .global-footer-bg-curve {
    top: 68px;
  }
}
@media screen and (max-width: 767px) {
  .global-footer-bg-curve {
    top: 12.3076923077cqi;
  }
  .global-footer-bg-curve.center {
    clip-path: ellipse(120% 100% at 50% 100%);
  }
  .global-footer-bg-curve.left {
    clip-path: ellipse(90% 100% at -25% 100%);
  }
  .global-footer-bg-curve.right {
    clip-path: ellipse(90% 100% at 125% 100%);
  }
  .global-footer-sns-block-container {
    padding: 4.6153846154cqi;
    width: 73.8461538462cqi;
  }
  .global-footer-sns-list {
    gap: 0 8.2051282051cqi;
  }
  .global-footer-sns-item {
    transition: initial;
    flex-basis: 6.9230769231cqi;
  }
  .global-footer-sns-item:hover {
    opacity: 1;
  }
  .global-footer-navigation {
    margin-top: 6.6666666667cqi;
  }
  .global-footer-menu-list {
    margin: 0 auto;
    max-width: 64.1025641026cqi;
    gap: 0.75em 1.5em;
    font-size: 3.0769230769cqi;
  }
  .global-footer-submenu-wrap {
    margin-top: 7.6923076923cqi;
  }
  .global-footer-submenu-list {
    margin: 0 auto;
    gap: 1.25em 1.5em;
    font-size: 2.5641025641cqi;
  }
  .global-footer-logo-wrapper {
    margin-top: 7.9487179487cqi;
  }
  .global-footer-logo a {
    width: 16.6666666667cqi;
    transition: initial;
  }
  .global-footer-logo a:hover {
    opacity: 1;
  }
  .global-footer-copyrights {
    margin-top: 6.6666666667cqi;
    font-size: 1.5615384615cqi;
  }
}
/* ===================================================
	セクションヘッダー
==================================================== */
.section-header {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  line-height: 1;
}
.section-title {
  font-weight: inherit;
  font-size: 1.6rem;
  color: inherit;
}
.section-entitle {
  font-weight: inherit;
  font-size: 5.5rem;
  color: #666;
}
.section-header.white .section-title, .section-header.white .section-entitle {
  color: #fff;
}
.section-header.black .section-title, .section-header.black .section-entitle {
  color: #000;
}
.section-title + .section-entitle {
  margin-top: 0.35em;
}

@media screen and (max-width: 767px) {
  .section-title {
    font-size: 0.8rem;
  }
  .section-entitle {
    font-size: 2.6rem;
  }
}
/* ===================================================
	リンクボタン
==================================================== */
.link-button-wrap {
  display: inline-block;
  width: 118px;
}
.link-button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 1em 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  padding-top: 6%;
  border-radius: 50%;
  border-style: solid;
  border-width: 2px;
  border: 2px solid var(--base-color);
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "Zen Maru Gothic", sans-serif;
  color: var(--base-color);
  transition: color 300ms, background-color 300ms;
  text-decoration: none !important;
}
.link-button:not([href]) {
  cursor: pointer;
}
.link-button::after {
  content: "";
  display: inline-block;
  width: 18.4px;
  height: auto;
  aspect-ratio: 18.4/14.9;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.link-button.gray {
  --base-color: #666;
  --hover-color: #fff;
  --hover-arrow: url(./assets/img/icon-arrow02.png);
}
.link-button.white {
  --base-color: #fff;
  --hover-color: #000;
  --hover-arrow: url(./assets/img/icon-arrow03.png);
}
.link-button.black {
  --base-color: #000;
  --hover-color: #fff;
  --hover-arrow: url(./assets/img/icon-arrow02.png);
  background-color: #fff;
  border-color: transparent;
}
.link-button.gray::after {
  --hover-arrow: url(./assets/img/icon-arrow02.png);
  background-image: url(./assets/img/icon-arrow01.png);
}
.link-button.white::after {
  --hover-arrow: url(./assets/img/icon-arrow03.png);
  background-image: url(./assets/img/icon-arrow02.png);
}
.link-button.black::after {
  --hover-arrow: url(./assets/img/icon-arrow02.png);
  background-image: url(./assets/img/icon-arrow03.png);
}
.link-button:hover {
  color: var(--hover-color);
  background-color: var(--base-color);
}
.link-button:hover::after {
  background-image: var(--hover-arrow);
}
.link-button.icon-plus::after {
  background-image: url(./assets/img/icon-plus02.png);
  width: 16px;
  height: auto;
  aspect-ratio: 1/1;
}
.link-button.icon-plus:hover::after {
  background-image: url(./assets/img/icon-plus03.png);
}

@media screen and (max-width: 949px) {
  .link-button-wrap {
    width: 80px;
  }
  .link-button {
    font-size: 1.2rem;
  }
  .link-button::after {
    width: 12px;
  }
}
@media screen and (max-width: 767px) {
  .link-button-wrap {
    width: 51px;
  }
  .link-button {
    padding-top: 0;
    font-size: 1.2rem;
    gap: 0.5em 0;
  }
  .link-button:hover {
    color: var(--base-color);
    background-color: transparent;
  }
  .link-button::after {
    width: 9px;
  }
  .link-button.gray::after {
    --hover-arrow: url(./assets/img/icon-arrow02-sp.png);
    background-image: url(./assets/img/icon-arrow01-sp.png);
  }
  .link-button.white::after {
    --hover-arrow: url(./assets/img/icon-arrow03-sp.png);
    background-image: url(./assets/img/icon-arrow02-sp.png);
  }
  .link-button.black:hover {
    background-color: #fff;
  }
  .link-button.black::after {
    --hover-arrow: url(./assets/img/icon-arrow02-sp.png);
    background-image: url(./assets/img/icon-arrow03-sp.png);
  }
  .link-button.icon-plus::after {
    background-image: url(./assets/img/icon-plus02.png);
  }
  .link-button.icon-plus:hover::after {
    background-image: url(./assets/img/icon-plus02.png);
  }
}
/* ===================================================
	パンくずリスト
==================================================== */
.breadcrumb-section {
  background-color: var(--bg-color);
  position: relative;
}
.breadcrumb-container {
  margin: 0 auto;
  max-width: 900px;
  padding: 0 30px;
  box-sizing: content-box;
}
.breadcrumb-inner {
  padding: 94px 0 24px;
}
.breadcrumb-bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  display: flex;
  padding-right: 51px;
  transform: translateY(50%);
}
.breadcrumb-bottom-line {
  flex-grow: 1;
  flex-shrink: 1;
  background: center/contain url(./assets/img/knot-red-line.png) repeat-x;
}
.breadcrumb-bottom-knot {
  flex-grow: 0;
  flex-shrink: 0;
  width: 24px;
  height: 27px;
  background: center/contain url(./assets/img/knot-red-end.png) no-repeat;
}
.breadcrumb-list {
  display: flex;
  align-items: center;
  font: 500 1.2rem/1.2 "Zen Maru Gothic", sans-serif;
  color: gray;
  gap: 0.5em 1.5em;
  height: 1.2em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.breadcrumb-item:last-child {
  flex-grow: 1;
  flex-shrink: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.breadcrumb-item:not(:last-child) {
  position: relative;
}
.breadcrumb-item:not(:last-child)::before {
  content: ">";
  position: absolute;
  top: 0;
  right: -1.1em;
}
.breadcrumb-item a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .breadcrumb-inner {
    padding: 58px 0 12px;
  }
  .breadcrumb-list {
    font-size: 0.8rem;
    gap: 0.5em 1.5em;
  }
  .breadcrumb-bottom {
    padding-right: 22px;
  }
  .breadcrumb-bottom-knot {
    width: 10px;
    height: 11px;
  }
}
/* ===================================================
	下層ページトップ
==================================================== */
.subpage-top-section {
  background: linear-gradient(37deg, #fff 0%, #fff, 90%, rgba(218, 28, 15, 0.2) 95%, rgba(218, 28, 15, 0.5) 100%);
}
.subpage-top-inner {
  box-sizing: content-box;
  padding: 48px 0 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  text-align: center;
}
.subpage-top-title {
  font: 700 3.1rem/1.5 "Zen Maru Gothic", sans-serif;
}
.subpage-top-subtitle {
  font-size: 75%;
}
.subpage-top-description {
  margin-top: 2em;
  font-size: 1.7rem;
  letter-spacing: 0.08em;
  line-height: 1.8823529412;
}
.subpage-top-categories-modal-block {
  margin-top: 50px;
}
.subpage-top-current-word {
  margin-top: 1.5em;
  font: 700 2rem/1 "Zen Maru Gothic", sans-serif;
}
.subpage-top-current-word .emphasis {
  font-size: 120%;
  color: #d2190c;
}

@media screen and (max-width: 949px) {
  .subpage-top-title {
    font-size: 2.8rem;
  }
  .subpage-top-description {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .subpage-top-inner {
    padding: 22px 20px 42px;
  }
  .subpage-top-title {
    font-size: 1.7rem;
  }
  .subpage-top-description {
    margin-top: 1em;
    font-size: 1rem;
    line-height: 1.7777777778;
  }
  .subpage-top-categories-modal-block {
    margin-top: 24px;
  }
  .subpage-top-current-word {
    font-size: 1.6rem;
  }
}
/* ===================================================
	記事の検索窓周辺
==================================================== */
.search-posts-header-modal {
  position: fixed;
  top: 38px;
  right: 46px;
  left: 46px;
  z-index: -100;
  visibility: hidden;
  opacity: 0;
  transition: opacity 300ms, visibility 0ms 300ms, z-index 0ms 300ms;
}
.search-posts-header-modal.open {
  z-index: 200;
  visibility: visible;
  opacity: 1;
  transition: opacity 300ms, visibility 0ms, z-index 0ms;
}
.search-posts-header-modal-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  z-index: -100;
  visibility: hidden;
  transition: opacity 300ms, visibility 0ms 300ms, z-index 0ms 300ms;
}
.search-posts-header-modal-bg.open {
  opacity: 1;
  z-index: -1;
  visibility: visible;
  transition: opacity 300ms, visibility 0ms, z-index 0ms;
}
.search-posts-header-modal-inner {
  position: relative;
  background-color: var(--bg-color);
  border-radius: 30px;
  padding: 40px;
}
.search-posts-header-modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  border-radius: 50%;
  transition: opacity 300ms;
  cursor: pointer;
}
.search-posts-header-modal-close:hover {
  opacity: 0.6;
}
.search-posts-header-modal-content {
  background-color: #fff;
}
.search-posts-header-modal-freeword-input-form {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 2em;
  padding: 8px 8px 8px 7.6em;
  border-radius: 9999px;
  position: relative;
  z-index: 11;
}
.search-posts-header-modal-freeword-input-form input {
  padding: 0;
  background-color: transparent;
  color: #fff;
  width: 20em;
  border: 0;
}
.search-posts-header-modal-freeword-input-form input:focus {
  background-color: transparent;
  outline: none;
}
.search-posts-header-modal-freeword-input-form input::-moz-placeholder {
  font-weight: 900;
  color: rgba(255, 255, 255, 0.7);
}
.search-posts-header-modal-freeword-input-form input::placeholder {
  font-weight: 900;
  color: rgba(255, 255, 255, 0.7);
}
.search-posts-header-modal-freeword-input-form button {
  border-radius: 9999px;
  overflow-inline: hidden;
  position: relative;
  flex-grow: 0;
  flex-shrink: 0;
}
.search-posts-header-modal-freeword-input-form button::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  transition: opacity 300ms;
}
.search-posts-header-modal-freeword-input-form button:hover::after {
  opacity: 0.3;
}
.search-posts-header-modal-freeword-block-bg-wrap {
  position: absolute;
  left: calc(50% - 40px);
  top: calc(50% - 1px);
  transform: translate(-50%, -50%);
  width: 574px;
}
.search-posts-header-modal-freeword-block {
  position: relative;
  padding: 24px 0 40px;
}

@media screen and (max-width: 767px) {
  .search-posts-header-modal {
    right: 5.1282051282%;
    left: 5.1282051282%;
    container-type: inline-size;
  }
  .search-posts-header-modal-inner {
    border-radius: 7.1428571429cqi;
    padding: 4cqi 5.7142857143cqi 5.7142857143cqi;
  }
  .search-posts-header-modal-content {
    border-radius: 3.7142857143cqi;
  }
  .search-posts-header-modal-content .search-posts-keyword-block {
    background-color: transparent;
  }
  .search-posts-header-modal-freeword {
    padding-left: 25.7142857143cqi;
  }
  .search-posts-header-modal-freeword-block {
    padding: 0;
  }
  .search-posts-header-modal-freeword-block-bg-wrap {
    left: auto;
    right: 0;
    top: -22.4285714286cqi;
    width: 105.7714285714cqi;
    transform: none;
  }
  .search-posts-header-modal-freeword-block-bg-wrap img {
    width: 100%;
  }
  .search-posts-header-modal-freeword-input-form {
    padding: 0;
    box-sizing: border-box;
    justify-content: space-between;
    gap: 0 1.25em;
  }
  .search-posts-header-modal-freeword-input-form input {
    flex-grow: 1;
    flex-shrink: 1;
    width: 100%;
    font-size: max(16px, 4.5714285714cqi);
  }
  .search-posts-header-modal-freeword-input-form input::-moz-placeholder {
    font-size: 4cqi;
  }
  .search-posts-header-modal-freeword-input-form input::placeholder {
    font-size: 4cqi;
  }
  .search-posts-header-modal-freeword-input-form button {
    width: 7.8571428571cqi;
    aspect-ratio: 1/1;
  }
  .search-posts-header-modal-freeword-input-form button img {
    width: 100%;
  }
  .search-posts-header-modal-categories {
    padding-top: 7.1428571429cqi;
    background-color: #fff;
  }
  .search-posts-header-modal-close {
    display: none;
  }
}
/* ===================================================
	記事の検索窓周辺
==================================================== */
.front-search-posts-keyword-block-wrap .search-posts-keyword-block {
  border-radius: 99999px;
}
.search-posts-keyword-block {
  margin: 0 auto;
  padding: 2em 10em 2.9em 10em;
  max-width: 876px;
  background-color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.search-posts-keyword-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.9em;
  font-weight: 700;
  font-size: 1.3rem;
}
.search-posts-keyword-heading .text {
  color: #d2190c;
}
.search-posts-keyword-list-wrap {
  margin-top: 22px;
}
.search-posts-keyword-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em 2em;
  font-weight: 700;
  font-size: 1.5rem;
  overflow: hidden;
}
.search-posts-keyword-item:not(:first-child) {
  position: relative;
}
.search-posts-keyword-item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: calc(50% + 0.1em);
  left: -1em;
  width: 2px;
  height: 1em;
  background-color: #dbdbdb;
  border-radius: 999px;
  transform: translateY(-50%);
}
.search-posts-keyword-item a:hover {
  text-decoration: underline;
}
.search-posts-freeword-input-form {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 2em;
  padding: 8px 8px 8px 8.4em;
  border-radius: 9999px;
  position: relative;
  z-index: 11;
}
.search-posts-freeword-input-form input {
  padding: 0;
  background-color: transparent;
  color: #fff;
  width: 20em;
  border-radius: 0;
  border: 0;
}
.search-posts-freeword-input-form input::-moz-placeholder {
  font-weight: 900;
  color: rgba(255, 255, 255, 0.7);
}
.search-posts-freeword-input-form input::placeholder {
  font-weight: 900;
  color: rgba(255, 255, 255, 0.7);
}
.search-posts-freeword-input-form input:focus {
  outline: none;
  background-color: transparent;
}
.search-posts-freeword-input-form button {
  border-radius: 9999px;
  overflow-inline: hidden;
  position: relative;
  flex-grow: 0;
  flex-shrink: 0;
  width: 35px;
  aspect-ratio: 1/1;
}
.search-posts-freeword-input-form button img {
  width: 100%;
}
.search-posts-freeword-input-form button::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  transition: opacity 300ms;
}
.search-posts-freeword-input-form button:hover::after {
  opacity: 0.3;
}
.search-posts-categories-modal-taxonomies {
  margin-bottom: -20px;
  position: relative;
  z-index: 1;
}
.search-posts-categories-modal-taxonomies-list {
  margin: 0 auto;
  max-width: 856px;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 0 14px;
}
.search-posts-categories-modal-taxonomies-item {
  border: 1px solid var(--tax-color);
  width: min(276px, (100% - 28px) / 3);
  height: 40px;
  border-radius: 999px;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.8rem;
  color: var(--tax-color);
  cursor: pointer;
  gap: 0 0.6em;
}
.search-posts-categories-modal-taxonomies-icon {
  display: flex;
  justify-content: center;
  width: 25px;
}
.region .search-posts-categories-modal-taxonomies-icon img {
  width: 72%;
}
.region .search-posts-categories-modal-taxonomies-icon img {
  width: 92%;
}
.region .search-posts-categories-modal-taxonomies-icon img {
  width: 80%;
}
.search-posts-categories-modal-taxonomies-item:hover {
  color: #fff;
}
.search-posts-categories-modal-taxonomies-item.region {
  --tax-color: #d2190c;
}
.search-posts-categories-modal-taxonomies-item.industry {
  --tax-color: #e29f00;
}
.search-posts-categories-modal-taxonomies-item.perspective {
  --tax-color: #68997b;
}
.search-posts-categories-modal-taxonomies-item.current {
  background-color: var(--tax-color);
  color: #fff;
  pointer-events: none;
}
.search-posts-categories-modal-taxonomies-item:hover {
  background-color: var(--tax-color);
}
.search-posts-categories-modal-taxonomies-item.current .default, .search-posts-categories-modal-taxonomies-item .current, .search-posts-categories-modal-taxonomies-item:hover .default {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  z-index: -100;
}
.search-posts-categories-modal-taxonomies-item .default, .search-posts-categories-modal-taxonomies-item.current .current, .search-posts-categories-modal-taxonomies-item:hover .current {
  opacity: 1;
  visibility: visible;
  position: static;
  z-index: initial;
}
.search-posts-categories-modal-terms-block {
  background-color: #f5f3f0;
  padding: 66px 80px 55px;
  border-radius: 20px;
}
.front-search-posts-categories-modal .search-posts-categories-modal-terms-block, .search-posts-header-modal-categories .search-posts-categories-modal-terms-block {
  border-radius: 0;
}
.search-posts-categories-modal-terms-parent {
  display: none;
}
.search-posts-categories-modal-terms-parent.current {
  display: block;
}
.search-posts-categories-modal-terms-parent-list {
  margin: 0 auto;
  max-width: 856px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: 700;
  font-size: 2rem;
  gap: 1em 1.5em;
}
.search-posts-categories-modal-terms-item span {
  opacity: 0.4;
}
.search-posts-categories-modal-terms-item a {
  text-decoration: underline;
}
.search-posts-categories-modal-terms-item a:hover {
  text-decoration: none;
}

@media screen and (max-width: 1339px) {
  .search-posts-keyword-block {
    padding: 1.8em 8em 2.4em 8em;
  }
  .search-posts-categories-modal-taxonomies-item {
    width: min(220px, (100% - 28px) / 3);
    height: 36px;
    font-size: 1.7rem;
  }
  .search-posts-categories-modal-taxonomies-icon {
    width: 18px;
  }
  .search-posts-categories-modal-terms-block {
    padding: 52px 80px 40px;
  }
  .search-posts-categories-modal-terms-parent-list {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 949px) {
  .front-search-posts-keyword-block-wrap .search-posts-keyword-block {
    border-radius: 20px;
  }
  .search-posts-keyword-block {
    padding: 1.4em 8em 1.8em 8em;
  }
  .search-posts-categories-modal-taxonomies {
    display: flex;
    justify-content: center;
  }
  .search-posts-categories-modal-taxonomies-list {
    gap: 0 14px;
  }
  .search-posts-categories-modal-taxonomies-item {
    height: 36px;
    font-size: 1.7rem;
  }
  .search-posts-categories-modal-taxonomies-icon {
    width: 18px;
  }
  .search-posts-categories-modal-terms-block {
    padding: 40px 56px 36px;
  }
  .search-posts-keyword-list-wrap {
    margin-top: 16px;
  }
  .search-posts-categories-modal-terms-parent-list {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .front-search-posts-keyword-block-wrap .search-posts-keyword-block {
    position: relative;
    z-index: 1;
  }
  .search-posts-categories-modal-taxonomies-list {
    gap: 0 1.2857142857cqi;
  }
  .search-posts-categories-modal-taxonomies-item {
    width: calc((100% - 2.5714285714cqi) / 3);
    height: 6.8571428571cqi;
    font-size: 2.6342857143cqi;
  }
  .search-posts-categories-modal-taxonomies-icon {
    width: 3.4285714286cqi;
  }
  .search-posts-categories-modal-terms-block {
    padding: 8.5714285714cqi 3.4285714286cqi 5.1428571429cqi;
    border-radius: 5.7142857143cqi;
  }
  .search-posts-categories-modal-terms-parent-list {
    gap: 1em 1.3333333333em;
    font-size: 2.5714285714cqi;
  }
  .search-posts-keyword-heading {
    font-size: 2.8142857143cqi;
  }
  .search-posts-keyword-heading img {
    font-size: 3.7142857143cqi;
  }
  .search-posts-keyword-block {
    padding: 6.8571428571cqi 11.4285714286cqi;
  }
  .search-posts-keyword-list {
    gap: 1.5em;
    font-size: 2.5714285714cqi;
  }
  .search-posts-freeword-input-form {
    width: 75.641025641cqi;
    padding: 0.7692307692cqi 0.7692307692cqi 0.7692307692cqi 16.6666666667cqi;
    gap: 0 5.1282051282cqi;
    box-sizing: border-box;
  }
  .search-posts-freeword-input-form input {
    width: 100%;
    flex-grow: 1;
    flex-shrink: 1;
  }
  .search-posts-freeword-input-form button {
    flex-grow: 0;
    flex-shrink: 0;
    width: 5.8974358974cqi;
    overflow-inline: initial;
  }
}
/* ===================================================
	テスト
==================================================== */
/* ===================================================
	MV
==================================================== */
.mv-section {
  container-type: inline-size;
  overflow: hidden;
}
.mv-inner {
  height: min(56.1428571429cqi, 100vh);
  position: relative;
}
.mv-thumbnail-wrapper {
  margin-left: auto;
  height: 100%;
  width: 84.2857142857cqi;
  position: relative;
  z-index: 1;
}
.mv-thumbnail-wrapper::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 0;
  z-index: 2;
  width: calc(100% + 1px);
  height: 100%;
  -webkit-mask-image: url("./assets/img/mv-thumbnail-mask.png");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("./assets/img/mv-thumbnail-mask.png");
  mask-repeat: no-repeat;
  -webkit-mask-position: center bottom;
          mask-position: center bottom;
  -webkit-mask-size: cover;
          mask-size: cover;
  background-color: var(--bg-color);
}
.mv-thumbnail-list {
  height: 100%;
}
.mv-thumbnail-item {
  height: 100%;
}
.mv-thumbnail-item:not(.current) {
  opacity: 0 !important;
}
.mv-thumbnail-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.mv-bg-wrap {
  height: 100%;
}
.mv-text-wrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
}
.mv-post-wrapper {
  margin: 0 7.1428571429cqi 4.5714285714cqi;
  position: relative;
}
.mv-post-list {
  align-items: flex-end;
}
.mv-post-item {
  opacity: 0 !important;
  position: relative;
}
.mv-post-item.current {
  transition: opacity 300ms, left 300ms;
  opacity: 1 !important;
  pointer-events: initial !important;
}
.mv-post-item-map {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 14.2857142857cqi;
}
.mv-post-item-map img {
  width: 100%;
}
.mv-post-item-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8571428571cqi 0;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2.1428571429cqi;
  line-height: 1;
  color: #fff;
}
.mv-post-item-title-line {
  padding: 0.224em 0.3em;
  background-color: #d2190c;
  border-radius: 0.7142857143cqi;
}
.mv-post-item-title-line:not(:last-child) {
  position: relative;
}
.mv-post-item-title-line:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  z-index: -1;
  width: 6.4285714286cqi;
  height: 100%;
  background-color: #000;
  border-radius: 999px;
  transform: rotate(45deg) translate(-28%, -31%);
  transform-origin: left bottom;
}
.mv-post-item-target-profile-company {
  margin-top: 1.7142857143cqi;
  font-weight: 700;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1cqi;
  line-height: 1.5;
}
.mv-post-item-target-profile-name {
  margin-top: 1.7142857143cqi;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2.5cqi;
  line-height: 1;
}
.mv-post-item-link-button-wrap {
  margin-top: 2cqi;
}
.mv-post-item-link-button {
  display: inline-block;
  width: 3.9285714286cqi;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  transition: opacity 300ms;
}
.mv-post-item-link-button img {
  width: 100%;
}
.mv-post-item-link-button:hover {
  opacity: 0.6;
}
.mv-post-item-pagination {
  position: absolute;
  bottom: 1.4285714286cqi;
  left: 12.7857142857cqi;
  z-index: 1;
  width: -moz-max-content;
  width: max-content;
}
.mv-post-item-pagination-list {
  display: flex;
  align-items: center;
  gap: 1.4285714286cqi;
}
.mv-post-item-pagination .item {
  width: 0.9285714286cqi;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #000;
  cursor: pointer;
  transition: background-color 300ms;
}
.mv-post-item-pagination .item:hover {
  background-color: #666;
}
.mv-post-item-pagination .item.current {
  pointer-events: none;
  background-color: #d2190c;
}
.mv-post-item-title, .mv-post-item-target-profile {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0ms 0ms, transform 0 500ms;
}
.mv-post-item-map {
  opacity: 0;
}
.current .mv-post-item-title, .current .mv-post-item-target-profile {
  opacity: 1;
  transform: none;
  transition: opacity 300ms 500ms, transform 300ms 500ms;
}
.current .mv-post-item-map {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .mv-inner {
    height: 131.5384615385cqi;
  }
  .mv-bg-wrap {
    height: 94.358974359cqi;
  }
  .mv-thumbnail-wrapper {
    width: auto;
  }
  .mv-thumbnail-wrapper::before {
    left: 0;
    bottom: -1px;
    width: 100%;
    height: calc(100% + 1px);
    -webkit-mask-image: url("./assets/img/mv-thumbnail-mask-sp.png");
    mask-image: url("./assets/img/mv-thumbnail-mask-sp.png");
  }
  .mv-post-wrapper {
    margin: 0 5.1282051282cqi 5.8974358974cqi;
  }
  .mv-post-item-title {
    gap: 2.0512820513cqi 0;
    font-size: 3.8461538462cqi;
  }
  .mv-post-item-title-line {
    padding: 0.7em 0.75em;
    border-radius: 1.2820512821cqi;
  }
  .mv-post-item-title-line:not(:last-child)::before {
    left: 0;
    top: 50%;
    z-index: -1;
    width: 20.5128205128cqi;
    transform: rotate(45deg) translate(-28%, -40%);
  }
  .mv-post-item-target-profile-company {
    margin-top: 6.1538461538cqi;
    font-size: 2.0512820513cqi;
  }
  .mv-post-item-target-profile-name {
    margin-top: 0.5128205128cqi;
    font-size: 4.6153846154cqi;
  }
  .mv-post-item-link-button-wrap {
    margin-top: 4.1025641026cqi;
  }
  .mv-post-item-link-button {
    width: 6.4102564103cqi;
    transition: none;
  }
  .mv-post-item-link-button:hover {
    opacity: 1;
  }
  .mv-post-item-pagination {
    bottom: 1.7948717949cqi;
    left: calc(50% - 8.2051282051cqi);
    transform: translateX(-50%);
  }
  .mv-post-item-pagination-list {
    gap: 3.5897435897cqi;
  }
  .mv-post-item-pagination .item {
    width: 2.0512820513cqi;
  }
  .mv-post-item-map {
    right: -4.1025641026cqi;
    bottom: 2.0512820513cqi;
    width: 33.3333333333cqi;
  }
}
/* ===================================================
	検索窓セクション
==================================================== */
.front-search-posts-section {
  padding: 46px 0 55px;
  background-image: linear-gradient(-10deg, var(--bg-color) 0%, var(--bg-color) 50%, #e5e7e3 50%, #e5e7e3 100%);
  position: relative;
}
.front-search-posts-section::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 160px;
  background-color: var(--bg-color);
}
.front-search-posts-section::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: calc(50% - 150px);
  height: 200px;
  background-color: #f2e4c7;
  border-radius: 0 0 0 70px;
}
.front-search-posts-inner {
  text-align: center;
  container-type: inline-size;
}
.front-search-posts-keyword-block-wrap {
  position: relative;
  z-index: 10;
  margin-top: -40px;
  border-radius: 9999px;
  padding: 40px;
  background-color: var(--bg-color);
  display: inline-block;
}
.front-search-posts-freeword-block {
  padding: 40px;
  border-radius: 9999px;
  background-color: var(--bg-color);
  position: relative;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}
.front-search-posts-freeword-block-bg-wrap {
  position: absolute;
  top: -79px;
  z-index: 11;
  left: calc(50% - 360px);
  width: 611px;
}
.front-search-posts-freeword-block-bg-wrap img {
  width: 100%;
}
.front-search-posts-freeword-block-bg-wrap .open, .front-search-posts-freeword-block-bg-wrap.open .close {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -100;
  visibility: hidden;
  opacity: 0;
}
.front-search-posts-freeword-block-bg-wrap.open .open {
  position: static;
  visibility: visible;
  opacity: 1;
}
.front-search-posts-categories-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 11;
  width: calc(50% - 264px);
  background-color: var(--bg-color);
  border-radius: 0 0 0 80px;
}
.front-search-posts-categories-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  width: 100px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  box-shadow: 50px -50px 0 0 var(--bg-color);
}
.front-search-posts-categories-inner {
  padding: 105px 0 40px 40px;
  width: -moz-max-content;
  width: max-content;
  position: relative;
}
.front-search-posts-categories-list {
  display: flex;
  align-items: center;
  gap: 0 1.625em;
}
.front-search-posts-categories-item {
  display: flex;
  flex-direction: column;
  gap: 0.2em 0;
}
.front-search-posts-categories-item.region {
  color: #d2190c;
}
.front-search-posts-categories-item.industry {
  color: #db9900;
}
.front-search-posts-categories-item.perspective {
  color: #68997b;
}
.front-search-posts-categories-item .icon {
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.front-search-posts-categories-other {
  font-size: 1.4rem;
  line-height: 1.2857142857;
}
.front-search-posts-categories-content-wrap {
  position: relative;
  cursor: pointer;
}
.front-search-posts-categories-content-wrap.open {
  z-index: -100;
  visibility: hidden;
  opacity: 0;
}
.front-search-posts-categories-content {
  display: flex;
  align-items: center;
  gap: 0 1em;
  padding: 23px 40px;
  width: -moz-max-content;
  width: max-content;
  background-color: #fff;
  border-radius: 9999px;
}
.front-search-posts-categories-button {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
  transform: translate(50%, -50%);
  border-radius: 50%;
  overflow: hidden;
  width: 37px;
  aspect-ratio: 1/1;
}
.front-search-posts-categories-button img {
  width: 100%;
}
.front-search-posts-categories-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  transition: opacity 150ms;
}
.front-search-posts-categories-content-wrap:hover .front-search-posts-categories-button::after {
  opacity: 0.5;
}
.front-search-posts-categories-modal {
  position: absolute;
  top: 65px;
  left: calc(50% - 415px);
  z-index: -100;
  visibility: hidden;
  transform: translateX(-50%);
  opacity: 0;
}
.front-search-posts-categories-modal.open {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}
.front-search-posts-categories-modal-inner {
  padding: 100px 0 0;
  width: 1212px;
  border: 40px solid var(--bg-color);
  border-radius: 82.5px;
  background-color: #fff;
}
.front-search-posts-categories-modal-button {
  position: absolute;
  right: 40px;
  top: 65px;
  z-index: 1;
  transform: translateX(50%);
  cursor: pointer;
}
.front-search-posts-categories-modal-button::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  transition: opacity 300ms;
}
.front-search-posts-categories-modal-button:hover::after {
  opacity: 0.6;
}
.front-search-posts-categories-modal-bg {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: none;
}
.front-search-posts-categories-modal-bg.open {
  display: block;
}

@media screen and (max-width: 1339px) {
  .front-search-posts-categories-modal {
    left: calc(50% - 295px);
  }
  .front-search-posts-categories-modal-inner {
    width: 912px;
    border-radius: 83px;
  }
  .front-search-posts-categories-wrapper {
    width: calc(50% - 174px);
  }
  .front-search-posts-categories-content {
    padding: 23px 27px;
  }
  .front-search-posts-categories-list {
    gap: 0 0.5em;
  }
}
@media screen and (max-width: 949px) {
  .front-search-posts-section {
    padding: 180px 0 55px;
    background-image: none;
  }
  .front-search-posts-section::before {
    top: 30px;
    bottom: auto;
    background-color: #f2e4c7;
    width: calc(50% - 100px);
    height: 400px;
    border-radius: 0 70px 70px 0;
  }
  .front-search-posts-section::after {
    top: 0;
    bottom: auto;
    border-radius: 70px 0 0 70px;
    width: calc(50% + 50px);
    height: 400px;
    background-color: #e5e7e3;
  }
  .front-search-posts-keyword-block-wrap {
    border-radius: 40px;
  }
  .front-search-posts-categories-wrapper {
    width: auto;
    top: 60px;
    right: 50%;
    transform: translateX(50%);
    border-radius: 0;
    background-color: transparent;
    z-index: 12;
  }
  .front-search-posts-categories-modal {
    left: 50%;
    display: none !important;
  }
  .front-search-posts-categories-inner {
    padding: 34px;
    background-color: var(--bg-color);
    border-radius: 9999px;
  }
  .front-search-posts-categories-button {
    position: static;
    transform: none;
  }
  .front-search-posts-categories-wrapper::before {
    content: none;
  }
  .front-search-posts-categories-content-wrap {
    position: static;
  }
  .front-search-posts-categories-content-wrap.open {
    visibility: visible;
    opacity: 1;
    position: static;
  }
  .front-search-posts-categories-content-wrap:hover .front-search-posts-categories-button::after {
    opacity: 0;
  }
  .front-search-posts-categories-content {
    position: relative;
    overflow: hidden;
  }
  .front-search-posts-categories-modal-inner {
    width: 720px;
  }
  .front-search-posts-freeword-block {
    z-index: 11;
  }
  .front-search-posts-freeword-block-bg-wrap .close, .front-search-posts-freeword-block-bg-wrap.open .close {
    position: static;
    visibility: visible;
    opacity: 1;
  }
  .front-search-posts-freeword-block-bg-wrap.open .open {
    position: absolute;
    visibility: hidden;
    opacity: 0;
  }
  .front-search-posts-freeword-block-bg-wrap .open {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -100;
    visibility: hidden;
    opacity: 0;
    display: none;
  }
  .front-search-posts-categories-modal-bg.open {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .front-search-posts-section {
    container-type: inline-size;
    padding: 0;
  }
  .front-search-posts-section::before {
    top: 5.641025641cqi;
    width: 33.3333333333%;
    height: 34.358974359cqi;
    border-radius: 0 17.9487179487cqi 17.9487179487cqi 0;
    z-index: -1;
  }
  .front-search-posts-section::after {
    border-radius: 17.9487179487cqi 0 0 17.9487179487cqi;
    width: 64.1025641026%;
    height: 53.3333333333cqi;
    z-index: -1;
  }
  .front-search-posts-inner {
    padding: 8.2051282051cqi 0 0;
    container-type: initial;
  }
  .front-search-posts-categories-wrapper {
    margin: 0 auto;
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    width: -moz-max-content;
    width: max-content;
  }
  .front-search-posts-categories-inner {
    padding: 5.1282051282cqi;
  }
  .front-search-posts-categories-content {
    padding: 2.6923076923cqi 3.0769230769cqi 2.6923076923cqi 5.3846153846cqi;
  }
  .front-search-posts-categories-list {
    font-size: 2.5641025641cqi;
    gap: 0 2.8205128205cqi;
  }
  .front-search-posts-categories-item .icon {
    width: auto;
    height: 3.0769230769cqi;
    aspect-ratio: 1/1;
  }
  .front-search-posts-categories-item.region img {
    width: 68.3333333333%;
  }
  .front-search-posts-categories-item.industry img {
    width: 80.8333333333%;
  }
  .front-search-posts-categories-item.perspective img {
    width: 83.3333333333%;
  }
  .front-search-posts-categories-other {
    font-size: 75%;
  }
  .front-search-posts-categories-button {
    width: 5.8974358974cqi;
  }
  .front-search-posts-posts-categories-wrapper {
    top: 7.6923076923cqi;
  }
  .front-search-posts-freeword-block {
    margin-top: -4.6153846154cqi;
    padding: 5.1282051282cqi;
  }
  .front-search-posts-freeword-block-bg-wrap {
    left: auto;
    top: -17.6923076923cqi;
    right: 5.1282051282cqi;
    width: 99.2307692308cqi;
  }
  .front-search-posts-keyword-block-wrap {
    margin: -5.1282051282cqi 5.1282051282cqi 0;
    padding: 5.1282051282cqi;
    border-radius: 6.1538461538cqi;
  }
}
/* ===================================================
	新着
==================================================== */
.front-latest-post-section {
  border-radius: 0 0 50px 50px;
  padding: 40px 0 94px;
  position: relative;
  z-index: 1;
  background-color: var(--bg-color);
}
.front-latest-post-container {
  display: grid;
  grid-template-columns: 1fr 950px;
}
.front-latest-post-body {
  margin-top: 22px;
  grid-row: span 2;
}
.front-latest-post-item {
  display: grid;
  grid-template-columns: 214px 1fr;
  gap: 0 50px;
  font-family: "Zen Maru Gothic", sans-serif;
  transition: opacity 300ms;
}
.front-latest-post-item:hover {
  opacity: 0.6;
}
.front-latest-post-item:not(:first-child) {
  margin-top: 96px;
  position: relative;
}
.front-latest-post-item:not(:first-child)::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #c9c9c9;
  top: -48px;
  left: 0;
}
.front-latest-post-item-image-wrap {
  position: relative;
}
.front-latest-post-item-image-wrap .icon {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  transform: translateY(-50%);
  width: 47px;
}
.front-latest-post-item-thumbnail {
  border-radius: 15px;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.front-latest-post-item-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.front-latest-post-item-header {
  margin-bottom: 0.7em;
  display: flex;
  align-items: center;
  gap: 0 1.2em;
  line-height: 1;
}
.front-latest-post-item-date {
  font-weight: 900;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #454545;
}
.front-latest-post-item-categories {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 1.5em;
  font-weight: 700;
  font-size: 1.4rem;
}
.front-latest-post-item-category {
  display: flex;
  align-items: center;
  gap: 0 0.8em;
}
.front-latest-post-item-category.region {
  color: #d2190c;
}
.front-latest-post-item-category.perspective {
  color: #68997b;
}
.front-latest-post-item-category.industry {
  color: #eca100;
}
.front-latest-post-item-title {
  margin: auto 0;
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 1.2692307692;
}
.front-latest-post-item-text-wrap {
  display: flex;
  flex-direction: column;
}
.front-latest-post-footer {
  display: flex;
  align-items: flex-end;
}

@media screen and (max-width: 1339px) {
  .front-latest-post-container {
    display: block;
  }
  .front-latest-post-body {
    margin-top: 50px;
  }
  .front-latest-post-footer {
    margin-top: 50px;
  }
  .front-latest-post-item {
    gap: 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .front-latest-post-section {
    padding: 28px 0;
    border-radius: 0 0 30px 30px;
  }
  .front-latest-post-body {
    margin-top: 36px;
  }
  .front-latest-post-item {
    grid-template-columns: 28.5714285714% 1fr;
    gap: 0 4%;
    transition: none;
    align-items: flex-end;
  }
  .front-latest-post-item:hover {
    opacity: 1;
  }
  .front-latest-post-item:not(:first-child) {
    margin-top: 38px;
  }
  .front-latest-post-item:not(:first-child)::before {
    top: -19px;
  }
  .front-latest-post-item-image-wrap {
    container-type: inline-size;
    padding-bottom: 0.15em;
  }
  .front-latest-post-item-image-wrap .icon {
    width: 33.8117647059%;
  }
  .front-latest-post-item-thumbnail {
    border-radius: 6.8823529412cqi;
  }
  .front-latest-post-item-header {
    display: block;
    margin-bottom: 0.5em;
  }
  .front-latest-post-item-date {
    font-size: max(0.8rem, 2.0512820513vw);
  }
  .front-latest-post-item-categories {
    margin-top: 0.75em;
    font-size: max(0.824rem, 2.1128205128vw);
  }
  .front-latest-post-item-category.region img {
    width: 7.65px;
  }
  .front-latest-post-item-category.perspective img {
    width: 8.95px;
  }
  .front-latest-post-item-category.industry img {
    width: 8.83px;
  }
  .front-latest-post-item-title {
    font-size: max(1.4rem, 3.5897435897vw);
    line-height: 1.4;
    height: 2.8em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .front-latest-post-footer {
    margin-top: 35px;
  }
}
/* ===================================================
	特集
==================================================== */
.front-featured-section {
  margin-top: -50px;
  padding: 110px 0 270px;
  background: center top 10%/cover url(./assets/img/image-bg-featured.jpg?ver=2.0.3);
  overflow: hidden;
}
.front-featured-body {
  margin-top: 50px;
}
.front-featured-archive-list {
  display: flex;
}
.front-featured-archive-item {
  display: block;
  position: relative;
  padding-left: 79px;
  width: 495px;
  container-type: inline-size;
}
.front-featured-archive-item-thumbnail-wrap {
  container-type: inline-size;
}
.front-featured-archive-item-thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 417/246;
  overflow: hidden;
  border-radius: 4.7961630695cqi;
}
.front-featured-archive-item-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.front-featured-archive-item-icon {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  transform: translateY(-50%);
  width: 10.199556541cqi;
  height: 10.6430155211cqi;
}
.front-featured-archive-item-text {
  position: absolute;
  left: 0;
  bottom: -1.5em;
}
.front-featured-archive-item-title {
  font: 700 4.4345898004cqi/1 "Zen Maru Gothic", sans-serif;
  color: #370000;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px 0;
}
.front-featured-archive-item-title-line {
  border-radius: 0 8px 8px 0;
  padding: 0.55em 0.6em;
  background-color: #fff;
}
.front-featured-archive-item-title-line:not(:last-child) {
  position: relative;
}
.front-featured-archive-item-title-line:not(:last-child)::before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: 100%;
  z-index: -1;
  width: 6.6518847007cqi;
  height: 3.7694013304cqi;
  background-color: #000;
  transform: skewX(30deg);
  transform-origin: left top;
}
.front-featured-footer {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .front-featured-section {
    margin-top: -30px;
    padding: 64px 0 200px;
    background-image: url(./assets/img/image-bg-featured-sp.jpg?ver=2.0.1);
    background-image: url(./assets/img/image-bg-featured.jpg?ver=2.0.3);
  }
  .front-featured-body {
    margin-top: 21px;
  }
  .front-featured-archive-item {
    padding-left: 43px;
  }
  .front-featured-archive-item-title {
    font-size: 4.0441176471cqi;
    gap: 1.8382352941cqi 0;
  }
  .front-featured-archive-item-icon {
    transform: none;
    width: 9.5588235294cqi;
    height: 9.5588235294cqi;
  }
  .front-featured-archive-item-text {
    bottom: -1em;
  }
  .front-featured-archive-item-thumbnail {
    border-radius: 4.8245614035cqi;
  }
  .front-featured-footer {
    margin-top: 36px;
  }
}
/* ===================================================
	注目記事
==================================================== */
.front-pickup-section {
  margin-top: -170px;
  padding: 80px 0 100px;
  z-index: 1;
  position: relative;
}
.front-pickup-section::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  z-index: -1;
  width: 100%;
  height: 55%;
  background-color: #c52314;
  clip-path: ellipse(106% 110% at 30% 110%);
}
.front-pickup-section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 55%;
  background-color: #c52314;
  border-radius: 0 0 50px 50px;
}
.front-pickup-container {
  margin: 0 auto;
  max-width: 1300px;
}
.front-pickup-content {
  margin-top: 80px;
  container-type: inline-size;
}
.front-pickup-archive-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5cqi 4.3076923077cqi;
  width: 100%;
}

@media screen and (max-width: 1339px) {
  .front-pickup-archive-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 9.5588235294cqi 8.2352941176cqi;
  }
  .front-pickup-content {
    margin: 40px auto 0;
    max-width: 680px;
  }
  .front-pickup-archive-item-title {
    font-size: 2.4rem;
  }
  .front-pickup-archive-item-date {
    margin-top: 1em;
  }
}
@media screen and (max-width: 767px) {
  .front-pickup-section {
    padding: 60px 0 28px;
  }
  .front-pickup-section::before {
    clip-path: ellipse(165% 110% at 60% 110%);
  }
  .front-pickup-section::after {
    border-radius: 0 0 30px 30px;
  }
  .front-pickup-content {
    margin-top: 27px;
  }
  .front-pickup-container {
    padding: 0 20px;
  }
  .front-pickup-archive-list {
    gap: 6.2857142857cqi 4.2857142857cqi;
    width: 100%;
  }
}
/* ===================================================
	連載
==================================================== */
.front-columns-section {
  margin-top: -50px;
  padding: 110px 0 250px;
  background: center bottom/cover url(./assets/img/image-bg-featured.jpg?ver=2.0.3);
  overflow: hidden;
}
.front-columns-inner {
  container-type: inline-size;
}
.front-columns-body {
  margin-top: 50px;
}
.front-columns-archive-list {
  display: flex;
}
.front-columns-archive-item {
  display: block;
  position: relative;
  padding-left: 79px;
  width: 495px;
  transition: opacity 300ms;
  container-type: inline-size;
}
.front-columns-archive-item:hover {
  opacity: 0.6;
}
.front-columns-archive-item-thumbnail-wrap {
  container-type: inline-size;
}
.front-columns-archive-item-thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 417/246;
  overflow: hidden;
  border-radius: 4.4444444444cqi;
}
.front-columns-archive-item-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.front-columns-archive-item-icon {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  transform: translateY(-50%);
  width: 10.199556541cqi;
  height: 10.6430155211cqi;
}
.front-columns-archive-item-text {
  position: absolute;
  left: 0;
  bottom: -1.5em;
}
.front-columns-archive-item-title {
  font: 700 4.4345898004cqi/1 "Zen Maru Gothic", sans-serif;
  color: #370000;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px 0;
}
.front-columns-archive-item-title-line {
  border-radius: 0 8px 8px 0;
  padding: 0.55em 0.6em;
  background-color: #fff;
}
.front-columns-archive-item-title-line:not(:last-child) {
  position: relative;
}
.front-columns-archive-item-title-line:not(:last-child)::before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: 100%;
  z-index: -1;
  width: 6.6518847007cqi;
  height: 3.7694013304cqi;
  background-color: #000;
  transform: skewX(30deg);
  transform-origin: left top;
}
.front-columns-footer {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .front-columns-section {
    margin-top: -50px;
    padding: 80px 0 150px;
    background: center bottom/cover url(./assets/img/image-bg-columns-sp.jpg?ver=2.0.1);
    background: center bottom/cover url(./assets/img/image-bg-featured.jpg?ver=2.0.3);
    overflow: hidden;
  }
  .front-columns-body {
    margin-top: 21px;
  }
  .front-columns-archive-item {
    padding-left: 43px;
  }
  .front-columns-archive-item-title {
    font-size: 4.0441176471cqi;
    gap: 1.8382352941cqi 0;
  }
  .front-columns-archive-item-icon {
    transform: none;
    width: 9.5588235294cqi;
    height: 9.5588235294cqi;
  }
  .front-columns-archive-item-text {
    bottom: -1em;
  }
  .front-columns-archive-item-thumbnail {
    border-radius: 4.8245614035cqi;
  }
  .front-columns-footer {
    margin-top: 36px;
  }
}
/* ===================================================
	おしらせ
==================================================== */
.front-news-section {
  position: relative;
  margin: -100px 0 120px;
  background-color: var(--bg-color);
  border-radius: 100px 100px 0 0;
}
.front-news-inner {
  padding: 70px 0 0;
  position: relative;
}
.front-news-container {
  display: grid;
  grid-template-columns: 787px 360px;
  grid-auto-rows: auto;
  gap: 0 53px;
}
.front-news-header {
  order: 0;
  height: -moz-max-content;
  height: max-content;
}
.front-news-banner-area {
  padding-top: 34px;
  order: 1;
  grid-row: span 2;
}
.front-news-banner-editor {
  position: absolute;
  right: 210px;
  top: 60px;
  z-index: 1;
  display: flex;
  gap: 0 12px;
}
.front-news-banner-editor img {
  width: 28px;
}
.front-news-banner-editor-heading {
  padding-top: 0.2em;
  font-weight: 700;
  font-size: 2.6rem;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1;
  color: #eca100;
}
.front-news-archive {
  margin-top: 54px;
  order: 2;
}
.front-news-footer {
  margin-top: 40px;
  order: 3;
  grid-column: span 2;
}
.front-news-banner-list {
  display: flex;
  flex-direction: column;
  gap: 22px 0;
}
.front-news-banner-item {
  width: 100%;
}
.front-news-banner-item-image {
  display: inline-block;
  border-radius: 8.356545961%;
  overflow: hidden;
  transition: opacity 300ms;
}
.front-news-banner-item-image:hover {
  opacity: 0.6;
}

@media screen and (max-width: 1339px) {
  .front-news-banner-editor {
    right: auto;
    left: calc(50% - 40vw);
    top: -40px;
  }
  .front-news-container {
    display: block;
  }
  .front-news-banner-list {
    flex-direction: initial;
    gap: 0 9px;
  }
  .front-news-banner-item {
    width: 50%;
  }
  .front-news-banner-area {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .front-news-section {
    margin: -100px 0 40px;
    border-radius: 30px 30px 0 0;
  }
  .front-news-inner {
    padding: 40px 0 0;
  }
  .front-news-banner-editor {
    left: 0;
    top: -20px;
  }
  .front-news-banner-editor img {
    width: 14px;
  }
  .front-news-banner-editor-heading {
    padding-top: 0;
    font-size: 1.135rem;
  }
  .front-news-archive {
    margin-top: 32px;
  }
  .front-news-footer {
    margin-top: 26px;
  }
  .front-news-banner-area {
    margin-top: 38px;
    padding-top: 0;
  }
}
/* ===================================================
	新着
==================================================== */
/* _post.scssの構成
===================================================
    ・記事関連の共通パーツ
        - インタビュー記事
        - ラジオ記事の共通
        - お知らせの共通
    ・
==================================================== */
/* ===================================================
	ページネーション
==================================================== */
.nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 15px;
}

.page-numbers:not(.next, .prev, .dots) {
  width: 40px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #fff;
  text-align: center;
  color: #000;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 38px;
}
.page-numbers:not(.next, .prev, .dots).current {
  background-color: #000;
  color: #fff;
  pointer-events: none;
}
.page-numbers:not(.next, .prev, .dots):hover {
  background-color: rgba(0, 0, 0, 0.3);
}

.page-numbers.next,
.page-numbers.prev {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.page-numbers.next {
  margin-left: 1.5em;
}

.page-numbers.prev {
  margin-right: 1.5em;
}

.page-numbers.next:hover,
.page-numbers.prev:hover {
  background-color: rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 767px) {
  .nav-links {
    gap: 0 2.8571428571cqi;
  }
  .page-numbers:not(.next, .prev, .dots) {
    width: 7.7142857143cqi;
    font-size: 3.4285714286cqi;
    line-height: 7.7142857143cqi;
  }
  .page-numbers:not(.next, .prev, .dots):hover {
    background-color: #fff;
  }
  .page-numbers.next,
  .page-numbers.prev {
    width: 4.5714285714cqi;
  }
}
/* ===================================================
	記事ループ
==================================================== */
.post-archive-section {
  margin: -40px 0 68px;
  background-color: var(--bg-color);
  border-radius: 40px 40px 0 0;
  position: relative;
}
.post-archive-container {
  margin: 0 auto;
  max-width: 1300px;
}
.post-archive-inner {
  padding: 40px 0 0;
}
.post-archive-list {
  display: grid;
  gap: 9.5px;
  grid-template-columns: repeat(3, 1fr);
}
.post-archive-item {
  container-type: inline-size;
}
.post-archive-item a {
  border-radius: 20px;
  padding: 20px 20px 28px;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 58.9147286822% 1fr;
  background-color: rgba(255, 255, 255, 0.7);
  font-family: "Zen Maru Gothic", sans-serif;
  transition: opacity 300ms;
}
.post-archive-item a:hover {
  opacity: 0.6;
}
.post-archive-item-title, .post-archive-item-date {
  grid-column: span 2;
}
.post-archive-item-title {
  height: 4.2857142857em;
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 1.4285714286;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.post-archive-item-date {
  margin-top: 1em;
  margin-bottom: 20px;
  padding-right: 1em;
  display: flex;
  height: 26px;
  font-weight: 900;
  font-size: 1.4rem;
  line-height: 1;
}
.post-archive-item-date::after {
  content: "";
  height: 100%;
  width: 25px;
  flex-grow: 0;
  flex-shrink: 0;
  background: center/contain url(./assets/img/knot-black-end.png) no-repeat;
}
.post-archive-item-date .text {
  margin-right: 1em;
  letter-spacing: 0.1em;
  line-height: 1.5714285714;
}
.post-archive-item-date .speaker {
  margin-right: 1em;
  letter-spacing: 0.1em;
  line-height: 1.5714285714;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}
.post-archive-item-knot {
  display: flex;
  align-items: center;
  flex-grow: 1;
  flex-shrink: 1;
}
.post-archive-item-knot::before, .post-archive-item-knot::after {
  content: "";
  height: 100%;
}
.post-archive-item-knot::before {
  width: 2px;
  flex-grow: 0;
  flex-shrink: 0;
  background: center/contain url(./assets/img/knot-black-start.png) no-repeat;
}
.post-archive-item-knot::after {
  flex-grow: 1;
  flex-shrink: 1;
  background: center/contain url(./assets/img/knot-black-line.png) repeat-x;
}
.post-archive-item-image {
  container-type: inline-size;
  position: relative;
}
.post-archive-item-image .icon {
  position: absolute;
  left: 0;
  top: -18px;
  z-index: 1;
  width: 20.6140350877cqi;
}
.post-archive-item-thumbnail {
  aspect-ratio: 16/9;
  height: auto;
  overflow: hidden;
  border-radius: 6.5789473684cqi 0 6.5789473684cqi 6.5789473684cqi;
}
.post-archive-item-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.post-archive-item-categories-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px 0;
  font-size: 1.4rem;
}
.post-archive-item-category {
  border-radius: 0 9999px 9999px 0;
  padding: 0.5rem 1rem;
  background-color: #fff;
  display: flex;
  align-items: flex-start;
  gap: 0 8px;
  font-weight: 700;
}
.post-archive-item-category.region {
  font-size: 92.8571428571%;
  color: #d2190c;
}
.post-archive-item-category.industry {
  color: #e29f00;
}
.post-archive-item-category.perspective {
  color: #68997b;
}
.post-archive-item-category-icon {
  width: 1.8rem;
  flex-grow: 0;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.post-archive-pagination {
  margin-top: 120px;
  text-align: center;
}

@media screen and (max-width: 1339px) {
  .post-archive-container {
    max-width: 864px;
  }
  .post-archive-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 949px) {
  .post-archive-container {
    max-width: 690px;
  }
  .post-archive-inner {
    container-type: inline-size;
  }
  .post-archive-item a {
    border-radius: 4.6811000585cqi;
    padding: 4.6811000585cqi 4.6811000585cqi 6.5535400819cqi;
  }
  .post-archive-item-title {
    font-size: 5.8513750731cqi;
  }
  .post-archive-item-categories-list {
    font-size: 3.276770041cqi;
  }
  .post-archive-item-date {
    margin-bottom: 4.6811000585cqi;
    height: 6.0854300761cqi;
    font-size: 3.276770041cqi;
  }
  .post-archive-item-date::after {
    width: 5.8513750731cqi;
  }
  .post-archive-pagination {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .post-archive-section {
    margin: -20px 0 60px;
    border-radius: 20px 20px 0 0;
    container-type: inline-size;
  }
  .post-archive-container {
    padding: 0 5.1282051282cqi;
  }
  .post-archive-inner {
    padding: 10.2564102564cqi 0 0;
    container-type: initial;
  }
  .post-archive-list {
    gap: 5.1282051282cqi 5.1282051282cqi;
  }
  .post-archive-item {
    container-type: initial;
  }
  .post-archive-item a {
    border-radius: 2.5641025641cqi;
    padding: 1.2820512821cqi;
    grid-template-columns: repeat(2, 50%);
    transition: initial;
  }
  .post-archive-item a:hover {
    opacity: 1;
  }
  .post-archive-item-title {
    height: 5.9076923077em;
    font-size: 3.3333333333cqi;
    line-height: 1.4769230769;
    -webkit-line-clamp: 4;
  }
  .post-archive-item-knot {
    margin-right: -0.2564102564cqi;
  }
  .post-archive-item-knot::before {
    width: 0.5128205128cqi;
  }
  .post-archive-item-knot::after {
    margin-left: -0.2564102564cqi;
  }
  .post-archive-item-image {
    margin-right: -0.2564102564cqi;
  }
  .post-archive-item-thumbnail {
    border-radius: 11.5942028986cqi 0 0 11.5942028986cqi;
  }
  .post-archive-item-image .icon {
    top: -8.115942029cqi;
  }
  .post-archive-item-categories {
    margin-left: -0.2564102564cqi;
  }
  .post-archive-item-categories-list {
    gap: 0.2564102564cqi 0;
    font-size: 2.0512820513cqi;
  }
  .post-archive-item-category {
    border-radius: 0 9999px 9999px 0;
    padding: 0.34em 0.6em;
    gap: 0 1.2820512821cqi;
  }
  .post-archive-item-category-icon {
    width: 2.3076923077cqi;
  }
  .post-archive-item-date {
    margin: 1em 0;
    padding-right: 0;
    height: 2.8205128205cqi;
    font-size: 1.7948717949cqi;
  }
  .post-archive-item-date::after {
    width: 3.0769230769cqi;
  }
  .post-archive-item-date .text {
    margin-right: 1em;
    line-height: 1.5714285714;
  }
  .post-archive-item-date .text {
    margin-right: 0.5em;
  }
  .post-archive-item-date .speaker {
    margin-right: 0.25em;
  }
  .post-archive-pagination {
    margin-top: 15.3846153846cqi;
    container-type: inline-size;
  }
}
/* ===================================================
	目次：インタビュー記事、地域色彩ラジオ
==================================================== */
.toc_transparent {
  margin: 50px -50px;
  padding: 28px 50px 46px;
  border-radius: 20px;
  background-color: #d2190c;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
  color: #fff;
  position: relative;
}

.toc_transparent::before {
  content: "";
  position: absolute;
  left: 70px;
  top: -15px;
  z-index: 1;
  width: 84px;
  aspect-ratio: 84/63;
  background: center/contain url(./assets/img/illust-toc-knot.png) no-repeat;
}

.toc_list {
  margin-top: 1em;
  font-size: 2rem;
  counter-reset: toc-counter;
}
.toc_list li a {
  display: inline-block;
  counter-increment: toc-counter;
  position: relative;
  padding-left: 1.5em;
}
.toc_list li a:hover {
  text-decoration: underline;
}
.toc_list li a::before {
  content: counter(toc-counter);
  position: absolute;
  left: 0;
  top: 0.5em;
  font-weight: 700;
  font-size: 60%;
}
.toc_list li:nth-child(-n+9) a::before {
  content: "0" counter(toc-counter);
}
.toc_list li:not(:first-child) {
  margin-top: 0.5em;
}

.toc_title {
  font-weight: 900;
  font-size: 1.6rem;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 949px) {
  .toc_list {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .toc_transparent {
    margin: 1.5em 0;
    padding: 13px 20px 20px;
    border-radius: 10px;
  }
  .toc_transparent li a::before {
    top: 0;
    font-size: inherit;
  }
  .toc_transparent::before {
    left: 36px;
    top: -9px;
    width: 46px;
  }
  .toc_list {
    font-size: inherit;
  }
  .toc_title {
    font-size: inherit;
  }
}
/* ===================================================
	the_content()による出力パーツ
==================================================== */
.wp-block-image {
  margin: 50px 0;
  border-radius: 20px;
  overflow: hidden;
  background-color: #fff;
  text-align: center;
}

h2.wp-block-heading,
h3.wp-block-heading {
  margin: 2em 0;
  padding-left: 1.2em;
  position: relative;
  font-size: 2.6rem;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
h2.wp-block-heading::before,
h3.wp-block-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background-color: #d2190c;
  border-radius: 10px;
}

.wp-block-embed__wrapper {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
}
.wp-block-embed__wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.wp-block-list {
  margin: 2em 0;
  border: 1px solid #000;
  padding: 1.5em;
  border-radius: 20px;
}
.wp-block-list li {
  padding-left: 1em;
  position: relative;
}
.wp-block-list li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.wp-block-quote {
  margin: 2em 0;
  padding: 0 0 0 75px;
  position: relative;
}
.wp-block-quote::before {
  content: "“";
  position: absolute;
  top: -16px;
  left: 0;
  font: 400 11.4rem/1 "Zen Maru Gothic", sans-serif;
  opacity: 0.09;
}

@media screen and (max-width: 949px) {
  h2.wp-block-heading,
  h3.wp-block-heading {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-image {
    margin: 1.5em 0;
    border-radius: 10px;
  }
  .wp-block-list {
    margin: 1.5em 0;
    padding: 1em;
    border-radius: 8px;
  }
  .wp-block-quote {
    margin: 1.5em 0;
    padding: 0 0 0 40px;
  }
  .wp-block-quote::before {
    top: -11px;
    font-size: 8.4rem;
  }
  h2.wp-block-heading,
  h3.wp-block-heading {
    font-size: 2rem;
    padding-left: 0.75em;
  }
  h2.wp-block-heading::before,
  h3.wp-block-heading::before {
    width: 3.8px;
  }
}
/* ===================================================
	共通記事個別ページ：本文周り
==================================================== */
.post-single-body-section {
  margin-top: -40px;
  background-color: var(--bg-color);
  border-radius: 40px 40px 0 0;
}
.post-single-body-container {
  margin: 0 auto;
  padding: 80px 0;
  max-width: 800px;
}
.post-single-body-inner {
  line-height: 1.9333333333;
}
.post-single-body-inner:has(.radio-single-follow-platform) {
  position: relative;
}
.post-single-body-inner > *:first-child {
  margin-top: 0 !important;
}
.post-single-body-inner > *:last-child {
  margin-bottom: 0 !important;
}
.post-single-body-inner .wp-block-image, .post-single-body-inner .wp-block-embed, .post-single-body-inner .radio-single-embed-iframes-block {
  margin-right: -50px;
  margin-left: -50px;
}
.post-single-body-inner p:not([class]) {
  margin: 2em 0;
}
.post-single-body-inner p a {
  text-decoration: underline;
}
.post-single-body-inner p a:hover {
  text-decoration: none;
}

@media screen and (max-width: 1339px) {
  .post-single-body-container {
    max-width: 540px;
  }
  .post-single-body-inner .wp-block-image, .post-single-body-inner .wp-block-embed, .post-single-body-inner .radio-single-embed-iframes-block {
    margin-right: -30px;
    margin-left: -30px;
  }
}
@media screen and (max-width: 767px) {
  .post-single-body-section {
    margin-top: -20px;
    border-radius: 20px 20px 0 0;
  }
  .post-single-body-container {
    padding: 40px 20px;
    max-width: none;
  }
  .post-single-body-inner .wp-block-image, .post-single-body-inner .wp-block-embed, .post-single-body-inner .radio-single-embed-iframes-block {
    margin-right: 0;
    margin-left: 0;
  }
  .post-single-body-inner > .toc_transparent:first-child {
    margin-top: -30px !important;
  }
}
/* ===================================================
	インタビュー、特集、連載の個別ページ：トップ
==================================================== */
.post-single-top-section {
  padding: 60px 0 120px;
  background: #fff linear-gradient(37deg, #fff 0%, #fff, 90%, rgba(218, 28, 15, 0.2) 95%, rgba(218, 28, 15, 0.5) 100%);
}
.post-single-top-container {
  margin: 0 auto;
  max-width: 1300px;
  container-type: inline-size;
}
.post-single-top-inner {
  display: grid;
  grid-template-columns: 49.3846153846cqi 1fr;
  font-family: "Zen Maru Gothic", sans-serif;
}
.post-single-top-image {
  padding-top: 0.7692307692cqi;
  grid-row: span 2;
  order: -1;
}
.post-single-top-thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 642/409;
  border-radius: 1.5384615385cqi;
  overflow: hidden;
}
.post-single-top-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.post-single-top-title-wrap {
  position: relative;
  padding: 0 0 1em 1.4285714286em;
  font-size: 2.6923076923cqi;
  margin-left: -3em;
  background-image: linear-gradient(90deg, #fff 0%, #fff 7.6923076923cqi, transparent 7.6923076923cqi, transparent 100%);
  border-radius: 0 0 0 1.5384615385cqi;
}
.post-single-top-title {
  font-weight: 700;
  font-size: inherit;
  line-height: 1.3888888889;
}
.post-single-top-text {
  padding-left: 3.2307692308cqi;
}
.post-single-top-categories {
  margin-bottom: 0.7692307692cqi;
}
.post-single-top-category-list {
  display: flex;
  align-items: center;
  gap: 0 2em;
  font-weight: 700;
  font-size: 1.0769230769cqi;
}
.post-single-top-category a {
  display: flex;
  align-items: center;
  gap: 0 1em;
  transition: opacity 300ms;
}
.post-single-top-category a:hover {
  opacity: 0.6;
}
.post-single-top-category.region {
  color: #d2190c;
}
.post-single-top-category.industry {
  color: #e29f00;
}
.post-single-top-category.perspective {
  color: #68997b;
}
.post-single-top-tags {
  margin-bottom: 0.5em;
  display: flex;
  align-items: flex-start;
  gap: 0 0.7692307692cqi;
  overflow: hidden;
}
.post-single-top-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em 3em;
  font-size: 1.1538461538cqi;
}
.post-single-top-tag-item:not(:first-child) {
  position: relative;
}
.post-single-top-tag-item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.5em;
  transform: translateY(-50%);
  width: 0.1538461538cqi;
  height: 1em;
  background-color: #dbdbdb;
  border-radius: 10px;
}
.post-single-top-tag-item a:hover {
  text-decoration: underline;
}
.post-single-top-date {
  font-weight: 900;
  font-size: 1.0769230769cqi;
  color: #454545;
  letter-spacing: 0.1em;
}
.post-single-top-other {
  padding-left: 3.2307692308cqi;
  display: flex;
  align-items: flex-end;
}
.post-single-top-interview {
  flex-shrink: 1;
  flex-grow: 1;
}
.post-single-top-interview-target-profile {
  font-weight: 700;
  font-size: 1.0769230769cqi;
  line-height: 1.75;
}
.post-single-top-interview-target-profile-name {
  font-weight: 500;
  font-size: 2.6923076923cqi;
  line-height: 1.5;
}
.post-single-top-interview-target-profile-name-romaji {
  font-weight: 500;
  font-size: 0.8461538462cqi;
  line-height: 1;
  letter-spacing: 0.3em;
}
.post-single-top-map {
  width: 18.6923076923cqi;
  flex-shrink: 0;
  flex-grow: 0;
}
.post-single-top-map img {
  width: 100%;
}
.post-single-top-series-catch {
  display: grid;
  grid-template-columns: 55px 1fr;
  gap: 0 15px;
}
.post-single-top-series-catch-text {
  margin-bottom: 1.25em;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.post-single-top-series-description {
  margin-bottom: 1.5em;
  font-size: 1.4rem;
  line-height: 1.8571428571;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 1339px) {
  .post-single-top-container {
    max-width: 900px;
  }
}
@media screen and (max-width: 949px) {
  .post-single-top-section {
    padding: 40px 0 80px;
  }
  .post-single-top-series-catch {
    grid-template-columns: 40px 1fr;
  }
}
@media screen and (max-width: 767px) {
  .post-single-top-section {
    padding: 22px 0 40px;
  }
  .post-single-top-container {
    max-width: none;
    container-type: initial;
    padding: 0 20px;
  }
  .post-single-top-inner {
    display: block;
  }
  .post-single-top-title {
    font-size: 1.7rem;
  }
  .post-single-top-title-wrap {
    padding: 0;
    font-size: initial;
    margin-left: 0;
    background-image: linear-gradient(90deg, #fff 0%, #fff 7.6923076923cqi, transparent 7.6923076923cqi, transparent 100%);
    border-radius: 0 0 0 1.5384615385cqi;
  }
  .post-single-top-text {
    padding-left: 0;
  }
  .post-single-top-details {
    margin-top: 10px;
  }
  .post-single-top-categories {
    margin-bottom: 5px;
  }
  .post-single-top-category-list {
    gap: 0 2em;
    font-size: 1rem;
  }
  .post-single-top-category a {
    gap: 0 0.75em;
    transition: initial;
  }
  .post-single-top-category a:hover {
    opacity: 1;
  }
  .post-single-top-tags {
    gap: 0 5px;
  }
  .post-single-top-tag-list {
    gap: 0.25em 3em;
    font-size: 1.08rem;
  }
  .post-single-top-tag a:hover {
    text-decoration: initial;
  }
  .post-single-top-date {
    font-size: 1rem;
  }
  .post-single-top-image {
    margin: 12px -20px 0;
    padding-top: 0;
  }
  .post-single-top-thumbnail {
    border-radius: 0;
  }
  .post-single-top-other {
    margin-top: 6px;
    padding-left: 0;
  }
  .post-single-top-interview-target-profile {
    font-size: 0.751rem;
  }
  .post-single-top-interview-target-profile-name {
    font-size: 1.876rem;
  }
  .post-single-top-interview-target-profile-name-romaji {
    font-size: 0.59rem;
  }
  .post-single-top-map {
    margin-top: -40px;
    margin-right: -14px;
    width: 120px;
  }
  .post-single-top-series-catch {
    grid-template-columns: 25px 1fr;
    gap: 0 19px;
  }
  .post-single-top-series-catch-text {
    font-size: 1.172rem;
  }
  .post-single-top-series-description {
    font-size: 1.2rem;
  }
}
/* ===================================================
	インタビュー、特集個別ページの「ご紹介」セクション
==================================================== */
.post-single-profile-section {
  position: relative;
  background: #fff linear-gradient(37deg, #fff 0%, #fff, 90%, rgba(218, 28, 15, 0.2) 95%, rgba(218, 28, 15, 0.5) 100%);
}
.post-single-profile-knot-wrap {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  display: flex;
  padding-right: 51px;
  transform: translateY(-50%);
}
.post-single-profile-knot-line {
  flex-grow: 1;
  flex-shrink: 1;
  background: center/contain url(./assets/img/knot-red-line.png) repeat-x;
}
.post-single-profile-knot-end {
  flex-grow: 0;
  flex-shrink: 0;
  width: 24px;
  height: 27px;
  background: center/contain url(./assets/img/knot-red-end.png) no-repeat;
}
.post-single-profile-container {
  margin: 0 auto;
  max-width: 800px;
}
.post-single-profile-inner {
  padding: 60px 0 180px;
}
.post-single-profile-content {
  margin-top: 56px;
}
.post-single-profile-block:not(:first-child) {
  margin-top: 60px;
}
.post-single-profile-block-container {
  display: grid;
  grid-template-columns: 46% 1fr;
  gap: 0 5%;
}
.post-single-profile-block-image {
  container-type: inline-size;
}
.post-single-profile-thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 368/234;
  border-radius: 5.4347826087cqi;
  overflow: hidden;
}
.post-single-profile-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.post-single-profile-block-text {
  font-family: "Zen Maru Gothic", sans-serif;
  display: flex;
  flex-direction: column;
}
.post-single-profile-job {
  margin-top: 30px;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
}
.post-single-profile-footer {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.post-single-profile-name {
  font-size: 3.5rem;
}
.post-single-profile-name-yomi {
  margin-top: 0.1em;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
}
.post-single-profile-sns {
  margin-top: auto;
}
.post-single-profile-follow-list {
  display: flex;
  align-items: center;
  gap: 0 20px;
}
.post-single-profile-follow-item {
  display: flex;
  align-items: center;
  padding: 2px;
  transition: opacity 300ms;
}
.post-single-profile-follow-item:hover {
  opacity: 0.6;
}
.post-single-profile-description {
  margin-top: 50px;
  line-height: 1.9333333333;
  letter-spacing: 0.08em;
}
.post-single-profile-link-buttons {
  margin: 30px 0 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px 0;
}
.post-single-profile-link {
  background-color: #f5f3f0;
  border-radius: 9999px;
  padding: 0.9em 1em;
  color: #000;
  font-weight: 700;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 300ms;
}
.post-single-profile-link:hover {
  opacity: 0.5;
}

@media screen and (max-width: 1339px) {
  .post-single-profile-container {
    max-width: 540px;
  }
  .post-single-profile-inner {
    padding: 60px 0 120px;
  }
  .post-single-profile-block-container {
    grid-template-columns: 1fr;
  }
  .post-single-profile-footer {
    flex-direction: initial;
    gap: 0 7.037037037%;
  }
  .post-single-profile-name-wrap {
    flex-grow: 0;
    flex-shrink: 0;
  }
  .post-single-profile-sns {
    margin-top: 0;
    flex-grow: 1;
    padding-top: 12px;
  }
}
@media screen and (max-width: 767px) {
  .post-single-profile-knot-wrap {
    padding-right: 22px;
  }
  .post-single-profile-knot-end {
    width: 10px;
    height: 11px;
  }
  .post-single-profile-container {
    max-width: none;
  }
  .post-single-profile-inner {
    padding: 44px 20px 100px;
  }
  .post-single-profile-content {
    margin-top: 15px;
  }
  .post-single-profile-thumbnail {
    border-radius: 10px;
  }
  .post-single-profile-block-text {
    margin-top: 22px;
  }
  .post-single-profile-job {
    margin-top: 0;
    font-size: 0.91rem;
  }
  .post-single-profile-name {
    font-size: 2.275rem;
  }
  .post-single-profile-name-yomi {
    font-size: 0.715rem;
  }
  .post-single-profile-sns {
    padding-top: 4px;
  }
  .post-single-profile-follow-list {
    gap: 0 18px;
  }
  .post-single-profile-description {
    margin-top: 22px;
  }
  .post-single-profile-link {
    padding: 0.9em 1em;
    font-size: 1.4rem;
    transition: none;
  }
  .post-single-profile-link:hover {
    opacity: 1;
  }
}
/* ===================================================
    個別ページ「関連」セクション
    ・インタビュー
    ・ラジオ
==================================================== */
.post-single-related-section {
  margin: -40px 0;
  position: relative;
  border-radius: 40px;
  background-color: #bd2214;
  font-family: "Zen Maru Gothic", sans-serif;
}
.post-single-related-section::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 1;
  width: 1px;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
}
.post-single-related-title-block {
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 2;
  transform: translate(-50%, -50%);
  font-weight: 700;
  font-size: 2.6rem;
}
.post-single-related-title-block img {
  width: 19px;
}
.post-single-related-title-block-inner {
  border-radius: 9999px;
  padding: 1em 2em;
  background-color: #f5f3f0;
  border: 40px solid #fff;
}
.post-single-related-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 0.8em;
  color: #bd2214;
  width: -moz-max-content;
  width: max-content;
}
.post-single-related-container {
  margin: 0 auto;
  padding: 140px 0 150px;
  max-width: 1112px;
}
.post-single-related-block {
  display: flex;
  justify-content: space-between;
}
.post-single-related-block-item {
  width: 396px;
}
.post-single-related-link-block {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 2;
  transform: translate(-50%, 50%);
}
.post-single-related-link-block-inner {
  padding: 40px;
  border-radius: 50%;
  background-color: #f5f3f0;
}

@media screen and (max-width: 1339px) {
  .post-single-related-container {
    padding: 120px 0 130px;
    max-width: 900px;
  }
  .post-single-related-title-block {
    font-size: 1.8rem;
  }
  .post-single-related-title-block-inner {
    border-width: 32px;
  }
  .post-single-related-link-block-inner {
    padding: 32px;
  }
}
@media screen and (max-width: 949px) {
  .post-single-related-container {
    max-width: 700px;
  }
  .post-single-related-block-item {
    width: 320px;
  }
}
@media screen and (max-width: 767px) {
  .post-single-related-section {
    margin: 0;
    border-radius: 0;
  }
  .post-single-related-section::after {
    content: none;
  }
  .post-single-related-container {
    padding: 70px 20px 96px;
    max-width: none;
  }
  .post-single-related-block {
    gap: 15px;
  }
  .post-single-related-block-item {
    width: calc(50% - 7.5px);
  }
  .post-single-related-title-block {
    font-size: 1.5rem;
  }
  .post-single-related-title-block-inner {
    padding: 1em 1.5em;
    border-width: 1.3333333333em;
  }
  .post-single-related-title-block img {
    width: 12px;
  }
  .post-single-related-link-block-inner {
    padding: 20px;
  }
  .post-single-related-link-block-inner .link-button-wrap {
    width: 68px;
  }
  .post-single-related-link-block-inner .link-button {
    background-size: 12px;
  }
}
/* ===================================================
	個別ページ「関連特集」セクション
    ・インタビュー
    ・ラジオ
==================================================== */
.post-single-related-series-section {
  margin: 160px 0;
}
.post-single-related-series-content {
  margin-top: 70px;
}
.post-single-related-series-block {
  padding: 60px;
}
.post-single-related-series-block {
  padding: 60px;
}
@media screen and (max-width: 1339px) {
  .post-single-related-series-section {
    margin: 120px 0;
  }
}
@media screen and (max-width: 949px) {
  .post-single-related-series-section {
    margin: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .post-single-related-series-section {
    margin: 70px 0;
    container-type: inline-size;
  }
  .post-single-related-series-content {
    margin-top: 26px;
  }
}
/* ===================================================
	ピックアップ記事・関連記事
==================================================== */
.pickup-post-article-item {
  container-type: inline-size;
}
.pickup-post-article-item a {
  display: grid;
  grid-template-columns: 57.5757575758% 1fr;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  width: 100%;
  transition: opacity 300ms;
}
.pickup-post-article-item a:hover {
  opacity: 0.6;
}
.pickup-post-article-item-title, .pickup-post-article-item-date {
  grid-column: span 2;
}
.pickup-post-article-item-title {
  font-weight: 500;
  font-size: 6.3131313131cqi;
  line-height: 1.4615384615;
  height: 4.3846153846em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pickup-post-article-item-date {
  margin: 0.75em 0 1em;
  padding-right: 1.5em;
  display: flex;
  align-items: center;
  height: 6.5656565657cqi;
  font-weight: 900;
  font-size: 3.5353535354cqi;
  letter-spacing: 0.1em;
}
.pickup-post-article-item-date time {
  flex-grow: 0;
  flex-shrink: 0;
  margin-right: 1em;
  position: relative;
  top: -0.1em;
}
.pickup-post-article-item-knot {
  flex-grow: 1;
  flex-shrink: 1;
  height: 100%;
  display: flex;
}
.pickup-post-article-item-knot::before, .pickup-post-article-item-knot::after {
  content: "";
  height: 100%;
}
.pickup-post-article-item-knot::before {
  flex-grow: 0;
  flex-shrink: 0;
  width: 0.5050505051cqi;
  background: center/contain url(./assets/img/knot-white-start.png) no-repeat;
}
.pickup-post-article-item-knot::after {
  flex-grow: 1;
  flex-shrink: 1;
  background: center/contain url(./assets/img/knot-white-line.png) repeat-x;
}
.pickup-post-article-item-date::after {
  content: "";
  width: 6.3131313131cqi;
  height: 100%;
  flex-grow: 0;
  flex-shrink: 0;
  background: center/contain url(./assets/img/knot-white-end.png) no-repeat;
}
.pickup-post-article-item-image {
  container-type: inline-size;
}
.pickup-post-article-item-thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border-radius: 6.5789473684cqi 0 6.5789473684cqi 6.5789473684cqi;
  overflow: hidden;
}
.pickup-post-article-item-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.pickup-post-article-item-category-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5050505051cqi;
  font-weight: 700;
  font-size: 3.5353535354cqi;
  line-height: 1;
}
.pickup-post-article-item-category {
  display: flex;
  align-items: center;
  padding: 0.4em 0.6em 0.4em 0.5em;
  gap: 2.5252525253cqi;
  background-color: #fff;
  border-radius: 0 999px 999px 0;
}
.pickup-post-article-item-category.region {
  font-size: 92.8571428571%;
  color: #d2190c;
}
.pickup-post-article-item-category.industry {
  color: #eca100;
}
.pickup-post-article-item-category.perspective {
  color: #68997b;
}
.pickup-post-article-item-category-icon-wrap {
  text-align: center;
  width: 4.0404040404cqi;
}

/* ===================================================
	フッターバナーセクション
==================================================== */
.footer-banner-section {
  margin: 200px 0 60px;
}
.footer-banner-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
.footer-banner-item {
  max-width: 436px;
  width: 100%;
  container-type: inline-size;
}
.footer-banner-item-image {
  width: 100%;
  height: auto;
  border-radius: 6.880733945cqi;
  overflow: hidden;
  display: block;
  position: relative;
}
.footer-banner-item-image::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  transition: opacity 300ms;
}
.footer-banner-item-image:hover::after {
  opacity: 0.4;
}
.footer-banner-item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media screen and (max-width: 767px) {
  .footer-banner-section {
    margin: 70px 0 40px;
  }
  .footer-banner-list {
    gap: 9px;
  }
}
/* ===================================================
	ラジオ記事一覧：トップ
==================================================== */
.radio-archive-top-section {
  position: relative;
  overflow: hidden;
  background: #000 center/cover linear-gradient(0deg, #000 0%, #585858 100%);
}
.radio-archive-top-knot {
  position: absolute;
  right: calc(50% + 520px);
  top: -10px;
  height: 129px;
  display: flex;
  width: 50%;
}
.radio-archive-top-knot::before, .radio-archive-top-knot::after {
  content: "";
  height: 100%;
}
.radio-archive-top-knot::before {
  flex-grow: 1;
  flex-shrink: 1;
  background: center/contain url(./assets/img/knot-radio-line.png) repeat-x;
}
.radio-archive-top-knot::after {
  width: 118px;
  flex-grow: 0;
  flex-shrink: 0;
  background: center/contain url(./assets/img/knot-radio-end.png) no-repeat;
}
.radio-archive-top-inner {
  margin: 0 auto;
  padding: 48px 0 120px;
  max-width: 900px;
  container-type: inline-size;
}
.radio-archive-top-content {
  position: relative;
  color: #fff;
}
.radio-archive-top-title {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0 0.5em;
  font: 700 3.8rem/1 "Zen Maru Gothic", sans-serif;
}
.radio-archive-top-title-icon {
  transform: translateY(-12%);
  width: 2.3947368421em;
}
.radio-archive-top-title::before, .radio-archive-top-title::after {
  content: "";
  border-style: solid;
  border-color: #fff;
  flex-grow: 1;
  flex-shrink: 1;
  height: 1.1em;
}
.radio-archive-top-title .text {
  display: flex;
  align-items: center;
  flex-grow: 0;
  flex-shrink: 0;
  gap: 0.4em;
  transform: translateY(-12%);
}
.radio-archive-top-title::before {
  border-radius: 30px 0 0 0;
  border-width: 3px 0 0 3px;
}
.radio-archive-top-title::after {
  border-radius: 0 30px 0 0;
  border-width: 3px 3px 0 0;
}
.radio-archive-top-body {
  border-style: solid;
  border-width: 0 3px;
  border-color: #fff;
  padding: 0 40px 32px;
}
.radio-archive-top-description {
  padding: 1em 0 3em;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  text-align: center;
}
.radio-archive-top-slider-item-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 20px;
  border: solid 3px #fff;
  background-color: #000;
  position: relative;
}
.radio-archive-top-slider-item-inner iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.radio-archive-top-slider-item-inner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.radio-archive-top-footer {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 30px;
}
.radio-archive-top-footer::before, .radio-archive-top-footer::after {
  content: "";
  border-style: solid;
  border-color: #fff;
  flex-grow: 1;
  flex-shrink: 1;
  height: 100%;
}
.radio-archive-top-footer::before {
  border-radius: 0 0 0 30px;
  border-width: 0 0 3px 3px;
}
.radio-archive-top-footer::after {
  border-radius: 0 0 30px 0;
  border-width: 0 3px 3px 0;
}
.radio-archive-top-pagination {
  width: -moz-max-content;
  width: max-content;
  position: relative;
  top: -2px;
  transform: translateY(50%);
}
.radio-archive-top-pagination ul {
  margin: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 20px;
}
.radio-archive-top-pagination li {
  width: 13px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
}
.radio-archive-top-pagination li.current {
  background-color: #d2190c;
  pointer-events: none;
}

@media screen and (max-width: 949px) {
  .radio-archive-top-inner {
    padding: 48px 0 120px;
    max-width: 530px;
  }
  .radio-archive-top-title {
    font-size: 2.8rem;
  }
  .radio-archive-top-description {
    font-size: 1.4rem;
  }
  .radio-archive-top-knot {
    right: calc(50% + 290px);
    height: 100px;
  }
  .radio-archive-top-knot::after {
    width: 90px;
  }
}
@media screen and (max-width: 767px) {
  .radio-archive-top-section {
    container-type: inline-size;
  }
  .radio-archive-top-inner {
    container-type: initial;
    padding: 9.7435897436cqi 0 12.8205128205cqi;
    max-width: 89.2307692308cqi;
  }
  .radio-archive-top-title {
    font-size: 4.3871794872cqi;
  }
  .radio-archive-top-description {
    font-size: 2.5641025641cqi;
  }
  .radio-archive-top-title::before {
    border-radius: 2.3076923077cqi 0 0 0;
    border-width: 0.5128205128cqi 0 0 0.5128205128cqi;
  }
  .radio-archive-top-title::after {
    border-radius: 0 2.3076923077cqi 0 0;
    border-width: 0.5128205128cqi 0.5128205128cqi 0 0;
  }
  .radio-archive-top-body {
    border-width: 0 0.5128205128cqi;
    padding: 0 2.5641025641cqi 9.2307692308cqi;
  }
  .radio-archive-top-slider-item-inner {
    border-radius: 2.3076923077cqi;
    border-width: 0.5128205128cqi;
  }
  .radio-archive-top-footer {
    height: 3.5897435897cqi;
  }
  .radio-archive-top-footer::before {
    border-radius: 0 0 0 2.3076923077cqi;
    border-width: 0 0 0.5128205128cqi 0.5128205128cqi;
  }
  .radio-archive-top-footer::after {
    border-radius: 0 0 2.3076923077cqi 0;
    border-width: 0 0.5128205128cqi 0.5128205128cqi 0;
  }
  .radio-archive-top-pagination ul {
    margin: 0 2.3076923077cqi;
    gap: 0 2.3076923077cqi;
  }
  .radio-archive-top-pagination li {
    width: 1.5384615385cqi;
    cursor: initial;
  }
}
/* ===================================================
	ラジオ記事一覧：プラットフォーム
==================================================== */
.radio-platform-section {
  margin: 110px 0 100px;
}
.radio-platform-inner {
  margin: 0 auto;
  max-width: 900px;
}
.radio-platform-block {
  border-radius: 20px;
  padding: 46px 80px 90px;
  background: top -37% left -23%/314.6px 171px url(./assets/img/knot-radio.png) no-repeat, linear-gradient(0deg, #000 0%, #3b3b3b 100%);
  position: relative;
}
.radio-platform-block-description {
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.08em;
  text-align: center;
  color: #fff;
}
.radio-platform-block-description-icon {
  display: inline-block;
  width: 2.6666666667em;
  transform: translateY(-5%);
}
.radio-platform-block-sns {
  margin-top: 32px;
}
.radio-platform-block-sns-list {
  display: flex;
  justify-content: center;
  gap: 0 20px;
}
.radio-platform-block-sns-item {
  width: 50px;
  height: auto;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 300ms;
}
.radio-platform-block-sns-item:hover {
  opacity: 0.6;
}
.radio-platform-block-sns-item img {
  width: calc(100% * var(--icon-width) / 50);
}
.radio-platform-block-link {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 1;
  transform: translate(-50%, 50%);
}
.radio-platform-block-link-block {
  padding: 32px;
  border-radius: 9999px;
  background-color: var(--bg-color);
}
.radio-platform-block-link-button {
  display: flex;
  align-items: center;
  border-radius: 9999px;
  height: 50px;
  width: -moz-max-content;
  width: max-content;
  padding: 0 4em 0 1.5em;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  background: #fff center right 22px/14px 11px url(./assets/img/icon-arrow07.png) no-repeat;
  transition: color 300ms, background-color 300ms, background-image 300ms;
}
.radio-platform-block-link-button:hover {
  color: #fff;
  background-color: #000;
  background-image: url(./assets/img/icon-arrow08.png);
}

@media screen and (max-width: 949px) {
  .radio-platform-inner {
    max-width: 690px;
  }
}
@media screen and (max-width: 767px) {
  .radio-platform-section {
    margin: 70px 0 60px;
  }
  .radio-platform-container {
    margin: 0 auto;
    max-width: 89.7435897436%;
    container-type: inline-size;
  }
  .radio-platform-block {
    border-radius: 3.5714285714cqi;
    padding: 12.5714285714cqi 5.7142857143% 22.8571428571%;
    background: top -10% left -16%/34.2857142857cqi 17.1428571429cqi url(./assets/img/knot-radio.png) no-repeat, linear-gradient(0deg, #000 0%, #3b3b3b 100%);
  }
  .radio-platform-block-description {
    font-size: 3.2114285714cqi;
  }
  .radio-platform-block-sns-list {
    gap: 0 5.7142857143cqi;
  }
  .radio-platform-block-sns-item {
    width: 9.1428571429cqi;
    transition: initial;
  }
  .radio-platform-block-link-block {
    padding: 5.7142857143cqi;
  }
  .radio-platform-block-link-button {
    height: 11.4285714286cqi;
    padding: 0 4em 0 1.5em;
    font-size: 3.7142857143cqi;
    background: #fff center right 6.2857142857cqi/4cqi auto url(./assets/img/icon-arrow07.png) no-repeat;
    transition: none;
  }
  .radio-platform-block-link-button:hover {
    color: #000;
    background-color: #fff;
    background-image: url(./assets/img/icon-arrow07.png);
  }
}
/* ===================================================
	ラジオ個別記事ページ：トップ
==================================================== */
.radio-single-top-section {
  background: #000 linear-gradient(0deg, #000 0%, #585858 100%);
}
.radio-single-top-inner {
  margin: 0 auto;
  padding: 60px 0 120px;
  max-width: 1250px;
  container-type: inline-size;
}
.radio-single-top-container {
  display: grid;
  grid-template-columns: 58.4cqi 1fr;
  gap: 0 4cqi;
}
.radio-single-top-image {
  width: 58.4cqi;
  flex-grow: 0;
  flex-shrink: 0;
  order: -1;
}
.radio-single-top-thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 730/411;
  border-radius: 2.7397260274cqi;
  border: 3px solid #fff;
  overflow: hidden;
}
.radio-single-top-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.radio-single-top-text {
  flex-grow: 1;
  flex-shrink: 1;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
}
.radio-single-top-header {
  display: flex;
  align-items: center;
}
.radio-single-top-shikisai-icon {
  width: 5.44cqi;
}
.radio-single-top-radio-icon {
  margin-left: 1.04cqi;
  width: 3.44cqi;
}
.radio-single-top-count {
  margin-left: 0.4cqi;
  font-weight: 700;
  font-size: 1.12cqi;
}
.radio-single-top-count .number {
  font-size: 171.4285714286%;
}
.radio-single-top-title {
  margin: 20px 0;
  font-weight: 700;
  font-size: 1.84cqi;
  line-height: 1.5416666667;
}
.radio-single-top-text .post-single-top-tags, .radio-single-top-text .post-single-top-date {
  color: inherit;
}

@media screen and (max-width: 1339px) {
  .radio-single-top-inner {
    max-width: 900px;
  }
}
@media screen and (max-width: 767px) {
  .radio-single-top-inner {
    padding: 26px 0 34px;
    max-width: none;
  }
  .radio-single-top-container {
    display: block;
    padding: 0 20px;
  }
  .radio-single-top-header {
    justify-content: center;
  }
  .radio-single-top-shikisai-icon {
    width: 50px;
  }
  .radio-single-top-radio-icon {
    transform: translateY(-3px);
    margin-left: 22px;
    width: 36px;
  }
  .radio-single-top-count {
    margin-left: 4px;
    font-size: 1.174rem;
  }
  .radio-single-top-count .number {
    font-size: 171.4285714286%;
  }
  .radio-single-top-title {
    margin: 20px 0;
    font-size: 1.7rem;
    line-height: 1.5555555556;
  }
  .radio-single-top-image {
    margin: 20px -20px 0;
    width: auto;
  }
  .radio-single-top-thumbnail {
    border-radius: 0;
    border: none;
  }
}
/* ===================================================
	ラジオ個別記事ページ：iframe（Spotify、Youtube）
==================================================== */
.radio-single-embed-iframes-block {
  margin: 50px 0;
  padding: 70px 160px 80px;
  border-radius: 20px;
  background: top -9% left -26%/314.6px auto url(./assets/img/knot-radio.png) no-repeat, linear-gradient(0deg, #000 0%, #3b3b3b 100%);
}
.radio-single-embed-iframes-block-iframe:not(:first-child) {
  margin-top: 44px;
}
.radio-single-embed-iframes-block-iframe {
  position: relative;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.radio-single-embed-iframes-block-iframe.spotify {
  min-height: 152px;
}
.radio-single-embed-iframes-block-iframe.youtube {
  aspect-ratio: 16/9;
}
.radio-single-embed-iframes-block-iframe iframe {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1339px) {
  .radio-single-embed-iframes-block {
    padding: 60px 100px 72px;
    background: top -10% left -34%/234.6px auto url(./assets/img/knot-radio.png) no-repeat, linear-gradient(0deg, #000 0%, #3b3b3b 100%);
  }
}
@media screen and (max-width: 949px) {
  .radio-single-embed-iframes-block {
    padding: 40px 50px;
    background: top -9% left -26%/214.6px auto url(./assets/img/knot-radio.png) no-repeat, linear-gradient(0deg, #000 0%, #3b3b3b 100%);
  }
}
@media screen and (max-width: 767px) {
  .radio-single-embed-iframes-block {
    border-radius: 7.75px;
    padding: 28px 20px 30px;
    background: top -9% left -28%/150px auto url(./assets/img/knot-radio.png) no-repeat, linear-gradient(0deg, #000 0%, #3b3b3b 100%);
  }
  .radio-single-embed-iframes-block-iframe:not(:first-child) {
    margin-top: 17px;
  }
}
/* ===================================================
	ラジオ個別記事ページ：配信プラットフォーム（画面追従）
==================================================== */
.radio-single-follow-platform {
  position: absolute;
  left: calc(100% + 96px);
  top: 0;
  height: 100%;
}
.radio-single-follow-platform-block {
  position: sticky;
  top: 110px;
  padding: 20px 28px 48px;
  background-color: #1b1b1b;
  border-radius: 20px;
  width: 129px;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
}
.radio-single-follow-platform-icon {
  display: inline-block;
  width: 40px;
}
.radio-single-follow-platform-read {
  margin-top: 12px;
  font: 700 1.2rem/1.4 "Noto Sans JP", sans-serif;
  text-align: center;
}
.radio-single-follow-platform-sns {
  margin-top: 40px;
}
.radio-single-follow-platform-sns-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px 0;
}
.radio-single-follow-platform-sns-item {
  padding: 4px;
  transition: opacity 300ms;
}
.radio-single-follow-platform-sns-item:hover {
  opacity: 0.6;
}

@media screen and (max-width: 1339px) {
  .radio-single-follow-platform {
    left: calc(100% + 54px);
  }
  .radio-single-follow-platform-block {
    top: 94px;
    padding: 20px 16px 32px;
    border-radius: 20px;
    width: 114px;
  }
}
@media screen and (max-width: 949px) {
  .radio-single-follow-platform {
    display: none;
  }
}
/* ===================================================
	共通記事個別ページ：トップ
==================================================== */
/* ===================================================
	インタビュー記事一覧セクション
==================================================== */
.interview-archive-section {
  margin: -40px 0 68px;
  background-color: var(--bg-color);
  border-radius: 40px 40px 0 0;
  position: relative;
}
.interview-archive-container {
  margin: 0 auto;
  max-width: 1300px;
}
.interview-archive-inner {
  padding: 40px 0 0;
}
.interview-archive-pagination {
  margin-top: 120px;
  text-align: center;
}
/* ===================================================
	お知らせ一覧ページ
==================================================== */
.news-archive-section {
  margin-top: -40px;
  border-radius: 40px 40px 0 0;
  background-color: var(--bg-color);
}
.news-archive-container {
  margin: 0 auto;
  max-width: 800px;
}
.news-archive-inner {
  padding: 80px 0 40px;
}
.news-archive-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em 0;
}
.news-archive-item {
  padding: 1em 0;
  position: relative;
  min-width: 0;
}
.news-archive-item:has(.icon) {
  padding: 1em 46px 1em 0;
}
.news-archive-item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: -1em;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #c9c9c9;
  pointer-events: none;
}
.news-archive-item:first-child {
  margin-top: 1em;
}
.news-archive-item:last-child {
  margin-bottom: 1em;
}
.news-archive-item-date {
  font-weight: 700;
  font-size: 1.4rem;
}
.news-archive-item-title {
  margin-top: 0.5em;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  height: 1.3157894737em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.news-archive-item .icon {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.news-archive-item .icon, .news-archive-item .news-archive-item-date, .news-archive-item .news-archive-item-title {
  transition: opacity 300ms;
}
.news-archive-item:hover .icon, .news-archive-item:hover .news-archive-item-date, .news-archive-item:hover .news-archive-item-title {
  opacity: 0.5;
}

@media screen and (max-width: 949px) {
  .news-archive-container {
    max-width: 680px;
  }
}
@media screen and (max-width: 767px) {
  .news-archive-section {
    margin-top: -20px;
    border-radius: 20px 20px 0 0;
  }
  .news-archive-container {
    padding: 0 20px;
    max-width: none;
  }
  .news-archive-inner {
    padding: 40px 0;
  }
  .news-archive-list {
    gap: 0.2em 0;
  }
  .news-archive-item, .news-archive-item:has(.icon) {
    padding: 0.5em 0;
  }
  .news-archive-item:first-child {
    margin-top: 0.5em;
  }
  .news-archive-item:not(:first-child) {
    margin-top: 1em;
  }
  .news-archive-item:last-child {
    margin-bottom: 0;
  }
  .news-archive-item:not(:first-child)::before {
    top: -0.5em;
  }
  .news-archive-item-date {
    font-size: 1.2rem;
  }
  .news-archive-item-title {
    margin-top: 0.5em;
    font-size: 1.8rem;
  }
  .news-archive-item .icon {
    display: none;
    visibility: hidden;
    opacity: 0;
  }
  .news-archive-item .icon, .news-archive-item .news-archive-item-date, .news-archive-item .news-archive-item-title {
    transition: none;
  }
  .news-archive-item:hover .icon, .news-archive-item:hover .news-archive-item-date, .news-archive-item:hover .news-archive-item-title {
    opacity: 1;
  }
}
/* ===================================================
	お知らせ詳細ページ※ヘッド部分、ページネーションのみ
==================================================== */
.news-single-header {
  margin-top: -28px;
  margin-bottom: 60px;
}
.news-single-title {
  font: 700 2.4rem/1.5416666667 "Zen Maru Gothic", sans-serif;
}
.news-single-tags {
  margin-top: 10px;
  display: flex;
  align-items: flex-start;
  gap: 0 10px;
}
.news-single-tags .icon {
  margin-top: 2px;
}
.news-single-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em 3em;
  overflow: hidden;
  font: 500 1.5rem/1.5 "Zen Maru Gothic", sans-serif;
}
.news-single-tag-item:not(:first-child) {
  position: relative;
}
.news-single-tag-item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.5em;
  transform: translateY(-50%);
  width: 2px;
  height: 1em;
  background-color: #dbdbdb;
  border-radius: 10px;
}
.news-single-tag-item a:hover {
  text-decoration: underline;
}
.news-single-date {
  margin-top: 1.5em;
  font: 900 1.4rem/1 "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
}
.news-single-footer {
  margin-top: 88px;
}
.news-single-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 46px;
}
.news-single-pagination-button {
  display: flex;
  align-items: center;
  gap: 0 9px;
}
.news-single-pagination-button[href] {
  transition: opacity 300ms;
}
.news-single-pagination-button[href]:hover {
  opacity: 0.6;
}
.news-single-pagination-button:not([href]) {
  transition: opacity 300ms;
  opacity: 0.2;
}
.news-single-pagination-top {
  border-radius: 9999px;
  background-color: #000;
  padding: 0.5em 1.5em;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  transition: background-color 300ms;
  display: inline-block;
}
.news-single-pagination-top:hover {
  background-color: #4c4c4c;
}

@media screen and (max-width: 767px) {
  .news-single-header {
    margin-top: 0;
    margin-bottom: 24px;
  }
  .news-single-title {
    font-size: 1.8rem;
  }
  .news-single-date {
    margin-top: 1.5em;
    font-size: 1.2rem;
  }
  .news-single-footer {
    margin-top: 40px;
  }
  .news-single-pagination-top {
    font-size: 1.4rem;
    transition: none;
  }
  .news-single-pagination-top:hover {
    background-color: #000;
  }
  .news-single-pagination-button:not([href]) {
    transition: none;
  }
  .news-single-pagination-button[href]:hover {
    opacity: 1;
  }
}
/* ===================================================
	特集・連載シリーズのアーカイブ
==================================================== */
.series-archive-section {
  margin: -40px 0 150px;
  padding: 80px 0 0;
  background-color: var(--bg-color);
  border-radius: 40px 40px 0 0;
}
.series-archive-container {
  margin: 0 auto;
  max-width: 1200px;
}
.series-archive-list {
  padding-left: 65px;
  display: grid;
  gap: 146px 0;
}
.series-archive-block {
  border-radius: 30px;
  padding: 60px 60px 60px 80px;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.series-archive-block-label {
  position: absolute;
  top: 60px;
  right: 0;
  z-index: 1;
  background-color: #d2190c;
  border-radius: 15px 0 0 15px;
  writing-mode: vertical-rl;
}
.series-archive-block-label-text {
  display: inline-block;
  padding: 0.9em 0.625em;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
.series-archive-block-header {
  width: 480px;
  flex-grow: 0;
  flex-shrink: 0;
}
.series-archive-block-image {
  margin-left: -145px;
  margin-right: -22px;
}
.series-archive-block-thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 659/371;
  overflow: hidden;
  border-radius: 20px;
}
.series-archive-block-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.series-archive-block-text {
  margin-top: 60px;
  position: relative;
}
.series-archive-block-knot {
  position: absolute;
  top: -32px;
  left: -81px;
  z-index: 1;
  width: 109px;
}
.series-archive-block-knot img {
  width: 100%;
}
.series-archive-block-title {
  margin-bottom: 20px;
  height: 4.5882352941em;
  font: 700 3.3rem/1.5294117647 "Zen Maru Gothic", sans-serif;
  color: #444;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.series-archive-block-catch {
  display: grid;
  grid-template-columns: 55px 1fr;
  gap: 0 15px;
}
.series-archive-block-catch-text {
  height: 6.4em;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  text-overflow: ellipsis;
}
.series-archive-block-related-posts {
  width: 427px;
  flex-grow: 0;
  flex-shrink: 0;
}
.series-archive-block-related-posts-list {
  display: grid;
  gap: 10px 0;
}
.series-archive-block-related-posts-list .post-archive-item a {
  background-color: rgba(242, 242, 242, 0.7);
}
.series-archive-block-link {
  position: absolute;
  left: calc(50% - 32.5px);
  bottom: -42px;
  transform: translate(-50%, 50%);
}
.series-archive-block-link .link-button-wrap {
  padding: 40px;
  background-color: var(--bg-color);
  border-radius: 50%;
  box-sizing: content-box;
}

@media screen and (max-width: 1339px) {
  .series-archive-container {
    max-width: 840px;
  }
  .series-archive-block {
    padding: 40px 60px 72px;
    display: block;
  }
  .series-archive-block-label {
    top: 40px;
    right: 0;
  }
  .series-archive-block-header {
    width: auto;
  }
  .series-archive-block-image {
    margin-left: -125px;
    margin-right: 0;
  }
  .series-archive-block-text {
    margin-top: 80px;
  }
  .series-archive-block-knot {
    left: -61px;
  }
  .series-archive-block-title {
    display: block;
    height: auto;
    -webkit-box-orient: initial;
    -webkit-line-clamp: initial;
    overflow: auto;
    text-overflow: initial;
  }
  .series-archive-block-catch-text {
    height: auto;
  }
  .series-archive-block-related-posts {
    margin: 40px -40px 0;
    width: auto;
  }
  .series-archive-block-related-posts-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px;
  }
  .series-archive-block-link .link-button-wrap {
    padding: 32px;
  }
  .series-archive-block-link {
    bottom: -40px;
  }
}
@media screen and (max-width: 949px) {
  .series-archive-container {
    max-width: 540px;
  }
  .series-archive-list {
    padding-left: 0;
  }
  .series-archive-block-label-text {
    font-size: 1.4rem;
  }
  .series-archive-block-image {
    margin-left: 0;
  }
  .series-archive-block {
    padding: 40px 40px 72px;
  }
  .series-archive-block-title {
    font-size: 2.3rem;
  }
  .series-archive-block-text {
    margin-top: 60px;
  }
  .series-archive-block-knot {
    left: -41px;
  }
  .series-archive-block-catch {
    grid-template-columns: 40px 1fr;
  }
  .series-archive-block-catch-text {
    font-size: 1.5rem;
  }
  .series-archive-block-related-posts {
    margin: 40px -20px 0;
  }
  .series-archive-block-link {
    left: 50%;
    bottom: 0;
  }
  .series-archive-block-link .link-button-wrap {
    padding: 24px;
  }
}
@media screen and (max-width: 767px) {
  .series-archive-section {
    margin: -20px 0 80px;
    padding: 60px 0 0;
    border-radius: 20px 20px 0 0;
  }
  .series-archive-container {
    max-width: none;
    padding: 0 20px;
  }
  .series-archive-block-knot {
    left: -20px;
    width: 61px;
  }
  .series-archive-list {
    margin: 0 -20px;
    gap: 80px 0;
  }
  .series-archive-block {
    border-radius: 20px;
    padding: 26px 20px 120px;
  }
  .series-archive-block-thumbnail {
    border-radius: 20px;
  }
  .series-archive-block-text {
    margin-top: 49px;
  }
  .series-archive-block-title {
    font-size: 1.9rem;
  }
  .series-archive-block-catch {
    grid-template-columns: 25px 1fr;
    gap: 0 19px;
  }
  .series-archive-block-catch-text {
    font-size: 1.172rem;
  }
  .series-archive-block-related-posts {
    margin: 40px 10px 0 0;
    position: relative;
  }
  .series-archive-block-label {
    top: 0;
    right: -30px;
    border-radius: 0.88rem 0 0 0.88rem;
  }
  .series-archive-block-label-text {
    font-size: 0.93rem;
  }
  .series-archive-block-link .link-button-wrap {
    padding: 24px;
    width: auto;
  }
  .series-archive-block-link .link-button {
    width: 69px;
    background-size: 11px auto;
  }
}
/* ===================================================
	共通記事個別ページ：トップ
==================================================== */
/* ===================================================
	共通記事個別ページ：トップ
==================================================== */
/* ===================================================
	「地域色彩とは」冒頭
==================================================== */
.about-message-section {
  margin: -40px 0 100px;
  border-radius: 40px 40px 0 0;
  background-color: var(--bg-color);
  overflow: hidden;
}
.about-message-container {
  margin: 0 auto;
  max-width: 760px;
}
.about-message-inner {
  padding: 100px 0 0;
  position: relative;
}
.about-message-read {
  font: 700 2.4rem/1.5 "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.02em;
  position: relative;
  z-index: 1;
}
.about-message-read::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -521px;
  z-index: -1;
  width: 415px;
  height: auto;
  aspect-ratio: 415/140;
  background: center/contain url(./assets/img/illust-about-cards-bg03.png) no-repeat;
}
.about-message-read .emphasis {
  font-size: 133.3333333333%;
}
.about-message-read .red {
  color: #d2190c;
}
.about-message-knot-wrap {
  margin: 40px 0;
  position: relative;
}
.about-message-knot-wrap::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -206px;
  width: 73px;
  height: auto;
  aspect-ratio: 73/115;
  border-radius: 10px;
  background-color: #e5e7e3;
}
.about-message-description {
  font: 500 2.2rem/1.7727272727 "Zen Maru Gothic", sans-serif;
  position: relative;
  z-index: 1;
}
.about-message-description::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -541px;
  width: 401px;
  height: auto;
  aspect-ratio: 401/172;
  background: center/contain url(./assets/img/illust-about-cards-bg05.png) no-repeat;
}
.about-message-description::after {
  content: "";
  position: absolute;
  top: 20%;
  right: -200px;
  width: 61px;
  height: auto;
  aspect-ratio: 61/72;
  background-color: #f5e8e7;
  border-radius: 10px;
}
.about-message-logo {
  margin: 80px 0 0;
}
.about-message-image-wrap {
  position: absolute;
  left: calc(100% - 109px);
  bottom: 10em;
  container-type: inline-size;
  width: 455px;
}
.about-message-image-wrap::before, .about-message-image-wrap::after {
  content: "";
  position: absolute;
  height: auto;
}
.about-message-image-wrap::before {
  top: -50px;
  left: -42px;
  width: 27.9120879121%;
  aspect-ratio: 127/125;
  border-radius: 40px;
  background-color: #f5e8e7;
}
.about-message-image-wrap::after {
  bottom: -39px;
  right: -118px;
  width: 50.1098901099%;
  aspect-ratio: 228/94;
  border-radius: 20px;
  background-color: #e5e7e3;
}
.about-message-image {
  border-radius: 8.7912087912cqi;
  overflow: hidden;
  width: 100%;
}
.about-message-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media screen and (max-width: 1339px) {
  .about-message-container {
    max-width: 680px;
  }
}
@media screen and (max-width: 949px) {
  .about-message-read::after {
    right: -361px;
  }
  .about-message-knot-wrap::before {
    left: -86px;
  }
}
@media screen and (max-width: 767px) {
  .about-message-section {
    margin-top: -20px;
    margin: -20px 0 14.6153846154vw;
    border-radius: 20px 20px 0 0;
  }
  .about-message-container {
    padding: 0 20px;
    max-width: 680px;
  }
  .about-message-inner {
    margin: 0 auto;
    padding: 40px 0 10.5128205128vw;
  }
  .about-message-read {
    font-size: 1.834rem;
  }
  .about-message-read::before {
    content: "";
    position: absolute;
    top: 0;
    right: 13px;
    width: 69px;
    height: auto;
    aspect-ratio: 69/85;
    background: center/contain url(./assets/img/illust-about-cards-bg04.png) no-repeat;
  }
  .about-message-read::after {
    top: calc(100% - 15px);
    right: -125px;
    width: 233px;
  }
  .about-message-knot-wrap::before {
    top: auto;
    bottom: calc(100% + 30px);
    left: -88px;
    width: 120px;
    height: auto;
    aspect-ratio: 120/65;
    border-radius: 11.25px;
    background: #f5e8e7;
  }
  .about-message-knot-wrap {
    margin: 28px 0;
  }
  .about-message-knot .knot {
    width: 37px;
  }
  .about-message-description {
    font-size: 1.2rem;
  }
  .about-message-description::before {
    content: none;
  }
  .about-message-description::after {
    top: 100%;
    right: 12px;
    width: 45px;
    background-color: #e5e7e3;
  }
  .about-message-logo {
    margin: 40px 0 0;
  }
  .about-message-logo img {
    width: 112px;
  }
  .about-message-image-wrap {
    margin: calc(30px + 15.2189628277%) -20px 0 8.5714285714%;
    position: relative;
    left: auto;
    bottom: auto;
    width: auto;
  }
  .about-message-image-wrap::before {
    top: -14.4580146863%;
    left: -8.5714285714%;
    width: 27.8823529412%;
    border-radius: 8.8235294118cqi;
  }
  .about-message-image-wrap::after {
    bottom: -14.838488757%;
    right: -27.5588235294%;
    width: 50%;
    border-radius: 4.4117647059cqi;
  }
  .about-message-image {
    border-radius: 8.8235294118cqi 0 0 8.8235294118cqi;
  }
}
/* ===================================================
	「地域色彩とは」カード
==================================================== */
.about-feature-section {
  margin: 100px 0 0;
  padding: 120px 0 128px;
  overflow: hidden;
}
.about-feature-container {
  margin: 0 auto;
  max-width: 1048px;
}
.about-feature-inner {
  position: relative;
}
.about-feature-cards-wrapper {
  position: relative;
}
.about-feature-bg-wrap {
  position: absolute;
}
.about-feature-bg-wrap.bg01 {
  right: -341px;
  top: -93px;
}
.about-feature-bg-wrap.bg02 {
  left: 84px;
  top: -118px;
}
.about-feature-cards-wrapper::before, .about-feature-cards-wrapper::after {
  content: "";
  position: absolute;
  background-color: #f5e8e7;
}
.about-feature-cards-wrapper::before {
  top: 169px;
  left: -86px;
  width: 386px;
  height: auto;
  aspect-ratio: 386/188;
  border-radius: 40px;
}
.about-feature-cards-wrapper::after {
  bottom: -34px;
  left: calc(100% - 89px);
  width: 136px;
  height: auto;
  aspect-ratio: 136/89;
  border-radius: 10px;
}
.about-feature-card {
  border-radius: 40px;
  width: 377px;
  height: 100%;
  border: 41.5px solid var(--bg-color);
  padding: 70px 32px 124px;
  background-color: #fff;
  position: relative;
}
.about-feature-card:not(:first-child, :last-child) {
  border-radius: 0;
}
.about-feature-card-icon {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}
.about-feature-card-heading {
  text-align: center;
  font: 700 2.2rem/1.3636363636 "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.02em;
}
.about-feature-card-description {
  margin-top: 2.4em;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7142857143;
}
.about-feature-card-link {
  position: absolute;
  left: 50%;
  bottom: -41.5px;
  transform: translate(-50%, 50%);
  padding: 40px;
  border-radius: 9999px;
  background-color: var(--bg-color);
}

@media screen and (max-width: 1339px) {
  .about-feature-section {
    overflow: hidden;
  }
  .about-feature-container {
    max-width: 760px;
  }
  .about-feature-cards-wrapper {
    padding-bottom: 20px;
  }
  .about-feature-cards-wrapper::after {
    content: none;
  }
}
@media screen and (max-width: 949px) {
  .about-feature-container {
    max-width: 680px;
  }
  .about-feature-cards-wrapper {
    padding-bottom: 8px;
  }
  .about-feature-card-link .link-button-wrap {
    width: 100px;
  }
}
@media screen and (max-width: 767px) {
  .about-feature-section {
    margin: 0 0 40px;
    padding: 82px 0 0;
  }
  .about-feature-container {
    max-width: 266px;
  }
  .about-feature-cards-wrapper::before {
    top: 50%;
    left: -17.2932330827%;
    transform: translateY(-50%);
    width: 101.5037593985%;
  }
  .about-feature-cards-wrapper {
    padding-bottom: 32px;
  }
  .about-feature-bg-wrap.bg01 {
    right: -302px;
    top: -29px;
    width: 410px;
  }
  .about-feature-bg-wrap.bg02 {
    left: 22.1804511278%;
    top: -82px;
    width: 38px;
  }
  .about-feature-card {
    border-width: 32px;
    border-radius: 28px;
    width: 264px;
    padding: 45px 24px 80px;
  }
  .about-feature-card.radio .about-feature-card-icon {
    width: 64px;
  }
  .about-feature-card.interview .about-feature-card-icon {
    width: 44.3px;
  }
  .about-feature-card.search .about-feature-card-icon {
    width: 39.7px;
  }
  .about-feature-card-heading {
    font-size: 1.543rem;
  }
  .about-feature-card-description {
    font-size: 0.982rem;
  }
  .about-feature-card-link {
    bottom: -24px;
  }
  .about-feature-card-link .link-button-wrap {
    width: 80px;
  }
  .about-feature-card-link .link-button {
    padding-top: 5%;
    gap: 0.75em 0;
    font-size: 0.982rem;
  }
  .about-feature-card-link .link-button::after {
    width: 11.3px;
  }
}
/* ===================================================
	「地域色彩とは」カード
==================================================== */
/* ===================================================
	お問い合わせページ全体
==================================================== */
.contact-form-section {
  margin: -40px 0 126px;
  border-radius: 40px 40px 0 0;
  background-color: var(--bg-color);
}
.contact-form-section:has(.contact-thanks-block) {
  margin-bottom: 60px;
}
.contact-form-container {
  margin: 0 auto;
  max-width: 800px;
}
.contact-form-inner {
  padding: 72px 0 0;
}
.contact-form-content {
  border-radius: 20px;
  background-color: #fff;
  padding: 46px 40px;
  position: relative;
}
.contact-form-content:has(form) {
  padding: 46px 40px 144px;
}
.contact-form-content .wpcf7-response-output {
  position: absolute;
  left: 40px;
  right: 40px;
  bottom: 80px;
}
.contact-thanks-block {
  padding: 1em 0;
}
.contact-thanks-read {
  font-weight: 400;
  font-size: 1.6rem;
}
.contact-thanks-description {
  margin-top: 2em;
  font-weight: 400;
  font-size: 1.4rem;
}
.contact-thanks-description .attention {
  font-size: 85.7142857143%;
  color: gray;
}
@media screen and (max-width: 1339px) {
  .contact-form-container {
    max-width: 680px;
  }
}
@media screen and (max-width: 767px) {
  .contact-form-section {
    margin: -20px 0 100px;
    border-radius: 20px 20px 0 0;
  }
  .contact-form-container {
    padding: 0 20px;
  }
  .contact-form-inner {
    padding: 40px 0 0;
  }
  .contact-form-content {
    padding: 20px 20px;
  }
  .contact-form-content:has(form) {
    padding: 20px 20px 144px;
  }
  .contact-thanks-read {
    font-size: 1.5rem;
    text-align: center;
  }
  .contact-thanks-description {
    margin-top: 2em;
    font-size: 1.3rem;
  }
}
/* ===================================================
	お問い合わせページ：入力フォーム
==================================================== */
.contact-form-field-item {
  display: grid;
  gap: 0 1em;
  grid-template-columns: 155px 1fr;
}
.contact-form-field-item:not(:first-of-type) {
  margin-top: 40px;
}
.contact-form-field-name {
  padding-top: 1.25em;
}
.contact-form-field-name label {
  font-weight: 400;
  font-size: 1.4rem;
}
.contact-form-field-name .required {
  font-weight: 400;
  font-size: 1.4rem;
  color: #d2190c;
}
.contact-form-field-input input[type=text], .contact-form-field-input input[type=tel], .contact-form-field-input input[type=email], .contact-form-field-input textarea, .contact-form-field-input select {
  width: 100%;
}
.contact-form-field-input input[type=text][aria-invalid=false], .contact-form-field-input input[type=tel][aria-invalid=false], .contact-form-field-input input[type=email][aria-invalid=false], .contact-form-field-input textarea[aria-invalid=false] {
  background-color: #fff;
  border-color: #f2f0f0;
}
.contact-form-field-input input[type=checkbox] {
  width: 26px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #f2f0f0;
  border: none;
  border: 1px solid #f2f0f0;
}
.contact-form-field-input input[type=checkbox]:focus {
  border-color: #97c6ff;
  background-color: #fff;
}
.contact-form-field-input input[type=checkbox]:checked {
  background-color: #fff;
}
.contact-form-field-input input[type=checkbox]::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #333;
  border: none;
}
.contact-form-field-input .wpcf7-acceptance label {
  display: flex;
  align-items: center;
  gap: 0 0.8em;
  width: -moz-max-content;
  width: max-content;
  cursor: pointer;
  font-weight: 400;
  font-size: 1.4rem;
}
.contact-form-field-privacy-link {
  margin-top: 0.75em;
  padding-left: 3.9em;
  font-weight: 400;
  font-size: 1.4rem;
}
.contact-form-field-privacy-link a {
  text-decoration: underline;
}
.contact-form-field-privacy-link a:hover {
  text-decoration: none;
}
.contact-form-field-item-submit {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 100px);
  display: flex;
  justify-content: center;
  gap: 50px;
}
.contact-form-field-item-submit button[disabled] {
  pointer-events: none;
  opacity: 0.5;
}
.contact-form-field-submit-wrap {
  padding: 40px;
  background-color: var(--bg-color);
  border-radius: 50%;
}
.contact-form-field-submit-wrap .wpcf7-spinner {
  position: absolute;
  visibility: hidden;
}
.contact-form-field-confirm {
  display: block;
  background-color: #a3a3a3;
  color: #fff;
  padding: 1.3em 1em;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  border-radius: 8px;
}

@media screen and (max-width: 767px) {
  .contact-form-field-item {
    display: block;
  }
  .contact-form-field-item:not(:first-of-type) {
    margin-top: 24px;
  }
  .contact-form-field-name {
    padding-top: 0;
  }
  .contact-form-field-input {
    margin-top: 8px;
  }
  .contact-form-field-item-submit {
    top: calc(100% - 56px);
  }
  .contact-form-field-submit-wrap {
    padding: 32px;
  }
  .contact-form-field-item-submit .link-button-wrap {
    width: 80px;
  }
  .contact-form-field-item-submit .link-button {
    font-size: 1.4rem;
  }
  .contact-form-field-item-submit .link-button::after {
    width: 12px;
  }
  .contact-form-field-input input[type=checkbox]:focus {
    border-color: #f2f0f0;
  }
}
/* ===================================================
	「地域色彩とは」カード
==================================================== */
/* ===================================================
	その他ページ（利用規約など）
==================================================== */
.others-page-section {
  margin: -40px 0 120px;
  border-radius: 40px 40px 0 0;
  background-color: var(--bg-color);
}
.others-page-container {
  margin: 0 auto;
  max-width: 800px;
}
.others-page-inner {
  padding: 90px 0 0;
}
.others-page-inner > *:last-child {
  margin-bottom: 0 !important;
}
.others-page-inner h2, .others-page-inner h3 {
  font-size: 1.8rem;
}
.others-page-inner h2 {
  margin-bottom: 1.5em;
}
.others-page-inner h3 {
  margin-bottom: 1em;
}
.others-page-inner p:first-of-type {
  margin-bottom: 3em;
  font-size: 1.6rem;
}
.others-page-inner > p, .others-page-inner > ol {
  margin-bottom: 3em;
}
.others-page-inner p, .others-page-inner ol {
  font-size: 1.4rem;
  line-height: 1.5714285714;
}
.others-page-inner p + ol, .others-page-inner ol + p {
  margin-top: -3em;
}
.others-page-inner ol {
  padding-left: 1.5em;
}
.others-page-inner > ol {
  list-style-type: decimal;
}
.others-page-inner > ol > li > ol {
  padding-left: 2em;
  counter-reset: child-list-counter;
}
.others-page-inner > ol > li > ol > li {
  counter-increment: child-list-counter;
  position: relative;
}
.others-page-inner > ol > li > ol > li:before {
  content: "(" counter(child-list-counter) ") ";
  position: absolute;
  left: -2em;
  top: 0;
}
.others-page-inner a {
  text-decoration: underline;
}
.others-page-inner a:hover {
  text-decoration: none;
}

@media screen and (max-width: 949px) {
  .others-page-container {
    max-width: 680px;
  }
}
@media screen and (max-width: 767px) {
  .others-page-section {
    margin: -20px 0 60px;
    border-radius: 20px 20px 0 0;
  }
  .others-page-container {
    padding: 0 20px;
  }
  .others-page-inner {
    padding: 60px 0 0;
  }
  .others-page-inner h2, .others-page-inner h3 {
    font-size: 1.6rem;
  }
  .others-page-inner p:first-of-type {
    font-size: 1.4rem;
  }
  .others-page-inner p, .others-page-inner ol {
    font-size: 1.2rem;
  }
}
/* ===================================================
	「地域色彩とは」カード
==================================================== */
.notfound-page-section {
  margin: -40px 0 126px;
  border-radius: 40px 40px 0 0;
  background-color: var(--bg-color);
}
.notfound-page-container {
  margin: 0 auto;
  max-width: 800px;
}
.notfound-page-inner {
  padding: 72px 0 0;
  text-align: center;
}