:root{
  --ibv-ink:#15161a; --ibv-mute:#6f7785; --ibv-line:#babdc2; --ibv-soft:#f7f8fb;
  --ibv-rose:#ff8fb3; --ibv-lav:#bba8ff;
  --ibv-radius:14px; --ibv-shadow:0 12px 28px rgba(20,24,40,.08);
  --ibp-media-w:34%; --ibp-gap:22px;
}
#content .ibp-toplinks{
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;
  margin:1rem 0 1.7rem; justify-content:flex-start;
	text-align:center;
}
@media (min-width:961px){ #content .ibp-toplinks{ justify-content:flex-end; } }
@media (max-width:960px){
  #content .ibp-toplinks{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
}
#content .ibp-toplinks .ibp-toplink{
  appearance:none; cursor:pointer; user-select:none; text-decoration:none;
  border:1px solid var(--ibv-line); background:#fdfdfd; color:#2b2e34;
  padding:.56rem 1.1rem; border-radius:999px;
  font-size:.88rem; font-weight:600; letter-spacing:.03em;
  box-shadow:0 .5px 0 rgba(0,0,0,.04);
  transition:transform .15s ease, box-shadow .15s ease, color .2s ease, border-color .2s ease;
  position:relative; z-index:0;
  display:flex; align-items:center; justify-content:center; 
  line-height:1.2; min-height:40px;                         
}
#content .ibp-toplinks .ibp-toplink::after{
  content:""; position:absolute; left:50%; bottom:-6px; width:70%; height:2px;
  transform:translateX(-50%) scaleX(0); transform-origin:center;
  background:linear-gradient(90deg,var(--ibv-rose),var(--ibv-lav));
  border-radius:2px; transition:transform .22s ease; pointer-events:none;
}
#content .ibp-toplinks .ibp-toplink:hover{ transform:translateY(-1px); box-shadow:0 6px 14px rgba(0,0,0,.08); }
#content .ibp-toplinks .ibp-toplink:hover::after{ transform:translateX(-50%) scaleX(1); }
#content .ibp-sidewrap{ overflow:visible !important; }
#content .ibp-row{
  display:flex; align-items:center; column-gap:var(--ibp-gap);
  padding:28px 26px; margin:40px 0; position:relative; z-index:0;
}
@media (max-width:960px){
  #content .ibp-row{ padding:22px 16px; margin:32px 0; flex-direction:column; align-items:stretch; row-gap:14px; }
}
#content .ibp-cover{
  position:relative; display:block; overflow:hidden; aspect-ratio:1/1;
  border-radius:0; box-shadow:var(--ibv-shadow);
  background:#f3f5f9 center/cover no-repeat;
}
@supports not (aspect-ratio:1/1){
  #content .ibp-cover::before{ content:""; display:block; padding-top:100%; }
}
#content .ibp-cover.ibp-cover--ph{
  background: repeating-linear-gradient(45deg,#eef2f7,#eef2f7 12px,#e6ecf4 12px,#e6ecf4 24px);
}
@media (min-width:961px){
  .ibp-row .ibp-media{ flex:0 0 var(--ibp-media-w) !important; max-width:var(--ibp-media-w) !important; min-width:280px; }
  .ibp-row .ibp-meta { flex:1 1 auto !important; }
  .ibp-row .ibp-media > .ibp-cover{ max-width:512px !important; margin-inline:auto; }
}
#content .ibp-title{
  margin:0 0 .45rem; padding-bottom:.38rem;
  font-weight:800; font-size:clamp(20px,2.4vw,26px); line-height:1.35; letter-spacing:.01em;
  color:var(--ibv-ink); position:relative;
  --ibp-uline-h:3px; --ibp-uline-w:64px;
}
#content .ibp-title::before{
  content:""; position:absolute; left:0; right:0; bottom:-6px;
  height:var(--ibp-uline-h); background:var(--ibv-line);
}
#content .ibp-title::after{
  content:""; position:absolute; left:0; bottom:-6px; width:var(--ibp-uline-w); height:var(--ibp-uline-h);
  background:linear-gradient(90deg,var(--ibv-rose),var(--ibv-lav));
}
#content .ibp-date{
  display:inline-flex; align-items:center; gap:.4rem;
  margin-top:.65rem; font-size:.78rem; color:#6d7481;
  	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
font-weight:800;
  background:#fdfdfd; border:1px solid var(--ibv-line);
  padding:.22rem .6rem; border-radius:999px; box-shadow:0 1px 0 rgba(0,0,0,.03);
}
#content .ibp-date::before{
  content:""; width:.48rem; height:.48rem; border-radius:999px;
  background:linear-gradient(135deg,var(--ibv-rose),var(--ibv-lav));
}
#content .ibp-desc{
  margin-top:.8rem; color:#2f333a; line-height:1.82; max-width:66ch;
  overflow-wrap:anywhere;
}
#content .ibp-bottomtabs{
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
  margin-top:1rem;
}
#content .ibp-bottomtab{
  display:flex; align-items:center; justify-content:center;
  text-align:center; text-decoration:none; user-select:none; cursor:pointer;
  border:1px solid var(--ibv-line);  color:#2b2e34;
  padding:.62rem 1rem; border-radius:12px; font-weight:700; letter-spacing:.02em;
  transition:transform .15s ease, box-shadow .15s ease, color .2s ease, border-color .2s ease, background .2s ease;
  position:relative; z-index:0;
  line-height:1.2; min-height:44px; 
}
#content .ibp-bottomtab::after{
  content:""; position:absolute; left:50%; bottom:-5px; width:64%; height:2px;
  transform:translateX(-50%) scaleX(0); transform-origin:center;
  background:linear-gradient(90deg,var(--ibv-rose),var(--ibv-lav));
  border-radius:2px; transition:transform .22s ease; pointer-events:none;
}
#content .ibp-bottomtab:hover{ transform:translateY(-1px); box-shadow:0 6px 14px rgba(0,0,0,.08); 
}
#content .ibp-bottomtab:hover::after{ transform:translateX(-50%) scaleX(1); }
:root{ --ibv-more-ring:2px; --ibv-more-gap-pc:30px; --ibv-more-gap-sp:15px; }
#content .ibp-sidewrap + .swell-block-button.is-style-more_btn{ margin-top:var(--ibv-more-gap-pc) !important; }
@media (max-width:960px){
  #content .ibp-sidewrap + .swell-block-button.is-style-more_btn{ margin-top:var(--ibv-more-gap-sp) !important; }
}
#content .swell-block-button.is-style-more_btn .swell-block-button__link{
  border-radius:0 !important; padding:.9rem 1.4rem !important; border-width:var(--ibv-more-ring) !important;
}
#content .swell-block-button.is-style-more_btn .swell-block-button__link:hover,
#content .swell-block-button.is-style-more_btn .swell-block-button__link:focus{
  background:linear-gradient(90deg, var(--ibv-rose), var(--ibv-lav)) !important;
  color:#fdfdfd !important; border-color:#fdfdfd !important; box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
}
#content .ibp-row .typesquare_option{ font-feature-settings:"palt"; }
:root{
  --ibp-tabH-pc: 50px;   
  --ibp-tabH-sp: 52px;   
  --ibp-tabPadY: .8rem;  
}
#content .ibp-bottomtab{
  min-height: var(--ibp-tabH-pc);
  padding: var(--ibp-tabPadY) 1.1rem;  
  line-height: 1.25;                   
}
@media (max-width:960px){
  #content .ibp-bottomtab{
    min-height: var(--ibp-tabH-sp);
    padding: .72rem 1rem;
  }
}
#content .ibp-row.has-bleed::before{ content:none; }
