@charset "utf-8";

.articlePage .articleHeader {
    margin-top: 0;
}

/* 記事上SNSシェア */
.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader {
	display: flex;
	justify-content: space-between;
}
.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .snsShare {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	margin-left: auto;
	padding-left: 10px;
}
.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .snsShare span {
	white-space: nowrap;
}
.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .snsShare *:not(:last-child) {
	margin-right: 9px;
}
.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .snsShare a img {
	display: block;
	width: 16px;
	max-width: 16px;
}

.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .snsShare .copyUrl {
	position: relative;
}
.articlePage #copyButton {
	border: none;
	display: block;
	width: 16px;
	padding: 0;
}
.articlePage #copyButton img {
	cursor : pointer;
}
.articlePage #copyToast {
	color: #fff;
	position: absolute;
	padding: 6px 8px;
	border-radius: 20px;
	background: #555555;
	white-space: nowrap;
	margin: auto;
	line-height: 1rem;
	font-size: 1rem;

	display: block;
	z-index: -1;
	top: 0px;
	opacity: 0;
	transition: top 0.4s ease, opacity 0.4s ease;
}
.articlePage #copyToast.activeCopyToast {
	opacity: 1;
	display: block;
	z-index: 2;
	transition: top 0.4s ease, opacity 0.4s ease;
}
.articlePage #copyToast.inactiveCopyToast {
	opacity: 0;
	z-index: -1;
	transition: top 0.1s ease, opacity 0.1s ease;
}

/* 記事下SNSシェア */
.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareFb,
.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareX,
.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareLink {
	flex: 1;
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareFb {
	background: #1877F2; 
}
.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareX,
.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareLink {
	background: #000;
}
.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareFb:hover,
.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareX:hover,
.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareLink:hover {
	color: #fff !important;
}
.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare img {
	width: 16px;
	max-width: 16px;
	display: block;
	margin-right: 8px;
}
.articlePage #bottomCopyButton {
	position: relative;
	border: none;
	display: block;
	padding: 0;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor : pointer;
}
.articlePage #bottomCopyToast {
	position: absolute;
	padding: 6px 8px;
	border-radius: 20px;
	background: #555555;
	white-space: nowrap;
	margin: auto;
	line-height: 1rem;
	font-size: 10px;
	font-weight: normal;
	cursor: auto;

	display: block;
	z-index: -1;
	top: 0px;
	opacity: 0;
	transition: top 0.4s ease, opacity 0.4s ease;
}
.articlePage #bottomCopyToast.bottomActiveCopyToast {
	opacity: 1;
	display: block;
	z-index: 2;
	transition: top 0.4s ease, opacity 0.4s ease;
}
.articlePage #bottomCopyToast.inactiveCopyToast {
	opacity: 0;
	z-index: -1;
	transition: top 0.1s ease, opacity 0.1s ease;
}

/* Recommend */
#recommendEntryIds {
    display: none;
}
#recommend.categoryBlock .cardList li:nth-child(n+4) {
    display: none;
}
#pageButePageFirst {
    display: none;
}
#pageButePageLast {
    display: none;
}

/* # パソコンレイアウト */
@media screen and (min-width:641px) {

     .articlePage {
        font-size: 1rem;
        padding-top: 53px;
    }

    .articlePage .rightBlock .thisCategory {
        font-size: 1.2rem;
    }
    .articlePage .leftBlock .keywordList {
        margin: 0 20px;
        font-size: 1.2rem;
        line-height: 2;
    }
    .articlePage .articleBody .date {
        padding: 10px;
        font-size: 1.3rem;
    }

    .articlePage .articleHeader .leftBlock .category span {
        display: inline-block;
        padding: 0 .5em .35em;
    }
	.articlePage .articleHeader .leftBlock {
		width: 29.652173913043%;
        max-width: 325px;
	}

	.articlePage .leftBlock {
		width: 29.652173913043%;
        max-width: 325px;
	}
	.articlePage .rightBlock {
		width: 70.347826086957%;
	}

    .articlePage .articleBody .contentBody #anchorTitles .anchorsBody {
        position: sticky;
        top: 126px;
    }
    .articlePage .articleBody .contentBody .leftBlock {
        padding: 25px;
    }


	/* 記事INDEXのアンカー対応 */
	.articlePage .articleBody .contentBody [id^="index"] {
	  position: relative;
	}
	.articlePage .articleBody .contentBody [id^="index"]::before {
	  content: '';
	  display: block;
	  height: 108px;  /* 余白を設定 */
	  margin-top: -108px;  /* 位置を補正 */
	}


	/* 記事上SNSシェア */
	.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .thisCategory {
		width: 83%;
	}
	.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .thisCategory a {
		margin-top: 0;
	}
	.articlePage #copyToast {
		transform: translate(-50%, -50%);
		top: 0px;
	}
	.articlePage #copyToast.activeCopyToast {
		top: -18px;
	}
    .articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .snsShare span {
        font-size: 12px;
    }

	/* 記事下SNSシェア */
	.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare {
		margin-top: 72px;
		display: flex;
		justify-content: space-between;
		padding: 0 20px;
	}
	.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare a:not(:last-child) {
		margin-right: 24px;
	}
	.articlePage #bottomCopyToast {
		/*transform: translate(-50%, -50%);*/
        margin: 0 auto;
		top: 0px;
	}
	.articlePage #bottomCopyToast.bottomActiveCopyToast {
		top: -28px;
	}
    .articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare span {
        font-size: 12px;
    }

    /* 記事本体 */
    .articlePage .articleBody .topic > p, .articlePage .articleBody .topic .txt {
        margin-right: 0px;
    }

    /* Recommend */
    #recommend.categoryBlock .cardList li {
        width: 33.33%;
    }

	/* 記事フッター */
	.articlePage .articleFooter #articleNavi {
		width: 70.347826086957%;
	}

    .articlePage .articleBody footer {
        padding: 0 132px 100px 20px;
        padding-right: min(132px, 5vw);
    }

}


/* # タブレットレイアウト */
@media screen and (min-width:641px) and (max-width:1240px) {
	/* 記事上SNSシェア */
	.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .thisCategory {
		width: 75%;
	}
	.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .snsShare .copyUrl #copyToast {
	}
}


/* # スマホレイアウト */
@media screen and (max-width:640px) {

    .articlePage .articleHeader .rightBlock .thisCategory {
        font-size: 1.1rem;
    }

	.articlePage .wrapper .articleBody .rightBlock {
		border-left: 0;
	}
	.articlePage .wrapper .articleBody .contentBody .rightBlock .reminiscence {
		margin-left: 0;
	}

	/* 記事INDEXのアンカー対応 */
	.articlePage .articleBody .contentBody [id^="index"] {
	  position: relative;
	}
	.articlePage .articleBody .contentBody [id^="index"]::before {
	  content: '';
	  display: block;
	  height: 75px;  /* 余白を設定 */
	  margin-top: -75px;  /* 位置を補正 */
	}

	.articlePage .articleBody .topic h3 {
		margin-top: 10vw;
		margin-left: 0;
		margin-bottom: 5vw;
		padding-left: 0;
		padding-bottom: 2.5vw;
		border-bottom: 4px solid #000;
		font-size: 2rem;
	}
	.articlePage .articleBody .rightBlock {
		margin-top: 10vw;
		border-left: 1px solid #C3C3C3;
	}
	.articlePage .articleBody .topic {
		padding: 5vw 0.25vw 5vw 0.25vw;
		border-top: 1px solid #C3C3C3;
        font-size: 1.44rem;
		line-height: 1.75;
	}

	/* 記事上SNSシェア */
	.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .thisCategory {
		width: 62%;
	}
	.articlePage .wrapper .articleHeader .rightBlock .rightBlockHeader .snsShare span {
		font-size: 1.2rem;
	}
	.articlePage #copyToast {
		transform: translate(-50%, -50%);
        top: 0px;
        left: -3em;
	}
	.articlePage #copyToast.activeCopyToast {
		top: -18px;
	}

	/* 記事下SNSシェア */
	.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare {
		flex-flow: column;
		margin: 48px auto;
	}
	.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare a:not(:last-child) {
		margin-bottom: 24px;
	}
	.articlePage #bottomCopyButton {
		width: 100%;
	}
	.articlePage #bottomCopyToast {
		margin: 0 auto;
		top: 0px;
	}
	.articlePage #bottomCopyToast.bottomActiveCopyToast {
		top: -28px;
	}

	/* Recommend */
	#recommend.categoryBlock .contentsList li {
        align-items: stretch;
        padding: 10px 0;
    }

    .articlePage .contentBody footer {
        padding: 5vw 0.25vw 5vw 0.25vw;
    }

}


/* # ダークモード */
@media (prefers-color-scheme: dark) {
	.articlePage #pagingNavi #titleLink a {
		border: 1px solid #FFF
	}
	.articlePage #pagingNavi #pagingLink span.this {
		background-color: #FFF;
		color: #000;
	}
	.articlePage #pagingNavi #pagingLink a {
		border: 1px solid #FFF;
	}
	.articlePage #pageNavi #articleNavi a.prevArticle::before {
		border-top: 1px solid #FFF;
		border-left: 1px solid #FFF;
	}
	.articlePage #pageNavi #articleNavi a.nextArticle::after {
		border-top: 1px solid #FFF;
		border-right: 1px solid #FFF;
	}
	.articlePage .reminiscence .txtBody {
		display: block;
		border-top: 1px solid #BCBCBC;
		border-left: 1px solid #BCBCBC;
	}
	.articlePage .relationLinks {
		background-color: #0F0F0F;
		border: 1px solid #FFF;
	}
	.articlePage #pagingNavi #pagingLink a:hover {
		background-color: #686868;
		color: #000 !important;
		border: none;
	}

	/* SNSシェア */
	.articlePage #copyButton img,
	.articlePage #bottomCopyButton img {
		filter: invert(100%);
	}
	.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareX,
	.articlePage .wrapper .articleBody .contentBody .rightBlock .bottomSnsShare .bottomSnsShareLink {
		border: 1px solid #FFF !important;
	}

	.articlePage #copyToast,
	.articlePage #bottomCopyToast {
		color: #000;
		background: #B9B9B9;
	}

	/* レコメンド */
	#recommend.categoryBlock {
		background-color: #0F0F0F;
	}
	#recommend.categoryBlock header h2 {
		border-bottom: 4px solid #FFF;
	}

	/* 執筆者 */
	.articlePage footer .editor {
    background-color: rgba(255, 255, 255, 0.1);
	}

}

/* # ダークモードパソコンレイアウト */
@media screen and (min-width:641px) and (prefers-color-scheme: dark) {
	.articlePage .articleBody .contentBody .rightBlock {
		border-left: 1px solid #FFF;
	}
	.articlePage .articleBody .topic.newTopic {
		padding-top: 60px;
		border-top: 1px solid #FFF;
	}
	.articlePage .articleBody .topic h3 {
		border-bottom: 4px solid #FFF;
	}

	/* レコメンド */
	#recommend.categoryBlock header.title {
    border-bottom: 1px solid #FFF;
	}
	.contentsList li:nth-child(3n + 1) .contentCard {
		border-left: 1px solid #FFF;
	}
	.contentsList li .contentCard {
		border-right: 1px solid #FFF;
	}
	#recommend.categoryBlock .cardList {
		border-bottom: 1px solid #FFF;
	}

}

/* # ダークモードスマホレイアウト */
@media screen and (max-width:640px) and (prefers-color-scheme: dark) {
	/*  */
	.articlePage .articleHeader .leftBlock .category {
		border-bottom: 4px solid #FFF;
	}
	.articlePage .articleHeader .leftBlock .keywordList {
		border-top: 1px solid #BCBCBC;
	}
	.articlePage .articleBody {
		border-top: 1px solid #BCBCBC;
	}
	.articlePage #anchorTitles {
		border-top: 1px solid #BCBCBC;
		border-left: 1px solid #BCBCBC;
	}
	.articlePage #anchorTitles header .toggleBtn .icon::before {
		background-color: #FFF;
	}
	.articlePage #anchorTitles header .toggleBtn .icon::after {
		background-color: #FFF;
	}
	.articlePage .articleBody .topic {
		border-top: 1px solid #BCBCBC;
	}
	.articlePage .articleBody .topic.newTopic {
		border-top: 1px solid #BCBCBC;
	}
	.articlePage .articleBody .topic h3 {
		border-bottom: 4px solid #FFF;
	}

	/* レコメンド */
	.contentCard {
		border-right: .5px solid #FFF;
		border-left: .5px solid #FFF;
	}
	.contentsList li:not(:first-child) {
		border-top: .5px solid #FFF;
	}
	#recommend.categoryBlock .cardList .contentsList {
		border-bottom: .5px solid #FFF;
	}

	/* モーダル INDEX */
	#modalAnchorTitles .modalIndexWrap {
		background-color: rgba(255, 255, 255, .5);
	}
	#modalAnchorTitles .anchorsBody {
		background-color: #000;
	}
	#modalAnchorTitles .anchorsBody header .icon {
		background-color: #FFF;
	}
	#modalAnchorTitles .anchorsBody header .icon::before {
		background-color: #000;
	}
	#modalAnchorTitles .anchorsBody header .icon::after {
		background-color: #000;
	}
	#modalAnchorTitles .anchorsBody .anchorsBlock::before {
		border-bottom: 1px solid #FFF;
	}
	#modalAnchorTitles .anchorsBody .anchorsBlock::after {
		background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
	}

}