@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
*/

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

/*グローバルメニュー 文字の大きさを変更
#navi .navi-in > .menu-header .item-label{
	font-size: 13px;
}*/

/************************************
****　全体のバランス
************************************/
.entry-content {/*本文下の空白を削除*/
padding-bottom: 0;
margin-bottom: 0;
}

/* =========================================================
   YORU NO BLOG: desktop header / category navigation / profile
   ========================================================= */
@media screen and (min-width: 1024px) {
  #navi .menu-mobile {
    display: none !important;
  }

  #header-container .logo-header {
    padding: 18px 0 10px;
  }

  #header-container .site-logo-image {
    width: min(560px, 48vw) !important;
    height: auto !important;
  }

  #navi .navi-in > ul {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 8px;
  }

  #navi .navi-in > ul > li {
    width: auto;
    min-width: 142px;
    height: 54px;
  }

  #navi .navi-in > ul > li > a {
    width: auto;
    min-width: 142px;
    height: 54px;
    padding: 0 22px;
    color: #253d4d;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .06em;
    border-bottom: 3px solid transparent;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease;
  }

  #navi .navi-in > ul > li:hover > a,
  #navi .navi-in > ul > li.current-menu-item > a,
  #navi .navi-in > ul > li.current-menu-ancestor > a {
    color: #3f7ea6 !important;
    border-bottom-color: #8cb8d2;
    background: #f5fafc;
  }

  #navi .navi-in .sub-menu {
    width: 238px;
    padding: 9px;
    background: #fff;
    border: 1px solid #dce8ef;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 12px 28px rgba(36, 67, 86, .13);
  }

  #navi .navi-in .sub-menu li,
  #navi .navi-in .sub-menu a {
    width: 100%;
    height: auto;
    min-height: 43px;
  }

  #navi .navi-in .sub-menu a {
    display: flex;
    align-items: center;
    padding: 10px 13px;
    color: #334e5f;
    font-size: 13px;
    border-radius: 7px;
  }

  #navi .navi-in .sub-menu a:hover {
    color: #2e6f98;
    background: #eef7fb;
  }
}

/* カテゴリーページ：トップページのカテゴリー切替ボタンと統一 */
.yoru-child-category-nav {
  margin: 20px 0 32px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.yoru-child-category-heading,
.yoru-child-category-button small {
  display: none !important;
}

.yoru-child-category-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 4px !important;
}

.yoru-child-category-button {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px !important;
  padding: 10px 14px !important;
  color: #1f3442 !important;
  text-align: center;
  background: #fff !important;
  border: 1px solid #c8cdd1 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  transform: none !important;
}

.yoru-child-category-button span {
  font-size: 14px !important;
  font-weight: 400 !important;
}

.yoru-child-category-button:hover,
.yoru-child-category-button.is-current {
  color: #fff !important;
  background: #61a5d4 !important;
  border-color: #61a5d4 !important;
}

@media screen and (max-width: 600px) {
  .yoru-child-category-nav {
    margin: 16px 10px 26px !important;
  }

  .yoru-child-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .yoru-child-category-button {
    min-height: 48px !important;
    padding: 8px !important;
  }

  .yoru-child-category-button span {
    font-size: 13px !important;
  }
}

/* スマホ：記事カードの余白とフッターカテゴリを統一 */
@media screen and (max-width: 600px) {
  .entry-card-wrap .entry-card-content {
    padding-top: 10px !important;
  }
  .entry-card-wrap .entry-card-title {
    margin: 0 0 6px !important;
  }
  .entry-card-wrap .yoru-entry-card-category {
    margin: 0 0 8px !important;
  }
  .entry-card-wrap .entry-card-snippet {
    margin-top: 0 !important;
    padding-top: 8px !important;
  }

  footer#footer.footer {
    margin-top: 52px !important;
  }
  .widget-footer-mobile.widget_categories > ul {
    margin: 0 !important;
    padding: 0 !important;
  }
  .widget-footer-mobile.widget_categories > ul > li {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #e3edf3;
  }
  .widget-footer-mobile.widget_categories > ul > li > a {
    display: flex !important;
    align-items: center;
    min-height: 48px;
    padding: 11px 48px 11px 10px !important;
    color: #174c6a !important;
    font-weight: 600;
    text-decoration: none !important;
  }
  .widget-footer-mobile.widget_categories .yoru-footer-category-toggle {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    display: grid;
    place-items: center;
    width: 46px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
  }
  .widget-footer-mobile.widget_categories .yoru-footer-category-toggle span {
    width: 8px;
    height: 8px;
    border-right: 1.5px solid #4d8eae;
    border-bottom: 1.5px solid #4d8eae;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .18s ease;
  }
  .widget-footer-mobile.widget_categories .yoru-footer-category-parent.is-open > .yoru-footer-category-toggle span {
    transform: translateY(2px) rotate(225deg);
  }
  .widget-footer-mobile.widget_categories .yoru-footer-category-parent > ul.children {
    display: none !important;
    margin: 0 !important;
    padding: 0 8px 9px 18px !important;
    border: 0 !important;
  }
  .widget-footer-mobile.widget_categories .yoru-footer-category-parent.is-open > ul.children {
    display: block !important;
  }
  .widget-footer-mobile.widget_categories ul.children > li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  .widget-footer-mobile.widget_categories ul.children > li > a {
    display: block !important;
    min-height: 38px;
    padding: 9px 10px !important;
    color: #607d8d !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
  }
}

/* 記事一覧カード：アイキャッチ全体を余白付きで表示し、小カテゴリーを表示 */
.entry-card-wrap .entry-card-thumb {
  margin-top: 0 !important;
  box-sizing: border-box;
  max-height: none !important;
  padding: 10px !important;
  overflow: visible;
  border-radius: 10px 10px 0 0 !important;
  background: #fff;
}
.entry-card-wrap .entry-card-thumb img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  border-radius: 9px;
  object-fit: contain !important;
  transform: none !important;
}
.entry-card-wrap .entry-card-content {
  display: flex;
  flex-direction: column;
}
.entry-card-wrap .entry-card-title {
  order: 1;
  margin-bottom: 0 !important;
}
.entry-card-wrap .yoru-entry-card-category {
  order: 2;
  align-self: flex-start;
  margin: 12px 28px;
  padding: 3px 9px;
  color: #397291;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  background: #eaf5fb;
  border-radius: 999px;
}
.entry-card-wrap .entry-card-snippet {
  order: 3;
}
.entry-card-wrap .entry-card-meta {
  order: 4;
}

/* 記事上部の大・小カテゴリーラベル（PC・スマホ共通） */
body.single .entry-categories-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0 !important;
  padding: 0 !important;
  line-height: 1;
}
body.single .entry-categories-tags a.cat-link {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  margin: 0 5px 5px 0 !important;
  padding: 3px 10px !important;
  color: #2f6f94 !important;
  line-height: 1.35 !important;
  background: #dceff9 !important;
  border: 0 !important;
  border-radius: 999px;
  vertical-align: middle;
}
body.single .entry-categories-tags a.cat-link .cat-icon {
  display: none !important;
}
body.single .entry-categories-tags .entry-categories,
body.single .entry-categories-tags .entry-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
}
body.single .entry-categories-tags a.tag-link {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  margin: 0 5px 5px 0 !important;
  padding: 3px 10px !important;
  color: #2f6f94 !important;
  line-height: 1.35 !important;
  background: #dceff9 !important;
  border: 0 !important;
  border-radius: 999px !important;
  vertical-align: middle;
}
body.single .entry-categories-tags a.tag-link .tag-icon {
  display: inline-block !important;
  margin-right: 4px;
  color: inherit !important;
  font-size: 10px;
  line-height: 1;
}

/* カテゴリーと記事タイトルの間隔を詰める */
body.single .article-header h1.entry-title {
  padding-top: 14px !important;
}

/* 記事内コードブロック */
.entry-content .yoru-code-shell {
  margin: 24px 0;
  overflow: hidden;
  background: #17232d;
  border: 1px solid #263946;
  border-radius: 9px;
  box-shadow: 0 5px 16px rgba(34, 55, 68, .12);
}
.entry-content .yoru-code-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 40px;
  padding: 0 10px 0 15px;
  color: #9fb7c6;
  font-family: Consolas, Monaco, monospace;
  font-size: 11px;
  letter-spacing: .12em;
  background: #21313d;
  border-bottom: 1px solid #304653;
}
.entry-content .yoru-code-copy {
  min-width: 68px;
  padding: 5px 10px;
  color: #d9eaf3;
  font-size: 12px;
  line-height: 1.4;
  background: transparent;
  border: 1px solid #557181;
  border-radius: 5px;
  cursor: pointer;
}
.entry-content .yoru-code-copy:hover,
.entry-content .yoru-code-copy.is-copied {
  color: #173247;
  background: #a9d9ef;
  border-color: #a9d9ef;
}
.entry-content .yoru-code-shell pre {
  margin: 0 !important;
  padding: 18px 20px !important;
  overflow-x: auto;
  color: #e5eef3;
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 14px;
  line-height: 1.75;
  tab-size: 2;
  white-space: pre;
  background: #17232d !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.entry-content .yoru-code-shell code {
  padding: 0;
  color: inherit;
  font: inherit;
  background: transparent;
}
.entry-content code.yoru-inline-code {
  padding: 2px 6px;
  color: #295f7c;
  font-family: Consolas, Monaco, monospace;
  font-size: .92em;
  background: #eaf5fb;
  border-radius: 4px;
}
@media screen and (max-width: 600px) {
  .entry-content .yoru-code-shell pre {
    padding: 15px !important;
    font-size: 12px;
  }
}
@media screen and (max-width: 600px) {
  body.single .article-header h1.entry-title {
    padding-top: 10px !important;
  }
}

/* 大・小カテゴリーページの見出し前にあるフォルダアイコンを非表示 */
#archive-title .fa-folder-open,
#archive-title .fa-folder,
#archive-title > .fas:first-child {
  display: none !important;
}

/* フッターカテゴリー：大カテゴリーと小カテゴリーを見分けやすくする */
#footer .widget_categories > ul > li {
  margin-bottom: 12px;
}
#footer .widget_categories > ul > li > a {
  display: block;
  color: #29495c;
  font-weight: 700;
}
#footer .widget_categories .children {
  margin: 7px 0 0 3px;
  padding: 4px 0 2px 13px;
  border-left: 2px solid #a9cde2;
}
#footer .widget_categories .children li {
  margin: 0;
}
#footer .widget_categories .children a {
  display: block;
  padding: 4px 0;
  color: #5e7482;
  font-size: 13px;
  font-weight: 400;
}
#footer .widget_categories .children a:hover {
  color: #2f78a5;
}

/* PCフッター上部の余白 */
@media screen and (min-width: 1024px) {
  #footer.footer-container {
    padding-top: 40px !important;
  }
}

/* 記事ページ上部のシンプルなパンくずリスト */
.single .breadcrumb {
  margin: 0 0 18px !important;
  padding: 10px 2px !important;
  color: #718795;
  font-size: 12px;
  line-height: 1.7;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #e3ebf0 !important;
}
.single .breadcrumb a {
  color: #56798f !important;
  text-decoration: none !important;
}
.single .breadcrumb a:hover {
  color: #2f78a5 !important;
}
.single .breadcrumb .fa-home,
.single .breadcrumb .fa-folder,
.single .breadcrumb .fa-folder-open {
  display: none !important;
}
.single .breadcrumb > span:not(:last-child)::after,
.single .breadcrumb > a:not(:last-child)::after {
  color: #a8b7c0;
}

/* スマホの記事詳細は本文が画面端に接しないよう左右余白を確保 */
@media screen and (max-width: 600px) {
  body.single main.main {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.single main.main > .article {
    box-sizing: border-box;
    width: 100%;
    padding-top: 18px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  body.single main.main .article,
  body.single main.main .entry-content {
    max-width: 100%;
    min-width: 0;
  }
  body.single main.main > .breadcrumb {
    box-sizing: border-box;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* 記事上部の大・小カテゴリーラベル */
  body.single .entry-categories-tags a.cat-link {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    margin: 0 5px 7px 0 !important;
    padding: 3px 10px !important;
    color: #2f6f94 !important;
    line-height: 1.35 !important;
    background: #dceff9 !important;
    border: 0 !important;
    border-radius: 999px;
    vertical-align: middle;
  }
  body.single .entry-categories-tags a.cat-link .cat-icon {
    display: none !important;
  }
  body.single .entry-categories-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0 !important;
    line-height: 1;
  }
  .single .breadcrumb {
    margin-bottom: 12px !important;
    padding: 8px 0 !important;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* プライバシーポリシーではCocoonの標準アイキャッチを表示しない */
.page-id-271 .article-header .eye-catch-wrap {
  display: none !important;
}

/* プロフィールでもCocoonの標準アイキャッチを表示しない */
.page-id-1092 .article-header .eye-catch-wrap {
  display: none !important;
}

.yoru-child-category-nav {
  margin: 24px 0 34px;
  padding: 24px;
  background: linear-gradient(135deg, #f8fbfd, #f1f7fa);
  border: 1px solid #dcebf2;
  border-radius: 14px;
}

.yoru-child-category-heading {
  margin: 0 0 16px;
  color: #35576c;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
}

.yoru-child-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
}

.yoru-child-category-button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 72px;
  padding: 12px 15px;
  color: #29495c;
  text-decoration: none !important;
  background: #fff;
  border: 1px solid #d6e6ee;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgba(48, 87, 110, .05);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.yoru-child-category-button:hover {
  color: #2f7199;
  border-color: #8dbbd4;
  box-shadow: 0 7px 16px rgba(48, 87, 110, .11);
  transform: translateY(-2px);
}

.yoru-child-category-button span {
  font-size: 14px;
  font-weight: 700;
}

.yoru-child-category-button small {
  margin-top: 4px;
  color: #8298a5;
  font-size: 10px;
  letter-spacing: .06em;
}

.yoru-profile-intro {
  padding: 25px 27px;
  background: #f4f9fc;
  border-left: 4px solid #82b2ce;
  border-radius: 0 12px 12px 0;
}

.yoru-profile-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0 32px;
}

.yoru-profile-category-card {
  display: block;
  padding: 20px;
  color: #315367;
  text-decoration: none !important;
  background: #fff;
  border: 1px solid #dbe9f0;
  border-radius: 12px;
  box-shadow: 0 5px 16px rgba(48, 87, 110, .07);
}

.yoru-profile-category-card strong {
  display: block;
  margin-bottom: 7px;
  color: #376f91;
}

@media screen and (max-width: 834px) {
  .yoru-child-category-nav {
    margin: 18px 12px 28px;
    padding: 18px;
  }

  .yoru-child-category-grid,
  .yoru-profile-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 480px) {
  .yoru-child-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .yoru-child-category-button {
    min-height: 66px;
    padding: 10px;
  }

  .yoru-child-category-button span {
    font-size: 13px;
  }

  .yoru-profile-category-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1023px){
article > .entry-content, aritcle > footer.article-footer {/*本文左右の空白*/
padding: 0 20px;
}
}
@media screen and (max-width: 880px){
.page-body {
font-size: 16px;
}
}
@media screen and (max-width: 480px){
.page-body {
font-size: 15px;
}	
}
/*
img{
box-shadow: 0px 2px 5px 0 rgba(0,0,0,.2);
}*/
a {
 -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.body .article {/*本文SNSフォロー下の空白*/
margin-bottom: 0;
}

.logo-footer img{ display: none; }

.content-in {
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
}
.entry-content h2{
	background:#4897CE;
}
.article h2{
    background: #61A5D4;
	color: white;
}
.article h3{
    color: #4897CE;	
}
.article h2:before {
    height: 100%;
    border-radius: 0%;
    width: 0.5em;
    left: 0;
    top: 0;
    background: #61A5D4;
}
.article h3:before{
	background:#61A5D4;	
}
.eye-catch-wrap{
	box-shadow:none;
}
.widget_text{
	padding:0px;
}
.textwidget a img{
	width:100%;
	height:auto;
}
/*「新着記事」を非表示にするCSS */
.index-tab-buttons label:first-of-type {
  display: none;
}
#index-tab-1:checked ~ .index-tab-buttons .index-tab-button[for="index-tab-1"], #index-tab-2:checked ~ .index-tab-buttons .index-tab-button[for="index-tab-2"], #index-tab-3:checked ~ .index-tab-buttons .index-tab-button[for="index-tab-3"], #index-tab-4:checked ~ .index-tab-buttons .index-tab-button[for="index-tab-4"] {
    background: none #61A5D4;
    border: 1px solid #61A5D4;
    color: #fff;
    font-weight: 700;
}
/************************************
****　ヘッダーロゴ
************************************/
@media screen and (max-width: 1023px){
.container {
margin-top:-3px;
}
}
.logo-image {
padding:0;
margin-left:1em;/*ロゴ画像が左に詰まってしまう場合は、ここの数字を0.1刻みで大きくしてみてください*/
margin-top:1em;
margin-bottom:1em;
max-height:60px;/*大きなロゴ画像を使いたい方は、ここの数字を大きくしてみてください*/
}

.logo-header img {
box-shadow: none!important;
}

#header-in {
    animation: none;
}



#home{
	display: inline-block;
	margin: 0 5px 1px 8px;
	width: 10px;
	height: 10px;
	content: '';
	border-radius: 100%;
	background:#000;
}

#design{
	display: inline-block;
	margin: 0 5px 1px 8px;
	width: 10px;
	height: 10px;
	content: '';
	border-radius: 100%;
	background:#EE662E;
}

#tool{
	display: inline-block;
	margin: 0 5px 1px 8px;
	width: 10px;
	height: 10px;
	content: '';
	border-radius: 100%;
	background:#F5BA2D;
}

#like{
	display: inline-block;
	margin: 0 5px 1px 8px;
	width: 10px;
	height: 10px;
	content: '';
	border-radius: 100%;
	background:#79CFCF;
}

#book{
	display: inline-block;
	margin: 0 5px 1px 8px;
	width: 10px;
	height: 10px;
	content: '';
	border-radius: 100%;
	background:#509DD2;
}

table{
	background:#fff;
	/*border: 1px solid #509DD2 !important;*/
}
table th, table td{
	border: 1px solid #509DD2 !important;
	text-align:center;
	justify-content: center;
}
table th, table td p{
	margin:0px;
}

table p {
  margin-bottom: 0 !important;
}

table th {
    border-bottom: 5px solid #509DD2 !important;
	background:#509DD2;
	color:white;
}
table tr{
	border-bottom:  1px solid #509DD2 !important;
}
table th{
	border-right:  1px solid #ffff !important;
}
.wp-block-table tr{
  border-color: rgba(255,172,5,.5) !important;
}

table{
	 border-color:red !important;
}
#navi .navi-in > ul > .menu-item{
	width:125px;
	border-right: solid #87B4D4 1px;
	border-left: solid #87B4D4 1px;
}
#navi .navi-in > ul > .menu-item > a{
   width:200px;
}

/*
 * スマホ用スライドメニュー
 * PC用グローバルメニューの固定幅を持ち込まず、
 * 大カテゴリと小カテゴリの階層が一目で分かるようにする。
 */
@media screen and (max-width: 1023px) {
  /* ヘッダーでは検索アイコンを消し、ハンバーガーを右端へ */
  .mobile-header-menu-buttons.mobile-menu-buttons {
    position: relative;
    justify-content: flex-end !important;
  }
  .mobile-header-menu-buttons #search-menu-open,
  .mobile-header-menu-buttons .search-menu-button {
    display: none !important;
  }
  .mobile-header-menu-buttons #navi-menu-open {
    order: 99;
    margin-right: 0 !important;
    margin-left: auto !important;
  }
  .mobile-header-menu-buttons .logo-menu-button {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  /* ハンバーガーアイコン下の「メニュー」を非表示 */
  #navi-menu-open .navi-menu-caption {
    display: none !important;
  }

  #navi-menu-content {
    background: #fff;
  }

  #navi-menu-content .menu-drawer {
    box-sizing: border-box;
    width: 100%;
    padding: 64px 18px 32px;
  }

  #navi-menu-content .menu-item {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    border: 0;
  }

  #navi-menu-content .menu-item > a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 46px;
    padding: 11px 14px;
    border-bottom: 1px solid #e8eef3;
    color: #263746;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    text-decoration: none;
  }

  #navi-menu-content .menu-item-has-children > a {
    margin-top: 8px;
    border-bottom: 0;
    border-radius: 8px;
    background: #eaf4fb;
    color: #2877ad;
    font-size: 16px;
    font-weight: 700;
  }

  #navi-menu-content .sub-menu {
    margin: 0 0 8px 12px;
    padding: 4px 0 4px 10px;
    border-left: 3px solid #9bc8e6;
  }

  #navi-menu-content .sub-menu .menu-item > a {
    min-height: 42px;
    padding: 9px 10px;
    color: #425466;
    font-size: 14px;
    font-weight: 500;
  }

  #navi-menu-content .current-menu-item > a,
  #navi-menu-content .current-menu-ancestor > a {
    color: #176a9f;
  }

  #navi-menu-content .navi-menu-close-button {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0 !important;
    padding: 6px;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    color: #526a79;
  }
  #navi-menu-content .navi-menu-close-button .fa-close::before {
    font-size: 22px;
    font-weight: 400;
  }

  /* MENU見出しと下部のグレー帯を削除 */
  #navi-menu-content .menu-drawer::before,
  #navi-menu-content .menu-drawer::after {
    content: none !important;
    display: none !important;
  }

  #navi-menu-content .menu-drawer {
    padding-top: 64px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-bottom: 24px !important;
    text-align: left;
  }

  /* ハンバーガーメニュー内検索 */
  #navi-menu-content .yoru-mobile-search {
    display: block;
    width: 100%;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
  }
  #navi-menu-content .yoru-mobile-search-row {
    display: flex;
    gap: 8px;
    width: 100%;
  }
  #navi-menu-content .yoru-mobile-search input[type="search"] {
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
    height: 44px;
    margin: 0;
    padding: 0 13px;
    border: 1px solid #cfe2ef;
    border-radius: 8px;
    background: #fff;
    color: #263746;
    font-size: 15px;
    outline: none;
  }
  #navi-menu-content .yoru-mobile-search input[type="search"]:focus {
    border-color: #65a9d2;
    box-shadow: 0 0 0 3px rgba(101, 169, 210, .14);
  }
  #navi-menu-content .yoru-mobile-search button {
    flex: 0 0 auto;
    height: 44px;
    margin: 0;
    padding: 0 17px;
    border: 0;
    border-radius: 8px;
    background: #67a9d2;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
  }

  /* 大カテゴリー右側の開閉ボタン */
  #navi-menu-content .menu-drawer > .menu-item-has-children {
    position: relative;
  }
  #navi-menu-content .menu-drawer > .menu-item-has-children > a {
    padding-right: 52px !important;
  }
  #navi-menu-content .yoru-submenu-toggle {
    position: absolute;
    top: 9px;
    right: 7px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
  }
  #navi-menu-content .yoru-submenu-toggle span {
    width: 8px;
    height: 8px;
    border-right: 2px solid #4d86a8;
    border-bottom: 2px solid #4d86a8;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .2s ease;
  }
  #navi-menu-content .menu-item-has-children.is-open > .yoru-submenu-toggle span {
    transform: translateY(2px) rotate(225deg);
  }

  /* 小カテゴリーは線なしのプルダウン */
  #navi-menu-content .menu-drawer > .menu-item-has-children > .sub-menu {
    display: none !important;
    margin: 0 0 10px !important;
    padding: 5px 10px 7px 16px !important;
    border: 0 !important;
  }
  #navi-menu-content .menu-drawer > .menu-item-has-children.is-open > .sub-menu {
    display: block !important;
  }
  #navi-menu-content .menu-drawer .sub-menu .menu-item > a {
    padding: 9px 12px !important;
    border-bottom: 0 !important;
    color: #4a6271;
    background: transparent;
  }
}

/* PCメニュー：親項目とプルダウンの横幅を統一 */
@media screen and (min-width: 1024px) {
  #navi .navi-in > ul > .menu-item {
    box-sizing: border-box !important;
    flex: 0 0 200px !important;
    width: 200px !important;
    min-width: 200px !important;
  }
  #navi .navi-in > ul > .menu-item > a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  #navi .navi-in > ul > .menu-item > .sub-menu {
    box-sizing: border-box !important;
    left: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  #navi .navi-in > ul > .menu-item > .sub-menu > .menu-item,
  #navi .navi-in > ul > .menu-item > .sub-menu > .menu-item > a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* PC記事一覧：アイキャッチとタイトルの間隔を少し詰める */
  .entry-card-wrap .entry-card-thumb {
    margin-bottom: 0 !important;
  }
  .entry-card-wrap .entry-card-title {
    margin-top: 12px !important;
  }
}

/************************************
**ヘッダー　モバイル表示
************************************/
@media (max-width:1023px){
.header-container {
display:none;
}
img.site-logo-image{
max-height:35px;
padding:2px 0 0 5px;
box-shadow:none;
}
.mobile-header-menu-buttons {/*ヘッダー背景色を変えるときはここを変更*/
background: #fff;
}
}

/************************************
****　ヘッダーメニュー
************************************/
/*.navi-in > ul{/*メニューを中央に配置する場合は4～7行目を削除してください
justify-content:flex-start;
}*/
.navi-in>ul li {
line-height: 40px;
height: 40px;
}
.navi-in a{
font-size:15px;
}
#navi .navi-in a:hover {
transform: none!important;
}
.navi-in > ul .sub-menu a {
padding: 0;
}
.navi-in > ul .sub-menu{
box-shadow: 0px 2px 5px 0 rgba(0,0,0,.26);
}
.sub-menu .caption-wrap {
color:#333;/*サブメニューの文字色*/
border-top: dotted #dddddd;
background:#fff;/*サブメニューの背景色*/
padding:0 0 0 2em;
margin:0;
}
.navi-in > ul .sub-menu a:hover {
transform: none!important;
}
div#header-container {
box-shadow: none;
padding-top:50px;
/*padding-bottom:50px;*/
}

div.item-label{
font-weight:nomal;
}
.navi-in {
	background:#61A5D4;
}
.logo-image{
	margin-bottom:60px;
}
.item-label{
	color: white;
}
.navi{
	background:#61A5D4 !important;
}
/************************************
****　アピールエリア（一行メッセージ）
************************************/
.appeal{
padding:0 0 .1em;
box-shadow: 0px 1px 4px 0 rgba(0,0,0,.1);
}
div#appeal-in.appeal-in.wrap{
padding:0;
min-height:0px;
max-height:30px;
}
.appeal-content{
background-color:#5d91bf; /*エリア背景色・ボタン色と同じカラーコードを入力*/
margin:auto;
padding:0;
max-width:100%;
opacity:1;
line-height:1.6;
}
a.appeal-button {
color: #fff!important;/*文字色はこちらで変更できます*/
font-size:.85em;
padding:0 23em 0;
margin:0;
max-width:100%;
white-space: nowrap;
box-shadow: none;
}
@media screen and (max-width: 1023px){
a.appeal-button {
padding:0 18em 0 ;
}}
@media screen and (max-width: 834px){
a.appeal-button {
padding:0 13em 0 ;
}
.appeal{
padding:.1em 0 .25em;
}}
@media screen and (max-width: 652px){
a.appeal-button {
padding:0 8em 0 ;
}}
@media screen and (max-width: 500px){
a.appeal-button {
padding:0 6em 0 ;
}}
@media screen and (max-width: 420px){
a.appeal-button {
padding:0 3em 0 ;
}}
.appeal-button:hover {
transform:none;
box-shadow: none;
}

/************************************
****　おすすめカード
************************************/
div#recommended-in.recommended-in.wrap.cf{
margin-top: 20px;
max-height:220px;
}
@media screen and (min-width: 1024px){
div#recommended-in.recommended-in.wrap.cf{
padding:0 1em;
}}
.widget-entry-cards .a-wrap{
transition: all .2s;
	padding: 0px;
}
.widget-entry-cards .a-wrap:hover {
transform: translateY(-1px);
transition: all .2s;
}
figure.navi-entry-card-thumb.widget-entry-card-thumb.card-thumb{
opacity:.9;
}
.recommended.rcs-center-white-title .a-wrap:hover .card-content {
transition: all .1s;
opacity: 1;
}
.widget-entry-cards.large-thumb-on .card-content{
background: rgba(151, 151, 151, 0);
display:none;
}
a.navi-entry-card-link.widget-entry-card-link.a-wrap{
border-radius:10px!important;
margin:1em .5em;
background-color:#F0F0F0;/*Cocoon設定「全体」の「サイト背景色」に合わせてください*/
}
div.navi-entry-card-title.widget-entry-card-title.card-title{
color:#333333;
font-weight:bold;
font-size:.8em;
background-color: rgba(255, 255, 255, 0.8);
/*padding: .6em .5em;*/
border-radius:25px;
}
@media (max-width:834px){
a.navi-entry-card-link.widget-entry-card-link.a-wrap{
margin:.3em 0em;
}
div.navi-entry-card.widget-entry-card.e-card.cf{
border-radius:10px!important;
overflow:hidden;
max-height:100px;
margin:0 .3em 0;
box-shadow: 0px 1px 4px 0 rgba(0,0,0,.1)!important;
}
.widget-entry-cards.large-thumb-on .a-wrap:hover {
box-shadow:none;
}
}
@media (max-width:834px){
div.navi-entry-card-title.widget-entry-card-title.card-title{
font-size:.6em;
padding: .5em;
}
div#recommended-in.recommended-in.wrap.cf{
margin: .7em .2em .3em;
}
.widget-entry-cards.large-thumb-on .card-content{
background: rgba(151, 151, 151, 0.2);
}
}
main#main.main{
margin:0;
}
.body .navi-entry-cards{
margin-bottom: 0;
}

/************************************
****　エントリーカード（記事一覧）
************************************/
a.entry-card-wrap.a-wrap.border-element.cf{
padding:0 0 .5em;
border-radius:20px;
width:48%;
}
a.entry-card-wrap.a-wrap{
transition: all .1s;
}
a.entry-card-wrap.a-wrap:hover {
transform: translateY(-1px);
transition: all .1s;
background-color: #fff;
}
figure.entry-card-thumb.card-thumb.e-card-thumb{
/*max-height:150px;*/
border-radius:10px 10px 0 0/ 10px 10px 0 0;
overflow:hidden;
display: flex;
justify-content: center;
align-items: center;
}
.cat-label{
	 display:none;
}
.e-card-thumb .cat-label{
margin-left:.8em;
}
@media screen and (max-width: 1100px){
figure.entry-card-thumb.card-thumb.e-card-thumb{
max-height:122px;
}}
@media screen and (max-width: 1023px){
figure.entry-card-thumb.card-thumb.e-card-thumb{
max-height:100%;
}
a.entry-card-wrap.a-wrap:hover {
transform: none;
background-color: #f7f7f7;
}}
@media screen and (max-width: 900px){
figure.entry-card-thumb.card-thumb.e-card-thumb{
max-height:160px;
}}
@media screen and (max-width: 750px){
figure.entry-card-thumb.card-thumb.e-card-thumb{
max-height:130px;
}}
@media screen and (max-width: 600px){
figure.entry-card-thumb.card-thumb.e-card-thumb{
max-height:250px;
}
a.entry-card-wrap.a-wrap.border-element.cf{
margin:0em 1em!important;
}
.ect-vertical-card .entry-card-wrap {
width: 95%!important;
}
}
@media screen and (max-width: 480px){
.e-card-thumb .cat-label{
margin-left:1em;
}}
@media screen and (max-width: 1023px){
div#list a {
/*box-shadow: 0px 1px 5px 0 rgba(0,0,0,.2);*/
}
}
@media screen and (min-width: 601px) and (max-width: 834px){
div#content.content.cf{
margin:1em;
}}
h2.entry-card-title.card-title.e-card-title{
font-size:18px;
color:#696969;
font-weight:bold;
text-align:left;
line-height:1.8em;
margin-top:1em;
margin-bottom:1em;
padding: 0 1.5em 0;
}
.entry-card-snippet{
-webkit-line-clamp: unset;
}
.entry-card-snippet.card-snippet.e-card-snippet{
font-size:14px;
color:#7b7b7b;
text-align:left;
border-top:3px dotted #b5b5b5;/*点線の色変更はこちら*/
line-height:1.8em;
padding-top:0.6em;
margin-left:2em;
margin-right:2em;
margin-bottom:1em;
max-height:20em;
}
@media (max-width:834px){
h2.entry-card-title.card-title.e-card-title{
font-size: 1.15em;
font-weight:bold;
line-height:1.7em;
padding: 1.5em .8em 1em;
margin:0;
}
.entry-card-snippet.card-snippet.e-card-snippet{
font-size:13px;
text-align:center;
border-top:3px dotted #b5b5b5;/*点線の色変更はこちら*/
line-height:1.8em;
padding:1em 0.5em 0;
margin: 0 1em 1.5em;
}
main.main, div.sidebar {
padding:0;
}
}
a.entry-card-wrap.a-wrap.border-element.cf .post-date,
a.entry-card-wrap.a-wrap.border-element.cf .post-update{
margin-right:1.5em!important;
color:#7b7b7b;
font-size:.86em;
}
.eye-catch .cat-label, .cat-label{
font-size:.7em;
border-radius:10px;
margin:0.5em;
padding:0 0.5em 0;
background-color:#90C31F;/*カテゴリーラベルの色変更はこちら*/
color:#fff;
}
div.admin-pv{/*閲覧数を非表示*/
display:none;
}

/************************************
****　プロフィール欄
************************************/
.nwa .author-box {
max-width:none;
padding: 0;
margin-bottom:0;
}

aside{
	padding:0px;
}
aside div,ul{
	padding:10px;
}
aside ul{
	padding:10px !important;
}
.search-box {
    padding: 0 10px 20px;
    position: relative;
    border-radius: 100%;
    box-sizing: border-box;
}
aside .search-box input[type="text"] {
    border: none;
    background: #EBF9FF;
}
.search-submit {
    position: absolute;
    right: 3px;
    top: calc(50% - 19px);
    font-size: 20px;
    cursor: pointer;
    border: none;
    color: #ddd;
    padding-right: 20px;
    background-color: rgba(255, 255, 255, 0);
}
.widget_text img[width="1"][height="1"] {
  display: none;
}
aside .cat-item a{
font-weight: bold;
}
aside .children  a{
font-weight:normal;
}

.search-edit, input[type="text"] {
    padding: 11px;
    border-radius: 100px;
    font-size: 14px;
    line-height: 2;
    color: slategray;
    width: 100%;
}

.sidebar h3{
background-color: #61A5D4;
padding:10px 0px;
color: white;
Font-weight: bold;
}

/*プロフィール*/
aside#author_box-2.widget.widget-sidebar.widget-sidebar-standard.widget_author_box{
padding: 0!important;
border-radius: 10px;
}

.nwa .author-box .author-thumb {
width: 100%;
height:9em;
margin:0 0 5em 0;
border-radius: 10px 10px 0 0;
}
.author-box figure.author-thumb{
float: none;
text-align: center;
background-size: cover;
position: relative;
z-index: 0;
}
.author-box img.avatar.photo{
background-image: none;
padding: 0!important;
box-shadow:none;
}
.author-box figure.author-thumb img{
width: 40%;
max-width:180px;
margin-top:3em;
}
@media (min-width:1023px){
.nwa .author-box .author-thumb {
height:6em;
}
.author-box figure.author-thumb img{
max-width:120px;
}}
@media (max-width:480px){
.nwa .author-box .author-thumb {
height:8em;
}
.author-box figure.author-thumb img{
max-width:130px;
}}
.author-box .author-name {
margin: 0 0 1.5em 0;
}
.author-box .author-content .author-name a{
text-decoration: none;
font-size:1.2em;
color:#545454;
}
.nwa .author-box .author-description {
margin-bottom:1.5em
}
.author-box .author-content .author-description p{
font-size:14px;
color:#7b7b7b;
line-height:1.6em!important;
margin:1em;
}
#author_box-2 p{
margin:1em 2.5em;
}
div.author-follows{
padding-bottom:2em;
}
.author-box .author-content .author-description p a{ text-decoration: none; }
.author-box .author-content .author-description p a:hover{ text-decoration: underline; }
.author-box .author-content .author-follows .sns-buttons{ justify-content: center; }
.author-box .author-content .author-follows .sns-buttons a.follow-button{
border-radius: 50%;
border: none;
width: 40px;
height: 40px;
color: #fff!important;
margin:3px;
transition: .5s;
}
div.author-follows a.follow-button.website-button.website-follow-button-sq{background-color: #6eb6fd!important;}
div.author-follows a.follow-button.twitter-button.twitter-follow-button-sq{background-color: #000000!important;}
div.author-follows a.follow-button.facebook-button.facebook-follow-button-sq{background-color: #7c9dec!important;}
div.author-follows a.follow-button.hatebu-button.hatebu-follow-button-sq{background-color: #2c6ebd!important;}
div.author-follows a.follow-button.instagram-button.instagram-follow-button-sq{background: linear-gradient(165deg, #427eff 5%, #f13f79 50%) no-repeat !important;}
div.author-follows a.follow-button.pinterest-button.pinterest-follow-button-sq{background-color: #bd081c!important;}
div.author-follows a.follow-button.youtube-button.youtube-follow-button-sq{background-color: #cd201f!important;}
div.author-follows a.follow-button.tiktok-button.tiktok-follow-button-sq{background-color: #000000!important;}
div.author-follows a.follow-button.linkedin-button.linkedin-follow-button-sq{background-color: #0A66C2!important;}
div.author-follows a.follow-button.note-button.note-follow-button-sq{background-color: #41C9B4!important;}
div.author-follows a.follow-button.soundcloud-button.soundcloud-follow-button-sq{background-color: #FF5500!important;}
div.author-follows a.follow-button.flickr-button.flickr-follow-button-sq{background-color: #111!important;}
div.author-follows a.follow-button.line-button.line-follow-button-sq{background-color: #00c300!important;}
div.author-follows a.follow-button.amazon-button.amazon-follow-button-sq{background-color: #ff9900!important;}
div.author-follows a.follow-button.twitch-button.twitch-follow-button-sq{background-color: #5C16C5!important;}
div.author-follows a.follow-button.rakuten-room-button.rakuten-room-follow-button-sq{background-color: #C61E79!important;}
div.author-follows a.follow-button.slack-button.slack-follow-button-sq{background-color: #4A154B!important;}
div.author-follows a.follow-button.github-button.github-follow-button-sq{background-color: #4078c0!important;}
div.author-follows a.follow-button.codepen-button.codepen-follow-button-sq{background-color: #47CF73!important;}
div.author-follows a.follow-button.feedly-button.feedly-follow-button-sq{background-color: #2bb24c!important;}
div.author-follows a.follow-button.rss-button.rss-follow-button-sq{background-color: #f26522!important;}
.author-box .author-content .author-follows .sns-buttons a.follow-button span{ line-height: 40px; }
.author-box .author-content .author-follows .sns-buttons a.follow-button span::before{ font-size: 20px !important; }
@media (max-width:1023px){
.nwa .author-box .author-thumb {
height:11em;
margin:0 0 7em 0;
}
.author-name{
font-size:16px!important;
}
.author-description{
line-height: 1.5 !important;
text-align:center;
margin:0 auto;
}
}
@media screen and (max-width: 1023px){/*スマホ画面でサイドバーを非表示*/
div.sidebar {
display: none;
}
}

/************************************
****　フッター
************************************/
#footer, #footer a, .footer-title {
color: #545454;
}
.footer-title{
border-bottom:3px dotted;
border-color:#9bc8e6;/*フッター見出し下の点線*/
margin-bottom:1em;
}
@media (max-width:1023px){
.footer {
margin-top: 0;
padding-top: 0;
}}
@media screen and (max-width: 480px){
h2, h3 {
font-size: 1.17em;
}
}
.footer-widgets, .footer-widgets-mobile {
margin: 0 auto;
}
.footer-left, .footer-center, .footer-right, .footer-mobile {
padding: 0 10px;
}
.widget.widget-footer-mobile{
padding:0;
}
.widget-footer-mobile div.tagcloud,.widget-footer-mobile ul li a{
margin-right:.2em;
margin-left:.2em;
}
@media screen and (max-width: 1023px){/*スマホ画面でサイドバーを非表示*/
div.sidebar {
display: none;
}
}

/************************************
****　本文記事タイトル　H1
************************************/
header.article-header.entry-header {
margin-bottom: 3em;
}
.article-header h1 {
position: static;
font-size: 1.4em;
color: #333333;
background-color:#fff;
line-height:1.8em;
text-shadow: none;
margin:0;
padding: 1.5em .95em 1.1em;
}
.eye-catch{
/*-shadow: 0px 3px 7px 0 rgba(0,0,0,.2);*/
}
.eye-catch img{
height:auto!important;
-webkit-filter:none;
filter:none;
opacity:1;
transform: none;
}
a.cat-link, a.tag-link{
font-size:.7em;
border-radius:10px;
border:0;
margin:0.5em;
padding:0 0.5em 0;
background:#90C31F!important;/*タグ色の変更はこちら*/
color:#fff!important;
}
.cat-link:hover ,.tag-link:hover {
opacity: .5;
transition: all .3s ease-in-out;
}
.entry-categories-tags {
margin-bottom: 0.4em;
}
.date-tags{
font-size:1.2em;
color:#7b7b7b;
top:5px;
right:0;
left: 0;
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
}
div.date-tags span.post-update{
order: 1;
}
span.fas.fa-history::before{
content:"\f2f1"
}
div.date-tags span.post-update,div.date-tags span.post-date{
margin-right: 10px;
}
@media (max-width:1023px){
.entry-categories-tags.ctdt-one-row {
padding: 0;
}
}
@media (max-width:420px){
.article-header h1 {
font-size: 1.2em;
}
.date-tags{
top:3px;
}
}
@media (max-width:834px){
main.main, div.sidebar {
padding:0;
}}
@media screen and (min-width: 601px) and (max-width: 834px){
div#content.content.cf{
margin:1em;
}}
@media screen and (max-width: 600px){
.content {
margin-top: 0px;
}}
/************************************
****　表の左側の色
************************************/
/* 左列：奇数行 */
.wp-block-table tbody tr:nth-child(odd) td:first-child {
    background-color: #f2f7fb;
}

/* 左列：偶数行 */
.wp-block-table tbody tr:nth-child(even) td:first-child {
    background-color: #e5f1fa;
}
/************************************
****　マーカー黄色
************************************/
.marker-yellow {
  font-weight: 700;
  background: linear-gradient(
    transparent 60%,
    #fff3a3 60%
  );
}
/************************************
****　目次
************************************/
.toc-title{
font-weight:bold;
background:#61A5D4;
	color:white;
}
.toc{
	background:#EBF9FF;
	width: 100%!important;
}
.toc-title::after {
color:#fff;
}
.toc-list > li a {
font-weight: bold;
display:block;
margin-top:10px;
margin-left: 10px;
}
/*.toc-list > li a::before {
font-family: "Font Awesome 5 Free";
content : "\f144";
margin-right: 7px;
}*/

.toc-list > li li a::before {
	content: "";
    width: 7px;
    height: 7px;
    left: -2px;
    display: inline-block;
    border-radius: 50%;
    background: #F9F9F9 !important;
    position: relative;
    margin-bottom: 2px;
}

.toc-list > li li a {
font-weight: normal;
font-size: 95%;
margin-top:0;
margin-left: 2em;
}
.toc-list > li li a::before {
content: "";
width: 7px;
height: 7px;
left: -2px;
display: inline-block;
border-radius: 50%;
background: #90C31F;/*こちらで緑点の色を変更できます*/
position: relative;
margin-bottom: 2px;
}
@media (max-width:880px){
.toc-list > li a {
margin-left: -10px;
}
.toc-list > li li a {
margin-left: -2em;
}
.toc-list > li li a::before {
left: 3px;
margin-bottom:1px;
}
}
.toc a:hover {
color: #333333;
text-decoration: underline;
}

.ect-vertical-card .entry-card-wrap {
	margin-bottom:30px;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

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

/*480px以下*/
@media screen and (max-width: 480px){
	.ect-vertical-card{
		row-gap: 2em;
	}
}

/************************************
****　リスト
************************************/
.article ul:not(li ul,.toc-list,dd ul,.widget ul){
background: #F7F7F7;/*背景色*/
line-height:2;
border-radius: 4px;
border:1.5px dashed;
border-color:#93b69c; /*枠の色*/
padding: 1.5em;
padding-left:3em;
}
.article ul li:not(.toc-list li,.toc-list ul li,.faq li){
margin: 0em;
}
@media (max-width:600px){
.article ul:not(li ul,.toc-list,dd ul,.widget ul){
padding-left:2.5em;
}
}
.article li ul{
padding-left:1em;
}

/************************************
****　記述リスト
************************************/
.article dl:not(.faq){
background: #F7F7F7;/*背景色*/
line-height:2;
border-radius: 4px;
border:1.5px dashed;
border-color:#93b69c; /*枠の色*/
padding: 1.5em;
margin: 3em 0;
}
.article dt:not(.faq-question)::before{
content: '✔ ';
font-size: 20px;
color: #90c31f;/*✔の色*/
}
.article dd {
margin-left:5px;
}
.article dd ul,.article dd ol{
padding-left: 1.2em;
margin-bottom: 0;
}
.article dl p{
margin-bottom: 0;
}
@media (max-width:600px){
.article dd ul,.article dd ol{
padding-left: .9em;
}
}

/* =========================================================
   YORU NO BLOG: final header overrides
   旧テーマCSSの固定幅・大きな余白より後に置き、崩れを防止する。
   ========================================================= */
@media screen and (min-width: 1024px) {
  div#header-container {
    padding-top: 8px !important;
  }

  #header-container .logo-header {
    padding: 6px 0 18px !important;
  }

  #header-container .logo-image {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
  }

  #header-container #header {
    box-sizing: border-box;
    padding-bottom: 18px !important;
  }

  #header-container .site-logo-image {
    display: block;
    width: min(560px, 52vw) !important;
    max-height: none !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  #navi .menu-mobile {
    display: none !important;
  }

  #navi .navi-in > ul.menu-pc {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: min(100%, 1000px);
    margin: 0 auto;
    gap: 0;
  }

  #navi .navi-in > ul.menu-pc > .menu-item {
    box-sizing: border-box;
    width: auto !important;
    min-width: 0 !important;
    height: 54px !important;
  }

  #navi .navi-in > ul.menu-pc > .menu-item > a {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    padding: 0 14px !important;
    white-space: nowrap;
  }

  /* 旧CSSの「文字色は常に白」を解除し、リンクの状態色を継承する */
  #navi .navi-in > ul.menu-pc a .item-label {
    color: inherit !important;
  }

  #navi .navi-in > ul.menu-pc > .menu-item > a {
    color: #fff !important;
  }

  #navi .navi-in > ul.menu-pc > .menu-item:hover > a,
  #navi .navi-in > ul.menu-pc > .current-menu-item > a,
  #navi .navi-in > ul.menu-pc > .current-menu-ancestor > a {
    color: #fff !important;
    background: #78b4d5 !important;
    border-bottom-color: transparent !important;
  }

  #navi .navi-in > ul.menu-pc .sub-menu {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 9px !important;
    background: #fff !important;
    border: 1px solid #d7e6ee !important;
    border-top: 0 !important;
    box-shadow: 0 12px 26px rgba(38, 70, 88, .16) !important;
  }

  #navi .navi-in > ul.menu-pc .sub-menu li,
  #navi .navi-in > ul.menu-pc .sub-menu a {
    box-sizing: border-box;
    width: 100% !important;
    height: auto !important;
    min-height: 43px;
  }

  #navi .navi-in > ul.menu-pc .sub-menu .caption-wrap {
    width: 100%;
    padding: 0 !important;
    border-top: 0;
    background: transparent;
  }

  #navi .navi-in > ul.menu-pc .sub-menu a {
    color: #355266 !important;
    background: #fff !important;
    border-bottom: 1px solid #edf2f5;
    border-radius: 7px;
  }

  #navi .navi-in > ul.menu-pc .sub-menu li:last-child > a {
    border-bottom: 0;
  }

  #navi .navi-in > ul.menu-pc .sub-menu a:hover,
  #navi .navi-in > ul.menu-pc .sub-menu .current-menu-item > a {
    color: #236d99 !important;
    background: #eaf5fb !important;
  }
}

/* カテゴリーページのボタン（最終指定） */
.yoru-child-category-nav {
  margin: 20px 0 32px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.yoru-child-category-heading,
.yoru-child-category-button small {
  display: none !important;
}
.yoru-child-category-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 4px !important;
}
.yoru-child-category-button {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px !important;
  padding: 10px 14px !important;
  color: #1f3442 !important;
  text-align: center;
  background: #fff !important;
  border: 1px solid #c8cdd1 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  transform: none !important;
}
.yoru-child-category-button span {
  font-size: 14px !important;
  font-weight: 400 !important;
}
.yoru-child-category-button:hover,
.yoru-child-category-button.is-current {
  color: #fff !important;
  background: #61a5d4 !important;
  border-color: #61a5d4 !important;
}
@media screen and (max-width: 600px) {
  .yoru-child-category-nav {
    margin: 16px 16px 26px !important;
  }
  .yoru-child-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  .yoru-child-category-button {
    min-height: 48px !important;
    padding: 8px !important;
  }
  .yoru-child-category-button span {
    font-size: 13px !important;
  }
}

/* スマホヘッダーとカテゴリーボタンの最終調整 */
@media screen and (max-width: 1023px) {
  /* 固定ヘッダーの下に全ページ共通の余白を設ける */
  main#main.main {
    margin-top: 12px !important;
  }

  .mobile-header-menu-buttons.mobile-menu-buttons {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: 0 1px 8px rgba(38, 55, 70, .08) !important;
    visibility: visible !important;
  }
  .mobile-header-menu-buttons > .navi-menu-button {
    order: 3 !important;
    display: flex !important;
    margin-right: 0 !important;
    margin-left: auto !important;
    visibility: visible !important;
  }
  .mobile-header-menu-buttons #navi-menu-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 60px !important;
    height: 60px !important;
    margin: 0 !important;
    visibility: visible !important;
  }
  .mobile-header-menu-buttons > .search-menu-button {
    display: none !important;
  }
  .mobile-header-menu-buttons > .logo-menu-button {
    position: static !important;
    order: 1 !important;
    z-index: 2;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    margin-right: auto !important;
    margin-left: 10px !important;
    transform: none !important;
  }
  .mobile-header-menu-buttons > .logo-menu-button .menu-button-in {
    justify-content: flex-start !important;
    width: auto !important;
    padding: 0 !important;
  }
  .mobile-header-menu-buttons > .logo-menu-button .site-logo-image {
    content: url("yoru-no-blog-logo-mobile.svg") !important;
    width: auto !important;
    max-width: min(200px, 52vw) !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .yoru-child-category-nav {
    box-sizing: border-box !important;
    width: auto !important;
    margin: 4px 0 26px !important;
    padding: 0 !important;
  }
  .yoru-child-category-nav .yoru-child-category-grid {
    box-sizing: border-box !important;
    width: calc(100% - 16px) !important;
    margin-right: 8px !important;
    margin-left: 8px !important;
    padding: 4px !important;
  }

  /* トップページのカテゴリーボタンは画面端から離す */
  .index-tab-buttons {
    box-sizing: border-box !important;
    width: calc(100% - 24px) !important;
    margin-right: 12px !important;
    margin-left: 12px !important;
  }

  /* 固定ヘッダーとパンくずの重なりを避け、見出しと左端を揃える */
  body.single .breadcrumb {
    box-sizing: border-box !important;
    margin-top: 13px !important;
  }
  .breadcrumb {
    box-sizing: border-box !important;
    padding-left: 14px !important;
  }
  .archive-title {
    margin-bottom: 8px !important;
  }

  /* メニューは右から開き、左側にページが見える余白を残す */
  #navi-menu-content {
    right: 0 !important;
    left: auto !important;
    width: min(86vw, 420px) !important;
    max-width: none !important;
    transform: translateX(105%) !important;
  }
  #navi-menu-input:checked ~ #navi-menu-content {
    transform: translateX(0) !important;
  }

  /* スマホ・タブレットの記事一覧カード */
  .ect-vertical-card .entry-card-wrap,
  a.entry-card-wrap.a-wrap.border-element.cf {
    box-sizing: border-box !important;
    padding: 10px 10px 18px !important;
  }
  .entry-card-wrap .entry-card-thumb {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 10px !important;
  }
  .entry-card-wrap .entry-card-content {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 0 4px !important;
    text-align: left !important;
  }
  .entry-card-wrap .entry-card-title {
    margin: 22px 0 0 !important;
    text-align: left !important;
  }
  .entry-card-wrap .yoru-entry-card-category {
    margin: 12px 0 !important;
  }
  .entry-card-wrap .entry-card-snippet {
    margin: 0 !important;
    padding-top: 12px !important;
    text-align: left !important;
  }

  /* ハンバーガーメニュー：大カテゴリーをシンプルな行表示にする */
  #navi-menu-content .menu-drawer > .menu-item-has-children > a {
    min-height: 54px !important;
    margin-top: 2px !important;
    padding: 14px 48px 12px 14px !important;
    border-bottom: 1px solid #e3ebf0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #31576d !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }
  #navi-menu-content .yoru-submenu-toggle {
    top: 8px !important;
    right: 2px !important;
    width: 46px !important;
    height: 54px !important;
    border-radius: 0 !important;
  }
  #navi-menu-content .yoru-submenu-toggle span {
    width: 7px !important;
    height: 7px !important;
    border-right-width: 1.5px !important;
    border-bottom-width: 1.5px !important;
    border-color: #56839d !important;
    transform: translateY(-2px) rotate(45deg) !important;
  }
  #navi-menu-content .menu-item-has-children.is-open > .yoru-submenu-toggle span {
    transform: translateY(2px) rotate(225deg) !important;
  }
  #navi-menu-content .menu-drawer > .menu-item-has-children > .sub-menu {
    margin: 0 0 8px !important;
    padding: 5px 0 7px 14px !important;
    background: transparent !important;
  }
  #navi-menu-content .menu-drawer .sub-menu .menu-item > a {
    min-height: 40px !important;
    padding: 9px 8px !important;
    color: #526a79 !important;
    font-size: 14px !important;
  }
  #navi-menu-content .menu-drawer > .menu-item:not(.menu-item-has-children) > a {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }
}

/* 全画面共通：フォロー領域と関連記事2種を表示しない */
.author-follows,
#related-entries,
.widget-related-entry-cards {
  display: none !important;
}

/* 記事下部の「前の記事・次の記事」をカードとして整理 */
#pager-post-navi.pager-post-navi {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100% !important;
  height: auto !important;
  margin: 32px 0 !important;
}
#pager-post-navi > a {
  position: relative;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: center;
  width: 100% !important;
  min-height: 112px;
  height: auto !important;
  margin: 0 !important;
  padding: 14px !important;
  overflow: hidden;
  color: #263d4c !important;
  background: #fff !important;
  border: 1px solid #dfeaf0 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 14px rgba(38, 67, 84, .06);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
#pager-post-navi > a:hover {
  color: #286f99 !important;
  border-color: #9cc6dc !important;
  box-shadow: 0 8px 20px rgba(38, 67, 84, .11);
  transform: translateY(-2px);
}
#pager-post-navi > a:only-child {
  grid-column: 1 / -1;
  max-width: calc(50% - 7px);
}
#pager-post-navi .iconfont {
  display: none !important;
}
#pager-post-navi .card-thumb {
  grid-column: 1;
  box-sizing: border-box;
  width: 104px !important;
  height: 68px !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 8px;
}
#pager-post-navi .card-thumb img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
#pager-post-navi .prev-post-title,
#pager-post-navi .next-post-title {
  grid-column: 2;
  box-sizing: border-box;
  margin: 0 !important;
  padding-left: 14px;
  color: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.65;
  text-align: left !important;
}
#pager-post-navi .prev-post-title::before,
#pager-post-navi .next-post-title::before {
  display: block;
  margin-bottom: 5px;
  color: #6c8b9e;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
}
#pager-post-navi .prev-post-title::before {
  content: "← 前の記事";
}
#pager-post-navi .next-post-title::before {
  content: "次の記事 →";
}

@media screen and (max-width: 600px) {
  /* スマホ共通フッターのプロフィールを表示しない */
  .widget-footer-mobile.widget_author_box {
    display: none !important;
  }

  /* スマホ記事一覧カードは縦方向の余白をコンパクトにする */
  .entry-card-wrap .entry-card-title {
    margin-top: 10px !important;
  }
  .entry-card-wrap .yoru-entry-card-category {
    margin-top: 6px !important;
    margin-bottom: 8px !important;
  }
  .entry-card-wrap .entry-card-snippet {
    padding-top: 8px !important;
  }

  #pager-post-navi.pager-post-navi {
    grid-template-columns: 1fr;
    gap: 10px;
    width: calc(100% - 28px) !important;
    margin: 24px 14px !important;
  }
  #pager-post-navi > a,
  #pager-post-navi > a:only-child {
    grid-column: auto;
    max-width: none;
    min-height: 104px;
    padding: 12px !important;
  }
  #pager-post-navi .card-thumb {
    width: 96px !important;
    height: 62px !important;
  }
  #pager-post-navi > a {
    grid-template-columns: 96px minmax(0, 1fr);
  }
  #pager-post-navi .prev-post-title,
  #pager-post-navi .next-post-title {
    padding-left: 12px;
    font-size: 13px;
  }
}

/* スマホ記事カード：画像・タイトル・カテゴリ・抜粋の間隔を最終調整 */
@media screen and (max-width: 600px) {
  .entry-card-wrap .entry-card-title {
    margin: 0 !important;
    padding: 14px 10px 8px !important;
  }
  .entry-card-wrap .yoru-entry-card-category {
    margin: 4px 0 8px !important;
  }
  .entry-card-wrap .entry-card-snippet {
    margin: 0 !important;
    padding: 8px 10px 0 !important;
  }
}

/* 記事末尾のフォロー領域はPC・スマホとも表示しない */
.article-footer .sns-follow,
.article-footer .follow-button,
.article-footer .follow-menu-button {
  display: none !important;
}

/* スマホ記事：白い本文ボックスの外側余白をなくし、内側余白だけ残す */
@media screen and (max-width: 600px) {
  body.single #main article.article,
  body.single .main article.article {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

/* 前後記事カード：画像とタイトルを横並びで安定させる */
#pager-post-navi > a,
#pager-post-navi > a:only-child {
  display: flex !important;
  grid-column: auto;
  align-items: center !important;
  max-width: none;
}
#pager-post-navi .card-thumb {
  flex: 0 0 104px !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  height: 68px !important;
}
#pager-post-navi .prev-post-title,
#pager-post-navi .next-post-title {
  flex: 1 1 auto;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 0 0 14px !important;
}

@media screen and (max-width: 600px) {
  #pager-post-navi > a,
  #pager-post-navi > a:only-child {
    min-height: 100px;
    padding: 12px !important;
  }
  #pager-post-navi .card-thumb {
    flex-basis: 88px !important;
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    height: 56px !important;
  }
  #pager-post-navi .prev-post-title,
  #pager-post-navi .next-post-title {
    padding-left: 12px !important;
  }

  /* 前後記事からフッターまでの空きを広げすぎない */
  footer#footer.footer {
    margin-top: 28px !important;
  }
}

/* スマホフッター上部：前後記事カードとの間隔をコンパクトにする */
@media screen and (max-width: 600px) {
  footer#footer.footer {
    margin-top: 12px !important;
  }
  footer#footer .footer-widgets-mobile {
    padding-top: 14px !important;
  }
}

/* 記事上部広告の最終調整：広告内部に残る余白も除去する */
body.single .article-header:has(.ad-content-top, .widget-single-content-top) .date-tags {
  margin-bottom: 0 !important;
}
body.single .article-header .ad-area.ad-content-top,
body.single .article-header .widget-single-content-top {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 10px 0 10px !important;
  padding: 0 !important;
}
body.single .article-header .widget-single-content-top .textwidget,
body.single .article-header .widget-single-content-top .custom-html-widget,
body.single .article-header .widget-single-content-top p,
body.single .article-header .widget-single-content-top a {
  height: auto !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.single .article-header .widget-single-content-top img {
  display: block !important;
  height: auto !important;
  margin: 0 auto !important;
}
body.single .article-header:has(.ad-content-top, .widget-single-content-top) {
  margin-bottom: 8px !important;
}
body.single .article-header:has(.ad-content-top, .widget-single-content-top) + .entry-content {
  margin-top: 0 !important;
}

/* 記事詳細の日付欄を完全に削除し、ヘッダー下の空きを一定にする */
body.single .article-header .date-tags {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single .article-header {
  margin-bottom: 18px !important;
}
body.single .article-header:has(.ad-content-top, .widget-single-content-top) {
  margin-bottom: 8px !important;
}
body.single .article-header + .entry-content {
  margin-top: 0 !important;
}

/* 本文へ直接貼られたA8バナー：空段落と改行の行高を除去する */
body.single .entry-content > p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single .entry-content > :has(+ p:empty + p img[src*="a8.net"]),
body.single .entry-content > :has(+ p img[src*="a8.net"]) {
  margin-bottom: 24px !important;
}
body.single .entry-content > p:has(img[src*="a8.net"]) {
  line-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
}
body.single .entry-content > p:has(img[src*="a8.net"]) br {
  display: none !important;
}
body.single .entry-content > p:has(img[src*="a8.net"]) a,
body.single .entry-content > p:has(img[src*="a8.net"]) img[width="468"] {
  display: block !important;
  line-height: 0 !important;
  margin: 0 auto !important;
}
body.single .entry-content > p:has(img[src*="a8.net"]) img[width="468"] {
  max-width: 100% !important;
  height: auto !important;
}
body.single .entry-content > p:has(img[src*="a8.net"]) img[width="1"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
}

/* アイキャッチ直後にA8バナーがある記事だけ、二重の上余白を解消 */
body.single .article-header:has(+ .entry-content > p:first-child:empty + p img[src*="a8.net"]) {
  margin-bottom: 24px !important;
}
body.single .article-header + .entry-content:has(> p:first-child:empty + p img[src*="a8.net"]) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* スマホ記事下部：広告・メタ情報エリアに左右余白を設ける */
@media screen and (max-width: 600px) {
body.single .article-footer.entry-footer {
    box-sizing: border-box !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
  }
}

/* PCプロフィール：写真・名前・紹介文を左揃えにし、画像のはみ出しを防ぐ */
@media screen and (min-width: 769px) {
  .widget-sidebar.widget_author_box .author-thumb,
  .widget-footer-left.widget_author_box .author-thumb {
    box-sizing: border-box !important;
    height: 120px !important;
    min-height: 120px !important;
    padding-left: 18px !important;
    text-align: left !important;
  }
  .widget-sidebar.widget_author_box .author-thumb img,
  .widget-footer-left.widget_author_box .author-thumb img {
    display: block !important;
    margin: 0 !important;
  }
  .widget-sidebar.widget_author_box .author-content,
  .widget-footer-left.widget_author_box .author-content,
  .widget-sidebar.widget_author_box .author-name,
  .widget-footer-left.widget_author_box .author-name,
  .widget-sidebar.widget_author_box .author-description,
  .widget-footer-left.widget_author_box .author-description {
    text-align: left !important;
  }
}

/* PCサイドバーのプロフィール上部に余白を追加 */
@media screen and (min-width: 769px) {
  .widget-sidebar.widget_author_box .author-box {
    box-sizing: border-box !important;
    padding-top: 24px !important;
  }
}

/* PC記事内のA8広告を本文の左端へ揃える */
@media screen and (min-width: 769px) {
  body.single .entry-content > p:has(img[src*="a8.net"]) img[width="468"] {
    margin-right: auto !important;
    margin-left: 0 !important;
  }
}

/* PCプロフィール：写真と名前は中央、紹介文は左揃え */
@media screen and (min-width: 769px) {
  .widget-sidebar.widget_author_box .author-thumb,
  .widget-footer-left.widget_author_box .author-thumb {
    padding-left: 0 !important;
    text-align: center !important;
  }
  .widget-sidebar.widget_author_box .author-thumb img,
  .widget-footer-left.widget_author_box .author-thumb img {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .widget-sidebar.widget_author_box .author-content,
  .widget-footer-left.widget_author_box .author-content,
  .widget-sidebar.widget_author_box .author-name,
  .widget-footer-left.widget_author_box .author-name {
    text-align: center !important;
  }
  .widget-sidebar.widget_author_box .author-description,
  .widget-footer-left.widget_author_box .author-description {
    text-align: left !important;
  }
}

/* スマホ記事カード：カテゴリをタイトル文字と点線の中央へ配置 */
@media screen and (max-width: 600px) {
  .entry-card-wrap .yoru-entry-card-category {
    margin-top: 2px !important;
    margin-bottom: 10px !important;
  }
}

/* スマホのハンバーガーメニュー：各項目の上下余白を少し詰める */
@media screen and (max-width: 600px) {
  #navi-menu-content .menu-drawer > .menu-item {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }
  #navi-menu-content .menu-drawer > .menu-item:not(.menu-item-has-children) > a {
    min-height: 42px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }
  #navi-menu-content .menu-drawer > .menu-item-has-children > a {
    min-height: 46px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  #navi-menu-content .yoru-submenu-toggle {
    top: 3px !important;
    height: 46px !important;
  }
  #navi-menu-content .menu-drawer > .menu-item-has-children > .sub-menu {
    margin-bottom: 4px !important;
    padding-top: 2px !important;
    padding-bottom: 4px !important;
  }
  #navi-menu-content .menu-drawer .sub-menu .menu-item {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  #navi-menu-content .menu-drawer .sub-menu .menu-item > a {
    min-height: 38px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }
}

/* PCプロフィール：画像・名前・紹介文の間隔をコンパクトにする */
@media screen and (min-width: 769px) {
  .widget-sidebar.widget_author_box .author-thumb,
  .widget-footer-left.widget_author_box .author-thumb {
    margin-bottom: 24px !important;
  }
  .widget-sidebar.widget_author_box .author-content,
  .widget-footer-left.widget_author_box .author-content {
    padding-top: 8px !important;
  }
  .widget-sidebar.widget_author_box .author-name,
  .widget-footer-left.widget_author_box .author-name {
    margin-bottom: 8px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .widget-sidebar.widget_author_box .author-description,
  .widget-footer-left.widget_author_box .author-description {
    padding-top: 4px !important;
  }
}

/* 記事上部広告：アイキャッチ・広告・本文の余白を重ねすぎない */
body.single .article-header .ad-area.ad-content-top {
  min-height: 0 !important;
  margin-top: 12px !important;
  margin-bottom: 14px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.single .article-header .ad-area.ad-content-top .ad-wrap,
body.single .article-header .ad-area.ad-content-top .ad-responsive {
  min-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.single .article-header .widget-single-content-top {
  min-height: 0 !important;
  margin-top: 12px !important;
  margin-bottom: 14px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.single .article-header .widget-single-content-top .textwidget {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single .article-header:has(.ad-area.ad-content-top, .widget-single-content-top) {
  margin-bottom: 18px !important;
}
body.single .article-header:has(.ad-area.ad-content-top, .widget-single-content-top) + .entry-content {
  margin-top: 0 !important;
}

/* スマホ記事上部：カテゴリ・タグとアイキャッチだけ左右に余白を設ける */
@media screen and (max-width: 600px) {
  body.single .entry-categories-tags,
  body.single .article-header .eye-catch-wrap {
    box-sizing: border-box !important;
    width: calc(100% - 28px) !important;
    margin-right: 14px !important;
    margin-left: 14px !important;
  }
}

/* PCプルダウン：現在地とホバー背景が連結して見えないよう間隔を空ける */
@media screen and (min-width: 769px) {
  #navi .navi-in > ul.menu-pc .sub-menu > li + li {
    margin-top: 4px !important;
  }
  #navi .navi-in > ul.menu-pc .sub-menu > li > a {
    border-bottom: 0 !important;
  }
}

/* 前後記事カード：サムネイル全体を切らずに表示する */
#pager-post-navi .card-thumb {
  height: 63px !important;
  background: #f5f9fb;
}
#pager-post-navi .card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media screen and (max-width: 600px) {
  #pager-post-navi .card-thumb {
    height: 53px !important;
  }
}

/* スマホフッター：内側に見える上余白と左右余白を確保する */
@media screen and (max-width: 600px) {
  footer#footer .footer-widgets-mobile {
    box-sizing: border-box !important;
    padding-top: 24px !important;
  }
  footer#footer .footer-mobile {
    box-sizing: border-box !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}

/* スマホヘッダー：ロゴを少し小さくし、左端から少し離す */
@media screen and (max-width: 600px) {
  .mobile-header-menu-buttons > .logo-menu-button {
    margin-left: 16px !important;
  }
  .mobile-header-menu-buttons > .logo-menu-button .site-logo-image {
    width: auto !important;
    max-width: min(185px, 48vw) !important;
    max-height: 30px !important;
  }
}

/* 前後記事カード：画像の左右どちらに文字が来ても同じ間隔を保つ */
#pager-post-navi > a,
#pager-post-navi > a:only-child {
  gap: 14px !important;
}
#pager-post-navi .prev-post-title,
#pager-post-navi .next-post-title {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

@media screen and (max-width: 600px) {
  #pager-post-navi > a,
  #pager-post-navi > a:only-child {
    gap: 12px !important;
  }
}

/* スマホフッター上部余白の最終値 */
@media screen and (max-width: 600px) {
  footer#footer.footer {
    margin-top: 12px !important;
  }
  footer#footer .footer-widgets-mobile {
    padding-top: 14px !important;
  }
}
