@charset "UTF-8";

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

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

/*amp適用時太文字の色を赤にする*/

.red { color: #ff0000; }

/* 人気記事を横並びに表示 */

#popular_entries-5 .popular-entry-cards.large-thumb-on {
    display: flex;
}

#popular_entries-5 .popular-entry-cards.large-thumb-on a {
    width: 33%;
}

/* グラデーションのライン */
.sidebar h3 {
    background: none; /*背景色を解除*/
    padding: 0; /*余白をなしに*/
    font-size: 16px; /*文字サイズを小さく*/
    letter-spacing: 2px; /*文字の間隔を少し広く*/
}
.sidebar h3:first-letter {
    font-size: 1.5em; /*最初の文字を1.5文字分に大きく*/
}
.sidebar h3:after { /*グラデーションのラインを引く*/
    content:"";
    display:block;
    height:1px;
    width:100%;
    background: -webkit-linear-gradient(left, #40bfa0 0%,#fef785 82%,#f37b7b 100%);
    background: linear-gradient(to right, #40bfa0 0%,#fef785 82%,#f37b7b 100%);
}


/* グローバルメニュー中央寄せ */
#navi-in{
    display: flex;
    justify-content: center;
}


/* 文字の間隔を開ける */
.article li {
  margin: 0 0 7px;
  line-height: 1.7;
  position: relative;
  padding-left: 10px;
}

/* マウスオーバーで浮くCSS */

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

.category-content{
background-color: white;
padding: 1em 1em 0.2em;
margin-bottom: 1em;
}

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

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


/*-----------------------------------
CocoonのブログカードをカスタマイズするCSS
------------------------------------*/
/* === 不要な要素を非表示（画像・説明・フッターなど）=== */
.blogcard-snipet,
.blogcard-site,
.blogcard-date,
.internal-blogcard-footer,
.blogcard::before,
.internal-blogcard::after,
.blogcard-description,
.blogcard .entry-content,
.blogcard-content > div:not(.blogcard-title),
.blogcard-content p {
    display: none !important;
}

/* === ブログカードの基本レイアウト調整 === */
.blogcard {
    border: none !important;
    background-color: transparent !important;
    padding: 0 !important;
    display: block !important;
}

/* === タイトルリンクの表示スタイル === */
.blogcard-title {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.15rem;
    font-weight: bold;
    color: #1558d6; /* 青色で統一 */
    text-decoration: underline;
}

/* === カード全体のリンク装飾（自然なスタイル） === */
a.blogcard-wrap {
    display: block;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    text-align: left;
    color: inherit;
}

/* === ホバー時のリンク強調（色変化と拡大） === */
a.blogcard-wrap:hover {
    color: #1558d6;
    transform: scale(1.01);
    text-decoration: underline;
}

/* 微調整 */


/* ブログ記事内の画像を自動でちょうどいい見やすいサイズに調整してくれるCSSカスタマイズ */
main img{
    max-height: 60vh;
    width: auto;
}


/* 検索窓をオシャレにカスタマイズ！ */
.search-box{
	margin: 1em;
}

.search-edit{
	height: 40px;
	border-radius: 40px;
}

.search-submit{
	line-height: 0;
	top: 0;
	bottom: 0;
}

.search-edit:focus{
	outline: none;
	border-color: pink; /* フォーカス時の枠色 */
}

/*h2タグ*/
.article h2{
	background-color:#fff;
	color:#20664f;  /*文字の色*/
	border-left:10px solid #38b48b;  /*見出し左線色・太さ*/
	border-bottom:1px solid #38b48b; /*見出し下線色・太さ*/
	padding:13px;
	margin-top:30px /*見出しとその直前の文字の距離*/
}
/*ここまで*/

/*h3タグ*/
.article h3{
	border:none;
	display:inline-block;
	color:#20664f; /*文字の色*/
	border-top:2px solid #38b48b; /*見出し上線色・太さ*/
	border-bottom:2px solid #38b48b; /*見出し下線色・太さ*/
	margin-top:30px; /*見出しとその直前の文字の距離*/
	margin-bottom:0px; /*見出しとその直後の文字の距離*/
}
/*ここまで*/


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

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

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

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

/************************************
** トップページカスタマイズ
************************************/
.home #main h1{
    font-size: 1em;
    color: #555;
    letter-spacing: 1px;
    margin: 1em 0 -2em;
    font-weight: 400;
    display: flex;
    align-items: center;
}
.home #main h1:before, .home #main h1:after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: #aaa;
    display: block;
}
.home #main h1:before {
    margin-right: .4em;
}
.home #main h1:after {
    margin-left: .4em;
}
.home #main .large-thumb{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0.8em 0;
}
.home #main .large-thumb a{
    width: 50%;
    padding: 10px;
}
.home #main .large-thumb a:hover{
    background:unset;
}
.home #main .widget-entry-cards .e-card {
    font-size: 18px;
    box-shadow: 0 0 4px rgba(0,0,0,.15);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    height:100%;
}
.home #main .widget-entry-cards .e-card:hover {
    transform: translateY(-3px);
    box-shadow: 0px 3px 18px 3px rgba(0,0,0,.08);
}
.home #main .widget-entry-cards figure {
    float: none;
    width: 100%;
}
.home #main .widget-entry-cards figure img {
    width: 100%;
    display: block;
    object-fit: cover;
    height: 210px;
}
.home #main .widget-entry-cards .card-content {
    margin: 0 0 0.5em;
    padding:10px 15px;
    background:#fff;
}
.home #main .large-thumb .new-entry-card-title,.home #main .large-thumb .popular-entry-card-title {
    font-size: 0.9em;
    line-height: 1.5;
    font-weight: 600;
    color: #555;
    margin-top: 3px;
}
/*(スマホ)480px以下*/
@media screen and (max-width: 480px){
    .home #main h1{
        margin: 1em 0 0;
        padding: 0;
        font-size:0.8em;
    }
    .home #main .widget-entry-cards .e-card {
        margin:0 5px;
    }
    .home #main .large-thumb a {
        width: 100%;
        padding: 0;
        margin:0 0 15px;
    }
    .home .mobile-2{
        justify-content:space-between;
    }
    .home .mobile-2 a{
        width:48% !important;
    }
    .home .mobile-2 figure img {
        object-fit: unset !important;
        height: auto !important;
    }
    .home #main .large-thumb .new-entry-card-title{
        line-height:1.3;
    }
}
/************************************
** ボタン
************************************/
.p-button {
    max-width: 300px;
    margin: 0 auto;
}
.p-button a {
    display: block;
    margin:25px 0;
    padding: 0.8em 1em;
    border-radius: 2em;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    background: #eba02f;
    box-shadow: 0 5px 20px rgba(235, 160, 47, .5);
    text-align: center;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    opacity:1;
}
.p-button a:hover{
    box-shadow:none;
    transform: translateY(3px);
    opacity:1;
}

/*トップページの背景色を白にする*/
#main {
    background: #fff;
}

/*リンク広告*/
.ad-link .ad-wrap{min-height:90px;}
@media screen and (max-width: 768px){
.ad-link .ad-wrap{min-height:250px;}
}
/*インデックス部分の広告*/
div[class*="ad-index-"] .ad-wrap{
	min-height:200px;
}
@media screen and (max-width: 768px){
div[class*="ad-index-"] .ad-wrap{
	min-height:286px;
}
}
/*ページ内広告*/
.ads-fluid{
	min-height:200px;
}
@media screen and (max-width: 768px){
.ads-fluid{
	min-height:286px;
	
}}

/*CLSに関する問題:（パソコン）対策：アイキャッチ画像の高さと横幅指定*/.single_thumbnail img{
max-width:1200px;
height:630px;
vertical-align: middle;
object-fit: contain;
font-family: 'object-fit:contain;';
}/*CLSに関する問題:（スマホ）対策：アイキャッチ画像の高さと横幅指*/
@media screen and (max-width:599px){
.single_thumbnail img{
max-width:450px;
height:253px;
}
}

/*CLSに関する問題:yahooより[https://techblog.yahoo.co.jp/entry/2020120330052925/]*/
.imageWrap {
  display: inline-block;
  width: 「画像横幅」 または 「画像縦300pxとしたときの横幅」の小さい方;
  max-width: 100%;
}
.thumbWrap {
  margin: 0;
  height: 0;
  overflow: hidden;
  background-color: #fff;
  position: relative;
  padding-top: calc(画像アスペクト比*100%);
}
.thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
