/*----------------------------------------------------*/


/* entry_main
------------------------------------------------------*/

.entry_main {
  padding: 2em 0 0 0;
  margin: 2em 0 0 0;
  border-top: solid 1px #f5eaea;
}

.entry_main.nolead {
  margin: 0;
  border-top: 0;
}

.entry_main,
.entry_main p,
.entry_main ul,
.entry_main ol,
.entry_main dl {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.75;
  word-break: break-word;
}

.entry_main p:empty {
  display: none;
}

.entry_main p.center {
  text-align: center;
}

.entry_main ul,
.entry_main ol {
  margin: 1em 0;
}

.entry_main ul {
  list-style-type: disc;
  padding-left: 1.25em;
}

.entry_main ol {
  list-style-type: decimal;
  padding-left: 1.75em;
}

.entry_main hr {
  clear: both;
  display: block;
  border: 0;
  border-top: solid 1px #f5eaea;
  ;
  background-color: transparent;
  height: 0;
  margin: 1.5em 0;
}

.entry_main h3,
.entry_main h4,
.entry_main h5,
.entry_main h6 {
  clear: both;
}

.entry_main h1,
.entry_main h2,
.entry_main h3 {
  font-size: 2.5rem;
  margin: 2em 0 1em 0 !important;
  line-height: 1.3;
  border-left: 5px solid #b7060c;
  padding-left: .25em !important;
}

.entry_main>*:first-child {
  margin-top: 0 !important;
}

.entry_main>*:last-child {
  margin-bottom: 0 !important;
}

.entry_main h4,
.entry_main h5,
.entry_main h6 {
  margin: 2em 0 .5em 0;
}

.entry_main h3+h4 {
  margin-top: 0em;
}

.entry_main h4+h5,
.entry_main h5+h6 {
  margin-top: 0em;
}

.entry_main h4 {
  font-size: 2.1rem;
}

.entry_main h5 {
  font-size: 1.8rem;
}

.entry_main h6 {
  font-size: 1.6rem;
}

.entry_main p a.external,
.entry_main p strong>a[href^="http"][target="_blank"] {
  position: relative;
  margin-right: 1.25em;
}

.entry_main p a.external:after,
.entry_main p>strong>a[href^="http"][target="_blank"]:after {
  content: "\f08e";
  font-family: FontAwesome;
  padding-left: .25em;
  font-weight: normal;
  display: inline-block;
  margin-right: -1em;
}

.entry_main p a.download,
.entry_main p>strong>a:link[href$=".zip"] {
  position: relative;
  margin-right: 1.25em;
}

.entry_main p a.download:after,
.entry_main p>strong>a:link[href$=".zip"]:after {
  content: "\f019";
  font-family: FontAwesome;
  padding-left: .25em;
  font-weight: normal;
  display: inline-block;
  margin-right: -1em;
}

.entry_main p>a.external.btn,
.entry_main p>a.download.btn {
  padding-right: 20px;
}

.entry_main p>a.external.btn.large,
.entry_main p>a.download.btn.large {
  padding-right: 30px;
}

.entry_main .color01 {
  color: #c33;
}

.entry_main .color02 {
  color: #636693;
}

.entry_main .color03 {
  color: #936c63;
}

.entry_main p.small,
.entry_main p>small {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
}

.entry_main p>small {
  display: inline-block;
}

.entry_main a {
  word-break: break-word;
}

.entry_main aside,
.entry_main aside.type01,
.entry_main p.aside {
  clear: both;
  border: solid 1px #e8e8e8;
  border-radius: 4px;
  padding: 10px;
  margin: 2em auto;
}

.entry_main aside.type02,
.entry_main p.aside.type02 {
  border: solid 1px #e9e9e9;
  background-color: #f8f8f8;
}

.entry_main aside.type03,
.entry_main p.aside.type03 {
  border: solid 1px #efe8e8;
  background-color: #fdf8f8;
}

.entry_main aside.small,
.entry_main aside.small p,
.entry_main aside.small ul,
.entry_main aside.small ol,
.entry_main aside.small dl,
.entry_main p.aside.small {
  font-size: 14px;
  font-size: 1.4rem;
}

.entry_main aside>*:first-child,
.entry_main h3+aside,
.entry_main h4+aside,
.entry_main h5+aside,
.entry_main p.aside>*:first-child,
.entry_main h3+p.aside,
.entry_main h4+p.aside,
.entry_main h5+p.aside {
  margin-top: 0 !important;
}

.entry_main aside>*:last-child,
.entry_main p.aside>*:last-child {
  margin-bottom: 0;
}

.entry_main p.aside>img {
  display: block;
  margin: 1em auto;
  max-width: 100%;
  height: auto;
}

.entry_main p.aside>img+br {
  display: none;
}

.entry_main blockquote,
.entry_main p.blockquote {
  margin: 1.5em 0;
  margin-left: 1.5em;
  padding-left: 10px;
  border-left: 3px solid #ccc;
}

.entry_main table.table {
  border-collapse: collapse;
  box-sizing: border-box;
  background-color: #fff;
  font-size: 14px;
  margin: 2em auto;
  max-width: 100%;
}

.entry_main table.table caption {
  caption-side: bottom;
  margin: 5px 0 0 0;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: left;
}

.entry_main table.table th {
  padding: 3px;
  text-align: left;
  vertical-align: top;
  color: #333;
  background-color: #f8f8f8;
  border: 1px solid #ddd;
}

.entry_main table.table thead th {
  background-color: #e8e8e8;
}

.entry_main table.table td {
  padding: 3px;
  background-color: #fff;
  border: 1px solid #ddd;
}

.entry_main figure,
.entry_main figure.image,
.entry_main figure.pre,
.entry_main p.image {
  text-align: left;
  overflow: hidden;
  margin: 3em auto;
  position: relative;
  display: block;
}

.entry_main p.image {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
}

.entry_main>figure:first-child,
.entry_main h3+figure,
.entry_main h4+figure,
.entry_main h5+figure,
.entry_main>p.image:first-child,
.entry_main h3+p.image,
.entry_main h4+p.image,
.entry_main h5+p.image {
  margin-top: 0 !important;
}

.entry_main>figure:last-child,
.entry_main>p.image:last-child {
  margin-bottom: 0;
}

.entry_main figure,
.entry_main p.image {
  text-align: center;
}

.entry_main figure img,
.entry_main figure.image img,
.entry_main p.image img {
  box-sizing: border-box;
  border: 0;
  outline: 0;
  margin: 0;
  padding: 0;
  max-width: 100%;
  height: auto;
}

.entry_main figure.pre pre,
.entry_main p[class^="brush"] {
  text-align: left;
  margin: 0;
  border: solid 1px #e8e8e8;
  background-color: #fff;
  padding: 5px;
  overflow: auto;
  font-size: 1.6rem;
  font-family: monospace;
  white-space: pre;
}

.entry_main aside.w75,
.entry_main p.aside.w75,
.entry_main figure.w75,
.entry_main p.image.w75,
.entry_main p.image.w75+p.caption {
  max-width: 75%;
}

.entry_main aside.w66,
.entry_main p.aside.w66,
.entry_main figure.w66,
.entry_main p.image.w66,
.entry_main p.image.w66+p.caption {
  max-width: 66.6%;
}

.entry_main aside.w50,
.entry_main p.aside.w50,
.entry_main figure.w50,
.entry_main p.image.w50,
.entry_main p.image.w50+p.caption {
  max-width: 50%;
}

.entry_main figure.w33,
.entry_main p.image.w33,
.entry_main p.image.w33+p.caption {
  max-width: 33.3%;
}

.entry_main figure.w25,
.entry_main p.image.w25,
.entry_main p.image.w25+p.caption {
  max-width: 25%;
}

.entry_main figure.w20,
.entry_main p.image.w20,
.entry_main p.image.w20+p.caption {
  max-width: 20%;
}

.entry_main figure.w10,
.entry_main p.image.w10,
.entry_main p.image.w10+p.caption {
  max-width: 10%;
}

.entry_main aside.left,
.entry_main p.aside.left,
.entry_main figure.left,
.entry_main p.image.left {
  float: left;
  margin: 0 20px 10px 0;
}

.entry_main aside.right,
.entry_main p.aside.right,
.entry_main figure.right,
.entry_main p.image.right {
  float: right;
  margin: 0 0 10px 20px;
}

.sp_contents .entry_main aside.left,
.sp_contents .entry_main p.aside.left,
.sp_contents .entry_main figure.left,
.sp_contents .entry_main p.image.left {
  margin: 0 10px 10px 0;
}

.sp_contents .entry_main aside.right,
.sp_contents .entry_main p.aside.right,
.sp_contents .entry_main figure.right,
.sp_contents .entry_main p.image.right {
  float: right;
  margin: 0 0 10px 10px;
}

.entry_main aside.left+p,
.entry_main aside.right+p,
.entry_main p.aside.left+p,
.entry_main p.aside.right+p,
.entry_main figure.left+p,
.entry_main figure.right+p,
.entry_main p.image.left+p,
.entry_main p.image.right+p {
  margin-top: 0;
}

.entry_main figure.border img,
.entry_main figure.image.border img,
.entry_main p.image.border img {
  border: solid 1px #f3f3f3;
}

.entry_main figure>figcaption,
.entry_main p.image+p.caption {
  display: inline-block;
  margin-top: 5px;
  text-align: left;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  padding: 0;
}

.entry_main figure>figcaption>p {
  margin: 0;
  font-size: inherit;
}

.entry_main p.image+p.caption {
  display: block;
  margin: -2em auto 2em auto;
}

.entry_main p.image.left+p.caption,
.entry_main p.image.right+p.caption {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  float: none;
  max-width: none;
  margin: 0 0 1em 0;
}

.entry_main figure.profile,
.entry_main dl.profile,
.entry_main p.profile {
  display: block;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  margin: 1em 0;
  overflow: hidden;
}

.entry_main p.profile {
  position: relative;
  padding-left: 60px;
  min-height: 50px;
}

.entry_main p.profile>img {
  float: left;
  position: absolute;
  top: 0;
  left: 0;
  width: 48px;
  height: auto;
  border: solid 1px #f3f3f3;
}

.entry_main figure.profile>img {
  float: left;
  width: 48px;
  height: auto;
  border: solid 1px #f3f3f3;
  border-radius: 4px;
  outline: 0;
}

.entry_main figure.profile>figcaption {
  display: block;
  float: right;
  width: 100%;
  margin: 0 0 0 -50px;
}

.entry_main figure.profile>figcaption>dl {
  margin: 0 0 0 60px;
  font-size: 12px;
  font-size: 1.2rem;
}

.entry_main figure.profile>figcaption>dl>dt,
.entry_main dl.profile>dt {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
}

.entry_main figure.profile>figcaption>dl>dd,
.entry_main dl.profile>dd {
  margin-left: 0;
}

.entry_main dl.profile>dd {
  margin-bottom: 2em;
}

.entry_main dl.profile>dd:last-child {
  margin-bottom: 0;
}


/*.syntaxhighlighter override*/

.entry_main figure.pre .syntaxhighlighter,
.entry_main .syntaxhighlighter {
  font-size: 13px;
  font-size: 1.3rem !important;
  border: solid 1px #e8e8e8;
  border-radius: 4px !important;
  padding: 5px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.syntaxhighlighter .toolbar {
  display: none !important;
}

.syntaxhighlighter .line.alt1 {
  line-height: 1.5 !important;
}

.syntaxhighlighter .line.alt2 {
  line-height: 1.5 !important;
}

.syntaxhighlighter .gutter .line {
  border-right-color: #6a6 !important;
}

.syntaxhighlighter .gutter .line.highlighted {
  background-color: #6c6 !important;
}

.entry_main .marker01 {
  background: -webkit-linear-gradient(transparent 60%, #ffccdd 60%);
  background: linear-gradient(transparent 60%, #ffccdd 60%);
}

.entry_main .marker02 {
  background: -webkit-linear-gradient(transparent 60%, #ffdd66 60%);
  background: linear-gradient(transparent 60%, #ffdd66 60%);
}

.entry_main .marker03 {
  background: -webkit-linear-gradient(transparent 60%, #ffff88 60%);
  background: linear-gradient(transparent 60%, #ffff88 60%);
}

.entry_main .marker04 {
  background: -webkit-linear-gradient(transparent 60%, #ccff99 60%);
  background: linear-gradient(transparent 60%, #ccff99 60%);
}

.entry_main .marker05 {
  background: -webkit-linear-gradient(transparent 60%, #aaddff 60%);
  background: linear-gradient(transparent 60%, #aaddff 60%);
}

.entry_main .sup {
  font-size: 68.75%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

.entry_main .sub {
  font-size: 68.75%;
  vertical-align: bottom;
  position: relative;
  top: 0.1em;
}

.entry_main dt {
  text-decoration: underline;
}

.entry_main dt:nth-child(n+2) {
  margin-top: 1em;
}


/*table scroll (takei)*/

.entry_main table {
  width: 100%;
}

.entry_main .scroll {
  overflow: auto;
  /*tableをスクロールさせる*/
  white-space: nowrap;
  /*tableのセル内にある文字の折り返しを禁止*/
}

.entry_main .scroll::-webkit-scrollbar {
  /*tableにスクロールバーを追加*/
  height: 5px;
}

.entry_main .scroll::-webkit-scrollbar-track {
  /*tableにスクロールバーを追加*/
  background: #F1F1F1;
}

.entry_main .scroll::-webkit-scrollbar-thumb {
  /*tableにスクロールバーを追加*/
  background: #BCBCBC;
}

/*koukoku flex-list (takei)*/
.koukoku .flex-list {
  list-style: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.koukoku .col1 {
  width: 33.3333%;
}

.koukoku .col2 {
  width: 66.6666%;
}

.koukoku .col3 {
  width: 100%;
}

.koukoku .list-item {
  box-sizing: border-box;
  border: 1px solid #eee;
  overflow: hidden;
  position: relative;
}

.koukoku .list-item img {
  width: 100%;
}

.koukoku .list-item a {
  display: block;
  border: none;
}

.koukoku .list-item a:hover {
  border: none;
  opacity: .8;
}

.koukoku .list-item a:before {
  content: "Click";
  background: rgba(255, 0, 10, 0.7);
  color: #fff;
  font-size: 12px;
  padding: 2em 2em .1em;
  transform: rotate(-45deg) translateX(-16%) translateY(-70%);
  display: inline-block;
  position: absolute;
  z-index: 99;
}