@charset "UTF-8";
/*****************************************************
  Clears
*****************************************************/
/* ================================================
■BP標準CSSサンプルコード
================================================  */
/* リード */
.articleBody {
  color: #242424;
  font-size: 17px;
  line-height: 1.8;
}

/* リンク */
.articleBody a {
  color: #1554a4;
  text-decoration: underline;
}

.articleBody a:hover {
  color: #0099cc;
}

.articleBody a:visited {
  color: #666666;
}

.articleBody .bplead {
  margin-bottom: 30px;
  font-weight: bold;
}

/* 関連記事 */
.articleBody .bpbox5 {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
  padding: 10px 18px;
  background: #f3f8ff;
  font-size: 12px;
}

.articleBody .bpbox5 b {
  display: block;
  width: 90px;
}

.articleBody .bpbox5 .related {
  display: block;
  width: calc(100% - 90px);
  color: #1554a4;
  font-size: 14px;
  font-weight: bold;
  text-align: left;
  text-decoration: none;
}

.articleBody .bpbox5 .related:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .articleBody .bpbox5 {
    flex-wrap: wrap;
  }
  .articleBody .bpbox5 b {
    width: 100%;
  }
  .articleBody .bpbox5 .related {
    width: 100%;
  }
}

/* タイトル */
.articleBody h3 {
  margin: 50px 0 30px;
  padding: 6px 18px 7px;
  clear: both;
  background: #1554a4;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
}

/* 中見出し */
.articleBody h3.levelThree {
  margin: 50px 0 30px;
  padding: 8px 16px;
  clear: both;
  border-left: 2px solid #1554a4;
  background: #f3f8ff;
  color: #1554a4;
  font-size: 20px;
  font-weight: bold;
}

/* 小見出し */
.articleBody h4 {
  margin: 20px 0;
  clear: both;
  color: #000000;
  font-size: 18px;
  line-height: 2;
}

/* 地の文 */
.articleBody p {
  margin: 0 0 20px;
  color: #242424;
  font-size: 17px;
  line-height: 1.8;
}

/* フォントのサイズ変更 */
.articleBody .fontSizeXXL {
  font-size: 1.9em;
}

.articleBody .fontSizeXL {
  font-size: 1.4em;
}

.articleBody .fontSizeL {
  font-size: 1.18em;
}

.articleBody .fontSizeS {
  font-size: 0.95em;
}

.articleBody .fontSizeXS {
  font-size: 0.71em;
}

/* 文字色と背景色 */
.articleBody .textCol {
  color: #003366;
}

.articleBody .textColTintA {
  color: #1a5099;
}

.articleBody .textColTintB {
  color: #0066cc;
}

.articleBody .textColShade {
  color: #0099cc;
}

.articleBody .textColShadeA {
  color: #33ccff;
}

.articleBody .textColShadeB {
  color: #99ccff;
}

.articleBody .bgCol {
  background-color: #003366;
}

.articleBody .bgColTintA {
  background-color: #1a5099;
}

.articleBody .bgColTintB {
  background-color: #0066cc;
}

.articleBody .bgColShade {
  background-color: #0099cc;
}

.articleBody .bgColShadeA {
  background-color: #33ccff;
}

.articleBody .bgColShadeB {
  background-color: #99ccff;
}

.articleBody .textColBlackTintA {
  color: #242424;
}

.articleBody .textColBlackTintB {
  color: #666666;
}

.articleBody .textColBlackShade {
  color: #999999;
}

.articleBody .textColBlackShadeA {
  color: #b7b7b7;
}

.articleBody .textColBlackShadeB {
  color: #cccccc;
}

.articleBody .bgColBlack {
  background-color: #000000;
}

.articleBody .bgColBlackTintA {
  background-color: #242424;
}

.articleBody .bgColBlackTintB {
  background-color: #666666;
}

.articleBody .bgColBlackShade {
  background-color: #999999;
}

.articleBody .bgColBlackShadeA {
  background-color: #b7b7b7;
}

.articleBody .bgColBlackShadeB {
  background-color: #cccccc;
}

.articleBody .textColBlack {
  color: black;
}

.articleBody .textColGray {
  color: gray;
}

.articleBody .textColSilver {
  color: silver;
}

.articleBody .textColWhite {
  color: white;
}

.articleBody .textColRed {
  color: red;
}

.articleBody .textColYellow {
  color: yellow;
}

.articleBody .textColLime {
  color: lime;
}

.articleBody .textColAqua {
  color: aqua;
}

.articleBody .textColBlue {
  color: blue;
}

.articleBody .textColFuchsia {
  color: fuchsia;
}

.articleBody .textColMaroon {
  color: maroon;
}

.articleBody .textColOlive {
  color: olive;
}

.articleBody .textColGreen {
  color: green;
}

.articleBody .textColTeal {
  color: teal;
}

.articleBody .textColNavy {
  color: navy;
}

.articleBody .textColPurple {
  color: purple;
}

.articleBody .bgColBlack {
  background-color: black;
}

.articleBody .bgColGray {
  background-color: gray;
}

.articleBody .bgColSilver {
  background-color: silver;
}

.articleBody .bgColWhite {
  background-color: white;
}

.articleBody .bgColRed {
  background-color: red;
}

.articleBody .bgColYellow {
  background-color: yellow;
}

.articleBody .bgColLime {
  background-color: lime;
}

.articleBody .bgColAqua {
  background-color: aqua;
}

.articleBody .bgColBlue {
  background-color: blue;
}

.articleBody .bgColFuchsia {
  background-color: fuchsia;
}

.articleBody .bgColMaroon {
  background-color: maroon;
}

.articleBody .bgColOlive {
  background-color: olive;
}

.articleBody .bgColGreen {
  background-color: green;
}

.articleBody .bgColTeal {
  background-color: teal;
}

.articleBody .bgColNavy {
  background-color: navy;
}

.articleBody .bgColPurple {
  background-color: purple;
}

/* テキストの強調 */
.articleBody b, .articleBody .fontBold {
  font-weight: bold;
}

.articleBody .fontNormal {
  font-weight: normal;
}

.articleBody i, .articleBody .fontItalic {
  font-style: italic;
}

.articleBody em, .articleBody strong {
  font-style: normal;
  font-weight: normal;
}

/* テキストの上付き、下付き */
.articleBody sup {
  vertical-align: super;
}

.articleBody sub {
  vertical-align: sub;
}

/* 下線と取り消し線 */
.articleBody u, .articleBody .textSolidUndrLine {
  padding-bottom: 0.15em;
  border-bottom: solid 0.1em gray;
  text-decoration: none;
}

.articleBody .textUnsolidUndrLine {
  padding-bottom: 0.15em;
  border-bottom: dashed 0.1em gray;
}

.articleBody s, .articleBody del, .articleBody .textLineThrough {
  text-decoration: line-through;
}

/* マーカー（Highlight） */
.articleBody .textHighlight {
  padding: 0.15em;
  background: #ff88cb;
}

.articleBody .textHighlightTintA {
  padding: 0.15em;
  background: #ffff15;
}

.articleBody .textHighlightTintB {
  padding: 0.15em;
  background: #35e5ff;
}

.articleBody .textHighlightShade {
  padding: 0.15em;
  background: #ffdbef;
}

.articleBody .textHighlightShadeA {
  padding: 0.15em;
  background: #ffffb8;
}

.articleBody .textHighlightShadeB {
  padding: 0.15em;
  background: #c2f7ff;
}

/* 左寄せ、左右中央、右寄せ */
.articleBody .textAlignLeft {
  text-align: left;
}

.articleBody .textAlignCenter {
  text-align: center;
}

.articleBody .textAlignRight {
  text-align: right;
}

/* 区切り要素 */
.articleBody hr {
  height: auto;
  overflow-x: hidden;
}

.articleBody hr.line {
  margin: 20px 0;
  border: none;
  border-top: 1px solid #eee;
}

.articleBody hr.asterisk,
.articleBody hr.diamond {
  margin: 10px 0;
  border: none;
}

.articleBody hr.asterisk:after,
.articleBody hr.diamond:after {
  display: block;
  margin-right: -4em;
  color: #666;
  font-size: 17px;
  letter-spacing: 4em;
  text-align: center;
}

.articleBody hr.asterisk:after {
  content: "＊＊＊";
}

.articleBody hr.diamond:after {
  content: "◇◇◇";
}

/* 回り込み解除 */
.articleBody .clearLeft {
  clear: left;
}

.articleBody .clearRight {
  clear: right;
}

.articleBody .clearBoth {
  clear: both;
}

.articleBody .clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/* 図（画像） */
.articleBody .bpimage_image {
  position: relative;
  margin-bottom: 0px;
}

.articleBody .bpimage_image + .bpimage_title,
.articleBody .bpimage_image + .bpimage_caption {
  margin-top: 10px;
}

.articleBody .bpimage_title + .bpimage_image,
.articleBody .bpimage_caption + .bpimage_image {
  margin-top: 10px;
}

@media (max-width: 768px) {
  .articleBody .bpimage_center {
    width: 100% !important;
  }
  .articleBody .bpimage_image img {
    width: 100% !important;
    height: auto;
  }
}

/* 画像のタイトル */
.articleBody .bpimage_title {
  font-size: 0.75em;
  font-weight: bold;
  line-height: 1.5em;
}

/* 画像のキャプション */
.articleBody .bpimage_caption {
  color: #666;
  font-size: 0.75em;
  line-height: 1.5em;
}

/* 拡大表示案内 */
.articleBody .bpimage_click {
  color: #1554a4;
  font-size: 0.75em;
  line-height: 1.5em;
}

.articleBody .bpimage_title,
.articleBody .bpimage_caption,
.articleBody .bpimage_click {
  clear: both;
}

/* 図（回り込み：左）右配置 */
.articleBody .bpimage_right {
  margin: 10px 0 30px 40px;
  float: right;
  clear: right;
}

@media (max-width: 768px) {
  .articleBody .bpimage_right {
    width: 140px !important;
    margin: 5px 0 15px 20px;
  }
}

/* 図（回り込み：右）左配置 */
.articleBody .bpimage_left {
  margin: 10px 30px 30px 0;
  float: left;
  clear: left;
}

@media (max-width: 768px) {
  .articleBody .bpimage_left {
    width: 140px !important;
    margin: 5px 15px 15px 0;
  }
}

/* 図（スタンダード）中央配置 */
.articleBody .bpimage_center {
  width: 500px;
  margin: 10px auto 30px;
}

/* 図（二つ並び） */
.articleBody .bpimage_double {
  width: 500px;
  margin: 10px auto 30px;
  overflow: hidden;
}

.articleBody .bpimage_double .bpimage_left {
  margin: 0;
}

.articleBody .bpimage_double .bpimage_right {
  margin: 0;
}

.articleBody .bpimage_double .bpimage_right + .bpimage_title,
.articleBody .bpimage_double .bpimage_right + .bpimage_caption,
.articleBody .bpimage_triple .bpimage_right + .bpimage_title,
.articleBody .bpimage_triple .bpimage_right + .bpimage_caption {
  padding-top: 10px;
}

@media screen and (min-width: 1024px) and (max-width: 1140px) {
  .articleBody .bpimage_double {
    width: 560px !important;
  }
  .articleBody .bpimage_double .bpimage_left {
    width: 260px !important;
  }
  .articleBody .bpimage_double .bpimage_right {
    width: 260px !important;
  }
}

@media (max-width: 768px) {
  .articleBody .bpimage_double {
    width: 100% !important;
  }
  .articleBody .bpimage_double .bpimage_left {
    width: 100% !important;
    margin: 0 0 20px;
    float: none;
  }
  .articleBody .bpimage_double .bpimage_right {
    width: 100% !important;
    float: none;
  }
}

/* 図（三つ並び） */
.articleBody .bpimage_triple {
  width: 500px;
  margin: 10px auto 30px;
  overflow: hidden;
}

.articleBody .bpimage_triple .bpimage_wrap {
  margin: 0;
  float: left;
  overflow: hidden;
}

.articleBody .bpimage_triple .bpimage_left {
  margin: 0;
}

.articleBody .bpimage_triple .bpimage_center {
  margin: 0;
  float: right;
}

.articleBody .bpimage_triple .bpimage_right {
  margin: 0;
}

@media screen and (min-width: 1024px) and (max-width: 1140px) {
  .articleBody .bpimage_triple {
    width: 560px !important;
  }
  .articleBody .bpimage_triple .bpimage_wrap {
    width: 360px !important;
  }
  .articleBody .bpimage_triple .bpimage_left {
    width: 160px !important;
  }
  .articleBody .bpimage_triple .bpimage_center {
    width: 160px !important;
  }
  .articleBody .bpimage_triple .bpimage_right {
    width: 160px !important;
  }
}

@media (max-width: 768px) {
  .articleBody .bpimage_triple {
    width: 100% !important;
  }
  .articleBody .bpimage_triple .bpimage_wrap {
    width: 100% !important;
    margin: 0 0 20px;
  }
  .articleBody .bpimage_triple .bpimage_wrap .bpimage_left {
    width: 100% !important;
    margin: 0 0 20px;
  }
  .articleBody .bpimage_triple .bpimage_right {
    width: 100% !important;
  }
}

/* 図（縦積み）*/
.articleBody .bpbox_left {
  margin: 10px 40px 30px 0;
  float: left;
}

.articleBody .bpbox_right {
  margin: 10px 0 30px 40px;
  float: right;
}

.articleBody .bpimage_set {
  margin: 0 0 20px 0;
}

@media (max-width: 768px) {
  .articleBody .bpbox_left {
    width: 100% !important;
    margin: 0;
  }
  .articleBody .bpbox_right {
    width: 100% !important;
    margin: 0;
  }
}

/* 図（エトキ右配置） */
.articleBody .bpimage_caption_right {
  margin: 0 auto 30px;
  overflow: hidden;
}

.articleBody .bpimage_caption_right .bpimage_left {
  margin-bottom: 0;
}

.articleBody .bpimage_caption_right .bpimage_title {
  margin: 10px 0 0;
  clear: none;
}

.articleBody .bpimage_caption_right .bpimage_caption,
.articleBody .bpimage_caption_right .bpimage_click {
  clear: none;
}

@media (max-width: 768px) {
  .articleBody .bpimage_caption_right {
    width: 100% !important;
  }
}

/* テーブル基本 */
.articleBody .bptable {
  width: 100% !important;
  margin: 10px 0 30px;
  table-layout: fixed;
}

.articleBody .bptable table {
  width: 100% !important;
  border-collapse: collapse;
}

.articleBody .bptable th, .articleBody .bptable td {
  padding: 12px 10px;
  border: 1px solid #d6d6d6;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3em;
  text-align: left;
  word-break: break-all;
}

.articleBody .bptable th {
  background: #f3f8ff;
}

.articleBody .bptable th:first-child,
.articleBody .bptable td:first-child {
  background: #f6f6f6;
}

.articleBody .bptable_title {
  font-size: 0.82em;
  font-weight: bold;
  line-height: 1.5em;
}

.articleBody .bptable_caption {
  font-size: 0.82em;
  line-height: 1.5em;
}

.articleBody .bptable th,
.articleBody .bptable_title + table,
.articleBody .bptable_caption + table {
  margin-top: 10px;
}

.articleBody caption.bptable_caption {
  padding-bottom: 10px;
}

/* テーブル（イ）表左寄せ */
.articleBody .bptable_left {
  margin: 0 30px 10px 0;
  float: left;
  clear: both;
}

/* テーブル（ウ）表右寄せ */
.articleBody .bptable_right {
  margin: 0 0 10px 30px;
  float: right;
  clear: both;
}

/* テーブル（エ）表中央 */
.articleBody .bptable_center {
  clear: both;
}

@media (max-width: 768px) {
  .articleBody .bptable {
    margin: 10px 0 30px;
    overflow-x: auto;
  }
  .articleBody .bptable table {
    width: auto !important;
    border-collapse: collapse;
  }
  .articleBody .bptable th, .articleBody .bptable td {
    padding: 12px 10px;
    border: 1px solid #eee;
    font-size: 12px;
    line-height: 1.33;
    white-space: nowrap;
  }
  .articleBody .bptable th {
    background: #f6f6f6;
  }
  .articleBody .bptable th[scope="col"] {
    background: #f6f7fc;
  }
  .articleBody .bptable th:first-child,
  .articleBody .bptable td:first-child {
    width: auto;
  }
  .articleBody .nowrap {
    white-space: nowrap;
  }
  .articleBody .bptable_title {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: bold;
  }
  .articleBody .bptable_caption {
    color: #666666;
    font-size: 12px;
  }
  .articleBody caption.bptable_caption {
    margin-bottom: 10px;
  }
  .articleBody .bptable_title + table {
    margin-top: 20px;
  }
  .articleBody .bptable_caption + table {
    margin-top: 20px;
  }
}

/* プロフィール */
.articleBody .bpprofile,
.articleBody .bpprofile_photo {
  width: 100%;
  margin: 30px 0;
  padding: 20px;
  overflow: hidden;
  border: 1px solid #eeeeee;
}

.articleBody .bpprofile_position {
  display: block;
  margin: 0 0 20px;
  color: #666666;
  font-size: 14px;
}

.articleBody .bpprofile_name {
  margin: 0;
  font-size: 24px;
  font-weight: bold;
}

.articleBody .bpprofile_text {
  overflow: hidden;
  line-height: 1.8;
}

.articleBody .bpprofile .column_txt {
  margin-top: 25px;
  padding-top: 25px;
  clear: both;
  border-top: 1px solid #eeeeee;
}

/* プロフィール（顔写真付） */
.articleBody .bpprofile_photo .bpprofile_text img {
  margin: 0 30px 30px 0;
  padding: 0;
  float: left;
}

.articleBody .bpprofile_photo .column_txt {
  margin-top: 25px;
  padding-top: 25px;
  clear: both;
  border-top: 1px solid #eeeeee;
}

@media (max-width: 768px) {
  .articleBody .bpprofile {
    padding: 15px;
  }
  .articleBody .bpprofile .bpprofile_name {
    font-size: 18px;
  }
  .articleBody .bpprofile .bpprofile_position {
    margin-bottom: 15px;
    font-size: 13px;
  }
  .articleBody .bpprofile .bpprofile_text {
    font-size: 15px;
  }
  .articleBody .bpprofile .column_txt {
    margin-top: 10px;
    padding-top: 10px;
  }
  .articleBody .bpprofile_photo {
    padding: 15px;
  }
  .articleBody .bpprofile_photo .bpprofile_name {
    font-size: 18px;
  }
  .articleBody .bpprofile_photo .bpprofile_position {
    margin-bottom: 15px;
    font-size: 13px;
  }
  .articleBody .bpprofile_photo .bpprofile_text {
    font-size: 15px;
  }
  .articleBody .bpprofile_photo .bpprofile_text img {
    margin: 0 10px 10px 0;
  }
  .articleBody .bpprofile_photo .column_txt {
    margin-top: 10px;
    padding-top: 10px;
  }
}

/* インタビュープロフィール用 */
.articleBody .bpinterview {
  width: 100%;
  margin: 30px 0;
  padding: 20px;
  overflow: hidden;
  border: 1px solid #eeeeee;
}

.articleBody .bpinterview_profile {
  margin: 0 0 15px;
}

.articleBody .bpinterview_position {
  display: block;
  margin: 0 0 20px;
  color: #666666;
  font-size: 14px;
}

.articleBody .bpinterview_name {
  margin: 0;
  font-size: 24px;
  font-weight: bold;
}

.articleBody .bpinterview_text {
  overflow: hidden;
  line-height: 1.8;
}

.articleBody .bpinterview_text .column_txt {
  margin-top: 25px;
  padding-top: 25px;
  clear: both;
  border-top: 1px solid #eeeeee;
}

@media (max-width: 768px) {
  .articleBody .bpinterview {
    padding: 15px;
  }
  .articleBody .bpinterview .bpinterview_name {
    font-size: 18px;
  }
  .articleBody .bpinterview .bpinterview_position {
    margin-bottom: 15px;
    font-size: 13px;
  }
  .articleBody .bpinterview .bpinterview_text {
    font-size: 15px;
  }
  .articleBody .bpinterview .column_txt {
    margin-top: 10px;
    padding-top: 10px;
  }
}

/* リスト */
.articleBody ul.square, .articleBody ul.disc,
.articleBody ul.circle, .articleBody ol.decimal,
.articleBody ol.circledDecimal, .articleBody ol.upperAlpha,
.articleBody ol.lowerAlpha, .articleBody ol.upperRoman,
.articleBody ol.lowerRoman {
  margin-top: 20px;
  padding-left: 22px;
}

.articleBody ul.square > li {
  position: relative;
  margin-bottom: 5px;
}

.articleBody ul.square > li::before {
  display: block;
  position: absolute;
  top: 12x;
  left: -12px;
  width: 6px;
  height: 6px;
  background-color: #1554a4;
  content: '';
}

.articleBody ul.disc > li {
  position: relative;
}

.articleBody ul.disc > li::before {
  display: block;
  position: absolute;
  top: 12px;
  left: -12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #1554a4;
  content: '';
}

.articleBody ul.circle > li {
  position: relative;
}

.articleBody ul.circle > li::before {
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 12px;
  left: -12px;
  width: 6px;
  height: 6px;
  border: 1px solid #1554a4;
  border-radius: 50%;
  content: '';
}

.articleBody ol.decimal {
  counter-reset: number 0;
}

.articleBody ol.decimal > li {
  position: relative;
}

.articleBody ol.decimal > li::before {
  position: absolute;
  top: .3em;
  left: -16px;
  color: #00629d;
  font-size: 0.82353em;
  font-weight: bold;
  content: counter(number) ".";
  counter-increment: number 1;
}

.articleBody ol.circledDecimal {
  counter-reset: number 0;
}

.articleBody ol.circledDecimal > li {
  position: relative;
  margin: 0 0 5px;
}

.articleBody ol.circledDecimal > li::before {
  box-sizing: border-box;
  position: absolute;
  top: .8em;
  left: -16px;
  width: 14px;
  height: 14px;
  border: 1px solid #1554a4;
  border-radius: 50%;
  color: #1554a4;
  font-size: 10px;
  font-weight: bold;
  line-height: 14px;
  text-align: center;
  white-space: nowrap;
  content: counter(number);
  counter-increment: number 1;
}

.articleBody ol.upperAlpha {
  counter-reset: ABC;
}

.articleBody ol.upperAlpha > li {
  position: relative;
}

.articleBody ol.upperAlpha > li::before {
  position: absolute;
  top: .2em;
  left: -16px;
  color: #00629d;
  font-size: 0.82353em;
  font-weight: bold;
  content: counter(ABC, upper-alpha) ".";
  counter-increment: ABC;
}

.articleBody ol.lowerAlpha {
  counter-reset: abc;
}

.articleBody ol.lowerAlpha > li {
  position: relative;
}

.articleBody ol.lowerAlpha > li::before {
  position: absolute;
  top: .2em;
  left: -16px;
  color: #00629d;
  font-size: 0.82353em;
  font-weight: bold;
  content: counter(abc, lower-alpha) ".";
  counter-increment: abc;
}

.articleBody ol.upperRoman {
  counter-reset: ⅠⅡⅢ;
}

.articleBody ol.upperRoman > li {
  position: relative;
}

.articleBody ol.upperRoman > li::before {
  position: absolute;
  top: .2em;
  left: -18px;
  color: #00629d;
  font-size: 0.82353em;
  font-weight: bold;
  content: counter(ⅠⅡⅢ, upper-roman) ".";
  counter-increment: ⅠⅡⅢ;
}

.articleBody ol.lowerRoman {
  counter-reset: ⅰⅱⅲ;
}

.articleBody ol.lowerRoman > li {
  position: relative;
}

.articleBody ol.lowerRoman > li::before {
  position: absolute;
  top: .2em;
  left: -18px;
  color: #1554a4;
  font-size: 0.82353em;
  font-weight: bold;
  content: counter(ⅰⅱⅲ, lower-roman) ".";
  counter-increment: ⅰⅱⅲ;
}

.articleBody ul.square,
.articleBody ul.disc,
.articleBody ul.circle,
.articleBody ol.decimal,
.articleBody ol.circledDecimal,
.articleBody ol.upperAlpha,
.articleBody ol.lowerAlpha,
.articleBody ol.upperRoman,
.articleBody ol.lowerRoman {
  margin-top: 20px;
  padding-left: 18px;
}

.articleBody ul.square ul,
.articleBody ul.disc ul,
.articleBody ul.circle ul,
.articleBody ol.decimal ul,
.articleBody ol.circledDecimal ul,
.articleBody ol.upperAlpha ul,
.articleBody ol.lowerAlpha ul,
.articleBody ol.upperRoman ul,
.articleBody ol.lowerRoman ul {
  margin-top: 20px;
  margin-bottom: 20px;
  padding-left: 18px;
}

.articleBody ul.square ul > li,
.articleBody ul.disc ul > li,
.articleBody ul.circle ul > li,
.articleBody ol.decimal ul > li,
.articleBody ol.circledDecimal ul > li,
.articleBody ol.upperAlpha ul > li,
.articleBody ol.lowerAlpha ul > li,
.articleBody ol.upperRoman ul > li,
.articleBody ol.lowerRoman ul > li {
  position: relative;
}

.articleBody ul.square ul > li::before,
.articleBody ul.disc ul > li::before,
.articleBody ul.circle ul > li::before,
.articleBody ol.decimal ul > li::before,
.articleBody ol.circledDecimal ul > li::before,
.articleBody ol.upperAlpha ul > li::before,
.articleBody ol.lowerAlpha ul > li::before,
.articleBody ol.upperRoman ul > li::before,
.articleBody ol.lowerRoman ul > li::before {
  display: block;
  position: absolute;
  top: 12px;
  left: -12px;
  width: 8px;
  height: 2px;
  background-color: #000000;
  content: '';
}

.articleBody ul.square ul ol,
.articleBody ul.disc ul ol,
.articleBody ul.circle ul ol,
.articleBody ol.decimal ul ol,
.articleBody ol.circledDecimal ul ol,
.articleBody ol.upperAlpha ul ol,
.articleBody ol.lowerAlpha ul ol,
.articleBody ol.upperRoman ul ol,
.articleBody ol.lowerRoman ul ol {
  margin-top: 20px;
  margin-bottom: 20px;
}

.articleBody ul.square ol.decimal > li::before,
.articleBody ul.disc ol.decimal > li::before,
.articleBody ul.circle ol.decimal > li::before,
.articleBody ol.decimal ol.decimal > li::before,
.articleBody ol.circledDecimal ol.decimal > li::before,
.articleBody ol.upperAlpha ol.decimal > li::before,
.articleBody ol.lowerAlpha ol.decimal > li::before,
.articleBody ol.upperRoman ol.decimal > li::before,
.articleBody ol.lowerRoman ol.decimal > li::before {
  color: #000000;
}

/* 対談、インタビュー */
.articleBody p span.speaker01 {
  margin-right: 0.5em;
  color: #d82855;
  font-weight: bold;
}

.articleBody p span.speaker02 {
  margin-right: 0.5em;
  color: #1554a4;
  font-weight: bold;
}

.articleBody p span.speaker03 {
  margin-right: 0.5em;
  color: #289c3b;
  font-weight: bold;
}

.articleBody p span.speaker04 {
  margin-right: 0.5em;
  color: #be9401;
  font-weight: bold;
}

.articleBody p span.speaker05 {
  margin-right: 0.5em;
  color: #652074;
  font-weight: bold;
}

.articleBody p span.speaker06 {
  margin-right: 0.5em;
  color: #437391;
  font-weight: bold;
}

.articleBody p span.speaker07 {
  margin-right: 0.5em;
  color: #6a3200;
  font-weight: bold;
}

.articleBody p span.speaker08 {
  margin-right: 0.5em;
  color: #ac0069;
  font-weight: bold;
}

.articleBody p span.speaker09 {
  margin-right: 0.5em;
  color: #666666;
  font-weight: bold;
}

/* 質問と回答 */
.articleBody .bpquestion {
  margin: 0 0 10px;
  color: #242424;
  font-weight: bold;
  line-height: 1.8;
}

.articleBody .bpquestion::before {
  content: '—';
}

.articleBody .bpanswer {
  line-height: 1.8;
}

/* 囲み共通 */
.articleBody .bpbox,
.articleBody .bpbox2,
.articleBody .bpbox3,
.articleBody .bpbox4,
.articleBody .bpframe {
  width: auto;
  margin: 30px 0;
  padding: 20px 20px;
  clear: both;
}

.articleBody .bpbox_title {
  margin: 0 0 15px;
  padding: 0 0 5px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
}

.articleBody .bpbox_text h3 {
  margin-bottom: 10px;
  line-height: 1.3;
}

.articleBody .bpbox_text h4 {
  margin-bottom: 10px;
  font-size: 0.8em;
  line-height: 1.7;
}

.articleBody .bpbox_text p + h3,
.articleBody .bpbox_text p + h4 {
  margin-top: 20px;
}

.articleBody .bpbox_text,
.articleBody .bpbox_text p {
  margin: 0;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.8;
}

.articleBody .bpbox_text .bpimage_left {
  margin: 0 15px 0 0;
}

.articleBody .bpbox_text p + p {
  margin-top: 15px;
}

.articleBody .bpbox_text li {
  margin: 0 0 8px 30px;
  font-size: 0.8em;
  line-height: 1.5;
  text-indent: -14px;
}

@media (max-width: 768px) {
  .articleBody .bpbox_title {
    font-size: 16px;
  }
  .articleBody .bpbox_text {
    font-size: 15px;
  }
}

/* 囲み1 */
.articleBody .bpbox {
  border: 1px solid #1554a4;
  background: #f3f8ff;
}

.articleBody .bpbox .bpbox_title {
  padding: 0 0 0 10px;
  border-left: 1px solid #1554a4;
  color: #1554a4;
}

.articleBody .bpbox .bpbox_text h3 {
  color: #1554a4;
}

/* 囲み2 */
.articleBody .bpbox2 {
  border: 1px solid #b4c8c8;
  background: #f5fafa;
}

.articleBody .bpbox2 .bpbox_title {
  padding: 0 0 0 10px;
  border-left: 1px solid #3c6478;
  color: #3c6478;
}

.articleBody .bpbox2 .bpbox_text h3 {
  color: #3c6478;
}

/* 囲み3 */
.articleBody .bpbox3 {
  border: 1px solid #ccccaa;
  background: #fffdf4;
}

.articleBody .bpbox3 .bpbox_title {
  padding: 0 0 0 10px;
  border-left: 1px solid #be6400;
  color: #be6400;
}

.articleBody .bpbox3 .bpbox_text h3 {
  color: #be6400;
}

/* 囲み4 */
.articleBody .bpbox4 {
  border: 1px solid #ccb4cc;
  background: #fff7fa;
}

.articleBody .bpbox4 .bpbox_title {
  padding: 0 0 0 10px;
  border-left: 1px solid #503c8c;
  color: #503c8c;
}

.articleBody .bpbox4 .bpbox_text h3 {
  color: #503c8c;
}

/* シンプル囲み */
.articleBody .bpframe {
  border: 1px solid #ccc;
  background: #fafafa;
}

.articleBody .bpframe .bpbox_title {
  padding: 0 0 0 10px;
  border-left: 1px solid #1554a4;
  color: #1554a4;
}

.articleBody .bpframe .bpbox_text h3 {
  color: #1554a4;
}

/* 引用 */
.articleBody blockquote {
  position: relative;
  margin: 10px 0;
  padding: 50px 20px;
  border: 1px solid #eeeeee;
  background-color: #ffffff;
}

.articleBody blockquote h3 {
  margin: 0 0 10px;
  padding: 0;
  background: transparent;
  color: #242424;
  font-size: 20px;
  font-weight: bold;
}

.articleBody blockquote p {
  margin: 0;
}

.articleBody blockquote:before {
  position: absolute;
  top: 10px;
  left: 10px;
  color: #eeeeee;
  font-family: serif;
  font-size: 70px;
  line-height: 1;
  content: "“";
}

.articleBody blockquote:after {
  position: absolute;
  right: 10px;
  bottom: 10px;
  color: #eeeeee;
  font-family: serif;
  font-size: 70px;
  line-height: 0;
  content: "”";
}

.articleBody blockquote cite {
  font-style: normal;
}

/* コード */
.articleBody pre {
  margin: 1em 0 1.5em;
  padding: 1em;
  overflow: auto;
  border: 1px solid #eeeeee;
  font-size: 12px;
  line-height: 1.2;
  white-space: pre;
}

.articleBody pre.light {
  border: 1px solid #eeeeee;
  background-color: #f3f8ff;
  color: #242424;
}

.articleBody pre.dark {
  border: 1px solid silver;
  background-color: #000000;
  color: white;
}

.articleBody pre > code {
  font-family: "ヒラギノ角ゴ Pro W3", "ＭＳ ゴシック" , "MS Gothic";
}

/* コードリスト共通 ★廃止。互換性のために残す必要がある場合に使用★ */
.articleBody .bpcode,
.articleBody .bpcode2 {
  width: auto;
  margin: 30px 0;
  padding: 15px;
  clear: both;
  overflow: auto;
}

.articleBody .bpcode pre,
.articleBody .bpcode2 pre {
  font-size: 14px;
  line-height: 1.5em;
}

/* コードリスト（灰色） ★廃止。互換性のために残す必要がある場合に使用★ */
.articleBody .bpcode {
  border: 1px solid #ccc;
  background: #fafafa;
}

/* コードリスト（緑色） ★廃止。互換性のために残す必要がある場合に使用★ */
.articleBody .bpcode2 {
  border: 1px solid #b4c8c8;
  background: #f5fafa;
}

/* 訂正  */
.articleBody div.bpteisei_box {
  width: auto;
  margin: 30px 0;
  clear: both;
}

.articleBody div.bpteisei_box .bpteisei {
  font-size: 16px;
  line-height: 1.8;
}

.articleBody div.bpteisei_box .bpteisei b {
  margin: 0 0 10px;
  color: #dd0000;
  font-size: 16px;
}

/* 用語解説 */
.articleBody div.bpword {
  margin: 30px 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.8;
}

/* 注釈  */
.articleBody div.bpannotation {
  margin: 30px 0;
  font-size: 16px;
  line-height: 1.6;
}

/* 参考文献 */
.articleBody div.bpreference {
  font-size: 14px;
  line-height: 1.8;
}

/* ボタン */
.articleBody .button a {
  display: table;
  min-width: 343px;
  height: 56px;
  margin: 30px auto 0;
  padding: 10px 20px;
  border: 1px solid #1554a4;
  border-radius: 3px;
  background: #1554a4;
  color: #ffffff;
  font-size: 17px;
  font-weight: bold;
  line-height: 36px;
  text-align: center;
  text-decoration: none;
  transition: .3s;
}

.articleBody .button a:hover {
  background: #ffffff;
  color: #1554a4;
}

.articleBody .button.middle a {
  min-width: 110px;
  height: 40px;
  font-size: 14px;
  line-height: 20px;
}

.articleBody .button.small a {
  min-width: 110px;
  height: 30px;
  padding: 5px 20px;
  font-size: 14px;
  line-height: 20px;
}

.articleBody .button.left a {
  margin-left: 0;
}

@media (max-width: 768px) {
  .articleBody .button a {
    min-width: 100%;
  }
}

/* バイオ年鑑 */
.articleBody .bplead_books {
  clear: both;
}
