@charset "utf-8";
@import url(/css/media/2019/common.css);
@import url(/css/media/2019/fonts.css);
@import url(/css/media/2019/font-awesome.css);

body{
  font-family: "Noto Sans JP", "Noto Snas Japanese", Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  position: relative;
  color: #2f2f2f;
  word-wrap : break-word;
  overflow-wrap : break-word;
}
.container{
  margin: 0 auto;
}
img, embed, object, audio, video {
    height: auto;
    max-width: 100%;
}
.no-gutter > [class*='col-'] {
  padding-right:0;
  padding-left:0;
}

/* ================================================
■BP標準CSSサンプルコード
================================================  */
.parts-title{padding: 1em; margin: 0 0 0.5em; font-size: 1.125rem; font-weight: 700; color: #333; background-color: #eee;}
.articleBody {
  word-break: break-word;
  /* リード */
  /* 大見出し */
  /* 中見出し */
  /* 中見出し */
  /* 小見出し */
  /* 地の文 */
  /* アンカー */
  /* フォントのサイズ変更 */
  /* 文字色と背景色 */
  /* テキストの強調 */
  /* テキストの上付き、下付き */
  /* 下線と取り消し線 */
  /* マーカー（Highlight） */
  /* 左寄せ、左右中央、右寄せ */
  /* 区切り要素 */
  /* 回り込み解除 */
  /* 図（画像） */
  /* 画像のキャプション */
  /* 図（回り込み）配置ラッパー */
  /* 図（回り込み：左）右配置 */
  /* 図（回り込み：右）左配置 */
  /* 図（スタンダード）中央配置 */
  /* 図（二つ並び） */
  /* 図（三つ並び） */
  /* 図（縦積み）ラッパー */
  /* 図（縦積み）*/
  /* 図（エトキ右配置） */
  /* テーブル基本 */
  /* テーブル（イ）表左寄せ */
  /* テーブル（ウ）表右寄せ */
  /* テーブル（エ）表中央 */
  /* プロフィール */
  /* プロフィール（顔写真付） */
  /* インタビュープロフィール用 */
  /* リスト */
  /* 対談、インタビュー */
  /* 質問と回答 */
  /* 囲み共通 */
  /* 囲み1 */
  /* 囲み2 */
  /* 囲み3 */
  /* 囲み4 */
  /* シンプル囲み */
  /* 引用 */
  /* コード */
  /* コードリスト共通 ★廃止。互換性のために残す必要がある場合に使用★ */
  /* コードリスト（灰色） ★廃止。互換性のために残す必要がある場合に使用★ */
  /* コードリスト（緑色） ★廃止。互換性のために残す必要がある場合に使用★ */
  /* 訂正  */
  /* 用語解説 */
  /* 注釈  */
  /* 参考文献 */
  /* 動画 */
}
iframe {
  max-width: 100%;
}
.row {
  padding-bottom: 10px;
}
.bplead {
  line-height: 2;
  font-weight: bold;
  margin-bottom: 30px;
}
h1 {
  margin-bottom: 30px;
  font-size: 33px; font-size: 2.0625rem;
  font-weight: 700;
  color: #2f2f2f;
}
h2 {
  position: relative;
  margin: 50px 0 30px;
  padding-top: 20px;
  font-size: 28px; font-size: 1.75rem;
  font-weight: 700;
  color: #2f2f2f;
  border-top: 2px solid #e8e8e8;
  clear: both;
}
h2::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  display: block;
  width: 60px;
  height: 2px;
  background-color: #2bbbad;
}
h3 {
  margin: 50px 0 40px;
  padding-top: 15px;
  font-size: 1.39rem;
  font-weight: 700;
  color: #2f2f2f;
  border-top: 2px solid #e8e8e8;
  clear: both;
}
h4 {
  margin: 20px 0;
  font-size: 20px; font-size: 1.25rem;
  font-weight: 600;
  color: #2f2f2f;
  clear: both;
}
p {
  line-height: 1.5;
  margin-bottom: 16px;
  font-size: 0.9375rem;
}
p a {
  color: #0056b3;
  text-decoration: none;
}
p a:hover {
  color: #0056b3;
  text-decoration: underline;
}
.fontSizeXXL {
  font-size: 3em;
}
.fontSizeXL {
  font-size: 2em;
}
.fontSizeL {
  font-size: 1.5em;
}
.fontSizeS {
  font-size: 0.8125em;
}
.fontSizeXS {
  font-size: 0.5em;
}
.textCol {
  color: dodgerblue;
}
.border{
  padding: 1px;
}
.textColBlackTintA {
  color: dimgray;
}
.textColBlackTintB {
  color: darkgray;
}
.textColBlackShade {
  color: lightgrey;
}
.textColBlackShadeA {
  color: gainsboro;
}
.textColBlackShadeB {
  color: whitesmoke;
}
.bgColBlack {
  background-color: black;
}
.bgColBlackTintA {
  background-color: dimgray;
}
.bgColBlackTintB {
  background-color: darkgray;
}
.bgColBlackShade {
  background-color: lightgrey;
}
.bgColBlackShadeA {
  background-color: gainsboro;
}
.bgColBlackShadeB {
  background-color: whitesmoke;
}
.textColBlack {
  color: black;
}
.textColGray {
  color: gray;
}
.textColSilver {
  color: silver;
}
.textColWhite {
  color: white;
}
.textColRed {
  color: red;
}
.textColYellow {
  color: yellow;
}
.textColLime {
  color: lime;
}
.textColAqua {
  color: aqua;
}
.textColBlue {
  color: blue;
}
.textColFuchsia {
  color: fuchsia;
}
.textColMaroon {
  color: maroon;
}
.textColOlive {
  color: olive;
}
.textColGreen {
  color: green;
}
.textColTeal {
  color: teal;
}
.textColNavy {
  color: navy;
}
.textColPurple {
  color: purple;
}
.bgColBlack {
  background-color: black;
}
.bgColGray {
  background-color: gray;
}
.bgColSilver {
  background-color: silver;
}
.bgColWhite {
  background-color: white;
}
.bgColRed {
  background-color: red;
}
.bgColYellow {
  background-color: yellow;
}
.bgColLime {
  background-color: lime;
}
.bgColAqua {
  background-color: aqua;
}
.bgColBlue {
  background-color: blue;
}
.bgColFuchsia {
  background-color: fuchsia;
}
.bgColMaroon {
  background-color: maroon;
}
.bgColOlive {
  background-color: olive;
}
.bgColGreen {
  background-color: green;
}
.bgColTeal {
  background-color: teal;
}
.bgColNavy {
  background-color: navy;
}
.bgColPurple {
  background-color: purple;
}
b,
.fontBold {
  font-weight: bold;
  font-weight: 700;
}
.fontNormal {
  font-weight: normal;
}
i,
.fontItalic {
  font-style: italic;
}
em,
strong {
  font-style: normal;
  font-weight: normal;
}
sup {
  vertical-align: super;
}
sub {
  vertical-align: sub;
}
u,
.textSolidUndrLine {
  text-decoration: none;
  padding-bottom: 0.15em;
  border-bottom: solid 0.1em gray;
}
.textUnsolidUndrLine {
  padding-bottom: 0.15em;
  border-bottom: dashed 0.1em gray;
}
s,
del,
.textLineThrough {
  text-decoration: line-through;
}
.textHighlight {
  padding: 0.15em;
  background: dodgerblue;
}
.textHighlightTintA {
  padding: 0.15em;
  background: red;
  color: white;
}
.textHighlightTintB {
  padding: 0.15em;
  background: greenyellow;
}
.textHighlightShade {
  padding: 0.15em;
  background: lightcyan;
  background: linear-gradient(transparent 60%, deepskyblue 60%);
}
.textHighlightShadeA {
  padding: 0.15em;
  background: plum;
  background: linear-gradient(transparent 60%, plum 60%);
}
.textHighlightShadeB {
  padding: 0.15em;
  background: palegreen;
  background: linear-gradient(transparent 60%, palegreen 60%);
}
.textAlignLeft {
  text-align: left;
}
.textAlignCenter {
  text-align: center;
}
.textAlignRight {
  text-align: right;
}
hr.asterisk {
  border: none;
}
hr.asterisk:after {
  content: "＊＊＊";
  letter-spacing: 4em;
  margin-right: -4em;
  text-align: center;
  font-size: 0.75em;
}
hr.diamond {
  border: none;
}
hr.diamond:after {
  content: "◇◇◇";
  letter-spacing: 4em;
  margin-right: -4em;
  text-align: center;
}
hr,
hr.line {
  width: 80%;
  border-top: 1px solid gray;
}
hr:after,
hr.line:after {
  content: "";
  display: block;
}
.clearLeft {
  clear: left;
}
.clearRight {
  clear: right;
}
.clearBoth {
  clear: both;
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}
.bpimage_image img {
  width: 100%;
}
.bpimage_title + .bpimage_image {
  margin-top: 5px;
}
.bpimage_title {
  margin-bottom: 5px;
  font-size: 0.8125em;
  line-height: 1.5em;
  font-weight: bold;
}
.bpimage_image + .bpimage_title {
  margin-top: 10px;
  text-align: left;
}
.bpimage_caption {
  margin-bottom: 5px;
  font-size: 0.8125em;
  line-height: 1.5em;
  text-align: left;
}
.bpimage_image + .bpimage_caption {
  margin-top: 5px;
}
.bpimage_click {
  font-size: 0.8125em;
  line-height: 1.5em;
  color: #0096be;
}
.bpimage_wrap {
  margin-bottom: 30px;
}
.bpimage_wrap::after {
  display: block;
  clear: both;
  content: "";
}
.bpimage_right {
  margin-top: 10px;
  margin-bottom: 15px;
}
@media (max-width: 639.98px) {
  .bpimage_right {
    width: 100% !important;
    max-width: 100%;
  }
}
@media screen and (min-width: 640px) and (max-width: 768px) {
.bpimage_wrap .bpimage_right,
.bpimage_wrap .bpimage_left {
    width: 50%;
  }
}
@media (min-width: 768px) {
  .bpimage_right {
    float: right;
    width: calc(50% - 15px);
    margin-left: 30px;
  }
}
.bpimage_left {
  margin-top: 10px;
  margin-bottom: 15px;
}
@media (max-width: 767.98px) {
  .bpimage_left {
    width: 100% !important;
  }
}
@media (min-width: 768px) {
  .bpimage_left {
    float: left;
    width: calc(50% - 15px);
    margin-right: 30px;
  }
}
.bpimage_center {
  margin: 10px auto 30px;
  text-align: center;
  max-width: 100%;
}
.bpimage_center img{
  width: auto;
  max-width: 100%;
}
@media (max-width: 767.98px) {
  .bpimage_center {
    width: 100% !important;
  }
}
.bpimage_double {
  margin-top: 10px;
  margin-bottom: 30px;
}
.bpimage_triple {
  margin-top: 10px;
  margin-bottom: 30px;
}
@media (max-width: 991px) {
  .bpimage_double [class*="col-"],
  .bpimage_triple [class*="col-"]{
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.bpbox_wrap {
  margin-bottom: 30px;
}
.bpbox_wrap::after {
  display: block;
  clear: both;
  content: "";
}
.bpbox_left {
  margin-top: 10px;
  margin-bottom: 20px;
}
@media (max-width: 767.98px) {
  .bpbox_left {
    width: 100% !important;
  }
}
@media (min-width: 768px) {
  .bpbox_left {
    float: left;
    width: calc(50% - 15px);
    margin-right: 30px;
  }
}
.bpbox_right {
  margin-top: 10px;
  margin-bottom: 20px;
}
@media (max-width: 767.98px) {
  .bpbox_right {
    width: 100% !important;
  }
}
@media (min-width: 768px) {
  .bpbox_right {
    float: right;
    width: calc(50% - 15px);
    margin-left: 30px;
  }
}
.bpimage_set {
  margin: 0 0 20px 0;
}
.bpimage_set:last-child {
  margin-bottom: 0;
}
.bpimage_caption_right {
  margin: 0 auto 20px;
}
.bpimage_caption_right::after {
  display: block;
  clear: both;
  content: "";
}
.bpimage_caption_right .bpimage_left {
  margin-bottom: 0;
}
.bpimage_caption_right .bpimage_title {
  padding: 10px 0 0;
  clear: none;
}
.bpimage_caption_right .bpimage_caption {
  clear: none;
}
.bptable {
  margin: 10px auto 30px;
  overflow-x: auto;
}
.bptable table {
  width: 100%;
}
.bptable th,
.bptable td {
  border: 1px solid #bebebe;
  padding: 9px;
  font-size: 0.8125em;
  line-height: 1.3em;
}
.bptable th {
  text-align: left;
  background: #f2f2f2;
}
.bptable_title {
  margin-bottom: 5px;
  font-size: 0.8125em;
  line-height: 1.5em;
  font-weight: bold;
}
.bptable_caption {
  margin-bottom: 5px;
  font-size: 0.8125em;
  line-height: 1.5em;
}
.bptable_title + table,
.bptable_caption + table {
  margin-top: 10px;
}
.bptable_left {
  float: left;
  clear: both;
  margin: 0 30px 10px 0;
}
.bptable_right {
  float: right;
  clear: both;
  margin: 0 0 10px 30px;
}
.bptable_center {
  clear: both;
}
table.table{
  font-size: 0.875rem;
}
table.table.table-sm{
  font-size: 0.8125em;
}
table.table caption{
  caption-side:top;
}
table.table caption .fontBold{
  color: #212529;
  display: inline-block;
  padding-bottom: 0.25em;
}
.bpprofile,
.bpprofile_photo {
  width: auto;
  clear: both;
  border-top: 3px solid #999;
  margin: 50px 0 50px;
  padding: 18px 5px 0;
  overflow: hidden;
  zoom: 1;
}
.bpprofile_profile {
  margin: 0 0 15px;
}
.bpprofile_position {
  font-size: 0.875em;
  line-height: 1.3em;
  display: inline-block;
  margin: 5px 0 0;
}
.bpprofile_name {
  line-height: 1.3em;
  font-weight: bold;
  display: inline-block;
  margin: 0;
}
.bpprofile_text {
  font-size: 0.875em;
  line-height: 1.6;
  margin: 15px 0 0;
}
.bpprofile_photo .bpprofile_text img {
  float: right;
  max-width: 200px;
  margin: 0 0 20px 30px;
  padding: 0;
}
.bpinterview {
  width: auto;
  margin: 30px 0;
  padding: 30px 20px;
  border: 1px solid #ccc;
}
.bpinterview_profile {
  margin: 0 0 15px;
}
.bpinterview_position {
  font-size: 0.8125em;
  line-height: 1.3;
  display: inline-block;
  margin: 0 0 5px;
}
.bpinterview_name {
  margin-bottom: 5px;
  line-height: 1.3;
  font-weight: bold;
  display: inline-block;
}
.bpinterview_text {
  font-size: 0.8125em;
  line-height: 1.8;
  margin: 15px 0 0;
}
ul,
ol {
  padding: 0.5rem 0 0 20px;
  margin-bottom: 0.5rem;
}
ul > li:not(:last-child),
ol > li:not(:last-child) {
  margin-bottom: 0.5em;
}
dl {
  margin-bottom: 1.5em;
}
dl > dd {
  margin-bottom: .5rem;
}
ul,
ol,
dl{
  margin-bottom: 2em;
}
ul,
ul.disc {
  padding-left: 2em;
  list-style-type: disc;
}
ul.circle {
  padding-left: 2em;
  list-style-type: circle;
}
ul.square {
  padding-left: 2em;
  list-style-type: square;
}
ul.none {
  padding-left: 1em;
  list-style-type: none;
}
ol {
  padding-left: 2em;
  list-style-type: decimal;
}
ol.upperAlpha {
  list-style-type: upper-alpha;
}
ol.lowerAlpha {
  list-style-type: lower-alpha;
}
ol.upperRoman {
  list-style-type: upper-roman;
}
ol.lowerRoman {
  list-style-type: lower-roman;
}
ol.circledDecimal {
  padding-left: 1.5em;
  list-style: none;
}
ol.circledDecimal li {
  text-indent: -1em;
}
ol.circledDecimal li:before {
  padding-right: 0.5em;
}
ol.circledDecimal li:first-child:before {
  content: "\2460";
}
ol.circledDecimal li:first-child + li:before {
  content: "\2461";
}
ol.circledDecimal li:first-child + li + li:before {
  content: "\2462";
}
ol.circledDecimal li:first-child + li + li + li:before {
  content: "\2463";
}
ol.circledDecimal li:first-child + li + li + li + li:before {
  content: "\2464";
}
ol.circledDecimal li:first-child + li + li + li + li + li:before {
  content: "\2465";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li:before {
  content: "\2466";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li:before {
  content: "\2467";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li:before {
  content: "\2468";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li:before {
  content: "\2469";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li + li:before {
  content: "\246a";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li + li + li:before {
  content: "\246b";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li + li + li + li:before {
  content: "\246c";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li + li + li + li + li:before {
  content: "\246d";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li + li + li + li + li + li:before {
  content: "\246e";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li:before {
  content: "\246f";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li:before {
  content: "\2470";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li:before {
  content: "\2471";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li:before {
  content: "\2472";
}
ol.circledDecimal li:first-child + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li + li:before {
  content: "\2473";
}
dl > dt {
  padding: 1em 0;
}
dl > dd{
margin: 0 0 .5em 1.5em;
}
dl > dd > ul {
  margin-top: 0.5em;
}
p span.speaker01 {
  color: blue;
  font-weight: bold;
  margin-right: 0.5em;
}
p span.speaker02 {
  color: red;
  font-weight: bold;
  margin-right: 0.5em;
}
p span.speaker03 {
  color: green;
  font-weight: bold;
  margin-right: 0.5em;
}
p span.speaker04 {
  color: lime;
  font-weight: bold;
  margin-right: 0.5em;
}
p span.speaker05 {
  color: olive;
  font-weight: bold;
  margin-right: 0.5em;
}
p span.speaker06 {
  color: yellow;
  font-weight: bold;
  margin-right: 0.5em;
}
p span.speaker07 {
  color: fuchsia;
  font-weight: bold;
  margin-right: 0.5em;
}
p span.speaker08 {
  color: lightcoral;
  font-weight: bold;
  margin-right: 0.5em;
}
p span.speaker09 {
  color: purple;
  font-weight: bold;
  margin-right: 0.5em;
}
.bpquestion {
  line-height: 2em;
  font-weight: bold;
  margin: 0 0 10px;
}
.bpquestion::before {
  content: "—";
}
.bpanswer {
  line-height: 2em;
}
.bpbox,
.bpbox2,
.bpbox3,
.bpbox4,
.bpframe {
  width: auto;
  clear: both;
  margin: 30px 0;
  padding: 20px 30px;
}
.bpbox_title {
  line-height: 1.3;
  font-weight: bold;
  margin: 0 0 15px;
  padding: 0 0 5px;
}
.bpbox_text h3 {
  line-height: 1.3;
  margin-bottom: 10px;
}
.bpbox_text h4 {
  font-size: 0.8125em;
  line-height: 1.7;
  margin-bottom: 10px;
}
.bpbox_text p + h3,
.bpbox_text p + h4 {
  margin-top: 20px;
}
.bpbox_text,
.bpbox_text p {
  font-size: 0.875em;
  line-height: 1.7em;
  margin: 0;
  overflow: hidden;
}
.bpbox_text .bpimage_left {
  margin: 0 15px 0 0;
}
.bpbox_text p + p {
  margin-top: 15px;
}
.bpbox_text li {
  font-size: 0.8125em;
  line-height: 1.5;
  margin: 0 0 8px 30px;
  text-indent: -14px;
}
.bpbox {
  border: 1px solid #b9c3d7;
  background: #f7faff;
}
.articleBody .bpbox .bpbox_title {
  color: #1e64aa;
  border-bottom: 1px solid #1e64aa;
}
.bpbox .bpbox_text h3 {
  color: #1e64aa;
}
.bpbox2 {
  border: 1px solid #b4c8c8;
  background: #f5fafa;
}
.bpbox2 .bpbox_title {
  color: #3c6478;
  border-bottom: 1px solid #3c6478;
}
.bpbox2 .bpbox_text h3 {
  color: #3c6478;
}
.bpbox3 {
  border: 1px solid #ccccaa;
  background: #fffae6;
}
.bpbox3 .bpbox_title {
  color: #be6400;
  border-bottom: 1px solid #be6400;
}
.bpbox3 .bpbox_text h3 {
  color: #be6400;
}
.bpbox4 {
  border: 1px solid #ccb4cc;
  background: #fff7fa;
}
.bpbox4 .bpbox_title {
  color: #503c8c;
  border-bottom: 1px solid #503c8c;
}
.bpbox4 .bpbox_text h3 {
  color: #503c8c;
}
.bpframe {
  border: 1px solid #ccc;
  background: #fafafa;
}
.bpframe .bpbox_title {
  color: #333;
  border-bottom: 1px solid #333;
}
.bpframe .bpbox_text h3 {
  color: #333;
}
blockquote {
  background-color: aliceblue;
  margin: 1em 0;
  padding: 3em 1em;
  position: relative;
}
blockquote:before {
  content: "“";
  font-size: 6em;
  line-height: 1;
  font-family: sans-serif;
  color: gray;
  position: absolute;
  left: 0;
  top: 0;
}
blockquote:after {
  content: "”";
  font-size: 6em;
  line-height: 0;
  font-family: sans-serif;
  color: gray;
  position: absolute;
  right: 0;
  bottom: 0;
}
blockquote cite {
  font-style: normal;
}
pre {
  margin: 1em 0 1.5em;
  padding: 1em;
  white-space: pre;
  font-size: 12px;
  line-height: 1.2;
  overflow: auto;
  border: 1px solid black;
}
pre.light {
  color: black;
  background-color: whitesmoke;
  border: 1px solid gray;
}
pre.dark {
  color: white;
  background-color: black;
  border: 1px solid silver;
}
pre > code {
  font-family: "ＭＳ ゴシック", "MS Gothic";
}
.bpcode,
.bpcode2 {
  width: auto;
  clear: both;
  margin: 30px 0;
  padding: 15px;
  overflow: auto;
}
.bpcode pre,
.bpcode2 pre {
  line-height: 1.5em;
  font-size: 14px;
}
.bpcode {
  background: #fafafa;
  border: 1px solid #ccc;
}
.bpcode2 {
  background: #f5fafa;
  border: 1px solid #b4c8c8;
}
.bpteisei_box {
  width: auto;
  clear: both;
  margin: 30px 0;
  padding: 30px 20px;
  border: 1px solid #e8e8e8;
}
.bpteisei_box .bpteisei {
  font-size: 0.8125em;
  line-height: 1.5;
}
.bpteisei_box .bpteisei b {
  margin: 0 0 5px;
}
.bpword {
  line-height: 1.5;
  padding: 0;
  margin: 30px 0;
}
.bpannotation {
  font-size: 0.8125em;
  line-height: 1.5;
  margin: 30px 0;
}
.bpreference {
  font-size: 0.8125em;
  line-height: 1.5;
  border-top: 1px solid #ccc;
  padding: 15px 20px;
}
.bpmovie_box {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 30px;
}
.bpmovie_box_container {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  margin-bottom: 5px;
}
.bpmovie_box_container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

/* ================================================
Layout
================================================*/
#wrapper{
  font-weight: 400;
}
.top .articleBody{}
.leaf .articleBody{
  overflow: hidden;
  margin-bottom: 50px;
}
.leaf .articleBody.index{
  padding-top: 50px;
}
.leaf.container{
  position: relative;
}
@media (min-width: 768px) {
  .top .articleBody{
  padding-top: 70px;
  }
  .leaf.container {
    padding-top: 70px;
  }
  .leaf .articleBody.index{
    margin-right: 0px;
  }
}

.content{
  padding-top: 65px;
}
@media (min-width: 768px) {
  .content{
    padding-top: 80px;
  }
}
.articleBody a{
  transition:all .4s;
  color: #2f2f2f;
}
a:hover{
  color: #000;
  text-decoration: underline;
}

/* header */
.site-header_inner{
  background-color: #fff;
  box-shadow: 0 2px 16px rgba(0,0,0,0.1);
  padding: 15px 0;
}
.site-header-title{
  display: inline;
}
.site-header-title img {
  display: table;
  table-layout: fixed;
  float:none;
  margin: 0 auto;
  width: auto;
  height: 24px;
}
.site-header button{
  z-index: 1050;
}
.site-header .drawer-nav{
  z-index: 1040;
}
.drawer--left.drawer-open .drawer-hamburger{
  left: 12.725rem!important;
}
.drawer-hamburger{
  padding: 16px .75rem 12px!important;
}
@media (min-width: 768px) {
  .site-header_inner{
    padding: 15px 0;
  }
  .site-header-title img {
    width: auto;
    height: 36px;
  }
  .drawer-hamburger{
    padding: 22px .75rem 26px!important;
  }
}

.top .mainContent{
  position: relative;
}
.top .articleBody .cover{
  padding-bottom: 20px;
}

.media-btn{
  text-align: center;
  background: #000;
  border-radius: 2px;
  color: #fff;
  font-size: 0.875rem;
  transition:all .4s;
}
.media-btn.white{
  background-color: #fff;
  color: #000;
}
.media-btn a{
  display: block;
  color: #fff;
  font-size: 0.875rem;
  padding: .725rem 0 1.0rem;
  width: 100%;
  max-width: 100%;
  height: 100%;
  text-decoration: none;
}
.media-btn.white a{
  color: #000;
}
.cover-img a:hover .media-btn{
  opacity: 0.8;
  -ms-filter: "alpha(opacity=80)";
  zoom:1;
}
.cover-txt .media-btn:hover,
.articleBody .media-btn:hover,
.Links .media-btn:hover,
aside .media-btn:hover{
  opacity: 0.6;
  -ms-filter: "alpha(opacity=60)";
  zoom:1;
}
.media-btn a:hover{
  text-decoration: none;
}
@media (min-width: 576px) {
}
@media (min-width: 768px) {
  .media-btn a{
    width: 100%;
  }
}
@media (min-width: 830px) {
}
@media (min-width: 768px) {
  .leaf.container .cover{
    padding-left: 15px;
  }
}

.cover .cover-img{
  background-color: #f5f5f5;
  text-align: center;
}
.cover .cover-img {
  padding: 50px 0;
}
.cover .cover-img a{
  width: 100%;
  height: 100%;
}

.cover .cover-img .media-btn{
  padding: .725rem 0 1.0rem!important;
}
.cover .TypicalImagesS{
  border:2px solid #000;
  margin: 0 auto;
  max-width: 230px;
}
@media (min-width: 576px) {
  .cover .TypicalImagesS{
    width:230px;
  }
}
@media (min-width: 768px) {
  .cover .TypicalImagesS{
    width: 90%;
  }
}

.cover .cover-img a img {
  max-height: 100%;
}
.cover .cover-img a:hover {
  opacity: .8;
}

.cover .cover-img .media-btn{
  margin: 24px auto 0;
  padding: 0;
  max-width: 230px;
}
.media-btn,
.media-btn a{
  letter-spacing: .2em;
}
.cover .cover-img,
.cover .cover-btn{
  margin: 0 auto 30px;
  text-align: center;
}
.cover .cover-img{
  margin-left: 0;
  margin-right: 0;
}
.cover .cover-btn ul li{
  margin: 0 auto 24px;
  text-align: center;
}
@media (min-width: 576px) {
  .cover .cover-btn.row{
    margin-left: 0;
    margin-right: 0;
  }
  .cover .cover-img,
  .cover .cover-btn{
    margin-bottom: 30px;
}
  .cover .cover-img .media-btn{
    width:230px;
  }
}
@media (min-width: 768px) {
  .cover .cover-img .media-btn{
    width: 90%;
  }
}

/* 定期購読 ボタン */
.cover .BookSeminarSale{
  margin: 0 auto;
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}
.cover .BookSeminarSale li{
  list-style: none;
  background: #2bbbad;
  border:2px solid #2bbbad;
  border-radius: 2px;
  line-height: 1.8;
  width: 100%;
}
@media (min-width: 576px) {
}
@media (min-width: 768px) {
  .cover .BookSeminarSale li{
    width: 100%;
    max-width: 286px;
  }
}
.cover .BookSeminarSale li.media-btn a{
  padding: 0.5rem 0 0.725rem;
  width: 100%;
  color: #fff;
}
.cover .BookSeminarSale li:hover a{
  text-decoration: none;
}
.cover .BookSeminarSale li.white{
  background-color: #fff;
}
.cover .BookSeminarSale li.white a{
  color: #2bbbad;
}

.cover .cover-txt{
  padding: 50px 10px;
  color: #2f2f2f;
  text-align: center;
}
.top .cover .cover-txt{
  text-align: left;
}
.cover .cover-txt .Title{
  font-size: 1.25rem;
  font-weight: 400;
}
@media (min-width: 768px) {
  .cover .cover-txt{
    text-align: left;
  }
}

.cover span.new-icon{
  background-color: #e70012;
  border-radius: 10px;
  color: #fff;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 1px 1rem 3px;
  letter-spacing: 4px;
  vertical-align: middle;
  margin-right: 1rem;
}
@media (min-width: 576px) {
  .cover span.new-icon{
  }
}
@media (min-width: 768px) {
  .left .cover span.new-icon{
    display: block;
  }
  .cover .cover-txt .Title{
    text-align: left;
  }
  .leaf .cover .cover-txt .Title{
    text-align: center;
    margin-bottom: 20px;
  }
}
@media (min-width: 830px) {
  .cover span.new-icon{
    display: inline-block;
  }
}
@media (min-width: 992px) {
  .leaf .cover .cover-txt .Title{
    text-align: center;
    margin-bottom: 60px;
  }
}

.cover-txt .SubTitle{
  font-size: 1.6875rem;
  font-weight: 700;
  color: #444;
}
.cover-txt .date{
  font-size: 1rem;
  font-weight: 400;
  margin-left: 1rem;
}
.cover-txt .Description{
  font-size: 28px; font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 20px;
}
.cover-txt .Subheading{
  margin-bottom: 50px;
}
.cover-txt dt{
  font-weight: 700;
  padding: 1.8rem 0 0;
}
.cover-txt dd {
  margin: 0 0 .5rem 0;
}
.cover-txt dd ul{
  padding: 0.5rem 0 0 20px;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 320px) and (max-width: 380px) {
  .cover-txt .Description{
    font-size: 1.625rem;font-size: 8.125vw;
  }
}
@media screen and (min-width: 381px) and (max-width: 574px) {
  .cover-txt .Description{
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 575px) and (max-width: 768px) {
  .cover-txt .Description{
    font-size: 2.0625rem;
  }
}
@media (min-width: 768px) {
  .top .cover .cover-txt{
    padding-top: 50px;
    padding-left: 50px;
    padding-bottom: 150px;
    margin-bottom: 20px;
  }
  .cover-txt .Description{
    font-size: 2.0625rem;
  }
  .leaf .cover .cover-txt{
    padding: 0px 3% 50px 3%;
    text-align: center;
  }
}
@media (min-width: 992px) {
  .leaf .cover .cover-txt{
    padding: 50px 3% 50px 3%;
  }
}

.content-title{
  font-size: 1.39rem;
  font-weight: 700;
  margin: 0 0 40px;
  padding-top: 0;
  border:none;
}
aside .content-title::before,
.articleBody h2.content-title::before{
  display: none;
  border:none;
}
.content-title_small{
  font-size: 1.05rem;
  font-weight: 700;
}

.row-eq-height {
    display: flex;
    flex-wrap: wrap;
}

.guide .sns-btn a{
  color: #fff;
}
.top .guide{
  border-top: #e6e6e6 solid 1px;
  margin-top: 50px;
}
@media (min-width: 768px) {
  .top .guide{
    margin-top: 0px;
    padding-top: 50px;
  }
}

/* Links */
.Links-block .btn3-set,
.Links-block .btn-full{
  margin: 0 2px;
}
.Links-block .btn2-set .media-btn{
  width: 45%;
  margin: 0 2.5% 30px;
  border:2px solid #000;
}
.Links-block .btn3-set .media-btn{
  width: 30%;
  margin: 0 2.5% 30px;
  border:2px solid #000;
}
.Links-block .btn3-set .media-btn:first-child,
.Links-block .btn3-set .media-btn:nth-child(4n){
  margin-left: 0%;
}
.Links-block .btn3-set .media-btn:nth-child(3n){
  margin-right: 0%;
}
.Links-block .btn-full.media-btn{
  border:2px solid #000;
}
@media (min-width: 768px) {
  .top .Links-block .Links{
    position: absolute;
    bottom: 60px;
    right: 0;
  }
  .leaf .Links-block .Links{
    margin-bottom: 50px;
  }
}

/* share */
.share.content-block{
  padding: 0 10px;
}
.share .row > div {
  text-align: center;
  margin: 0 0 10px;
  padding-right: 5px;
  padding-left: 5px;
  position: relative;
}
.sharebtns a {
  display: block;
  color: #fff!important;
  padding: 4px 1px 3px;
  font-size: 12px;
  height: 31px;
}
.sharebtns a:hover{
  text-decoration: none!important;
}
.facebookbtn {
  background-color: #1877f2;
}
.facebookbtn a{
  position: relative;
  top: 1px;
}
.facebookbtn a::before {
  content:" ";
  display:inline-block;
  width:22px;
  height:22px;
  background:url( /images/media/2019/lin/icon-fb-blue.png);
  background-size:contain;
  vertical-align:middle;
  position: relative;
  left: -5px;
  top: -3px;
}
.linebtn {
  background-color: #00b900;
}
.linebtn a::before {
  content:" ";
  display:inline-block;
  width:25px;
  height:25px;
  background:url( /images/media/2019/lin/icon-line-square.png);
  background-size:contain;
  vertical-align:middle;
  position: relative;
  left: -8px;
  top: -1px;
}
.twitterbtn {
  background-color: #1da1f2;
}
.twitterbtn a::before {
  content:" ";
  display:inline-block;
  width:25px;
  height:25px;
  background:url( /images/media/2019/lin/icon-Twitter-square.png);
  background-size:contain;
  vertical-align:middle;
  position: relative;
  left: -1px;
  top: -1px;
}

/* aside */
aside .content-title{
  text-align: center;
}
@media (min-width: 768px) {
  .sideL{
    padding-right: 2rem;
    border-right: #e6e6e6 solid 1px;
  }
}

aside ul.purchase-btn{
  margin-top: 30px;
}
aside ul.purchase-btn{
  padding-left: 0;
  text-align: center;
}
aside .purchase-btn_item a {
  display: block;
  width: 100%;
  height: 56px;
  overflow: hidden;
  color: #333;
  border: 2px solid #e8e8e8;
  background-color: transparent;
  transition: color .2s;
  padding: 0.8rem 1.125rem 0.9rem;
}
aside .sns-btn div{
  transition: .3s transform;
}
aside .sns-btn div:hover {
  transform: scale(1.15,1.15);
  background-color: transparent;
}

aside li{
  list-style: none;
  margin-bottom: 20px;
}
.purchase-btn .purchase-btn_item a img {
  max-height: 100%;
  transition: .2s transform;
}
.purchase-btn .purchase-btn_item a img:hover {
  transform: scale(1.2,1.2);
  background-color: transparent;
}
aside .content-block{
  border-bottom: #e6e6e6 solid 1px;
  padding: 50px 0 50px;
}
.leaf aside > .content-block:first-child{
  padding: 40px 0 30px;
  text-align: center;
}
aside .content-block:last-child{
  border-bottom: none;
}
aside .content-block .txt-box{
  text-align: left;
}
aside .content-block .txt-info{
  font-size: 1rem;
  line-height: 1.9;
  letter-spacing: .1em;
}
aside .content-block .info-title{
  font-weight: 700;
  font-size: 1em;
  line-height: 1.9;
  margin: 0 0 .5rem;
  padding-top: 0!important;
  border-top: 0;
}
aside .content-block .info-box{
  background: #eee;
  padding: 50px;
  overflow: hidden;
  margin-bottom: 30px;
}
aside .content-block .info-box .media-btn{
  margin: 30px auto 0;
  max-width: 290px;
}
aside .content-block .news-list{
  text-align: left;
  padding-bottom: 30px;
}
aside .content-block .news-list a{
  color: #2f2f2f!important;
}
aside .content-block .news-list dt{
  padding: 2em 0 0;
}
aside .content-block .news-list dd{
  padding-top: 1em;
  line-height: 1.7;
  margin: 0 0 1.8125rem 0;
}
.leaf .asideLeft{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-top: 50px;
  }
@media (min-width: 768px) {
  .leaf .asideLeft{
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 0;
  }
  aside .content-block .news-list{
    font-size: 0.875rem;
  }
  aside .content-block .txt-info{
  font-size: 0.875rem;
  }
}

.asideRight{}
.asideRight .border-box{
  border:2px solid #e8e8e8;
  padding: 40px 0;
  margin-bottom: 10px;
  text-align: center;
}
.asideRight .border-box a{
  width: 100%;
}
.asideRight .border-box .content-title_small{
  color: #4c4c4c;
  font-size: 0.875rem;
  margin: 0 0 .5rem;
}
.asideRight .border-box a{
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  color: #000;
  transition: .2s transform;
}
.asideRight .border-box a:hover{
  transform: scale(1.1,1.1);
  background-color: transparent;
}
.asideRight .border-box .mail-txt{
  font-weight: 700;
  text-indent: -56px;
  position: relative;
  margin-left: 42px;
  line-height: 0.5;
  font-size: 1rem;
}
.asideRight .border-box .mail-txt::before {
  content:" ";
  display:inline-block;
  width:42px;
  height:35px;
  background:url( /images/media/2019/lin/iconMail.png);
  background-size:contain;
  vertical-align:middle;
  position: relative;
  left: -10px;
  top: 10px;
}
.asideRight .border-box .mail-txt .mail-txt_icon{
  border-radius: 10px;
  background: #000;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 400;
  padding: 0.1rem 0.5rem 0.15rem 0.625rem;
  letter-spacing: 2px;
  line-height: 1;
  position: relative;
  bottom: 2px;
  left: 5px;
}
.asideRight .mag-list{
  padding-top: 30px;
  padding-left: 0;
}
.asideRight .mag-list li{
  list-style: none;
  text-align: left;
  padding: 20px 0;
  overflow: hidden;
  zoom: 1;
}
.asideRight .mag-list li a{
  text-decoration: none;
  color: #444;
}
.asideRight .mag-list li .mag-cover{
  width: 86px;
  margin-right: 20px;
  vertical-align: top;
  float: left;
  padding-top: 6px;
}
.asideRight .mag-list li img{
  transition: .3s transform;
}
.asideRight .mag-list li a:hover img {
  transform: scale(1.1,1.1);
  background-color: transparent;
}
.asideRight .mag-list li a:hover{
  color: #000;
}
.asideRight .mag-list li .mag-txt p{
  margin-bottom: 0.75rem;
}
.asideRight .mag-list li .mag-txt{
  font-weight: 400;
  overflow: hidden;
  zoom:1;
}
.asideRight .mag-list li a:hover .mag-txt{
  text-decoration: underline;
  color: #2f2f2f;
}
.asideRight .mag-list li a p,
.asideRight .mag-list li a .mag-txt .SubTitle{
  font-size: 0.875rem;
  font-weight: 400;
}
.asideRight .mag-list li a .mag-txt .Title{
  font-weight: 700;
}
.asideRight .mag-list li a .mag-txt .SubTitle span{
  display: inline;
  padding-left: 1em;
}
.asideRight .mag-list li a .mag-txt .SubTitle span,
.asideRight .mag-list li a .mag-txt .Price{
  font-size: 0.75rem;
}
@media (min-width: 768px) {
  .asideRight{
    margin-left: 1rem;
  }
  .asideRight .mag-list li a .mag-txt .SubTitle span{
    display: block;
    padding-left: 0;
  }
  .asideRight .content-block .content-title .content-title{
  font-size: 1.125rem;
  }
  .asideRight .content-block .content-title .content-title_small{
    display: block;
    line-height: 1.7;
  }
}

.asideRight .content-block .info-box {
  background: #eee;
  padding: 20px;
  overflow: hidden;
  margin-bottom: 30px;
}
.asideRight .content-block .info-box .media-btn {
  margin: 30px auto 0;
  max-width: 290px;
}
.asideRight .content-block .content-title_small br{
  display: none;
}
@media (min-width: 768px) {
  .asideRight .content-block .content-title_small br{
    display: block;
  }
    .asideRight .content-block .info-box .media-btn {
    margin: 15px auto 0;
  }
  .asideRight .mag-list li .mag-cover{
    padding-top: 4px;
  }
}

/* 本誌バックナンバー */
.backnumber h2.content-title{
  text-align: center;
}
.container-fluid{
  padding-left: 0;
}
ul.backnumber-list{
  padding: 100px 0 0 0;
  text-align: center;
  margin:0 auto;
}
.backnumber-list li{
  list-style: none;
  width: 120px;
  margin: 0 0.5rem 4rem 0.5rem;
}
.backnumber-list li img{
  max-width: 110px;
  padding-left: 5px;
  padding-right: 5px;
  height: auto;
  margin-bottom: 1rem;
  transition: .3s transform;
}
.backnumber-list li a{
  color: #2f2f2f;
}
.backnumber-list li a:hover img {
  transform: scale(1.1,1.1);
  background-color: transparent;
}
.backnumber-list li p,
.backnumber-list li a p{
  font-size: 0.875rem;
}
@media (min-width: 576px) {
  .backnumber-list li{
    margin-left: 1rem;
    margin-right: 1rem;
  }
}
@media (min-width: 768px) {
  .backnumber-list li{
    width: 130px;
  }
  .backnumber-list li img{
    max-width: 130px;
    padding-left:0;
    padding-right: 0;
  }
}

/* footer */
#footer{background: #eee; overflow:hidden;text-align: center;padding:50px 0;margin-top:50px;}
#footer .site-footer{
  overflow: hidden;
  padding: 0 20px 30px;
}
#footer .site-footer ul{
  padding-left: 0;
  text-align: center;
}
#footer .site-footer li{
  list-style:none;
  margin:0 3px;
  display:inline-block;
  padding: 0 10px 0 0;
  font-size: 0.75rem;
}
#footer .site-footer li{
  border-right: 1px solid #aaa;
}
#footer .site-footer ul > li:last-child{
  border-right: none;
}
#footer .site-footer a{
  color: #2f2f2f
}
#footer .site-footer a:hover{
  text-decoration: underline;
}
.site-footer-logo{
  margin-bottom: 30px;
}
.site-footer-logo img{
  width: 115px;
  height: 31px;
}
#footer small {
  font-size: 70%;
  font-weight: 700;
  letter-spacing: .1em;
}
@media (min-width: 768px) {
  #footer .site-footer{
     margin: 0 auto 40px;
  }
}
@media (min-width: 992px) {
  #footer .site-footer{
     margin: 0 auto 60px;
  }
}

/* パンくずリスト */
.breadcrumb{
  background:transparent;
  padding: 1.5rem 0 .5rem;
  font-size: 0.875rem;
  overflow: hidden;
}
.breadcrumb a{
  color: #2f2f2f;
  text-decoration: none;
}
.breadcrumb-item + .breadcrumb-item::before {
  display: inline-block;
  padding-right: .5rem;
  color: #7e8992;
  content: ">";
}
@media (min-width: 768px) {
  .breadcrumb{
    padding: 0 0 0 .5rem;
    position: relative;
    top: -50px;
  }
}

/* Pagination */
.pagination-link ul{
  padding-left: 0;
}
.pagination-link li{
  list-style: none;
}
.pagination-link .page-item a{
  color: #000;
}
.page-item .page-link {
  font-size: 0.75rem;
 }
.page-item.active .page-link {
  color: #fff;
  background-color: #000;
  border-color: #dee2e6;
}
.page-item.disabled .page-link {
  color: #e6e6e6;
}
@media (min-width: 375px) {
  .page-item .page-link {
    font-size: 0.75rem;
    padding: .75rem 1rem;
 }
}
@media (min-width: 576px) {
  .page-item .page-link {
    font-size: 0.8125rem;
    /*padding: .75rem 1rem;*/
 }
}
@media (min-width: 768px) {
  .pagination-link{
    margin-bottom: 50px;
  }
  .pagination{
    padding-bottom: 20px;
  }
}

.leaf.backnumber .articleBody{
  border-bottom: none;
}

/* page top */
.pageTop {
  position: fixed;
  bottom: 20px; right: 20px;
  font-size: 0.725rem;
  color: #fff;
}
.pageTop a {
  background-color: rgba(0,0,0,0.7);
  text-decoration: none;
  color: #fff;
  padding: 16px 18px;
  text-align: center;
  display: block;
  border-radius: 50%;
}
.pageTop a:hover {
  background-color: rgba(0,0,0,0.5);
  cursor : pointer;
}