
:root{
  --tas-green:#123d36;
  --tas-gold:#bc8f34;
  --tas-gold-2:#e1c778;
  --tas-cream:#fffdf7;
  --tas-cream-2:#f7f1df;
  --tas-line:#e3d5ae;
  --tas-text:#15322d;
}

.tas-policy-top,
.tas-policy-page-wrap,
.tas-policy-page{
  box-sizing:border-box;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;
  color:var(--tas-text);
}
.tas-policy-top *,
.tas-policy-page-wrap *,
.tas-policy-page *{box-sizing:border-box;}

/* ---------- top banner ---------- */
.tas-policy-top-imageonly{
  display:block;
  position:relative;
  max-width:none !important;
  width:100vw;
  margin:0 !important;
  padding:0 !important;
  line-height:0;
  font-size:0;
  clear:both;
  overflow:hidden;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
@supports (width: 100dvw){
  .tas-policy-top-imageonly{
    width:100dvw;
    margin-left:calc(50% - 50dvw) !important;
    margin-right:calc(50% - 50dvw) !important;
  }
}
.tas-policy-banner-link{
  display:block;
  width:100%;
  margin:0 !important;
  padding:0 !important;
  text-decoration:none;
  line-height:0;
  font-size:0;
}
.tas-policy-banner-image{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  vertical-align:top;
  background:transparent !important;
}

/* Reduce any accidental gap under the top banner */
.tas-policy-top-imageonly + *{
  margin-top:0 !important;
}

/* ---------- detail page full width ---------- */
.tas-policy-page-wrap{
  display:block;
  position:relative;
  max-width:none !important;
  width:100vw;
  margin:0 !important;
  padding:0 0 18px !important;
  clear:both;
  overflow:hidden;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:linear-gradient(180deg,#faf7ef 0%, #ffffff 100%);
}
@supports (width: 100dvw){
  .tas-policy-page-wrap{
    width:100dvw;
    margin-left:calc(50% - 50dvw) !important;
    margin-right:calc(50% - 50dvw) !important;
  }
}
.tas-policy-page{
  width:min(1600px, calc(100% - 12px));
  margin:0 auto !important;
  padding:0 !important;
}

.tas-page-banner{
  width:100%;
  margin:0 !important;
  padding:0 !important;
  line-height:0;
  font-size:0;
}
.tas-page-banner img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  vertical-align:top;
}

.tas-page-intro{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(300px, .8fr);
  gap:22px;
  align-items:start;
  padding:12px 10px 0;
}
.tas-kicker{
  display:inline-block;
  font-size:15px;
  font-weight:800;
  letter-spacing:.08em;
  color:#8a6a23;
  margin-bottom:10px;
}
.tas-page-intro h1{
  margin:0 0 14px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(34px,3.5vw,60px);
  line-height:1.18;
  color:var(--tas-green);
}
.tas-page-lead{
  font-size:22px;
  line-height:1.9;
  margin:0 0 12px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
.tas-page-intro-main p{
  font-size:18px;
  line-height:1.95;
  margin:.3em 0;
}
.tas-summary-card{
  background:#fffdf8;
  border:1px solid var(--tas-line);
  border-radius:18px;
  padding:22px 22px 18px;
  box-shadow:0 6px 18px rgba(21,50,45,.06);
}
.tas-summary-card h3{
  margin:0 0 10px;
  color:var(--tas-green);
  font-size:28px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
.tas-summary-card ul{
  margin:0;
  padding-left:1.2em;
}
.tas-summary-card li{
  line-height:1.9;
  font-size:17px;
  margin:.25em 0;
}

/* ---------- focus box ---------- */
.tas-focus-box{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:0;
  margin:20px 10px;
  overflow:hidden;
  border:1px solid var(--tas-line);
  border-radius:20px;
  background:#fffef9;
  box-shadow:0 8px 20px rgba(21,50,45,.06);
}
.tas-focus-image{
  min-height:220px;
  background:#eef3ee;
}
.tas-focus-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tas-focus-body{
  padding:26px 28px;
}
.tas-focus-body h2{
  margin:.15em 0 .35em;
  font-size:clamp(28px,2.2vw,40px);
  color:var(--tas-green);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
.tas-focus-body p{
  line-height:1.9;
  font-size:18px;
  margin:.3em 0 1em;
}
.tas-btn{
  display:inline-block;
  text-decoration:none !important;
  background:var(--tas-green);
  color:#fff !important;
  border:1px solid var(--tas-gold-2);
  border-radius:999px;
  padding:12px 24px;
  font-weight:700;
}
.tas-btn-secondary{
  background:#fff;
  color:var(--tas-green) !important;
  border-color:var(--tas-gold);
}

/* ---------- content cards ---------- */
.tas-sections-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
  padding:0 10px;
}
.tas-section-card{
  position:relative;
  background:#fff;
  border:1px solid var(--tas-line);
  border-radius:20px;
  padding:26px 24px 24px 24px;
  box-shadow:0 8px 20px rgba(21,50,45,.05);
}
.tas-section-wide{
  grid-column:1 / -1;
}
.tas-section-no{
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--tas-green);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:800;
  border:2px solid var(--tas-gold);
}
.tas-section-card h2{
  margin:0 0 12px;
  padding-right:52px;
  color:var(--tas-green);
  font-size:clamp(28px,2.3vw,40px);
  line-height:1.28;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
.tas-section-card p{
  font-size:17px;
  line-height:1.95;
  margin:.4em 0;
}
.tas-theme-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.tas-theme-list span{
  display:inline-block;
  padding:11px 14px;
  border-radius:999px;
  background:var(--tas-cream-2);
  border:1px solid var(--tas-line);
  font-size:16px;
  font-weight:700;
}
.tas-check-list{
  margin:0;
  padding-left:1.2em;
}
.tas-check-list li{
  font-size:17px;
  line-height:1.9;
  margin:.35em 0;
}
.tas-value-boxes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.tas-value-boxes div{
  background:var(--tas-cream-2);
  border-left:5px solid var(--tas-gold);
  border-radius:14px;
  padding:16px 16px 14px;
}
.tas-value-boxes strong{
  display:block;
  color:var(--tas-green);
  font-size:20px;
  margin-bottom:6px;
}
.tas-value-boxes span{
  display:block;
  font-size:16px;
  line-height:1.75;
}

.tas-page-footer{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  margin:22px 10px 0;
  padding:18px 20px;
  border-radius:18px;
  background:var(--tas-green);
  color:#fff;
  font-size:15px;
  font-weight:700;
}

/* ---------- mobile ---------- */
@media (max-width: 980px){
  .tas-page-intro,
  .tas-focus-box,
  .tas-sections-grid{
    grid-template-columns:1fr;
  }
  .tas-value-boxes{
    grid-template-columns:1fr;
  }
  .tas-policy-page{
    width:calc(100% - 10px);
  }
  .tas-page-intro{
    padding:10px 6px 0;
  }
  .tas-focus-box{
    margin-left:6px;
    margin-right:6px;
  }
  .tas-sections-grid{
    padding:0 6px;
    gap:14px;
  }
  .tas-page-footer{
    margin-left:6px;
    margin-right:6px;
  }
}

@media (max-width: 640px){
  .tas-page-intro h1{
    font-size:clamp(28px,7.5vw,42px);
  }
  .tas-page-lead{
    font-size:20px;
    line-height:1.75;
  }
  .tas-page-intro-main p,
  .tas-focus-body p,
  .tas-section-card p,
  .tas-check-list li{
    font-size:16px;
  }
  .tas-section-card h2,
  .tas-focus-body h2{
    font-size:28px;
  }
}


/* v1.4 content refinements */
.tas-focus-placeholder{
  display:grid;
  place-items:center;
  min-height:260px;
  background:
    radial-gradient(circle at 30% 30%, rgba(225,199,120,.35), transparent 32%),
    linear-gradient(135deg,#f8f3df,#e9f0e9);
  text-align:center;
  color:var(--tas-green);
}
.tas-focus-placeholder div{
  padding:28px;
}
.tas-focus-placeholder span,
.tas-focus-placeholder small{
  display:block;
}
.tas-focus-placeholder span{
  font-size:13px;
  letter-spacing:.16em;
  color:#92712b;
  font-weight:800;
}
.tas-focus-placeholder strong{
  display:block;
  margin:12px 0 8px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:30px;
}
.tas-focus-placeholder small{
  font-size:14px;
  line-height:1.6;
}

.tas-activity-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.tas-activity-grid>div{
  border:1px solid var(--tas-line);
  border-radius:14px;
  padding:16px 18px;
  background:#fffdf8;
}
.tas-activity-grid strong{
  display:block;
  color:var(--tas-green);
  font-size:19px;
  margin-bottom:5px;
}
.tas-activity-grid span{
  display:block;
  line-height:1.75;
  font-size:15px;
}

@media(max-width:760px){
  .tas-activity-grid{
    grid-template-columns:1fr;
  }
}


/* ===== v1.5 weekly research ===== */
.tas-weekly-research{
  margin:24px 10px;
  border:1px solid var(--tas-line);
  border-radius:22px;
  overflow:hidden;
  background:#fffdf8;
  box-shadow:0 8px 22px rgba(21,50,45,.06);
}
.tas-weekly-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-end;
  padding:24px 26px 20px;
  background:linear-gradient(135deg,#f5f0df,#eaf1eb);
  border-bottom:1px solid var(--tas-line);
}
.tas-weekly-head h2{
  margin:.1em 0;
  color:var(--tas-green);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(30px,2.8vw,48px);
}
.tas-weekly-theme{
  font-size:18px;
  font-weight:800;
  color:#8a6a23;
}
.tas-weekly-period{
  white-space:nowrap;
  color:#6c6a62;
  font-weight:700;
}
.tas-weekly-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:14px;
  background:#f8f5ec;
}
.tas-weekly-gallery figure{
  margin:0;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e4dac0;
}
.tas-weekly-gallery img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}
.tas-weekly-gallery figcaption{
  padding:8px 10px;
  font-size:14px;
  line-height:1.5;
}
.tas-weekly-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:18px;
}
.tas-weekly-card{
  padding:18px;
  border-radius:16px;
  border:1px solid var(--tas-line);
  background:#fff;
}
.tas-weekly-card h3{
  margin:0 0 8px;
  color:var(--tas-green);
  font-size:21px;
}
.tas-weekly-card p{
  margin:0;
  line-height:1.85;
  font-size:16px;
}
.tas-weekly-problem{
  background:#fff9f2;
  border-color:#e4c8a8;
}
.tas-weekly-comment{
  margin:0 18px 18px;
  padding:20px 22px;
  border-radius:16px;
  background:var(--tas-green);
  color:#fff;
}
.tas-weekly-comment-label{
  font-weight:800;
  color:#f0d68d;
  margin-bottom:8px;
  letter-spacing:.04em;
}
.tas-weekly-comment p{
  margin:0;
  line-height:1.9;
  font-size:17px;
}
.tas-weekly-empty{
  padding:26px;
  text-align:center;
  color:#777;
}

/* admin */
.tas-admin-wrap{
  max-width:1180px;
}
.tas-admin-lead{
  font-size:16px;
  line-height:1.8;
  max-width:900px;
}
.tas-admin-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:14px;
  margin-top:16px;
  max-width:1000px;
}
.tas-admin-thumb{
  border:1px solid #ccd0d4;
  background:#fff;
  padding:8px;
  border-radius:8px;
  cursor:move;
}
.tas-admin-thumb img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  border-radius:5px;
}
.tas-admin-thumb input{
  width:100%;
  margin:8px 0 6px;
}
.tas-admin-thumb .tas-remove-image{
  display:block;
}

@media(max-width:760px){
  .tas-weekly-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .tas-weekly-gallery{
    grid-template-columns:1fr;
  }
  .tas-weekly-grid{
    grid-template-columns:1fr;
  }
}


/* ===== v1.6 feature/result display ===== */
.tas-research-feature{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);
  gap:18px;
  align-items:stretch;
  margin:0;
  padding:22px 24px;
  background:linear-gradient(135deg,#fffdf7,#edf3ee);
  border-top:1px solid var(--tas-line);
  border-bottom:1px solid var(--tas-line);
}
.tas-feature-copy{
  align-self:center;
}
.tas-feature-copy h2{
  margin:.1em 0 .25em;
  color:var(--tas-green);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(30px,3vw,50px);
}
.tas-feature-question{
  font-size:clamp(18px,1.7vw,26px);
  line-height:1.6;
  margin:.3em 0 .8em;
}
.tas-feature-link{
  display:inline-block;
  color:var(--tas-green);
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid var(--tas-gold);
  padding-bottom:3px;
}
.tas-feature-image{
  min-height:180px;
  border-radius:14px;
  overflow:hidden;
}
.tas-feature-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.tas-research-result{
  margin:22px 0;
  border:1px solid var(--tas-line);
  border-radius:18px;
  overflow:hidden;
  background:#fffdf9;
}
.tas-result-head{
  padding:24px 26px 18px;
  background:linear-gradient(135deg,#f7f4e9,#edf4f1);
  border-bottom:1px solid var(--tas-line);
}
.tas-result-head h2{
  margin:.1em 0;
  color:var(--tas-green);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(30px,3vw,48px);
}
.tas-result-head p{
  margin:.3em 0;
  font-size:20px;
  line-height:1.7;
}
.tas-result-head span{
  font-size:14px;
  color:#777;
}
.tas-result-main{
  grid-column:1 / -1;
  background:#f4f8f5;
}

.tas-admin-template{
  margin:18px 0 22px;
  padding:16px 18px;
  border-left:4px solid #2271b1;
  background:#fff;
  max-width:900px;
}
.tas-admin-template pre{
  white-space:pre-wrap;
  background:#f6f7f7;
  padding:14px;
  border-radius:6px;
  line-height:1.65;
}
.tas-admin-preview{
  margin-top:26px;
  padding:16px 18px;
  background:#fff;
  border:1px solid #dcdcde;
  max-width:900px;
}

@media(max-width:760px){
  .tas-research-feature{
    grid-template-columns:1fr;
    padding:18px;
  }
  .tas-feature-image{
    min-height:220px;
  }
}


/* ===== v1.6.2 TOP alignment fix =====
   100vw + negative margins をやめ、親要素の中心から transform で
   ビューポート中央へ合わせる。WordPress/Cocoonで右寄りになる問題対策。
*/
.tas-policy-top-imageonly{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding:0 !important;
  transform:translateX(-50%) !important;
  overflow:hidden !important;
  line-height:0 !important;
  font-size:0 !important;
  clear:both !important;
}

@supports (width: 100dvw){
  .tas-policy-top-imageonly{
    width:100dvw !important;
    max-width:100dvw !important;
  }
}

.tas-policy-banner-link,
.tas-policy-banner-image{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
}

.tas-policy-banner-image{
  height:auto !important;
  object-fit:contain !important;
  vertical-align:top !important;
}

/* トップの研究目玉も左右中央に揃える */
.tas-research-feature{
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* 前後ブロックとの隙間を極力なくす */
.tas-policy-top-imageonly,
.tas-policy-top-imageonly + .tas-research-feature,
.tas-research-feature + *{
  margin-top:0 !important;
}


/* ===== v1.6.3 smartphone layout fix ===== */
@media (max-width: 760px){

  /* 横スクロール・右へのはみ出し防止 */
  html, body{
    overflow-x:hidden;
  }

  .tas-policy-top,
  .tas-policy-page-wrap,
  .tas-policy-page,
  .tas-research-feature,
  .tas-research-result,
  .tas-weekly-research{
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* トップの方針バナー：スマホでは100vw解除して親幅に合わせる */
  .tas-policy-top-imageonly{
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .tas-policy-banner-link,
  .tas-policy-banner-image{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* 「今、いちばん追っている研究」 */
  .tas-research-feature{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:18px 18px 20px !important;
    border-left:0 !important;
    border-right:0 !important;
  }

  .tas-feature-copy{
    width:100% !important;
    max-width:none !important;
  }

  .tas-feature-copy h2{
    font-size:27px !important;
    line-height:1.35 !important;
    margin:5px 0 10px !important;
    word-break:normal !important;
  }

  .tas-feature-question{
    width:100% !important;
    max-width:none !important;
    font-size:16px !important;
    line-height:1.75 !important;
    margin:8px 0 14px !important;
  }

  .tas-feature-link{
    font-size:15px !important;
    margin-bottom:14px !important;
  }

  .tas-feature-image{
    width:100% !important;
    min-height:0 !important;
    margin:12px 0 0 !important;
    border-radius:10px !important;
    overflow:hidden !important;
  }

  .tas-feature-image img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
  }

  /* AIの研究内容と結果 / 今週の研究記録 */
  .tas-research-result,
  .tas-weekly-research{
    width:calc(100% - 16px) !important;
    margin:10px 8px !important;
    border-radius:14px !important;
    overflow:hidden !important;
  }

  .tas-result-head,
  .tas-weekly-head{
    padding:18px 16px !important;
  }

  .tas-result-head h2,
  .tas-weekly-head h2{
    font-size:27px !important;
    line-height:1.35 !important;
  }

  .tas-result-head p,
  .tas-weekly-theme{
    font-size:16px !important;
    line-height:1.7 !important;
  }

  .tas-weekly-gallery{
    display:block !important;
    width:100% !important;
    padding:8px !important;
  }

  .tas-weekly-gallery figure{
    width:100% !important;
    margin:0 0 10px !important;
    overflow:hidden !important;
  }

  .tas-weekly-gallery img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
  }

  .tas-weekly-grid{
    display:block !important;
    width:100% !important;
    padding:8px !important;
  }

  .tas-weekly-card{
    width:100% !important;
    margin:0 0 10px !important;
    padding:16px !important;
  }

  .tas-weekly-comment{
    margin:8px !important;
    padding:16px !important;
  }

  /* 方針ページ側 */
  .tas-policy-page-wrap{
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:100% !important;
    margin:0 !important;
    padding:0 0 12px !important;
    overflow:hidden !important;
  }

  .tas-policy-page{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .tas-page-intro{
    display:block !important;
    width:100% !important;
    padding:16px !important;
  }

  .tas-page-intro-main,
  .tas-page-intro-side{
    width:100% !important;
    max-width:none !important;
  }

  .tas-page-intro h1{
    font-size:31px !important;
    line-height:1.35 !important;
  }

  .tas-page-lead{
    font-size:18px !important;
    line-height:1.8 !important;
  }

  .tas-summary-card{
    margin-top:16px !important;
    padding:18px !important;
  }

  .tas-sections-grid{
    display:block !important;
    width:100% !important;
    padding:0 8px !important;
  }

  .tas-section-card{
    width:100% !important;
    margin:0 0 12px !important;
    padding:20px 16px !important;
  }

  .tas-activity-grid{
    display:block !important;
  }

  .tas-activity-grid > div{
    width:100% !important;
    margin-bottom:10px !important;
  }
}


/* ===== v1.6.4 feature background design ===== */
.tas-research-feature{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 8%, rgba(255, 166, 69, 0.18), transparent 26%),
    radial-gradient(circle at 85% 88%, rgba(80, 134, 125, 0.16), transparent 30%),
    linear-gradient(180deg, #f7ebd7 0%, #fff8ef 42%, #f7f3ea 72%, #e7f0e8 100%) !important;
  border-top:1px solid rgba(188,143,52,.30) !important;
  border-bottom:1px solid rgba(63,102,92,.22) !important;
}

.tas-research-feature::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.24), rgba(255,255,255,0) 18%, rgba(255,255,255,0) 82%, rgba(255,255,255,.16)),
    radial-gradient(circle at 50% 0%, rgba(255, 212, 122, .12), transparent 34%);
}

.tas-feature-copy,
.tas-feature-image{
  position:relative;
  z-index:1;
}

.tas-feature-copy .tas-kicker{
  color:#a06f19 !important;
}

.tas-feature-copy h2{
  color:#183932 !important;
}

.tas-feature-question{
  color:#2a312d;
}

.tas-feature-link{
  color:#163f38 !important;
  border-bottom:1px solid rgba(188,143,52,.8) !important;
}

.tas-feature-image{
  box-shadow:0 8px 22px rgba(0,0,0,.10);
  border:1px solid rgba(188,143,52,.22);
  background:rgba(255,255,255,.4);
}

@media (max-width: 760px){
  .tas-research-feature{
    background:
      radial-gradient(circle at 24% 7%, rgba(255, 166, 69, 0.20), transparent 30%),
      radial-gradient(circle at 82% 95%, rgba(80, 134, 125, 0.15), transparent 34%),
      linear-gradient(180deg, #f7ebd7 0%, #fff8ef 50%, #ecf3ea 100%) !important;
    padding:18px 18px 20px !important;
  }

  .tas-feature-image{
    box-shadow:0 5px 16px rgba(0,0,0,.08);
  }
}


/* ===== v1.6.5 visible gradient for TOP research feature ===== */
body .tas-research-feature{
  background:
    radial-gradient(ellipse at 8% 0%, rgba(239,125,36,.42) 0%, rgba(239,125,36,.18) 24%, rgba(239,125,36,0) 48%),
    radial-gradient(ellipse at 96% 100%, rgba(36,113,105,.34) 0%, rgba(36,113,105,.16) 28%, rgba(36,113,105,0) 52%),
    linear-gradient(135deg, #f4dfc4 0%, #fff7e9 38%, #f6f0df 62%, #dbece6 100%) !important;
  border-top: 2px solid rgba(181,119,35,.42) !important;
  border-bottom: 2px solid rgba(40,101,91,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), inset 0 -1px 0 rgba(255,255,255,.5) !important;
}
body .tas-research-feature::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(110deg, rgba(255,255,255,.28), rgba(255,255,255,0) 35%),
    repeating-linear-gradient(0deg, rgba(103,77,38,.018) 0 1px, transparent 1px 4px) !important;
}
body .tas-research-feature .tas-feature-copy,
body .tas-research-feature .tas-feature-image{ position:relative !important; z-index:2 !important; }
body .tas-research-feature .tas-kicker{ color:#9a6414 !important; }
body .tas-research-feature h2{ color:#173b34 !important; }
body .tas-research-feature .tas-feature-question{ color:#30322f !important; }
body .tas-research-feature .tas-feature-link{ color:#123d36 !important; border-color:#b98b32 !important; }
body .tas-research-feature .tas-feature-image{
  border:1px solid rgba(185,139,50,.42) !important;
  box-shadow:0 10px 26px rgba(28,50,44,.16) !important;
  background:rgba(255,255,255,.46) !important;
}
@media(max-width:760px){
  body .tas-research-feature{
    background:
      radial-gradient(ellipse at 10% 0%, rgba(239,125,36,.36) 0%, rgba(239,125,36,.14) 28%, transparent 52%),
      radial-gradient(ellipse at 92% 100%, rgba(36,113,105,.28) 0%, rgba(36,113,105,.12) 32%, transparent 56%),
      linear-gradient(180deg,#f4e0c6 0%,#fff7eb 48%,#dfeee8 100%) !important;
  }
}


/* ===== v1.6.6 forced feature appearance ===== */
.tas-research-feature{
  isolation:isolate;
}
.tas-research-feature .tas-feature-copy{
  background:transparent !important;
}
.tas-research-feature .tas-feature-image{
  background:rgba(255,255,255,.36) !important;
}
@media(max-width:760px){
  .tas-research-feature{
    background:
      radial-gradient(ellipse at 10% 0%, rgba(239,125,36,.36) 0%, rgba(239,125,36,.14) 28%, transparent 52%),
      radial-gradient(ellipse at 92% 100%, rgba(36,113,105,.28) 0%, rgba(36,113,105,.12) 32%, transparent 56%),
      linear-gradient(180deg,#f4e0c6 0%,#fff7eb 48%,#dfeee8 100%) !important;
  }
}


/* ===== v1.6.7 true full-width research feature ===== */
.tas-research-feature-fullbleed{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  width:100vw !important;
  max-width:100vw !important;
  margin:0 0 0 0 !important;
  padding:24px max(24px, calc((100vw - 1180px)/2)) !important;
  transform:translateX(-50%) !important;
  box-sizing:border-box !important;
  border-radius:0 !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr) !important;
  gap:24px !important;
  align-items:center !important;
}
.tas-research-feature-fullbleed .tas-feature-copy,
.tas-research-feature-fullbleed .tas-feature-image{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
.tas-research-feature-fullbleed .tas-feature-image{
  min-height:220px !important;
}
.tas-research-feature-fullbleed .tas-feature-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* Remove gaps around this block even when theme adds margins */
.tas-research-feature-fullbleed,
.tas-research-feature-fullbleed + *,
*:has(+ .tas-research-feature-fullbleed){
  margin-top:0 !important;
  margin-bottom:0 !important;
}

@media (max-width:760px){
  .tas-research-feature-fullbleed{
    position:relative !important;
    left:50% !important;
    width:100vw !important;
    max-width:100vw !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
    padding:18px 16px 0 !important;
    display:block !important;
    border-radius:0 !important;
  }
  .tas-research-feature-fullbleed .tas-feature-copy{
    padding:0 0 14px !important;
  }
  .tas-research-feature-fullbleed .tas-feature-image{
    width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    box-shadow:none !important;
  }
  .tas-research-feature-fullbleed .tas-feature-image img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }
}


/* ===== v1.6.8 viewport-true full bleed fix ===== */
/* WordPress/Cocoon の親コンテナが右寄りでも、親幅ではなく viewport を基準に左端へ戻す */
.tas-research-feature-fullbleed{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50vw) !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-top:-20px !important;
  margin-right:0 !important;
  margin-bottom:0 !important;
  margin-left:0 !important;
  padding:24px max(24px, calc((100vw - 1480px)/2)) !important;
  box-sizing:border-box !important;
  border-radius:0 !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(360px,.42fr) minmax(0,.58fr) !important;
  gap:28px !important;
  align-items:center !important;
}

.tas-research-feature-fullbleed .tas-feature-copy{
  width:100% !important;
  max-width:620px !important;
  justify-self:start !important;
  margin:0 !important;
  padding:0 !important;
}

.tas-research-feature-fullbleed .tas-feature-image{
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  border-radius:12px !important;
  overflow:hidden !important;
}

.tas-research-feature-fullbleed .tas-feature-image img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:430px !important;
  object-fit:cover !important;
  margin:0 !important;
}

/* テーマのショートコードブロックの余白を相殺 */
.tas-research-feature-fullbleed:first-child{
  margin-top:-20px !important;
}

@media (max-width:760px){
  .tas-research-feature-fullbleed{
    position:relative !important;
    left:50% !important;
    transform:translateX(-50vw) !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-top:-14px !important;
    margin-right:0 !important;
    margin-bottom:0 !important;
    margin-left:0 !important;
    padding:18px 16px 0 !important;
    display:block !important;
    overflow:hidden !important;
  }

  .tas-research-feature-fullbleed .tas-feature-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 0 14px !important;
  }

  .tas-research-feature-fullbleed .tas-feature-image{
    width:100% !important;
    margin:0 !important;
    border-radius:8px 8px 0 0 !important;
  }

  .tas-research-feature-fullbleed .tas-feature-image img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }
}


/* ===== v1.6.9 full-bleed is finalized by JS using actual viewport offset ===== */
.tas-research-feature{
  margin-top:0 !important;
  margin-bottom:0 !important;
  border-radius:0 !important;
}
.tas-research-feature + *{
  margin-top:0 !important;
}


/* ===== v1.6.10 full-width single-column feature ===== */
.tas-research-feature{
  display:block !important;
  width:100% !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
}
.tas-feature-copy{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  padding:16px 44px 8px !important;
  box-sizing:border-box !important;
}
.tas-feature-copy h2{
  margin:.2em 0 .35em !important;
}
.tas-feature-question{
  margin:.3em 0 .6em !important;
  max-width:none !important;
}
.tas-feature-link{
  display:inline-block !important;
  margin-bottom:8px !important;
}
.tas-feature-image{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.tas-feature-image img{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
}
.tas-research-feature + *{
  margin-top:0 !important;
}

@media(max-width:760px){
  .tas-feature-copy{
    padding:16px 18px 8px !important;
  }
}


/* ===== v1.6.11 modern editorial feature ===== */
.tas-research-feature{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 9% 4%, rgba(236,132,54,.24), transparent 32%),
    radial-gradient(circle at 90% 92%, rgba(43,112,102,.20), transparent 34%),
    linear-gradient(120deg,#f3dfc8 0%,#fff8ed 42%,#f6f2e8 68%,#dfede8 100%) !important;
}

.tas-feature-inner{
  width:min(1240px, calc(100% - 80px));
  margin:0 auto !important;
  padding:42px 0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr) !important;
  align-items:center !important;
  gap:54px !important;
  box-sizing:border-box !important;
}

.tas-feature-copy{
  width:100% !important;
  max-width:610px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}

.tas-feature-label{
  display:inline-flex !important;
  align-items:center !important;
  min-height:32px !important;
  padding:6px 12px !important;
  margin:0 0 16px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(171,116,41,.20) !important;
  color:#8c651f !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  backdrop-filter:blur(7px);
}

.tas-feature-copy h2{
  margin:0 0 16px !important;
  color:#173a33 !important;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif !important;
  font-size:clamp(34px,3vw,52px) !important;
  font-weight:750 !important;
  line-height:1.18 !important;
  letter-spacing:-.025em !important;
}

.tas-feature-question{
  margin:0 0 22px !important;
  padding:0 0 0 18px !important;
  border-left:3px solid rgba(176,127,46,.58) !important;
  color:#2c312f !important;
  font-size:clamp(17px,1.35vw,22px) !important;
  line-height:1.8 !important;
  letter-spacing:.01em !important;
  max-width:580px !important;
}

.tas-feature-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  margin:0 !important;
  padding:10px 0 5px !important;
  color:#174a40 !important;
  font-size:15px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(23,74,64,.34) !important;
}
.tas-feature-link span{
  transition:transform .18s ease;
}
.tas-feature-link:hover span{
  transform:translateX(4px);
}

.tas-feature-image{
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
  border:1px solid rgba(145,107,43,.18) !important;
  box-shadow:0 20px 44px rgba(46,48,43,.15) !important;
  background:#ece8df !important;
}

.tas-feature-image img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  margin:0 !important;
  object-fit:cover !important;
}

.tas-research-feature + *{
  margin-top:0 !important;
}

@media(max-width:980px){
  .tas-feature-inner{
    width:min(100% - 36px, 760px) !important;
    padding:30px 0 34px !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .tas-feature-copy{
    max-width:none !important;
  }
  .tas-feature-image{
    border-radius:16px !important;
  }
}

@media(max-width:600px){
  .tas-feature-inner{
    width:calc(100% - 28px) !important;
    padding:24px 0 28px !important;
    gap:20px !important;
  }
  .tas-feature-label{
    margin-bottom:12px !important;
    font-size:12px !important;
  }
  .tas-feature-copy h2{
    font-size:30px !important;
    margin-bottom:13px !important;
  }
  .tas-feature-question{
    padding-left:14px !important;
    font-size:16px !important;
    line-height:1.72 !important;
    margin-bottom:16px !important;
  }
  .tas-feature-image{
    border-radius:14px !important;
  }
}


/* ===== v1.6.12 blended warm-to-neutral feature redesign ===== */
.tas-research-feature{
  background:
    radial-gradient(circle at 16% -4%, rgba(255, 138, 48, .34), transparent 24%),
    radial-gradient(circle at 84% 0%, rgba(255, 184, 92, .12), transparent 22%),
    radial-gradient(circle at 82% 100%, rgba(108, 123, 116, .12), transparent 28%),
    linear-gradient(180deg, #130d0a 0%, #241712 12%, #3a2a22 26%, #655851 54%, #d8d1c7 100%) !important;
}

.tas-feature-inner{
  width:min(1240px, calc(100% - 72px)) !important;
  margin:22px auto 24px !important;
  padding:34px !important;
  background:linear-gradient(180deg, rgba(255,249,241,.96) 0%, rgba(246,241,233,.95) 100%) !important;
  border:1px solid rgba(170, 132, 73, .24) !important;
  border-radius:28px !important;
  box-shadow:0 18px 52px rgba(0,0,0,.18) !important;
  backdrop-filter:blur(3px);
}

.tas-feature-copy{
  align-self:center !important;
}

.tas-feature-label{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:auto !important;
  padding:0 !important;
  margin:0 0 14px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#a26f1d !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:none !important;
}
.tas-feature-label::before{
  content:"";
  width:34px;
  height:1px;
  background:linear-gradient(90deg, rgba(162,111,29,.95), rgba(162,111,29,.2));
  display:inline-block;
}

.tas-feature-copy h2{
  color:#1f2324 !important;
  font-size:clamp(36px, 3.1vw, 52px) !important;
  font-weight:750 !important;
  line-height:1.16 !important;
  margin:0 0 16px !important;
}

.tas-feature-question{
  color:#343230 !important;
  border-left:3px solid rgba(170, 132, 73, .7) !important;
  padding:0 0 0 18px !important;
  margin:0 0 20px !important;
  max-width:580px !important;
}

.tas-feature-link{
  color:#2b4d48 !important;
  border-bottom:1px solid rgba(43,77,72,.30) !important;
}

.tas-feature-image{
  border-radius:22px !important;
  border:1px solid rgba(80, 67, 56, .12) !important;
  box-shadow:0 16px 34px rgba(16,18,19,.12) !important;
  background:#e7e1d8 !important;
}

.tas-feature-image img{
  aspect-ratio: 16 / 10;
  object-fit:cover !important;
}

@media(max-width:980px){
  .tas-feature-inner{
    width:min(100% - 32px, 860px) !important;
    margin:16px auto 18px !important;
    padding:24px !important;
    border-radius:22px !important;
  }
}

@media(max-width:600px){
  .tas-research-feature{
    background:
      radial-gradient(circle at 16% -2%, rgba(255, 138, 48, .26), transparent 28%),
      radial-gradient(circle at 84% 100%, rgba(108, 123, 116, .10), transparent 26%),
      linear-gradient(180deg, #1a120e 0%, #3a2a22 18%, #8e8379 48%, #e3ddd3 100%) !important;
  }
  .tas-feature-inner{
    width:calc(100% - 20px) !important;
    margin:10px auto 12px !important;
    padding:18px !important;
    border-radius:18px !important;
  }
  .tas-feature-copy h2{
    font-size:31px !important;
  }
  .tas-feature-question{
    font-size:16px !important;
    line-height:1.72 !important;
    padding-left:14px !important;
  }
  .tas-feature-image{
    border-radius:14px !important;
  }
}


/* ===== v1.6.13 F-1 page responsive centering ===== */
.tas-research-result-fullbleed{display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;max-width:none!important;background:linear-gradient(180deg,#f8f7f2 0%,#fff 42%,#f4f6f5 100%)!important;box-sizing:border-box!important;overflow:visible!important;}
.tas-result-inner{width:min(1180px,calc(100% - 56px))!important;max-width:1180px!important;margin:0 auto!important;padding:42px 0 54px!important;box-sizing:border-box!important;}
.tas-result-head{padding:0 0 28px!important;margin:0!important;background:transparent!important;border:0!important;text-align:left!important;}
.tas-result-head .tas-kicker{color:#9a6d22!important;font-size:14px!important;letter-spacing:.08em!important;font-weight:800!important;margin-bottom:14px!important;}
.tas-result-head h2{margin:0 0 16px!important;color:#202625!important;font-size:clamp(38px,4vw,58px)!important;line-height:1.15!important;letter-spacing:-.025em!important;font-weight:750!important;}
.tas-result-question{max-width:780px!important;margin:0 0 16px!important;color:#303534!important;font-size:clamp(18px,1.8vw,25px)!important;line-height:1.75!important;}
.tas-result-period{display:inline-block!important;color:#656a68!important;font-size:15px!important;font-weight:600!important;border-bottom:1px solid rgba(101,106,104,.4)!important;}
.tas-result-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;width:100%!important;margin:0 0 34px!important;padding:0!important;}
.tas-result-figure{width:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:#fff!important;border:1px solid rgba(40,50,48,.10)!important;box-shadow:0 12px 30px rgba(20,28,26,.08)!important;}
.tas-result-figure img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;margin:0!important;object-fit:contain!important;}
.tas-result-figure figcaption{padding:10px 14px 12px!important;font-size:14px!important;line-height:1.6!important;color:#555b59!important;}
.tas-result-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;width:100%!important;}
.tas-result-card{margin:0!important;padding:24px!important;border-radius:16px!important;border:1px solid rgba(35,53,49,.10)!important;background:#fff!important;box-shadow:0 8px 22px rgba(20,28,26,.05)!important;}
.tas-result-card h3{margin:0 0 10px!important;color:#19483e!important;font-size:22px!important;}
.tas-result-card p{margin:0!important;color:#303534!important;font-size:16px!important;line-height:1.9!important;}
.tas-result-result{grid-column:1/-1!important;background:#f5f8f6!important;}
.tas-result-problem{background:#fffaf4!important;}
@media(max-width:760px){
  .tas-research-result-fullbleed{width:100%!important;max-width:100%!important;margin:0!important;left:auto!important;transform:none!important;overflow:hidden!important;}
  .tas-result-inner{width:100%!important;max-width:100%!important;margin:0!important;padding:22px 16px 32px!important;}
  .tas-result-head{padding-bottom:18px!important;}
  .tas-result-head h2{font-size:30px!important;line-height:1.25!important;margin-bottom:12px!important;}
  .tas-result-question{max-width:none!important;font-size:16px!important;line-height:1.75!important;margin-bottom:10px!important;}
  .tas-result-period{font-size:14px!important;}
  .tas-result-gallery{display:block!important;width:100%!important;margin-bottom:20px!important;}
  .tas-result-figure{width:100%!important;max-width:100%!important;margin:0 0 12px!important;border-radius:8px!important;box-shadow:none!important;}
  .tas-result-figure img{width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain!important;}
  .tas-result-grid{display:block!important;width:100%!important;}
  .tas-result-card,.tas-result-result{width:100%!important;margin:0 0 12px!important;padding:18px!important;}
  .tas-result-card h3{font-size:20px!important;}.tas-result-card p{font-size:16px!important;line-height:1.8!important;}
}

/* ===== v1.6.15 /a-a/ mobile-only policy page correction ===== */
@media (max-width: 760px){
  html, body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  /* Release the policy shortcode from desktop full-bleed calculations */
  .tas-policy-page-wrap{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 0 14px !important;
    overflow:hidden !important;
  }

  .tas-policy-page{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  /* Also release common WordPress/Cocoon wrappers around this shortcode */
  .wp-block-shortcode:has(.tas-policy-page-wrap),
  .entry-content:has(.tas-policy-page-wrap),
  .article:has(.tas-policy-page-wrap),
  .post-content:has(.tas-policy-page-wrap){
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:hidden !important;
  }

  .tas-page-intro{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:22px 18px 10px !important;
  }

  .tas-page-intro-main,
  .tas-page-intro-side{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }

  .tas-kicker{
    font-size:12px !important;
    line-height:1.5 !important;
    margin-bottom:8px !important;
  }

  .tas-page-intro h1{
    font-size:30px !important;
    line-height:1.3 !important;
    letter-spacing:0 !important;
    margin:0 0 14px !important;
    word-break:normal !important;
  }

  .tas-page-lead,
  .tas-page-intro-main p{
    font-size:16px !important;
    line-height:1.8 !important;
    margin:.45em 0 !important;
  }

  .tas-summary-card{
    width:100% !important;
    max-width:100% !important;
    margin:18px 0 0 !important;
    padding:17px !important;
    border-radius:14px !important;
  }

  .tas-summary-card h3{
    font-size:22px !important;
    line-height:1.35 !important;
  }

  .tas-summary-card li{
    font-size:15px !important;
    line-height:1.75 !important;
  }

  /* Weekly/current research block inside the policy page */
  .tas-policy-page .tas-weekly-research,
  .tas-policy-page .tas-focus-box{
    display:block !important;
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
    min-width:0 !important;
    margin:12px auto !important;
    padding:0 !important;
    border-radius:14px !important;
    overflow:hidden !important;
  }

  .tas-policy-page .tas-weekly-head,
  .tas-policy-page .tas-focus-body{
    display:block !important;
    width:100% !important;
    padding:16px !important;
  }

  .tas-policy-page .tas-weekly-head h2,
  .tas-policy-page .tas-focus-body h2{
    font-size:25px !important;
    line-height:1.35 !important;
  }

  .tas-policy-page .tas-weekly-theme,
  .tas-policy-page .tas-focus-body p{
    font-size:15px !important;
    line-height:1.75 !important;
  }

  .tas-policy-page .tas-weekly-period{
    margin-top:8px !important;
    font-size:13px !important;
    white-space:normal !important;
  }

  .tas-policy-page .tas-weekly-gallery{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    padding:8px !important;
  }

  .tas-policy-page .tas-weekly-gallery figure{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 8px !important;
  }

  .tas-policy-page img,
  .tas-policy-page .tas-weekly-gallery img,
  .tas-policy-page .tas-focus-image img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    margin:0 auto !important;
  }

  .tas-policy-page .tas-weekly-grid{
    display:block !important;
    width:100% !important;
    padding:8px !important;
  }

  .tas-policy-page .tas-weekly-card{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 8px !important;
    padding:15px !important;
  }

  .tas-policy-page .tas-weekly-card h3{
    font-size:19px !important;
  }

  .tas-policy-page .tas-weekly-card p,
  .tas-policy-page .tas-weekly-comment p{
    font-size:15px !important;
    line-height:1.75 !important;
  }

  .tas-policy-page .tas-weekly-comment{
    margin:8px !important;
    padding:15px !important;
  }

  .tas-sections-grid{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 12px !important;
  }

  .tas-section-card,
  .tas-section-wide{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 0 12px !important;
    padding:20px 16px !important;
    border-radius:14px !important;
  }

  .tas-section-card h2{
    font-size:25px !important;
    line-height:1.35 !important;
    padding-right:42px !important;
  }

  .tas-section-card p,
  .tas-check-list li,
  .tas-theme-list span,
  .tas-activity-grid span,
  .tas-value-boxes span{
    font-size:15px !important;
    line-height:1.75 !important;
  }

  .tas-theme-list{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
  }

  .tas-theme-list span{
    padding:8px 10px !important;
  }

  .tas-activity-grid,
  .tas-value-boxes{
    display:block !important;
  }

  .tas-activity-grid > div,
  .tas-value-boxes > div{
    width:100% !important;
    margin:0 0 8px !important;
  }

  .tas-page-footer{
    width:calc(100% - 24px) !important;
    margin:12px auto 0 !important;
    padding:14px !important;
    border-radius:12px !important;
    font-size:13px !important;
  }
}


/* ===== v1.6.16 stable image sizing / policy width ===== */
.tas-policy-page-wrap{
  box-sizing:border-box !important;
}
.tas-policy-page{
  width:min(1240px, calc(100% - 48px)) !important;
  max-width:1240px !important;
  min-width:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.tas-policy-page *{
  min-width:0;
}
.tas-policy-page .tas-weekly-gallery{
  width:100% !important;
  max-width:100% !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:start !important;
}
.tas-policy-page .tas-weekly-gallery figure{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.tas-policy-page .tas-weekly-gallery img,
.tas-policy-page .tas-focus-image img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
}

/* F-1 research result images: never crop */
.tas-research-result-fullbleed .tas-result-gallery{
  width:100% !important;
  max-width:100% !important;
}
.tas-research-result-fullbleed .tas-result-figure{
  min-width:0 !important;
  max-width:100% !important;
}
.tas-research-result-fullbleed .tas-result-figure img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
}

@media(max-width:760px){
  .tas-policy-page{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  .tas-policy-page .tas-weekly-gallery{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    padding:6px !important;
  }
  .tas-policy-page .tas-weekly-gallery figure{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 8px !important;
  }
  .tas-policy-page .tas-weekly-gallery img,
  .tas-policy-page .tas-focus-image img,
  .tas-research-result-fullbleed .tas-result-figure img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    transform:none !important;
  }
  .tas-research-result-fullbleed .tas-result-gallery{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
  }
  .tas-research-result-fullbleed .tas-result-figure{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 10px !important;
  }
}


/* ===== v1.6.19 smartphone full-bleed top banner fix ===== */
@media (max-width: 760px){
  .tas-policy-top-imageonly{
    position:relative !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:100vw !important;
    max-width:100vw !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  @supports (width:100dvw){
    .tas-policy-top-imageonly{
      width:100dvw !important;
      max-width:100dvw !important;
    }
  }

  .tas-policy-banner-link,
  .tas-policy-banner-image{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
}

/* v1.7.6: stacked-shortcode vertical seam fix.
   Reset logical margins used by some themes; do not alter the banner sizing. */
.tas-policy-top-imageonly,
.tas-policy-top{
  margin-block-start:0 !important;
  margin-block-end:0 !important;
  padding-block-start:0 !important;
  padding-block-end:0 !important;
}
