@charset "UTF-8";
/* Xwrite調整用のCSSコードを入力してください。以下XwriteのCSSよりも優先して反映されます。 */

.widget-entry-cards.ranking-visible .card-thumb::before {
  box-sizing: content-box;
}

.toc {
  border: initial;
  font-size: initial;
  padding: initial;
  display: block;
}

.btn__sns {
  background-color: initial;
  border: initial;
}

.uqAuthor .btn__sns:hover {
  color: #a4a7ab;
}

.marker,
.marker-red,
.marker-blue {
  background: transparent;
}

.marker {
  background-color: #ff9;
}

.marker-red {
  background-color: #ffd0d1;
}

.marker-blue {
  background-color: #a8dafb;
}

.sitemap .archive-item a {
  padding: inherit;
  border-top: initial;
}

.is-style-accordion .faq{
  margin-top: 0;
}

@media screen and (max-width: 1023px) {
  main.main, div.sidebar {
    margin: 0;
  }
}

@media screen and (max-width: 834px) {
  main.main, div.sidebar {
    padding: 0;
    margin: 0;
  }
}

.body blockquote :first-child,
.body .wp-block-media-text__content :first-child,
.body .wp-block-columns :first-child,
.body .column-left :first-child,
.body .column-center :first-child,
.body .column-right :first-child,
.body .timeline-box :first-child,
.body .wp-block-cover :first-child,
.body .blogcard-type :first-child,
.body .btn-wrap :first-child,
.body .wp-block-gallery :first-child,
.body .block-box :first-child,
.body .blank-box :first-child,
.body .common-icon-box :first-child,
.body .info-box :first-child,
.body .primary-box :first-child,
.body .success-box :first-child,
.body .warning-box :first-child,
.body .danger-box :first-child,
.body .secondary-box :first-child,
.body .light-box :first-child,
.body .dark-box :first-child,
.body .tab-content :first-child,
.body .wp-block-social-links :first-child {
  margin-top: 0;
}

.body .column-wrap,
.body .new-entry-cards,
.body .popular-entry-cards,
.body .navi-entry-cards,
.body .box-menus,
.body .ranking-item,
.body .rss-entry-cards,
.body .author-box,
.body .blogcard-wrap,
.body .login-user-only,
.body .information-box,
.body .question-box,
.body .alert-box,
.body .information,
.body .question,
.body .alert,
.body .memo-box,
.body .comment-box,
.body .common-icon-box,
.body .blank-box,
.body .button-block,
.body .caption-box,
.body .tab-caption-box,
.body .label-box,
.body .toggle-wrap,
.body .booklink-box,
.body .kaerebalink-box,
.body .tomarebalink-box,
.body .product-item-box,
.body .speech-wrap,
.body .ad-area,
.body .components-placeholder,
.body .timeline-box,
.body .blogcard-type,
.body .btn-wrap,
.body .btn-wrap a,
.body .block-box,
.body .scrollable-table,
.body .video-container,
.comment-area,
.related-entries,
.pager-post-navi,
.comment-respond {
  margin-top: var(--widget--element--mrg);
}

@media screen and (max-width:834px) {
  .container .column-wrap{
    gap: var(--widget--element--mrg);
  }
}

.micro-top{
  margin-bottom: inherit;
}

.micro-bottom.micro-balloon {
  margin-top: inherit;
}

:is(.side, .footer) .ranking-item-img-desc,
:is(.side, .footer) .ranking-item-link-buttons {
  display: block;
}

:is(.side, .footer) .blogcard-wrap{
  width: 100%;
}

:is(.side, .footer) .blogcard-thumbnail{
  width: 120px;
}

:is(.side, .footer) .blogcard-title{
  font-size: 0.9em;
  margin-bottom: 0;
}

:is(.side, .footer) .blogcard-snippet{
  font-size: 12px;
}

:is(.side, .footer) .blogcard-content{
  margin-left: 130px;
  margin-right: 0;
  max-height: 120px;
  min-height: 70px;
  font-size: 0.9em;
  line-height: 1.2;
}

:is(.side, .footer) .blogcard-footer{
  font-size: 14px;
}

:is(.side, .footer) .ib-right .blogcard-content,
:is(.side, .footer) .eb-right .blogcard-content{
  margin-right: 31.6%;
  margin-left: 0;
}

:is(.side, .footer) .author-box {
  text-align: center;
  padding: 20px;
}
:is(.side, .footer) .author-box .author-thumb {
  float: none;
  width: 100px;
  margin: 9px auto 0;
}
:is(.side, .footer) .author-box .author-content {
  margin: 0;
  padding: 1em;
}
:is(.side, .footer) .author-box .author-description {
  text-align: left;
}

.author-box a {
  color: var(--link-color);
  text-decoration: none;
}

/* ウィジェットの各フッターエリアのCocoonランキングブロックの調整 */
[class*="col-footer-area"] :is(.ranking-item-img-desc, .ranking-item-link-buttons) > div {
  padding: 6px 0;
}

[class*="col-footer-area"] .ranking-item-image-tag {
  max-width: 100%;
}

@media screen and (min-width: 992px) {
  [class*="col-footer-area"] .ranking-item {
    padding: 5%;
  }
}

/* ボックスメニュー */
body .box-menu-icon * {
  max-width: 60px;
}

/* サイドバーやフッターのボックスメニュー */
:is(.side, .footer) .box-menu {
  width: 50%;
}

/* Cocoonブログカードブロックの調整 */
.body .blogcard {
  padding: 1.6%;
}

.body .blogcard-title,
.body .blogcard-snippet {
  line-height: 1.5em;
}

.body .blogcard-type:first-child {
  margin-top: 0;
}

:is(.side, [class*="col-footer-area"]) .blogcard {
  padding: 3.6% 3.2% 3.6%;
  border: 1px solid #ddd;
}

:is(.side, [class*="col-footer-area"]) .blogcard-snippet,
.blogcard-snippet {
  margin-top: 0.6em;
}

@media screen and (max-width: 991px) {
  .body .blogcard {
    padding: 1.6% 2.2% 1.6%;
  }

  :is(.side, [class*="col-footer-area"]) .blogcard {
    padding: 1.6% 2.2% 1.6%;
  }
}

/* ウィジェットのサイドバーにCocoonブログカードブロックを追加した場合の調整 */
.side .has-after.wp-block-cocoon-blocks-blogcard:first-child{
  padding-top: 14px;
}

/* ウィジェットのヘッダーエリア内部にCocoonのボタンブロック・囲みボタンブロックを追加した場合のマージンの調整 */
.headerInfo .wp-block-cocoon-blocks-button-1,
.headerInfo .btn-wrap {
    margin-top: 0;
}

/* ウィジェットのヘッダーエリア内部にCocoonブロックを追加した場合の調整 */
.headerInfo .ranking-item-link-buttons a,
.headerInfo .wp-block-cocoon-blocks-button-1 .btn,
.headerInfo .btn-wrap > a,
.headerInfo .cta-button > a {
    color: var(--cocoon-custom-text-color, #fff);
}

/* WordPressコアの最新の投稿ブロックの調整 Xwriteの今後の仕様で必要なくなる可能性あり */
.widget_recent_entries ul li a,
.widget_block ul li a.wp-block-latest-posts__post-title {
  padding: 0;
}

.widget_recent_entries ul li a:hover,
.widget_block ul li a.wp-block-latest-posts__post-title:hover {
  color: var(--link-color);
  background-color: transparent;
}

.mainVisualBottom .wp-block-latest-posts__list li a,
.footerTop .wp-block-latest-posts__list li a{
  text-decoration: underline;
}

.main .wp-block-latest-posts a {
  margin: 0;
}

/* マイクロバルーンブロックの余白の調整 */
.wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-top,
.mainVisualBottom .wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-top,
.footerTop .wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-top {
  margin-bottom: 1.1em;
}

.wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-top + *:not(.wp-block-cocoon-blocks-tab-box-1),
.mainVisualBottom .wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-top + *:not(.wp-block-cocoon-blocks-tab-box-1),
.footerTop .wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-top + *:not(.wp-block-cocoon-blocks-tab-box-1) {
  margin-top: 0;
}

.wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-bottom,
.mainVisualBottom .wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-bottom,
.footerTop .wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-bottom {
  margin-top: 1.1em;
}

.site-container :has(+ .wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-bottom),
.mainVisualBottom :has(+ .wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-bottom),
.footerTop :has(+ .wp-block-cocoon-blocks-micro-balloon-2.micro-balloon.micro-bottom) {
  margin-bottom: 0;
}

/* マイクロテキストブロックの余白の調整 */
.wp-block-cocoon-blocks-micro-text.micro-text.micro-top,
.mainVisualBottom .wp-block-cocoon-blocks-micro-text.micro-text.micro-top,
.footerTop .wp-block-cocoon-blocks-micro-text.micro-text.micro-top {
  margin-bottom: 1.1em;
}

.wp-block-cocoon-blocks-micro-text.micro-text.micro-top + *:not(.wp-block-cocoon-blocks-tab-box-1),
.mainVisualBottom .wp-block-cocoon-blocks-micro-text.micro-text.micro-top + *:not(.wp-block-cocoon-blocks-tab-box-1),
.footerTop .wp-block-cocoon-blocks-micro-text.micro-text.micro-top + *:not(.wp-block-cocoon-blocks-tab-box-1) {
  margin-top: 0;
}

.wp-block-cocoon-blocks-micro-text.micro-text.micro-bottom,
.mainVisualBottom .wp-block-cocoon-blocks-micro-text.micro-text.micro-bottom,
.footerTop .wp-block-cocoon-blocks-micro-text.micro-text.micro-bottom {
  margin-top: 1.1em;
}

.site-container :has(+ .wp-block-cocoon-blocks-micro-text.micro-text.micro-bottom),
.mainVisualBottom :has(+ .wp-block-cocoon-blocks-micro-text.micro-text.micro-bottom),
.footerTop :has(+ .wp-block-cocoon-blocks-micro-text.micro-text.micro-bottom) {
  margin-bottom: 0;
}

/* 目次ショートコードの調整 */
.toc_block .xw-toc__caption {
	display: flex;
	align-items: center;
	padding: var(--block--box--pad) var(--block--box--pad) 1em calc(var(--block--box--pad) + 1px);
	font-weight: 700;
	cursor: pointer;
}
.toc_block .xw-toc__caption:has(> a)::before {
	content: "\f0ca";
	display: inline-block;
	width: 2em;
	line-height: 2em;
	margin-right: 0.5em;
	background-color: var(--key-color);
	border-radius: 50%;
	color: #fff;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	text-align: center;
}
.toc_block .xw-toc {
	padding: 0 var(--block--box--pad) var(--block--box--pad) var(--block--box--pad);
	transition: height 0.4s ease-in-out, padding-bottom 0.4s ease-in-out;
	overflow: hidden;
}
.toc_block .xw-toc > ol {
	border-top: 1px solid #eee;
	padding-top: 1em;
}
.toc_block .xw-toc ol {
	margin: 0;
	padding-left: 0;
}
@media (min-width:768px) {
.toc_block .xw-toc ol {
		padding-left: 0.6em;
}
}
.toc_block .xw-toc li {
	position: relative;
	margin-top: 0.6em;
	padding-left: 0.9em;
}
.toc_block .xw-toc > ol {
	padding-left: 0.3em;
}
@media (min-width:768px) {
.toc_block .xw-toc > ol {
		padding-left: 0.8em;
}
}
.toc_block .xw-toc > ol > li {
	padding-left: 1em;
}
.toc_block .xw-toc > ol > li:first-child {
	margin-top: 0;
}
.toc_block .xw-toc > ol > li:not(.previous):has(> a) > a::before {
	content: "\f105";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	color: var(--point-color);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
}
.toc_block .xw-toc > ol > li.next:has(> a) > a::before {
	content: "\f101";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	color: var(--point-color);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
}
.toc_block .xw-toc > ol > li.next:has(> a) > a::before + a {
	padding-left: 1em;
}
.toc_block .xw-toc > ol > li.next > a {
	padding-left: 0.5em;
}
.toc_block .xw-toc > ol > li.previous:has(> a) > a::before {
	content: "\f100";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	color: var(--point-color);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
}
.toc_block .xw-toc > ol > li.previous > a {
	padding-left: 0.5em;
}
.toc_block .xw-toc > ol > li > a {
	font-weight: 700;
}
.toc_block .xw-toc > ol > li > ol > li:has(> a) > a::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(1em - 7px);
	left: 0;
	width: 6px;
	height: 6px;
	background-color: var(--point-color);
	border-radius: 50%;
}
.toc_block .xw-toc > ol > li > ol > li > ol > li:has(> a) > a::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(1em - 7px);
	left: 0;
	width: 6px;
	height: 6px;
	border: 1px solid var(--point-color);
	border-radius: 50%;
}
.toc_block .xw-toc > ol > li > ol > li > ol > li > ol > li:has(> a) > a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 6px;
	height: 1px;
	background-color: var(--point-color);
}

/* サイドバー・追従サイドバーの目次の上下マージンを0に */
.side .toc_block.xw-plugin-toc {
	margin-top: 0;
	margin-bottom: 0;
}

/* サイドバー テキスト、カスタムHTMLウィジェット内に子要素がない場合は非表示 */
.side .widget_custom_html:not(:has(.textwidget > *)),
.side .widget_text:not(:has(.textwidget > *)) {
	display: none;
}
