@charset "UTF-8";

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

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

/*見出し編集*/

.article h2 {
    border-left: 0px solid #f5281f;
    border-right: 0px solid #8493fb;
    border-top: 0px solid #f5281f;
    border-bottom: 4px solid #bd0404;
    background-color: #f000;
    font-size: 22px;
    padding: 8px 3px;
}


.article h3 {
    border-left: 5px solid #bd0404;
    border-right: 0px solid #ccc;
    border-top: 0px solid #ccc;
    border-bottom: 0px solid #f5281f;
	background-color:transparent;
    font-size: 20px;
    padding: 7px 8px;
}


.article h4 {
    border-top: 2px solid #bd0404;
    border-bottom: 2px solid #bd0404;
    padding: 6px 10px;
    font-size: 18px;
}

.article h5, .article h6 {
    margin-bottom: 1.08em;
   padding: 6px 10px;	
    font-size: 18px;
}


.sidebar h3 {
	background-color: #ffffff;
    border-left: 6px solid #0095d9;
    border-right: 0px solid #ccc;
    border-top: 0px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-size: 14px;
    padding: 6px 10px;
}

/************************************
** SNS ボタンをまとめて丸くする
************************************/

/*シェア・フォローボタンの枠組み*/
.sns-share.ss-top .sns-share-buttons,
.sns-share.ss-bottom .sns-share-buttons,
.sns-follow.sf-bottom .sns-follow-buttons,
.sns-follow.sf-widget .sns-follow-buttons {
	justify-content: center; /*中央に寄せる*/
	flex-wrap: wrap; /*折り返す*/
}

/*シェア・フォローボタンのリンク*/
.sns-share.ss-top .sns-buttons a,
.sns-share.ss-bottom .sns-buttons a,
.sns-follow.sf-bottom .sns-buttons a,
.sns-follow.sf-widget .sns-buttons a {
	width: 40px; /*横幅*/
	height: 40px; /*高さ*/
	margin-right: 4px; /*右側の余白*/
	margin-left: 4px; /*左側の余白*/
	border-radius: 50%; /*丸み*/
}

/*プロフィールウィジェットのリンク*/
.sns-follow.sf-profile .sns-buttons a {
	border-radius: 50%; /*丸み*/
}

/*シェアボタンのアイコン*/
.sns-share.ss-top .sns-buttons a .social-icon,
.sns-share.ss-bottom .sns-buttons a .social-icon {
	font-size: 18px; /*アイコンの大きさ*/
}

/*フォローボタンのアイコン*/
.sns-follow.sf-bottom .sns-follow-buttons .follow-button,
.sns-follow.sf-widget .sns-follow-buttons .follow-button {
	font-size: 24px; /*アイコンの大きさ*/
}

/*シェアボタンのキャプション*/
.sns-share.ss-top .sns-buttons a .button-caption,
.sns-share.ss-bottom .sns-buttons a .button-caption {
	display: none; /*非表示*/
}

/*シェア・フォローボタンのシェア数*/
.sns-share.ss-top .sns-buttons a .share-count,
.sns-share.ss-bottom .sns-buttons a .share-count,
.sns-follow.sf-bottom .sns-buttons a .follow-count,
.sns-follow.sf-widget .sns-buttons a .follow-count {
	right: -2px; /*右側からの距離*/
	bottom: -2px; /*下側からの距離*/
	padding: 2px; /*内側の余白*/
	font-size: 10px; /*文字の大きさ*/
	border: solid 1px; /*線*/
	border-radius: 3px; /*丸み*/
	background-color: inherit; /*背景色*/
}

/*シェア数の表示が必要ないシェア・フォローボタン*/
.sns-share.ss-top .sns-buttons a .share-count:empty,
.sns-share.ss-bottom .sns-buttons a .share-count:empty,
.sns-follow.sf-bottom .sns-buttons a .follow-count:empty,
.sns-follow.sf-widget .sns-buttons a .follow-count:empty {
	padding: 0; /*内側の余白*/
	border: 0; /*線*/
}

/*動画埋め込みブロック表示サイズ*/
.video50
{
  /*margin-left: auto;
  margin-right: auto;*/
  width: 50%;
  height: 50%;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*トップの新着を3列に間隔も調整

.new-entry-cards.large-thumb {
    display: flex;
    flex-wrap: wrap;
}

.new-entry-cards.large-thumb a {
    width: 48%;
}
*/

/*トップの新着を３列に
.new-entry-cards.large-thumb{
    display: flex;
    flex-wrap: wrap;
}

  .new-entry-cards.large-thumb a {
    width: 32%;
  }
*/
.widget-entry-cards .a-wrap {
    padding: 10px 8px 0px;
    line-height: 1.3;
    margin-top: 2px;
    margin-bottom: 3px;
    margin-right: 3px;
    margin-left: 3px;
    border: 0.1px solid #9E9E9E;
}
.widget-entry-cards .widget-entry-card {

font-size: 0.9em;
  font-weight:bold;
  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;
}

/*新着記事小のフォント
.widget-entry-card {
  font-size: 14px;
  position: relative;
}
*/


/************************************
** 新着記事ウィジェット（デフォルト小テーマ）
************************************/
.widget-entry-cards .a-wrap {
    padding: 1px 1px ;
    line-height: 1.3;
    margin-bottom: 1px;
    margin-left: 4px;
    margin-right: 4px;
    border: 0px solid #90949c;
}

.widget-entry-cards .widget-entry-card {
  font-size: 13px;
  position: relative;
	font-weight: bold;
}
.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;
}


/************************************
** 新着記事ウィジェット（大きなサムネイル）
************************************/
.widget-entry-cards.card-large-image .a-wrap {
  max-width: 400px;
}
.widget-entry-cards.card-large-image .e-card {
  font-size: 14px;
}

.widget-entry-cards.not-default .e-card {
  font-size: 14px;
  font-weight:bold;
}
.widget-entry-cards.card-large-image figure {
  float: none;
  width: 100%;
}
.widget-entry-cards.card-large-image figure img {
  width: 100%;
  display: block;
}
.widget-entry-cards.card-large-image .card-content {
  margin: 0 0 0.5em;
}
.widget-entry-cards.card-large-image .widget-entry-card-pv {
  opacity: 0.7;
  position: absolute;
  top: 0;
  right: 0;
  padding: 3px 6px;
  background-color: #333;
  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);
  color: #fff;
  max-height: 30%;
  overflow: hidden;
}

/*人気記事・新着記事横並び設定背景色*/
.swiper {
    background-color: #f6e49a;
}

/************************************
** 記事一覧のもっと見るボタン装飾
***********************************
.list-more-button {
    display: inline-block;
    padding: 0.3em 2em;
    text-decoration: none;
    color: #ffffff;
    border: solid 0px var(--cocoon-basic-border-color);
    transition: 0.4s;
    margin: 1em 0 2em;
    font-size: 16px;
    font-weight: bold;
    border-radius: 99px;
    background: #ff5f00;
}



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

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

/*768px以下*/
@media screen and (max-width: 768px){
  /*必要ならばここにコードを書く*/
	/*動画埋め込みブロック表示サイズスマホサイズアップ*/
.video50
{
  /*margin-left: auto;
  margin-right: auto;*/
  width: 100%;
  height: 100%;
}

}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
	
.new-entry-cards.large-thumb{
    display: flex;
    flex-wrap: wrap;
}

  .new-entry-cards.large-thumb a {
    width: 48%;
  }
}

.entry-card-title, .related-entry-card-title {
    font-size: 14px;
    margin: 0 0 5px 0;
    line-height: 1.5;
    font-weight: bold;
}
}


/*全てをまとめて非表示*/
.home.page .entry-title,
.home.page .sns-share,
.home.page .sns-follow,
.home.page .date-tags,
.home.page .author-info{
  display: none;
}

/*新着記事に日付*/
.new-entry-card-date {
  display: block;
}

/*フロント固定ページの投稿者名を非表示*/
.new-entry-card-author {
  display: block;
}

/*特定ページのシェア・フォローボタン非表示*/
.page-id-1216 .sns-share,
.page-id-1216 .sns-follow {
    display: none;
}
.page-id-1220 .sns-share,
.page-id-1220 .sns-follow {
    display: none;
}
.page-id-1222 .sns-share,
.page-id-1222 .sns-follow {
    display: none;
}
.page-id-497 .sns-share,
.page-id-497 .sns-follow {
    display: none;
}
.page-id-536 .sns-share,
.page-id-536 .sns-follow {
    display: none;
}
.page-id-1231 .sns-share,
.page-id-1231 .sns-follow {
    display: none;
}

/*ブートストラップのインフォメーションライクな囲みが表示される*/
.primary-box,
.sp-primary,
.primary {
  color: #ffffff;
  background-color: #123187;
  border-color: #b8daff;
  padding: 15px;
  border-radius: 4px;
  margin-bottom: 20px;
}

/*ボタンのデザイン*/
.btn, .ranking-item-link-buttons a,
.btn-wrap > a,
.wp-block-freeform .btn-wrap > a {
  color: #2196F3;
  font-weight: bold;
  border-radius: 4px;
  display: inline-block;
  cursor: pointer;
  line-height: normal;
  padding: 4px 16px;
  text-decoration: none;
  text-align: center;
  font-size: 14px;
  border: 2px solid #2196F3;
  position: relative;
}
.btn amp-img, .ranking-item-link-buttons a amp-img,
.btn-wrap > a amp-img,
.wp-block-freeform .btn-wrap > a amp-img {
  position: absolute;
}

.btn:before, .ranking-item-link-buttons a:before,
.btn:after,
.ranking-item-link-buttons a:after,
.btn-wrap > a:before,
.btn-wrap > a:after {
  font-family: FontAwesome;
  margin-right: 12px;
}

#container .btn:hover, #container .ranking-item-link-buttons a:hover, .ranking-item-link-buttons #container a:hover,
#container .btn-wrap > a:hover {
  color: #f44336;
  background-color: #fff;
  border: 2px solid #f44336;
  transition: all 0.5s ease;
}

/*ボタンの色*/
.btn-red { background-color: #fff; } /* レッド */
.btn-pink { background-color: #e91e63; } /* ピンク */
.btn-purple { background-color: #9c27b0; } /* パープル */
.btn-deep { background-color: #673ab7; } /* ディープパープル */
.btn-indigo { background-color: #3f51b5; } /* インディゴ(紺色) */
.btn-blue { background-color: #2196f3; } /* ブルー */
.btn-light-blue { background-color: #03a9f4; } /* ライトブルー */
.btn-cyan { background-color: #00bcd4; } /* シアン */
.btn-teal { background-color: #009688;} /* ティール(緑色がかった青) */
.btn-green { background-color: #4caf50; } /* グリーン */
.btn-light-green { background-color: #8bc34a; } /* ライトグリーン */
.btn-lime { background-color: #cddc39; } /* ライム */
.btn-yellow { background-color: #edd60e; } /* イエロー */
.btn-amber { background-color: #ffc107; } /* アンバー(琥珀色) */
.btn-orange { background-color: #ff9800; } /* オレンジ */
.btn-deep-orange { background-color: #ff5722; } /* ディープオレンジ */
.btn-brown { background-color: #795548; } /* ブラウン */
.btn-grey { background-color: #9e9e9e; } /* グレー */

/*キャプション調整*/
.wp-caption {
  padding-top: 4px;
  border: 0px solid #ddd;
  border-radius: 3px;
  background-color: #fff;
  text-align: center;
  max-width: 100%;
}

.wp-caption-text,
.gallery-caption {
  font-size: 70%;
  margin-top:0pt;
  margin-bottom:3px;
  text-align: left;
  padding-right:6px;
  padding-left:6px;
}

/*エントリーカードのカテゴリの色*/
.cat-label {
position: absolute;
    top: 0.3em;
    left: 0.3em;
    border: 1px solid #eee;
    font-size: 11px;
    color: #fff;
    background-color: rgba(247, 9, 9);
    padding: 1px 5px;
    max-width: 60%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}



/*プロフィールモバイル左寄せ*/
.saboxplugin-wrap .saboxplugin-desc {
text-align: left !important;
}

/*プロフィールカスタマイズ*/
.author-box {
    border: 0px solid #ccc;
    border-radius: 4px;
	 font-size: 12px;
    margin: 1em 0;
    line-height: 1.4;
    position: relative;
    padding: 1.4% 2% 1.8%;
}

/*プロフィールのfeedlyとrssボタンの非表示*/
.author-box .feedly-button, .author-box .rss-button {
    display: none!important;
}

/*MW WP Form確認ボタン調整*/
input[type='submit'], #bbp_reply_submit, .bp-login-widget-register-link a {
    padding: 11px;
    width: 80%;
    margin: 0px auto;
    display: block;
    cursor: pointer;
    background-color: #00142c;
    color: #fff;
    font-size: 14pt;
    text-align: center;
}

/*---------------------------------
カテゴリの行間とフォントを小さくする
--------------------------------
.widget_categories ul li a{
	line-height: 1.3;
	font-size: 15px;
}*/


/*MW WP Formセレクトボックスの横幅*/
select[name="omamori2021kosuu"] {
width: 70px;
}

/*カテゴリ一覧　タイトル*/
.list-title{
/*border: 1px solid #233B6C; 枠線*/
background-color: #2ca9e1d4; /*背景色*/
color:#fff; /*文字色*/
padding:5px; /*余白*/
font-size:14px; /*文字サイズ*/
font-weight: 700; /*太字*/
}
.list-title-in:before,
.list-title-in:after {
background-color: #fff; /*前後の線の色*/
}

/*TOPページタイトル内の線を消す*/
.list-title-in:before, .list-title-in:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 55px;
    height: 0px;
    background-color: black;
}

/*エントリーカード新着のタイトルQ数*/
.entry-card-title, .related-entry-card-title {
    font-size: 15px;
    margin: 0 0 5px 0;
    line-height: 1.2;
    font-weight: bold;
}

@media screen and (max-width: 480px)
.e-card-title {
    font-size: 15px;
}

/*テーブル内文字の大きさ*/
div table th, 
div table td {
    font-size: 1em;
}

/***************************************************
固定トップページ 新着記事カード（完成版）
余白極小・画像比率維持・中央寄せ・右余白確保
****************************************************/

/* =====================
親リスト
===================== */
.nec-list {
    width: 95%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.nec-card-wrap {
    display: block;
    text-decoration: none;
    color: inherit;
    margin-bottom: 8px; /* カード同士の上下の隙間を狭く */
}

/* =====================
カード共通
===================== */
.nec-card {
    display: flex;
    flex-direction: column;
    border-radius: 0px; 
    overflow: hidden;
    background-color: #fff;
    transition: box-shadow 0.3s;
    height: 100%;
    border: 1px solid #ddd;
}

.nec-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* =====================
サムネイル（PC・スマホ共通：比率維持＆中央寄せ）
===================== */
.nec-thumb {
    width: calc(100% - 4px);
    margin: 2px;
    overflow: hidden;
    border-radius: 0px; 
    
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f9f9f9; 
    height: auto; 
}

.nec-thumb-img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain;
    display: block;
    border-radius: 0px;
}

/* =====================
コンテンツ（タイトル＋メタ情報）
===================== */
.nec-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* 右側に15pxの余白を作り、Author情報が枠に付かないようにします */
    padding: 8px 15px 8px 8px; 
    flex: 1;
}

/* =====================
タイトル
===================== */
.nec-title {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.3em;
    margin-bottom: 4px;
    margin-left: 2px;
    margin-right: 2px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: auto; /* 固定高さを解除して隙間を最小化 */
    color: #000000;
}

/* =====================
メタ情報（投稿者・日付）
===================== */
.nec-meta {
    font-size: 0.7em;
    color: #555;
    display: flex;
    justify-content: flex-end; /* 右寄せ */
    align-items: center;
    gap: 0.4em;
    margin-top: 5px;
    /* 右端にさらに少しだけマージンを追加して微調整 */
    margin-right: 2px;
}

.nec-author-avatar img {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    margin-right: 0.3em;
    vertical-align: middle;
}

/* =====================
large1 PC縦型3列
===================== */
.nec-large1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    width: 98%;
    margin: 0 auto;
}

.nec-large1 .nec-thumb {
    aspect-ratio: auto; 
}

/* =====================
small1 PC横型1列
===================== */
.nec-small1 {
    display: flex;
    flex-direction: column;
    gap: 5px; 
    width: 99%;
    margin: 0 auto;
}

.nec-small1 .nec-card {
    display: flex;
    flex-direction: row;
    align-items: center; /* 画像とテキストを縦方向中央に揃える */
    gap: 0.6rem;
}

.nec-small1 .nec-thumb {
    flex: 0.7 1 0; /* 元の画像:テキスト比率を維持 */
    max-width: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto; 
    overflow: hidden;
}

.nec-small1 .nec-thumb-img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain; 
}

.nec-small1 .nec-content {
    flex: 1 1 0; /* 元の比率を維持 */
    /* 右側の余白を確保 */
    padding: 5px 15px 5px 0px; 
}

.nec-small1 .nec-title {
    min-height: auto; 
    margin-bottom: 2px;
}

/* =====================
スマホ対応（全タイプ共通）
===================== */
@media (max-width:600px) {
    .nec-large1,
    .nec-small1 {
        display: flex;
        flex-direction: column;
        gap: 6px !important;
        width: 100%;
        margin: 0 auto;
    }

    .nec-card {
        flex-direction: row;
        align-items: center;
    }

    .nec-small1 .nec-thumb,
    .nec-large1 .nec-thumb {
        flex: 0 0 120px;
        max-width: 120px;
        margin: 2px;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .nec-content {
        /* スマホでも右側が窮屈にならないよう調整 */
        padding: 5px 12px 5px 8px;
    }

    .nec-large1 .nec-title,
    .nec-small1 .nec-title {
        font-size: 13px;
        min-height: auto;
        -webkit-line-clamp: 3;
    }

    .nec-meta {
        font-size: 0.65em;
        margin-top: 4px;
        margin-right: 0; /* スマホではパディングのみで調整 */
    }
}

/*固定ページトップページの投稿日非表示*/
.post-22510 .date-tags,
.post-22507 .date-tags {
display: none;
}