@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}






/*デフォルトリンク*/

a {
  color: #2121d3;
}

a:hover {
  color: #d32121;
}

p {
color: #121212;
}



/*カラムシャドー*/

div#header-container {
box-shadow: 2px 2px 5px #aaa;
}

#main {
box-shadow: 2px 2px 5px #aaa;
border-radius: 0px;
}

#sidebar {
box-shadow: 2px 2px 5px #aaa;
border-radius: 0px;
}

#footer {
box-shadow: 0px 1px 0px #ccc;
border-radius: 0px;
}

h1.entry-title{
font-size: 26px;
line-height: 1.5;
font-weight: 800;
margin-bottom: 20px;
}

/*480px以下*/
@media screen and (max-width: 480px){
h1.entry-title{ 
font-size: 22px;
padding: 0;
}
}

.article h2 {
color:#fff;
font-weight: 600;
font-size: 20px;
line-height: 1.5;
padding: 0.5em 0.7em 0.5em;
margin: 1em 0 ;
border: double 4px #fff;
background: #4ec4d3;
background: #396cd7;
}

/*480px以下*/
@media screen and (max-width: 480px){
.article h2 {
font-size: 18px;
padding:.3em .6em .4em;
margin: 30px -9px 30px -11px;
}
}

.entry-card-snippet h2,
h2 a.entry-title-link {
font-size: 18px ;
color: #111;
line-height: 1.5;
margin: 15px 0 ;
}

h2.entry-card-title, h2.card-title {
font-size: 18px;
line-height: 1.5;
}

/*480px以下*/
@media screen and (max-width: 480px){
h2.entry-card-title, h2.card-title {
font-size: 16px;
line-height: 1.4;
}
}


.entry-card-snippet, .card-snippet {
font-size: 18px;
line-height: 1.6;
}

.article h3,
#comment-area h3,
#related-entries h2 {
font-size: 20px;
font-weight: 800;
color: #111;
line-height: 1.5;
padding: 0 0 0 0.5em;
margin: 30px 0px;
border: none;
border-left: 5px solid #396cd7;
}

/*480px以下*/
@media screen and (max-width: 480px){

.article h3 {
font-size: 18px;
margin: 30px -9px 30px -11px;
}
}

.article h4 {
font-size: 18px;
font-weight: 800;
color: #000;
line-height: 1.5;
padding: 0.4em 0 0.3em;
margin: 30px 0px;
border: none;
}

.related-entry-card-content h3.related-entry-card-title, related-entry-card-content h3.card-title {
font-size: 18px;
line-height: 1.5;
font-weight: 600;
}

/*480px以下*/
@media screen and (max-width: 480px){
h3.related-entry-card-title, h3.card-title {
font-size: 16px;
line-height: 1.4;
}
}

/*480px以下*/
@media screen and (max-width: 480px){
.related-entry-card-snippet, .card-snippet {
font-size: 16px;
line-height: 1.4;
}
}

.article h4, .article h5{
font-size: 18px;
font-weight: 800;
margin: 20px 0px;
}


.article p{
margin: 1em 0px 1.2em;
}

.sidebar h3 {
font-size: 16px;
color: #fff;
line-height: 1.5;
text-align: center;
font-weight: 600;
padding: 7px 10px 10px 0px;
margin: 1em 0 0.5em;
border: double 4px #fff;
background: #396cd7;
}


/*チェックボックス 赤*/
.box-red {
position: relative;
font-size: 1.1rem;
line-height: 1.5;
border: 2px solid #c53929;
border-radius: 5px;
padding: 0px 15px 18px;
margin: 20px 0 30px;
}

.box-red-title{
position: absolute;
top: -15px;
left: 15px;
font-size: 16px;
font-weight: 800;
background-color: #ffffff;
color: #c53929;
padding: 0 10px;
}

/*チェックボックス 青*/
.box-blue {
position: relative;
font-size: 1.1rem;
line-height: 1.5;
border: 2px solid #396cd7;
border-radius: 5px;
padding: 0px 15px 18px;
margin: 20px 0 30px;
}

.box-blue-title{
	position: absolute;
	top: -15px;
	left: 15px;
	font-size: 16px;
	font-weight: 800;
    background-color: #ffffff;
    color: #396cd7;
    padding: 0 10px;
}


.box-red ul, .box-red ol, .box-blue ul, .box-blue ol{
padding:0px 0px;
margin: 1.4em 1em -1em 1em;
}

.box-red ul li, .box-red ol li, .box-blue ul li, .box-blue ol li{
line-height: 1.5;
margin: 0 0 0.6em;
}

.admain{ 
text-align: left;
margin: 25px 0 30px 0px;
padding: 0px;
}

.g-map{
position: relative;
margin: 20px 0;
padding-bottom: 56.25%;
padding-top: 30px;
overflow: hidden;
max-width: 100%;
height: auto;
}
 
.g-map iframe, .g-map object, .g-map embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


.rwd_embed {
position: relative;
margin: 20px 0;
padding-bottom: 56.25%;
padding-top: 30px;
overflow: hidden;
max-width: 100%;
height: auto;
}
 
.rwd_embed iframe, .rwd_embed object, .rwd_embed embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.square_btn{
    display: inline-block;
    position: relative;
font-size:18px; 
line-height: 1.7;
    padding: 0.6em 1em 0.5em ;
margin: 0.8em 0px;
    text-decoration: none;
    background: #207bd6;/*ボタン色*/
    color: #FFF;
    border-bottom: solid 5px #106ac5;/*ボタン色より暗めに*/
    border-right: solid 5px #0059b4;/*ボタン色より暗めに*/
}

.square_btn:before{    
    content: " ";
    position: absolute;
    bottom: -5px;
    left: -1px;
    width: 0;
    height: 0;
    border-width: 0 6px 6px 0px;
    border-style: solid;
    border-color: transparent;
    border-bottom-color: #FFF;
}

.square_btn:after{   
    content: " ";
    position: absolute;
    top: -1px;
    right: -5px;
    width: 0;
    height: 0;
    border-width: 0px 6px 6px 0px;
    border-style: solid;
    border-color: #FFF;
    border-bottom-color: transparent;
}

.square_btn:active{ /*ボタンを押したとき*/
    border:none;
    -ms-transform: translate(6px,6px);
    -webkit-transform: translate(6px,6px);
    transform: translate(6px,6px);
}

.square_btn:active:after,.square_btn:active:before {
    content: none;/*ボタンを押すと線が消える*/
}

.square_btn a {color:#fff;text-decoration: none; border-bottom: 1px #fff solid;} 
.square_btn a :visited {color:#fff;} 
.square_btn a :hover {color: #aaa;} 


/*タグクラウド*/
.tagcloud {
  display: flex;
  flex-wrap: wrap;
}

.tagcloud a {
  background-color: #fff;
  border: 1px solid #dddedf;
  border-radius: 2px;
  color: #444;
  display: inline-block;
  padding: 3px 8px;
  text-decoration: none;
  font-size: 14px;
  margin: 2px;
  flex: 1 1 auto;
  display: flex;
  justify-content: space-between;
}

.tagcloud a:hover {
  background-color: #65b145;
  transition: all 0.5s ease;
  color: #fff;
}

.tagcloud a .tag-caption {
  word-break: break-all;
}

.tagcloud a .tag-link-count {
  margin-left: 8px;
}


/*括弧ボックス*/
.bracketsBox{
	position:relative;
	padding:20px;
	margin-top:20px;
}
.bracketsBox:before,
.bracketsBox:after {
    display: inline-block;
    position: absolute;
    width: 20px;
    height: 30px;
    content: "";
}
.bracketsBox:before {
    top: 0;
    left: 0;
    border-top: solid 1px #191919;
    border-left: solid 1px #191919;
}
.bracketsBox:after {
    right: 0;
    bottom: 0;
    border-right: solid 1px #191919;
    border-bottom: solid 1px #191919;
}

/*はてなボックス*/
/*ビックリボックス*/
.questionBox,
.exclamationBox{
	position:relative;
	margin-top:20px;
	padding:20px 20px 20px 70px;
}
.questionBox{background-color: #D9EFF7;}
.exclamationBox{background-color: #F6E1DF;}
.questionBox::before,
.exclamationBox::before{
	position:absolute;
	top:20px;
	left:20px;
	font-size:2rem;
	font-weight:800;
	color: #ffffff;
    text-align: center;
    vertical-align: middle;
    width: 30px;
    height: 30px;
	line-height: 30px;
    border-radius: 50%;
}
.questionBox::before{content: "?";background: #0096c8;}
.exclamationBox::before{content: "!";background: #c53929;}


/*ポイントボックス*/
.pointBox {
	position: relative;
font-size: 1rem;
    border: 2px solid #c53929;
border: 2px solid #396cd7;
    border-radius: 5px;
    padding:10px;
margin: 20px 0 30px;
}
.pointBox::before {
	content: "POINT";
	position: absolute;
	top: -15px;
	left: 15px;
	font-size: 18px;
	font-weight: 800;
    background-color: #ffffff;
    color: #396cd7;
    padding: 0 10px;
}

/*チェックボックス*/
.checkBox {
	position: relative;
font-size: 1rem;
    border: 2px solid #c53929;
    border-radius: 5px;
    padding:10px;
margin: 20px 0 30px;
}

.checkBox::before {
	content: "CHECK";
	position: absolute;
	top: -15px;
	left: 15px;
	font-size: 18px;
	font-weight: 800;
    background-color: #ffffff;
    color: #c53929;
    padding: 0 10px;
}


/*注釈*/
.asterisk{
	display: block;
    font-size: 1.3rem;
    color: #7F7F7F;
}

/*イエローマーカー*/
.markerYellow{background: linear-gradient(transparent 60%, #ffffbc 80%);}
/*ピンクマーカー*/
.markerPink{background: linear-gradient(transparent 60%, #FFDFEF 60%);}
/*ブルーマーカー*/
.markerBlue{background: linear-gradient(transparent 60%, #cce5ff 60%);}


element.style {
}

.search-edit, input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea, select {

font-size: 16px;
width: 100%;
padding: 9px 1em 7px;
border: 1px solid #ccc;
border-radius: 5px;
}



/************************************
** トップへ戻るボタン
************************************/
.go-to-top {
    right: 50px;
    bottom: 50px;
	 box-shadow: 2px 2px 3px darkgrey;
   	border-radius: 50%;
}

.go-to-top-button {
    background-color: #396cd7;
    border-radius: 50%;
	 color:white;
	 width: 60px;
    height: 60px;
}

.go-to-top-button:hover {
    color: white;
}


/*header*/

header.article-header.entry-header {
	 position:relative;
	 margin:auto;
}

#header-in{
	animation: fade-in 2s ease 0s 1 normal;
}

@keyframes fade-in{
	0%{opacity:0;transform:translate3d(0, -20px, 0);}
	100%{opacity:1;transform:translate3d(0,0,0);}
}

.navi-in a:hover,.navi-footer-in a:hover {
    background-color: transparent;
    transform: translateY(-3px);
}

.logo-image {
padding: 0px 0 10px;
font-size: inherit;
}


span.site-name-text {
    color: #333;
}

#navi .navi-in a, #navi .navi-in a:hover {
    color: slategrey;
}

.header-container-in.hlt-top-menu{
	max-width:1138px;
	width:95%;
}


/*logo*/
.logo-text {
    padding: 0 0 15px;
    font-size: 1em;
    font-family: sans-serif;
	 color: #396cd7;
}

/*footer*/

.navi-footer-in a {
    color: slategray;
}

.source-org.copyright {
    color: #545454;
}

/*Table of Contents*********************************************************/
.toc{
	padding:0;
	border: 1px solid #396cd7;
	border-top-left-radius:7px;
	border-top-right-radius:7px;
	border-bottom-left-radius:7px;
	border-bottom-right-radius:7px;
width: 80%;
padding: 0em 0 1em;
margin-bottom: 1em;
display: table;
}

.toc-title {
    background: #396cd7;
    color: white;
	border-top-left-radius:3px;
	border-top-right-radius:3px;
}

.toc-title:before {
    font-family: "FontAwesome";
    content: "\f0ca";
    margin-right: .5em;
    padding: .3em;
}

.toc-list.open {
    padding: 0 2em;
}

.toc a{
	transition:all 200ms ease-in-out;
}

.toc a:hover {
    text-decoration: none;
    color: #396cd7;
}

.toc a {
    color: #396cd7;
}

ol.toc-list{
    counter-reset: item;
    list-style-type: none;
    padding-left: 0;
margin-bottom: 1em;
}

ol.toc-list > li > a{
	  font-weight:bold;
}

ol.toc-list > li:before {
    counter-increment: item;
    content: counter(item)'';
    display: inline-block;
    width: 1.8em;
    height: 1.7em;
    line-height: 1.7em;
    text-align: center;
    background: #396cd7;
    color: white;
    border-radius: 50%;
    margin-right: .5em;
}

ol.toc-list li {
    margin: 1.2em 0;
}

.toc-list>li>ol {
    font-size: 1em;
    color: #396cd7;
    padding-left: 3em;
}

.toc-list>li>ol>ol {
	  padding-left: 0;/*小見出し一つの時用*/
}

@media (max-width:480px){
  .toc{
   width:100%;
  }
}


/*-- 追加 --*/

.article dl{
padding: 0 0;
margin: 1em 0;
}

.article dt{ 
color:#003366;
color:#010101;
font-size: 1.1rem;
font-weight:800;
line-height: 1.5;
padding: 0px 0px 0px 0px;
margin: 15px 0px 0px 0px;
display:block;
}
.article dd{ 
color:#222;
font-size: 1.1rem;
line-height: 1.5;
margin: 0 0;
padding: 6px 0px 5px;
border-bottom: 1px dotted #ccc;
}

dl.outline{
clear: both;
width: auto;
background:#eee;
padding:0px;
border-top: 1px solid #dedede;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin:25px 0px;
}

dl.outline dt{
float:left;
clear:both;
color:#121212;
font-weight: 400;
width:140px;
height: auto;
text-align:center;
background:#eee;
padding: 8px 10px 7px 14px;
border-top: 1px solid #fff;
margin:0px 0px 0px 0px;
}

dl.outline dd{
width:auto;
height: auto;
text-align:left;
background-color:#eee;
padding: 8px 10px 7px 14px;
border-top: 1px solid #fdfdfd;
border-left: 1px solid #045A98;
margin:0px 0px 0px 140px;
}

.red, .article dl dt.red{
color: #ff0000;
}

.orange, .article dl dt.orange{
color: #ff7d13;
}

.blue, .article dl dt.blue{
color: #3261AB;
}
.green, .article dl dt.green{
color: #23AC0E;
}



/*480px以下*/
@media screen and (max-width: 480px){
.article dt, .article dd, .outline dt, .outline dd {
font-size: 16px;
}
}


tr{
border-bottom: 1px dotted #ddd;
}

dl.outline dd img{
float:left;
padding: 0;
margin:0px 10px 5px 0px;
}
.clear{
clear:both;
}






/************************************
** カテゴリーのラベル
************************************/

.cat-label {
  position: absolute;
  top: 0.3em;
  left: 0.3em;
  border: 1px solid #fff;
  font-size: 12px;
  color: #fff;
  background-color: rgba(51, 51, 51, 0.7);
background-color:#396cd7;
padding: 3px 6px 2px 6px;
border: 1px solid #fff;
  max-width: 80%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0.8;
}

/*本文下カテゴリ*/
.cat-link {
  color: #fff;
  text-decoration: none;
  display: inline-block;
  margin-right: 5px;
  padding: 3px 7px 2px;
  font-size: 12px;
  background-color: #dd4e42;
  border-radius: 2px;
  word-break: break-all;
}

.cat-link:hover {
  opacity: 0.5;
  color: #fff;
}

ul li.cat-item {
font-size: 16px;
border-bottom: 1px dotted #ccc;
line-height: 1.5;
margin: 0 0;
padding: 0px 0px 0px 0px;
}






/************************************
** 新着記事ウィジェット（デフォルト）
************************************/
.widget-entry-cards .a-wrap {
  padding: 5px 3px;
line-height: 1.5;
  margin-bottom: 4px;
}
.widget-entry-cards .widget-entry-card {
  font-size: 16px;
  position: relative;
}
.widget-entry-cards figure {
  width: 120px;
}
.widget-entry-cards .widget-entry-card-content {
  margin-left: 124px;
}
.widget-entry-cards .widget-entry-card-pv {
  margin-left: 5px;
  font-style: italic;
  font-size: 0.8em;
}


.new-entry-card-title, .widget-entry-card-title card-title {
font-size: 16px;
font-weight: 400;
color: #222;
}

/************************************
** 新着記事ウィジェット（大きなサムネイル）
************************************/
.widget-entry-cards.not-default .a-wrap {
  max-width: 400px;
}
.widget-entry-cards.not-default .e-card {
  font-size: 16px;
}
.widget-entry-cards.not-default figure {
  float: none;
  width: 100%;
}
.widget-entry-cards.not-default figure img {
  width: 100%;
}
.widget-entry-cards.not-default .card-content {
  margin: 0 0 0.5em;
}
.widget-entry-cards.not-default .widget-entry-card-pv {
  opacity: 0.7;
  position: absolute;
  top: 0;
  right: 0;
  padding: 3px 6px;
  background-color: #333;
background-color: #009fd6;
  color: #fff;
}

/************************************
** 新着記事ウィジェット（タイトルを重ねた大きなサムネイル）
************************************/
.widget-entry-cards.large-thumb-on .a-wrap:hover {
  opacity: 0.7;
}
.widget-entry-cards.large-thumb-on .e-card {
  position: relative;
}
.widget-entry-cards.large-thumb-on .card-content {
  margin: 0;
}
.widget-entry-cards.large-thumb-on .card-title {
  position: absolute;
  width: 100%;
  bottom: 0;
  padding: 10px 5px;
  background-color: rgba(51, 51, 51, 0.7);
background-color: #009fd6;
  color: #fff;
  max-height: 30%;
  overflow: hidden;
}

/************************************
** 人気記事ウィジェットランキング表示
************************************/
.widget-entry-cards.ranking-visible {
  counter-reset: p-rank;
}
.widget-entry-cards.ranking-visible .widget-entry-card-thumb {
  counter-increment: p-rank;
}
.widget-entry-cards.ranking-visible .widget-entry-card-thumb::before {
  content: counter(p-rank);
  position: absolute;
  top: 0;
  left: 0;
  padding: 4px;
  width: 16px;
  height: 16px;
line-height: 16px;
background-color: #396cd7;
  color: #fff;
  opacity: 0.8;
  text-align: center;
  font-size: 14px;
  font-family: Arial,sans-serif;
  z-index: 1;
}


.popular-entry-card-title, .widget-entry-card-title card-title {
font-size: 16px;
font-weight: 400;
line-height: 1.5;
color: #222;
}




/************************************
** 目次
************************************/
.toc {
border: 1px solid #ccc;
font-size: 16px;
line-height: 1.5;
padding: 1em 1em 0.7em ;
margin-bottom: 1em;
display: table;
}

.toc ul, .toc ol {
padding-left: 20px;
margin-top: 0.5em;
}
.toc ul {
list-style: none;
padding-left: 5px;
}

.toc a {
color: #222;
text-decoration: none;
}

.toc a:hover {
  text-decoration: underline;
}

.toc-title {
font-size: 16px;
  text-align: center;
  display: block;
  padding: 2px 16px;
}


.sidebar h3 {
font-size: 16px;
line-height: 1.5;
color: #fff;
text-align: center;
font-weight: 600;
padding: 10px 10px 11px 0px;
margin: 1.5em 0 1em;
border: double 4px #fff;
background: #bf1e56;
background: #009fd6;
}

