@charset "UTF-8";

#content {
  color: #bdbdbd;
}

#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
  line-height: normal;
}

#content p {
  line-height: 2em;
}

#content p + img {
}

#content header.page-title {
  padding: 120px 0;
}

#content header.page-title h1 {
  text-align: center;
  margin-bottom: 0;
  line-height: normal;
}

@media only screen and (max-width: 799px) {
  #content header.page-title {
    padding: 80px 0;
  }

  #content header.page-title h1 img {
    width: 100%;
  }
}

@media only screen and (max-width: 639px) {
  #content header.page-title {
    padding: 40px 0;
  }
}

@media only screen and (max-width: 479px) {
  #content header.page-title {
    padding: 20px 0;
  }
}

#content > .spacer {
  background-color: rgba(0,0,0,0.8);
  padding: 30px 60px 30px 60px;
}


@media only screen and (max-width: 767px) {
  #content > .spacer {
    padding: 15px 1em 1em 1em;
  }
}


@media only screen and (min-width: 480px) {
  .sw .desktop {
    display: block;
  }

  .sw .mobile {
    display: none;
  }
}

@media only screen and (max-width: 479px) {
  .sw .desktop {
    display: none;
  }

  .sw .mobile {
    display: block;
  }
}


em, strong {
  color: #fff;
  font-style: normal;
  font-weight: bold;
}




header.bg_fire-particles {
  background: url(../img/common/bg_fire-particles_b.png) no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 0.5em 0;
  margin-bottom: 30px;
}

h2, h3 {
  /*font-family: YuMincho, '游明朝', 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN', serif, 'メイリオ', sans-serif, FontAwesome !important;*/
  /*font-family: YuMincho, '游明朝', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif, FontAwesome !important;*/
  line-height: normal;
}

h2 {
  color: #fcdd6c;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(193,124,77,1)), color-stop(100%,rgba(252,221,108,1))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  rgba(193,124,77,1) 0%,rgba(252,221,108,1) 100%); /* Chrome10+,Safari5.1+ */
  -webkit-background-clip: text;
  /*-webkit-text-fill-color: transparent;*/
  text-align: center;
  font-size: 225%;
  margin: 0;
}

@media only screen and (max-width: 639px) {
  h2 {
    font-size: 200%;
  }
}

@media only screen and (max-width: 479px) {
  h2 {
    font-size: 175%;
  }
}

h3 {
  font-size: 150%;
  color: #eacb94;
  border-bottom: 1px solid #eacb94;
}

h4 {
  font-size: 125%;
  color: #eacb94;
  margin-bottom: 0.33em;
}

section.child {
  margin-top: 1.5em;
}

#content a:link,
#content a:visited {
  color: #3B84FF
}


/* list */
ul {
  margin-left: 1.5em;
}

ul > li {
  list-style-type: none;
  text-indent: -1em;

}

ul > li:before {
  content: '■';
  color: #eacb94;
}




ul.justify {
  margin-bottom: 0;
}

ul.justify li img + .caption {
  display: block;
  margin: 0.25em 0;
  font-size: 90%;
  font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Roboto,'Droid Sans',Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif,FontAwesome !important;
}

ul.justify > li {
  vertical-align: top;
  text-align: left;
  width: 100%;
  margin-bottom: 1em;
}

ul.justify li._1d3 {
  width: 31%;
  min-width: 31%;
  max-width: 280px;
}

ul.justify li._1d2 {
  width: 48%;
  min-width: 48%;
  max-width: 405px;
}

ul.justify li._2d3 {
  width: 64%;
}

ul.justify li._1d4 {
  width: 24%;
  min-width: 22%;
  max-width: 192px;
}

@media only screen and (max-width: 767px) {
  ul.justify li._1d4 {
    width: 48%;
    min-width: 48%;
  }
}

ul.justify li.al-r {
  text-align: right;
}


@media only screen and (max-width: 959px) {
  ul.justify > li {
    min-width: auto !important;
    max-width: inherit !important;
  }

  ul.justify > li img {
    width: 100%;
  }
}

@media only screen and (max-width: 639px) {
  .post-content > ul.justify > li {
    width: auto;
    display: block;
  }
}

ul.justify > li {
  text-indent: 0;
}

ul.justify > li:before {
  content: none;
}


/* dl */

dl.words {
  padding-left: 1.5em;
}

dl.words dt,
dl.words dd {
  vertical-align: bottom;
  display: inline;
  margin: 0 0 1em 0;
}

dl.words dt {
  font-weight: bold;
  color: #fff;
  margin-left: -1.5em;
}

dl.words dt:before {
  content: '■「';
}

dl.words dt:after {
  content: '」…';
}

dl.words dd:after {
  content: '';
  display: block;
  margin-bottom: 1em;
}

/* table types */
table {
  width: 100%;
}

table th.key {
  color: #eacb94;
}


table.default {
  background: none;
  border-collapse: collapse;
  margin-bottom: 1.5em;
}

table.default thead * {
  text-align: center;
}

table.default th,
table.default td {
  text-align: left;
  background: none;
  border-right: 1px dashed #808080;
  border-bottom: 1px solid #909090;
}

table.default th {
  background: rgba(255,255,255, 0.1);
}

table.default tr *:last-child {
  border-right: none;
}

table.default > tr:last-child > td,
table.default > tr:last-child > th {
  border-bottom: none;
}

table.default tbody > tr:last-child > td,
table.default tbody > tr:last-child > th {
  border-bottom: none;
}



table.border-horizontally {
  background: none;
  border-collapse: collapse;
  margin-bottom: 1.5em;
  border-top: 1px solid #888;
}

table.border-horizontally th {
  padding: 0.5em 1em;
}

table.border-horizontally th,
table.border-horizontally td {
  background: none;
  border-bottom: 1px solid #888;
}

/*
  Others
*/
ul.justify.flow li._1d4:after {
  content: '';
  background: url(../img/common/flow_right-arrow.png) no-repeat;
  position: absolute;
  right: -8%;
  top: 36%;
  width: 12px;
  height: 24px;
  display: block;
  z-index: 100;
}

ul.justify.flow li._1d4:last-child:after {
  content: none;
}

ul.justify.flow li._1d4 span.number {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  padding: 0.25em 0.5em;
  background: rgba(0,0,0,0.75);
}

@media only screen and (max-width: 767px) {
  ul.justify.flow li._1d4 span.number {
    display: inline-block;
  }

  ul.justify.flow li._1d4:after {
    content: none;
  }
}