/* ===============================
   Single News (detail) – 完全版（rem化 & 関連flex/ボーダー無し）
   scope: .single-news
   colors: primary #009DE0 / text #002333 / muted #4B5B63 / light #BEBFBF
           border #9ED2E8 / headbg #EBF8FF
   =============================== */

/* 基本 */
.single-inner__content {
/*max-width: 50rem;*/
width: 100%; margin: 0 auto;
}

.single-news__content img {
    width: auto;
}

.single-news__content .inner-zeisei-sub_ttl {
    margin-bottom: 0;
    font-weight: 500;
    font-size: 1.125rem;
}

ol.list-style-decimal-ptn04 {
    counter-reset: li 3!important;
}

.single-news__content .wp-caption-text {
    margin-bottom: 0;
    font-weight: 400;
    font-size: max(.875rem, 10px);
}

.search-product-all.base-level__lower.other-introduce.single-products__contact {
    padding-bottom: 0;
    padding-top: 4.5rem;
}

/* ボタンが1つしかない場合は中央寄せに */
.other-introduce .introduce-cta-row.is-single {
  grid-template-columns: 1fr;
  justify-items: center;
      width: 100%;
}

.other-introduce .introduce-cta-row.is-single .cta-pill.cta-pill--contact {
    width: 27rem;
}

.aligncenter {
    margin-left: auto;
    margin-right: auto;
}

.single-news { color:#002333; }
.single-news img { max-width:100%; height:auto; display:block; }

/* ---------- Header ---------- */
.single-news__header { margin: 0 0 2.3rem; }
.single-news__meta {
  display:flex; align-items:center;     gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 1.1rem;
}
.single-news__date {
    font-size: max(.875rem, 10px);
    line-height: 1;
}

/* chip（一覧に依存しない保険） */
.single-news .chip{
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    border-radius: 1.25rem;
    border: 1px solid #009DE0;
    color: #009DE0;
    background: #fff;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity .2s;
}
.single-news .chip:hover{ opacity:.8; }
.single-news .chip--sm{ 
	    padding: 0.5rem 0.8rem;
    font-size: max(.875rem, 10px);
 }
.single-news__chips{ display:flex; gap:0.6rem; margin:0; padding:0; list-style:none; }

.single-news__title{
    margin: .25rem 0 2rem;
    font-size: 1.375rem;
    line-height: 1.6;
    font-weight: bold;
}

/* 区切り線（点線） */
.single-news__sep{
  border:0; border-top:1px dashed #9ED2E8;
  margin: .75rem 0 1.25rem;
}

/* ---------- Hero ---------- */
.single-news__hero{
     margin: 1rem 0 3.2rem;
    overflow: hidden;
}
.single-news__hero img{ width:100%; height:auto; }
.single-news__hero-caption{ margin:.5rem 0 0; font-size: max(.875rem, 10px);}

/* ---------- Content（本文） ---------- */
.single-news__content{
    margin: 0 0 3rem;
}
.single-news__content > *:first-child{ margin-top:0; }
.single-news__content p{ margin:0 0 1.5rem; }
.single-news__content a{ color:#009DE0; text-decoration:underline; display: inline-block; width: auto; }
.single-news__content a:hover{ opacity:.8; text-decoration: none; }

/* 見出し(h2〜h4) 専用 */
.single-news__content h2{
    margin: 0rem 0 1.5rem;
    font-size: 1.25rem;
    font-weight: bold;
    padding-bottom: 1rem;
    border-bottom: solid 1px #9ED2E8;
}
.single-news__content h3{
    margin: 1.5rem 0 0.5rem;
    font-size: 1.125rem;
	font-weight: 500;
}
.single-news__content h4{
    margin: 1.5rem 0 0.5rem;
    font-size: 1rem;
	    font-weight: 500;
}

/* UL / OL 専用 */
.single-news__content ul{
  list-style:none; margin:.5rem 0 1rem; padding-left:1.2rem;
}
.single-news__content ul > li{
  position:relative; margin:.35rem 0; padding-left:.8rem;
}
.single-news__content ul > li::before{
  content:""; position:absolute; left:-.8rem; top:.75em;
  width:.35rem; height:.35rem; border-radius:50%; background:#009DE0;
}
.single-news__content ul ul{ margin:.35rem 0 .6rem; }
.single-news__content ul ul > li::before{
  width:.3rem; height:.3rem; background:#9ED2E8;
}

.single-news__content ol{
  list-style:none; counter-reset: snum; margin:.5rem 0 1rem; padding-left:1.6rem;
}
.single-news__content ol > li{
  position:relative; counter-increment: snum; margin:.35rem 0; padding-left:1rem;
}
.single-news__content ol > li::before{
  content: counter(snum) ".";
  position:absolute; left:-1.6rem; top:0;
  min-width:1.2rem; text-align:right;
  color:#009DE0; font-weight:700;
}


.single-news__content strong{
	font-weight: bold;
}

/* 引用・図版 */
.single-news__content blockquote{
  margin:1rem 0; padding:.9rem 1rem; border-left:4px solid #009DE0; background:#F6FBFF;
  color:#002333;
}
.single-news__content figure{ margin:1rem 0; }
.single-news__content figure img{ border-radius:.875rem; } /* 14px -> .875rem */
.single-news__content figure figcaption{ margin:.4rem 0 0; color:#4B5B63; font-size:.875rem; }

/* Table 専用 */
.single-news__content table{
  width:100%; border-collapse:collapse; background:#fff;
  border:1px solid #9ED2E8; margin:1.2rem 0;
}
.single-news__content th,
.single-news__content td{
  border:1px solid #9ED2E8; padding:.7rem .8rem;
  text-align:left; vertical-align:top; color:#002333;
  line-height:1.65;
}
.single-news__content th {
    background: #EBF8FF;
	font-weight: 500;
}
.single-news__content td{
	font-weight: 400;
}
.single-news__content thead th{ background:#EBF8FF; font-weight:700; }
.single-news__content caption{
  caption-side:bottom; padding-top:.5rem; font-size:.875rem; text-align:left;
}
/* 小画面での横スクロール */
@media (max-width: 767.8px){
  .single-news__content table{
    display:block; overflow-x:auto; white-space:nowrap;
  }
  .single-news__content thead,
  .single-news__content tbody,
  .single-news__content tfoot,
  .single-news__content tr{ display:table; width:100%; table-layout:fixed; }
}

/* ---------- Related（関連ニュース） ---------- */
/* リストは縦に並べる（必要なら横2列化に拡張可能）。各行はflexで「左画像／右本文」。 */
.single-news__related{     margin: 3rem 0 0;
    padding-top: 1.75rem;
    border-top: 1px dashed #9ED2E8; }
.single-news__related-rows{
  display:flex; flex-direction:column; gap:4rem; /* 12px -> .75rem */
}
.single-news__related-row a{
  display:flex; align-items:stretch; gap:.875rem; /* 14px -> .875rem */
  padding:.6rem;
  background:transparent; color:#002333; text-decoration:none;
  transition:opacity .2s;
  /* ボーダー無し／角丸は不要（画像側で処理） */
}
.single-news__related-row a:hover{ opacity:.8; }

/* 左：サムネ（固定幅） */
.single-news__related-thumb{
  flex:0 0 11.25rem; /* 180px -> 11.25rem */
  margin:0; aspect-ratio:16/9;
  overflow:hidden; border-radius:.625rem; /* 10px -> .625rem */
}
.single-news__related-thumb img{ width:100%; height:100%; object-fit:cover; }

/* 右：本文 */
.single-news__related-body{
  flex:1 1 auto; min-width:0; display:flex; flex-direction:column;
  gap:0.8rem;
}
.single-news__related-meta{
  display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin:0;
}
.single-news__related-meta time{     font-size: max(.875rem, 10px);
    line-height: 1; }
.single-news__related-title{
  margin:0; font-size: max(.875rem, 10px); line-height:1.5; font-weight:500;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* ---------- Responsive ---------- */

@media (min-width: 992px){
  .single-news__related-rows{ flex-direction:row; justify-content: space-between; }
  /*.single-news__related-row{  flex: 0.2 1 calc(20% - 0.75rem); }*/
}


@media (max-width: 767.8px){
  .single-news__title{ font-size:1.5rem; }
  .single-news__related-row a{ gap:.75rem; padding:.55rem; }
  .single-news__related-thumb{ flex-basis:42vw; max-width:16.25rem; } /* 260px -> 16.25rem */
  .single-news__content h2{ font-size:1.375rem; }
  .single-news__content h3{ font-size:1.0625rem; }
}
@media (max-width: 575.8px){
  .single-news__meta{ gap:.5rem; }
  .single-news .chip{ font-size:.7rem; padding:.3rem .55rem; }
  .single-news__related-thumb{ flex-basis:48vw; }
}








/* ===============================
   Column Archive (pickup + list)
   Scoped: .archive-column
   palette: primary #009DE0 / text #002333 / muted #4B5B63 / light #BEBFBF / border #9ED2E8
   =============================== */

/* 見出し */
.archive-column .archive-column__heading{
  margin: 0 0 1rem;
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 800;
  color: #009DE0;
}
.archive-column .archive-column__heading--pickup{ margin-bottom: 1.25rem; }

/* カテゴリ：チップUI（必要なら有効化。既存の共通chipがあれば削ってOK） */
.archive-column .archive-column__filters{ margin: 0 0 1rem; }
.archive-column .archive-column__filters-list{
  display: flex; flex-wrap: wrap; gap: 1.8rem; margin: 0; padding: 0; list-style: none;
}
.archive-column .chip {
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding: 0;
    border-radius: 0;
    border: 0;
    color: #BEBFBF;
    background: none;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity .2s;
}
.archive-column .chip.is-active{
	    color: #009DE0;
		    background: none;
    border:none;
}
.archive-column .chip:hover{ opacity: .8; }

/* 点線セパレータ */
.archive-column .archive-column__sep{
  border: 0; border-top: 1px dashed #9ED2E8;
  margin: 2.5rem 0 1.8rem;
}


.archive-column .archive-column__sep.btm {
    margin: 1.8rem 0 2.5rem;
}

/* ===============================
   ピックアップカード
   =============================== */
.archive-column .column-pick__link{
    display: flex;
    align-items: stretch;
    gap: 3.7rem;
    padding: 3.7rem;
    border-radius: 1.25rem;
    background: #F7F7F7;
    text-decoration: none;
	 transition: opacity .2s;
}
.archive-column .column-pick__link:hover{ opacity: .8; }

.archive-column .column-pick__thumb{
    flex: 0 0 29.625rem;
    margin: 0;
    aspect-ratio: 111 / 62;
    overflow: hidden;
    border-radius: 1.25rem;
}
.archive-column .column-pick__thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }

.archive-column .column-pick__body{
  flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .5rem;
  color: #002333;
}
.archive-column .column-pick__meta{
  margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.archive-column .column-row__avatar{ width: 1.75rem; height: 1.75rem; border-radius: 50%; overflow: hidden; }

/* ===============================
   一覧（左画像／右本文）
   =============================== */
.archive-column .archive-column__rows{ display: flex; flex-direction: column; gap: 1.8rem; }

.archive-column .column-row__link{
  display: flex; align-items: stretch; gap: 3.7rem;
  color: #002333; text-decoration: none; transition: opacity .2s;
}
.archive-column .column-row__link:hover{ opacity: .8; }

.archive-column .column-row__thumb{
    flex: 0 0 20.8125rem;
    margin: 0;
    aspect-ratio: 111 / 62;
    overflow: hidden;
    border-radius: 1.25rem;
}
.archive-column .column-row__thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }

.archive-column .column-row__body{
  flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .45rem;
}
.archive-column .column-row__cat,.archive-column .column-pick__cat{     
	color: #009DE0;
    font-weight: 500;
    font-size: 1rem; }
.archive-column .column-row__title,.archive-column .column-pick__title{
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.6;
    font-weight: 500;
}
.archive-column .column-row__excerpt,.archive-column .column-pick__excerpt{     
	margin: .15rem 0 0;
    font-size: max(.875rem, 10px); }

	img.avatar {
    width: 100%;
    max-width: 2.5rem;
    height: auto;
    object-fit: cover;
	border-radius: 1.25rem;
}

.archive-column .column-row__meta{
  margin-top: .25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.archive-column .column-row__author,.archive-column .column-pick__author{ display: inline-flex; align-items: center; gap: 0.8rem; }
.archive-column .column-row__author-name,.archive-column .column-pick__author-name{ font-size:max(.75rem, 10px); }
.archive-column .column-row__date,.archive-column .column-pick__date{     
	color: #BEBFBF;
    line-height: 1;
    font-family: "Manrope", sans-serif;
    font-size: max(.875rem, 10px);
    font-weight: 500; }

/* 2行省略ヘルパー（このページだけで効かせる） */
.archive-column .u-clamp-2{
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===============================
   Responsive
   =============================== */
@media (max-width: 767.8px){
  .archive-column .column-pick__link{ flex-direction: column;         gap: 1.2rem;
        padding: 3rem; }
  .archive-column .column-pick__thumb{ flex: 0 0 auto; width: 100%; }
  .archive-column .column-pick__title{ font-size: 1.1875rem; }

  .archive-column .column-row__link{ gap: 1rem; }
  .archive-column .column-row__thumb{ flex-basis: 40vw; max-width: 16.25rem; } /* ~260px */
  .archive-column .column-row__title{ font-size: 1.0625rem; }
  .archive-column .column-pick__body {

    gap: 1rem;
}
}

@media (max-width: 575.8px){
  .archive-column .column-row__thumb{ flex-basis: 33vw; }
}

/* 投稿者表示：一覧のトーンに合わせる（アバター＋名前） */
.single-news .single-news__author{
  display:flex; align-items:center; gap:0.8rem;
  margin:.25rem 0 2rem;
}
.single-news .single-news__author-avatar{
  width:2.5rem; height:2.5rem; border-radius:50%; object-fit:cover; overflow:hidden;
}
.single-news .single-news__author-name{
  font-size:max(.75rem, 10px);
  line-height:1;
}


/* 投稿者ボックス（本文下）：一覧のトーン + プロフィール文 */
.single-news .single-news__author-block{
    margin: 2rem 0 0;
    background: #F7F7F7;
    border-radius: 1.25rem;
    padding: 1.5rem;
    width: auto;
}
.single-news .single-news__author{
  display:flex; align-items:center; gap:0.8rem;
  margin:0 0 .75rem;
}
.single-news .single-news__author-avatar{
  width:2.5rem; height:2.5rem; border-radius:50%; object-fit:cover; overflow:hidden;
}
.single-news .single-news__author-name{
  font-size:max(.875rem, 10px); line-height:1;
}
.single-news .single-news__author-bio{
  margin:0; font-size:max(.875rem, 10px);
}


.archive-column.related-column {
    background: #F7F7F7;
    margin-top: 6rem;
    padding-bottom: 5rem;
	    margin-bottom: 3rem;
}

.archive-column.related-column .archive-column__rows .column-row__meta {
    margin-top: 0.7rem;
}

h2#related-column-title {
    text-align: center;
}

.archive-column.related-column .archive-column__rows {
    margin-top: 2.5rem;
}

.col-blue {
    color: #009DE0!important;
}





/* ===============================
   Archive Case – Card Grid
   Scoped: .archive-case
   palette: primary #009DE0 / text #002333 / muted #4B5B63 / border #9ED2E8
   =============================== */

/* グリッド */
.archive-case .archive-case__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap: 2.531rem;                 /* カード間の余白 */
}

/* カード */
.archive-case .case-card{ height:100%; }
.archive-case .case-card__link{
  display:flex; flex-direction:column; height:100%;
  border-radius:1.25rem;
  overflow:hidden;
  background:#fff;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  color:#002333; text-decoration:none;
  transition:opacity .2s;
}
.archive-case .case-card__link:hover{ opacity:.85; }

/* サムネイル：比率 111/62 */
.archive-case .case-card__thumb{
  margin:0; aspect-ratio:111/62; background:#F2F7FA; overflow:hidden;
}
.archive-case .case-card__thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
}

/* 本文部 */
.archive-case .case-card__body{
padding: 1.5rem 1.25rem 1.7rem;
}
.archive-case .case-card__title{
  margin:0 0 .6rem; font-size:1rem; font-weight:500;
}

/* チップ（保険：共通があるなら不要） */
.archive-case .case-card__chips{ display:flex; gap:.5rem; margin:0; padding:0; list-style:none; }
.archive-case .chip{
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    border-radius: 1.25rem;
    border: 1px solid #009DE0;
    color: #009DE0;
    background: #fff;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
}
.archive-case .chip--sm{     padding: 0.5rem 0.8rem;
    font-size: max(.875rem, 10px); }

/* 空状態 */
.archive-case .archive-case__empty{ margin:1.5rem 0; color:#4B5B63; }

/* 2行省略ヘルパー（このページだけ） */
.archive-case .u-clamp-2{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ===============================
   Responsive
   =============================== */
@media (max-width: 767.8px){
  .archive-case .archive-case__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:1.25rem; }
  .archive-case .case-card__title{ font-size:.95rem; }
}
@media (max-width: 575.8px){
  .archive-case .archive-case__grid{ grid-template-columns:1fr; }
}







/* ==============================
   Case Search (dark / outline)
   ============================== */
.case-search {
  padding: 3.5rem 0;
}
.case-search .section__inner {  }
.case-search__form { display:block; }

/* --- グループ共通 --- */
.case-search__group {
  display:grid;
  grid-template-columns: 11rem 1fr;
  align-items:start;
  gap: 1.6rem 2.6rem;
  padding: 1.6rem 0;
}

.case-search__head { grid-column: 1 / 2; }
.case-search__label {
  display:inline-block;
  font-weight:bold;
}

/* 「すべて選択する」も横並びで統一 */
.case-search__all{
  display:inline-grid; grid-auto-flow:column; align-items:center; gap:.6rem;
  font-size:max(.875rem, 10px); margin-top:.5rem; cursor:pointer;
}

/* オプション横並び */
.case-search__options {
  grid-column: 2 / 3;
  display:flex; flex-wrap:wrap;     gap: 1rem 1.9rem;
  list-style:none; margin:0; padding:0;
  position: relative;
}

/* =========================================
   汎用チェックボックス（✓ 白チェック）
   - オプション／都道府県／すべて選択のすべてに適用
   ========================================= */
.case-search__options label,
.case-search__pref-list label,
.case-search__all {
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

/* ベース箱 */
.case-search__options input[type="checkbox"],
.case-search__pref-list input[type="checkbox"],
.case-search__all > input[type="checkbox"]{
  appearance:none;     -webkit-appearance: none;
    width: 16px;
    height: 16px;
    margin: 0;
    border: 1px solid #BEBFBF;
    background: #ffffff;
    position: relative;
    display: inline-block;
	margin-top: 0.2rem;
    vertical-align: middle;
  transition: border-color .2s, background-color .2s;
}

/* ✓ マーク（白） */
.case-search__options input[type="checkbox"]::after,
.case-search__pref-list input[type="checkbox"]::after,
.case-search__all > input[type="checkbox"]::after{
    content: "";
    position: absolute;
    left: 4px;
    top: -1px;
    width: 4px;
    height: 10px;
    border: 2px solid #fff;
  border-top:0; border-left:0;      /* └ 形のチェック */
  transform: rotate(45deg);
  opacity:0; transition: opacity .15s ease;
}

/* チェック時：青塗り＋白✓ */
.case-search__options input[type="checkbox"]:checked,
.case-search__pref-list input[type="checkbox"]:checked,
.case-search__all > input[type="checkbox"]:checked{
  background:#009DE0; border-color:#BEBFBF;
}
.case-search__options input[type="checkbox"]:checked::after,
.case-search__pref-list input[type="checkbox"]:checked::after,
.case-search__all > input[type="checkbox"]:checked::after{
  opacity:1;
}



/* ラベル文字色もチェック連動（:has 対応ブラウザ） */
@supports selector(label:has(input:checked)) {
  .case-search__options label:has(> input[type="checkbox"]:checked),
  .case-search__pref-list label:has(> input[type="checkbox"]:checked),
  .case-search__all:has(> input[type="checkbox"]:checked){
    color:#009DE0;
  }
}

/* キーボードフォーカス */
.case-search__options input[type="checkbox"]:focus-visible,
.case-search__pref-list input[type="checkbox"]:focus-visible,
.case-search__all > input[type="checkbox"]:focus-visible{
  outline:2px solid #EBF8FF; outline-offset:2px;
}

/* --- 都道府県グリッド＆縦線追従 --- */
.case-search__group--pref {
  display:grid;
  grid-template-columns: 13.5rem 1fr;
  gap: 0 2.6rem;
  align-items:stretch;
  position:relative;
}
.case-search__group--pref .case-search__head { position:relative; z-index:2; }
.case-search__group--pref .case-search__head::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 105%;
    width: 1px;
    background: #BEBFBF;
}
.case-search__pref-grid{
    display: flex;
    gap: 1.8rem 2.6rem;
    flex-wrap: wrap;
}
.case-search__pref-col{ min-width:0; width: 100%;}
.case-search__pref-parent{     font-weight: 500;
    margin-bottom: .5rem;
    font-size: max(.875rem, 10px); }
.case-search__pref-list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap: 1.0rem 2.0rem;
}

/* --- アクションボタン --- */
.case-search__actions{ display:flex; justify-content:center; padding: 2.4rem 0 .4rem; }
.case-search__submit{
    display: inline-flex;
    align-items: center;
    gap: 6rem;
	padding-right: 1.2rem;
    padding: 0.75rem 1.6rem;
    border-radius: 80px;
    border: 1px solid #009DE0;
    background: transparent;
    font-size: 1rem;
    color: #009DE0;
    font-weight: 500;
	    cursor: pointer;
  transition: background-color .2s, color .2s, border-color .2s;
}
.case-search__submit-ic{     /* font-style: normal; */
    /* line-height: 1; */
    color: transparent;
    /* font-size: 1rem; */
    line-height: 1;
    width: 2rem;
    height: 2rem;
    background-repeat: no-repeat;
    pointer-events: none;
    background-size: contain;
background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235%22%20height%3D%2235%22%20viewBox%3D%220%200%2035%2035%22%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip-path%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_1526%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%201526%22%20width%3D%2216%22%20height%3D%2217%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_2696%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%202696%22%20transform%3D%22translate(-2.295)%22%3E%20%3Cg%20id%3D%22%E6%A5%95%E5%86%86%E5%BD%A2_1%22%20data-name%3D%22%E6%A5%95%E5%86%86%E5%BD%A2%201%22%20transform%3D%22translate(2.295)%22%20fill%3D%22%2313a3e0%22%20stroke%3D%22%2313a3e0%22%20stroke-width%3D%221%22%3E%20%3Ccircle%20cx%3D%2217.5%22%20cy%3D%2217.5%22%20r%3D%2217.5%22%20stroke%3D%22none%22%2F%3E%20%3Ccircle%20cx%3D%2217.5%22%20cy%3D%2217.5%22%20r%3D%2217%22%20fill%3D%22none%22%2F%3E%20%3C%2Fg%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_3337%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%203337%22%20transform%3D%22translate(11.295%209)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_350%22%20data-name%3D%22%E3%83%91%E3%82%B9%20350%22%20d%3D%22M0%2C0H18V18H0Z%22%20fill%3D%22none%22%2F%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_3533%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%203533%22%20transform%3D%22translate(-0.95%20-0.98)%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_2657%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%202657%22%20transform%3D%22translate(1.95%201.981)%22%20clip-path%3D%22url(%23clip-path)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_344%22%20data-name%3D%22%E3%83%91%E3%82%B9%20344%22%20d%3D%22M224.865%2C227.613%2C223%2C225.619l-2.216%2C2.256%2C1.862%2C1.994a1.492%2C1.492%2C0%2C0%2C0%2C2.182.035%2C1.678%2C1.678%2C0%2C0%2C0%2C.033-2.291%22%20transform%3D%22translate(-209.719%20-213.741)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_345%22%20data-name%3D%22%E3%83%91%E3%82%B9%20345%22%20d%3D%22M11.9%2C10.383A1.5%2C1.5%2C0%2C0%2C0%2C10.7%2C9.895l-.8-.866a5.953%2C5.953%2C0%2C0%2C0-.537-7.292%2C5.275%2C5.275%2C0%2C0%2C0-7.708-.124%2C5.936%2C5.936%2C0%2C0%2C0-.118%2C8.095%2C5.269%2C5.269%2C0%2C0%2C0%2C6.924.786l.8.866a1.666%2C1.666%2C0%2C0%2C0%2C.428%2C1.28l.684.74%2C2.216-2.256ZM9.147%2C5.428A3.834%2C3.834%2C0%2C0%2C1%2C5.717%2C9.589a3.77%2C3.77%2C0%2C0%2C1-3.962-3.6A3.834%2C3.834%2C0%2C0%2C1%2C5.184%2C1.827a3.77%2C3.77%2C0%2C0%2C1%2C3.962%2C3.6%22%20transform%3D%22translate(0%200)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}
.case-search__submit:hover{ background:#009DE0; color:#ffffff; border-color:#009DE0; opacity: 0.8; }

/* --- “検索条件” 見出し（任意） --- */
.case-search__summary {
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: max(.875rem, 10px);
	    margin-bottom: 3rem;
}

/* --- レスポンシブ --- */

@media (max-width: 575.8px){
  .case-search { padding: 2.4rem 0; }
  .case-search__group, .case-search__group--pref{ grid-template-columns: 1fr; }
  .case-search__group--pref::after{ display:none; }
  .case-search__options, .case-search__pref-grid{ grid-column: 1 / -1; }
  .case-search__pref-grid{ grid-template-columns: 1fr; }
  .case-search__actions{ padding: 1.6rem 0 0; }
}


section.base-level__lower.archive-column.case-search {
    padding-bottom: 0;
}

.case-archive-h2__title {
    margin: 1.1rem 0 2.2rem;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 700;
}











/* ==============================
   Single Case Detail (light tone)
   palette: Primary #009DE0 / Text #002333 / Muted #4B5B63
            Border #D3EAF6 / CardBG #F5FAFD / EmBG #EBF8FF / ThumbBG #E3E7EA
   bp: 767.8 / 575.8
   ============================== */

/* layout */
.single-case { background:#fff; }
.single-case .section__inner { max-width:1000px; margin:0 auto; }

/* section headings */
.single-case__h2{
    text-align: center;
    color: #002333;
    font-weight: bold;
    margin: 4rem 0 1.8rem;
    font-size: 2rem;
}

/* ===== visual (Splide) ===== */
.single-case__visual{ margin:.5rem 0 1.8rem; }
.single-case__splide{ position:relative; }
.single-case__splide .splide__slide{
  aspect-ratio:111/62;
  border-radius:1.25rem;
  overflow:hidden;
}
.single-case__splide img{
  width:100%; height:100%; object-fit:cover; display:block;
}

/* arrows : light outline chevrons */
.single-case__arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:999px;
  background:#fff;                /* 白背景に合わせる */
  border:2px solid #009DE0; color:#009DE0;
  z-index:3; cursor:pointer;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.splide__arrow.single-case__arrow svg{
    fill: #009DE0;
    height: 2rem;
    width: 1.25rem;
}

.single-case__arrow.splide__arrow--prev{ left:-28px; }
.single-case__arrow.splide__arrow--next{ right:-28px; }
.single-case__arrow svg{ fill:currentColor; }

/* thumbs row */
.single-case__thumbs{ margin-top:1.2rem;     visibility: visible!important; }
.single-case__thumbs .splide__track{ padding:0 .25rem; }
.single-case__thumbs .splide__slide{
  background:#E3E7EA;
  border-radius:8px;
  overflow:hidden;
}
.single-case__thumbs img{ width:100%; height:100%; object-fit:cover; display:block; }
.single-case__thumbs .is-active{ outline:2px solid #009DE0; }

/* ===== cards ===== */
.single-case__card{
  background:#F7F7F7;              /* ごく薄いブルーグレー */
  border-radius:1.25rem;
padding: 1.6rem 2.5rem;
    padding-bottom: 3rem;
  color:#002333;
}

/* 基本情報 */
.single-case__ginfo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.8rem 2rem;
}
.single-case__ginfo-row{
  display:grid;
    grid-template-columns: 7rem 1fr;
    align-items: center;
    padding: 0.6rem 0 1.1rem;
  border-bottom:1px solid #BEBFBF;
}
/*
.single-case__ginfo-row:last-child{ border-bottom:none; }*/
.single-case__ginfo-row dt{font-weight:500; }
.single-case__ginfo-row dd{ margin:0;     font-size: max(.875rem, 10px);}

/* リッチ（背景・ポイント） */
.single-case__rich{     color: #002333;
    background: #F7F7F7;
    border-radius: 1.25rem;
    padding: 1.6rem 2.5rem; 
	    padding-bottom: 1rem;
}

.single-case__card.single-case__rich.single-news__content {
    margin-bottom: 0;
	background-color: #EBF8FF;
}

.base-level__lower.other-introduce .section__inner {
    max-width: 100%;
}

section.case-study.other-case__slide {
    background: #F7F7F7;
    padding-top: 1rem;
    padding-bottom: 6rem;
    margin-top: 8rem;
    margin-bottom: 4rem;
}

.single-case__arrow.splide__arrow--prev,.single-case__arrow.splide__arrow--next{
	background: none;
}

.single-case__arrow.splide__arrow--next

/* --- メイン・サムネ共通の角丸 --- */
.single-case__splide .splide__slide,
.single-case__splide .splide__slide img{
  border-radius: 1.25rem;
}

.single-case__thumbs .splide__slide,.single-case__thumbs .splide__slide img {
  border-radius: 0.5rem;	
}

/* --- メイン画像を一回り小さく中央配置（そのまま継続） --- */
.single-case__splide .splide__slide{
  display:flex; align-items:center; justify-content:center;
      width: 100%!important;
    height: auto;
}
/*
.single-case__splide .splide__slide img{
  max-width:92%; max-height:92%;
  width:auto; height:auto; object-fit:contain;
}*/
.single-case__splide .splide__slide img{
max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --- サムネ列：静的横並び（動かさない） --- */
.single-case__thumbs .splide__track{ overflow: visible; }
.single-case__thumbs .splide__list{
  display:flex; flex-wrap:wrap; gap:12px;
  margin:0; padding:0;
}
.single-case__thumbs .splide__slide{
    flex: 0 0 7rem;
    height: 4.6876rem;
    overflow: hidden;
}
.single-case__thumbs img{
  width:100%; height:100%; object-fit:cover; display:block;
}

/* アクティブ表示（枠） */
.single-case__thumbs .is-active{
  outline: 1px solid #009DE0;
  outline-offset: 0;
}


/* responsive */
@media (max-width: 767.8px){
  .single-case__h2{         margin: 2.4rem 0 0rem;
        font-size: 1.5rem; }
  .single-case__arrow.splide__arrow--prev{ left:-18px; }
  .single-case__arrow.splide__arrow--next{ right:-18px; }
  .single-case__ginfo{ grid-template-columns:1fr; }
}
@media (max-width: 575.8px){
  .single-case__arrow{ width:40px; height:40px; }
  .single-case__arrow.splide__arrow--prev{ left:-12px; }
  .single-case__arrow.splide__arrow--next{ right:-12px; }
  section.hero__under .section__title.single-ptn {
    font-size: 2.5rem;
    line-height: 1.5;
}
}








/* ==============================
   PRODUCTS HUB / SEARCH (Kana Index)
   bp: 767.8 / 575.8
   ============================== */

/* ==============================
   Products Tabs（hoverのみアニメ / 自分の下だけ下線）
   ============================== */

/* ベースライン（常時フル幅） */
.prod-tabs {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  gap: .8rem;
  margin: .25rem 0 1.4rem;
  overflow: visible;
      border-bottom: 1px solid #009DE0;
	      padding-left: 1rem;
    padding-right: 1rem;
}
.prod-tabs::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;           /* left:0; right:0; bottom:0; */
  pointer-events: none;
}

/* タブ本体（上だけ角丸） */
.prod-tab {
  position: relative;
    display: flex;
    grid-template-columns: auto 1fr;
    align-items: center;
    justify-content: center;
  gap: 1rem;
  min-height: 3.2rem;
  padding: 0.8rem 1rem 0.7rem;
  border: 1px solid #9ED2E8;
  border-bottom: none;
  border-top-left-radius: 1.25rem;
  border-top-right-radius: 1.25rem;
  background: #fff;
  color: #9ED2E8;
  text-decoration: none;
  font-weight: bold;
  z-index: 1;
  transition:
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease,
    transform .25s ease,
	padding .25s ease
	;
}

/* ▼ hoverインジケータ（自分の下だけ伸びる） */
.prod-tab::before {
    content: "";
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: -3px;
    height: 3px;
    background: #ffffff;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
  z-index: 3;                   /* ベースラインより上 */
}
.prod-tab:not(.is-active):not([aria-selected="true"]):hover::before {
  transform: scaleX(1);
}

/* ▼ アクティブ（読み込み時は静止。hoverしても動かない） */
.prod-tab.is-active,
.prod-tab[aria-selected="true"] {
  border-color: #009DE0;
  background: #EBF8FF;
  color: #009DE0;
  z-index: 2;
  transform: none;
      padding-top: 1rem;
    padding-bottom: 0.8rem;
}
.prod-tab.is-active::after,
.prod-tab[aria-selected="true"]::after {
    content: "";
    position: absolute;
    left: 0px;
    right: -2px;
    bottom: -2px;
    height: 2px;
    background: #ffffff;
    z-index: 2;
    width: 100%;
}
/* アクティブは hover アニメ無効＆枠色固定 */
.prod-tab.is-active:hover,
.prod-tab[aria-selected="true"]:hover {
  border-color: #009DE0;
  transform: none;
}
.prod-tab.is-active:hover::before,
.prod-tab[aria-selected="true"]:hover::before {
  transform: scaleX(0);
}

/* ▼ 非アクティブの hover：枠を強調＋わずかに浮く（自分だけ） */
.prod-tab:not(.is-active):not([aria-selected="true"]):hover {
  border-color: #009DE0;
    padding-bottom: 0.8rem;
    padding-top: 1rem;
	    background: #EBF8FF;
}

/* アイコンの薄さ切替 */
.prod-tab__ic {   width: 2.1876rem;
    height: 2.1876rem;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236.001%22%20height%3D%2235%22%20viewBox%3D%220%200%2036.001%2035%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_2632%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%202632%22%20transform%3D%22translate(0.254%20-0.344)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_1514%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%201514%22%20width%3D%2235%22%20height%3D%2235%22%20transform%3D%22translate(0.247%200.344)%22%20fill%3D%22none%22%2F%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_3513%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%203513%22%20transform%3D%22translate(0.246%202.679)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_504%22%20data-name%3D%22%E3%83%91%E3%82%B9%20504%22%20d%3D%22M30%2C33.417V6H61.5V33.417%22%20transform%3D%22translate(-28.25%20-6)%22%20fill%3D%22%23f56929%22%20stroke%3D%22%23303e58%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_1625%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%201625%22%20width%3D%229.68%22%20height%3D%2221.78%22%20transform%3D%22translate(4.715%202.44)%22%20fill%3D%22%23fff%22%20stroke%3D%22%23303e58%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_1626%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%201626%22%20width%3D%229.68%22%20height%3D%2221.78%22%20transform%3D%22translate(20.444%202.44)%22%20fill%3D%22%23fff%22%20stroke%3D%22%23303e58%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_211%22%20data-name%3D%22%E7%B7%9A%20211%22%20y2%3D%222.42%22%20transform%3D%22translate(18.234%2013.329)%22%20fill%3D%22none%22%20stroke%3D%22%23303e58%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_212%22%20data-name%3D%22%E7%B7%9A%20212%22%20y2%3D%2227.83%22%20transform%3D%22translate(16.815%200.019)%22%20fill%3D%22none%22%20stroke%3D%22%23303e58%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_505%22%20data-name%3D%22%E3%83%91%E3%82%B9%20505%22%20d%3D%22M39.25%2C382H41v2.917H6V382H39.25Z%22%20transform%3D%22translate(-6%20-354.583)%22%20fill%3D%22%23f2f3f4%22%20stroke%3D%22%23303e58%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_3504%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%203504%22%20transform%3D%22translate(7.135%207.279)%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_213%22%20data-name%3D%22%E7%B7%9A%20213%22%20x1%3D%222.42%22%20y2%3D%222.42%22%20transform%3D%22translate(0%20-1.113)%22%20fill%3D%22none%22%20stroke%3D%22%23979faf%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_214%22%20data-name%3D%22%E7%B7%9A%20214%22%20x1%3D%222.42%22%20y2%3D%222.42%22%20transform%3D%22translate(0%201.21)%22%20fill%3D%22none%22%20stroke%3D%22%23979faf%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_215%22%20data-name%3D%22%E7%B7%9A%20215%22%20x1%3D%220.736%22%20y2%3D%221.113%22%20transform%3D%22translate(3.629%20-1.113)%22%20fill%3D%22none%22%20stroke%3D%22%23979faf%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}

.prod-tab__ic.i-need {
	background-image:url("../img/common/i-need.png");
}

.prod-tab__ic.i-purpose {
	background-image:url("../img/common/i-purpose.png");
}

.prod-tab__ic.i-search {
	background-image:url("../img/common/i-search.png");
}

.prod-tab .prod-tab__ic {
    opacity: 0.5;
}

.prod-tab.is-active .prod-tab__ic {
    opacity: 1;
}

.prod-tab:not(.is-active):not([aria-selected="true"]):hover span.prod-tab__ic {
    opacity: 1;
}

.prod-tab:not(.is-active):not([aria-selected="true"]):hover .prod-tab__label {
    color: #009DE0;
}

.prod-tab__ic img,
.prod-tab__ic svg { width: 26px; height: 26px; display: block; transition: filter .25s ease, opacity .25s ease; }
.prod-tab:not(.is-active):not([aria-selected="true"]) .prod-tab__ic img,
.prod-tab:not(.is-active):not([aria-selected="true"]) .prod-tab__ic svg { filter: grayscale(1); opacity: .45; }

/* ラベル */
.prod-tab__label { white-space: nowrap; line-height: 1; color: inherit; }



/* レスポンシブ */
@media (max-width: 875.8px) {
.prod-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
            border: 0;
			            padding-left: 0;
            padding-right: 0;
			gap: 1rem;
}
.prod-tab{
	    border-top-left-radius: 0;
    border-top-right-radius: 0;
	border: 0;
	    border-bottom: 1px solid #009DE0;
		    gap: 0.5rem;
}
}

@media (max-width: 575.8px) {
  .prod-tab { min-height: 3rem; padding: .6rem .9rem .5rem; }
  .prod-tab__label { font-size: 1rem; }
}


.products-term__wrap {
    margin-top: 5rem;
}

/* ---- ハブのグリッド（親タームカード） ---- */
.prod-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1.8rem 0.8rem;
  margin: .6rem 0 1.6rem;
}

.prod-grid.name-ptn{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

hr.product-column__sep {
    border: 0;
    border-top: 1px dashed #9ED2E8;
    margin: 1.2rem 0 2.3rem;
}

/* ---- カードwrap： [カード本体] [丸矢印] ---- */
.prod-card__wrap {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .6rem;
}

/* ---- カード本体 ---- */
.prod-card__link {
    display: flex;
    gap: 1rem;
    align-items: center;
    background: #F7F7F7;
    border-radius: 1rem;
    padding: 1rem 1.5rem;
    padding-right: 1rem;
    text-decoration: none;
    color: #002333;
    transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease;
    will-change: transform;
}

/* ホバー時：カードは白、枠は薄く、ほんの少しだけ浮く */
.prod-card__link:hover,
.prod-card__link:focus-visible {
  /*background: #FFFFFF;
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.08),
    0 1px 2px rgba(0,0,0,.06),
    0 6px 14px rgba(0,0,0,.04);
  transform: translateY(-1px);
  outline: none;*/
  opacity: 0.8;
}

/* ---- 左アイコン ---- */
.prod-card__icon img,
.prod-card__icon svg {
  display: block;
width: 2.625rem;
    height: 2.625rem;
    object-fit: contain;
    aspect-ratio: 1 / 1;
}

/* ---- タイトル ---- */
.prod-card__label {
    font-weight: 500;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transform: translateZ(0);
}

/* ---- 右の丸ボタン（矢印はCSSで描画） ---- */
.prod-card__arrow {
    display: block;
    place-items: center;
    min-width: 3rem;
    min-height: 3rem;
    /* border-radius: 999px; */
    color: transparent;
    margin-left: auto;
    /* background: #FFFFFF; */
    /* box-shadow: inset 0 0 0 2px #E3E7EA; */
    text-decoration: none;
    background-size: contain;
    background-repeat: no-repeat;
    transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease;
    will-change: transform;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_3809%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%203809%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%20%3Ccircle%20id%3D%22%E6%A5%95%E5%86%86%E5%BD%A2_1%22%20data-name%3D%22%E6%A5%95%E5%86%86%E5%BD%A2%201%22%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%2224%22%20fill%3D%22%23fff%22%2F%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_2695%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%202695%22%20transform%3D%22translate(12.801%2012.801)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_321%22%20data-name%3D%22%E3%83%91%E3%82%B9%20321%22%20d%3D%22M15.415%2C22.6%2C23.3%2C14.816%2C15.415%2C7.03%2C14.1%2C8.328l6.569%2C6.487L14.1%2C21.3Z%22%20transform%3D%22translate(-7.647%20-3.764)%22%20fill%3D%22%2313a3e0%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_322%22%20data-name%3D%22%E3%83%91%E3%82%B9%20322%22%20d%3D%22M0%2C0H22.1V22.1H0Z%22%20fill%3D%22none%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}




/* カード本体hover時にも丸を反転させる（画像の見え方に合わせる） */
.prod-card__link:hover + .prod-card__arrow,
.prod-card__link:focus-visible + .prod-card__arrow {
  background: #009DE0;
  box-shadow: none;
}
.prod-card__link:hover + .prod-card__arrow::before,
.prod-card__link:focus-visible + .prod-card__arrow::before {
  border-color: #FFFFFF;
}

/* active弱め */
.prod-card__link:active,
.prod-card__arrow:active {
  transform: translateY(0);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}

/* レスポンシブ */
@media (max-width: 768px){
  .prod-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px){
  .prod-grid { grid-template-columns: 1fr; }
  .prod-card__link { min-height: 64px; }
}

/* 省アニメ設定を尊重 */
@media (prefers-reduced-motion: reduce){
  .prod-card__link,
  .prod-card__arrow { transition: none; }
}


.product-empty {
    /* color: #4B5B63; */
    margin: 1rem 0;
    padding-left: 1rem;
    padding-right: 1rem;
}



/* ---- ページャ ---- */
.product-pager {
  margin: 1rem 0;
}

.product-pager .wp-pagenavi a,
.product-pager .wp_pagenavi a,
.product-pager .wp-pagenavi span,
.product-pager .wp_pagenavi span,
.product-pager .pagination a,
.product-pager .pagination span {
  display: inline-grid;
  place-items: center;
  min-width: 2rem;
  height: 2rem;
  margin: .15rem;
  padding: 0 .6rem;
  border-radius: 999px;
  border: 1px solid #9ED2E8;
  color: #002333;
  text-decoration: none;
  background: #fff;
}

.product-pager .current,
.product-pager .wp-pagenavi .current,
.product-pager .wp_pagenavi .current {
  background: #009DE0;
  color: #fff;
  border-color: #009DE0;
}

/* ---- フリーワード検索フォーム ---- */
.freeword-form {
  display: flex;
  gap: .6rem;
  margin: .5rem 0 1.4rem;
}

.freeword-form input[type="search"] {
  flex: 1 1 auto;
  border: 1px solid #9ED2E8;
  border-radius: .75rem;
  padding: .75rem 1rem;
  font-size: 1rem;
}

.freeword-form button {
  border: 2px solid #009DE0;
  background: #fff;
  color: #009DE0;
  border-radius: 999px;
  padding: .65rem 1.2rem;
  font-weight: 800;
}

.freeword-form button:hover {
  background: #009DE0;
  color: #fff;
}

/* ===================== 五十音（/products/search/） ===================== */
.kana-nav {
    margin: 5rem 0 5rem;
}

.kana-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.kana-nav__list li.kana-nav__item:last-of-type{
	display: none;
}

.kana-nav__btn {
    display: inline-grid;
    place-items: center;
    min-width: 3rem;
    height: 3rem;
    padding: 0 .4rem;
    border-radius: 999px;
    border: 1px solid #009DE0;
    background: #fff;
    color: #002333;
    font-weight: 500;
    text-decoration: none;
    font-size: 1.25rem;
}

.kana-nav__btn:hover {
    background: #009DE0;
    color: #ffffff;
}

.kana-nav__btn.is-disabled {
    cursor: default;
    background: #F7F7F7;
    color: #ffffff;
    border-style: solid;
    border-color: transparent;
}

.kana-section {
    margin: 1.6rem 0 4.5rem;
}

.kana-section__title {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 .6rem;
}

.kana-section__kana {
    display: block;
    color: #009DE0;
    font-weight: 500;
    line-height: 1;
    font-size: 2.5rem;
}

.kana-section__suffix {
    color: #009DE0;
    font-weight: 500;
    line-height: 1;
    font-size: 1.5rem;
}

.name-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem .9rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.name-card__link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .8rem;
  background: #F5FAFD;
  border-radius: 1.25rem;
  padding: .75rem .95rem;
  text-decoration: none;
  color: #002333;
  box-shadow: inset 0 0 0 1px #D3EAF6;
}

.name-card__link:hover {
  box-shadow: inset 0 0 0 2px #009DE0;
}

.name-card__label {
  font-weight: 700;
}

.name-card__arrow {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  color: #009DE0;
  box-shadow: 0 0 0 2px #E3E7EA inset;
}

/* ---- フォーカス可視化 ---- */
.prod-card__link:focus-visible,
.prod-card__arrow:focus-visible,
.kana-nav__btn:focus-visible,
.name-card__link:focus-visible,
.freeword-form input[type="search"]:focus-visible,
.freeword-form button:focus-visible {
  outline: 1px solid #009DE0;
  outline-offset: 0px;
}

/* ===================== レスポンシブ ===================== */
@media (max-width: 767.8px) {
  .prod-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .product-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.8px) {
  .freeword-form {
    flex-direction: column;
  }
  .prod-grid,
  .product-cards {
    grid-template-columns: 1fr;
  }
  .name-grid {
    grid-template-columns: 1fr;
  }
  .prod-grid.name-ptn.ps-ptn {
    grid-template-columns: 1fr;
}
}






/* ========= 見出し ========= */
.purpose-subtitle-row {
    display: flex;
    align-items: center;
	    margin: 1.4rem 0 .8rem;
}
.purpose-subtitle{
    font-size: 1.125rem;
    /* line-height: 1.35; */
    font-weight: bold;
    color: #002333;
	padding-left: 1rem;
	  padding-right: 1rem;
}
img.purpose-subtitle__img {
    display: block;
    width: 2.625rem;
    height: 2.625rem;
    object-fit: contain;
    margin-right: -0.5rem;
    aspect-ratio: 1 / 1;
}

/* ========= テーブル本体 ========= */
.prod-table.prod-table--matrix{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
  overflow: hidden; /* 角丸 */
}

/* ヘッダー */
.prod-table--matrix thead th{
    color: #009DE0;
	    padding-top: 0;
    font-weight: bold;
    font-size: 1rem;
    padding: 1rem 0rem;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
	    padding-top: 0;
}

/* セル */
.prod-table--matrix tbody td{
  padding: .8rem 0rem;
      padding-top: 0;
  color: #002333;
  font-size: 1rem;
  vertical-align: top;
  word-break: break-word;
}
.prod-table--matrix tbody tr:last-child td{
  border-bottom: none;
}


/* リンク（製品列） */
.prod-table--matrix a{
  color: #002333;
  text-decoration: underline;
  font-weight: 500;
}
.prod-table--matrix a:hover,
.prod-table--matrix a:focus-visible{
  text-decoration: none;
  opacity: 0.8;
}
/* ========== 列幅を固定（PC/SP共通） ========== */
/* テーブルのレイアウトを固定化して、指定した列幅が効くように */
.prod-table.prod-table--matrix{
  table-layout: fixed; /* ← ここだけ auto から fixed に変更 */
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* 列幅（比率は調整可）: 機能・性能=28% / カテゴリー=22% / 製品=50% */
.prod-table--matrix thead th:nth-child(1),
.prod-table--matrix tbody td:nth-child(1){ width: 16%; }
.prod-table--matrix thead th:nth-child(2),
.prod-table--matrix tbody td:nth-child(2){ width: 24%; }
.prod-table--matrix thead th:nth-child(3),
.prod-table--matrix tbody td:nth-child(3){ width: 50%; }

/* 文字が長いときの折返し（SPでもテーブルのまま表示） */
.prod-table--matrix th,
.prod-table--matrix td{
  overflow-wrap: anywhere; /* 長い単語/URLも折返し */
  word-break: break-word;
}

/* 製品列だけ特に長くなりがちなので安全側で */
.prod-table--matrix tbody td:nth-child(3){
  /* 必要なら余白を追加する場合だけ有効化
  padding-right: .5rem;
  */
}

@media (max-width: 575.8px) {
.prod-table--matrix thead th:nth-child(1),
.prod-table--matrix tbody td:nth-child(1){ width: auto; }
.prod-table--matrix thead th:nth-child(2),
.prod-table--matrix tbody td:nth-child(2){ width: auto; }
.prod-table--matrix thead th:nth-child(3),
.prod-table--matrix tbody td:nth-child(3){ width: auto; }
.prod-table.prod-table--matrix {
    table-layout: auto;
}
.prod-table--matrix tbody td {
    padding: 0.5rem 0rem;
}
.prod-table--matrix thead th {
    padding: 0.5rem 0rem;
}
}





/* ===== purpose02：左「見出し」＋右「説明」 ===== */
.purpose-list__ul{
  list-style: none;
  padding: 0;
}

.purpose-lead {
    margin-bottom: 1.2rem;
	    padding-left: 1rem;
    padding-right: 1rem;
}

.purpose-list__item{
  display: grid;
  grid-template-columns: 7rem 1fr; /* 左：見出し 幅 / 右：本文 */
  align-items: start;
  column-gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid #BEBFBF;
      padding-left: 1rem;
    padding-right: 1rem;
}

.purpose-list__item:first-of-type{
	    padding-top: 0.8rem;
}

.purpose-list__item:last-child{
  border-bottom: none;
}

.purpose-list__term{
    display: block;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.6;
}

.purpose-list__desc{
  margin: 0;
  color: #002333;
  font-size: max(.875rem, 10px);
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* SPでも同じ2カラムを維持（折返しだけ安全に） */
@media (max-width: 575.8px){
  .purpose-list__item{
    grid-template-columns: 5.5rem 1fr; /* 端末幅に合わせて左列だけ少し狭く */
    column-gap: .8rem;
  }
}

.other-introduce.common-products__more {
    padding-bottom: 0;
    display: flex;
    justify-content: center;
}

/* テーマのCSSに1回だけ追加しておけばOK */
.is-products-all section.base-level__lower:not(.search-product-all){
  display: none !important;
}

h2.product-group__heading.info-common__title.all-ptn.has-icon {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

h2.product-group__heading.info-common__title.all-ptn.has-icon span.prod-card__icon {
    position: relative;
    top: 0.2rem;
}

.product-card__title {
    font-size: 1.125rem;
    text-decoration: underline;
    font-weight: bold;
    color: #009DE0;
	margin-bottom: 0.8rem;
	    transition: opacity .2s;
}

.product-card__title:hover{
	opacity: 0.8;
	text-decoration: none;
}

.product-card.product-card--text {
    margin-bottom: 1.2rem;
	    border-bottom: 1px dashed #9ED2E8;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
}

.product-group__heading.info-common__title,.product-cards.product-cards--text{
    padding-left: 1rem;
    padding-right: 1rem;
}

.single-news__content.product-case {
    padding-left: 1rem;
    padding-right: 1rem;
	margin-bottom: 0;
}



.need-bg {
  padding-left: 1rem;
  padding-right: 1rem;
}

/* まずはデフォルトを1カラム（= スライド無い時はフル幅） */
#purpose01 .need-bg__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.6rem 3.7rem;
  align-items: start;
}

/* スライド（.need-bg__media）があるときだけ2カラムにする */
@supports selector(:has(*)) {
  #purpose01 .need-bg__grid:has(.need-bg__media){
    grid-template-columns: 1fr minmax(43.494%, 42.334%);
  }
}

#purpose01 .need-bg__figure{ margin:0; border-radius:1.25rem; overflow:hidden; }
#purpose01 .need-bg__figure img{ display:block; width:100%; height:auto; border-radius:1.25rem; }

/* --- 外部ナビ --- */
#purpose01 .need-bg__nav{
  display:flex; align-items:center; justify-content:center;
  gap:.9rem; margin-top:.6rem;
}
#purpose01 .need-bg__arrow{
  width:22px; height:22px; border:0; background:transparent; padding:0; cursor:pointer;
  position:relative;
}
#purpose01 .need-bg__arrow::before{
  content:""; position:absolute; inset:0; margin:auto;
  width:8px; height:8px; border-top:1px solid #BEBFBF; border-right:1px solid #BEBFBF;
}
#purpose01 .need-bg__arrow--prev::before{ transform:rotate(-135deg); }
#purpose01 .need-bg__arrow--next::before{ transform:rotate(45deg); }
#purpose01 .need-bg__arrow:hover::before{ border-color:#009DE0; }
#purpose01 .need-bg__dots{ list-style:none; display:flex; gap:.5rem; margin:0 .2rem; padding:0; }
#purpose01 .need-bg__dots li{ width:8px; height:8px; border-radius:999px; background:#BEBFBF; }
#purpose01 .need-bg__dots li.is-active{ background:#009DE0; }

@media (max-width:767.8px){
  #purpose01 .need-bg__grid{ grid-template-columns:1fr; }
}




/* ===== scope: #purpose02 ===== */
#purpose02 .purpose-approach__lead{ margin:.4rem 0 2rem; }
#purpose02 .purpose-approach__grid{
  list-style:none; margin:0; padding:0;
  display:block;
}
#purpose02 .purpose-approach__item {
    display: flex;
    gap: 2rem;
    border-bottom: 1px dashed #9ED2E8;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
}
.single-news__content.product-case.product-sub__common {
    margin-top: 2rem;
    margin-bottom: 3rem;
}
.single-news__content.product-case.product-sub__common:last-of-type{
    margin-bottom: 0rem;
}
#purpose02 .purpose-approach__item:last-of-type{
	margin-bottom: 0;
}
#purpose02 .purpose-approach__item .left {
    width: 30%;
	    min-width: 12rem;
}
#purpose02 .purpose-approach__item .right {
    width: 70%;
}
#purpose02 li.purpose-approach__item.no-img .right {
    width: 100%;
}
#purpose02 .purpose-approach__thumb{
  margin:0 0 .8rem; border-radius:1.25rem; overflow:hidden;
}
#purpose02 .purpose-approach__thumb img{ display:block; width:100%; height:auto; }
#purpose02 .purpose-approach__title{
  margin:.2rem 0 .4rem; font-weight:500; font-size:1.125rem; 
}
#purpose02 .purpose-approach__desc{
  margin:0; word-break:break-word;
}

.movie-filters.glass-simulation-filters.g-repeat-6 .movie-filters__list {
    grid-template-columns: repeat(6, 1fr);
}
@media (max-width: 767.8px){
  #purpose02 .purpose-approach__grid{ grid-template-columns:1fr; }
  .movie-filters.glass-simulation-filters.g-repeat-6 .movie-filters__list {
    grid-template-columns: repeat(2, 1fr);
}
}

.movie-filters.glass-simulation-filters.g-repeat-4 .movie-filters__list {
    grid-template-columns: repeat(4, 1fr);
}
.movie-filters.glass-simulation-filters.g-repeat-3 .movie-filters__list {
    grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767.8px){
  .movie-filters.glass-simulation-filters.g-repeat-4 .movie-filters__list {
    grid-template-columns: repeat(2, 1fr);
}
.movie-filters.glass-simulation-filters.g-repeat-3 .movie-filters__list {
    grid-template-columns: repeat(2, 1fr);
}
}


.zeisei-content__img {
    width: 100%;
    max-width: 40rem;
}

.zeisei-content__img img{
	width: 100%;
	    border-radius: 0 !important;
}


.base-level__lower.related-links {
    padding-bottom: 0;
}

.base-level__lower.related-links .introduce-panel {
    background: #EBF8FF;
}

.base-level__lower.related-links .introduce-chip-row {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 767.8px) {
	.base-level__lower.related-links .introduce-chip-row {
    grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 575.8px) {
		.base-level__lower.related-links .introduce-chip-row {
    grid-template-columns: repeat(1, 1fr);
}
}

.img-center{
	margin: 0 auto;
}

.pdf-icon{
	max-width: 2rem;
}

.zeisei__info-tbl.common-eval table.table td {
    font-weight: 400;
    vertical-align: middle;
    text-align: center;
}


/* 丸枠ボタン */
.fav-btn span.fav-svg{
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #BEBFBF;     /* 枠：薄いグレー */
  padding: 0;
  cursor: pointer;
  transition: border-color .2s ease, transform .08s ease;
}
.fav-btn svg{
  color: #F56929;                 /* ハートの色（未保存時の線色） */
  transition: color .2s ease, transform .08s ease, fill .2s ease, stroke .2s ease;
}

.fav-flex .fav-btn {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #ffffff;
    background: transparent;
    border: 0;
}

.fav-flex {
    margin-top: 1.5rem;
}

.fav-btn:hover{ opacity: 0.8; }

/* 保存済み：色を変えて塗りつぶし */
.fav-btn.is-saved{
  border-color: #F56929;
}
.fav-btn.is-saved svg{
  color: #F56929;                 /* 保存色（少し濃いオレンジ） */
}
.fav-btn.is-saved svg path{
  fill: currentColor;             /* 中を塗る */
  stroke: currentColor;
}

/* 小さなヒント用（任意） */
.fav-btn.is-tip::after{
  content: attr(data-tip);
  position: absolute;
  left: 50%; transform: translateX(-50%);
  bottom: calc(100% + .5rem);
  background: #002333; color:#fff; font-size:1rem; line-height:1.5;
  padding:.25rem .5rem; border-radius:.4rem; white-space:nowrap;
  box-shadow:0 6px 18px rgba(0,0,0,.15);
}

.search-results__txt {
    margin-bottom: 2rem;
}

.archive-news .wp-pagenavi a.last ,.archive-news .wp-pagenavi a.first,.archive-news .wp-pagenavi span.extend{
    display: none !important;
}


/* 視覚的に非表示（スクリーンリーダー用に残す） */
.sr-only{
  position:absolute !important; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* フォーム本体 */
.freeword-form{
  position: relative;
  max-width: 100%;
}

/* 左の虫眼鏡アイコン（SVG埋め込み） */
.freeword-form::before{
    content: "";
    position: absolute;
    left: 2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2.1876rem;
    height: 2.1876rem;
    pointer-events: none;
  background: no-repeat center / contain
    url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235%22%20height%3D%2236%22%20viewBox%3D%220%200%2035%2036%22%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip-path%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_1526%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%201526%22%20width%3D%2235%22%20height%3D%2236%22%20transform%3D%22translate(-0.625%200)%22%20fill%3D%22%23002333%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_2657%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%202657%22%20transform%3D%22translate(0.625%200)%22%20clip-path%3D%22url(%23clip-path)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_344%22%20data-name%3D%22%E3%83%91%E3%82%B9%20344%22%20d%3D%22M229.619%2C229.937l-4.032-4.318-4.8%2C4.887%2C4.032%2C4.318a3.231%2C3.231%2C0%2C0%2C0%2C4.726.076%2C3.635%2C3.635%2C0%2C0%2C0%2C.072-4.963%22%20transform%3D%22translate(-196.812%20-199.891)%22%20fill%3D%22%23002333%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_345%22%20data-name%3D%22%E3%83%91%E3%82%B9%20345%22%20d%3D%22M25.783%2C22.489a3.249%2C3.249%2C0%2C0%2C0-2.61-1.058l-1.732-1.875A12.893%2C12.893%2C0%2C0%2C0%2C20.278%2C3.761a11.426%2C11.426%2C0%2C0%2C0-16.7-.268%2C12.857%2C12.857%2C0%2C0%2C0-.255%2C17.533%2C11.412%2C11.412%2C0%2C0%2C0%2C15%2C1.7L20.057%2C24.6a3.608%2C3.608%2C0%2C0%2C0%2C.928%2C2.772l1.481%2C1.6%2C4.8-4.888ZM19.811%2C11.757a8.3%2C8.3%2C0%2C0%2C1-7.428%2C9.013%2C8.165%2C8.165%2C0%2C0%2C1-8.583-7.8%2C8.3%2C8.3%2C0%2C0%2C1%2C7.428-9.013%2C8.165%2C8.165%2C0%2C0%2C1%2C8.583%2C7.8%22%20transform%3D%22translate(0%200)%22%20fill%3D%22%23002333%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}

/* 入力 */
.freeword-form input[type="search"]{
    width: 100%;
    height: 5rem;
    padding: 1rem 5.5rem;
    border-radius: 3.75rem;
    border: 1px solid #BEBFBF;
    background: #fff;
    color: #002333;
    font-size: 1.125rem;
  outline: none;
  -webkit-appearance: none;         /* iOSの角丸・影を無効化 */
}

/* プレースホルダ */
.freeword-form input::placeholder{
  color:#BEBFBF;
}

/* フォーカス */
.freeword-form input:focus{
  border-color:#009DE0;
}

/* モバイルでズームを避ける（必要なら） */
@media (max-width: 480px){
  .freeword-form input[type="search"]{ font-size:16px; }
}



.base-level__lower.other-introduce {
    padding-top: 8rem;
}

.ftr-inner.section__inner {
    max-width: 100%;
}

.txt-alert {
    color: #e72926;
}



.catalog-list {
    padding-left: 1rem;
    padding-right: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 2.3%;
}

.catalog-list__item {
    width: calc(95.4% / 2);
    margin: 0rem 0 2rem;
    display: inline-flex;
    border-bottom: dotted 1px #9ED2E8;
    padding-bottom: 1.5rem;
}

.catalog-list__inner {
  display: flex;
  flex-direction: column;    /* 縦並び */
  justify-content: space-between; /* 上:名前、下:リンク */
  width: 100%;
}

.catalog-list__name {
  font-size: 1.125rem;
  font-weight: 500;
  display: block;
  margin: 0rem 0 0.5rem;
}

.catalog-list__link {
  color: #009DE0;
  text-decoration: underline;
  display: flex;
    width: auto;
    height: auto;
  margin-top: auto;          /* ← これで下寄せ */
}

.catalog-list__link:hover {
  opacity: .8;
  text-decoration: none;
}





.contact-form {
    background: #EBF8FF;
    border-radius: 1.25rem;
    padding: 3rem;
}





/* =======================================================
   Contact Form (SATORI) – scoped to .contact-form
   Palette: text #002333 / brand #13A3E0 / soft #EBF8FF / line #9ED2E8 / req #FF8A00
   ======================================================= */
.contact-form .satori__custom_form{
  --c-text:#002333;
  --c-muted:#002333;
  --c-blue:#13A3E0;
  --c-blue-soft:#EBF8FF;
  --c-line:#BEBFBF;
  --c-req:#FF8A00;
  --radius:1rem;
  --gap:1.2rem;
  background-color: transparent;
  color:var(--c-text);
  font-size:1rem;
}

.satori__custom_form_2dd7a4828e9e87ed_css .satori__input_group input[type='text'], .satori__custom_form_2dd7a4828e9e87ed_css .satori__input_group input[type='tel'], .satori__custom_form_2dd7a4828e9e87ed_css .satori__input_group input[type='password'], .satori__custom_form_2dd7a4828e9e87ed_css .satori__input_group input[type='email'], .satori__custom_form_2dd7a4828e9e87ed_css .satori__input_group input[type='number'], .satori__custom_form_2dd7a4828e9e87ed_css .satori__input_group input[type='url'], .satori__custom_form_2dd7a4828e9e87ed_css .satori__input_group textarea{
	background-color: #ffffff!important;
    box-shadow: none!important;
    color: #000000!important;
    border: 0;
	min-height: 4rem;
}

span.satori__notes {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
}

/* 見出しラベル（スクショの青見出しトーン） */
.contact-form .satori__custom_form > .satori__input_group > label,
.contact-form .satori__custom_form > .satori__horiz_group > .satori__input_group > label{
  display:inline-block;
  letter-spacing:.02em;
}

/* 必須/任意チップ（必須=オレンジ） */
.contact-form .satori__custom_form .satori__require,
.contact-form .satori__custom_form .satori__not_require{
  display:inline-grid; place-items:center;
  min-height:1.4rem; padding:0 .5rem; margin-left:.5rem;
  border-radius:999px;  font-weight:600;
      font-size: max(.875rem, 10px);
}
.contact-form .satori__custom_form .satori__require{background:#e72926; color:#fff;}
.contact-form .satori__custom_form .satori__not_require{background:#fff; border:1px solid var(--c-blue); color:var(--c-blue);}

/* システムノート/補足 */
.contact-form .satori__custom_form .satori__system_notes,
.contact-form .satori__custom_form .satori__notes{ color:var(--c-muted); font-size:1rem; margin-left:.5rem }

/* レイアウト */
.contact-form .satori__custom_form .satori__input_group{ display:block; gap:.6rem; margin-block:var(--gap); }
.contact-form .satori__custom_form .satori__horiz_group{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:767.8px){ .contact-form .satori__custom_form .satori__horiz_group{ grid-template-columns:1fr; } }

/* テキスト/セレクト/テキストエリア */
.contact-form .satori__custom_form input[type="text"],
.contact-form .satori__custom_form input[type="email"],
.contact-form .satori__custom_form input[type="tel"],
.contact-form .satori__custom_form select,
.contact-form .satori__custom_form textarea{
  width:100%; padding:.9rem 1rem;
  border:1px solid var(--c-line); 	background-color: #ffffff!important;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  font-size:1rem;
  border-radius: 0rem;
}
.contact-form .satori__custom_form textarea{ min-height:9.5rem; resize:vertical; }
.contact-form .satori__custom_form input::placeholder,
.contact-form .satori__custom_form textarea::placeholder{ color:#7EA0A6; }

/* セレクトの矢印（カスタム） */
.contact-form .satori__custom_form select{
  appearance:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><path fill='%23002333' d='M5 7l5 6 5-6z'/></svg>");
  background-repeat:no-repeat; background-position:right .8rem center; background-size:1rem;
  padding-right:2.2rem;
}

.contact-form .satori__custom_form input:focus,
.contact-form .satori__custom_form select:focus,
.contact-form .satori__custom_form textarea:focus{
  outline:none; border-color:var(--c-blue);
  box-shadow:0 0 0 .22rem rgba(19,163,224,.15);
}

img#ss_img {
    width: auto;
}

/* 罫線/行間が詰まらないよう br は無効化（SATORI内の改行） */
.contact-form .satori__custom_form .satori__input_group > br{ display:none; }

/* チェックボックス／ラジオ：崩れない“横並び+折返し”＋ブランド色 */
.contact-form .satori__custom_form .satori__input_group input[type="checkbox"],
.contact-form .satori__custom_form .satori__input_group input[type="radio"]{
  width:1.05rem; height:1.05rem; margin:0; vertical-align:-.12rem;
}
.contact-form .satori__custom_form .satori__input_group input[type="checkbox"] + label,
.contact-form .satori__custom_form .satori__input_group input[type="radio"] + label{

}
.contact-form .satori__custom_form .satori__input_group{
  display:block; flex-wrap:wrap; align-items:center; gap:1rem;
}
.contact-form .satori__custom_form .satori__input_group input[type="checkbox"]:checked + label,
.contact-form .satori__custom_form .satori__input_group input[type="radio"]:checked + label{

}

/* エラーメッセージは落ち着いた帯で */
.contact-form .satori__custom_form .satori__error_messages{
  display:block; gap:.25rem; padding:.6rem .8rem;
background:#FFF6F6; border-radius:.6rem;
   color: #e72926; font-size:1rem;
}

/* reCAPTCHA中央寄せ */
.contact-form #satori__recaptcha_wrapper .satori__input_group{ display:grid; justify-content:center; }

/* 送信ボタン：大きめピル＋矢印丸アイコン */
.contact-form .satori__custom_form .satori__submit_group{
display: flex
;
    justify-content: center;
    margin-top: 1.6rem;
    gap: 1rem;
}
.contact-form .satori__custom_form .satori__btn{
  appearance:none; border:none;
  background: #13A3E0;
  color:#fff;     border-radius: 2rem;
    padding: 1rem 2rem 1rem 2rem;
    font-weight: 600; letter-spacing:.02em; cursor:pointer; position:relative;
  transition:transform .06s ease, filter .15s ease, opacity .2s ease;
}
.contact-form .satori__custom_form .satori__btn.cancel{ background:#fff; color:var(--c-blue); border:1px solid var(--c-blue); box-shadow:none; }
.contact-form .satori__custom_form .satori__btn[disabled]{ opacity:.55; cursor:not-allowed; }


.contact-form .satori__custom_form .satori__btn:hover{ filter:brightness(1.03); }
.contact-form .satori__custom_form .satori__btn:active{ transform:translateY(1px); }

/* プライバシーポリシーリンク */
.contact-form .satori__custom_form .satori__message a{ color:var(--c-blue); text-decoration:underline;     display: inline-block;}
.contact-form .satori__custom_form .satori__message{ text-align:left; }

/* 自動補完色対策 */
.contact-form .satori__custom_form input:-webkit-autofill,
.contact-form .satori__custom_form textarea:-webkit-autofill{ -webkit-box-shadow:0 0 0 1000px #fff inset !important; }



@media screen and (max-width: calc(576px - 0.2px)) {
.contact-form {
    padding: 2rem 1rem;
}
}




.faq-content {
    margin-top: 5rem;
}