/*!
 * Den (http://github.com/shaform/hugo-theme-den)
 * Copyright 2018 Yong-Siang Shih
 * Licensed under GPL V2 (https://github.com/shaform/hugo-theme-den/blob/master/LICENSE)
 *
 * Nest v1.0.0 (http://www.molivier.com)
 * Copyright 2015 Matthieu OLIVIER
 * Licensed under GPL V2 (https://github.com/molivier/nest/blob/master/LICENSE)
 */
 
@import url("https://fonts.googleapis.com/earlyaccess/mplus1p.css");
@import url("fonts.css");
@import url("syntax.css");

/* Responsive */

@media (min-width: 768px) {
  .container {
    max-width: 98%;
    width: 98%;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 0.1rem !important;
    padding-left: 0.1rem !important;
  }
}
@media (min-width: 992px) {
  .header-nav {
    font-size: 15px;
  }
  .container {
    max-width: 95%;
    width: 98%;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 95%;
    width: 98%;
  }
  .header-nav {
    font-size: 17px;
  }
}
@media (min-width: 992px) {
  .header-nav {
    height:100px;
    line-height:100px;
    display: block !important;
  }
  .header-nav .nav-menu {
    float:right;
  }
  .header-nav .nav-menu a {
    margin-left:5px;
  }
  .header-nav .nav-menu a.nav-link {
    color: #fff;
  }
  .header-nav .nav-menu a:hover.nav-link {
    color:#fff;
    font-weight:600;
    opacity: 1;
    background-color: rgba(0,0,0,0.2);
  }
  dl.row dt {
    text-align: right;
  }
}
@media (max-width: 990px) {
  .navbar-dark .navbar-nav .nav-link {
    color: #EEEEEE;
  }
  .header-nav .nav-menu {
    line-height: 2em;
  }
  .header-nav .nav-menu {
    text-align: right;
  }
  .header-nav {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
    background-color: #17406D;
    font-size: 15px;
  }
  .header-nav .header-logo-image {
    display: none;
  }
  .header-wrapper {
    padding-top: 100px;
  }
  .content-nav {
    margin-bottom: 15px;
    padding: 10px;
}
}

/* Default styling */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  /*    font-size: 15px;*/
  color: #4b505a;
  background-color: #f5f5f5;
  line-height: 24px;
  -webkit-font-smoothing:antialiased;
	text-rendering: optimizeLegibility;

}

/* Links */
/* eb2344*/
/* 009bff*/
/* CE2323 */
a, a:visited { 
  color: #d2691e; 
  text-decoration: none; 
  transition: all 0.2s ease-out;
}
a:hover, a:active{ 
  text-decoration:underline; 
  color: #d2691e; 
  /*    opacity: 0.8; */
}

a.navigate{
  background-color: rgba(0,0,0,0.5);
  font-size: 12px;
  padding-left: 4px;
  padding-right: 4px;
  min-width: 100px;
  text-align: center;
  text-transform: none;
  font-weight: 600;
  color:#fff;
  text-decoration: none;
}
a.navigate:hover{
  opacity: 0.8;
}

a.more{
  font-size: 12px;
  margin-top: 30px;
}

/* Syntax Highlighting */

pre {
  background: #f8f7fa;
  padding: 34px;
  font-size: 16px;
  line-height: 24px;
  font-family: Consolas, monaco, monospace;
  border-radius: 0px;
  color: #4b505a;
  margin: 34px 0;
  font-weight: 700; 
}

.sh-highlight .hl::before {
    content: '$ ';
}
.sh-highlight .hl {
    background: none;
}

.linenos pre{
  border:none;
  margin-top:20px;
  margin-bottom:20px;
  padding-top:20px;
  padding-bottom:20px;
  padding-left:20px;
  padding-right:0px;
  background:#333;
  font-size:14px;
  font-weight:400;
  font-family:Consolas,monaco,monospace;
  color:#fff
}

.highlight pre {
  border:none;
  margin-top: 20px;
  margin-bottom: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 40px;
  padding-right: 40px;
  background:#333; 
  font-size: 14px;
  font-weight: 400;
  font-family: Consolas, monaco, monospace;
  color: #fff;
}

/* Titles */

h1 { 
font-size: 28px;
}

h2 { 
  font-size: 20px;
  line-height: 1.285714285714286em; 
  font-weight: 600;
  margin-top: 40px;   
  margin-bottom: 40px;
  padding: 0.5em;/*文字周りの余白*/
  color: #494949;/*文字色*/
  background: #fffaf4;/*背景色*/
  border-left: solid 5px #ffaf58;/*左線（実線 太さ 色）*/
}
h2:after {
padding: 0.5em;/*文字周りの余白*/
color: #494949;/*文字色*/
background: #fffaf4;/*背景色*/
border-left: solid 5px #ffaf58;/*左線（実線 太さ 色）*/
} 

h3 { 
  font-size: 16px;
  line-height: 1.285714285714286em; 
  font-weight: 600;
  margin-top: 30px; 
  margin-bottom: 30px;
  border-bottom: solid 3px #cce4ff;
position: relative;
}
h3:after {
display: block;
border-bottom: solid 3px #5472cd;
bottom: -3px;
width: 20%;
}

h4 { 
  font-size: 12px;
  line-height: 1.285714285714286em; 
  font-weight: 600;
  margin-top: 30px; 
  margin-bottom: 30px;
  text-transform: none;
  padding: 0.5em;
}
h4:after {
  display: block;
  content: " ";
  margin-top: 10px;
  width: 40px;
background: aliceblue;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.23);
}

/* Navbar */
.header-nav {
  color:#fff;
  font-weight:600;
}
.header-nav .nav-menu a {
  font-weight:600;
  color:#fff;
  text-decoration:none;
  padding:8px;
  text-transform: none;
  transition: all 0.2s ease-out;
}
.header-nav .nav-menu a:hover{
  color:#fff;
  font-weight:600;
  opacity: 1;
  background-color: rgba(0,0,0,0.2);
}
.header-nav .nav-menu .active{
  /*color:#fff;*/
  color:#fff;
  font-weight:600;
  background-color: rgba(0,0,0,0.2);
}
.header-logo {
  font-size:15px;
  font-weight:600;
  text-transform: none;
}
.header-logo a {
  color: #fff;
  text-decoration: none;
}
.header-nav .nav-menu .fas {
  padding-right: 8px;
}

/* Header */

.header-container {
  background: #f5f5f5;
  padding: 10px;
  min-height: 10px;
}
.header-wrapper{
  padding-left: 40px;
  padding-right: 40px;
  clear: both;
}
.header-content {
  text-align: center;
  padding: 25px 0 55px 0;
}
.header-title {
  font-size: 28px;
  color: #fff;
  font-weight: 700;
}

.header-date {
  margin-top: 15px;
  font-size: 12px;
  color: #fff;
  opacity: 0.8;

}
.header-date a {
  color: #fff;
  text-decoration: underline;
}
.header-underline {
  display: inline-block;
  margin-top: 10px;
  margin-bottom: 15px;
  width: 50px;
  border-bottom: 3px solid #eb2344;
}
.header-subtitle {
  font-size: 14px;
  line-height: 24px;
  color: #fff;
  font-weight: 300;
  text-align: justify;
}
.header-subtitle-homepage {
  text-align: center;
  font-style: italic;
}
.translations, .header-tags {
  font-size: 15px;
  color: #fff;
  font-style: italic;
}
.translations a, .header-tags a {
  color: #fff;
}
.header-title, .header-subtitle, .header-logo a, .nav-menue a, .translations, .header-tags, .header-subtitle-homepage {
  text-shadow:
  -1px -1px 0 #5E83AB,
  1px -1px 0 #5E83AB,
  -1px 1px 0 #5E83AB,
  1px 1px 0 #5E83AB;
}

/* Content */

.content{
  background-color: #fff;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 40px;
  padding-right: 40px;
  border-left: 1px solid rgba(0,0,0,0.1);
  border-right: 1px solid rgba(0,0,0,0.1);
}

.content img{
  border: 0;
  display: block;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-top: 45px;
  margin-bottom: 45px;
}

.content.highlight pre {
  padding-left: -40px;
  padding-right: -40px;
}

.content dt{
  font-size: 12px;
  font-weight: 400;
  line-height: 24px;    
}

.content iframe {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block;
}
/* Navigation */

.navigation{
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 0;
}
.navigation2{
  margin-top: 40px;
  margin-bottom: 40px;
}
.container.navigation::after {
  clear: both;
  display: table;
  content: " ";
}

/* Menu */
.menu{
  font-size: 14px;
}
.menu h4{
  margin-top: 0px;
  margin-bottom: 5px;  
}
.menu a{
  color: #fff;
  padding:0px;
  background-color: #eb2344;
  padding-left: 3px;
  padding-right: 3px;
  padding-top: 2px;
  padding-bottom: 2px;
  opacity: 0.6;
}

/* Article */
.article-container{
  margin-top: 40px; 
}
.article {
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid rgba(0,0,0,0.1);
}
.article h2{
  margin-top: 0px;
  margin-bottom: 5px;  
}
.article h2 a{
  color: #4b505a;
  text-decoration: None;
}
.article .date{
  font-size: 12px;
  margin-bottom: 10px;
  opacity: 0.9;  
}

/* Archives */
.archive-container{
  margin-top: 40px;
  margin-bottom: 40px; 
}
.archive {
  font-size: 14px;
  line-height: 24px;
  padding-top: 20px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid rgba(0,0,0,0.1);
}
.archive h2{
  margin-top: 15px;
  margin-bottom: 20px;  
}
.archive h2 a{
  color: #4b505a;
  text-decoration: None;
}
.archive dt{
  font-size: 12px;
  font-weight: 400;
  line-height: 24px;    
  height: 24px;
}
.archive .more-post {
  text-align: center;
}
/* Styling */

blockquote{
  font-size: 15px;
  opacity: 0.850;
}
/* Comments */
.comments{
  margin-top: 40px;
}
.comment-underline {
  display: inline-block;
  margin-top: 10px;
  margin-bottom: 15px;
  width: 50px;
  border-bottom: 3px solid #eb2344;
}
.disqus-comment {
  margin-top: 40px;
  text-align: center;
}

/* Spaces */
.mr5 { margin-right: 5px;}
.mr20 { margin-right: 20px;}

/* Gradients */
.gradient {
  background-color: #356689;
}

/* Footer */

.footer{
  background-color: #333;
  font-size: 14px;
  font-weight: 300;
  text-align: left;
  color: #fff;
}

.footer-title {
  text-transform: none;
  margin-bottom: 3px;
  font-weight: 600;
  font-size: 12px;
}
.footer-container{
  padding-top: 20px;
  padding-bottom: 20px;
}
.footer a{
  color: #fff;
}
/* Gallery */
.content figure {
  text-align: center;
}
.content figure img {
  max-width: 98%;
}
.content .aligncenter  {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.content .alignright {
  float: right;
  margin-left: 1.5em;
}
.content .alignleft {
  float: left;
  margin-right: 1.5em;
}
.content figure figcaption a {
  position: static;
}

.img-responsive {
  display: block;
  height: auto;
  max-width: 100%;
}

.index-menu {
  background-color: #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 10px;
  padding-right: 10px;
  border-left: 1px solid rgba(0,0,0,0.1);
  border-right: 1px solid rgba(0,0,0,0.1);
  font-size: .8em;
}

.breadcrumb {
  padding: 0;
}
.breadcrumb li {
  display: inline;
  list-style: none;
}
.breadcrumb li:not(:last-child)::after {
  content: '>';
  padding: 0 0.5em;
}
ul.list,
ul.list ul {
    list-style-type: none;
    margin:0;
    padding:0;
}
ul.list ul {
    margin-left:10px; 
    position:relative;
}
ul.list ul:before {
    content:"";
    display:block;
    width:0;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    border-left:1px solid #ccc;
}
ul.list li  {
    margin:0;
    padding:3px 12px;
    text-decoration: none;
    text-transform: none;
    font-size:13px;
    line-height:20px;
    font-weight:normal;
    position:relative;
}
ul.list li a { 
    text-decoration: none;
    text-transform: none;
    font-size:14px;
    line-height:20px;
    font-weight:bold;
    position:relative;
}
ul.list li a:hover,
ul.list li a:hover+ul li a {
    color: #fc9723;
}
ul.list ul li:before {
    content:"";
    display:block;
    width:8px;
    height:0;
    border-top:1px solid #ccc;
    position:absolute;
    top:10px;
    left: 0;
}
ul.list ul li:last-child:before {
  	top: 10px; 
  	bottom: 0;
  	height: auto;

  	background: #fff; 
}
/* ポイントとかハイライトとか */
.highlight {
  background: linear-gradient(transparent 50%, #ffff00 0%);
  line-height: 1.3em;
}
.box26 {
  position: relative;
  margin: 2em 0;
  padding: 0.5em 1em;
  border: solid 4px #01A9DB;
  border-radius: 8px;
  font-weight: bold;
}
.box26 .box-title {
  position: absolute;
  display: inline-block;
  top: -22px;
  left: 10px;
  padding: 0 9px;
  line-height:1;
  font-size: 18px;
  background: #FFF;
  color: #01A9DB;
  font-weight: bold;
}
.box26 p {
  margin: 0; 
  padding: 0;
}
/* 「続いては〜」のCSS部分　*/
.kakomi-tape3 {
 position:relative;
 padding: 35px 20px 15px;
 margin: 2.5em auto;
 width: 90%;
 font-weight: bold;
 color: #555555; /#000000/
 background-color: #e8ddbd;
 box-shadow: inset 0 0 40px rgba(204, 186, 136,1), 0 2px 2px #ccc;
}
.title-tape3 {
 position: absolute;
 top: -15px;
 left: 30px;
 padding: 4px 20px;
 color: #555555; /#000000/
 font-weight: bold;
 background-color: rgba(255,255,255,.4);
 border-left: 2px dotted rgba(0,0,0,.1);
 border-right: 2px dotted rgba(0,0,0,.1);
 box-shadow: 0 0 5px rgba(0,0,0,0.2); 
 transform: rotate(-5deg);
}