/* inacome 移植ページ共通CSS(ゼロから / 基準 1rem)
   対象:会員規約 / 情報提供 / 会員登録(入力・確認・完了)
   ヘッダー/フッターは common.css(chitele)側。本CSSは本文のみをスコープ。 */

:root{
  --ina-fg:#1a1a1a;
  --ina-sub:#666;
  --ina-line:#e2e2e2;
  --ina-blue:#02A1CD;
  --ina-orange:#ff7a00;
  --ina-bg-soft:#f6f8f9;
  --ina-err:#d23b3b;
}

/* ===== 共通ラッパー(本文) ===== */
.ina-wrap{
  max-width:880px;
  margin:0 auto;
  padding:0rem 1.25rem 5rem;
  font-size:.9rem;
  line-height:1.9;
  color:var(--ina-fg);
  font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;
}
.ina-page-head{ text-align:center; margin:0 0 2.5rem; }
.ina-page-head .en{ display:block; font-family:"Manrope",sans-serif; font-size:.8rem; letter-spacing:.12em; color:var(--ina-blue); font-weight:700; }
.ina-page-head h1{ font-size:1.6rem; font-weight:700; margin:.4rem 0 0; line-height:1.4; }

/* ===== ドキュメント(規約・情報提供) ===== */
.ina-doc{ font-size:1rem; }
.ina-doc h1{ font-size:1.6rem; font-weight:700; line-height:1.5; margin:0 0 2rem; padding-bottom:1rem; border-bottom:2px solid var(--ina-blue); }
.ina-doc h2{ font-size:1.2rem; font-weight:700; line-height:1.6; margin:2.4rem 0 .8rem; padding-left:.7rem; border-left:4px solid var(--ina-blue); }
.ina-doc h3{ font-size:1.05rem; font-weight:700; margin:1.6rem 0 .6rem; }
.ina-doc p{ margin:0 0 1rem; }
.ina-doc ul,.ina-doc ol{ margin:0 0 1.2rem; padding-left:1.6rem; }
.ina-doc li{ margin:.3rem 0; }
.ina-doc ol{ list-style:decimal; }
.ina-doc ul{ list-style:disc; }
.ina-doc a{ color:var(--ina-blue); text-decoration:underline; text-underline-offset:2px; word-break:break-all; }
.ina-doc a:hover{ opacity:.7; }
.ina-doc table{ width:100%; border-collapse:collapse; margin:1.2rem 0; font-size:.95rem; }
.ina-doc th,.ina-doc td{ border:1px solid var(--ina-line); padding:.6rem .8rem; text-align:left; vertical-align:top; }
.ina-doc th{ background:var(--ina-bg-soft); font-weight:700; }
.ina-doc span{ font-size:inherit; }

/* ===== フォーム(会員登録) ===== */
.ina-form{ font-size:1rem; }
.ina-form .lead{ text-align:center; color:var(--ina-sub); margin:0 0 2.5rem; font-size:.95rem; }
.ina-row{ padding:1.5rem 0; border-bottom:1px solid var(--ina-line); }
.ina-row:first-of-type{ border-top:1px solid var(--ina-line); }
.ina-row > .label{ display:flex; align-items:center; gap:.6rem; font-weight:700; margin:0 0 .7rem; }
.ina-req{ font-size:.7rem; font-weight:700; color:#fff; background:var(--ina-orange); border-radius:4px; padding:.15rem .5rem; line-height:1; }
.ina-any{ font-size:.7rem; font-weight:700; color:var(--ina-sub); background:var(--ina-bg-soft); border:1px solid var(--ina-line); border-radius:4px; padding:.15rem .5rem; line-height:1; }
.ina-note{ font-size:.82rem; color:var(--ina-sub); margin:.4rem 0 0; }

.ina-form input[type=text],
.ina-form input[type=email],
.ina-form input[type=password],
.ina-form select,
.ina-form textarea{
  width:100%; font-size:1rem; font-family:inherit; color:var(--ina-fg);
  border:1px solid #c9d2d6; border-radius:8px; padding:.7rem .85rem; background:#fff;
  box-sizing:border-box;
}
.ina-form input:focus,.ina-form select:focus,.ina-form textarea:focus{
  outline:none; border-color:var(--ina-blue); box-shadow:0 0 0 3px rgba(2,161,205,.15);
}
.ina-form textarea{ min-height:8rem; resize:vertical; line-height:1.7; }
.ina-form select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.4rem; }
.ina-half{ display:grid; grid-template-columns:1fr; gap:.6rem; }

/* チェック群(業種・エリア) */
.ina-checkgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:.5rem .9rem; }
.ina-area-grid{ grid-template-columns:repeat(auto-fill,minmax(108px,1fr)); }
.ina-check{ display:flex; align-items:flex-start; gap:.5rem; font-size:.95rem; line-height:1.5; cursor:pointer; }
.ina-check input{ margin-top:.25rem; flex-shrink:0; width:1.05rem; height:1.05rem; accent-color:var(--ina-blue); }

/* ラジオ */
.ina-radios{ display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; }
.ina-radio{ display:flex; align-items:center; gap:.45rem; cursor:pointer; }
.ina-radio input{ width:1.05rem; height:1.05rem; accent-color:var(--ina-blue); }

/* 同意 */
.ina-agree{ background:var(--ina-bg-soft); border:1px solid var(--ina-line); border-radius:10px; padding:1.2rem 1.3rem; margin:2rem 0 0; }
.ina-agree .ina-check{ font-weight:700; }
.ina-agree a{ color:var(--ina-blue); text-decoration:underline; }

/* ボタン */
.ina-actions{ display:flex; justify-content:center; gap:1rem; margin:2.5rem 0 0; flex-wrap:wrap; }
.ina-btn{ appearance:none; border:0; cursor:pointer; font-family:inherit; font-size:1rem; font-weight:700; border-radius:9999px; padding:.95rem 2.6rem; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.ina-btn-primary{ background:var(--ina-blue); color:#fff; }
.ina-btn-primary:hover{ opacity:.88; }
.ina-btn-ghost{ background:#fff; color:var(--ina-fg); border:1px solid #c9d2d6; }
.ina-btn-ghost:hover{ background:var(--ina-bg-soft); }

/* バリデーションエラー */
.ina-errors{ background:#fdecec; border:1px solid #f5c2c2; color:var(--ina-err); border-radius:8px; padding:1rem 1.2rem; margin:0 0 2rem; font-size:.9rem; }
.ina-errors ul{ margin:.3rem 0 0; padding-left:1.2rem; }
.ina-field-err{ color:var(--ina-err); font-size:.82rem; margin:.4rem 0 0; }

/* 確認画面 */
.ina-confirm-row{ display:grid; grid-template-columns:14rem 1fr; gap:1rem; padding:1.1rem 0; border-bottom:1px solid var(--ina-line); }
.ina-confirm-row:first-child{ border-top:1px solid var(--ina-line); }
.ina-confirm-row dt{ font-weight:700; color:var(--ina-sub); }
.ina-confirm-row dd{ margin:0; white-space:pre-wrap; word-break:break-word; }

/* 完了画面 */
.ina-complete{ text-align:center; padding:2rem 0 1rem; }
.ina-complete .mark{ width:72px; height:72px; border-radius:50%; background:var(--ina-blue); color:#fff; display:flex; align-items:center; justify-content:center; font-size:2.2rem; margin:0 auto 1.5rem; }
.ina-complete h1{ font-size:1.5rem; margin:0 0 1rem; }
.ina-complete p{ color:var(--ina-sub); line-height:1.9; }

@media(max-width:768px){
  .ina-wrap{ padding:2rem 1.1rem 4rem; }
  .ina-confirm-row{ grid-template-columns:1fr; gap:.3rem; }
  .ina-confirm-row dt{ font-size:.85rem; }
}

/* ===== お知らせ(News 一覧 / 詳細) ===== */
.ina-news-list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--ina-line); }
.ina-news-item{ border-bottom:1px solid var(--ina-line); }
.ina-news-item a{ display:block; padding:1.4rem .2rem; text-decoration:none; color:var(--ina-fg); transition:background .15s; }
.ina-news-item a:hover{ background:var(--ina-bg-soft); }
.ina-news-meta,.ina-news-detail-meta{ display:flex; align-items:center; gap:.9rem; margin:0 0 .5rem; }
.ina-news-meta time,.ina-news-detail-meta time{ font-family:"Manrope",monospace; font-size:.9rem; font-weight:700; color:var(--ina-blue); letter-spacing:.02em; }
.ina-news-cat{ font-size:.72rem; font-weight:700; color:var(--ina-sub); background:var(--ina-bg-soft); border:1px solid var(--ina-line); border-radius:9999px; padding:.18rem .8rem; }
.ina-news-ttl{ margin:0; font-size:1rem; line-height:1.7; font-weight:500; }
.ina-news-item a:hover .ina-news-ttl{ color:var(--ina-blue); }
.ina-news-empty{ padding:3rem 0; text-align:center; color:var(--ina-sub); }
.ina-news-detail-meta{ margin-bottom:1rem; }
.ina-news-img{ width:100%; height:auto; border-radius:10px; margin:1.5rem 0; }
.ina-news-body{ font-size:1rem; line-height:1.95; }
.ina-news-body p{ margin:0 0 1rem; }
.ina-news-body a{ color:var(--ina-blue); text-decoration:underline; word-break:break-all; }
.ina-news-body img{ max-width:100%; height:auto; }

/* 軽量ページャ */
.ina-pager{ display:flex; align-items:center; justify-content:center; gap:1.4rem; margin:2.5rem 0 0; font-size:.9rem; }
.ina-pager a{ color:var(--ina-blue); text-decoration:none; font-weight:700; padding:.4rem .9rem; border:1px solid var(--ina-line); border-radius:9999px; }
.ina-pager a:hover{ background:var(--ina-bg-soft); }
.ina-pager .off{ color:#c2c2c2; padding:.4rem .9rem; }
.ina-pager .cur{ color:var(--ina-sub); font-family:"Manrope",monospace; }

/* ===== 認証(ログイン / パスワード再設定) ===== */
.ina-auth{ max-width:440px; margin:0 auto; }
.ina-auth .lead{ margin-bottom:2rem; }
.ina-field{ margin:0 0 1.3rem; }
.ina-field > label{ display:block; font-weight:700; font-size:clamp(.9rem, .82rem + .4vw, 1rem); margin:0 0 .5rem; }
.ina-inline{ display:flex; align-items:center; gap:.5rem; font-size:.92rem; color:var(--ina-sub); }
.ina-inline input{ width:1.05rem; height:1.05rem; accent-color:var(--ina-blue); }
.ina-auth-links{ display:flex; flex-direction:column; gap:.7rem; align-items:center; margin:2rem 0 0; font-size:.9rem; }
.ina-auth-links a{ color:var(--ina-blue); text-decoration:none; }
.ina-auth-links a:hover{ text-decoration:underline; }
.ina-flash{ background:#eaf7fb; border:1px solid #b8e3ef; color:#0b6b86; border-radius:8px; padding:.9rem 1.1rem; margin:0 0 1.5rem; font-size:.9rem; text-align:center; }
.ina-auth .ina-actions{ margin-top:1.8rem; }
.ina-auth .ina-btn{ width:100%; }

/* 姓名2カラム */
.ina-half-2{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.ina-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
@media(max-width:768px){ .ina-half-2{ grid-template-columns:1fr; } }

/* ===== レスポンシブ強化(タブレット / スマホ) ===== */
/* タブレット */
@media (max-width:1024px){
  .ina-wrap{ padding:2.5rem 1.5rem 4.5rem; }
  .ina-page-head h1{ font-size:clamp(1.3rem, 1.1rem + 1.2vw, 1.6rem); }
  .ina-doc h1{ font-size:clamp(1.3rem, 1.1rem + 1.2vw, 1.6rem); }
  .ina-doc h2{ font-size:clamp(1.1rem, 1rem + .6vw, 1.2rem); }
  .ina-checkgrid{ grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); }
  .ina-confirm-row{ grid-template-columns:11rem 1fr; }
}
/* スマホ */
@media (max-width:600px){
  .ina-wrap{ padding:1.8rem 1.05rem 3.5rem; line-height:1.85; }
  .ina-page-head{ margin-bottom:1.8rem; }
  .ina-row{ padding:1.2rem 0; }
  .ina-row > .label{ flex-wrap:wrap; gap:.4rem; }
  .ina-checkgrid{ grid-template-columns:1fr 1fr; gap:.4rem .6rem; }
  .ina-area-grid{ grid-template-columns:repeat(3,1fr); }
  .ina-check{ font-size:.9rem; }
  .ina-radios{ flex-direction:column; gap:.6rem; }
  .ina-half,.ina-half-2{ grid-template-columns:1fr; }
  .ina-confirm-row{ grid-template-columns:1fr; gap:.25rem; }
  .ina-actions{ flex-direction:column-reverse; gap:.7rem; }
  .ina-btn{ width:100%; padding:.95rem 1.5rem; }
  .ina-agree{ padding:1rem 1.05rem; }
  .ina-news-meta,.ina-news-detail-meta{ flex-wrap:wrap; gap:.5rem; }
  .ina-doc h1{ font-size:clamp(1.2rem, 1rem + 3vw, 1.5rem); }
}
/* 極小幅 */
@media (max-width:360px){
  .ina-area-grid{ grid-template-columns:1fr 1fr; }
  .ina-checkgrid{ grid-template-columns:1fr; }
}

/* ===== コンテンツ(事業情報 一覧 / 詳細) ===== */
.ina-content-index{
  max-width:1120px;
  padding-inline:clamp(16px, 4vw, 32px);
  font-family:YakuHanJP, "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  word-break:normal;
  overflow-wrap:anywhere;
}
.ina-content .ina-page-head{ margin-bottom:1.8rem; }
.ina-content .ina-page-head p{
  max-width:720px;
  margin:.9rem auto 0;
  color:#4b5563;
  font-size:clamp(.9rem, .84rem + .28vw, 1rem);
  font-weight:500;
  -webkit-text-stroke:.01vw;
  line-height:1.9;
}
.ina-cat-tabs{ display:flex; flex-wrap:wrap; gap:.5rem .6rem; justify-content:center; margin:0 0 2.5rem; }
.ina-cat-tabs a{ font-size:.86rem; font-weight:700; color:#555; text-decoration:none; border:1px solid var(--ina-line); border-radius:9999px; padding:.4rem 1.1rem; transition:all .2s; }
.ina-cat-tabs a:hover{ border-color:var(--ina-blue); color:var(--ina-blue); }
.ina-cat-tabs a.is-active{ background:var(--ina-blue); border-color:var(--ina-blue); color:#fff; }

.ina-content-filter{
  display:grid;
  grid-template-columns:1fr auto;
  gap:clamp(1rem, 2.6vw, 2rem);
  align-items:end;
  margin:0 0 clamp(2rem, 4vw, 3rem);
  padding:clamp(1rem, 2.4vw, 1.5rem);
  border:1px solid #e6e8ec;
  border-radius:16px;
  background:#f8f9fb;
}
.ina-content-filter__chips{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
}
.ina-filter-chip{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  min-height:38px;
  padding:.44rem .9rem;
  border:1px solid #cfe2ee;
  border-radius:999px;
  background:#fff;
  color:#1b689a;
  font-size:clamp(.78rem, .74rem + .18vw, .88rem);
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.ina-filter-chip small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.55rem;
  height:1.55rem;
  padding:0 .38rem;
  border-radius:999px;
  background:#eef5fb;
  color:#1b689a;
  font-family:Manrope, sans-serif;
  font-size:.72rem;
  font-weight:800;
}
.ina-filter-chip:hover{
  border-color:#217cb7;
  transform:translateY(-1px);
}
.ina-filter-chip.is-active{
  border-color:#217cb7;
  background:#217cb7;
  color:#fff;
}
.ina-filter-chip.is-active small{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.ina-content-filter__tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.75rem;
  flex-wrap:wrap;
}
.ina-content-count{
  margin:0 .25rem 0 0;
  color:#1e2430;
  font-family:Manrope, sans-serif;
  font-size:clamp(.82rem, .78rem + .18vw, .92rem);
  font-weight:800;
  line-height:1.4;
}
.ina-content-filter__tools label{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:#6b7280;
  font-size:.78rem;
  font-weight:700;
  line-height:1.4;
}
.ina-content-filter__tools select{
  min-height:38px;
  padding:.42rem 2rem .42rem .8rem;
  border:1px solid #d1d5db;
  border-radius:999px;
  background:#fff;
  color:#1e2430;
  font-family:inherit;
  font-size:.84rem;
  font-weight:700;
}

.ina-content-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem 1.6rem; }
.ina-content-card{ display:block; text-decoration:none; color:var(--ina-fg); }
.ina-content-card .thumb{ position:relative; aspect-ratio:16/10; border-radius:10px; overflow:hidden; background:#eef2f4; }
.ina-content-card .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.ina-content-card:hover .thumb img{ transform:scale(1.05); }
.ina-content-card .thumb .noimg{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:"Manrope",sans-serif; font-weight:700; letter-spacing:.1em; color:#c2ccd1; font-size:.9rem; }
.ina-content-card .cbody{ padding:.9rem .1rem 0; }
.ina-content-card .cmeta{ display:flex; align-items:center; gap:.7rem; margin:0 0 .45rem; }
.ina-content-card .cmeta .cat{ font-size:.68rem; font-weight:700; color:#fff; background:var(--ina-blue); border-radius:4px; padding:.16rem .55rem; }
.ina-content-card .cmeta time{ font-family:"Manrope",monospace; font-size:.78rem; font-weight:700; color:#94a3b8; }
.ina-content-card .cttl{ margin:0; font-size:.96rem; line-height:1.6; font-weight:700; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ina-content-card:hover .cttl{ color:var(--ina-blue); }
.ina-content-empty{ grid-column:1/-1; text-align:center; color:var(--ina-sub); padding:3rem 0; }
.ina-content-pager{
  gap:.55rem;
  flex-wrap:wrap;
}
.ina-content-pager button,
.ina-content-pager .ina-pager-gap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.35rem;
  height:2.35rem;
  padding:0 .75rem;
  border:1px solid #e6e8ec;
  border-radius:999px;
  background:#fff;
  color:#374151;
  font-family:Manrope, sans-serif;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
}
.ina-content-pager button{
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}
.ina-content-pager button:hover{
  border-color:#217cb7;
  color:#217cb7;
}
.ina-content-pager button.is-active{
  border-color:#217cb7;
  background:#217cb7;
  color:#fff;
}
.ina-content-pager button:disabled{
  cursor:not-allowed;
  opacity:.45;
}
.ina-content-pager .ina-pager-gap{
  border-color:transparent;
  background:transparent;
  color:#9ca3af;
}

/* 詳細(記事) */
.ina-article{ width:60vw; max-width:840px; }
.ina-article-meta{ display:flex; align-items:center; gap:.9rem; margin:0 0 1rem; }
.ina-article-meta .cat{ font-size:.72rem; font-weight:700; color:#fff; background:var(--ina-blue); border-radius:4px; padding:.18rem .7rem; }
.ina-article-meta time{ font-family:"Manrope",monospace; font-size:.9rem; font-weight:700; color:#94a3b8; }
.ina-article h1{ font-size:1.6rem; font-weight:600; line-height:2; margin:3rem 0 2.8rem; }
.ina-article-hero{ width:100%; height:auto; border-radius:12px; margin:0 0 2.2rem; }
.ina-article-body{ font-size:1rem; line-height:2; }
.ina-article-body p{ margin:0 0 1.5rem; }
.ina-article-body h2{ font-size:1.25rem; font-weight:700; line-height:1.6; margin:2.8rem 0 1rem; color:#000; }
.ina-article-body h3{ font-size:1.1rem; font-weight:700; margin:2rem 0 .8rem; }
.ina-article-body img{ width:100%; height:auto; border-radius:10px; margin:1.5rem 0; display:block; }
.ina-article-body a{ color:var(--ina-blue); text-decoration:underline; word-break:break-all; }
.ina-article-body ul,.ina-article-body ol{ margin:0 0 1.5rem; padding-left:1.6rem; }
.ina-article-body .restricted-content{ display:none; }

@media (max-width:900px){
  .ina-content-filter{ grid-template-columns:1fr; align-items:start; }
  .ina-content-filter__tools{ justify-content:flex-start; }
  .ina-content-grid{ grid-template-columns:repeat(2,1fr); gap:1.6rem 1.2rem; }
}
@media (max-width:560px){
  .ina-content-filter{ padding:1rem; border-radius:14px; }
  .ina-content-filter__chips{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:.2rem; scroll-snap-type:x proximity; }
  .ina-filter-chip{ flex:0 0 auto; scroll-snap-align:start; }
  .ina-content-filter__tools{ display:grid; grid-template-columns:1fr 1fr; width:100%; gap:.65rem; }
  .ina-content-count{ grid-column:1 / -1; }
  .ina-content-filter__tools label{ flex-direction:column; align-items:flex-start; }
  .ina-content-filter__tools select{ width:100%; }
  .ina-content-grid{ grid-template-columns:1fr; }
}

/* 記事幅:スマホでは60vwだと窮屈なので全幅に */
@media (max-width:768px){ .ina-article{ width:auto; max-width:none; } }

/* ===== コンテンツ詳細 再構成 2026-07-15 ===== */
.ina-article-page {
  width: auto;
  max-width: 75vw;
  padding: 0 clamp(16px, 4vw, 32px) 5rem;
  font-family: YakuHanJP, "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  color: #333;
  line-height: 2;
  word-break: normal;
  overflow-wrap: anywhere;
}
.ina-article-page *,
.ina-article-page *::before,
.ina-article-page *::after {
  box-sizing: border-box;
  word-break: normal;
}
.ina-article-head {
  max-width: 100%;
  margin: clamp(2.4rem, 4vw, 4rem) auto clamp(2rem, 3vw, 3rem);
}
.ina-article-page .ina-article-meta {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin: 0 0 1.3rem;
}
.ina-article-page .ina-article-meta .cat {
  border-radius: 999px;
  background: #217cb7;
  color: #fff;
  padding: .2rem .8rem;
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.6;
}
.ina-article-page .ina-article-meta time {
  color: #6b7280;
  font-family: Manrope, sans-serif;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.ina-article-page h1 {
  margin: 0;
  color: #1e2430;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.65;
}
.ina-article-hero-wrap {
  max-width: 100%;
  margin: 0 auto clamp(2.4rem, 4vw, 4rem);
  overflow: hidden;
  border-radius: 18px;
  background: #eef5fb;
  box-shadow: 0 10px 28px rgba(16, 24, 40, .08);
}
.ina-article-page .ina-article-hero {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  margin: 0;
  object-fit: cover;
  border-radius: 0;
}
.ina-article-body-wrap {
  max-width: 100%;
  margin: 0 auto;
}
.ina-article-page .ina-article-body {
  max-width: 60vw; /* 本文は60vw(メイン画像は75vw) article-body-60vw 柿森 2026-08-12 */
  color: #000000;
  font-size: clamp(.93rem, .88rem + .28vw, 1rem);
  font-weight: 500;
  -webkit-text-stroke: 0.01vw;
  line-height: 2.5;
}
.ina-article-page .ina-article-body p {
  margin: 0 0 1.55rem;
}
.ina-article-page .ina-article-body section,
.ina-article-page .ina-article-body article,
.ina-article-page .ina-article-body .inacome-wrap,
.ina-article-page .ina-article-body .inacome-card,
.ina-article-page .ina-article-body .inacome-summary {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.ina-article-page .ina-article-body h3.ques,
.ina-article-page .ina-article-body .inacome-h3 {
  margin: 4rem 0 1.2rem;
  color: #1e2430;
  font-size: clamp(1.05rem, .95rem + .35vw, 1.18rem);
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
  letter-spacing: .02em;
}
.ina-article-page .ina-article-body h3.ques + h2 {
  margin-top: 1.2rem;
}
.ina-article-page .ina-article-body .matome,
.ina-article-page .ina-article-body .last2 {
  margin-top: 0;
}
.ina-article-page .ina-article-body p.inacome {
  margin-bottom: 1.6rem;
}
.ina-article-page .ina-article-body h2 {
  margin: 5rem 0 3rem;
  padding: 0;
  border-left: 0;
  color: #000;
  font-size: clamp(1.22rem, 1.08rem + .55vw, 1.2rem);
  font-weight: 600;
  line-height: 1.65;
  text-align: center;
}
.ina-article-page .ina-article-body h3 {
  margin: 2.4rem 0 .9rem;
  color: #1e2430;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.55;
}
.ina-article-page .ina-article-body img {
  width: min(100%, 860px);
  max-width: none;
  height: auto;
  margin: clamp(2rem, 4vw, 3rem) 50% clamp(2rem, 4vw, 3rem);
  transform: translateX(-50%);
  border-radius: 16px;
  display: block;
}
.ina-article-page .ina-article-body a {
  color: #217cb7;
  text-decoration: underline;
  text-underline-offset: 3px;
  word-break: normal;
  overflow-wrap: anywhere;
}
.ina-article-page .ina-reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  filter: blur(6px);
  transition:
    opacity .72s cubic-bezier(.22, .61, .36, 1) var(--ina-reveal-delay, 0ms),
    transform .72s cubic-bezier(.22, .61, .36, 1) var(--ina-reveal-delay, 0ms),
    filter .72s cubic-bezier(.22, .61, .36, 1) var(--ina-reveal-delay, 0ms);
  will-change: opacity, transform, filter;
}
.ina-article-page .ina-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}
.ina-article-page .restricted-content {
  display: none;
}
.ina-article-page .ina-actions {
  max-width: 760px;
  margin-inline: auto;
}

.ina-member-gate {
  max-width: 760px;
  margin: clamp(4rem, 7vw, 6rem) auto 0;
}
.ina-member-gate__next {
  margin: 0 0 1.2rem;
  color: #1e2430;
  font-family: Manrope, "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(2rem, 1.45rem + 2.2vw, 3rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .02em;
}
.ina-member-gate__lead {
  display: inline;
  color: #333;
  font-size: clamp(1.05rem, .92rem + .55vw, 1.35rem);
  font-weight: 700;
  line-height: 1.75;
  text-decoration: underline;
  text-underline-offset: 5px;
  -webkit-text-stroke: .01vw;
}
.ina-member-gate__box {
  margin: clamp(2.4rem, 5vw, 4rem) 0 0;
  padding: clamp(2.4rem, 5vw, 4.5rem) clamp(1.5rem, 5vw, 4rem);
  border-radius: 16px;
  background: #ecffef;
  text-align: center;
}
.ina-member-gate__box p {
  margin: 0 0 clamp(1.4rem, 3vw, 2.2rem);
  color: #1e2430;
  font-size: clamp(1.05rem, .9rem + .6vw, 1.45rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
}
.ina-member-gate__box a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 420px);
  min-height: 58px;
  padding: 13px 32px;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-size: clamp(.95rem, .86rem + .35vw, 1.1rem);
  font-weight: 700;
  letter-spacing: .22em;
  text-decoration: none;
  transition: opacity .2s ease, transform .2s ease;
}
.ina-member-gate__box a:hover {
  opacity: .82;
  transform: translateY(-1px);
}

.ina-related {
  width: min(80vw, 1120px);
  margin: clamp(5rem, 8vw, 7rem) 50% 0;
  transform: translateX(-50%);
}
.ina-related__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  margin: 0 0 clamp(1.4rem, 3vw, 2.4rem);
}
.ina-related__eyebrow {
  margin: 0 0 .35rem;
  color: #217cb7;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.5;
}
.ina-related h2 {
  margin: 0;
  color: #1e2430;
  font-size: clamp(1.25rem, 1.05rem + .7vw, 1.55rem);
  font-weight: 700;
  line-height: 1.5;
}
.ina-related__controls {
  display: flex;
  gap: .7rem;
  flex-shrink: 0;
}
.ina-related__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 128px;
  padding: 9px 22px;
  border: 1px solid #1e2430;
  border-radius: 999px;
  color: #1e2430;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.ina-related__more:hover {
  background: #1e2430;
  color: #fff;
  transform: translateY(-1px);
}
.ina-related__stage {
  position: relative;
}
.ina-related__stage .ina-related__controls {
  position: absolute;
  inset: 50% -21px auto -21px;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  gap: 0;
  pointer-events: none;
  transform: translateY(-50%);
}
.ina-related__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid #d1d5db;
  border-radius: 50%;
  background: #fff;
  color: #1e2430;
  font-family: inherit;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  pointer-events: auto;
  transition: background .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}
.ina-related__button:hover:not(:disabled) {
  background: #217cb7;
  border-color: #217cb7;
  color: #fff;
}
.ina-related__button:disabled {
  cursor: default;
  opacity: .35;
}
.ina-related__viewport {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 26px);
}
.ina-related-card[hidden] {
  display: none;
}
.ina-related-card {
  overflow: hidden;
  border: 1px solid #e6e8ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(16, 24, 40, .06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.ina-related-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(16, 24, 40, .08);
}
.ina-related-card a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.ina-related-card__image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #eef5fb;
}
.ina-related-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
.ina-related-card:hover .ina-related-card__image img {
  transform: scale(1.04);
}
.ina-related-card__image span {
  color: #9ca3af;
  font-family: Manrope, sans-serif;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.ina-related-card__body {
  padding: 18px 20px 40px;
}
.ina-related-card__body span {
  display: inline-block;
  margin-bottom: 10px;
  color: #047857;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
}
.ina-related-card__body h3 {
  margin: 0;
  color: #1e2430;
  font-size: .96rem;
  font-weight: 700;
  line-height: 1.65;
}

@media (max-width: 768px) {
  .ina-article-page {
    max-width: 100%;
    padding: 0 clamp(16px, 4vw, 24px) 4rem;
  }
  .ina-article-head {
    margin-top: 2rem;
  }
  .ina-article-page h1 {
    font-size: clamp(1.35rem, 5vw, 1.75rem);
    line-height: 1.6;
  }
  .ina-article-hero-wrap {
    border-radius: 14px;
  }
  .ina-article-page .ina-article-hero {
    aspect-ratio: 4 / 3;
  }
  .ina-article-page .ina-article-body {
    font-size: .92rem;
    line-height: 1.95;
  }
  .ina-article-page .ina-article-body img {
    width: 100%;
    margin: 2rem 0;
    transform: none;
    border-radius: 12px;
  }
  .ina-member-gate {
    width: 100%;
    margin: 3.5rem 0 0;
    transform: none;
  }
  .ina-member-gate__box {
    border-radius: 14px;
  }
  .ina-member-gate__box a {
    width: 100%;
  }
  .ina-related {
    width: 100%;
    margin: 4rem 0 0;
    transform: none;
  }
  .ina-related__head {
    align-items: flex-start;
  }
  .ina-related__more {
    min-width: 112px;
    padding-inline: 18px;
  }
  .ina-related__stage .ina-related__controls {
    inset-inline: 8px;
  }
  .ina-related__viewport {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ina-article-page .ina-reveal {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .ina-article-page {
    max-width: 90vw;
  }
  .ina-related {
    width: 90vw;
  }
  .ina-related__viewport {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ===== 公開アイデア詳細 / 一覧 2026-07-20 ===== */
.ina-idea-page .ina-article-meta .cat {
  background: var(--idea-accent, #217cb7);
}
.ina-idea-meta-label {
  color: #6b7280;
  font-size: clamp(.72rem, .68rem + .12vw, .8rem);
  font-weight: 600;
  line-height: 1.6;
}
.ina-idea-company {
  margin: clamp(1rem, 2vw, 1.5rem) 0 0;
  color: #4b5563;
  font-size: clamp(.88rem, .82rem + .2vw, 1rem);
  font-weight: 600;
  line-height: 1.7;
}
.ina-idea-hero-wrap {
  aspect-ratio: 2.5 / 1;
  min-height: 300px;
}
.ina-idea-hero {
  position: relative;
  display: grid;
  align-content: center;
  min-height: 100%;
  padding: clamp(2rem, 5vw, 5rem) clamp(1.5rem, 6vw, 6rem);
  overflow: hidden;
  background: #eef5fb;
  border-left: clamp(8px, 1.1vw, 16px) solid var(--idea-accent, #217cb7);
}
.ina-idea-hero::after {
  position: absolute;
  right: clamp(2rem, 8vw, 8rem);
  bottom: clamp(1.5rem, 4vw, 4rem);
  width: clamp(90px, 13vw, 180px);
  aspect-ratio: 1;
  border: 1px solid rgba(30, 36, 48, .12);
  border-radius: 50%;
  content: "";
}
.ina-idea-hero__index,
.ina-idea-hero__mark {
  position: relative;
  z-index: 1;
  font-family: Manrope, sans-serif;
  font-size: clamp(.72rem, .64rem + .2vw, .9rem);
  font-weight: 800;
  letter-spacing: .12em;
}
.ina-idea-hero__index {
  margin-bottom: clamp(1rem, 2vw, 1.6rem);
  color: var(--idea-accent, #217cb7);
}
.ina-idea-hero strong {
  position: relative;
  z-index: 1;
  color: #1e2430;
  font-size: clamp(1.7rem, 1.1rem + 2vw, 3.2rem);
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .02em;
}
.ina-idea-hero__mark {
  position: absolute;
  right: clamp(1.5rem, 4vw, 4rem);
  top: clamp(1.5rem, 4vw, 4rem);
  color: rgba(30, 36, 48, .55);
}
.ina-idea-facts {
  margin: clamp(3rem, 6vw, 5rem) 0 0;
  border-top: 1px solid #e6e8ec;
  border-bottom: 1px solid #e6e8ec;
}
.ina-idea-facts > div {
  display: grid;
  grid-template-columns: minmax(100px, .4fr) 1fr;
  gap: 1.5rem;
  padding: 1rem 0;
  border-bottom: 1px solid #eef0f2;
}
.ina-idea-facts > div:last-child {
  border-bottom: 0;
}
.ina-idea-facts dt {
  color: #6b7280;
  font-size: clamp(.8rem, .76rem + .15vw, .9rem);
  font-weight: 700;
}
.ina-idea-facts dd {
  margin: 0;
  color: #1e2430;
  font-size: clamp(.88rem, .82rem + .2vw, 1rem);
  font-weight: 600;
}
.ina-idea-note {
  margin-top: clamp(2rem, 4vw, 3rem) !important;
  color: #6b7280;
  font-size: clamp(.78rem, .74rem + .15vw, .86rem);
  line-height: 1.9;
}
.ina-idea-back {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  margin: clamp(2.5rem, 5vw, 4rem) 0 0;
  padding: .65rem 1.5rem;
  border: 1px solid #cfd5dc;
  border-radius: 999px;
  color: #1e2430;
  font-size: clamp(.78rem, .74rem + .15vw, .88rem);
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.ina-idea-back:hover {
  background: #1e2430;
  color: #fff;
  transform: translateY(-1px);
}
.ina-idea-links {
  margin-top: clamp(2rem, 4vw, 3.5rem);
  padding-top: clamp(1.4rem, 2.6vw, 2rem);
  border-top: 1px solid #e6e8ec;
}
.ina-idea-links__label {
  margin: 0 0 .8rem;
  color: #8b97a8;
  font-family: Manrope, sans-serif;
  font-size: clamp(.68rem, .62rem + .16vw, .8rem);
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.4;
}
.ina-idea-links a {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 48px;
  padding: .65rem 1rem;
  border: 1px solid #d4dce6;
  border-radius: 8px;
  color: #217cb7;
  font-size: clamp(.82rem, .76rem + .2vw, .94rem);
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}
.ina-idea-links a:hover,
.ina-idea-links a:focus-visible {
  border-color: #217cb7;
  background: #f3f8fc;
  transform: translateY(-2px);
}
.ina-article-page .ina-article-body h2.ina-idea-section-title {
  margin: 0 0 clamp(1.5rem, 3vw, 2.4rem);
  text-align: left;
}

.ina-idea-index {
  width: 80vw;
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(2.4rem, 4vw, 4rem) 0 5rem;
  font-family: YakuHanJP, "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  color: #333;
}
.ina-idea-index .ina-page-head {
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
  text-align: left;
}
.ina-idea-index .ina-page-head .en {
  display: block;
  color: #1e2430;
  font-family: Manrope, sans-serif;
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem);
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
}
.ina-idea-index .ina-page-head h1 {
  margin: 1rem 0 0;
  color: #1e2430;
  font-size: clamp(1.25rem, 1rem + .8vw, 1.8rem);
  line-height: 1.6;
}
.ina-idea-index .ina-page-head p {
  margin: 1rem 0 0;
  color: #6b7280;
  font-size: clamp(.86rem, .8rem + .2vw, .98rem);
  line-height: 1.9;
}
.ina-idea-index__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.2rem, 2.4vw, 2rem);
}
.ina-idea-index-card {
  overflow: hidden;
  border: 1px solid #e6e8ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(16, 24, 40, .05);
  transition: transform .2s ease, box-shadow .2s ease;
}
.ina-idea-index-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(16, 24, 40, .08);
}
.ina-idea-index-card a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.ina-idea-index-card__visual {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: clamp(150px, 12vw, 168px);
  padding: 1.3rem;
  border-top: 6px solid var(--idea-accent, #217cb7);
  background: #eef5fb;
}
.ina-idea-index-card__visual span {
  color: var(--idea-accent, #217cb7);
  font-family: Manrope, sans-serif;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.ina-idea-index-card__visual strong {
  color: #1e2430;
  font-size: clamp(1rem, .9rem + .25vw, 1.2rem);
  line-height: 1.5;
}
.ina-idea-index-card__body {
  padding: 1.2rem 1.3rem 1.5rem;
}
.ina-idea-index-card__body > span {
  color: #217cb7;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.5;
}
.ina-idea-index-card__body h2,
.ina-idea-index-card__body h3 {
  margin: .7rem 0 0;
  color: #1e2430;
  font-size: clamp(.92rem, .84rem + .2vw, 1.05rem);
  font-weight: 700;
  line-height: 1.65;
}
.ina-idea-index-card__body p {
  display: -webkit-box;
  margin: .8rem 0 0;
  overflow: hidden;
  color: #6b7280;
  font-size: clamp(.78rem, .74rem + .15vw, .86rem);
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media (max-width: 900px) {
  .ina-idea-index {
    width: 90vw;
  }
  .ina-idea-index__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .ina-idea-hero-wrap {
    aspect-ratio: auto;
    min-height: 260px;
  }
  .ina-idea-hero {
    min-height: 260px;
    padding: 2rem 1.5rem;
  }
  .ina-idea-hero::after {
    right: 1.2rem;
    bottom: 1.2rem;
  }
  .ina-idea-hero strong {
    font-size: clamp(1.4rem, 7vw, 2.2rem);
  }
  .ina-idea-facts > div {
    grid-template-columns: 1fr;
    gap: .25rem;
  }
  .ina-idea-index {
    width: auto;
    margin-inline: 16px;
    padding-top: 2rem;
  }
  .ina-idea-index__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   お知らせ 一覧(TOP NEWS 表示に合わせる / 検索維持)
   INACOME デザイン規定 v1 準拠
   2026-07-15
   ============================================================ */
.ina-news-page{
  width:auto; max-width:75vw; margin:0 auto;
  padding:clamp(2.4rem,2rem + 2vw,4rem) clamp(16px,4vw,32px) 5rem;
  font-family:YakuHanJP,"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  color:#333;
}
.ina-news-page .nhead{ display:flex; align-items:center; justify-content:space-between; gap:1rem 1.5rem; flex-wrap:wrap; margin:0 0 clamp(22px,4vw,40px); }
.ina-news-page .nhead h1{ margin:0; font-size:clamp(1.45rem,1.15rem + 1.3vw,2rem); font-weight:700; line-height:1.5; color:#1e2430; letter-spacing:.12em; }
.ina-news-page .nsearch{ position:relative; display:flex; align-items:center; }
.ina-news-page .nsearch input{ width:min(280px,62vw); font-family:inherit; font-size:clamp(.8rem,.76rem + .2vw,.9rem); color:#333; border:1px solid #e6e8ec; border-radius:999px; padding:.55rem 2.5rem .55rem 1.05rem; background:#fff; transition:border-color .18s ease, box-shadow .18s ease; }
.ina-news-page .nsearch input::placeholder{ color:#9ca3af; }
.ina-news-page .nsearch input:focus{ outline:none; border-color:#217cb7; box-shadow:0 0 0 3px rgba(33,124,183,.12); }
.ina-news-page .nsearch button{ position:absolute; right:.35rem; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; border:0; background:transparent; color:#6b7280; cursor:pointer; padding:.3rem; border-radius:50%; transition:color .18s ease; }
.ina-news-page .nsearch button:hover{ color:#217cb7; }

.ina-news-page .nlist{ list-style:none; margin:0; padding:0; border-top:1px solid #e6e8ec; }
.ina-news-page .nrow{ border-bottom:1px solid #e6e8ec; }
.ina-news-page .nrow a{
  display:grid;
  grid-template-columns:clamp(84px,7.5vw,112px) clamp(82px,7vw,110px) minmax(0,1fr) 1.2rem;
  grid-template-areas:"cat date ttl arr";
  align-items:center;
  gap:clamp(10px,1.4vw,20px);
  padding:clamp(14px,1.3vw,18px) 0; text-decoration:none; color:#1e2430;
  transition:background .18s ease;
}
.ina-news-page .nrow a:hover{ background:#f8f9fb; }
.ina-news-page .ndate{
  grid-area:date;
  color:#6b7280; font-family:"Manrope",sans-serif;
  font-size:clamp(.76rem,.73rem + .16vw,.86rem);
  font-weight:600; letter-spacing:.03em; white-space:nowrap;
}
.ina-news-page .ncat{
  grid-area:cat;
  display:inline-flex; align-items:center; justify-content:center;
  min-height:clamp(26px,2.4vw,32px); padding:4px clamp(9px,1.1vw,16px); border-radius:999px;
  background:var(--tag-color,#00b97f); color:#fff;
  font-size:clamp(.7rem,.68rem + .12vw,.76rem);
  font-weight:700; line-height:1.4; white-space:nowrap;
}
.ina-news-page .ncat--recruitment{ --tag-color:#0275b9; }
.ina-news-page .ncat--notice{ --tag-color:#00b97f; }
.ina-news-page .nttl{
  grid-area:ttl;
  margin:0; font-size:.94rem; line-height:1.75; font-weight:500; color:#1e2430;
  -webkit-text-stroke:0;
  word-break:normal; overflow-wrap:anywhere; transition:color .18s ease;
}
.ina-news-page .nrow a:hover .nttl{ color:#217cb7; }
.ina-news-page .narr{ grid-area:arr; justify-self:end; color:#217cb7; font-weight:700; opacity:0; transform:translateX(-5px); transition:opacity .18s ease, transform .18s ease; }
.ina-news-page .nrow a:hover .narr{ opacity:1; transform:translateX(0); }
.ina-news-page .nempty{ padding:3.5rem 0; text-align:center; color:#9ca3af; }

.ina-news-page .npager{ display:flex; align-items:center; justify-content:center; gap:1.4rem; margin:2.6rem 0 0; font-size:clamp(.8rem,.76rem + .2vw,.88rem); }
.ina-news-page .npager a{ color:#1b689a; text-decoration:none; font-weight:700; padding:.45rem 1rem; border:1px solid #e6e8ec; border-radius:999px; transition:all .18s; }
.ina-news-page .npager a:hover{ border-color:#217cb7; color:#217cb7; background:#f8f9fb; }
.ina-news-page .npager .off{ color:#d1d5db; padding:.45rem 1rem; }
.ina-news-page .npager .cur{ color:#6b7280; font-family:"Manrope",monospace; }

/* タブレット(〜1024px):カテゴリ／日付の列を詰めて本文に幅を渡す */
@media (max-width:1024px){
  .ina-news-page{ max-width:none; margin-inline:clamp(16px,4vw,32px); }
  .ina-news-page .nrow a{ gap:clamp(10px,1.6vw,16px); }
}

/* スマホ(〜767px):カテゴリ＋日付を1行目、タイトルを2行目に構造化 */
@media (max-width:767px){
  .ina-news-page .nhead{ align-items:flex-start; }
  .ina-news-page .nrow a{
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:
      "cat  date"
      "ttl  ttl";
    align-items:center;
    gap:9px 12px;
    padding:16px 0;
  }
  .ina-news-page .ndate{ justify-self:start; }
  .ina-news-page .nttl{ line-height:1.7; }
  .ina-news-page .narr{ display:none; }
  .ina-news-page .nsearch{ width:100%; }
  .ina-news-page .nsearch input{ width:100%; }
  .ina-news-page .ncat{ width:fit-content; }
}

/* ============================================================
   法務ドキュメント(会員規約 / 情報提供)
   INACOME デザイン規定 v1 準拠 / 55vw / 余計な青を抑制
   ※ .ina-legal .ina-doc で旧 .ina-doc 規則を特異度で上書き
   2026-07-14 柿森
   ============================================================ */
.ina-legal{
  width:55vw; max-width:900px; margin:0 auto;
  padding:clamp(2.4rem,2rem + 2vw,4rem) 0 5rem;
  font-family:YakuHanJP,"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  color:#333; line-height:2;
}
.ina-legal .ina-doc{ font-size:clamp(.86rem,.84rem + .2vw,.95rem); }
.ina-legal .ina-doc h1{
  font-size:1.8rem; font-weight:700; line-height:1.5; color:#1e2430;
  margin:0 0 2.2rem; padding:0 0 1rem; border-bottom:1px solid #e6e8ec;
  word-break:normal; overflow-wrap:anywhere;
}
.ina-legal .ina-doc h2{
  font-size:clamp(1.2rem,1.1rem + .5vw,1.4rem); font-weight:600; line-height:1.5; color:#343434;
  margin:2.6rem 0 1.8rem; padding-left:.7rem; border-left:0;
}
.ina-legal .ina-doc h2 span{ font-size:inherit; }
.ina-legal .ina-doc h3{ font-size:1.1rem; font-weight:700; color:#1e2430; margin:1.8rem 0 .6rem; }
.ina-legal .ina-doc p{ margin:0 0 1.1rem; color:#4b5563; }
.ina-legal .ina-doc ul,.ina-legal .ina-doc ol{ margin:0 0 1.2rem; padding-left:1.6rem; color:#000000; }
.ina-legal .ina-doc li{ margin:.35rem 0; }
.ina-legal .ina-doc ol{ list-style:decimal; }
.ina-legal .ina-doc ul{ list-style:disc; }
/* 目次など href 無しのアンカーは青を外す(余計なブルー除去) */
.ina-legal .ina-doc a:not([href]){ color:#000000; text-decoration:underline; cursor:default; }
.ina-legal .ina-doc a[href]{ color:#1b689a; text-decoration:underline; text-underline-offset:2px; word-break:normal; overflow-wrap:anywhere; }
.ina-legal .ina-doc a[href]:hover{ color:#217cb7; }
.ina-legal .ina-doc table{ width:100%; border-collapse:collapse; margin:1.2rem 0; font-size:.85rem; }
.ina-legal .ina-doc th,.ina-legal .ina-doc td{ border:1px solid #e6e8ec; padding:.6rem .8rem; text-align:left; vertical-align:top; }
.ina-legal .ina-doc th{ background:#f8f9fb; font-weight:700; color:#4b5563; }
.ina-legal .ina-doc span{ font-size:inherit; }
@media (max-width:1024px){ .ina-legal{ width:auto; margin-inline:clamp(16px,4vw,32px); } }
@media (max-width:767px){ .ina-legal .ina-doc h1{ font-size:1.5rem; } }

/* お知らせ パンくず(zigzag規定 v1) 2026-07-14 柿森 */
.ina-news-page .ncrumb{ display:flex; align-items:center; flex-wrap:wrap; gap:.4rem .5rem; margin:0 0 1.6rem; font-size:clamp(.72rem,.7rem + .1vw,.78rem); color:#9ca3af; }
.ina-news-page .ncrumb a{ color:#6b7280; text-decoration:none; transition:color .18s ease; }
.ina-news-page .ncrumb a:hover{ color:#217cb7; }
.ina-news-page .ncrumb .sep{ color:#d1d5db; }
.ina-news-page .ncrumb .cur{ color:#4b5563; }

/* ============================================================
   ログイン(モダン・シンプル・フラット / カード型 / 青ゼロ・黒ボタン)
   INACOME デザイン規定 v1 ベース(リキ指示で青→黒に置換)
   2026-07-14 柿森
   ============================================================ */
.ina-login{
  max-width:520px; margin:0 auto;
  padding:clamp(2rem,1.4rem + 2vw,3rem) 0 5rem;
  font-family:YakuHanJP,"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  color:#333;
}
.ina-login .card{
  background:#fff;
  border-radius:16px;
  padding:clamp(1.5rem,1.2rem + 1.2vw,2rem) clamp(1.8rem,1.4rem + 2vw,2.6rem);
}
.ina-login .lhead{ text-align:center; margin:0 0 1.25rem; }
.ina-login .lhead h1{ margin:0; font-size:1.8rem; font-weight:700; line-height:1.5; color:#1e2430; letter-spacing:0; }
.ina-login .lhead p{ margin:.5rem 0 0; font-size:clamp(.78rem,.74rem + .12vw,.86rem); line-height:1.6; color:#9ca3af; }

.ina-login .field{ margin:0 0 clamp(.9rem,.82rem + .2vw,1.15rem); }
.ina-login .field label{ display:block; font-size:.78rem; line-height:1.6; font-weight:600; color:#4b5563; margin:0 0 .45rem; }
.ina-login .field input[type=email],
.ina-login .field input[type=password]{
  width:100%; min-height:48px; box-sizing:border-box; font-family:inherit; font-size:clamp(.9rem,.85rem + .3vw,1rem); line-height:1.65; color:#1e2430;
  border:1px solid #e6e8ec; border-radius:10px; padding:.7rem .9rem; background:#fff;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.ina-login .field input::placeholder{ color:#9ca3af; }
.ina-login .field input:focus{ outline:none; border-color:#1e2430; box-shadow:0 0 0 3px rgba(30,36,48,.08); }

.ina-login .remember{ display:flex; align-items:center; gap:.5rem; font-size:.78rem; line-height:1.6; color:#6b7280; margin:.1rem 0 1.25rem; cursor:pointer; user-select:none; }
.ina-login .remember input{ width:1rem; height:1rem; accent-color:#1e2430; }

.ina-login .btn{
  display:block; width:100%; min-height:48px; box-sizing:border-box; border:0; cursor:pointer;
  font-family:inherit; font-size:.9rem; line-height:1.6; font-weight:700; letter-spacing:0;
  color:#fff; background:#1e2430; border-radius:999px; padding:12px 26px;
  transition:background .18s ease, transform .05s ease;
}
.ina-login .btn:hover{ background:#000; }
.ina-login .btn:active{ transform:translateY(1px); }

.ina-login .links{ display:flex; flex-direction:column; gap:.6rem; align-items:center; margin:1.35rem 0 0; font-size:.78rem; line-height:1.7; }
.ina-login .links a{ color:#4b5563; text-decoration:none; transition:color .18s ease; }
.ina-login .links a:hover{ color:#1e2430; text-decoration:underline; text-underline-offset:2px; }

.ina-login .flash{ background:#f8f9fb; border:1px solid #e6e8ec; color:#4b5563; border-radius:10px; padding:.8rem 1rem; margin:0 0 1.3rem; font-size:clamp(.78rem,.74rem + .2vw,.86rem); line-height:1.7; text-align:center; }
.ina-login .errors{ background:#fef2f2; border:1px solid #fbd5d5; color:#b91c1c; border-radius:10px; padding:.85rem 1rem; margin:0 0 1.3rem; font-size:clamp(.78rem,.74rem + .2vw,.86rem); line-height:1.7; }
.ina-login .errors ul{ margin:.3rem 0 0; padding-left:1.2rem; }

@media (max-width:767px){
  .ina-login{ padding:1.4rem 0 2.5rem; max-width:none; margin-inline:16px; }
  .ina-login .card{ padding:1.3rem 1.25rem; border-radius:14px; }
}

/* ============================================================
   コンテンツ一覧 左サイド絞り込み / 本番互換レイアウト
   2026-07-16
   ============================================================ */
.ina-content-index {
  width: 95vw;
  max-width: 95vw;
  padding-inline: 0;
}
.ina-content-index .ina-page-head {
  margin: clamp(2.4rem, 4vw, 4rem) 0 clamp(1.8rem, 3vw, 2.6rem);
}
.ina-content-layout {
  display: grid;
  grid-template-columns: minmax(230px, 17vw) minmax(0, 1fr);
  gap: clamp(1.8rem, 3vw, 3.2rem);
  align-items: start;
}
.ina-content-sidebar {
  position: sticky;
  top: 92px;
}
.ina-content-filter-info {
  margin: 0 0 clamp(1.4rem, 2.6vw, 2rem);
  padding: clamp(1.3rem, 2vw, 1.7rem);
  border: 1px solid #e6e8ec;
  border-radius: 16px;
  background: #f8f9fb;
  text-align: center;
}
.ina-content-filter-info p {
  margin: 0 0 .5rem;
  color: #4b5563;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
}
.ina-content-filter-info div {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .25rem;
  margin: 0 0 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e6e8ec;
}
.ina-content-filter-info strong {
  color: #1e2430;
  font-family: Manrope, sans-serif;
  font-size: clamp(2.5rem, 1.95rem + 1.7vw, 3.6rem);
  font-weight: 800;
  line-height: 1;
}
.ina-content-filter-info span {
  color: #6b7280;
  font-size: .9rem;
  font-weight: 700;
}
.ina-content-filter-info button {
  width: 100%;
  min-height: 38px;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  background: #fff;
  color: #374151;
  font-family: inherit;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.ina-content-filter-info button:hover {
  border-color: #217cb7;
  color: #217cb7;
}
.ina-content-filter-groups {
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid #e6e8ec;
  border-radius: 16px;
  background: #fff;
}
.ina-content-filter-group + .ina-content-filter-group {
  margin-top: clamp(1.4rem, 2.4vw, 2rem);
  padding-top: clamp(1.4rem, 2.4vw, 2rem);
  border-top: 1px solid #f0f1f3;
}
.ina-content-filter-group h2 {
  margin: 0 0 .85rem;
  color: #1e2430;
  font-family: Manrope, sans-serif;
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.3;
}
.ina-content-filter-group ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ina-content-filter-group li + li {
  margin-top: .56rem;
}
.ina-content-check {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  gap: .58rem;
  align-items: center;
  cursor: pointer;
}
.ina-content-check input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #217cb7;
}
.ina-content-check span {
  color: #333;
  font-size: clamp(.86rem, .8rem + .2vw, .95rem);
  font-weight: 600;
  line-height: 1.5;
}
.ina-content-check small {
  min-width: 1.7rem;
  padding: .1rem .42rem;
  border-radius: 999px;
  background: #eef5fb;
  color: #1b689a;
  font-family: Manrope, sans-serif;
  font-size: .7rem;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}
.ina-content-results {
  min-width: 0;
}
.ina-content-results .ina-content-filter__tools {
  justify-content: flex-end;
  margin: 0 0 clamp(1.4rem, 2vw, 2rem);
}
.ina-content-index .ina-content-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.8rem, 2.6vw, 3rem) clamp(1.2rem, 2.2vw, 2rem);
}
.ina-content-index .ina-content-card .thumb {
  border-radius: 12px;
}
.ina-content-index .ina-content-card .cbody {
  padding: .85rem 0 0;
}
.ina-content-index .ina-content-card .cmeta {
  flex-wrap: wrap;
  gap: .45rem .55rem;
}
.ina-content-index .ina-content-card .cmeta .limited {
  border-radius: 999px;
  background: #f0edfb;
  color: #6d28d9;
  padding: .16rem .55rem;
  font-size: .68rem;
  font-weight: 700;
}
.ina-content-index .ina-content-card .cttl {
  font-size: clamp(.88rem, .82rem + .18vw, .96rem);
  line-height: 1.72;
  -webkit-text-stroke: .01vw;
}

@media (max-width: 1180px) {
  .ina-content-index .ina-content-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .ina-content-index {
    width: min(92vw, 760px);
  }
  .ina-content-layout {
    grid-template-columns: 1fr;
  }
  .ina-content-sidebar {
    position: static;
  }
  .ina-content-filter-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
  .ina-content-filter-group + .ina-content-filter-group {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
  .ina-content-results .ina-content-filter__tools {
    justify-content: flex-start;
  }
  .ina-content-index .ina-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .ina-content-index {
    width: auto;
    max-width: none;
    padding-inline: clamp(16px, 4vw, 24px);
  }
  .ina-content-filter-info {
    text-align: left;
  }
  .ina-content-filter-info div {
    justify-content: flex-start;
  }
  .ina-content-filter-groups {
    grid-template-columns: 1fr;
  }
  .ina-content-results .ina-content-filter__tools {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .ina-content-results .ina-content-filter__tools label {
    align-items: stretch;
  }
  .ina-content-index .ina-content-grid {
    grid-template-columns: 1fr;
  }
}

/* コンテンツ一覧 仕上げ調整:本番レイアウトの空気感に寄せる */
.ina-content-index .ina-page-head {
  text-align: left;
}
.ina-content-index .ina-page-head .en {
  color: #343434;
  font-family: Manrope, sans-serif;
  font-size: clamp(1.85rem, 1.45rem + 1.65vw, 3rem);
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  text-transform: uppercase;
}
.ina-content-index .ina-page-head h1,
.ina-content-index .ina-page-head p {
  display: none;
}
.ina-content-filter-info {
  border: 0;
  background: #f5f5f5;
  box-shadow: none;
}
.ina-content-filter-info p {
  color: #343434;
  font-size: .9rem;
  -webkit-text-stroke: 0;
}
.ina-content-filter-info strong {
  color: #1e2430;
  font-family: Manrope, sans-serif;
  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1;
  display: inline-block;
  min-width: 2.2ch;
  font-variant-numeric: tabular-nums;
  transition: color .25s ease, transform .25s ease, text-shadow .25s ease;
  will-change: transform;
}
.ina-content-filter-info strong.is-rolling {
  animation: ina-count-roll 1.25s cubic-bezier(.2, .8, .2, 1);
  color: #02a1cd;
  text-shadow: 0 8px 22px rgba(2, 161, 205, .22);
}
@keyframes ina-count-roll {
  0% {
    opacity: .62;
    transform: translateY(8px) scale(.96);
  }
  22% {
    opacity: 1;
    transform: translateY(-5px) scale(1.08);
  }
  54% {
    transform: translateY(3px) scale(1.03);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.ina-content-filter-info button {
  border: 0;
  background: #fff;
  color: #1e2430;
  font-size: .84rem;
  -webkit-text-stroke: .01vw;
}
.ina-content-filter-group + .ina-content-filter-group {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #f0f1f3;
}
.ina-content-filter-group h2 {
  color: #111827;
  font-family: Manrope, sans-serif;
  font-size: .9rem;
  letter-spacing: .04em;
}
.ina-content-filter-groups {
  border: 0;
  padding: 0;
}
.ina-content-check {
  grid-template-columns: 18px minmax(0, 1fr);
}
.ina-content-check input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #02a1cd;
  appearance: none;
  border: 2px solid #b8b8b8;
  border-radius: 4px;
  background: #fff;
}
.ina-content-check input:checked {
  border-color: #02a1cd;
  background: #02a1cd;
  box-shadow: none;
}
.ina-content-check span {
  color: #3d3d3d;
  font-size: .9rem;
  font-weight: 500;
  -webkit-text-stroke: .04vw;
}
.ina-content-index .ina-page-head {
  margin: 2rem 0 3rem 0 !important;
}
.ina-content-results .ina-content-filter__tools select {
  min-width: 132px;
  min-height: 40px;
  border-radius: 4px;
  border-color: #cfd2d6;
  color: #3d3d3d;
  font-size: .86rem;
  font-weight: 500;
  text-align: center;
  -webkit-text-stroke: .01vw;
}
.ina-content-index .ina-page-head .en {
  color: #343434;
  font-family: Manrope, sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  text-transform: uppercase;
}
.ina-content-check small {
  display: none;
}
.ina-content-results .ina-content-filter__tools {
  justify-content: flex-start;
  gap: 1.2rem;
  margin-top: clamp(.4rem, 1vw, .8rem);
  margin-bottom: clamp(2.4rem, 4vw, 4rem);
}
.ina-content-results .ina-content-filter__tools label {
  position: relative;
}
.ina-content-results .ina-content-filter__tools label > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.ina-content-results .ina-content-filter__tools select {
  min-width: 132px;
  min-height: 40px;
  border-radius: 4px;
  border-color: #cfd2d6;
  color: #3d3d3d;
  font-size: .86rem;
  font-weight: 500;
  text-align: center;
  -webkit-text-stroke: .01vw;
}
.ina-content-results .ina-content-filter__tools .ina-content-search {
  width: min(320px, 100%);
  margin-left: auto;
}
.ina-content-results .ina-content-filter__tools .ina-content-search input {
  width: 100%;
  min-height: 40px;
  padding: .42rem 1rem;
  border: 1px solid #cfd2d6;
  border-radius: 4px;
  background: #fff;
  color: #3d3d3d;
  font-family: inherit;
  font-size: .86rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-text-stroke: .01vw;
}
.ina-content-results .ina-content-filter__tools .ina-content-search input::placeholder {
  color: #8a8f98;
}
.ina-content-results .ina-content-filter__tools .ina-content-search input:focus {
  outline: none;
  border-color: #02a1cd;
  box-shadow: 0 0 0 3px rgba(2, 161, 205, .12);
}
.ina-content-index .ina-content-grid {
  gap: clamp(3.2rem, 5.2vw, 5.8rem) clamp(1.8rem, 3vw, 3.8rem);
}
.ina-content-index .ina-content-card .thumb {
  border: 2px solid #0b0b0b;
  border-radius: 9px;
  background: #f2f5f7;
}
.ina-content-index .ina-content-card .thumb img {
  transform: translateZ(0);
}
.ina-content-index .ina-content-card:hover .thumb img {
  transform: scale(1.035);
}
.ina-content-index .ina-content-card .cbody {
  padding-top: clamp(1rem, 1.5vw, 1.45rem);
}
.ina-content-index .ina-content-card .cmeta {
  margin-bottom: .55rem;
}
.ina-content-index .ina-content-card .cmeta .cat,
.ina-content-index .ina-content-card .cmeta time,
.ina-content-index .ina-content-card .cmeta .limited {
  font-size: .68rem;
}
.ina-content-index .ina-content-card .cttl {
  color: #111;
  font-size: clamp(.96rem, .88rem + .28vw, 1.12rem);
  font-weight: 800;
  line-height: 1.72;
  letter-spacing: .02em;
}

@media (max-width: 900px) {
  .ina-content-index .ina-page-head {
    text-align: center;
  }
  .ina-content-filter-groups {
    padding: clamp(1rem, 2vw, 1.4rem);
    border: 1px solid #e6e8ec;
  }
}

/* コンテンツ一覧:カード列数と画像枠の最終調整 */
.ina-content-index .ina-content-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ina-content-index .ina-content-card .thumb {
  border: 3px solid #dedede;
  border-radius: 18px;
  background: #f2f5f7;
}
.ina-content-index .ina-content-card .cttl {
  color: #111;
  font-size: clamp(.86rem, .82rem + .18vw, .92rem);
  font-weight: 500;
  line-height: 1.72;
  letter-spacing: .02em;
  -webkit-text-stroke: .04vw;
}
.ina-content-index .ina-content-card .cbody {
  padding-top: clamp(1.05rem, 1.7vw, 1.65rem);
}
.ina-content-index .ina-content-card .limited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  margin-top: .8rem;
  padding: 0 1rem;
  border-radius: 4px;
  background: #111;
  color: #fff;
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .08em;
  -webkit-text-stroke: 0;
}

@media (max-width: 640px) {
  .ina-content-results .ina-content-filter__tools .ina-content-search {
    grid-column: 1 / -1;
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 1180px) {
  .ina-content-index .ina-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .ina-content-index .ina-content-grid {
    grid-template-columns: 1fr;
  }
}

/* 会員登録: 入力負荷を抑えた段階的フォーム */
.ina-member-register {
  width: min(92vw, 920px);
  max-width: 920px;
  padding: clamp(2.8rem, 5vw, 5rem) 0 clamp(4rem, 7vw, 7rem);
  color: #1e2430;
  font-size: clamp(.9rem, .86rem + .18vw, 1rem);
  line-height: 1.8;
}
.ina-member-register .ina-page-head {
  margin: 0 0 clamp(2rem, 4vw, 3rem);
  text-align: left;
}
.ina-member-register .ina-page-head .en {
  color: #217cb7;
  font-family: Manrope, sans-serif;
  font-size: clamp(.7rem, .66rem + .12vw, .78rem);
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.4;
}
.ina-member-register .ina-page-head h1 {
  margin: .65rem 0 0;
  color: #1e2430;
  font-size: clamp(1.65rem, 1.35rem + 1vw, 2.2rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.45;
}
.ina-member-register .ina-page-head p {
  margin: .7rem 0 0;
  color: #667085;
  font-size: clamp(.86rem, .82rem + .16vw, .94rem);
  font-weight: 500;
  line-height: 1.8;
}
.ina-form-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 clamp(2rem, 4vw, 3.2rem);
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #dfe4ea;
}
.ina-form-steps li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 48px;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  color: #98a2b3;
  font-size: clamp(.78rem, .74rem + .14vw, .86rem);
  font-weight: 600;
  line-height: 1.4;
}
.ina-form-steps li span {
  font-family: Manrope, sans-serif;
  font-size: .7rem;
  font-weight: 800;
}
.ina-form-steps li.is-current {
  border-bottom-color: #217cb7;
  color: #1e2430;
}
.ina-member-register > .lead {
  margin: 0 0 clamp(2.8rem, 5vw, 4.5rem);
  color: #667085;
  font-size: clamp(.84rem, .8rem + .18vw, .94rem);
  font-weight: 500;
  line-height: 1.9;
  text-align: left;
}
.ina-member-register .ina-errors {
  margin: 0 0 2.5rem;
  padding: 1rem 1.2rem;
  border: 1px solid #efc6c6;
  border-radius: 8px;
  background: #fff7f7;
  color: #b42318;
}
.ina-member-register .ina-errors strong {
  font-weight: 700;
}
.ina-form-section {
  margin: 0 0 clamp(3.5rem, 6vw, 5.5rem);
  padding: 0;
}
.ina-form-section__head {
  display: flex;
  align-items: baseline;
  gap: .8rem;
  margin: 0;
  padding: 0 0 1rem;
  border-bottom: 2px solid #1e2430;
}
.ina-form-section__head > span {
  color: #217cb7;
  font-family: Manrope, sans-serif;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
}
.ina-form-section__head h2 {
  margin: 0;
  color: #1e2430;
  font-size: clamp(1.15rem, 1.02rem + .45vw, 1.4rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
}
.ina-member-register .ina-row {
  padding: clamp(1.4rem, 2.6vw, 2rem) 0;
  border-bottom: 1px solid #e7eaee;
}
.ina-member-register .ina-row:first-of-type {
  border-top: 0;
}
.ina-member-register .ina-row > .label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0 0 .75rem;
  color: #1e2430;
  font-size: clamp(.9rem, .84rem + .18vw, 1rem);
  font-weight: 700;
  line-height: 1.55;
}
.ina-member-register .ina-req,
.ina-member-register .ina-any {
  min-height: 20px;
  padding: .18rem .5rem;
  border-radius: 3px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
}
.ina-member-register .ina-req {
  background: #217cb7;
}
.ina-member-register .ina-any {
  border-color: #d7dce2;
  background: #f7f8fa;
  color: #667085;
}
.ina-member-register input[type="text"],
.ina-member-register input[type="email"],
.ina-member-register input[type="password"],
.ina-member-register select,
.ina-member-register textarea {
  min-height: 52px;
  padding: .75rem 1rem;
  border: 1px solid #cfd5dc;
  border-radius: 7px;
  background-color: #fff;
  color: #1e2430;
  font-size: max(16px, 1rem);
  font-weight: 500;
  line-height: 1.5;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.ina-member-register input::placeholder,
.ina-member-register textarea::placeholder {
  color: #98a2b3;
  opacity: 1;
}
.ina-member-register input[type="text"]:focus,
.ina-member-register input[type="email"]:focus,
.ina-member-register input[type="password"]:focus,
.ina-member-register select:focus,
.ina-member-register textarea:focus {
  border-color: #217cb7;
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(33, 124, 183, .12);
}
.ina-member-register textarea {
  min-height: 150px;
}
.ina-member-register .ina-half {
  gap: .8rem;
}
.ina-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1.2rem;
}
.ina-member-register .ina-checkgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.4rem;
  padding: .4rem 1.1rem;
  border: 1px solid #e3e7ec;
  border-radius: 8px;
  background: #fafbfc;
}
.ina-member-register .ina-area-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ina-member-register .ina-check {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  min-width: 0;
  padding: .72rem .15rem;
  color: #344054;
  font-size: clamp(.82rem, .78rem + .14vw, .9rem);
  font-weight: 500;
  line-height: 1.55;
}
.ina-member-register .ina-check input {
  width: 18px;
  height: 18px;
  margin: .12rem 0 0;
  accent-color: #217cb7;
}
.ina-member-register .ina-check span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ina-member-register .ina-radios {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
}
.ina-member-register .ina-radio {
  position: relative;
  display: flex;
  align-items: center;
  gap: .6rem;
  min-height: 48px;
  padding: .7rem .9rem;
  border: 1px solid #d7dce2;
  border-radius: 7px;
  background: #fff;
  color: #344054;
  font-size: clamp(.82rem, .78rem + .14vw, .9rem);
  font-weight: 600;
  line-height: 1.5;
  transition: border-color .18s ease, background-color .18s ease;
}
.ina-member-register .ina-radio:has(input:checked) {
  border-color: #217cb7;
  background: #f2f8fc;
  color: #174f74;
}
.ina-member-register .ina-radio input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #217cb7;
}
.ina-member-register .ina-note {
  margin: .55rem 0 0;
  color: #667085;
  font-size: .8rem;
}
.ina-member-register .ina-agree {
  display: grid;
  gap: .5rem;
  margin: 1.5rem 0 0;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  border: 1px solid #e0e4e9;
  border-radius: 8px;
  background: #f7f8fa;
}
.ina-member-register .ina-agree .ina-check {
  padding: .45rem 0;
  font-size: clamp(.86rem, .82rem + .14vw, .94rem);
}
.ina-member-register .ina-agree a {
  color: #176d9f;
  text-underline-offset: 3px;
}
.ina-member-register .ina-actions {
  margin-top: clamp(2rem, 4vw, 3rem);
}
.ina-member-register .ina-btn {
  min-height: 52px;
  min-width: min(100%, 360px);
  padding: .8rem 1.6rem;
  border-radius: 7px;
  font-size: clamp(.9rem, .86rem + .15vw, 1rem);
  font-weight: 700;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.ina-member-register .ina-btn-primary {
  background: #217cb7;
  color: #fff;
}
.ina-member-register .ina-btn-primary:hover {
  background: #176d9f;
  opacity: 1;
  transform: translateY(-1px);
}
.ina-member-register .ina-btn-ghost {
  border-color: #cfd5dc;
  background: #fff;
}
.ina-member-register--confirm .lead {
  margin-bottom: 2.5rem;
}
.ina-confirm-list {
  margin: 0;
  border-top: 2px solid #1e2430;
}
.ina-member-register .ina-confirm-row {
  grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1.2rem .2rem;
  border-top: 0;
  border-bottom: 1px solid #e7eaee;
}
.ina-member-register .ina-confirm-row dt {
  color: #475467;
  font-size: .88rem;
  font-weight: 700;
}
.ina-member-register .ina-confirm-row dd {
  color: #1e2430;
  font-size: .94rem;
  font-weight: 500;
}
.ina-member-register--complete {
  min-height: 65vh;
}
.ina-member-register--complete .ina-complete {
  padding: clamp(3rem, 7vw, 6rem) 0;
}
.ina-member-register--complete .mark {
  width: 64px;
  height: 64px;
  background: #217cb7;
  font-size: 1.8rem;
}
.ina-member-register--complete h1 {
  color: #1e2430;
  font-size: clamp(1.4rem, 1.2rem + .7vw, 1.8rem);
  line-height: 1.5;
}
.ina-member-register--complete p {
  font-size: clamp(.86rem, .82rem + .15vw, .94rem);
}

@media (max-width: 768px) {
  .ina-member-register {
    width: 100%;
    padding: clamp(2rem, 8vw, 3rem) clamp(16px, 5vw, 28px) 4.5rem;
  }
  .ina-member-register .ina-page-head {
    margin-bottom: 1.7rem;
  }
  .ina-form-steps {
    margin-bottom: 2rem;
  }
  .ina-form-steps li {
    min-height: 44px;
    gap: .35rem;
    font-size: .76rem;
  }
  .ina-form-section {
    margin-bottom: 3.5rem;
  }
  .ina-form-grid {
    grid-template-columns: 1fr;
  }
  .ina-member-register .ina-checkgrid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .ina-member-register .ina-area-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ina-member-register .ina-radios {
    grid-template-columns: 1fr;
  }
  .ina-member-register .ina-confirm-row {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
  .ina-member-register .ina-actions {
    flex-direction: column-reverse;
  }
  .ina-member-register .ina-btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .ina-member-register > .lead br {
    display: none;
  }
  .ina-form-steps li {
    flex-direction: column;
    gap: .1rem;
    min-height: 50px;
    font-size: .7rem;
  }
  .ina-member-register .ina-area-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-inline: .75rem;
  }
  .ina-member-register .ina-check {
    font-size: .84rem;
  }
}

/* ------------------------------------------------------------------
   会員登録フォーム PC改善(2026-08-11 柿森 / 吉田さん指示)
   ・項目名と入力欄を横並びの2カラムに
   ・行間・セクション間を締めて縦の間延びを解消
   SP/タブレット(768px以下)は従来どおり縦積みのまま
------------------------------------------------------------------ */
@media (min-width: 769px) {
  .ina-member-register .ina-row {
    display: grid;
    grid-template-columns: 12.5rem minmax(0, 1fr);
    align-items: start;
    column-gap: 1.8rem;
    padding: 1.05rem 0;
  }
  .ina-member-register .ina-row > .label {
    margin: 0;
    padding-top: .72rem;
    line-height: 1.5;
  }
  /* ラベル以外(入力欄・注記・エラー・チェック群)は2列目に積む */
  .ina-member-register .ina-row > :not(.label) {
    grid-column: 2;
  }
  .ina-member-register .ina-form-section {
    margin-bottom: 2.2rem;
  }
  .ina-member-register .ina-form-section__head {
    padding-bottom: .7rem;
  }
  .ina-member-register > .lead {
    margin-bottom: 1.6rem;
  }
}

/* ------------------------------------------------------------------
   SP(768px以下)の横はみ出し対策(2026-08-11 柿森)
   .header-inner が flex(max-width:97%)で、縮まない子がいると
   ビューポートを押し広げて全ページが右に流れていた。
------------------------------------------------------------------ */
@media (max-width: 768px) {
  html, body { overflow-x: hidden; }
  .header-inner {
    max-width: 100%;
    padding-inline: 16px;
    flex-wrap: wrap;
  }
  .header-inner > * { min-width: 0; }
  .ina-wrap { max-width: 100%; }
  .ina-member-register img,
  .ina-member-register table { max-width: 100%; }
}
