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



/************************************
** デザインのカスタマイズ
************************************/

.main{
  background-color: #f2f2f2; 	
}

.sidebar {
  background-color: rgba(255, 255, 255, 0);
}

.blogcard-wrap{
  background-color: #ffffff;
}



/************************************
** プロフィールボックス
************************************/
.nwa .author-box {
  text-align: center;
  max-width: 100%;
}
.sidebar .author-box {
  background-color: #f2f2f2;
  border: none;
  border-radius: 4px;
  margin: 1em 0;
  line-height: 1.4;
  position: relative;
  padding: 1.4% 2% 1.8%;
}
.nwa .author-box .author-thumb {
  float: none;
  width: 100%;
  margin: 9px auto 0;
  background: url(https://ebookbrain.net/wp-content/uploads/featured-Images/world001.jpg) center no-repeat;
 background-color: #fff;
  background-size: cover;
  height: 0;
  padding-top: calc(100%*392/700);
  position: relative;
}
.sidebar .author-thumb img {
  border: 3px solid #f2f2f2;
  background-color: #f1f1f1;
  width: 30%;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -25%;
}
.nwa .author-box .author-content {
  margin-top: 16%;
  font-size: 0.9em;
}
.author-name {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 10px;
}
.author-box .author-name a {
  text-decoration: none;
  color: #333;
}
.author-box p {
  margin-top: 0.3em;
  line-height: 1.6;
}
.author-box p a {
  text-decoration: none;
  color: #008cee;
}
.author-box p a:hover {
  text-decoration: underline;
  color: #008cee;
}
.author-box .sns-follow-buttons a.follow-button {
  font-size: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  margin-bottom: 4px;
  margin-right: 8px;
  background: none;
  color: #fff;
}
.author-box a.follow-button span {
  line-height: 40px;
}
.author-box a.follow-button span::before {
  font-size: 22px;
}
/*
.author-box .icon-twitter-logo::before {
  font-family: FontAwesome;
  content: "\f099"
}
*/
.author-box .icon-facebook-logo::before {
  font-family: FontAwesome;
  content: "\f09a";
}
.author-box .icon-instagram-new::before {
  font-family: FontAwesome;
  content: "\f16d";
}
.author-box .icon-hatebu-logo::before {
  font-family: Verdana;
  content: 'B!';
  font-weight: bold;
}
.author-box .icon-google-plus-logo::before {
  font-family: FontAwesome;
  content: "\f0d5";
}
.author-box .icon-youtube-logo::before {
  font-family: FontAwesome;
  content: "\f167";
}
.author-box .icon-pinterest-logo::before {
  font-family: FontAwesome;
  content: "\f231";
}
.author-box .icon-amazon-logo::before {
  font-family: FontAwesome;
  content: "\f270";
}
.author-box .icon-github-logo::before {
  font-family: FontAwesome;
  content: "\f09b";
}
.author-box .website-button { background-color: #47555c !important; }
.author-box .twitter-button { background-color: #1da1f2 !important; }
.author-box .facebook-button { background-color: #3b5998 !important; }
.author-box .hatebu-button { background-color: #2c6ebd !important; }
.author-box .google-plus-button { background-color: #dd4b39 !important; }
.author-box .instagram-button { background: #e1306c !important; }
.author-box .youtube-button { background-color: #ef1515 !important; }
.author-box .flickr-button { background-color: #0063dc !important; }
.author-box .pinterest-button { background-color: #bd081c !important; }
.author-box .line-button { background-color: #00c300 !important; }
.author-box .amazon-button { background-color: #ff9900 !important; }
.author-box .rakuten-room-button { background-color: #c42e7f !important; }
.author-box .github-button { background-color: #333 !important; }
.author-box .feedly-button { background-color: #2bb24c !important; }
.author-box .rss-button { background-color: #f26522 !important; }
.author-box .soundcloud-button { background-color: #ff7700 !important; }
.author-box .note-button { background-color: #41C9B4 !important; }



/************************************
** 見出し
************************************/

.article h2 {
  padding: 0 15px;
  font-size: 20px;
  font-size: clamp(20px, 1rem + 5vw, 32px);
  font-weight: 800;
}

.article h2:not(:first-of-type) {
  padding: 30px;
  margin: 0 -30px;
  border-top: 50px solid #e5e5e5;
}

.article h3 {
  padding: 0 15px;
  border: none;
  border-bottom: 4px dotted #dedede;
}



/************************************
** 記事内シェアボタン
************************************/

#main .sns-share-buttons {
  justify-content: center;
}

#main .sns-share a {
  width: 78px;
  height: 78px;
  border-radius: 30%;
  margin: 0 10px;
  padding: 10px;
}

#main .sns-share a {
  width: 78px;
  height: 78px;
  border-radius: 30%;
  margin: 0 10px;
}

#main .share-count {
  right: 8px;
  bottom: 8px;
}



/************************************
** 目次
************************************/
.toc-list {
  list-style-type: none;
  counter-reset: item;
}

.toc-list > li {
  counter-increment: item;
}

.toc-list > li > a::before {
  content: counter(item);
  background-color: #000;
  color: #fff;
  width: 24px;
  height: 24px;
  display: inline-block;
  text-align: center;
  line-height: 150%;
  border-radius: 50%;
  margin-right: 0.5em;
}

.toc-list > li > ol {
  list-style-type: none;
}

.toc-list > li > ol > li::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #000;
  border-radius: 50%;
  margin-right: 0.5em;
}



/************************************
** 装飾マーカー
************************************/

/* デフォルトマーカー変更　 */
.marker {
	background: linear-gradient(rgba(255, 255, 255, 0) 0%, #f0e68c 20%, #f0e68c 100%);
	font-weight: 700;
}

.yellow-marker {
	background: linear-gradient(rgba(255, 255, 255, 0) 0%, #f0e68c 20%, #f0e68c 100%);
}

.pink-marker {
	background: linear-gradient(rgba(255, 255, 255, 0) 0%, #e08d93 20%, #e08d93 100%);
}

.bule-marker {
	background: linear-gradient(rgba(255, 255, 255, 0) 0%, #bbddd6 20%, #bbddd6 100%);
}



/************************************
** 装飾ラベル
************************************/

/* WP Responsive Menuの高さ100%が指定されてしまうため、paddingに!importantをつけています */
.bule-label {
    padding: 3px !important;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    background-color: #8fb0a9;
    border-radius: 3px;
}
  
.pink-label {
    padding: 3px !important;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    word-break: break-all;
    background-color: #ca525c;
    border-radius: 3px;
}

.orange-label {
    padding: 3px !important;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    word-break: break-all;
    background-color: #d07b3a;
    border-radius: 3px;
}

.green-label {
    padding: 3px !important;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    word-break: break-all;
    background-color: #aab828;
    border-radius: 3px;
}

.violet-label {
    padding: 3px !important;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    word-break: break-all;
    background-color: #a987aa;
    border-radius: 3px;
}



/************************************
** アプリーチ
************************************/
.appreach {
    text-align: left;
    padding: 10px;
    border: 1px solid #7C7C7C;
    overflow: hidden;
}
.appreach:after {
    content: "";
    display: block;
    clear: both;
}
.appreach p {
    margin: 0;
}
.appreach a:after {
    display: none;
}
.appreach__icon {
    float: left;
    border-radius: 10px;
    overflow: hidden;
    margin: 0 3% 0 0 !important;
    width: 25% !important;
    height: auto !important;
    max-width: 120px !important;
}
.appreach__detail {
    display: inline-block;
    font-size: 20px;
    line-height: 1.5;
    max-width: 72%;
}
.appreach__detail:after {
    content: "";
    display: block;
    clear: both;
}
.appreach__name {
    font-size: 16px;
    line-height: 1.5em !important;
    max-height: 3em;
    overflow: hidden;
}
.appreach__info {
    font-size: 12px !important;
}
.appreach__developper, .appreach__price {
    margin-right: 0.5em;
}
.appreach__posted a {
    margin-left: 0.5em;
}
.appreach-links {
    float: left;
    height: 40px;
    margin-top: 8px;
    white-space: nowrap;
}
.appreach__aslink img {
    margin-right: 10px;
    height: 40px;
    width: 135px;
}
.appreach__gplink img {
    height: 40px;
    width: 134.5px;
}



/************************************
** 広告の中央合わせ
************************************/

.ad-center {
	text-align: center;
}



/************************************
** PRのカスタマイズ(折り込みラベル風)
************************************/
.pr-label-s {
  display: inline-block;
  position: absolute;
  top: -6px;
  left: 27px;
  margin: 0;
  padding: 6px 10px 5px;
  width: auto;
  text-align: center;
  color: #fff;
  font-size: 12px;
  background-color: #434343;
  border-radius: 3px 0 0 0;
  border: none;
  white-space: nowrap;
}
.pr-label-s:before {
  position: absolute;
  content: '';
  top: 0;
  right: -6px;
  border: none;
  border-bottom: solid 6px #111;
  border-right: solid 6px transparent;
}



/**************************************************
** テーブル
**************************************************/

table {
    font-size: 14px;
}

body .content table th,
body .content table td{
  border: 1px solid #111;
}



/************************************
** カテゴリページの表示
************************************/

/*サムネイル画像のサイズを変更（変更前320px）*/
figure.entry-card-thumb.card-thumb.e-card-thumb {
    width: 120px;
  }
  
  .cat-label {
    display: none;
  }
  
  .entry-card-content {
    margin-left: 0;
  }
  
  .ect-entry-card {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: 1%;
  }
  
  .entry-card-wrap {
    width: 49.5%;
    display: inline-block;
  }



/* Cocoonのモバイルヘッダーメニュー */

/* ============================================
 *  Cocoon Mobile Menu: Menu Item Fade Animation 
 * ============================================ */

/* 親要素のz-indexを上げる（フッターメニューよりヘッダーメニューのポップアップを上に表示する） */
html body ul#menu-cocoon-mobile-header-menu{
    z-index: 9999;
}

/* メニューコンテナの基本設定（スライドなし、シンプルな表示切り替え） */
html body div#navi-menu-content{
    position: fixed;
    inset: 0 0 auto 0;               /* top:0; right:0; bottom:auto; left:0 と同義（left+rightで幅100%） */
    max-width: none;                 /* 親テーマの400px 制限を無効化 */
    max-height: 100vh;
    overflow-y: auto;
    z-index: 9999;
    transform: none;                 /* Cocoonのデフォルトのtransformを無効化 */
    visibility: hidden;              /* 閉じている時は非表示 */
    /* opacity は使わない。子要素のopacityアニメーションを見せるため */
}

/* メニューが開いた時：コンテナを表示 */
html body #navi-menu-input:checked ~ div#navi-menu-content{
    visibility: visible;             /* 表示 */
}

/* ============================================
 *  Background & Color Adjustments
 *  ─ 背景は各項目で管理し、コンテナ背景は消す ─
 * ============================================ */

/* コンテナ背景をリセット（Cocoon既定の #fff を打ち消し） */
html body div#navi-menu-content{
    background: none !important;
}

/* ×ボタンに背景と余白を付与 */
html body div#navi-menu-content label.menu-close-button{
    background: #444;
    color: #fff;
    padding: 8px 12px;
    border-radius: 4px;
}

/* ============================================
 *  Menu Item Fade Animation (Header Menu)
 * ============================================ */

/* メニュー項目の初期状態（閉じている時・非表示）- すべての階層に適用 */
html body div#navi-menu-content .menu-drawer > li,
html body div#navi-menu-content .menu-drawer > li > ul > li,
html body div#navi-menu-content .menu-drawer > li > ul > li > ul > li{
    margin-top: 12px;
    opacity: 0;
    transform: rotateY(90deg);
    transform-origin: 50% 50%;
    backface-visibility: hidden;
    transition-property: margin-top, opacity, transform;
    transition-duration: 0.3s;
    transition-timing-function: ease;
    transition-delay: 0s;          /* 閉じる時は遅延なし */
}

/* メニューが開いた時：順番にフェードイン - すべての階層に適用 */
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li,
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li > ul > li,
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li > ul > li > ul > li{
    margin-top: 0;
    opacity: 1;
    transform: rotateY(0);
}

/* --- 0.5 秒刻みの従来リスト（参考用に退避） --- */
/*
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(1){ transition-delay: 0s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(2){ transition-delay: .5s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(3){ transition-delay: 1s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(4){ transition-delay: 1.5s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(5){ transition-delay: 2s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(6){ transition-delay: 2.5s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(7){ transition-delay: 3s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(8){ transition-delay: 3.5s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(9){ transition-delay: 4s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(10){ transition-delay: 4.5s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(11){ transition-delay: 5s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(12){ transition-delay: 5.5s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(13){ transition-delay: 6s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(14){ transition-delay: 6.5s; }
html body #navi-menu-input:checked ~ div#navi-menu-content .menu-drawer > li:nth-child(15){ transition-delay: 7s; }
*/

/* カスタムプロパティで階層・順番に応じた遅延を計算 */
html body div#navi-menu-content .menu-drawer{
    --parent-delay: 0s;
}

html body div#navi-menu-content .menu-drawer li{
    --order-delay: 0s;
    --inherited-delay: var(--parent-delay, 0s);
    --self-delay: calc(var(--inherited-delay) + var(--order-delay));
    transition-delay: var(--self-delay);
}

html body div#navi-menu-content .menu-drawer li > ul{
    --parent-delay: calc(var(--self-delay) + 0.5s);
}

html body div#navi-menu-content .menu-drawer li:nth-child(1){ --order-delay: 0s; }
html body div#navi-menu-content .menu-drawer li:nth-child(2){ --order-delay: .5s; }
html body div#navi-menu-content .menu-drawer li:nth-child(3){ --order-delay: 1s; }
html body div#navi-menu-content .menu-drawer li:nth-child(4){ --order-delay: 1.5s; }
html body div#navi-menu-content .menu-drawer li:nth-child(5){ --order-delay: 2s; }
html body div#navi-menu-content .menu-drawer li:nth-child(6){ --order-delay: 2.5s; }
html body div#navi-menu-content .menu-drawer li:nth-child(7){ --order-delay: 3s; }
html body div#navi-menu-content .menu-drawer li:nth-child(8){ --order-delay: 3.5s; }
html body div#navi-menu-content .menu-drawer li:nth-child(9){ --order-delay: 4s; }
html body div#navi-menu-content .menu-drawer li:nth-child(10){ --order-delay: 4.5s; }
html body div#navi-menu-content .menu-drawer li:nth-child(11){ --order-delay: 5s; }
html body div#navi-menu-content .menu-drawer li:nth-child(12){ --order-delay: 5.5s; }
html body div#navi-menu-content .menu-drawer li:nth-child(13){ --order-delay: 6s; }
html body div#navi-menu-content .menu-drawer li:nth-child(14){ --order-delay: 6.5s; }
html body div#navi-menu-content .menu-drawer li:nth-child(15){ --order-delay: 7s; }

/* --- 階層ごとの背景色 --- */
html body div#navi-menu-content .menu-drawer > li{ background:#fff; }
html body div#navi-menu-content .menu-drawer > li > ul > li{ background:#f2f2f2; }
html body div#navi-menu-content .menu-drawer > li > ul > li > ul > li{ background:#bfbfbf; }

/* 各階層の文字色を統一 */
html body div#navi-menu-content .menu-drawer li a{ color:#323232; display:block; padding:12px 16px; }

/* ============================================
 *  Cocoon Mobile Menu: Sidebar Menu Adjustments
 * ============================================ */

/* サイドバーメニューもフル幅に */
html body div#sidebar-menu-content{
    max-width: none;                 /* 親テーマの400px 制限を無効化 */
    padding-top: 50px;               /* ×ボタンがヘッダーに隠れないように上部に余白 */
}

/* ============================================
 *  Cocoon Mobile Menu: Header & Sidebar Menu
 * ============================================ */

/* キャンセルボタン(×)を左上に配置（ヘッダーメニュー・サイドバーメニュー共通） */
html body div#navi-menu-content label.menu-close-button,
html body div#sidebar-menu-content label.menu-close-button{
    text-align: left;
    padding-left: 15px;
}