@charset "UTF-8";
/* CSS Document */
ul,
li {
  margin: 0;
  padding: 0;
  list-style: none;
}
dl,
dl,
dd {
  margin: 0;
  padding: 0;
}
sub {
  font-size: 1rem;
  vertical-align: baseline !important;
}
sup {
  font-size: 1rem;
}

/* ---------------------------------------------------------
基本設定
--------------------------------------------------------- */
div#contentWrap {
  position: relative;
}
div#PagetitlePane h1,
div#ContentPane h1 {
  background: none !important;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  padding: 0;
  margin: 0;
  line-height: 50%;
}
div.ContentPane {
  width: 1000px;
  margin: 0 auto;
  background-color: #fff;
}
.spView div#PagetitlePane h1,
.spView div#ContentPane h1 {
  line-height: 20px;
}

/* ---------------------------------------------------------
非表示
--------------------------------------------------------- */
.pcView .view-pcNone {
  display: none !important;
}
.spView .view-spNone {
  display: none !important;
}

/* ---------------------------------------------------------
 公開日
--------------------------------------------------------- */
#mainBody p.release {
  font-size: 1.1rem !important;
  display: block !important;
  text-align: right !important;
  color: #666;
  letter-spacing: 0em !important;
  padding: 0 !important;
  margin-bottom: 15px;
  line-height: 1rem;
}
#mainBody p.release::before {
  content: "";
  height: 15px;
  width: 14px;
  display: inline-block;
  background-image: url("/Portals/0/images/webmag/release_icon.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin: 0 6px 2px 0;
}
/* ---------------------------------------------------------
 更新日
--------------------------------------------------------- */
#mainBody p.rewrite {
  font-size: 1.1rem !important;
  display: block !important;
  text-align: right !important;
  color: #666;
  letter-spacing: 0em !important;
  padding: 0 !important;
  line-height: 1rem;
}

#mainBody p.rewrite {
  margin:-10px 0 15px;
}

/* ---------------------------------------------------------
 メインイメージ
--------------------------------------------------------- */
#mainBody div.mainImg {
  position: relative;
  width: 100%;
  margin: 15px auto 37px;
}
#mainBody div.mainImg #coverImg {
  width: 100%;
}
#mainBody div.mainImg.bb p#tag {
position: initial;
}
#mainBody div.mainImg p#tag {
  position: absolute;
  padding: 0;
  margin: 0;
}
#mainBody div.mainImg p#tag img {
  height: 16px;
  width: auto;
  max-height: 16px;
}
#mainBody div.mainImg.bb p#tag img {
  height: auto;
  max-height: initial;
}
#mainBody div.mainImg p#tag img.society {
  height: 17px;
  width: auto;
  max-height: 17px;
}
#mainBody div.mainImg p#tag img.message {
  height: 17px;
  width: auto;
  max-height: 17px;
}
#mainBody div.mainImg p#tag img.future {
  height: 17px;
  width: auto;
  max-height: 17px;
}
#mainBody div.mainImg p#tag img.shadow {
  filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 1));
}

#mainBody div.mainImg dl dt {
  position: absolute;
  color: #fff;
  font-weight: 700;
  line-height: 4.7rem;
  padding: 0;
  margin: 0;
}
#mainBody div.mainImg dl dd {
  position: absolute;
  color: #333;
  font-weight: 700;
  padding: 0;
  margin: 0;
}

#mainBody div.mainImg dl dt {
  font-size: 3.7rem;
}
#mainBody div.mainImg dl dd {
  font-size: 2rem;
}

#mainBody div.mainImg .mainResearcher {
  position: absolute;
  font-size: 1.1rem;
  line-height: 150%;
  padding: 20px 22px;
}
#mainBody div.mainImg .bgwhite {
  background-color: #fff;
}

#mainBody div.mainImg .mainResearcherName {
  font-size: 1.85rem;
  display: block;
  padding: 10px 0;
}
#mainBody div.mainImg .mainResearcherEn {
  font-style: italic;
  display: block;
}

#mainBody div.green dl,
#mainBody div.red dl,
#mainBody div.blue dl,
#mainBody div.turq dl,
#mainBody div.purple dl {
  text-align: justify;
  letter-spacing: 0.21em;
  margin-top: 15px;
}
#mainBody div.green dl dt span {
  background-color: #5b7e1b;
  display: inline-block;
  padding: 3px 10px 0px;
  margin-bottom: 13px;
  line-height: 5rem;
}
#mainBody div.navy .blue dl dt span {
  background-color: #007db8;
  display: inline-block;
  padding: 3px 10px 0px;
  margin-bottom: 13px;
  line-height: 5rem;
}
#mainBody div.red dl dt span {
  background-color: #d83b46;
  display: inline-block;
  padding: 3px 10px 0px;
  margin-bottom: 13px;
  line-height: 5rem;
}
#mainBody div.blue dl dt span {
  background-color: #256cdf;
  display: inline-block;
  padding: 3px 10px 0px;
  margin-bottom: 13px;
  line-height: 5rem;
  /* letter-spacing: 0.1rem; */
}
#mainBody div.turq dl dt span {
  background-color: #1f7f79;
  display: inline-block;
  padding: 3px 10px 0px;
  margin-bottom: 13px;
  font-size: 3.55rem;
  line-height: 5rem;
}
#mainBody div.purple dl dt span {
  background-color: #675cb6;
  display: inline-block;
  padding: 3px 10px 0px;
  margin-bottom: 13px;
  line-height: 5rem;
}

#mainBody div.mainImg dl dd span {
  background-color: #fff;
  display: inline-block;
  padding: 0px 10px;
  margin-bottom: 4px;
  font-size: 2.2rem !important;
  letter-spacing: 0.2ren;
  letter-spacing: 0.06em;
}

#mainBody div.green .mainResearcherName {
  color: #5b7e1b;
  font-weight: 700;
}
#mainBody div.red .mainResearcherName {
  color: #d83b46;
  font-weight: 700;
}
#mainBody div.blue .mainResearcherName {
  color: #007db8;
  font-weight: 700;
}
#mainBody div.turq .mainResearcherName {
  color: #20837d;
  font-weight: 700;
}
#mainBody div.purple .mainResearcherName {
  color: #675cb6;
  font-weight: 700;
}

/* ---------------------------------------------------------
 KeyPoint
--------------------------------------------------------- */
div.pointWrap {
  text-align: justify;
  -webkit-box-sizing: border-box;
  -ms-flexbox: border-box;
  box-sizing: border-box;
}

div.pointWrap {
  line-height: 1.6em;
  margin-bottom: 50px;
  letter-spacing: 0.05em;
}

div.pointWrap div.mainpoint {
  border-left: 8px solid;
  border-right: 8px solid;
  margin: 0 auto;
}
div.pointWrap div.red {
  border-color: #f7d7da;
}
div.pointWrap div.red strong {
  color: #d83b46;
  font-weight: 600;
}

div.pointWrap div.blue {
  border-color: #99d6f3;
}
div.pointWrap div.blue strong {
  color: #007db8;
  font-weight: 600;
}

div.pointWrap div.green {
  border-color: #c5dd98;
}
div.pointWrap div.green strong {
  color: #5b7e1b;
  font-weight: 600;
}

div.pointWrap div.turq {
  border-color: #99dad7;
}
div.pointWrap div.turq strong {
  color: #20837d;
  font-weight: 600;
}

div.pointWrap div.purple {
  border-color: #c4bcf9;
}
div.pointWrap div.purple strong {
  color: #675cb6;
  font-weight: 600;
}

div.pointWrap div.red strong,
div.pointWrap div.blue strong,
div.pointWrap div.green strong,
div.pointWrap div.turq strong,
div.pointWrap div.purple strong {
  font-size: 1.8rem;
  font-weight: bold;
}
.spView div.pointWrap div.red strong,
.spView div.pointWrap div.blue strong,
.spView div.pointWrap div.green strong,
.spView div.pointWrap div.turq strong,
.spView div.pointWrap div.purple strong {
  font-size: 1.24rem;
}

div.pointWrap div.mainpoint {
  padding: 0 40px;
  margin: 0 auto;
}
.spView div.pointWrap div.mainpoint {
  padding: 0 20px;
  margin-top: 40px;
}

div.pointWrap div.keypoint {
  border: 1px solid;
  position: relative;
}
div.pointWrap div.keypoint.green {
  border-color: #5b7e1b;
}
div.pointWrap div.keypoint.red {
  border-color: #d83b46;
}
div.pointWrap div.keypoint.blue {
  border-color: #007db8;
}
div.pointWrap div.keypoint.turq {
  border-color: #20837d;
}
div.pointWrap div.keypoint.purple {
  border-color: #675cb6;
}
div.pointWrap div.keypoint {
  font-size: 1.5rem;
  padding: 25px;
  margin: 0 auto;
  line-height: 2.7rem;
}
.spView div.pointWrap div.keypoint {
  padding: 20px;
  margin-top: 40px;
}

div.pointWrap div.red img,
div.pointWrap div.green img,
div.pointWrap div.blue img,
div.pointWrap div.turq img,
div.pointWrap div.greepurplen img {
  position: absolute;
  top: -18px;
  left: 21px;
}
div.keypoint.blue strong {
  font-weight: bold;
}

/* ---------------------------------------------------------
 目次
--------------------------------------------------------- */
div.indexWrap {
  -webkit-box-sizing: border-box;
  -ms-flexbox: border-box;
  box-sizing: border-box;
}
div.indexWrap {
  border: 1px solid #ddd;
}
div.indexWrap div {
  font-size: 1.47rem;
  text-align: center;
  font-weight: 400;
  margin-bottom: 15px;
}

div.indexWrap ul {
  margin: 0 !important;
  text-align: justify;
  letter-spacing: 0.1em;
}
div.indexWrap ul li a {
  font-size: 1.6rem;
  color: #444 !important;
  text-decoration: underline !important;
}
div.indexWrap ul.green li {
  padding: 0.2em 0 0 3px;
  list-style-image: linear-gradient(#5b7e1b, #5b7e1b);
  text-align: left;
}
div.indexWrap ul.red li {
  padding: 0.2em 0 0 3px;
  list-style-image: linear-gradient(#dd565f, #dd565f);
  text-align: left;
}
div.indexWrap ul.blue li {
  padding: 0.2em 0 0 3px;
  list-style-image: linear-gradient(#007db8, #007db8);
  text-align: left;
}
div.indexWrap ul.pink li {
  padding: 0.2em 0 0 3px;
  list-style-image: linear-gradient(#e546a1, #e546a1);
  text-align: left;
}
div.indexWrap ul.turq li {
  padding: 0.2em 0 0 3px;
  list-style-image: linear-gradient(#20837d, #20837d);
  text-align: left;
}
div.indexWrap ul.purple li {
  padding: 0.2em 0 0 3px;
  list-style-image: linear-gradient(#675cb6, #675cb6);
  text-align: left;
}

div.indexWrap {
  width: 680px;
  border: 1px solid #ddd;
  padding: 15px 30px 25px 40px;
  margin: 0 auto 80px;
}
.spView div.indexWrap {
  display: none;
}

/* ---------------------------------------------------------
 動画（iframe）
--------------------------------------------------------- */
.movieWrap {
  text-align: center;
}
.movieWrap.top_movie {
  margin: -40px auto 80px;
}
.movieWrap {
  margin: 60px auto 55px;
}
.spView div.movieWrap {
  margin: 20px 0;
}
.spView .movieWrap iframe.animate {
  width: 100%;
}
.movieWrap p {
  text-align: center !important;
  margin: 0 auto;
  padding-top: 12px;
}
.movieWrap p {
  max-width: 580px;
  font-size: 1rem;
  display: contents;
}
.spView .movieWrap p {
  font-size: 0.9rem;
}
.spView .movieWrap iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

/* ---------------------------------------------------------
 コンテンツ
--------------------------------------------------------- */
.contents h2 {
  color: #1b54b1;
  font-weight: 700;
  background: none;
  line-height: 1.3em;
  padding: 0;
  margin: 35px 0 30px;
}
.green h2 {
  color: #5b7e1b;
}
.red h2 {
  color: #da343f;
}
.navy h2 {
  color: #007db8 !important;
}
.pink h2 {
  color: #e546a1;
}
.turq h2 {
  color: #20837d;
}
.purple h2 {
  color: #675cb6;
}

#mainBody p.red {
  color: #d83b46;
  font-weight: bold;
}
#mainBody p.green {
  color: #5b7e1b;
  font-weight: bold;
}
#mainBody p.blue {
  color: #007db8;
  font-weight: bold;
}
#mainBody p.turq {
  color: #20837d;
  font-weight: bold;
}
#mainBody p.purple {
  color: #675cb6;
  font-weight: bold;
}

#mainBody p span.speaker {
  margin-right: 1em;
}
#mainBody p span.red {
  color: #d83b46;
  font-weight: bold;
}
#mainBody p span.green {
  color: #5b7e1b;
  font-weight: bold;
}
#mainBody p span.blue {
  color: #007db8;
  font-weight: bold;
}
#mainBody p span.turq {
  color: #20837d;
  font-weight: bold;
}
#mainBody p span.purple {
  color: #675cb6;
  font-weight: bold;
}

#mainBody hr {
  border: 1px inset;
}
#mainBody p.annotation {
  font-size: 0.62rem;
}
.orange #mainBody p.annotation {
  font-size: 1.3rem;
  line-height: 2.3rem;
}

/* ---------------------------------------------------------
 改行指定
--------------------------------------------------------- */
span.pc-br::after {
  content: "\A";
  white-space: pre;
}

/* ---------------------------------------------------------
 本文中のイメージ、キャプション
--------------------------------------------------------- */
div.contentsCenter {
  text-align: center;
}
div.contentsCenterp span {
  padding-right: 0.3rem;
}
div.contentsCenter p span.red {
  color: #d83b46;
}
div.contentsCenter p span.green {
  color: #5b7e1b;
}
div.contentsCenter p span.blue {
  color: #007db8;
}
div.contentsCenter p span.turq {
  color: #20837d;
}
div.contentsCenter p span.purple {
  color: #675cb6;
}
#mainBodyImg p {
  padding-top: 12px;
  text-align: left;
}
#mainBodyImg {
  margin: 60px 0;
}
#mainBodyImg img {
  max-width: 580px;
  height: auto;
}
#mainBodyImg.w400 img {
  max-width: 400px;
  height: auto;
}
#mainBodyImg.w700 img {
  max-width: 700px;
  height: auto;
}
#mainBodyImg.w900 img {
  max-width: 900px;
  height: auto;
}
#mainBodyImg p {
  font-size: 1rem;
  max-width: 580px;
  margin: 0 auto;
}
#mainBodyImg.w400 p {
  max-width: 400px;
}
#mainBodyImg.w700 p {
  max-width: 700px;
}
#mainBodyImg.w900 p {
  max-width: 890px;
}

.spView #mainBodyImg {
  margin: 20px 0;
}
.spView #mainBodyImg img {
  width: 92vw;
  height: auto;
}
.spView #mainBodyImg p {
  font-size: 0.9rem;
}
#mainBodyImg p.text_center {
  text-align: center;
}

/* ---------------------------------------------------------
 研究者プロフィール
--------------------------------------------------------- */
.profWarp .researcherWarp {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.profWarp .researcher {
  font-size: 1.2rem;
  margin-right: 10px;
}

.profWarp .researcherPhoto {
  text-align: right;
}
.profWarp .researcherName {
  font-size: 2rem;
  display: block;
}
.profWarp.red .researcherName {
  color: #d83b46;
}
.profWarp.green .researcherName {
  color: #5b7e1b;
}
.profWarp.blue .researcherName {
  color: #007db8;
}
.profWarp.turq .researcherName {
  color: #20837d;
}
.profWarp.purple .researcherName {
  color: #675cb6;
}
.profWarp .researcherEn {
  font-size: 1rem;
  font-style: italic;
  display: block;
}
.profWarp {
  width: 720px;
  margin: 70px auto 0;
}
.profWarp .researcher {
  width: 50%;
}
.profWarp .researcherPhoto {
  width: 50%;
}
.researcherInner {
  width: 48%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  -webkit-box-sizing: border-box;
  -ms-flexbox: border-box;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.profWarp .researcherPhoto img {
  max-width: 100%;
  height: auto;
}
.researcherWarp .researcherInner:nth-of-type(even) {
  margin-left: 4%;
}
.spView .researcherWarp .researcherInner:nth-of-type(even) {
  margin-left: 0;
}

.spView .profWarp {
  width: 100%;
  margin: 30px auto 30px;
}
.spView .profWarp .researcher {
  width: 50%;
}
.spView .profWarp .researcherPhoto {
  width: 50%;
}
.spView .researcherInner {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 10px;
}
.spView .profWarp .researcherPhoto img {
  max-width: 100%;
  height: auto;
}

/* ---------------------------------------------------------
 研究者プロフィール 縦向きの場合のスタイル
--------------------------------------------------------- */
@media screen and (orientation: landscape) {
  .spView .researcherInner {
    width: 48% !important;
  }
  .spView .researcherWarp .researcherInner:nth-of-type(even) {
    margin-left: 4%;
  }
}

/* ---------------------------------------------------------
 お問い合わせ先
--------------------------------------------------------- */
.infofWarp {
  margin: 70px auto;
  padding: 25px 25px 5px;
}
.spView .infofWarp {
  margin: 20px auto;
  padding: 20px 15px 0;
}

.infofWarp h3 {
  width: 95%;
  background: none;
  background-color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
  margin: 0 auto 5px;
  border-radius: 10px;
  padding: 5px 10px;
}

.spView .infofWarp h3 {
  width: 100%;
  border-radius: 5px;
  padding: 10px;
  margin: 0 auto;
  text-align: left;
  letter-spacing: 0em;
  line-height: 1.3em;
}

.infofWarp.green {
  background-color: #5b7e1b;
}
.infofWarp.red {
  background-color: #d83b46;
}
.infofWarp.blue {
  background-color: #007db8;
}
.infofWarp.turq {
  background-color: #1f7f79;
}
.infofWarp.purple {
  background-color: #675cb6;
}

.navy .infofWarp.blue .department,
.infofWarp.green .department,
.infofWarp.turq .department {
  font-size: 2rem;
  width: 50%;
  margin: 20px 0;
  line-height: 2.5rem;
}


.infoContents {
  justify-content: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.infoContents {
  flex-direction: row;
}
.spView .infoContents {
  flex-direction: column;
}

.infoContents .department {
  color: #fff;
  line-height: 1.7em;
  -webkit-box-sizing: border-box;
  -ms-flexbox: border-box;
  box-sizing: border-box;
}
.infoContents .department {
  font-size: 1.39rem;
  width: 50%;
  margin: 20px 0;
}

.spView .infoContents .department {
  font-size: 1.2rem;
  width: 100%;
}

.infoContents div.department:nth-of-type(odd) {
  padding: 0 30px 0 20px;
}
.infoContents div.department:nth-of-type(even) {
  border-left: solid 1px #fff;
  padding: 0 20px 0 30px;
}

/* 3カラム用 */
.infoContents.column_3 .department {
  width: 33% !important;
}
.infoContents.column_3 .department:last-child {
  border-left: solid 1px #fff;
  padding: 0 20px 0 30px;
}

.spView .infoContents div.department {
  border-top: solid 1px #fff;
}
.spView .infoContents div.department:first-child {
  border: none;
}
.spView .infoContents div.department:nth-of-type(odd) {
  padding: 20px 5px 0;
}
.spView .infoContents div.department:nth-of-type(even) {
  border-left: none;
  padding: 20px 5px 0;
}

.infoContents .column {
  font-size: 1.7rem;
  line-height: 2.5rem;
  display: block;
  margin-bottom: 5px;
}

.infoContents ul.ex {
  color: #fff;
}
.infoContents ul.ex {
  line-height: 1.4em;
}
.spView .infoContents ul.ex {
  line-height: 1.25em;
  padding-bottom: 0;
	margin: 0;
}
.infoContents ul.ex li {
  text-indent: -26px;
  padding-left: 26px;
}

/* 住所 */
.infoContents ul.ex .address {
  font-size: 1.35rem;
  padding-bottom: 0;
}
.infoContents ul.ex .address::before {
  content: "";
  height: 18px;
  width: 16px;
  display: inline-block;
  background-image: url("/digbook/web/aist-link/img/address_icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin-right: 10px;
}

/* メールアドレス */
.infoContents ul.ex .mail {
  font-size: 1.2rem;
  padding-bottom: 0;
}
.infoContents ul.ex .mail::before {
  content: "";
  height: 16px;
  width: 16px;
  display: inline-block;
  background-image: url("/digbook/web/aist-link/img/mail_icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin-right: 10px;
}

/* 電話番号 */
.infoContents ul.ex .tel {
  font-size: 1.2rem;
}
.infoContents ul.ex .tel::before {
  content: "";
  height: 16px;
  width: 16px;
  display: inline-block;
  background-image: url("/digbook/web/aist-link/img/tel_icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin-right: 10px;
}

/* URL */
.infoContents ul.ex .web {
  padding-bottom: 0;
  font-size: 1.2rem;
}
.infoContents ul.ex .web::before {
  content: "";
  height: 18px;
  width: 16px;
  display: inline-block;
  background-image: url("/digbook/web/aist-link/img/web_icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin-right: 10px;
}
.infoContents ul.ex .web a {
  color: #fff !important;
  padding: 0;
  width: calc(100% - 26px);
}

/* ---------------------------------------------------------
 記事リンク
--------------------------------------------------------- */
.PrevNext {
  width: 100%;
  margin: 50px auto 0;
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-end;
}
.PrevNext a {
  border-bottom: 1px #ddd solid;
  display: block;
  text-decoration: none;
  padding: 14px 40px;
  color: #333;
}
.PrevNext a:hover {
  background-color: #f6f6f6;
}
.articleLabel {
  font-size: 0.825rem;
  color: #000;
  margin-bottom: 10px;
}
.prevLink {
  background: url("/digbook/web/aist-link/img/arrow-prev.svg") no-repeat 10px
    center;
}
.nextLink {
  background: url("/digbook/web/aist-link/img/arrow-next.svg") no-repeat right
    10px center;
}
.prevLink,
.nextLink {
  background-size: 16px 28px;
}
.articleBox {
  align-self: flex-end;
  text-align: justify;
  -webkit-box-sizing: border-box;
  -ms-flexbox: border-box;
  box-sizing: border-box;
}
.articleBox {
  width: 50%;
}
.spView .articleBox {
  width: 100%;
}

.PrevNext a {
  font-size: 1rem;
}
.spView .PrevNext a {
  font-size: 0.825rem;
  letter-spacing: 0em;
  text-align: left;
}
.articleBox:nth-child(1) {
  border-top: none;
}
.spView .articleBox:nth-child(1) {
  border-top: 1px #ddd solid;
}

.thumbWrap {
  display: flex;
  height: 80px;
}
.thumbWrap img {
  width: 80px;
  height: 100%;
  margin: 0 16px 0 0;
}

@media (min-width: 415px) {
  .PrevNext {
    display: flex;
  }
  .PrevNext a {
    flex: 1;
  }
  .PrevNext a,
  .PrevNext a:first-child {
    border: none;
  }
  .nextLink {
    text-align: right;
  }
}

/* 改行、空欄の指定*/
.spView .PrevNext a br {
  display: none;
}

/* ---------------------------------------------------------
 改行ポイント（PDF、印刷用）
--------------------------------------------------------- */
p.printBreak {
  padding: 0;
  margin: 0;
  display: none;
}
p.print-red,
p.print-blue,
p.print-green,
p.print-turq,
p.print-purple {
  display: none;
}

figure {
	display: table;
	margin: 0 auto 40px;
	text-align: center;
}

figure img,
figure iframe,
figure video {
	margin-bottom: 10px;
}

figcaption {
	display: table-caption;
	caption-side: bottom; 
	width: fit-content;
	margin: 10px auto 0;
	font-size: 1.2rem;
	text-align: left;
}

figcaption.top {
	caption-side: top;
	margin-bottom: 10px;
}

.spView figure {
	margin: 0 auto 30px;
	width: 100%;
	height: auto;
}

.spView iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

.spView figcaption {
	margin: 10px auto 5px;
}