@charset "utf-8";

/* 記事本文 */
body.print .article-body {
  width: 100%;
  padding: 0 32px;
  box-sizing: border-box;
}
.article-body {
  width: 586px;
  margin: 0 auto;
}
.article-body p {
  color: #222;
  font-size: 1.5rem;
  line-height: 2.1;
  margin: .5em 0 1.5em;
}
.article-body h2,
.article-body h4 {
  font-size: 2.4rem;
  font-weight: 700;
  border-left: solid 4px #000;
  padding-left: 10px;
  margin: 1.5em 0;
  line-height: 1.25;
}
.article-body strong {
  font-weight:bold;
}
.article-body b {
  font-weight: bold;
}
.article-body sup {
  vertical-align: super;
  font-size: smaller;
}
body.smp .article-body sup {
  vertical-align: baseline; /* reset */
  font-size: 1em; /* reset */
}
.article-body small {
  font-size: smaller;
}
body.smp .article-body small {
  font-size: 1em; /* reset */
}
.article-box-dot {
  padding: 10px;
  font-size: 1.44rem;
  color: #000;
  border: 2px dotted #dcdcdc;
}
.article-box-gwrap {
  background-color: #eeeeee;
  padding: 10px;
  font-size: 1.44rem;
  color: #000;
}
/* 改行 */
.article-body {
  word-wrap : break-word;
  overflow-wrap : break-word;
  word-break:normal;
}
body.smp .article-body {
  word-wrap : break-word;
  overflow-wrap : break-word;
  word-break:normal;
}
/* 周り込み解除 */
.article-body .clearfix:before,
.article-body .clearfix:after {
  content:"";
  display:table;
}
.article-body .clearfix:after {
  clear:both;
}
.article-body .clearfix {
  zoom:1; /* For IE 6/7 (trigger hasLayout) */
}

/* 画像中央寄せ */
.article-body .figure-center {
  margin: 15px auto;
  max-width: 100%;
  background: #eee;
}
body.smp .article-body .figure-center {
  margin: 15px auto;
  max-width:100%;
}
.article-body .figure-center img,
.article-body .figure-center iframe,
.article-body .figure img,
.article-body .figure-right img,
.article-body .figure-left img {
  vertical-align: bottom;
  width: 100%;
}
.article-body .figure span,
.article-body .figure-center span,
.article-body .figure-right span,
.article-body .figure-left span {
  padding: 5px;
  display: block;
  font-size: .75em;
}
.article-body .figure .caption,
.article-body .figure-center .caption,
.article-body .figure-left .caption,
.article-body .figure-right .caption,
.article-body .figure-left span {
  font-size: 1.2rem;
  color: #666666;
  line-height: 1.5;
  padding: 5px;
  text-align: left;
}
/* 画像右寄せ */
.article-body .figure,
.article-body .figure-right {
  float: right;
  margin: 0 0 15px 15px;
  max-width: 100%;
  background: #eee;
}
body.smp .article-body .figure,
body.smp .article-body .figure-right {
  float: none;
  margin: 15px auto;
  max-width:100%;
}
/* 画像左寄せ */
.article-body .figure-left {
  float: left;
  clear:left;
  margin: 0 15px 15px 0;
  max-width: 100%;
  background: #eee;
}
body.smp .article-body .figure-left {
  float: none;
  margin: 15px auto;
  max-width:100%;
}