@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.0.8
*/

/*---------------------------------------------
特定の固定ページの日付を非表示
post-●●はID（固定ページ一覧のリンクを確認）
複数ページの場合はカンマ区切り
ex) #post-01 .entry-title,#post-02 .entry-title
---------------------------------------------*/
#post-1550 .entry-title { 
	display: none; 
}
.page .post-date {
display: none;
}

.page-id-1550 .article h1 {
	color: #fffcf9;/*文字色*/
	padding: 0.5em;/*文字周りの余白*/
	display: inline-block;/*おまじない*/
	line-height: 1.3;/*行高*/
	padding-right: 1.5em;
	background: #364e96;/*背景色*/
	vertical-align: middle;
	border-radius: 25px 25px 25px 25px;/*左側の角を丸く*/
}
.page-id-1550 .article h1:before{
	content: '●';
	color: white;
	margin-right: 8px;
}

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





/************************************
** グローバルメニューと本文の間の謎の空白を消す 20260112
************************************/
.main {
    padding-top: 0 !important;
}

/* bb-blue（青ボックス）の色変更 */
.bb-blue {
    border-color: #2563eb !important;
}
.bb-red {
    border-color: #f59e0b !important;
}


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

.mobile-menu-buttons {
background: #2563eb;
color: white;
}

.mobile-menu-buttons .menu-button > a {
color: white;
}
/* 追従ヘッダー専用（これが正解） */

.header-container.fixed-header {
    background-color: #2563eb !important;
}

.header-container.fixed-header #header {
    background-color: #FFFFFF !important;
}

.header-container.fixed-header #header-in {
    background-color: #FFFFFF !important;
}

.header-container.fixed-header .logo-header {
    background-color: #FFFFFF !important;
}

.header-container.fixed-header #navi-in {
    background-color: #2563eb !important;
}

.header-container.fixed-header #navi-in a {
    color: #FFFFFF !important;
}

.header-container.fixed-header #navi-in a:hover {
    background-color: #1e40af !important;
}




/* ============================================
   #2563eb（青）ベースの統一配色
   ============================================ */

/* パンくずリスト */
.breadcrumb a {
    color: #2563eb !important;
}

.breadcrumb a:hover {
    color: #1e40af !important;
}
/* 見出しH2 - グラデーション */
.article h2 {
    background: linear-gradient(90deg, #3b82f6 0%, #60a5fa 100%) !important;
    color: #FFFFFF !important;
    padding: 12px 20px !important;
    border-left: 4px solid #f59e0b !important;
    border-radius: 4px !important;
}

/* 見出しH3（記事内） */
.article h3 {
    background-color: #dbeafe !important; /* 薄い青 */
    color: #1f2937 !important;
    border-left: 4px solid #2563eb !important;
    border-radius: 4px !important;
}

/* カードのホバー効果 */
.entry-card:hover {
    border-color: #2563eb !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.15) !important;
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

/* 記事タイトルのホバー */
.entry-card-title a:hover {
    color: #2563eb !important;
}

/* 日付の色 */
.post-date,
.date-time {
    color: #6b7280 !important;
}

/* 引用ブロック */
.article blockquote {
    border-left: 4px solid #2563eb !important;
    background-color: #eff6ff !important;
    padding: 15px 20px !important;
}

/* サイドバーのウィジェットタイトル */
.sidebar h3 {
    color: #1f2937 !important;
    border-bottom: 2px solid #2563eb !important;
    padding-bottom: 8px !important;
}

/* ページトップへ戻るボタン */
.go-to-top-button {
    background-color: #2563eb !important;
}

.go-to-top-button:hover {
    background-color: #1e40af !important;
}



/* 本文内のリンクは下線を残す */
.article a {
    text-decoration: underline;
}

/* インフォメーションバーを非表示 */
.information-bar {
    display: none !important;
}

/* Cocoon Childのstyle.cssまたは追加CSS */
.article h2, .article h3, .article h4, .article h5, .article h6 {
    /* ここに上書きしたいスタイル */
    margin:1em 0
}


/*アプリーチ*/
.appreach{
  border:3px solid #eee;/*ボーダー色*/
}
.appreach{
  text-align: left;
  padding: 25px;
  margin:20px;
  border-radius:2px;
  overflow: hidden;
}
.appreach:after {
  content: "";
  display: block;
  clear: both;
}
.appreach img,
.appreach p {
  margin: 0;
  padding:0;
}
.appreach a:after {
  display: none;
}
.appreach__icon {
  float: left;
  border-radius: 10%;
  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;
  width: 72%;
  max-width: 72%;
}
.appreach__detail:after {
  content: "";
  display: block;
  clear: both;
}
p.appreach__name {
  font-size: 16px;
  color:#555;
  padding-bottom:10px;
  font-weight:bold;
  line-height: 1.5em !important;
  max-height: 3em;
  overflow: hidden;
}
.appreach__info {
  font-size: 12px !important;
  color:#888;
}
.appreach__info a{
  color:#aaa;
}
.appreach__developper, .appreach__price {
  margin-right: 0.5em;
}
.appreach__posted a {
  margin-left: 0.5em;
}
.appreach__links {
  float: left;
  height: 40px;
  margin-top: 15px;
  white-space: nowrap;
}
.appreach__aslink img {
  margin-right: 10px;
  height: 40px;
  width: 135px;
}
.appreach__gplink img {
  height: 40px;
  width: 134.5px;
}
@media only screen and (max-width: 786px){
.appreach{
  margin:20px 0;}
.appreach__info {
  font-size: 11px !important;}
p.appreach__name {
  font-size: 15px;}
.appreach__aslink img/*App Storeボタンの大きさ調整*/ {
  height: 35px;
  width: 118.125px;
}
.appreach__gplink img/*Google Playボタンの大きさ調整*/ {
  height: 35px;
  width: 118.125px;
}
}




/*ヘッダーの余白関係*/

.logo-image span, 
.logo-image a, 
.logo-image img {
  display: block;
}

.logo-image {
	padding: 0;
}
.logo-image * {
	display: block;
	margin: auto;
}
.content {
margin-top: 0;
margin-bottom: 0;

}


.article h2{
    padding: 0.4em;/*余白*/
    background: none;/*背景色をリセット*/
	border: none;
    color:#ffffff;
	font-size: 22px;
	background: #80caff;
    border-bottom: solid 3px #3377ff;
}

.article h3{
    border: none;/*線をリセット*/
    padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
    color: #494949;/*文字色*/
	font-size: 19px;
    background: #f4f4f4;/*背景色*/
    border-left: solid 15px #eebbcb;/*左線*/
    border-bottom: solid 3px #d7d7d7;/*下線*/
}

.article h4{
	color:#494949;
	font-size: 17px;
    border-left: none;
    border-bottom: solid 3px #364e96;/*下線*/
	padding-right: 2.5em;
	text-align: left;
	display: inline-block;
	display: table;
}


.article h4:before {
    background: none;/*背景色をリセット*/
	border: none;
    font-family:"Font Awesome 5 Free";
    content:"\f101";
    color:#364e96;
    font-size:22px;
    margin-right:12px;
}



/*見出しに画像を挿入*/
title {

    padding-left: 30px;
    line-height: 30px;
    background: url(../images/icon.png) no-repeat;
}


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

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

/*768px以下*/
@media screen and (max-width: 768px){
  /*必要ならばここにコードを書く*/
	  #sidebar{
    display: none;
  }
  .article h1{
    font-size: 18px !important;
}	  
}


@media screen and (max-width: 480px){
 	  
}

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

/*サイドバーのデザイン変更 https://web-ashibi.net/archives/1761*/
.sidebar h3 {
    background: none;
    font-size: 16px;
    letter-spacing: 2px;
    display: inline-block;
    position: relative;
    width: 100%;
    padding: 0;
    text-align: center;
}
.sidebar h3::before, .sidebar h3::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 28%; /*ラインの長さ*/
    border-top: 3px solid #444d53; /*ラインの色*/
}
.sidebar h3::before {
    left: 0;
}
.sidebar h3::after {
    right: 0;
}
/* テーブルに線と均等幅*/
table,
th,
td {
	border: 1px solid #d1d1d1;
}

table {
	table-layout: fixed;
}

th:first-child,
td:first-child {
	padding-left: 0.4em;
}

/* ページ送りナビの左右を入れ替える(Cocoon ver.2～) */
.pager-post-navi a.prev-post {
    flex-direction: row-reverse;
    padding:10px 5px 10px 10px;
}
.pager-post-navi a.next-post {
    flex-direction: row;
    padding:10px 10px 10px 5px;
}
.pager-post-navi a.next-post .iconfont:before {
	content: '\f053';
}
.pager-post-navi a.prev-post .iconfont:before {
	content: '\f054';
}
.pager-post-navi a.next-post .next-post-title {
	margin: 0 0 0 10px;
}
.pager-post-navi a.prev-post .prev-post-title {
	margin: 0 10px 0 0;
}
@media screen and (min-width: 481px) {
    .pager-post-navi.post-navi-square {
        flex-direction: row-reverse;
    }
    .post-navi-square.post-navi-border a:last-child {
        border-left-width: 1px;
    }
    .post-navi-square.post-navi-border a:first-child {
        border-left-width: 0;
    }
}
.prev-post-title:before,
.next-post-title:before {
    color: #999999; /* 文字色 */
    font-size: 12px; /* 文字サイズ */
    margin-bottom: 0.3em;
    display: block;
}
.next-post-title:before {
    content: '次のページ';
}
.prev-post-title:before {
    content: '前のページ';
}
.prev-post-title:before {
    text-align: right;
}

/************************************
** ブログカード
************************************/
/*内部ブログカードのフッター非表示
.internal-blogcard-footer{
display:none;
}*/
/*背景色*/
.blogcard-wrap {
background-color: #e2e3e5;
}
/*枠線*/
.blogcard{
border: 4px double #717171;
border-radius: 0;
}

#toc_container {
        margin: auto;
}

/* 目次 */
/* TOC+ */
/* TOC全体（カード化） */
.entry-content #toc_container {
  background: #f8f9fb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  max-width: 680px;
  padding: 16px 20px;
  margin-top: auto;
  margin-bottom: 24px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
  
}

/* TOCタイトル */
.entry-content #toc_container .toc_title {
  font-size: 1.1em;
  font-weight: 700;
  margin-bottom: 8px;
  text-align: center;
}

/* 第1階層（h2） */
.entry-content #toc_container > ul > li {
  font-weight: 600;
  margin-bottom: 6px;
}

/* 第2階層（h3） */
.entry-content #toc_container ul ul li {
  font-weight: 400;
  font-size: 0.95em;
  margin-left: 1em;
}

/*asp用 広告用css*/
@media screen and (min-width:481px){
/* 表示領域が481px以上の場合 */
.ad_sp {
display: none;
}
}
@media screen and (max-width:480px){
/* 表示領域が480px以下の場合 */
.ad_pc {
display: none;
}
}

/*関連記事デザイン*/
/************************************
** ■関連記事カスタマイズ
************************************/
.related-entry-card-wrap.a-wrap.cf{ /*下余白クリア*/
  margin-bottom:0px;
  padding-bottom:0px;
}
.related-entry-card-content.card-content.e-card-content{ /*カード下余白設定*/
  padding-bottom:16px;
}
.related-entry-card-title.card-title.e-card-title{
  font-size: 16px; /*フォントサイズ*/
  height: 67px!important; /*メニュー縦幅設定*/
  display: flex;
  align-items: center; /*縦中央寄せ*/
}
/* スマホでのフォントサイズと下余白 */
@media screen and (max-width: 480px){
  .related-entry-card-title.card-title.e-card-title{
    font-size: 14px;
  }
}


/************************************
** 20260110追加 タブの見た目を変える
************************************/

/* =========================
   PC：横1段・等分
========================= */
.entry-content ul[class*="tab"] {
  display: flex !important;
  width: 100% !important;
}

.entry-content ul[class*="tab"] > li {
  flex: 1 1 0 !important;
  width: auto !important;
  text-align: center !important;
  padding: 10px 0 !important;
  white-space: nowrap;
}

/* =========================
   スマホ：2段（Gridで強制）
========================= */
@media screen and (max-width: 768px) {
  .entry-content ul[class*="tab"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }

  .entry-content ul[class*="tab"] > li {
    width: 100% !important;
    padding: 10px 0 !important;
  }
}

/************************************
** 20260113 タブブロックを使わずにタブ化対応
************************************/
.auto-tabs {
  margin: 30px 0;
  border: 3px solid #2c3e50;
  border-radius: 10px;
  background: #34495e;
  overflow: visible; /* hiddenから変更 */
}

.tab-navigation {
  display: flex;
  gap: 4px;
  background: #2c3e50;
  padding: 8px;
  flex-wrap: wrap;
  position: sticky; /* 追従固定 */
  top: 0; /* 画面上部に固定 */
  z-index: 100; /* 他の要素より前面に */
  border-radius: 7px 7px 0 0; /* 上部の角丸を維持 */
}

/* 以下は既存のまま */
.tab-btn {
  flex: 1 1 0;
  min-width: 0;
  padding: 14px 20px;
  background: #34495e;
  border: 2px solid #4a6278;
  border-radius: 6px;
  cursor: pointer;
  font-size: 15px;
  transition: all 0.3s;
  font-weight: 600;
  text-align: center;
  color: #ecf0f1;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.tab-btn:hover {
  background: #3d566e;
  border-color: #5a7a9a;
  transform: translateY(-2px);
}

.tab-btn.active {
  background: linear-gradient(to bottom, #3498db, #2980b9);
  color: white;
  border-color: #5dade2;
  box-shadow: 0 4px 8px rgba(52, 152, 219, 0.4);
}

.tab-content {
  display: none;
  animation: fadeIn 0.3s;
  padding: 24px;
  padding-top: 5px;
  background: white;
  border-radius: 0 0 7px 7px; /* 下部の角丸 */
}

.tab-content.active {
  display: block;
}

.tab-content h2 {
  display: none;
}

.tab-content h3,
.tab-content h4,
.tab-content h5,
.tab-content h6 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  font-weight: bold;
  text-align: left;
}

.tab-content strong,
.tab-content b {
  font-weight: bold;
}

.tab-content em,
.tab-content i {
  font-style: italic;
}

.tab-content a {
  color: #3498db;
  text-decoration: underline;
}

.tab-content ul,
.tab-content ol {
  margin: 1em 0;
  padding-left: 2em;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 600px) {
  .tab-btn {
    flex-basis: calc(50% - 2px);
    padding: 12px 10px;
    font-size: 13px;
  }
  
  .tab-content {
    padding: 16px;
  }
  
  .tab-navigation {
    top: 0; /* スマホでも上部固定（ヘッダーの高さに応じて調整） */
  }
}


/************************************
** 白抜きボックスの見た目調整
************************************/
@media screen and (max-width: 480px) {
    .blank-box {
        /* 記事幅の左右に少しだけはみ出させる（-10pxは好みで調整） */
        margin-left: -10px !important;
        margin-right: -10px !important;
        
        /* 横幅を自動計算（100% + 左右のマイナス分） */
        width: calc(100% + 20px) !important;
        max-width: calc(100% + 20px) !important;

        /* ボーダー設定 */
        box-sizing: border-box !important;
        border-radius: 4px !important; /* 角丸を少しつける */
    }
}


/************************************
** 20260204 アプリーチ見た目
************************************/

/* アプリーチ 影付き角丸（白）
 * DesignBase 365
 * https://css-eblog.com/
 * https://css-eblog.com/app-reach-design/
 */
.appreach {
  text-align: left;
  box-shadow: 0px 0px 6px #00000029;
  background: #FFF;
  max-width: 100% !important;
  width: 100% !important;
  padding: 20px;
  margin: 18px auto;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
	border-radius:9px
}

.appreach:after {
  content: "";
  display: block;
  clear: both;
}

.appreach p {
  line-height: 1.5em !important;
  margin: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
}

.appreach a:after {
  display: none;
}

.appreach__icon {
  float: left;
  border-radius: 10%;
  overflow: hidden;
  margin: 0% 3% 0% 0% !important;
  height: auto !important;
  max-width: 100px !important;
}

.appreach__detail {
  display: inline-block;
  line-height: 1.5;
  width: 72%;
}

.appreach__detail:after {
  content: "";
  display: block;
  clear: both;
}

.appreach__name {
  font-size: 15px !important;
  color: #555555 !important;
  line-height: 1.5em !important;
  font-weight: bold !important;
  max-height: 3em;
  overflow: hidden;
}

.appreach__detail .appreach__name {
  line-height: 1.3em !important;
  padding-bottom: 5px !important;
}

.appreach__detail .appreach__info .appreach__posted {
  line-height: 1.3em !important;
  font-size: .8em !important;
}

.appreach__info {
  font-size: 12px !important;
  color: #929292 !important;
}

.appreach__posted {
  font-size: .9em !important;
}

.appreach__developper,
.appreach__price {
  margin-right: 0.5em;
}

.appreach__posted a {
  margin-left: 0.8em;
  color: #55A8DC !important;
}

.appreach__links {
  float: left;
  height: 40px;
  margin-top: 8px;
  white-space: nowrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.appreach__aslink img {
  height: 40px;
  -webkit-backface-visibility: hidden;
  margin-right: 10px;
}

.appreach__gplink img {
  height: 40px;
  -webkit-backface-visibility: hidden;
}

@media(max-width:460px) {
  .appreach {
    overflow: hidden;
    max-width: 320px !important;
  }

  .appreach__detail .appreach__name {
    line-height: 1.3em !important;
    padding-bottom: 5px !important;
    font-size: .9em !important;
  }

  .appreach__posted {
    font-size: .7em !important;
  }

  .appreach__icon {
    width: 25% !important;
  }

  .appreach__info {
    font-size: 10px !important;
  }

  .appreach__links {
    margin: auto;
    margin-top: 5px;
    float: left;
    display: table;
    padding-top: 5px;
  }

  .appreach__aslink img,
  .appreach__gplink img {
    margin-right: 2px;
    height: 40px;
  }

}





/* カラムブロック全体 */
.wp-block-columns {
  display: flex !important;
  gap: 20px !important; /* カード間の余白 */
  margin: 20px 0 !important;
  flex-wrap: wrap; /* 折り返し対応 */
}

/* 各カラム = 独立したカード */
.wp-block-column {
  border: 2px solid #e0e0e0 !important;
  border-radius: 8px !important;
  padding: 20px !important;
  background: white !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: transform 0.3s, box-shadow 0.3s;
}

/* ホバー効果 */
.wp-block-column:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* 画像 */
.wp-block-column img {
  width: 100%;
  height: auto;
  max-width: 200px;
  margin: 0 auto 8px auto;
  display: block;
}

/* h5 */
.wp-block-column h5 {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 10px 0;
  padding: 0;
}

/* 説明文 */
.wp-block-column p {
  background: #f8f9fa;
  padding: 12px;
  border-radius: 6px;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}

/* スマホ */
@media (max-width: 600px) {
  .wp-block-columns {
    flex-direction: column !important;
    gap: 15px !important;
  }
  
  .wp-block-column {
    padding: 15px !important;
  }
  
  .wp-block-column img {
    max-width: 120px;
  }
  
  .wp-block-column h5 {
    font-size: 14px;
  }
  
  .wp-block-column p {
    font-size: 13px;
    padding: 10px;
  }
}

/* タブ内も全く同じスタイル */
.tab-content .wp-block-columns {
  display: flex !important;
  gap: 20px !important;
  margin: 20px 0 !important;
  flex-wrap: wrap !important;
}

.tab-content .wp-block-column {
  border: 2px solid #e0e0e0 !important;
  border-radius: 8px !important;
  padding: 20px !important;
  background: white !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: transform 0.3s, box-shadow 0.3s;
}

.tab-content .wp-block-column:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.tab-content .wp-block-column img {
  max-width: 200px;
  margin: 0 auto 8px auto;
}

.tab-content .wp-block-column h5 {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 10px 0;
}

.tab-content .wp-block-column p {
  background: #f8f9fa;
  padding: 12px;
  border-radius: 6px;
}

@media (max-width: 600px) {
  .tab-content .wp-block-columns {
    flex-direction: column !important;
    gap: 15px !important;
  }
  
  .tab-content .wp-block-column {
    padding: 15px !important;
  }
  
  .tab-content .wp-block-column img {
    max-width: 120px;
  }
}