/* Independent story corner. All rules are scoped; existing column styles stay intact. */
.story-finance{overflow-wrap:break-word}
.story-portal nav.column-breadcrumb{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;width:100%;border:0;white-space:normal;font-size:12px;font-weight:400}
.story-portal .column-breadcrumb>a,.story-portal .column-breadcrumb>span{flex:none;padding:0;border:0;text-align:left;max-width:100%}
.story-portal .column-breadcrumb>a::after{display:none}
.story-portal .manuscript{max-width:1040px}
.story-hero{margin:32px 0 52px;padding:36px 0 36px 28px;border-left:4px solid var(--blue)}
.story-finance .story-kicker,.story-entry .story-kicker{margin:0 0 16px;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--blue)}
.story-hero h1{margin:0 0 26px;font-family:serif;font-size:clamp(28px,3vw,44px);line-height:1.5;color:var(--deep);text-wrap:balance;max-width:920px}
.story-finance .story-catch{font-size:clamp(18px,2vw,24px);font-weight:600;line-height:1.8;color:var(--deep)}
.story-finance .story-text-link,.story-finance .story-training a,.story-return a{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;color:var(--blue)}
.story-portal-content>p:first-child{max-width:800px;font-size:17px;line-height:2}
.story-finance .story-fiction-note{font-size:12px;line-height:1.9;color:var(--muted);border-left:2px solid var(--line);padding-left:16px;margin-bottom:32px}
.story-portal-content>h2{font-size:30px;margin:70px 0 26px}
.story-characters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.story-character{min-width:0;border-top:3px solid var(--blue);padding:24px;background:#fff;box-shadow:0 5px 20px #083f5305}
.story-character h3{margin:0 0 7px;font-size:24px;color:var(--deep)}
.story-character .story-character-role{font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--blue);margin:0 0 18px}
.story-character p:last-child{margin:0;font-size:14px;line-height:2}
.story-parts{display:grid;gap:28px}
.story-part{border:1px solid var(--line);background:#fff;min-width:0}
.story-part h3{margin:0;padding:17px 22px;background:var(--deep);color:#fff;font-size:19px;line-height:1.6}
.story-part .story-episodes{list-style:none;padding:0;margin:0}
.story-part .story-episodes li{display:grid;grid-template-columns:58px minmax(0,1fr) 66px;gap:18px;align-items:start;padding:23px 22px;margin:0;border-bottom:1px solid var(--line)}
.story-part .story-episodes li:last-child{border-bottom:0}
.story-episode-number{font-size:13px;font-weight:700;color:var(--blue);white-space:nowrap}
.story-episode-copy{min-width:0}
.story-episode-copy strong{font-size:16px;line-height:1.8;color:var(--deep);font-weight:600}
.story-episode-copy a{text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:5px}
.story-episode-copy p{margin:8px 0 0;font-size:13px;line-height:1.9;color:var(--muted)}
.story-status{display:inline-block;border:1px solid var(--line);padding:2px 7px;font-size:11px;white-space:nowrap;color:var(--muted);text-align:center}
.story-status.is-published{background:var(--aqua);border-color:var(--aqua);color:var(--deep)}
.story-finance .story-start{margin:44px 0;padding:28px;background:var(--mist);border-left:3px solid var(--red)}
.story-finance .story-start h2{margin:0 0 18px;padding:0;border:0;font-size:25px}
.story-start a{display:block;max-width:850px;font-size:18px;font-weight:700;line-height:1.9;text-decoration:underline;text-underline-offset:5px}
.story-finance .story-training{margin:36px 0 22px;font-size:14px;line-height:2}
.story-finance .story-normal-column{font-size:14px;text-decoration:underline;text-underline-offset:5px}
.story-article-header .story-series-name{font-size:14px;line-height:1.8;margin-bottom:20px;font-weight:600;color:var(--blue)}
.story-single .column-article-header h1{text-wrap:balance}
.story-article-header .story-text-link{font-size:13px}
.story-article-body .story-dialogue{margin:22px 0;padding:18px 24px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);font-weight:500;color:var(--deep)}
.story-article-body .story-dialogue p{font-weight:500;margin:0;line-height:2.05}
.story-article-body .story-message{padding:18px 22px;background:var(--mist);border-left:2px solid var(--muted);font-size:15px}
.story-article-body .story-thought{padding:0 0 0 20px;border-left:2px solid var(--line);color:var(--blue)}
.story-article-body h2#story-section-7{margin-bottom:30px}
.story-article-body h3{font-size:21px;line-height:1.6}
.story-single .story-upcoming{display:inline-block;margin:8px 0 24px;padding:5px 12px;background:var(--mist);font-size:12px;color:var(--muted)}
.story-adjacent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:32px 0}
.story-adjacent a{border:1px solid var(--line);padding:18px;background:#fff}
.story-adjacent span,.story-adjacent strong{display:block}
.story-adjacent span{font-size:12px;color:var(--muted);margin-bottom:10px}
.story-adjacent strong{font-size:15px;line-height:1.8}
.story-return{margin:24px 0 0;font-size:14px}
.story-entry{margin:0 0 42px;padding:28px 30px;background:var(--mist);border-left:4px solid var(--blue)}
.story-entry h2{margin:0 0 16px;padding:0;border:0;font-size:24px;line-height:1.7;text-wrap:balance;color:var(--deep)}
.story-entry p{font-size:14px;margin:0 0 14px;line-height:1.9}
.story-entry .story-entry-catch{font-weight:700;color:var(--deep)}
.story-entry>a{display:inline-block;padding:10px 0;color:var(--blue);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.story-finance a:focus-visible,.story-entry a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:900px){.story-characters{grid-template-columns:1fr}.story-hero{padding-left:22px}.story-portal-content>h2{font-size:28px}}
@media(max-width:600px){
 .story-hero{margin:24px 0 36px;padding:24px 0 24px 16px}
 .story-hero h1{font-size:28px;line-height:1.55;margin-bottom:20px}
 .story-finance .story-catch{font-size:18px}
 .story-character{padding:22px 18px}
 .story-portal-content>h2{font-size:26px;margin-top:52px}
 .story-part h3{padding:15px 16px;font-size:18px}
 .story-part .story-episodes li{grid-template-columns:46px minmax(0,1fr);gap:8px 12px;padding:20px 16px}
 .story-status{grid-column:2;justify-self:start}
 .story-episode-copy strong{font-size:15px}
 .story-finance .story-start{padding:23px 18px}
 .story-start a{font-size:17px}
 .story-article-body .story-dialogue{padding:16px;margin:20px 0}
 .story-article-body .story-message{padding:16px;font-size:14px}
 .story-adjacent{grid-template-columns:1fr}
 .story-entry{padding:22px 18px;margin-bottom:30px}
 .story-entry h2{font-size:21px}
}
.story-hero h1{font-size:0;line-height:0}.story-title-lead,.story-title-sub{display:block;font-size:clamp(28px,3vw,44px);line-height:1.5}.story-title-lead{white-space:nowrap}.story-title-sub{text-wrap:balance}
.story-finance nav.story-return{display:block;width:100%;border:0;white-space:normal}.story-return>a{display:inline-block;flex:none;padding:10px 0;border:0;text-align:left}.story-return>a::after,.story-adjacent>a::after{display:none}.story-finance nav.story-adjacent{width:100%;border:0;white-space:normal}
.story-article-body h3,.story-part h3{text-wrap:balance}

/* Approved Version 48 story presentation. */
.story-article-body .story-points{margin:3em 0;padding:24px 28px;background:var(--mist);border-left:4px solid var(--blue)}
.story-article-body .story-points>h2{margin:0 0 20px!important;padding:0;border:0;background:none;font-size:25px}
.story-article-body .story-points ul,.story-article-body .story-points ol{margin:0;padding:0 0 0 1.4em;border:0;background:none}
.story-article-body .story-points li{margin:0 0 .7em;padding-left:3px;line-height:1.9}
.story-article-body .story-points p{margin-bottom:.8em}
.story-article-body .story-points h3{margin:1.5em 0 .6em;font-size:18px}
.story-point-label{display:block;font-weight:700;color:var(--blue);font-size:15px;margin:1.4em 0 .5em}
.story-point-label::before{content:attr(data-story-label)}
.story-article-body h2{margin-bottom:24px}
.story-article-body .story-table-scroll{max-width:100%;overflow-x:auto;margin:28px 0 38px;-webkit-overflow-scrolling:touch;background:linear-gradient(to right,#fff 30%,transparent),linear-gradient(to left,#fff 30%,transparent),linear-gradient(to right,#083f5330,transparent),linear-gradient(to left,#083f5330,transparent);background-position:left center,right center,left center,right center;background-repeat:no-repeat;background-size:40px 100%,40px 100%,12px 100%,12px 100%;background-attachment:local,local,scroll,scroll}
.story-article-body .story-table-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.story-article-body .story-table-scroll table{margin:0}
.story-finance .story-fiction-note{color:#53676e}
.story-finance~footer .footer-contact{background:#b93640;color:#fff}
@media(max-width:600px){.story-article-body .story-points{padding:20px 18px}.story-article-body .story-points>h2{font-size:23px}.story-article-body h2{margin-bottom:22px}}

/* Work-confirmed completion of dialogue and table presentation. */
.postid-292 .story-article-body blockquote:not(.story-formula){margin:0 0 1.55em;padding:0;border:0;background:transparent;font-size:inherit;line-height:inherit;color:inherit;font-weight:400}
.postid-292 .story-article-body blockquote:not(.story-formula) p{margin:0;font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit}
.story-article-body .story-table-scroll{margin:0;overflow:visible;background:none}
.story-article-body .story-table-scroll>.column-table-scroll{padding:0}
@media(max-width:760px){
 .story-article-body .story-table-scroll>.column-table-scroll{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 14px),transparent)}
 @supports(animation-timeline:scroll(self inline)){
  .story-article-body .story-table-scroll>.column-table-scroll{animation:iprv-story-table-edge 1s linear both;animation-timeline:scroll(self inline)}
 }
}
@keyframes iprv-story-table-edge{0%,99%{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 14px),transparent)}100%{-webkit-mask-image:linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000)}}

.story-article-body .story-formula {
  text-align: center;
}

.story-article-body .story-formula::before {
  content: "計算式";
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.8em;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.story-article-body .story-formula p {
  margin-left: 0;
  margin-right: 0;
  text-align: center;
}

.story-article-body .story-quote {
  margin: 28px 0;
  padding: 20px 24px;
  background: var(--mist);
  border-left: 3px solid var(--blue);
  color: inherit;
  overflow-wrap: anywhere;
}
.story-article-body .story-quote > .story-quote-label {
  margin: 0 0 10px;
  padding: 0;
  color: var(--blue);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}
.story-article-body .story-quote > blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  font-weight: 400;
  line-height: inherit;
  quotes: none;
}
.story-article-body .story-quote > blockquote::before,
.story-article-body .story-quote > blockquote::after,
.story-article-body .story-quote > blockquote > p::before,
.story-article-body .story-quote > blockquote > p::after {
  content: none;
}
.story-article-body .story-quote > blockquote > p {
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
}
.story-article-body .story-quote > blockquote > p + p {
  margin-top: 0.8em;
}
@media (max-width: 600px) {
  .story-article-body .story-quote {
    margin: 24px 0;
    padding: 18px 16px;
  }
}

.story-portal .story-part h3 > .story-part-title-theme{display:inline-block;white-space:nowrap}

.story-portal .story-part h3{text-wrap:wrap}
