/* ===================================================================
   JT CLUB 共有アーカイブ Ver.0.04 / 2026-10-23
   すべて #container.jtarc-v004 内に限定。テーマや他ページには影響させない。
   PC 3列 + 右サイドバー / タブレット 2列 / スマホ 1列
   =================================================================== */
#container.jtarc-v004,
#container.jtarc-v004 * { box-sizing:border-box; }
#container.jtarc-v004 {
  width:calc(100% - 52px) !important;
  max-width:1480px !important;
  margin:27px auto 50px !important;
  padding:0 !important;
  color:#203a4b;
}
#container.jtarc-v004 #containerin {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 310px;
  align-items:start;
  column-gap:24px;
  width:100%;
  margin:0;
  padding:0;
}
#container.jtarc-v004.jtarc-no-sidebar #containerin { grid-template-columns:minmax(0,1fr); }
#container.jtarc-v004 #content.jtarc-main {
  display:block !important;
  grid-column:1;
  grid-row:1;
  float:none !important;
  order:2;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  min-width:0;
  max-width:none;
  text-align:left;
  font-family:inherit;
}
#container.jtarc-v004 #right-sidebar {
  display:block !important;
  grid-column:2;
  grid-row:1;
  order:3;
  width:100% !important;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:0;
}
#container.jtarc-v004 #right-sidebar .widget {
  box-sizing:border-box;
  width:100% !important;
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
  margin:0 0 18px !important;
}
#container.jtarc-v004 #right-sidebar img,
#container.jtarc-v004 #right-sidebar iframe { max-width:100%; }
#container.jtarc-v004 a { text-decoration:none; }
#container.jtarc-v004 a:focus-visible { outline:3px solid #0b8c9e; outline-offset:3px; }
#container.jtarc-v004 .jtarc-sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0);
  white-space:nowrap !important;
  border:0 !important;
}
/* 選手紹介ページの見出しと統一した淡いブルーグラデーション */
#container.jtarc-v004 .jtarc-hero {
  overflow:hidden;
  border:1px solid #d1e5eb;
  border-left:5px solid #1396a0;
  background:linear-gradient(115deg,#eaf7f9,#f1f7fc 65%,#e9f3fc);
  border-radius:5px;
  margin:0 0 30px;
  padding:24px 28px 22px;
  box-shadow:none;
}
#container.jtarc-v004 .jtarc-hero__intro { margin:0 0 18px; }
#container.jtarc-v004 .jtarc-hero__eyebrow {
  margin:0 0 7px;
  padding:0;
  font-size:11px;
  line-height:1.6;
  font-weight:750;
  letter-spacing:.16em;
  color:#157c8a;
}
#container.jtarc-v004 .jtarc-hero h1 {
  margin:0;
  padding:0;
  color:#17374b;
  line-height:1.3;
  font-size:clamp(25px,3vw,34px);
  font-weight:800;
}
/* 【重要】オリジナルのタイトル画像は拡大縮小のみ・絶対にトリミングしない */
#container.jtarc-v004 img.jtarc-hero__banner {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  border:0;
  border-radius:3px;
  margin:0;
  padding:0;
}
/* その他のアーカイブは見出し・タイトル画像なし。細いアクセントのみ */
#container.jtarc-v004 .jtarc-accent {
  height:5px;
  border-radius:4px;
  margin:0 0 25px;
  background:linear-gradient(90deg,#15969f 0 15%,#e7f1f7 15% 100%);
}
#container.jtarc-v004 .jtarc-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:19px;
  width:100%;
  min-width:0;
}
#container.jtarc-v004 .jtarc-grid > article.jtarc-card {
  display:block;
  width:auto !important;
  max-width:none !important;
  min-width:0;
  margin:0 !important;
  padding:0;
  overflow:hidden;
  border:1px solid #dce9ed;
  border-radius:10px;
  background:#fff;
  box-shadow:0 3px 15px rgba(35,80,97,.06);
  transition:box-shadow .2s ease,transform .2s ease;
}
#container.jtarc-v004 .jtarc-grid > article.jtarc-card:hover,
#container.jtarc-v004 .jtarc-grid > article.jtarc-card:focus-within {
  box-shadow:0 9px 24px rgba(23,80,107,.13);
  transform:translateY(-2px);
}
#container.jtarc-v004 .jtarc-card__link { display:flex; flex-direction:column; height:100%; color:inherit; }
#container.jtarc-v004 .jtarc-card__media {
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#edf5f7;
}
#container.jtarc-v004 .jtarc-card__image {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  margin:0;
  padding:0;
  border:0;
  transition:transform .25s ease;
}
#container.jtarc-v004 .jtarc-card:hover .jtarc-card__image { transform:scale(1.035); }
#container.jtarc-v004 .jtarc-card__placeholder {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:100%;
  height:100%;
  background:linear-gradient(140deg,#e8f7f7,#dceef6);
  color:#237184;
  text-align:center;
  letter-spacing:.09em;
}
#container.jtarc-v004 .jtarc-card__placeholder span { font-size:10px; font-weight:700; }
#container.jtarc-v004 .jtarc-card__placeholder strong { font-size:20px; font-weight:800; }
#container.jtarc-v004 .jtarc-card__copy { padding:14px 15px 19px; flex:1; }
#container.jtarc-v004 .jtarc-card__date {
  display:block;
  margin-bottom:7px;
  color:#368a97;
  font-size:12px;
  font-weight:750;
  line-height:1.5;
}
#container.jtarc-v004 .jtarc-card__title {
  margin:0;
  padding:0;
  color:#193b50;
  font-size:16px;
  font-weight:800;
  line-height:1.6;
  overflow-wrap:anywhere;
  word-break:normal;
}
#container.jtarc-v004 .jtarc-card:hover .jtarc-card__title { color:#137f90; }
#container.jtarc-v004 .navigation.pagination { margin:32px 0 12px; width:100%; clear:both; text-align:center; }
#container.jtarc-v004 .navigation.pagination .nav-links {
  display:flex; justify-content:center; flex-wrap:wrap; gap:8px; align-items:center;
}
#container.jtarc-v004 .navigation.pagination .page-numbers {
  display:inline-flex;
  min-width:40px;
  align-items:center;
  justify-content:center;
  padding:9px 12px;
  border:1px solid #d3e5eb;
  background:#fff;
  border-radius:7px;
  color:#22506a;
  font-size:14px;
  font-weight:750;
}
#container.jtarc-v004 .navigation.pagination .page-numbers.current {
  background:#197e90;
  color:#fff;
  border-color:#197e90;
}
#container.jtarc-v004 .jtarc-empty {
  padding:20px;
  background:#eff8fb;
  border-left:4px solid #1b9b9f;
  color:#244558;
}
@media(min-width:1024px) and (max-width:1200px) {
  #container.jtarc-v004 #containerin { grid-template-columns:minmax(0,1fr) 275px; gap:18px; }
  #container.jtarc-v004 .jtarc-grid { gap:12px; }
  #container.jtarc-v004 .jtarc-card__title { font-size:14px; }
  #container.jtarc-v004 .jtarc-card__copy { padding:12px 11px 15px; }
}
@media(max-width:1023px) {
  #container.jtarc-v004 #containerin,
  #container.jtarc-v004.jtarc-no-sidebar #containerin {
    grid-template-columns:minmax(0,1fr);
    row-gap:28px;
  }
  #container.jtarc-v004 #content.jtarc-main { grid-column:1; grid-row:1; }
  #container.jtarc-v004 #right-sidebar {
    grid-column:1;
    grid-row:2;
    width:100% !important;
    max-width:700px;
    margin:0 auto;
  }
  #container.jtarc-v004 .jtarc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:719px) {
  #container.jtarc-v004 {
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
    margin:16px auto 30px !important;
  }
  #container.jtarc-v004 .jtarc-hero {
    padding:17px 13px 15px;
    margin-bottom:21px;
    border-left-width:4px;
  }
  #container.jtarc-v004 .jtarc-hero__intro { margin-bottom:11px; }
  #container.jtarc-v004 .jtarc-hero h1 { font-size:25px; }
  #container.jtarc-v004 .jtarc-hero__eyebrow { font-size:10px; }
  #container.jtarc-v004 .jtarc-grid { grid-template-columns:minmax(0,1fr); gap:15px; }
  #container.jtarc-v004 .jtarc-card__title { font-size:16px; }
  #container.jtarc-v004 #right-sidebar { max-width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  #container.jtarc-v004 .jtarc-card,
  #container.jtarc-v004 .jtarc-card__image { transition:none !important; transform:none !important; }
}
