.movie {
  padding-bottom: 48px;
  color: #222;
  font-size: 15px;
  line-height: 1.8;
}
.movie .st_main {
  margin: 28px 0 24px;
}
.movie .st_main img {
  display: block;
  width: 100%;
  height: 31px;
  object-fit: cover;
  object-position: center;
}
.movie .link_btn {
  margin: 0;
  padding: 0;
}
.movie .link_btn li {
  float: none;
  margin-top: 36px;
}
.cards {
  display: flex;
  flex-wrap: wrap;
  gap: 22px 14px;
}
.card {
  display: block;
  width: calc(33.333% - 10px);
  color: #222;
  text-decoration: none;
}
.card .thumb {
  height: 188px;
  overflow: hidden;
  background: #111;
}
.card .thumb img {
  width: 100%;
  height: 188px;
  object-fit: cover;
  object-position: center;
}
.card .thumb.poster {
  background: #fff;
  border: 1px solid #eee;
}
.card .thumb.poster img {
  object-fit: contain;
}
.card h3 {
  margin: 12px 0 6px;
  color: #d32980;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.4;
}
.card h3 span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: bold;
}
.card h3 span.ver {
  display: inline;
  margin-top: 0;
  color: #222;
  font-size: 11px;
  font-weight: normal;
}
.card p {
  margin: 0;
  color: #222;
  font-size: 13px;
  line-height: 1.7;
}
.card .more {
  display: inline-block;
  margin-top: 10px;
  padding: 6px 12px;
  background: #e5007d;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
}
.hero {
  margin: 28px 0 0;
  text-align: center;
}
.hero img {
  max-width: 100%;
  height: auto;
}
.hero.poster img {
  max-width: 420px;
}
.copy {
  margin: 6px 0 22px;
  font-size: 13px;
  text-align: left;
}
.movie h2.work {
  margin: 0 0 16px;
  color: #e5007d;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.35;
  line-break: strict;
  word-break: keep-all;
}
.movie h2.work .screen {
  display: block;
  margin-top: 10px;
  color: #222;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
}
.movie h2.work .day,
.movie h2.work .at,
.movie h2.work .len,
.movie h2.work .rate {
  display: inline;
  white-space: nowrap;
}
.movie h2.work .at {
  margin-left: 0.55em;
  color: #e5007d;
  font-weight: bold;
}
.movie h2.work .len {
  margin-left: 0.45em;
  color: #666;
}
.movie h2.work .rate {
  margin-left: 0.7em;
  color: #333;
  font-weight: normal;
  font-size: 14px;
}
.movie h2.work .ver {
  font-size: 13px;
  font-weight: normal;
}
.role {
  color: #222;
  font-weight: bold;
}
.credits p {
  margin: 0;
  line-height: 1.65;
}
.credits p.extra {
  margin-top: 10px;
  color: #555;
}
.credits p.extra + p.extra {
  margin-top: 2px;
}
.story p {
  margin: 0 0 1em;
}
.story p:last-child {
  margin-bottom: 0;
}
.layout .credits {
  margin-bottom: 22px;
}
.credits .cast {
  padding-left: 3em;
  text-indent: -3em;
}
.credits .cast .nm {
  white-space: nowrap;
}
.story h3 {
  margin: 0 0 12px;
  color: #d32980;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}
.layout {
  display: block;
  margin-bottom: 28px;
}
.layout .credits,
.layout .story {
  width: auto;
}
.movie .st {
  margin: 28px 0 18px;
  clear: both;
}
.movie .st img {
  width: 100%;
  height: auto;
  display: block;
}
.person {
  display: inline-flex;
  flex-direction: column;
  width: 168px;
  margin: 0 22px 28px 0;
  vertical-align: top;
}
.person:has(p:not(.who):not(.credit)) {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
  margin-right: 0;
}
.person .shot {
  flex: none;
  width: 168px;
}
.movie .person img {
  width: 168px;
  height: 224px;
  flex: none;
  object-fit: cover;
  object-position: center 18%;
  display: block;
  background: #111;
}
.movie .person img[src*="mo02_guest"] { object-position: 68% 20%; }
.movie .person img[src*="mo03_still"] { object-position: 42% 28%; }
.movie .person img[src*="mo04_shane"] { object-position: 72% 16%; }
.movie .person img[src*="mo09_hoshino"] { object-position: center 20%; }
.movie .person img[src*="mo09_shimizu"] { object-position: 38% 22%; }
.movie .person img[src*="mo05_sese"] { object-position: center 16%; }
.movie .person img[src*="judging_murakawa"] { object-position: center 12%; }
.movie .person img[src*="mo11_murakawa"] { object-position: 74% 24%; }
.movie .person img[src*="mo11_uzaki"] { object-position: center 42%; }
.movie .person img[src*="mo01_otomo"] { object-position: 22% 35%; }
.person .who {
  margin: 8px 0 0;
  font-weight: bold;
  line-height: 1.4;
}
.person:has(p:not(.who):not(.credit)) .who {
  margin: 0 0 6px;
}
.person p {
  margin: 0;
  font-size: 14px;
  line-height: 1.85;
}
.person .credit {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: #555;
}
.note {
  margin: 8px 0 0;
  font-size: 13px;
}
.lead {
  margin-top: 28px;
}
.lead p {
  margin: 0 0 1em;
  font-size: 15px;
  line-height: 1.9;
}
.memorial {
  margin: 0 0 8px;
  color: #222;
  font-size: 15px;
  font-weight: bold;
}
.subhead {
  margin: 56px 0 12px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}
.timeline {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.timeline li {
  margin: 0;
  line-height: 1.8;
}
.history {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 16px;
  margin: 0 0 56px;
}
.history figure {
  width: 220px;
  margin: 0;
}
.history img {
  width: 100%;
  height: 165px;
  object-fit: cover;
  object-position: center 18%;
  display: block;
  background: #111;
}
.history figcaption {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.4;
}
.st_text {
  margin: 8px 0 18px;
  padding-bottom: 8px;
  border-bottom: 2px solid #e5007d;
  color: #e5007d;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
}
.person .post {
  margin: 0 0 6px;
  font-weight: bold;
}
.back {
  display: inline-block;
  margin: 12px 0 20px;
  padding: 10px 18px;
  border: 1px solid #e5007d;
  color: #e5007d;
  font-weight: bold;
}
@media screen and (max-width: 800px) {
  body { min-width: 0; }
  #main { width: auto; padding: 0 16px; box-sizing: border-box; }
  .card { width: 100%; }
  .layout, .person, .person:has(p:not(.who):not(.credit)) { display: block; width: auto; }
  .movie .person img { margin-bottom: 10px; }
  .person .shot img { margin-bottom: 0; }
  .person .shot { margin-bottom: 12px; }
  .history figure { width: calc(50% - 8px); }
  .history .capbr { display: block; }
}
