@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){
  /*必要ならばここにコードを書く*/
}

nav#navi, .menu-header .sub-menu{
    font-weight: bold;
    box-shadow: 0 5px 15px -5px rgba(0,0,0,0.2);
}

.menu-header .sub-menu .item-label{
    font-size: 80%;
}
.menu-header .item-label{
    color: #b5b5b5 !important;
}
.menu-header .current-menu-item,
.menu-header .current-post-item,
.menu-header .current-menu-ancestor,
.menu-header .current-post-ancestor,
.menu-header .menu-item:hover {
    color: #333 !important;
    border-bottom: 3px solid #FDD835;
    transition: all .2s ease;
}

.menu-header .sub-menu .menu-item,
.menu-header .sub-menu .menu-item:hover{
    border-bottom: none;
}
.menu-header .current-menu-item>a .item-label,
.menu-header .current-post-item>a .item-label,
.menu-header .current-menu-ancestor>a .item-label,
.menu-header .current-post-ancestor>a .item-label,
.menu-header .item-label:hover{
    color: #333 !important;
    transition: all .2s ease;
}

@media screen and (max-width: 480px){
	/* モバイルトップメニュー */
	ul.menu-mobile{
		overflow-x: auto;
		overflow-y: hidden;
		display: flex !important;
		flex-wrap: nowrap;
		font-size: 14px;
		justify-content: flex-start;
		padding: 0 1em;
		-webkit-overflow-scrolling: touch;
		position: relative;
	}

	ul.menu-mobile > li{
		padding-right: 1em;
		white-space: nowrap;
	}
	ul.menu-mobile　.item-label{
		white-space: nowrap;
		font-size: 14px;
	}
}

.home main, .archive main{
    background-color: transparent;
    margin-top: 0;
    padding-top: 0;
}

.entry-card-wrap{
    background-color: white;
    border-radius: 4px;
    margin-bottom: 1em!important;
}

.entry-card-wrap:hover{
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.2);
    transform: translateY(-2px);
    background-color: white; 
    transition: all .3s ease;
}

@media screen and (max-width: 480px){
  .sns-share-message{ display: none; }
  .ss-bottom{
    position: fixed;
    bottom: -7px;
    right: 60px;
    z-index: 99999;
    width: calc(100vw - 70px);
    height: 40px;
    transform: translatey(100px);
    animation: fadeIn 1s ease-out 4s 1 normal both;
  }
}
@keyframes fadeIn {
  from {transform: translatey(10%); opacity: 0;}
  100% {transform: translatey(0%); opacity: 1;}
}

.widget-index-top,
.widget-above-single-content-title {
    position: relative;
    margin: 0;
    padding: 0.5em 1em;
    border: solid 3px #333;
}
.widget-index-top .main-widget-label,
.widget-above-single-content-title .main-widget-label {
    position: absolute;
    display: inline-block;
    top: -20px;
    left: -3px;
    padding: 0 15px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    font-size: 17px;
    background: #333;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}

.widget-index-top .main-widget-label::before,
.widget-above-single-content-title .main-widget-label::before {
    font-family: FontAwesome;
    content: "\f135";
    margin-right: 5px;
}

.widget-index-top .widget-entry-card-content,
.widget-above-single-content-title .widget-entry-card-content{
    display: table-cell;
    height: 74px;
    vertical-align: middle;
    font-size: 15px;
}

/************************************
** 記事内目次
************************************/
.toc {
  background: #f9f9f9!important;
  border: 0!important;
  display: block!important;
  border-top: 5px solid!important;
  border-top-color: #333!important;/*お好みの色に*/
  box-shadow: 0 2px 2px rgba(0,0,0,.2)!important;
  padding: 20px 32px 7px 32px!important;
  margin-bottom: 5%!important;
  width:95%;
  border-radius:10px;
}
@media screen and (min-width:600px){
.toc {
  padding: 20px 35px 15px 35px!important;
  width:70%;
}
}
.toc-title{
  margin: 0 20px 20px -10px!important;
  font-size: 23px!important;
  font-weight: 700!important;
  color: #333!important;/*お好みの色に*/
  background-color: initial;
}
.toc-title:before{
  font-family: "Font Awesome 5 Free";
  content: "\f0ca";
  font-weight: 900 !important;
  font-size: 20px;
  color: #fff;
  background-color: #333;/*お好みの色に*/
  border-radius: 50%;
  padding: 14px;
}
.toc a{
  color:#333;
  display: block;
  border-bottom: dashed 1px silver;
  padding-bottom: .5em;/*下の点線との間*/
  padding-top: 0em!important;/*下の点線との間*/
}
.toc ul li{
  font-weight: 700;
  line-height: 1.5;
  padding: 0 0 .4em 1.4em;
  position: relative;
}
.toc ul li:before{
  font-family: "Font Awesome 5 Free"!important;
  content: "\f138";
  position: absolute!important;
  left: -0.3em!important;
  color: #333;/*お好みの色に*/
  font-weight: 900;
}
.toc li li{
  font-weight: 400;
  padding-top:.5em;
  margin-top:0!important;
}
.toc_list li{
  margin-top:-5%!important;
}
@media screen and (min-width:834px){
.toc_list li{/*PCでは目次のh2同士の間隔は抑えめに*/
  margin-top:-1.8%!important;
}
}

/************************************
** サイドバーの目次
************************************/
.sidebar .toc{
  background:transparent!important;
  border:initial!important;
  border-top: initial!important;
  border-top-color: initial!important;
  box-shadow:initial!important;
  margin-bottom:initial!important;
  width: initial!important;
  border-radius:initial!important;
  padding-top:initial!important;
}
.sidebar .toc li li:before{
  color:#333;/*お好みの色に*/
}

/************************************
** トップシェアボタン
************************************/
.sns-share.ss-high-and-low-lc a .social-icon {
  font-size: 22px;
}
/************************************
** ボトムシェアボタン
************************************/
@media screen and (min-width:481px) {
  .sns-share, .sns-follow {
    width: 70%;
    margin-right: auto;
    margin-left: auto;
  }
}
.sns-share-buttons {
  justify-content: space-evenly;
}
.sns-share-buttons a {
  font-size: 1.25em;
  border-radius: 50%;
  width: 50px!important;
  height: 50px;
  opacity: .6;
}
@media screen and (max-width:834px) {
  .ss-bottom .sns-share-buttons a {
    font-size: 1.3em;
  }
}
.sns-share-buttons a .button-caption {
  display: none!important;
}
.sns-share-message, .sns-follow-message {
  color: #bbb;
  margin-bottom: 30px;
  position: relative;
}
.sns-share-message:before, .sns-follow-message:before {
  content: '';
  position: absolute;
  display: inline-block;
  width: 30px;
  height: 2px;
  left: 50%;
  bottom: -5px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 3px;
  background-color: #c0c0c0;
}

/************************************
** ボトムフォローボタン
************************************/
.sns-follow-buttons {
  justify-content: space-evenly;
}
.sns-follow-buttons a {
  font-size: 1.7em;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  opacity: .6;
}
@media screen and (max-width:834px) {
  .ss-bottom .sns-follow-buttons a {
    font-size: 1.3em;
  }
}

input.search-edit{
  border: none;
  border-bottom: solid 1px #efefef;
  box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgb(0 0 0 / 5%);
}
input.search-edit::placeholder {
  color:#ddd;
}
.search-submit{
  border-bottom: solid 1px rgba(0,0,0,.1);
  border-radius: 0 3px 3px 0;
  color: #fff;
  background-color: #333;/*お好みの色に*/
  width: 50px;
  height: 50px;
  top: 0;
  right: 0;
}

.widget_categories ul .cat-item{
     position: relative;
     border-top: 1px dotted #e1e1e1;
}
.widget_categories ul .cat-item:last-child{
     border-bottom: 1px dotted #e1e1e1;
}

@media screen and (min-width: 1024px) {
 .widget_categories ul .js-a {
     position: relative;
     padding-left: 15px;
 }
 .widget_categories ul .js-a::after{
     content: '';
     display: inline-block;
     position: absolute;
     top: 50%;
     left: 0;
     width: 0;
     height: 0;
     margin-top: -5px;
     border-top: 5px solid transparent;
     border-right: 6px solid transparent;
     border-bottom: 5px solid transparent;
     border-left: 6px solid #f8c678;
     transition: .2s ease;
 }
 body .widget_categories ul .js-li-toggle .js-a::after{
     content: '';
     display: inline-block;
     position: absolute;
     top: 50%;
     left: 0;
     width: 0;
     height: 0;
     margin-top: -5px;
     border-top: 5px solid #fe9ecd;
     border-right: 6px solid transparent;
     border-bottom: 5px solid transparent;
     border-left: 6px solid transparent;
     transition: .2s ease;
 }
 @keyframes categoryAni{
     0%{transform: translateY(-2px)}
     100%{transform: translateY(0px)}
 }
 .children {
     position: absolute;
     top: 0;
     opacity: 0;
     visibility: hidden;
     padding: 0!important;
 }
 .js-li-toggle .children {
     position: relative;
     opacity: 1;
     visibility: visible;
     transition: .2s ease;
     animation: categoryAni .2s forwards;
 }
 .children .cat-item {
     background-color: #fafafa;
 }
 .js-li-toggle .children .cf {
     padding-left: 26px!important;
 }
 }

.sidebar h3 {
    background-color: #333;
    padding: 7px 20px;
    margin: 40px 0 20px;
color: #fff;
 border-radius: 7px ;
	font-size: 1em;
}