@charset "utf-8";
/*
	Theme Name: diver_child
	Template: diver
	Description:  Diverの子テーマです。
	Theme URI: http://tan-taka.com/diver/
	Author: Takato Takagi
 */

.toc_widget .widgettitle.ef{margin-bottom:0;border:none!important;border-radius:0}.toc_widget ul{background:#fff;padding:20px 0 20px 40px;border:1px solid #424242;line-height:1.8em;max-height:280px;overflow-y:auto}.toc_widget ul li{list-style:decimal}.toc_widget ul li ul{border:none;padding:2px 0 2px 20px}.toc_widget ul li ul li{list-style:disc}.toc_widget a:hover{color:#424242;opacity:.7}.toc_widget .widgettitle::before{display:block;width:25%;margin:0 auto}@media (min-width: 1024px){.sidebar_style4 .widget:last-child{margin:0 0 -15px}}

body {
     font-family: 'Noto Sans JP', sans-serif;
     font-size: 100%;
     letter-spacing: 0.1em;
}

/* テキストロゴのリンク領域を固定し、Webフォント反映時の横方向CLSを抑える。 */
.header-wrap #logo a {
     display: block;
     width: 100%;
}

.header-wrap .logo_title {
     line-height: 1;
     white-space: nowrap;
}

/* ヘッダー画像は実画像のwidth/height比率で表示し、画像ごとの比率違いによる歪みを防ぐ。 */
.header-image {
     overflow: hidden;
}

.header-image img {
     display: block;
     width: 100%;
     height: auto;
     aspect-ratio: auto;
}

/* Diverのフェード表示を止め、PageSpeedの非合成アニメーション指摘を抑える。 */
.animated,
.fadeIn,
[class*=" fadeIn"],
.diver-loader::before {
     animation: none !important;
     -webkit-animation: none !important;
     opacity: 1 !important;
     transform: none !important;
}

/* 記事カードのhoverは合成可能なtransform/opacityだけに限定する。 */
.post-box-contents,
.post_list_wrap,
.mini-list-post-box .post-box-contents,
.pickup-cat-list,
.single-recommend,
.widget_post_list,
.sticky-post-box,
.sc_article.list > a,
.grid_post-box .post-box-contents,
.post_footer_author .author-post,
.widget_post_list.grid,
.sc_article.grid > a {
     transition-property: transform, opacity !important;
     -webkit-transition-property: -webkit-transform, opacity !important;
}

/* サムネイル画像の角丸は静的にし、border-radiusの非合成アニメーションを防ぐ。 */
.post_thumbnail img,
.post-box-thumbnail__wrap img,
.post-box-contents img,
.grid_post-box img,
.sticky-post-box img,
.widget_post_list img {
     transition: none !important;
     -webkit-transition: none !important;
}

/* Webフォント読み込み時も検索アイコンの占有幅を固定し、微小なCLSを抑える。 */
.header_search_inner .fa,
.header_search_inner .fa::before,
.post-date .fa,
.post-date .fa::before {
     display: inline-block;
     width: 1em;
     height: 1em;
     line-height: 1;
     text-align: center;
}

/* 記事サムネイルの表示領域を先に確保し、画像読み込み後のCLSを抑える。 */
.sticky-post-box .post_thumbnail,
.post-box-thumbnail__wrap {
     aspect-ratio: 16 / 9;
     background: #f3f3f3;
     overflow: hidden;
}

.sticky-post-box .post_thumbnail img,
.post-box-thumbnail__wrap img {
     display: block;
     width: 100%;
     height: 100%;
     object-fit: cover;
}

@media screen and (max-width: 768px) {
     /* モバイルで記事カード内の要素高さを安定させ、後続コンテンツの押し下げを防ぐ。 */
     .sticky-post-box {
          contain: layout paint;
     }

     .sticky-post-box .post_thumbnail,
     .sticky-post-box .post-meta-all {
          width: 100%;
     }

     .sticky-post-box .post-title {
          min-height: 3em;
     }

     .sticky-post-box .post-tag {
          min-height: 29px;
     }

     .sticky-post-box .post-substr {
          min-height: 4.5em;
     }
}
