@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ===================================================
   1. アーカイブ（一覧）ページ
   =================================================== */

/* グリッドレイアウト */
.p-spot-archive__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
}

@media (max-width: 599px) {
  .p-spot-archive__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* カード本体 */
.p-spot-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.p-spot-card__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

/* ホバー時の挙動 */
.p-spot-card__inner:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* サムネイル画像 */
.p-spot-card__thumb img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.p-spot-card__thumb--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 180px;
  background: #f3f4f6;
  font-size: 0.9rem;
  color: #999;
}

/* カード本文 */
.p-spot-card__body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* ラベル類 */
.p-spot-card__labels {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 6px;
}

.p-spot-card__label {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.75rem;
  line-height: 1.4;
  background: #f3f4f6;
}

.p-spot-card__label--type {
  font-weight: 600;
  background: #111827;
  color: #fff;
}

.p-spot-card__label--area {
  background: #e5f0ff;
}

.p-spot-card__label--theme {
  background: #fef3c7;
}

/* タイトル・サブタイトル・メタ情報 */
.p-spot-card__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 4px 0 4px;
}

.p-spot-card__subtitle {
  font-size: 0.85rem;
  color: #6b7280;
  margin-bottom: 8px;
}

.p-spot-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
  font-size: 0.8rem;
  color: #4b5563;
}

.p-spot-card__meta-item {
  display: inline-flex;
  align-items: center;
}

.p-spot-card__excerpt {
  font-size: 0.85rem;
  color: #4b5563;
  margin-bottom: 8px;
}

/* 特徴タグ */
.p-spot-card__features {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.p-spot-card__feature {
  font-size: 0.75rem;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eef2ff;
  color: #4f46e5;
}


/* ===================================================
   2. 詳細ページ（Single Spot）レイアウト・基本
   =================================================== */

/* 全体の横幅と余白 */
.single-spots .p-spot {
  max-width: 920px;
  margin: 0 auto 56px;
  padding: 0 16px;
}

/* ヘッダーエリア */
.single-spots .p-spot__header {
  margin-bottom: 24px;
}

.single-spots .p-spot__labels {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.single-spots .p-spot__title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .01em;
  margin-bottom: 8px;
}

.single-spots .p-spot__subtitle {
  font-size: 0.95rem;
  color: #6b7280;
  margin-top: 10px;
  line-height: 1.7;
}

/* メインビジュアル */
.p-spot__main-image {
  margin: 14px 0 10px;
}

.p-spot__main-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  object-fit: cover;
}

.p-spot__image-credit {
  margin-top: 0.3rem;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #666;
}

/* リード文 */
.single-spots .p-spot__lead {
  margin-bottom: 24px;
}

.single-spots .p-spot__excerpt {
  font-size: 0.95rem;
  color: #4b5563;
}


/* ===================================================
   3. 詳細ページ：ブロック（カードスタイル）共通
   =================================================== */

/* 各セクションをカード化してデザイン統一 */
.single-spots .p-spot__info,
.single-spots .p-spot__body,
.single-spots .p-spot__vibe,
.single-spots .p-spot__sns-wall,
.single-spots .p-spot__access,
.single-spots .p-spot__reference-links,
.single-spots .p-spot__cta-owner,
.single-spots .p-spot__highlights {
  margin: 22px 0;
  padding: 18px 20px;
  background: #ffffff;
  border: 1px solid #eef0f3;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.05);
}

/* カード内の要素の下余白調整 */
.single-spots .p-spot__info > :last-child,
.single-spots .p-spot__body > :last-child,
.single-spots .p-spot__vibe > :last-child,
.single-spots .p-spot__sns-wall > :last-child,
.single-spots .p-spot__access > :last-child,
.single-spots .p-spot__reference-links > :last-child,
.single-spots .p-spot__cta-owner > :last-child {
  margin-bottom: 0;
}

/* スマホでのカード調整 */
@media (max-width: 599px) {
  .single-spots .p-spot__info,
  .single-spots .p-spot__body,
  .single-spots .p-spot__vibe,
  .single-spots .p-spot__sns-wall,
  .single-spots .p-spot__access,
  .single-spots .p-spot__reference-links,
  .single-spots .p-spot__cta-owner,
  .single-spots .p-spot__highlights {
    padding: 16px 14px;
    border-radius: 12px;
  }
}

/* セクション見出し（PHP側 .p-spot__section-title） */
.single-spots .p-spot__section-title {
  margin: 0 0 14px;
  padding: 0 0 10px;
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .02em;
  border-bottom: 1px solid #eef0f3;
  position: relative;
}

/* 見出しのアクセントバー */
.single-spots .p-spot__section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 48px;
  height: 2px;
  background: #111827;
  opacity: .75;
  border-radius: 999px;
}

@media (max-width: 599px) {
  .single-spots .p-spot__section-title {
    font-size: 1.12rem;
  }
}

/* 小見出し（出典など） */
.single-spots .p-spot__section-title--small {
  font-size: 1.02rem;
}


/* ===================================================
   4. 詳細ページ：コンテンツ内のタイポグラフィ
   =================================================== */

.single-spots .p-spot__content {
  font-size: 1rem;
  line-height: 2.0;
}

@media (max-width: 599px) {
  .single-spots .p-spot__content {
    font-size: 0.98rem;
    line-height: 2.0;
  }
}

/* コンテンツ内の余白・リズム */
.single-spots .p-spot__content > * {
  margin-top: 0;
  margin-bottom: 14px;
}

.single-spots .p-spot__content > * + * {
  margin-top: 14px;
}

/* 本文内 h2：章見出し（背景付きボックス） */
.single-spots .p-spot__content > h2 {
  margin: 28px 0 12px;
  padding: 10px 12px;
  font-size: 1.18rem;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .02em;
  background: #f6f7f9;
  border: 1px solid #eef0f3;
  border-radius: 12px;
}

.single-spots .p-spot__content > h2 + p {
  margin-top: 14px;
}

@media (max-width: 599px) {
  .single-spots .p-spot__content > h2 {
    font-size: 1.10rem;
    padding: 9px 10px;
  }
}

/* 本文内 h3：ラベル見出し（黒背景バッジ） */
.single-spots .p-spot__content h3 {
  margin: 18px 0 8px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.5;
  padding: 6px 10px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
}

.single-spots .p-spot__content h3 + ul,
.single-spots .p-spot__content h3 + p {
  margin-top: 12px;
}

@media (max-width: 599px) {
  .single-spots .p-spot__content h3 {
    font-size: 0.98rem;
    padding: 6px 10px;
  }
}

/* リスト・箇条書き */
.single-spots .p-spot__content ul,
.single-spots .p-spot__content ol {
  padding-left: 1.2em;
  margin: 10px 0 16px 1.2em;
}

/* 体験ポイントなどのリストをカード風に */
.single-spots .p-spot__content ul > li {
  margin: 10px 0;
  padding: 10px 12px;
  background: #fbfbfc;
  border: 1px solid #eef0f3;
  border-radius: 12px;
}

.single-spots .p-spot__content li strong {
  font-weight: 700;
  display: inline-block;
  margin-bottom: 6px;
}

.single-spots .p-spot__content ol li {
  margin: 6px 0;
  padding-left: 2px;
}

/* 目次（SWELL .p-toc）のデザイン調整 */
.single-spots .p-spot__content .p-toc {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f6f7f9;
  border: 1px solid #eef0f3;
}


/* ===================================================
   5. 詳細ページ：各コンポーネント詳細
   =================================================== */

/* --- 基本情報リスト（DL/DT/DD） --- */
.single-spots .p-spot__info-list {
  margin: 0;
}

.single-spots .p-spot__info-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed #eef0f3;
}

.single-spots .p-spot__info-row:last-child {
  border-bottom: 0;
}

.single-spots .p-spot__info-row dt {
  margin: 0;
  font-size: .85rem;
  color: #6b7280;
}

.single-spots .p-spot__info-row dd {
  margin: 0;
  font-size: .95rem;
  line-height: 1.7;
}

@media (max-width: 599px) {
  .single-spots .p-spot__info-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

/* --- アクセス（Google Map） --- */
.single-spots .p-spot__map iframe {
  width: 100%;
  max-width: 100%;
  min-height: 320px;
  border-radius: 12px;
  border: none;
}

@media (max-width: 599px) {
  .single-spots .p-spot__map iframe {
    min-height: 260px;
  }
}

/* --- みんなの投稿（SNS Wall） --- */
.single-spots .p-spot__sns-note {
  margin: 8px 0 12px;
  color: #6b7280;
  font-size: .92rem;
  line-height: 1.7;
}

.single-spots .p-spot__sns-wall-body {
  display: grid;
  gap: 16px;
  /* PCは2列〜自動調整、スマホは1列 */
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  align-items: start;
}

.single-spots .p-spot__sns-item {
  display: flex;
  justify-content: center;
}

.single-spots .p-spot__sns-wall-body iframe,
.single-spots .p-spot__sns-wall-body blockquote {
  width: 100% !important;
  max-width: 100% !important;
  min-width: auto !important;
}

/* --- 出典・引用チップ --- */
/* 本文内の出典リンク */
.single-spots .p-spot__cite {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 0 6px;
  font-size: 11px;
  line-height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  color: rgba(0, 0, 0, 0.55);
  background: transparent;
  opacity: 1;
  text-decoration: none;
  white-space: nowrap;
  transform: translateY(-1px);
}

.single-spots .p-spot__cite:hover,
.single-spots .p-spot__cite:focus {
  color: rgba(0, 0, 0, 0.75);
  border-color: rgba(0, 0, 0, 0.28);
  text-decoration: none;
}

/* 一覧用の出典チップ（現在非表示設定） */
.single-spots .p-spot__source-chips {
  display: none;
}

/* フッター付近の出典リンク集 */
.single-spots .p-spot__reference-links-item a {
  line-height: 1.6;
}

/* --- オーナー向けCTA --- */
.single-spots .p-spot__cta-owner {
  font-size: 0.9rem;
}

.single-spots .p-spot__cta-owner-note {
  font-size: 0.85rem;
  color: #6b7280;
  margin-top: 4px;
}

.p-breadcrumb__list {
    flex-wrap: wrap;
}
.single .p-breadcrumb__item:last-child>span.p-breadcrumb__text {
    display: block!important;
    opacity: 1;
    white-space: pre-wrap;
}

/* spots アーカイブの補足文 */
.p-spots-archive-lead {
  display: block;
  margin-top: 0.5em;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.6;
  color: inherit;
}

.p-course__meta { list-style: none; padding-left: 0; margin: 12px 0 0; }
.p-course__metaItem { margin: 4px 0; }

.p-course__divider { margin: 32px 0; }

.p-course__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 768px){
  .p-course__cards { grid-template-columns: 1fr; }
}
.p-course__cardLink { display:block; text-decoration:none; }
.p-course__cardTitle { margin: 8px 0 0; font-weight: 700; }
.p-course__cardExcerpt { margin: 6px 0 0; font-size: 0.95em; opacity: 0.85; }

.p-archiveCourses__lead{ margin: 8px 0 0; }
.p-archiveCourses__grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; margin-top:16px; }
@media (max-width: 768px){ .p-archiveCourses__grid{ grid-template-columns: 1fr; } }
.p-archiveCourses__link{ display:block; text-decoration:none; padding:16px; border:1px solid rgba(0,0,0,.08); border-radius:12px; }
.p-archiveCourses__cardTitle{ margin:0; font-size:1.1em; font-weight:700; }
.p-archiveCourses__summary{ margin:8px 0 0; opacity:.9; }
.p-archiveCourses__meta{ list-style:none; padding-left:0; margin:10px 0 0; font-size:.95em; opacity:.85; }
.p-archiveCourses__meta li{ margin:4px 0; }
.p-archiveCourses__pager{ margin-top:24px; }

.p-course__more{ margin: 12px 0 0; }
.p-course__moreNote{ display:block; margin-top:6px; font-size:.92em; opacity:.75; }



/* =========================
   TOP：SWELLのメインビジュアルを非表示（B案）
   ========================= */
.home .l-mainVisual,
.home .p-mainVisual {
  /* display: none !important; */
}

/* MVが消えた分、上の余白が不自然なら微調整（必要な場合のみ） */
.home .l-content {
  padding-top: 0;
}

/* =========================
   TOP：独自FV（B案）
   ========================= */
.hp-hero{
  padding: clamp(28px, 5vw, 64px) 0;
}

.hp-hero__inner{
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
}

.hp-hero__kicker{
  margin: 0 0 10px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .75;
}

.hp-hero__title{
  margin: 0 0 14px;
  font-size: clamp(28px, 4.2vw, 46px);
  line-height: 1.18;
  letter-spacing: .02em;
}

.hp-hero__lead{
  margin: 0 0 22px;
  font-size: 16px;
  line-height: 1.9;
  max-width: 60ch;
  opacity: .92;
}

.hp-hero__cta{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ボタン：目標サイト寄せ（角丸・控えめ） */
.hp-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  transition: transform .12s ease, opacity .12s ease;
}

.hp-btn:hover{ transform: translateY(-1px); }

.hp-btn--primary{
  background: var(--color_main, #4D99C1);
  color: #fff;
}

.hp-btn--ghost{
  background: transparent;
  border: 1px solid rgba(0,0,0,.18);
  color: inherit;
}

/* SP微調整 */
@media (max-width: 600px){
  .hp-hero__inner{ width: calc(100% - 32px); }
  .hp-hero__lead{ font-size: 15px; }
  .hp-btn{ width: 100%; }
}


/* =========================
   TOP：セクション見出し（青帯）を撤去してミニマル化
   対象：HOME本文内の h2
   ========================= */
.home .post_content h2{
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  margin: 44px 0 14px !important;
  border: none !important;
  box-shadow: none !important;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.25;
  letter-spacing: .02em;
}

/* SWELL見出し装飾の疑似要素が乗っている場合も消す */
.home .post_content h2::before,
.home .post_content h2::after{
  content: none !important;
}

/* 見出し下に“静かな区切り線”を付けて、情報の区切りは残す */
.home .post_content h2{
  border-bottom: 1px solid rgba(0,0,0,.12) !important;
  padding-bottom: 10px !important;
}

/* =========================
   Header: compact & calm (goal: dual-life-iju like)
   ========================= */

/* 1) ヘッダー全体の縦圧縮 */
.l-header,
.l-header__inner,
.p-header {
  min-height: 56px; /* 目安。SPは下で別調整 */
}

.l-header__inner {
  padding-top: 8px;
  padding-bottom: 8px;
  width: 90%;
  max-width: 1720px;
  background: #fff;
  border-radius: 0 0 20px 20px;
}

/* 2) ロゴを少し小さめ・余白を減らす */
.c-siteLogo,
.c-siteLogo__link,
.c-siteLogo img {
  max-height: 32px;
}

/* 3) グローバルナビ：小さめ・軽め・字間少し */
.c-gnav a,
.p-gnav a,
.l-header a {
  font-size: 13px;
  letter-spacing: .04em;
}

/* 4) ナビの余白（横の間隔）を詰める */
.c-gnav li,
.p-gnav li {
  margin: 0 10px;
}

/* 5) “青い最上部帯”の主張を弱める（不要なら消す）
   ※SWELL側の構造差があるので、まずは「薄くする」指定にしています。
   消したい場合は opacity を 0 に変更してください。
*/
.p-topBar,
.l-headerTop,
.p-headerTop,
.p-gnav__bg {
  opacity: .25;
}

/* 6) ヘッダー下の境界線を薄く（目標サイトは線が繊細） */
.l-header {
  box-shadow: none !important;
  border-bottom: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: transparent;
}

/* SP：ヘッダーさらに圧縮 */
@media (max-width: 600px){
  .l-header__inner { padding-top: 6px; padding-bottom: 6px; }
  .c-siteLogo img { max-height: 28px; }
}

/* =========================
   Section spacing refinement
   ========================= */

/* HOMEの主要セクション間余白を統一 */
.home .post_content > * + * {
  margin-top: clamp(56px, 7vw, 96px);
}

/* 見出し直下は少し詰める */
.home .post_content h2 + * {
  margin-top: 20px;
}
/* セクション区切り線をさらに控えめに */
.home .post_content h2 {
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
}
/* =========================
   Button hierarchy (dual-life-iju style)
   ========================= */

/* メインボタン */
.hp-btn--primary {
  background: var(--color_main, #4D99C1);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

/* サブボタン */
.hp-btn--ghost {
  background: transparent;
  border: 1px solid rgba(0,0,0,.15);
  color: inherit;
  box-shadow: none;
}

/* ホバーも控えめ */
.hp-btn:hover {
  transform: translateY(-1px);
  opacity: .9;
}
/* =========================
   Card background cleanup
   ========================= */

.home .p-spot-card,
.home .c-postThumb,
.home .wp-block-group {
  background: #fff;
  box-shadow: none;
  border-radius: 6px;
}

/* カード上部ラベルを“静か”に（dual-life-iju寄せ） */
.p-spot-card__labels{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 10px;
}

.p-spot-card__label{
  font-size:12px;
  letter-spacing:.04em;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background: transparent;
  color: inherit;
  opacity:.85;
}

.p-spot-card__label--type{
  border-color: rgba(0,0,0,.18);
  opacity:.95;
}
/* =========================
   Feature chips (max 3) - calm & readable
   ========================= */

.p-spot-card__features{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}

.p-spot-card__feature{
  font-size:11px;
  line-height:1;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background: transparent;
  color: inherit;
  opacity:.82;
  letter-spacing:.03em;
}

/* SPで詰まりやすいので少しだけ小さく */
@media (max-width: 600px){
  .p-spot-card__feature{
    font-size:10.5px;
    padding:4px 9px;
  }
}

/* =========================
   Spot card layout refinement (dual-life-iju like)
   ========================= */

/* グリッドの密度：PCは3列基準、余白を均一に */
.p-spot-archive__grid{
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 980px){
  .p-spot-archive__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 600px){
  .p-spot-archive__grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* カード：影を弱く、角丸を控えめ、余白を整える */
.p-spot-card{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}

.p-spot-card__inner{
  display: block;
  text-decoration: none;
  color: inherit;
}

/* 画像：比率を固定して“整列感”を出す */
.p-spot-card__thumb{
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: rgba(0,0,0,.03);
}

.p-spot-card__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 本文の余白：呼吸感を統一 */
.p-spot-card__body{
  padding: 16px 16px 18px;
}

/* タイトル：詰めすぎず、強すぎず */
.p-spot-card__title{
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.35;
  letter-spacing: .01em;
}

/* サブタイトルとメタは控えめ */
.p-spot-card__subtitle,
.p-spot-card__meta,
.p-spot-card__excerpt{
  opacity: .9;
}

/* ホバー：持ち上げない（静かに） */
.p-spot-card__inner:hover{
  opacity: .92;
}
/* =========================
   Label position & weight tuning
   ========================= */

/* ラベル全体を少しコンパクトに */
.p-spot-card__labels{
  margin-bottom: 6px;
  gap: 4px;
}

/* ラベルをさらに軽く */
.p-spot-card__label{
  font-size: 11px;
  padding: 3px 8px;
  opacity: .75;
  border-width: 1px;
}

/* タイトルを“主役”に戻す */
.p-spot-card__title{
  margin-top: 4px;
  font-size: 18px;
  line-height: 1.4;
}

/* SPではラベルをさらに控えめに */
@media (max-width: 600px){
  .p-spot-card__labels{
    margin-bottom: 4px;
  }
  .p-spot-card__label{
    font-size: 10.5px;
  }
}


/* =======================================================
   my customize
======================================================== */
:root {
  --Red: #D55A59;
  --Green: #62A366;
  --Yellow: #DFCE71;
  --Blue: #5ca1c1;
}

.p-mainVisual__slideTitle {
  font-family: "Hina Mincho";
  font-size: clamp(24px,2.567vw,48px);
  margin-bottom: 20px;
}
.p-mainVisual__slideText {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.06em;
}


.p-mainVisual {
  height: calc(100vh - 81px);
  margin: clamp(20px,3.571vw,50px);
  width: calc(100% - 100px)
}
.p-mainVisual__inner {
  display: flex;
  background: #d5ebf6;
}
.p-mainVisual__textLayer {
  position: relative;
  align-items: flex-start;
  width: 50%;
  left:  0;
  transform: translateX(0);
  margin-left: clamp(20px,5.348vw,100px);
  padding-left: 0;
}
.swiper-wrapper {
  width: 50%;
  order: 2;
}

/*  Global navi
==========================*/
.c-gnav > .menu-item {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 600;
}
.c-gnav > .menu-item,
.c-gnav > .menu-item::before {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.c-gnav>.menu-item>a:after {
  display: none;
}
.c-gnav > .menu-item:hover {
  color: var(--Blue);
}
.c-gnav>.menu-item::before {
  display: block;
  position: absolute;
  top: 13px;
  left: calc(50% - 4px);
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: var(--Blue);
  transform: scale(0);
  transition: transform .3s;
}
.c-gnav > .menu-item:hover::before {
  transform: scale(1.1);
}