@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
*/



#fix_bottom_menu .menu-item i{display:none;}
#fix_bottom_menu span{font-size:14px;}

.p-blogParts[data-partsid="32"]{margin-bottom:0px;}

/* reCAPTCHAバッジを非表示 */
.grecaptcha-badge {visibility: hidden;}


/* ---------------------------------------サイドバー
------------------------------------------ */
.sidebar_block h2,
.sidebar_block .p-postList .p-postList__title{font-weight:normal;}
.sidebar_block .p-postList__meta{display:none;}

/* 1. as(.c-一旦、3つのサイドバーをすべて非表示にする*/
.sidebar_column, 
.sidebar_news, 
.sidebar_case,
.sidebar_document,
.sidebar_seminar{
    display: none !important;
}

/* 2. コラム（ID 9） */
.category-column .sidebar_column,
body:has(.c-categoryList__link[data-cat-id="9"]) .sidebar_column {
    display: block !important;
    margin-top: 1rem;
}
body:has(.p-articleMetas [data-cat-id="1"]) .l-articleBottom__section {
  display: none;
}

/*  3. お知らせ（ID 1） */
/* アーカイブページ OR お知らせカテゴリーに属する記事ページ */
.category-news .sidebar_news,
body:has(.c-categoryList__link[data-cat-id="1"]) .sidebar_news {
    display: block !important;
	margin-top:1rem;
}

/* 4. 導入事例（親アーカイブ・子アーカイブ・記事すべて）*/

/* 導入事例アーカイブ (親ID: 10) */
body .category-10 .sidebar_case,

/* 導入事例の子カテゴリーアーカイブ（パンくずリストに「施工事例」へのリンクがあるページ） */
body:has(.p-breadcrumb__list a[href*="/category/case/"]) .sidebar_case,

/* 導入事例の記事ページ（カテゴリーリストの中に「施工事例 ID 10」が含まれるページ） */
body:has(.c-categoryList__link[data-cat-id="10"]) .sidebar_works {
    display: block !important;
	margin-top:1rem;
}

/*  5. 資料ダウンロード（ID 12） */
/* アーカイブページ OR お知らせカテゴリーに属する記事ページ */
.category-document .sidebar_document,
body:has(.c-categoryList__link[data-cat-id="12"]) .sidebar_document {
    display: block !important;
	margin-top:1rem;
}

/*  6. セミナー（ID 3） */
/* アーカイブページ OR お知らせカテゴリーに属する記事ページ */
.category-seminar .sidebar_seminar,
body:has(.c-categoryList__link[data-cat-id="11"]) .sidebar_seminar {
    display: block !important;
	margin-top:1rem;
}



/* 6. サイドバー｜SP */
@media screen and (max-width: 960px) {
	body:has(.c-categoryList__link[data-cat-id="9"]) .sidebar_column,
body:has(.c-categoryList__link[data-cat-id="1"]) .sidebar_news,
body:has(.p-breadcrumb__list a[href*="/category/works/"]) .sidebar_works, body:has(.c-categoryList__link[data-cat-id="10"]) .sidebar_case,
	/*body:has(.c-categoryList__link[data-cat-id="12"]) .sidebar_document,{*/
    body:has(.c-categoryList__link[data-cat-id="12"]) .sidebar_document {
    display: none !important;

}
body:has(.p-breadcrumb__list a[href*="/category/case/"]) .sidebar_case{display:none!important;}
}

#pagetop{display:none;}


/* ============================
   フォント読み込み
============================ */

@font-face {
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-display: swap;
  src: url("/oarstest/wp-content/uploads/fonts/NotoSansJP-Medium-subset.woff2?v=2") format("woff2");
}
/* 数字用フォント：本研修で得られる成果 */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/oarstest/wp-content/uploads/fonts/Oswald-Bold-numbers.woff2') format('woff2');
}

/* ============================
   PCヘッダーメニュー
============================ */
@media (min-width: 960px) {

  /* --- ヘッダーの左右余白（ロゴ左120px・メニュー右70px） --- */
  .l-header__inner {
    padding-left: 120px;
    padding-right: 70px;
  }
  .l-header__logo { padding: 0; }

  /* --- ナビ（14px・項目間32px） --- */
  .l-header__gnav .c-gnav > li > a {
    font-size: 14px;
    padding: 0 16px;
  }

 /* SWELLがボタンの入れ物に付ける余白を除去 */
  .l-header .w-header,
  .l-fixHeader .w-header {
    margin-left: 0 !important;
  }
	
  /* --- ヘッダーのボタン2つ（185×44・間隔16px） --- */
  .l-header .p-blogParts,
  .l-fixHeader .p-blogParts { margin-left: 16px; }

  .l-header .p-blogParts .swell-block-columns__inner,
  .l-fixHeader .p-blogParts .swell-block-columns__inner {
    flex-wrap: nowrap;
    gap: 16px;
  }
  .l-header .p-blogParts .swell-block-column,
  .l-fixHeader .p-blogParts .swell-block-column {
    width: 185px !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  .l-header .swell-block-button__link,
  .l-fixHeader .swell-block-button__link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 185px !important;
    height: 44px;
    padding: 0 11px 0 16px !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }


  /* --- MVボタン（228×52・間隔16px） --- */
  .p-mainVisual .h_cta .swell-block-columns__inner {
    flex-wrap: nowrap;
    gap: 16px;
  }
  .p-mainVisual .h_cta .swell-block-column {
    width: 228px !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  .p-mainVisual .h_cta .swell-block-button__link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 52px;
    padding: 0 20px;
    font-size: 18px !important;
    line-height: 1 !important;
    width: 100% !important;
  }


  /* --- ボタンの「＞」 --- */
  .l-header .swell-block-button__link::after,
  .l-fixHeader .swell-block-button__link::after,
  .p-mainVisual .h_cta .swell-block-button__link::after {
    position: static !important;
    margin: 0 !important;
    transform: rotate(45deg) !important;
    flex-shrink: 0;
  }

 /* ボタン文字は中央、＞は右端固定 */
  .l-header .swell-block-button__link > span,
  .l-fixHeader .swell-block-button__link > span,
  .h_cta .swell-block-button__link > span {
    flex: 1 1 auto;
    text-align: center;
  }

  /* --- MVテキストの左端をロゴと揃える --- */
  .p-mainVisual__textLayer {
    padding-left: 120px;
    padding-right: 70px;
  }

  /* --- キャッチコピー→ボタンの余白48px --- */
  .p-mainVisual .pc_only h1 { margin-bottom: 48px !important; }
	
  /* ヘッダーボタンの入れ物幅を中身に合わせる（はみ出し防止） */
  .l-header .custom-html-widget,
  .l-header .p-blogParts,
  .l-header .p-blogParts .swell-block-columns,
  .l-fixHeader .custom-html-widget,
  .l-fixHeader .p-blogParts,
  .l-fixHeader .p-blogParts .swell-block-columns {
    width: max-content !important;
    max-width: none !important;
  }
}

  /* 追従ヘッダー内の縦位置を中央揃えに */
  .l-fixHeader__inner {
    align-items: center;
  }

/* SWELL標準のヘッダー下端ラインを非表示 */
.c-gnav > li > a::after {
	 display: none!important;
}

 /* メニュー文字 */
.c-gnav > li > a .ttl {
    display: inline-block;
    padding: 6px 0;
    color: inherit;
    background-image:
      linear-gradient(var(--color_main), var(--color_main));
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 2px;
    transition:
      color 0.25s ease,
      background-size 0.25s ease;
}
 /* リンク全体の色は変更しない */
  .c-gnav .sub-menu > li > a:hover,
  .c-gnav .sub-menu > li > a:focus-visible {
    color: inherit !important;
    background-color: transparent;
  }

  /* 文字部分だけ変更 */
  .c-gnav .sub-menu > li > a:hover .ttl,
  .c-gnav .sub-menu > li > a:focus-visible .ttl {
    color: var(--color_main) !important;
  }

  /* ＞は通常色を維持 */
  .c-gnav .sub-menu > li > a::before {
    color: #333 !important;
    border-color: #333 !important;
  }
/* 通常ヘッダー・追従ヘッダー共通
   ホバー時に文字だけメインカラーへ変更 */
.c-gnav > li > a:hover,
.c-gnav > li > a:hover .ttl,
.c-gnav > li > a:focus-visible,
.c-gnav > li > a:focus-visible .ttl {
    color: var(--color_main) !important;
}

/* ホバー・キーボード操作時 */
.c-gnav > li > a:hover .ttl,
.c-gnav > li > a:focus-visible .ttl {
    color: var(--color_main);
    background-size: 100% 2px;
}

/* ヘッダー調整 */
/* ② 太字の見え方調整（Mac描画対策・サイト全体） */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (min-width: 960px) {
  /* ①③ 文字を上下中央に */
  .l-header .swell-block-button__link,
  .l-fixHeader .swell-block-button__link {
    line-height: 1.5 !important;
    padding-right: 16px !important;
  }
  /* ① 矢印のサイズと位置を調整 */
  .l-header .swell-block-button__link::after,
  .l-fixHeader .swell-block-button__link::after {
    width: 5px !important;
    height: 5px !important;
    border-top-width: 1.25px !important;
    border-right-width: 1.25px !important;
    margin-right: 7.4px !important;
  }
  /* ④ 追従ヘッダーの高さを通常と同じ80pxに */
  .l-fixHeader__logo { padding: 12.5px 0 !important; }
}

/* 960〜1439pxは既存のvw縮小に合わせてスケール */
@media (min-width: 960px) and (max-width: 1439px) {
  .l-header .swell-block-button__link,
  .l-fixHeader .swell-block-button__link {
    padding-right: clamp(8px, 1.1vw, 16px) !important;
  }
  .l-header .swell-block-button__link::after,
  .l-fixHeader .swell-block-button__link::after {
    margin-right: clamp(3px, 0.51vw, 7.4px) !important;
  }
}

/* ヘッダーボタン 文字を中央＋矢印の右余白 */
@media (min-width: 1440px) {
  .l-header .swell-block-button__link,
  .l-fixHeader .swell-block-button__link {
    position: relative;
    justify-content: center !important;
    letter-spacing: 0.04em !important;   /* Figma 4%。1px→0.6px */
  }
  .l-header .swell-block-button__link > span,
  .l-fixHeader .swell-block-button__link > span {
    flex: 0 0 auto !important;           /* 伸ばさない＝文字が真ん中に来る */
  }
  .l-header .swell-block-button__link::after,
  .l-fixHeader .swell-block-button__link::after {
    position: absolute !important;
    right: 17px;
    top: 50%;
    margin: 0 !important;
    transform: translateY(-50%) rotate(45deg) !important;
  }
}

/* ヘッダーのボタン文字とナビ文字を0.5px上げ(矢印と揃える) */
@media (min-width: 960px) {
  /* ボタン文字(通常・追従とも) */
  .l-header .swell-block-button__link > span,
  .l-fixHeader .swell-block-button__link > span {
    position: relative;
    top: -0.5px;
  }
  /* ナビ文字も同じだけ上げて第54弾の揃えを維持 */
  .c-gnav > li > a .ttl {
    position: relative;
    top: -0.5px;
  }
}

/* tabで親メニューにフォーカスがある間は子メニューを表示 */
@media screen and (min-width: 960px) {
.menu-parent-contact:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
/* お問い合わせホバー時 */
.menu-parent-nolink > a {
  cursor: default !important;
  pointer-events: none;
 }
}


/* ============================
   MV
============================ */
/* MV背景画像を上端基準で表示 */
.p-mainVisual__img { object-position: center top !important; }

/* キャッチコピーからボタンまでの余白（Figma: 48px） */
.p-mainVisual .pc_only h1 { margin-bottom: 48px !important; }

/* MV 写真ループ */
.oars-mv {
  position: absolute;
  top: 0;
  /*right: 48px;*/
  right: 59px;
  bottom: 0;
  /*width: 46%;*/
  width: 47.92%;
  display: flex;
  gap: 16px;
  overflow: hidden;
}
/* MVの高さ確保＋テキストを縦中央に */
.p-mainVisual__textLayer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: min(720px, 100vh);
}
/* 写真ループの位置基準をMV全体にする（SWELLの構造回避） */
.p-mainVisual .p-blogParts { position: static; }

.oars-mv__col {
  flex: 1;
  overflow: hidden;
}
.oars-mv__col--up { margin-top: -40px; }

.oars-mv__track {
  display: flex;
  flex-direction: column;
}
.oars-mv .oars-mv__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.oars-mv .oars-mv__list li {
  margin: 0 0 16px;
}
.oars-mv__list img {
  display: block;
  width: 100%;
  height: auto;
}

.oars-mv__col--up .oars-mv__track {
  animation: oars-loop-up 40s linear infinite;
}
.oars-mv__col--down .oars-mv__track {
  animation: oars-loop-down 40s linear infinite;
}
@keyframes oars-loop-up {
  from { transform: translateY(0); }
  to   { transform: translateY(-50%); }
}
@keyframes oars-loop-down {
  from { transform: translateY(-50%); }
  to   { transform: translateY(0); }
}

/* 動きが苦手な人向けに停止（アクセシビリティ） */
@media (prefers-reduced-motion: reduce) {
  .oars-mv__track { animation: none !important; }
}

/* SPでは非表示（SP用グループ側の見せ方に任せる） */
@media (max-width: 959px) {
  .oars-mv { display: none; }
}

/* MVボタンの左ズレ解消 */
 .h_cta .swell-block-columns__inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
 }

/* ============================
   MVテキストの影を消す（SWELLデフォルトの打ち消し）
============================ */
.p-mainVisual__textLayer {
  text-shadow: none !important;
}

/* ===============================================
   SP版MV写真スライダー(上段=左流れ/下段=右流れ)
=============================================== */
.oars-mv-sp-row--left, .oars-mv-sp-row--right { display: none; } /* PC非表示 */
@media (max-width: 959px) {
  .oars-mv-sp-row--left, .oars-mv-sp-row--right {
    display: block; overflow: hidden;
    width: 100vw; margin-left: calc(50% - 50vw); /* 全幅化 */
  }
  .oars-mv-sp-row--left + .oars-mv-sp-row--right { margin-top: 4px; }
  .oars-mv-sp-row--left .swell-block-columns__inner,
  .oars-mv-sp-row--right .swell-block-columns__inner {
    display: flex; flex-wrap: nowrap; width: max-content;
    margin: 0 !important; gap: 0 !important;
  }
  .oars-mv-sp-row--left .swell-block-column,
  .oars-mv-sp-row--right .swell-block-column {
    width: auto !important; flex: 0 0 auto !important;
    margin: 0 8px 0 0 !important;
  }
  .oars-mv-sp-row--left img, .oars-mv-sp-row--right img {
    width: 160px; height: 192px; object-fit: cover; display: block;
  }
  .oars-mv-sp-row--left .swell-block-columns__inner  { animation: oars-sp-left 40s linear infinite; }
  .oars-mv-sp-row--right .swell-block-columns__inner { animation: oars-sp-right 40s linear infinite; }
}
@keyframes oars-sp-left  { from { transform: translateX(0); }    to { transform: translateX(-50%); } }
@keyframes oars-sp-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) {
  .oars-mv-sp-row--left .swell-block-columns__inner,
  .oars-mv-sp-row--right .swell-block-columns__inner { animation: none !important; }
}

/* スライダー余白 */
@media (max-width: 959px) {
  /* お問い合わせボタンの下 = 48px */
  .oars-mv-sp-row--left { margin-top: 48px; margin-bottom: 8px; }
  /* スライダー上段と下段の間 = 8px */
  .oars-mv-sp-row--left + .oars-mv-sp-row--right { margin-top: 8px; }
}


/* ============================
   ポップアップ
============================ */
/* ポップアップの白縁・黒い影を除去 */
.pum-container.theme-595 {
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* 閉じるボタンをカンプの×デザインに（紺丸・白×・右上重なり） */
.pum-close.popmake-close {
  position: absolute !important;
  top: -8px !important;
  right: -6px !important;
  left: auto !important;
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #001A44 !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 24px !important;
  text-align: center !important;
  border: none !important;
  box-shadow: none !important;
}

@media screen and (min-width: 960px) {
	#popmake-602 { max-width: 246px !important; }
}

/* 80分動画バナー: スクロールするまで非表示、出る時ふわっと */
#popmake-602 { visibility: hidden; }
body.oars-banner-visible #popmake-602 {
  visibility: visible;
  animation: oarsBannerIn .8s ease both;
}
@keyframes oarsBannerIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

/* ============================
   footer
============================ */
/* フッターのコンテンツ幅を1200pxに */
.oars-footer .swell-block-fullWide__inner {
  max-width: calc(1200px + 96px);
}
.swell-block-linkList.is-style-default .swell-block-linkList__icon {
    color: #333;
}

/* フッターの透かしロゴ（PC:左下 / SP:右下） */
.oars-footer {
  background-image: url('https://tb-sales.com/wp-content/uploads/2026/09/oars_mark_faded_v2.webp');
  background-repeat: no-repeat;
  background-size: 207px auto;
  background-position: left -10px bottom -25px;
}
@media (max-width: 959px) {
  .oars-footer {
    background-position: right -16px bottom -26px;
  }
}

/* ロゴ下余白 */
/* フッターのロゴ下余白 */
.oars-footer .wp-block-image {
  margin-bottom: 24px !important;
}

/* フッター配置調整 */
@media screen and (min-width: 960px) {
.oars-footer.pc_only .swell-block-fullWide__inner > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) { --clmn-w--pc: 51.6% !important; }
.oars-footer.pc_only .swell-block-fullWide__inner > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) { --clmn-w--pc: 15.9% !important; }
.oars-footer.pc_only .swell-block-fullWide__inner > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) { --clmn-w--pc: 16.6% !important; }
.oars-footer.pc_only .swell-block-fullWide__inner > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(4) { --clmn-w--pc: 15.9% !important; }
}

/* フッター＞ */
.oars-footer .swell-block-linkList__icon { font-size: 11.4px; }
.oars-footer .swell-block-linkList__link { gap: 12px; }

/* 住所 */
.footer-address {
	font-size: 14px;
	letter-spacing: 0.08em;
}

/* フッター: 子ページのインデント */
.oars-footer-child {
  padding-left: 1.25em;
}


/* ============================
   コピーライトエリア
============================ */
.l-footer__foot {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 40px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  text-align: center;
}
.l-footer__foot .copyright {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

/* スマートフォン */
@media (max-width: 767px) {
  .l-footer__foot {
    height: 32px;
	font-size: 12px
  }
}

/* ==========================================
   フッター上の白い帯を消す
========================================== */
.p-blogParts[data-partsid="32"] {
margin-bottom: 0 !important;
}

/* ==========================================
   SP版 MV
========================================== */

@media (max-width: 959px) {
  /* MVテキストの開始位置 */
  .p-mainVisual__textLayer { padding-top: 8px !important; }
	
  /* MVの余計な縦余白を解除（PC用ルールの打ち消し） */
  .p-mainVisual__textLayer {
    min-height: 0 !important;
    justify-content: flex-start !important;
  }
  /* ボタンの積み間隔をきっちり16pxに */
  .h_cta .swell-block-columns__inner { display: block; }
  .h_cta .swell-block-column { margin: 0 !important; }
  .h_cta .swell-block-column + .swell-block-column { margin-top: 16px !important; }
	
  /* --- MVボタン：縦積み・全幅・高さ52px --- */
  .h_cta .swell-block-button__link {
    display: flex !important;
    align-items: center;
    height: 52px;
    padding: 0 32px !important;
    font-size: 16px !important;
    line-height: 1 !important;
    width: 100% !important;
  }
  .h_cta .swell-block-button__link > span {
    flex: 1 1 auto;
    text-align: center;
  }
  .h_cta .swell-block-button__link::after {
    position: static !important;
    margin: 0 !important;
    transform: rotate(45deg) !important;
    flex-shrink: 0;
  }

  /* スマホ：MVボタンの幅を100%に */
  .h_cta .swell-block-column {
    width: 100% !important;
  }
}
/* スマホ：MVテキスト下の余白38px（貼り直し版） */
@media (max-width: 959px) {
  .p-mainVisual h1.wp-block-heading {
    margin-bottom: 38px !important;
  }
   /* MVテキストの行送りを詰める（見えない空白の除去） */
  .p-mainVisual h1.wp-block-heading {
    line-height: 1.3;
  }
}

  /* ==========================================
     スマホ開閉メニュー
  ========================================== */
.p-spMenu__nav {
	padding-top: 40px;
}
  .p-spMenu__inner {
    width: 100% !important;
    max-width: none !important;
    position: relative;
    padding-top: 64px;
    overflow-y: auto !important;
  }
  /* メニュー右下の透かし（SWELLの白背景シートに直接描く） */
  .p-spMenu__inner::before {
    background-image: url('https://tb-sales.com/wp-content/uploads/2026/09/oars_mark_faded_v2.webp') !important;
    background-repeat: no-repeat !important;
    background-position: right -26px bottom 240px !important;
    background-size: 213px auto !important;
  }
  .p-spMenu__body { position: static !important; }

  /* MENUタイトル・区切り線は非表示 */
  .c-widget__title.-spmenu { display: none; }
  .p-spMenu a { border-bottom: none !important; }
  .p-spMenu li { border: none !important; }

  /* 上部バー：ロゴ（左・ヘッダーと同サイズ）と×（右） */
  .p-spMenu__closeBtn {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 2;
  }
  .p-spMenu .widget_media_image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 10px 15px;
    background: #fff;
    z-index: 1;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  }
  .p-spMenu .widget_media_image img {
    width: 119px !important;
    height: auto;
  }

/* スマホ開閉メニュー下余白調整 */
.p-spMenu__nav {
    padding-bottom: 1em;
}

  /* ボタン：1個目を紺に・間隔16px */
  .p-spMenu .p-blogParts .swell-block-button:first-child .swell-block-button__link {
    background-color: #001A44 !important;
  }
  .p-spMenu .p-blogParts .swell-block-button { margin: 0 !important; }
  .p-spMenu .p-blogParts .swell-block-button + .swell-block-button { margin-top: 16px !important; }

  /* メニューを開いてる間はポップアップを隠す */
  html[data-spmenu="opened"] .pum-overlay { display: none !important; }

/* 閉じるスライド距離を幅100%仕様に合わせる */
.-right .p-spMenu__inner {
  transform: translateX(102%);
}
/* 開いた時は定位置（必ず↑の後に書く） */
[data-spmenu="opened"] .p-spMenu__inner {
  transform: translateX(0);
}

/* フォントサイズ */
.p-spMenu__nav {
	font-size: 15px;
}
/* スマホ開閉メニュー内のボタン文字 */
@media (max-width: 959px) {
  .p-spMenu .swell-block-button__link,
  .p-spMenu .swell-block-button__link span {
    font-size: 16px !important;
  }
}

@media (max-width: 959px) {
  .p-spMenu__closeBtn { top: 1px; }
}

/* ============================
   スマホハンバーガーメニューアイコン
============================ */
@media (max-width: 959px) {

  /* ハンバーガーと×の共通設定 */
  .l-header__menuBtn .c-iconBtn__icon,
  .p-spMenu__closeBtn .c-iconBtn__icon {
    display: grid;
    width: 30px !important;
    height: 30px !important;
    color: #2b71b8 !important;
    font-size: 30px !important;
    line-height: 1 !important;
    place-items: center;
  }

  /* アイコンフォントにも色・サイズを適用 */
  .l-header__menuBtn .c-iconBtn__icon::before,
  .p-spMenu__closeBtn .c-iconBtn__icon::before {
    color: #2b71b8 !important;
    font-size: 30px !important;
    line-height: 1 !important;
  }
}
/* スマホ開閉メニュー余白調整 */
@media (max-width: 959px) {
  .p-spMenu__nav .c-spnav {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .p-spMenu__nav .c-spnav > .menu-item {
    margin: 0;
  }

  .p-spMenu__nav .c-spnav > .menu-item > a {
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* ============================
   スマホ固定footer
============================ */
#fix_bottom_menu .menu_list li a {	
	display: flex;
	flex-direction: column; /* アイコンとテキストを縦並び */
	align-items: center;
	justify-content: center;
	text-align: center;
	flex: 1; /* 均等幅 */
	font-weight: bold; /* 文字を太く */
	color: #fff; /* テキスト色（白に例） */
	text-decoration: none;
	padding: 10px 0;
	height: 50px;
}	
	
/* 各メニューごとに背景色 */	
#fix_bottom_menu .menu-item-296 a {	
	background-color: #001A44;
}	
	
#fix_bottom_menu .menu-item-297 a {	
	background-color: var(--color_main);
}	

/* 固定フッターの白い台座（Figma: padding8px・影ぼかし6の35%） */
#fix_bottom_menu {
  background: #fff;
  padding: 8px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.35);
}
/* SWELLが敷く背景レイヤーも白に揃える */
#fix_bottom_menu::before {
  background: #fff;
}
/* ボタン2つの間隔8px */
#fix_bottom_menu .menu_list {
  gap: 8px;
}

/* スマホ下部固定ボタンの文字を天地中央に(SWELL標準のアイコン用余白を打ち消し) */
#fix_bottom_menu span { margin-top: 0; }

/* ============================
   フルワイドブロック余白
============================ */
/* 基本：PC 100px / SP 48px */
.oars-section {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}
@media (max-width: 959px) {
  .oars-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}
/* 下層ページ見出し下 */
.oars-page-section {
  padding-bottom: 100px !important;
}
@media (max-width: 959px) {
  .oars-page-section {
    padding-bottom: 48px !important;
  }
}

/* CTA */
.oars-cta {
  padding-top: 72px !important;
  padding-bottom: 80px !important;
}
@media (max-width: 959px) {
  .oars-cta {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
  }
}

/* footer */
.oars-footer {
  padding-top: 80px !important;
  padding-bottom: 78px !important;
}
@media (max-width: 959px) {
  .oars-footer {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* ==========================================
   コンテンツ幅
========================================== */
.oars-w800 {
  max-width: 800px;
  margin-inline: auto;
}
.oars-w950 {
  max-width: 950px;
  margin-inline: auto;
}
.oars-w1120 {
  max-width: 1120px;
  margin-inline: auto;
}
.oars-w1200 {
  max-width: 1200px;
  margin-inline: auto;
}

/* ==========================================
   セクション見出し・テキスト・コンテンツの下余白（PC→SP）
========================================== */
.oars-mb24 { margin-bottom: 24px !important; }
.oars-mb32 { margin-bottom: 32px !important; }
.oars-mb40 { margin-bottom: 40px !important; }
.oars-mb48 { margin-bottom: 48px !important; }
.oars-mb64a { margin-bottom: 64px !important; }
.oars-mb64b { margin-bottom: 64px !important; }
.oars-mb64c { margin-bottom: 64px !important; }
.oars-mb80 { margin-bottom: 80px !important; }
.oars-mb100 { margin-bottom: 100px !important; }

.oars-mb24b { margin-bottom: 24px !important; }

@media (max-width: 959px) {
  .oars-mb24 { margin-bottom: 16px !important; }
  .oars-mb32  { margin-bottom: 24px !important; }
  .oars-mb40  { margin-bottom: 24px !important; }
  .oars-mb48 { margin-bottom: 40px !important; }
  .oars-mb64a { margin-bottom: 32px !important; }
  .oars-mb64b { margin-bottom: 40px !important; }
  .oars-mb64c { margin-bottom: 48px !important; }	
  .oars-mb80 { margin-bottom: 24px !important; }
  .oars-mb100 { margin-bottom: 40px !important; }
}

/* ==========================================
   行間
========================================== */
.oars-lh200 { line-height: 2.0; }
.oars-lh190 { line-height: 1.9; }
.oars-lh170 { line-height: 1.7; }
.oars-lh160 { line-height: 1.6; }
.oars-lh150 { line-height: 1.5; }
.oars-lh130 { line-height: 1.3; }

/* ============================
   改行
============================ */
.br-pc-only,		
.br-tb-only,		
.br-sp-only {		
display: none !important;		
}		
@media screen and (min-width: 960px) {		
	.br-pc-only {	
		display: inline!important;
	}	
}		
@media screen and (max-width: 959px) and (min-width: 600px) {		
	.br-tb-only {	
		display: inline!important;
	}	
}		
@media screen and (max-width: 599px) {		
	.white-space {	
		white-space: nowrap;
	}	
	.br-sp-only {	
		display: inline!important;
	}	
}

/* ============================
   文字サイズ
============================ */
.oars-fs20 {
	font-size: 20px;
}
.oars-fs18 {
	font-size: 18px;
}
@media screen and (max-width: 599px) {
 .oars-fs15 {
 	font-size: 15px;
 }
 .oars-fs13 {
 	font-size: 13px;
 }	
}


/* ============================
   ボタン共通（形と矢印だけの最小構成）
============================ */
.oars-btn a {
  position: relative;
  display: block;
  width: min(438px, 100%);
  margin-inline: auto;
  border: 2px solid transparent;
  transition: background-color .3s, color .3s;
}
.oars-btn a::after {
  content: "";
  position: absolute;
  right: 26px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

/* --- 反転ホバー（通常時の色はSWELLボタン設定のまま。
       頭の .swell-block-button はSWELLの色CSSに勝つために必須） --- */
.swell-block-button.oars-btn--navy a:hover {
  background-color: #fff;
  color: #001A44;
  border-color: #001A44;
  opacity: 1;
}
/* グレーの通常色（SWELL側で色未選択のため、CSSで指定） */
.swell-block-button.oars-btn--gray a {
  background-color: #555555;
  border-color: #555555;
  color: #fff;
}
.swell-block-button.oars-btn--blue a:hover {
  background-color: #fff;
  color: #2B71B8;
  border-color: #2B71B8;
  opacity: 1;
}
.swell-block-button.oars-btn--gray a:hover {
  background-color: #fff;
  color: #555555;
  border-color: #555555;
  opacity: 1;
}
/* 紺の通常色（SWELL側で色未選択でも紺になる） */
.swell-block-button.oars-btn--navy a {
  background-color: #001A44;
  border-color: #001A44;
  color: #fff;
}

/* --- グレーボタンサイズ（padding） --- */
.oars-btn--slim a {
  padding: 14px 48px;
  font-size: 18px;
  line-height: 24px;   /* 高さ56pxを維持するため必須 */
}
@media (max-width:959px){ .oars-btn--slim a { font-size:16px } }


.oars-btn--sm a {
  width: 100%;
  padding: 11px 40px;
  font-size: 16px;
  line-height: 21px;   /* 相対値1.5を打ち消して固定 */
}


.oars-btn--sm a::after { right: 40px; }

/* PC：矢印は右から56px（見た目 約54.8px） */
@media (min-width: 960px) {
  .oars-btn a::after { right: 40px; }
  .oars-btn--slim a::after { width: 7px; height: 7px; right: 56px; }
  .oars-btn--sm a::after { width: 6px; height: 6px; right: 56px; }
}

/* SP：矢印の位置指定 */
@media (max-width: 959px) {
  /* CTAの資料ダウンロード・お問い合わせ：12px */
  .oars-btn--navy a::after,
  .oars-btn--blue a::after { right: 22px; }

  /* グレーボタン通常：16px */
  .oars-btn--gray a::after { right: 26px; }

  /* その他の研修のグレーボタン：20px（※必ずグレーより後に書く） */
  .oars-btn--sm a::after { right: 26px; }
}

/* ボタン文字を天地中央に(フォントの下寄り癖の補正) */
/* MVボタン */
.p-mainVisual .h_cta .swell-block-button__link > span {
  position: relative;
  top: -1px;
}
/* グレー大(--slim) */
.oars-btn--slim a > span {
  position: relative;
  top: -1px;
}
/* グレー小(--sm)はズレ半分なので-0.5px */
.oars-btn--sm a > span {
  position: relative;
  top: -0.5px;
}
/* FB第60弾追補: SPのボタン文字補正 */
@media (max-width: 959px) {
  /* CTAボタン(ページ中・フッター上): SPはズレが倍になる */
  .oars-cta-btn-wrap .oars-btn a > span {
    position: relative;
    top: -1px;
  }
  /* スマホ開閉メニューのボタン */
  .p-spMenu .oars-btn a > span {
    position: relative;
    top: -2px;
  }
  /* グレー小: SPは-0.5pxが丸められて効かないため-1pxに上書き */
  .oars-btn--sm a > span {
    top: -1px;
  }
}

/* 一覧系グレーボタン(oars-btn--slim)の幅を438pxに統一(SWELLのmin-width40%対策) */
@media (min-width: 1440px) {
  .swell-block-button.oars-btn--slim .swell-block-button__link {
    width: 438px;
    min-width: 0;
  }
}
@media (min-width: 960px) and (max-width: 1439px) {
  .swell-block-button.oars-btn--slim .swell-block-button__link {
    width: 30.42vw; /* 438px÷14.4 */
    min-width: 0;
    font-size: clamp(12px, 1.25vw, 18px);
    letter-spacing: 0;
  }
}

/* ==========================================
   flow（ご利用までの流れ）
========================================== */

/* 土台 */
.oars-flow {
  position: relative;
}

/* ピル同士をつなぐ横線（ピルの上下中央を貫く。ピルが上に乗って線を隠す仕組み） */
.oars-flow::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 16px;
  right: 0;       /* ※はみ出したらこの%で調整 */
  height: 1px;
  background: #DADADA;
}

/* カラム項目：左右の内側余白 ＋ 線の基準点 */
.oars-flow > .swell-block-columns__inner > .swell-block-column {
  position: relative;
  padding: 0 24px;   /* ← 左右の余白。「左が無い」の解消 */
}

/* 縦の区切り線（疑似要素なので長さを自由に調整できる） */
.oars-flow > .swell-block-columns__inner > .swell-block-column + .swell-block-column::before {
  content: "";
  position: absolute;
  left: 0;
  top: 48px;           /* 線の開始位置 */
  bottom: 8px;      /* 線の終了位置。「長すぎ」はここの数字を増やして詰める */
  width: 0;
  border-left: 1px dashed #DADADA;
}

/* STEPピル（横線より手前に表示・左端を線に揃える） */
.oars-flow__step {
  position: relative;
  z-index: 1;
  display: inline-block;
  background: #001A44;
  color: #fff;
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 48px;
  text-transform: uppercase;
}

/* アイコン */
.oars-flow img {
  width: 80px;
  height: auto;
  display: block;
  margin-inline: auto;
}
@media screen and (max-width: 959px) {
  .oars-flow.sp_only img {
    width: 48px;
    height: auto;
  }
 .oars-flow__step {
  margin-left: -24px;
 }
}

/* カード間余白 */
@media screen and (min-width: 960px) {
 .oars-flow > .swell-block-columns__inner > .swell-block-column {
    padding: 0 16px!important;
 }
}


@media screen and (max-width: 959px) {
 .oars-flow > .swell-block-columns__inner > .swell-block-column {
    padding-right: 0!important;
 }
}


/* タイトル */
.oars-flow__title {
  margin: 24px 0;
}
.oars-flow__title-sp {
  margin-bottom: 16px;
}

@media (max-width: 959px) {
  .oars-flow::before { content: none; }  /* SPは横線なし */
  .oars-flow > .swell-block-columns__inner > .swell-block-column + .swell-block-column::before {
    content: none;  /* 縦線もなし */
  }
  /* flow SP版：ピルとピルをつなぐ縦線 */
  .oars-flow.sp_only > .swell-block-columns__inner > .swell-block-column {
    position: relative;
  }
  .oars-flow.sp_only > .swell-block-columns__inner > .swell-block-column::before {
    content: "";
    position: absolute;
    left: 29px;      /* 線の横位置（ピルの中央）。ずらしたければここ */
    top: 0;       /* ピルのすぐ下から */
    bottom: -24px;   /* 次のピルの上まで */
    width: 1px;
    background: #DADADA;
    z-index: 0;
  }
}
/* ご利用までの流れ: 本文をMedium500に */
.oars-flow__step { font-weight: 700; line-height: 1.2; }   /* ピル高さ41→31px */
.oars-flow__title { font-size: 24px !important; font-weight: 700; line-height: 1.2; }
.swell-block-columns:has(.oars-flow__step) p.oars-lh170 { font-weight: 500; }

/* SP版ご利用までの流れ */
@media (max-width: 959px) {
  /* STEPカードの中身を左36pxからスタート */
  .oars-flow > .swell-block-columns__inner > .swell-block-column { padding-left: 36px; }
  /* ピル: パディング4/14 → 80×25px。カード左端に戻して下に24px */
  .oars-flow .oars-flow__step {
    padding: 4px 14px;
    line-height: 17px;
    margin-left: -36px;
    margin-bottom: 24px;
  }
  /* アイコン列50px / 隙間26px / テキスト列233px */
  .oars-flow .swell-block-columns .swell-block-columns__inner { margin-left: 0 !important; }
  .oars-flow .swell-block-columns .swell-block-column:first-child {
    width: 50px !important; flex: 0 0 auto !important; margin-left: 0 !important;
  }
  .oars-flow .swell-block-columns .swell-block-column:last-child {
    width: calc(100% - 76px) !important; /* 50(アイコン) + 26(隙間) */
    flex: 0 0 auto !important; margin-left: 26px !important;
  }
  .oars-flow .swell-block-column figure,
  .oars-flow .swell-block-column figure img { margin: 0 !important; }
  .oars-flow .swell-block-column figure img { width: 50px !important; height: 50px !important; }
}

/* flowピル: 最低幅を保証+折り返し禁止(フォント読み込み前でも崩れない) */
@media (max-width: 959px) {
  .oars-flow__step { min-width: 80px; padding: 4px 14px; text-align: center; white-space: nowrap; font-size: 15px; line-height: 17px; box-sizing: border-box; }
}
@media (min-width: 960px) {
  .oars-flow__step { min-width: 91px; padding: 6px 16px; text-align: center; white-space: nowrap; font-size: 14px; box-sizing: border-box; }
}


/* ============================
   faq（よくあるご質問）
============================ */
.oars-faq {
  --oars-navy: #001a44;
  --oars-border: #d5d9df;
}


/* 各項目 */
.oars-faq .swell-block-accordion__item {
  margin: 0;
  border: 0;
  border-bottom: 1px solid #C2C2C2;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);;
}

/* 質問 */
.oars-faq .swell-block-accordion__title {
  position: relative;
  min-height: 68px;
  padding: 16px 30px 16px 64px;
  border: 0;
  background-color: #fff;
  color: var(--oars-navy);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
}

/* Qアイコン */
.oars-faq .swell-block-accordion__title::before {
  content: "Q";
  position: absolute;
  top: 50%;
  left: 16px;
  display: grid;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--oars-navy);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  place-items: center;
  transform: translateY(-50%);
}
@media screen and (max-width: 599px) {
	.oars-faq .swell-block-accordion__title::before {
		width: 32px;
		height: 32px;
		font-size: 16px;
	}	
}
/* 開いている質問 */
.oars-faq
  .swell-block-accordion__item[open]
  > .swell-block-accordion__title {
  background-color: var(--oars-navy);
  color: #fff;
}

/* 開いている質問のQ */
.oars-faq
  .swell-block-accordion__item[open]
  > .swell-block-accordion__title::before {
  background-color: #fff;
  color: var(--oars-navy);
}

/* 閉じてる時の＋アイコンの色 */
.oars-faq .swell-block-accordion__title .swell-block-accordion__icon {
  color: #001A44;
}

/* 開いているときのSWELL標準アイコン */
.oars-faq
  .swell-block-accordion__item[open]
  > .swell-block-accordion__title
  .swell-block-accordion__icon {
  color: #fff;
}

/* 回答 */
.oars-faq .swell-block-accordion__body {
  position: relative;
  padding: 18px 24px 18px 64px;
  border: 0;
  background-color: #fff;
  color: var(--oars-navy);
  font-size: 18px;
  line-height: 1.8;
}

/* Aアイコン */
.oars-faq .swell-block-accordion__body::before {
  content: "A";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 16px;
  display: grid;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--oars-navy);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  place-items: center;
}
@media screen and (max-width: 599px) {
	.oars-faq .swell-block-accordion__body::before {
		width: 32px;
		height: 32px;
		font-size: 16px;
	}	
}

/* 回答文の不要な上下余白を除去 */
.oars-faq .swell-block-accordion__body > :first-child {
  margin-top: 0;
}

.oars-faq .swell-block-accordion__body > :last-child {
  margin-bottom: 0;
}

/* スマートフォン */
@media (max-width: 767px) {
  .oars-faq .swell-block-accordion__title {
    min-height: 64px;
    padding: 13px 18px 13px 52px;
    font-size: 16px;
  }

  .oars-faq .swell-block-accordion__title::before {
    left: 10px;
    width: 30px;
    height: 30px;
    font-size: 14px;
  }

  .oars-faq .swell-block-accordion__body {
    padding: 15px 12px 16px 52px;
    font-size: 16px;
  }

  .oars-faq .swell-block-accordion__body::before {
    left: 10px;
    width: 30px;
    height: 30px;
    font-size: 14px;
  }
}

/* FAQ項目間の余白 */
.oars-faq .swell-block-accordion__item:not(:last-child) {
  margin-bottom: 24px;
}

/* FAQ開閉: 開閉とも0.4sでゆっくり(高度な設定のFAQ用JSとセット) */
.oars-faq .swell-block-accordion__body {
  transition: padding .4s, height .4s, opacity .4s, visibility .4s;
}
.oars-faq .swell-block-accordion__title,
.oars-faq .swell-block-accordion__title::before,
.oars-faq .swell-block-accordion__title .swell-block-accordion__icon {
  transition: background-color .4s ease, color .4s ease;
}
/* 閉じ始めた瞬間から色を戻す */
.oars-faq .swell-block-accordion__item[open]:has(.swell-block-accordion__icon[data-opened="false"]) > .swell-block-accordion__title {
  background: #fff;
  color: var(--oars-navy, #001A44);
}
.oars-faq .swell-block-accordion__item[open]:has(.swell-block-accordion__icon[data-opened="false"]) > .swell-block-accordion__title::before {
  background: var(--oars-navy, #001A44);
  color: #fff;
}
.oars-faq .swell-block-accordion__item[open]:has(.swell-block-accordion__icon[data-opened="false"]) > .swell-block-accordion__title .swell-block-accordion__icon {
  color: var(--oars-navy, #001A44);
}

/* ==========================================
   「あの人だから売れる」を・・・
========================================== */
.oars-case-fs18 {
  font-size: 18px;
}
@media (max-width: 599px) {
 .oars-case-fs18 {
   font-size: 15px;
 }
}


@media (min-width: 960px) and (max-width: 1124px) {
  .swell-block-fullWide:has(.oars-cta-btn-wrap) .swl-format-1 { font-feature-settings: "palt"; }
}


/* ============================
   サイト中・フッター上CTA
============================ */
/* 余白調整 */
.oars-cta-btn-wrap.has-background {
	padding: 40px 80px 48px 80px!important;
}

@media (min-width: 960px) {
  .oars-cta-btn-wrap .swell-block-columns { max-width: 924px !important; }
  .oars-cta-btn-wrap .swell-block-columns__inner {
    justify-content: center; gap: 48px;
    margin-left: 0 !important; margin-right: 0 !important; /* SWELLの隠しネガティブマージン対策 */
  }
  .oars-cta-btn-wrap .swell-block-column { width: calc(50% - 24px) !important; flex: 0 0 auto !important; margin: 0 !important; }
  .oars-cta-btn-wrap .swell-block-button__link {
    width: 100% !important;
    height: 68px;
    display: flex !important; align-items: center; justify-content: center;
    padding: 0 30px !important;
  }
	.oars-cta-btn-wrap .oars-btn {
		font-size: 20px;
	}
}
/* ボタン位置調整 */
@media (min-width: 960px) {
  .oars-cta-btn-wrap .swell-block-columns { margin-left: auto !important; margin-right: auto !important; }
}

@media screen and (max-width: 599px) {
	.oars-cta-btn-wrap.has-background {
	padding: 32px 20px!important;
 }
	.oars-cta-btn-wrap .swell-block-button {
		font-size: 16px;
	}
}

/* ボタンの＞ */
.oars-cta-btn-wrap .oars-btn a::after {
  width: 7.6px;
  height: 7.6px;
}

.oars-cta-btn-wrap { background-color: rgba(255, 255, 255, 0.88) !important; }
/* CTA見出し: Figmaと同じ約物詰め(1024pxの折り返しも解消) */

/* CTA(SP): ボタン284px中央・ボタン間24px・本文行間1.8(カンプ345×290) */
@media (max-width: 599px) {
  .oars-cta-btn-wrap .swell-block-button__link { width: 284px; min-width: 0; max-width: 100%; margin-inline: auto; }
  .oars-cta-btn-wrap p { line-height: 1.8; }
  .oars-cta-btn-wrap .swell-block-columns__inner { row-gap: 16px; }
}


/* ===============================================
   960〜1439px対応
=============================================== */
@media (min-width: 960px) and (max-width: 1439px) {

  /* --- ヘッダー：ロゴを死守し、ナビ・ボタンを比率縮小 --- */
  .l-header__inner { padding-left: 8.33vw; padding-right: 4.86vw; } /* 120px/70px */
  .l-header__logo { flex-shrink: 0; }
  .-series .c-headLogo { height: clamp(30px, 3.47vw, 50px); margin-right: clamp(6px, 1.1vw, 16px); }
  .-series .l-header__logo { margin-right: clamp(8px, 1.2vw, 24px); }
  #gnav .c-gnav > li > a,
  .c-gnavWrap .c-gnav > li > a {
    font-size: clamp(11px, 1.05vw, 15px);
    padding: 0 clamp(2px, 0.55vw, 16px);
  }
  .l-header .w-header .swell-block-column,
  .l-fixHeader .w-header .swell-block-column { width: clamp(112px, 12.85vw, 185px) !important; }
  .l-header .w-header .swell-block-columns__inner,
  .l-fixHeader .w-header .swell-block-columns__inner { gap: clamp(8px, 1.1vw, 16px); }
  .w-header .swell-block-button__link {
    font-size: clamp(11px, 1.25vw, 18px) !important;
    letter-spacing: 0 !important; /* SWELL既定の字間1pxで文字が見切れるのを防ぐ */
    padding: 0 clamp(8px, 0.9vw, 12px) 0 clamp(8px, 1.1vw, 16px) !important;
  }

  /* --- MV：テキスト層・写真ループ・ボタンを比率縮小 --- */
  .p-mainVisual__textLayer { padding-left: 8.33vw; padding-right: 4.86vw; } /* 120px/70px */
  .oars-mv { right: 3.33vw; } /* 48px */
  .oars-main-copy   { font-size: 4.31vw; } /* 62px */
  .oars-main-copy-b { font-size: 5.7vw; }  /* 82px */
  .oars-sub-copy    { font-size: clamp(17px, 1.81vw, 26px); } /* 26px */
  .p-mainVisual .h_cta .swell-block-column { width: 15.9vw !important; } /* 228px */
  .p-mainVisual .h_cta .swell-block-button__link {
    font-size: clamp(13px, 1.25vw, 18px) !important;
    height: clamp(40px, 3.6vw, 52px);
  }
}

/* ===============================================
   ボタン重なり修正
=============================================== */

/* --- ボタン重なり・矢印消えの修正 --- */
@media (min-width: 960px) and (max-width: 1439px) {
  .l-header .swell-block-button__link,
  .l-fixHeader .swell-block-button__link {
    width: 100% !important;              /* 列にフィット */
    font-size: clamp(11px, 1.2vw, 18px) !important;
    white-space: nowrap;                 /* 「資料ダウンロード」の2行折れ防止 */
  }
}

/* --- （960px以上共通） --- */
@media (min-width: 960px) {
  /* ロゴ: 高さ46px（1440px時）。中間幅は比率縮小 */
  .-series .c-headLogo { height: clamp(30px, 3.19vw, 46px); }
  /* グロナビ:  Noto Sans JP・通常ウェイト */
  #gnav .c-gnav > li > a,
  .l-fixHeader .c-gnav > li > a { font-family: "Noto Sans JP", sans-serif; font-weight: 700; }
}

/* --- 1440px超: 配置(左120/内容1250/右70)のまま中央寄せ --- */
@media (min-width: 1440px) {
  .l-header__inner,
  .p-mainVisual__textLayer { max-width: 1440px; margin-inline: auto; }
}

/* ===============================================
   透かし見切れ修正＋ロゴ調整
=============================================== */

/* 透かしマークの見切れ: MV背景を左基準に */
@media (min-width: 960px) and (max-width: 1439px) {
  .p-mainVisual__img { object-position: left top !important; }
}

/* ロゴ: 画像の余白を考慮し、見た目の幅がFigmaの234pxに一致する高さ55px。
   狭い幅はやや強めに縮小(960pxで34px)してナビとの衝突を回避 */
@media (min-width: 960px) {
  .-series .c-headLogo { height: clamp(32px, 4.38vw - 8px, 55px); }
}

/* ===============================================
   ヘッダー高80px＋サブコピーの組み修正
=============================================== */
@media (min-width: 960px) {
  /* ヘッダー高さ */
  .-series .l-header__logo { padding: 12.5px 0; }
  /* サブコピー: Noto Sans JPに */
  .p-mainVisual .oars-sub-copy { font-family: "Noto Sans JP", sans-serif; }
}
/* ===============================================
   サブコピー #333
=============================================== */
@media (min-width: 960px) {
  .p-mainVisual .oars-sub-copy { font-weight: 500; font-size: 24px; }
  .p-mainVisual .oars-sub-copy .swl-inline-color { font-weight: 700; font-size: 26px; }
}

/* ===============================================
   サブコピーの中間幅可変化
   (1440px基準: 尻尾24px→1.67vw / 選ばれ方26px→1.81vw / 線69px→4.79vw)
=============================================== */
@media (min-width: 960px) and (max-width: 1439px) {
  .p-mainVisual .oars-sub-copy { font-size: clamp(15px, 1.67vw, 24px); }
  .p-mainVisual .oars-sub-copy .swl-inline-color { font-size: clamp(16px, 1.81vw, 26px); }
  .p-mainVisual .oars-sub-copy::before { width: 4.79vw; margin-right: 0.56vw; }
}

/* ===============================================
   SPサブコピー
=============================================== */
@media (max-width: 959px) {
  /* SPサブコピー: Figma SP実測。375px未満はvwで自動縮小 */
  .p-mainVisual .oars-sub-copy { font-weight: 500; font-size: min(17px, 4.53vw); }
  .p-mainVisual .oars-sub-copy .swl-inline-color { font-weight: 700; font-size: min(18px, 4.8vw); }
  .p-mainVisual .oars-sub-copy::before { width: 34px; margin-right: 8px; height: 1px; }
}
/* メインコピーの375px未満保険（375pxでちょうど40px/56px） */
@media (max-width: 374px) {
  .oars-main-copy { font-size: 10.67vw; }
  .oars-main-copy-b { font-size: 14.93vw; }
}

/* ===============================================
   紺パネルの内側余白（Figma: 48/左199/右142）
=============================================== */
@media (min-width: 960px) {
  .oars-problem-panel { padding: 48px 14.95% 48px 20.95% !important; }
}

/* ===============================================
   太く見える文字の調整
=============================================== */
.oars-problem-panel {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ===============================================
   SP版CTAボタン(ページ中・フッター上) 高さ48px
=============================================== */
@media (max-width: 959px) {
  .oars-cta-btn-wrap .oars-btn a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

/* ===============================================
   SPのポップアップ縮小＋フッターボタン退避
=============================================== */
@media (max-width: 959px) {
  #pum-602 .pum-container {
    max-width: 180px !important;   /* スマホ固定フッターとの重なり回避のため縮小 */
    margin: 0 !important;
    top: auto !important;
    left: auto !important;
    right: 8px !important;
    bottom: 74px !important;       /* 固定フッター(66px)の上に退避 */
  }
}

/* ===============================================
   下層ページコンテンツヘッダー
=============================================== */

/* ===== 下層コンテンツヘッダー（タイトルエリアの帯化） ===== */

/* NoImage・アイキャッチ画像は使わない */
.l-topTitleArea__img {
  display: none;
}

/* 帯の見た目 */
.l-topTitleArea {
  background: #f5f5f5;
  min-height: 200px;
  position: relative;
  overflow: hidden;
}

/* 透かしマーク */
.l-topTitleArea::after {
  content: "";
  position: absolute;
  left: -40px;
  top: -20px;
  width: 200px;
  height: 198px;
  background: url('https://tb-sales.com/wp-content/uploads/2026/09/watermark_oars_v2.webp') no-repeat center / contain;
  opacity: 0.07;
  pointer-events: none;
}


/* 下層タイトル帯：土台 */
.l-topTitleArea__body {
  position: relative;
  z-index: 2;
  font-family: "Noto Serif JP", serif;
  color: #001A44;
  text-shadow: none; /* SWELLの影消し */
}

/* 下層H1タイトル（サイズ系はh1に直接指定） */
.l-topTitleArea .c-pageTitle {
  font-size: 42px;
  letter-spacing: 0.1em;
}

/* 中間幅（960〜1439px）: 42 ÷ 14.4 = 2.92vw */
@media (min-width: 960px) and (max-width: 1439px) {
  .l-topTitleArea .c-pageTitle {
    font-size: clamp(30px, 2.92vw, 42px);
  }
}

/* スマホ */
@media (max-width: 959px) {
  .l-topTitleArea .c-pageTitle {
    font-size: 28px;
  }
}

/* 下層コンテンツヘッダー：スマホは低く */
@media (max-width: 959px) {
  .l-topTitleArea {
    min-height: 160px !important;
  }
  .l-topTitleArea::after {
    width: 180px;
    height: 178px;
    left: -40px;
    top: -32px;
  }
}

/* 下層タイトルの影を消す */
.l-topTitleArea__body {
  text-shadow: none;
}

/* ==========================================
   SP：パンくず〜コンテンツ先頭の余白を40pxに
   （お知らせ一覧は記事側にpaddingがあるため対象外）
========================================== */
@media (max-width: 959px) {
  .page #content.l-container,
  .category-column #content.l-container,
  .category-case #content.l-container {
    padding-top: 40px;
  }
}

/* ================================================================
   【左揃え一式】帯タイトル・パンくず・一覧・記事本文をロゴ基準線に揃える
================================================================ */

/* --- 中間幅（960〜1439px） --- */
@media (min-width: 960px) and (max-width: 1439px) {

  /* 帯タイトル・パンくず */
  .l-topTitleArea__body,
  .p-breadcrumb__list {
    padding-left: calc(8.33vw + 6px);
    padding-right: 4.86vw;
  }

  /* 一覧・記事ページの本文（お知らせ一覧だけ保留中につき除外） */
  .archive:not(.category-news) #content.l-container,
  .single #content.l-container {
    max-width: none;
    padding-left: calc(8.33vw + 6px);
    padding-right: 4.86vw;
  }
  .archive:not(.category-news) #main_content {
    margin-inline: 0;
  }
}

/* --- 1440px以上 --- */
@media (min-width: 1440px) {

  /* 帯タイトル・パンくず */
  .l-topTitleArea__body,
  .p-breadcrumb__list {
    max-width: 1440px;
    margin-inline: auto;
    padding-left: 126px;
    padding-right: 70px;
  }

  /* 一覧・記事ページの本文（お知らせ一覧だけ除外） */
  .archive:not(.category-news) #content.l-container,
  .single #content.l-container {
    max-width: 1440px;
    padding-left: 126px;
    padding-right: 70px;
  }
  .archive:not(.category-news) #main_content {
    margin-inline: 0;
    max-width: 1200px;
  }
}

/* ================================================================
   【お知らせ一覧】トップと同じリスト見た目＋950px＋ロゴ基準線揃え
   ※.category-news = お知らせ一覧ページだけに効く自動クラス
================================================================ */

/* --- お知らせ一覧は950pxで中央配置 --- */
.category-news #main_content {
  max-width: 950px;
  margin-inline: auto;
}

/* --- リストの見た目（トップと同じ） --- */
.category-news .p-postList__meta :before { display: none; } /* 時計マーク非表示 */
.category-news .p-postList.-type-simple { border-top: none; }

@media (min-width: 960px) {
  .category-news .p-postList.-type-simple .p-postList__item { border-bottom: 1px solid #dadada; }
  .category-news .p-postList.-type-simple .p-postList__link { padding: 20px 32px 20px 0; }
  .category-news .p-postList.-type-simple .p-postList__body { display: flex; align-items: center; gap: 32px; }
  .category-news .p-postList.-type-simple .p-postList__meta { flex: 0 0 124px; width: 124px; margin: 0 0 0 35px; }
  .category-news .p-postList.-type-simple .p-postList__times { white-space: nowrap; font-size: 15px; font-weight: 700; color: #333333; }
  .category-news .p-postList.-type-simple .p-postList__title { flex: 1; margin: 0; font-size: 16px; font-weight: 400; line-height: 1.8; letter-spacing: 0.04em; color: #333333; }
  .category-news .p-postList.-type-simple .p-postList__link::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: translateY(-50%) rotate(45deg);
  }
}
@media screen and (max-width: 959px) {
  .category-news .p-postList.-type-simple .p-postList__times { font-size: 14px; font-weight: 700; color: #333333; }
  .category-news .p-postList.-type-simple .p-postList__title { font-size: 15px; font-weight: 400; line-height: 1.8; letter-spacing: 0.04em; color: #333333; }
}

/* 固定ページ：本文とフッター上CTAの間の余白を削除
   （記事・一覧ページは現状維持） */
.page .l-content {
  margin-bottom: 0;
}
.page #before_footer_widget {
  margin-top: 0;
}

/* ===== タブフォーカスの可視化（白1px縁取り＋ブラウザ標準色アウトライン） ===== */
/* ボタン全部 */
.swell-block-button__link:focus-visible,     /* SWELLボタン全般(ヘッダー・MV・CTA・oars-btn系) */
.is-style-more_btn a:focus-visible,          /* 投稿リストのMOREボタン */
.smf-button-control__control:focus-visible,  /* フォームの送信ボタン */
#fix_bottom_menu a:focus-visible,            /* スマホ固定フッター */
/* FAQ（開閉の質問行） */
.swell-block-accordion__title:focus-visible {
  box-shadow: 0 0 0 1px #fff !important;              /* 白の余白リング */
  outline: 2px solid #005FCC !important;               /* 予備色(Firefox等用) */
  outline: 2px solid -webkit-focus-ring-color !important; /* ブラウザ標準のフォーカス色 */
  outline-offset: 1px !important;                      /* 白リングの分だけ外側に */
}

/* ===== タブフォーカスの可視化（白1px縁取り＋ブラウザ標準色アウトライン） ===== */
/* ボタン全部 */
.swell-block-button__link:focus-visible,     /* SWELLボタン全般(ヘッダー・MV・CTA・oars-btn系) */
.is-style-more_btn a:focus-visible,          /* 投稿リストのMOREボタン */
.smf-button-control__control:focus-visible,  /* フォームの送信ボタン */
#fix_bottom_menu a:focus-visible,            /* スマホ固定フッター */
/* FAQ（開閉の質問行） */
.swell-block-accordion__title:focus-visible {
  box-shadow: 0 0 0 1px #fff !important;              /* 白の余白リング */
  outline: 2px solid #005FCC !important;               /* 予備色(Firefox等用) */
  outline: 2px solid -webkit-focus-ring-color !important; /* ブラウザ標準のフォーカス色 */
  outline-offset: 1px !important;                      /* 白リングの分だけ外側に */
}


/* ================================================================
   MOREボタンの矢印を通常ボタンの「＞」に統一
================================================================ */

.is-style-more_btn a::after {
  content: "";              /* icomoonの「→」を消す */
  width: 6px;
  height: 6px;
  border-top: 1.5px solid #888;
  border-right: 1.5px solid #888;
  right: 24px;
  transform: translateY(-50%) rotate(45deg);
  transition: right .3s;
}
.is-style-more_btn a:hover::after {
  border-color: #fff;
  transform: translateY(-50%) rotate(45deg);  /* SWELLの横スライドを打ち消し */
  right: 20px;              /* oars-btnと同じ「4px右へ」の動き */
}


/* ================================================================
   記事個別ページのカテゴリー表示（マーク＋カテゴリ名）を非表示
================================================================ */
.p-articleMetas__termList {
  display: none;
}


/* ================================================================
   サイドバー検索欄とボタン間の余白
================================================================ */
.l-sidebar .wp-block-search__inside-wrapper {
  display: flex;
  flex-wrap: nowrap;
  max-width: 100%;
}

.l-sidebar .wp-block-search__input {
  flex-grow: 1;
  min-width: 0;
}

.l-sidebar .wp-block-search__button {
  margin-left: 10px;
}


/* ================================================================
   導入事例一覧: ムネハズ事例のサムネだけ頭が切れないよう上端基準
================================================================ */

.c-postThumb__img[src*="munehazu-case-5"] {
  object-position: center 15%;
}


/* ================================================================
   記事用SWELLボタン（クラス入力なしで反転ホバー）
    運用：色「青」=紺ボタン ／ 色「緑」=青ボタン
================================================================ */

/* 共通：枠線2px・矢印つき */
.post_content .swell-block-button.blue_ .swell-block-button__link,
.post_content .swell-block-button.green_ .swell-block-button__link {
  position: relative;
  box-shadow: none;
  transition: background-color .3s, color .3s;
}
.post_content .swell-block-button.blue_ .swell-block-button__link::after,
.post_content .swell-block-button.green_ .swell-block-button__link::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

/* 紺（色選択の「青」） */
.post_content .swell-block-button.blue_ .swell-block-button__link {
  background-color: #001A44;
  border: 2px solid #001A44;
}
.post_content .swell-block-button.blue_ .swell-block-button__link:hover {
  background-color: #fff;
  color: #001A44;
  border-color: #001A44;
  opacity: 1;
}

/* 青（色選択の「緑」） */
.post_content .swell-block-button.green_ .swell-block-button__link {
  background-color: #2B71B8;
  border: 2px solid #2B71B8;
}
.post_content .swell-block-button.green_ .swell-block-button__link:hover {
  background-color: #fff;
  color: #2B71B8;
  border-color: #2B71B8;
  opacity: 1;
}

/* ================================================================
   記事ページ限定：画像をPCで小さめに
================================================================ */

/* bodyクラスが無いため、canonical URLで投稿ページ（/case/ /column/ /news/ /document/）を判定 */
@media (min-width: 960px) {
  /* アイキャッチ */
  html:has(link[rel="canonical"][href*="/case/"]) .p-articleThumb,
  html:has(link[rel="canonical"][href*="/column/"]) .p-articleThumb,
  html:has(link[rel="canonical"][href*="/news/"]) .p-articleThumb,
  html:has(link[rel="canonical"][href*="/document/"]) .p-articleThumb {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
  }
  /* 本文内に貼る画像（全幅・幅広指定は除く） */
  html:has(link[rel="canonical"][href*="/case/"]) .post_content .wp-block-image:not(.alignfull):not(.alignwide),
  html:has(link[rel="canonical"][href*="/column/"]) .post_content .wp-block-image:not(.alignfull):not(.alignwide),
  html:has(link[rel="canonical"][href*="/news/"]) .post_content .wp-block-image:not(.alignfull):not(.alignwide),
  html:has(link[rel="canonical"][href*="/document/"]) .post_content .wp-block-image:not(.alignfull):not(.alignwide) {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
  }
}

.post-cat-document .l-articleBottom__section.-author {
    display: none;
}


/* ================================================================
   資料DL系投稿：サムネイル直下にボタンを置いたとき、本文上の余白を詰める
================================================================ */

.l-mainContent__inner:has(> .p-articleThumb) > .post_content:has(> .swell-block-button:first-child) {
  margin-top: 2em;
}

/* 送信完了→遷移までページ全体を覆う */
body:has(.snow-monkey-form[data-screen="complete"])::before {
  content: "完了ページへ移動しています…";
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  font-size: 0.9rem;
}