@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@500;700&display=swap');

* {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	background-color: transparent;
	background-attachment: scroll;
}


body, option, select {
	font-family: 'Noto Sans JP', sans-serif;
	/*font-feature-settings: "palt";*/
	font-weight: 400;
}
.ibmPlex {
	font-family: 'IBM Plex Sans';
}
.txtRegular {
	font-weight: 400;
}
.txtMidium {
	font-weight: 500;
}
.txtBold {
	font-weight: 700;
}

html, body {
	font-size: 10px;
}
body {
	position: relative;
	width: 100%;
	background-color: #fff;
	color: #000;
	line-height: 1.5;
	text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
	letter-spacing: .05em;
}

img, iframe {
	max-width: 100%;
	vertical-align: top;
}
p {
	text-align: justify;
}
.txtRight {
	text-align: right;
}
.txtCenter {
	text-align: center;
}

.ctVblHiddenOnList {
  content-visibility: auto;
  contain-intrinsic-size: 190px;
}


@media screen and (min-width:641px) {
	.pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
	.pc.inline {
		display: inline !important;
	}
}
@media screen and (max-width:640px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	.sp.inline {
		display: inline !important;
	}
}


a {
	display: inline-block;
	transition: color .2s ease;
	color: inherit;
}
a:link, a:visited {
	text-decoration: none;
}

a:link, a:visited {
}

a:active, a:hover {
	text-decoration: none;
	color: #eb0a1e !important;
}



/*
 toyota red
 #EB0A1E
*/


.modalMenu {
    display: block;
    height : 0;
    overflow: hidden;
	transition: height 0.2s ease-out;
}
.modalMenuSp.opened {
    display: block;
    height: calc( 100dvh - 68px ); /* 仮指定 */
}
.modalMenuPc.opened {
    display: block;
    height: calc( 100dvh - 81px );; /* 仮指定 */
}

.searchBox {
	display: none;
}
.searchBox input[type=text],
.searchBox input[type=search] {
	-webkit-appearance: none;
	border: none;
	color: #666;
}
.searchBox input::placeholder {
	color: #aaa;
}
.langBtn {
	display: flex;
	align-items: center;
	margin-right: 1em;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1;
}
.langBtn > * {
	display: block;
	padding: .1em .8em;
}
.langBtn > * + * {
	border-left: 1px solid #BCBCBC;
}
.langBtn > span {
	color: #EB0A1E;
}
.langBtn > a {
	color: #BCBCBC;
}



a .icon {
	display: inline-flex;
	align-items: center;
}
a .icon::after {
	content: "";
	display: block;
	width: 1.1em;
	height: 1.1em;
	margin-left: .7em;
}
a .icon.typeBlank::after {
	background: transparent url(/assets/image/icon_blank.svg) no-repeat scroll center center / contain;
}


#gFooter .linksBody .relatedSites a.btnDeco {
	padding: .8em 1.2em;
	background-color: #FFF;
	border-radius: 6px;
}
#gFooter .linksBody .relatedSites .website nav .flexBr {
	width: 100%;
}

#gFooter .footerContents .utilityBody #utilityNavi a img.privacyoptions {
    transition: opacity .2s ease;
    margin-left: 5px;
    height: 15px;
}


/* # パソコンレイアウト（ヘッダーフッター） */
@media screen and (min-width:641px) {
    body {
        padding-top: 102px;
    }

	#gHeader {
		width: 100%;
		background: #fff;
		position: fixed;
		top: 0;
		z-index: calc(infinity);
	}
	#gHeader .wrapper {
		display: flex;
		align-items: stretch;
		margin: 20px 40px 0;
		border-bottom: 1px solid #000;
        height: 82px;
	}
	#gHeader .naviMain {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex: 1;
	}
	#gHeader .naviMain h1 {
		margin-bottom: 10px;
	}
	#gHeader .naviMain h1 a {
		display: block;
		padding: 10px;
	}
	#gHeader .naviMain h1 img {
		width: 160px;
	}
	#gHeader .naviMain .gNavi {
		flex: 1;
		display: flex;
		justify-content: flex-end;
		flex-wrap: wrap;
		font-size: 1.5rem;
		line-height: 1;
	}
	#gHeader .naviMain .gNavi a {
		display: block;
		margin: 0 .5em;
		padding: .25em .5em;
	}
	#gHeader .naviSub {
		position: relative;
		display: flex;
		align-items: center;
		padding-left: 40px;
		overflow: hidden;
		margin-right: 30px;
	}
	#gHeader .naviSub .langBtn {
		font-size: 1.3rem;
	}
	#gHeader .naviSub .snsLink {
		display: flex;
		margin: 0 20px;
	}
	#gHeader .naviSub .snsLink a {
		display: block;
		margin: 0 5px;
	}
	#gHeader .naviSub .snsLink img {
		width: 18px;
	}
	#gHeader .naviSub .searchBtn {
		margin-left: 20px;
	}
	#gHeader .searchBox {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		background-color: #FFF;
		transform: translate3d(100%, 0, 0);
		transition: transform .2s ease;
	}
	#gHeader .searchBox.searchOpen {
		transform: translate3d(0, 0, 0);
	}
	#gHeader .searchBox .wrapBox {
		display: flex;
		justify-content: end;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	#gHeader .searchBox .wrapBox form {
		flex: 1;
		position: relative;
		margin-left: 40px;
	}
	#gHeader .searchBox .wrapBox form input {
		width: 100%;
		padding: .3em .5em;
		font-size: 1.6rem;
		background-color: #efefef;
	}
	#gHeader .searchBox .btnClose {
		position: relative;
		display: block;
		width: 18px;
		height: 18px;
		margin-left: 10px;
	}
	#gHeader .searchBox .btnClose::before {
		content: "";
		position: absolute;
		top: 8px;
		right: -2px;
		left: -2px;
		display: block;
		width: 22px;
		height: 2px;
		background-color: #000;
		transform: rotate(45deg);
	}
	#gHeader .searchBox .btnClose::after {
		content: "";
		position: absolute;
		top: 8px;
		right: -3px;
		left: -3px;
		display: block;
		width: 24px;
		height: 2px;
		background-color: #000;
		transform: rotate(-45deg);
	}
	/* ハンバーガーメニュー SPからコピー */
	.wrapMenuBtn {
		padding: 0 44px;
		border-left: 1px solid #000;
		display: table;
	}
	#gHeader .wrapper .menuBtn {
		width: 40px;
		display: table-cell;
    vertical-align: middle;
	}
	.menuBtn {
		display: inline-block;
		z-index: 15;
	}
	.menuBtn a {
		display: block;
	}
	.menuBtn span.menuBtnLine {
		display: block;
		width: 100%;
		margin: 1em 0;
		height: 1px;
		background-color: #000;
		transition: all .3s ease-out;
	}
    .menuBtn .menuBtnUnderText {
        display: inline-block;
        width: 40px;
        text-align: center;
    }
    .menuBtn a:active .menuBtnUnderText, .menuBtn a:hover .menuBtnUnderText {
        color: #000 !important;
    }

	.menuOpen .menuBtn span.menuBtnLine {
		opacity: 0;
	}
	.menuOpen .menuBtn span:first-child {
		transform-origin: center center;
		transform: translate3d(.2rem, 1.1rem, 0) rotate(45deg);
		opacity: 1;
	}
	.menuOpen .menuBtn span:nth-of-type(3) {
		transform-origin: center center;
		transform: translate3d(.2rem, -1.1rem, 0) rotate(-45deg);
		opacity: 1;
	}
	
	#gHeader .modalMenu .modalMenuInner {
		display: flex;
		margin: 0 auto;
		width: 85%;
		border-bottom: 0;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria {
		display: flex;
		flex-wrap: wrap;
		width: 75%;
		padding-right: 30px;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords {
		width: 50%;
		margin-top: 40px;
		padding-right: 15px;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .gNaviKeyWordsNameWrap,
	#gHeader .modalMenu .gNaviCategoryAria .gNaviCategoryList .gNaviCategoryNameWrap {
		width: 80%;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .gNaviKeyWordsNameWrap .gNaviKeyWordsName,
	#gHeader .modalMenu .gNaviCategoryAria .gNaviCategoryList .gNaviCategoryNameWrap .gNaviCategoryName {
		position: relative;
		font-size: 1.8rem;
		font-weight: 600;
		white-space: nowrap;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .gNaviKeyWordsNameWrap .gNaviKeyWordsName::after,
	#gHeader .modalMenu .gNaviCategoryAria .gNaviCategoryList .gNaviCategoryNameWrap .gNaviCategoryName::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1.5em;
    display: block;
		width: .6em;
    height: .6em;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: translate3d(0, -50%, 0) rotate(45deg);
	}

	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .keywordList {
		justify-content: start;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .keywordList a {
        display: block;
		background: #000;
		color: #fff;
        border-radius: 0;
		font-size: 1.2rem;
		font-weight: normal;
		margin: 4px 8px 4px 0;
		padding: .6em 1.2em;
        letter-spacing: 0.025em;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .keywordList a:hover {
			background-color: transparent;
			color: #000 !important;
		}

	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .keywordList a span::before {
		content: none;
	}

	#gHeader .modalMenu .gNaviCategoryAria {
		width: 25%;
		padding-left: 50px;
		border-left: 1px solid #000;
	}
	#gHeader .modalMenu .gNaviCategoryAria .gNaviCategoryList {
		margin-top: 40px;
		font-weight: 500;
	}
	#gHeader .modalMenu .gNaviCategoryAria .gNaviCategoryList a {
		font-size: 1.8rem;
		position: relative;
		margin-bottom: 24px;
		font-weight: 600;
	}

	/* ハンバーガーメニュー SPからコピー */
	#gFooter {
		background-color: #E4E4E4;
	}
	#gFooter .wrapper {
		max-width: 1150px;
		margin: 0 auto;
	}
	#gFooter .linksBody {
		padding: 40px 0;
	}
	#gFooter .linksBody .navi {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 20px 0;
	}
	#gFooter .linksBody .navi .logo {
		width: 160px;
	}
	#gFooter .linksBody .navi #footerNavi {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		font-size: 1.4rem;
		line-height: 2;
	}
	#gFooter .linksBody .navi #footerNavi a {
		margin-left: 30px;
	}
	#gFooter .linksBody .relatedSites {
		display: flex;
		justify-content: flex-end;
		padding: 20px 0;
	}
	#gFooter .linksBody .relatedSites .website nav {
		display: flex;
		justify-content: flex-end;
		flex-wrap: wrap;
		font-size: 1.2rem;
	}
	#gFooter .linksBody .relatedSites a {
		display: flex;
		align-items: center;
		margin-top: 20px;
		margin-left: 20px;
	}
	#gFooter .linksBody .relatedSites a span {
		display: block;
		line-height: 1;
	}
	#gFooter .linksBody .relatedSites a .imgWrap + .textWrap {
		margin-left: 1em;
	}
	#gFooter .linksBody .relatedSites a:not(.btnDeco) .imgWrap {
		margin-left: 15px;
	}
	
	#gFooter .footerContents {
		margin: 0 40px;
		padding: 20px 0;
		border-top: 1px solid #C2C2C2;
	}
	#gFooter .footerContents .utilityBody {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#gFooter .footerContents .utilityBody #utilityNavi {
		display: flex;
	}
	#gFooter .footerContents .utilityBody #utilityNavi a {
		display: block;
		margin-right: 2em;
	}
}
/* # タブレットレイアウト（ヘッダーフッター） */
@media screen and (min-width:641px) and (max-width:1240px) {
	#gHeader .naviMain {
		padding-right: min(40px, 4vw);
	}
	#gHeader .naviMain h1 {
		width: 40%;
	}
	#gHeader .naviMain .gNavi {
		flex-wrap: wrap;
		font-size: min(1.5vw, 1.5rem);
	}
	#gHeader .naviMain .gNavi a {
		margin: 0 .2vw;
	}
	#gHeader .naviSub {
		padding-left: min(40px, 4vw);
	}
	#gFooter .wrapper {
		padding: 0 max(2.5vw, 20px);
	}
	#gFooter .linksBody .navi #footerNavi a {
		margin-left: 20px;
	}
	
}

/* # スマホレイアウト（ヘッダーフッター） */
@media screen and (max-width:640px) {
	#gHeader {
		width: 100%;
		background: #fff;
		position: fixed;
		top: 0;
		z-index: calc(infinity);
	}
	#gHeader .wrapper {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 5vw;
		padding: 1.5vw 0 1.5vw 0;
		border-bottom: .5px solid #000;
	}
	#gHeader .wrapper h1 {
		width: 30vw;
	}
	#gHeader .wrapper a {
		display: block;
	}
	#gHeader .wrapper .searchBtn {
		width: 10vw;
	}
	#gHeader .wrapper .menuBtn {
		width: 10vw;
	}
	.menuBtn {
		display: inline-block;
		z-index: 15;
	}
	.menuBtn a {
		display: block;
	}
	.menuBtn span.menuBtnLine {
		display: block;
		width: 100%;
		margin: 1em 0;
		height: 1px;
		background-color: #000;
		transition: all .3s ease-out;
	}
    .menuBtn .menuBtnUnderText {
        display: inline-block;
        width: 100%;
        min-width: 40px;
        text-align: center;
    }
    .menuBtn a:active .menuBtnUnderText, .menuBtn a:hover .menuBtnUnderText {
        color: #000 !important;
    }

	.menuOpen .menuBtn span.menuBtnLine {
		opacity: 0;
	}
	.menuOpen .menuBtn span:first-child {
		transform-origin: center center;
		transform: translate3d(.2rem, 1.1rem, 0) rotate(45deg);
		opacity: 1;
	}
	.menuOpen .menuBtn span:nth-of-type(3) {
		transform-origin: center center;
		transform: translate3d(.2rem, -1.1rem, 0) rotate(-45deg);
		opacity: 1;
	}
    .menuBtnUnderText {
        position: relative;
        top: -5px;
    }
	
	#gHeader .sp {
		position: relative;
	}
	#gHeader .searchBox {
		position: absolute;
		top: 0;
		right: 15vw;
		bottom: 1px;
		left: 0;
		display: block;
		width: 85vw;
		background-color: #FFF;
		transform: translate3d(-100%, 0, 0);
		transition: transform .2s ease;
	}
	#gHeader .searchBox.searchOpen {
		transform: translate3d(0, 0, 0);
	}
	#gHeader .searchBox .wrapBox {
		display: flex;
		align-items: center;
		width: 100%;
		height: 100%;
		padding-left: 5vw;
	}
	#gHeader .searchBox .wrapBox form {
		position: relative;
	}
	#gHeader .searchBox .wrapBox form input {
		width: 100%;
		padding: .5em;
		font-size: 1.6rem;
		background-color: #efefef;
	}
	#gHeader .searchBox .btnClose {
		position: relative;
		display: block;
		width: 10vw;
		height: 10vw;
		margin-right: 3vw;
	}
	#gHeader .searchBox .btnClose::before {
		content: "";
		position: absolute;
		top: calc(5vw - 1px);
		right: 0;
		left: 0;
		display: block;
		width: 10vw;
		height: 2px;
		background-color: #000;
		transform: rotate(45deg);
	}
	#gHeader .searchBox .btnClose::after {
		content: "";
		position: absolute;
		top: calc(5vw - 1px);
		right: 0;
		left: 0;
		display: block;
		width: 10vw;
		height: 2px;
		background-color: #000;
		transform: rotate(-45deg);
	}
	
	.modalMenu {
		position: absolute;
		right: 0;
		left: 0;
		width: 100vw;
		background-color: #FFF;
		overflow: scroll;
		z-index: 10;
	}
	#gHeader .modalMenu .wrapper {
		display: block;
		padding: 5vw 0 10vw 0;
		border: none;
	}
	#gHeader .modalMenu .langBtnArea {
		padding: 1.5em;
		background-color: #F2F2F2;
		text-align: center;
	}
	#gHeader .modalMenu .langBtn {
		display: inline-flex;
		margin: 0;
		font-size: 1.6rem;
		font-weight: 500;
	}
	#gHeader .modalMenu .langBtn > * {
		margin: 0 1em;
		border: none;
	}
	#gHeader .modalMenu .langBtn > .line {
		width: 1px;
		height: 1.2em;
		margin: 0;
		padding: 0;
		background-color: #BCBCBC;
	}
	#gHeader .modalMenu .gNavi {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 1em 0;
	}
	#gHeader .modalMenu .gNavi a {
		margin: 0.5em 0;
		font-size: 1.6rem;
		font-weight: 500;
	}
	#gHeader .modalMenu .snsArea {
		padding: 5vw 0;
		font-size: 1.2rem;
		font-weight: 500;
		text-align: center;
	}
	#gHeader .modalMenu .snsArea .snsLink {
		display: flex;
		justify-content: center;
		margin: 5vw 0 0;
	}
	#gHeader .modalMenu .snsArea .snsLink a {
		margin: 0 5vw;
	}
	#gHeader .modalMenu .snsArea .snsLink a img {
		width: 8vw;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria {
		border-top: 1px solid #C3C3C3;
		padding-top: 10px;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords {
		border: 0;
		margin: 5vw 0 5vw 0;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .gNaviKeyWordsName {
		position: relative;
		font-size: 1.4rem;
		font-weight: 500;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .gNaviKeyWordsName::after,
	#gHeader .modalMenu .gNaviCategoryAria .gNaviKeyWordsAriaList a span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1.5em;
    display: block;
    width: .7em;
    height: .7em;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: translate3d(0, -50%, 0) rotate(45deg);
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .keywordList {
		justify-content: start;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .keywordList a {
    display: block;
		background: #000;
		color: #fff;
    border-radius: 0;
		font-size: 1rem;
		font-weight: normal;
		margin: 4px 8px 4px 0;
		padding: .6em 1.2em;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .keywordList a span::before {
		content: none;
	}
	
	#gFooter {
		background-color: #F5F4F5;
	}
	#gFooter .linksBody {
		padding: 5vw;
	}
	#gFooter .linksBody .navi {
		display: block;
		padding: 2vw;
	}
	#gFooter .linksBody .navi .logo {
		width: 36vw;
	}
	#gFooter .linksBody .navi #footerNavi {
		margin: 10vw 0 0;
		font-size: 1.25rem;
		display: flex;
		justify-content: center;
		align-items: stretch;
		flex-wrap: wrap;
	}
	#gFooter .linksBody .navi #footerNavi a {
		margin: .5em 0;
	}
	#gFooter .linksBody .navi #footerNavi span.line {
		width: .5px;
		margin: .5em .75em;
		background-color: #707070;
	}
	#gFooter .linksBody .navi #footerNavi span.line:last-child {
		display: none !important;
	}
	#gFooter .linksBody .relatedSites .website nav {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		font-size: 1rem;
	}
	#gFooter .linksBody .relatedSites {
		margin-top: 3vw;
		padding: 0;
	}
	#gFooter .linksBody .relatedSites a {
		margin-top: 7vw;
		margin-left: 0;
	}
	#gFooter .linksBody .relatedSites a + a {
		margin-left: 5vw;
	}
	#gFooter .linksBody .relatedSites a:not(.btnDeco) .imgWrap {
		margin-left: 0;
	}
	#gFooter .footerContents {
		margin: 10vw 5vw 0;
		padding: 5vw 0;
		border-top: .5px solid #C2C2C2;
	}
	#gFooter .footerContents .utilityBody {
		display: block;
	}
	#gFooter .footerContents .utilityBody #utilityNavi {
		display: flex;
		justify-content: space-evenly;
	}
	#gFooter .footerContents .utilityBody #utilityNavi a {
		margin-right: 0;
	}
	#gFooter .footerContents .utilityBody .copyright {
		margin-top: 10vw;
	}
	#gFooter .footerContents .utilityBody .copyright p {
		font-size: .8rem;
		text-align: center;
	}
}




/* =====================================================
	 mainBody */

#mainBody {
}

body.menuOpen {
	overflow: auto;
}
body.modalOpen {
	overflow: hidden;
}

/* # top page */
.topCarousel {
	position: relative;
}
.topCarousel .contentCard {
	position: absolute;
	display: none;
	width: 100%;
}
.topCarousel .contentCard:nth-child(1) {
	display: block;
	z-index: 2;
}
.topCarousel .contentCard .txtData {
}
.topCarousel .contentCard figure img {
	display: inline-block;
	-webkit-user-drag: none;
	user-drag: none;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	margin-bottom: 2em;
}
.topCarousel .carouselNavigation {
}
.topCarousel .carouselNavigation .btnPrev {
	position: absolute;
	top: 0;
	left: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 25px;
	height: 25px;
	margin-top: calc(100% * 9 / 16 / 2);
	background-color: rgba(255, 255, 255, .9);
	z-index: 5;
}
.topCarousel .carouselNavigation .btnPrev::after {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	transform: translate3d(2px, 0, 0) rotate(-45deg);
}
.topCarousel .carouselNavigation .btnNext {
	position: absolute;
	right: 4px;
	top: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 25px;
	height: 25px;
	margin-top: calc(100% * 9 / 16 / 2);
	background-color: rgba(255, 255, 255, .9);
	z-index: 5;
}
.topCarousel .carouselNavigation .btnNext::after {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: translate3d(-2px, 0, 0) rotate(45deg);
}
.topCarousel .carouselNavigation a {
	transition: background-color .2s ease;
}
.topCarousel .carouselNavigation a::after {
	transition: border-color .2s ease;
}
.topCarousel .carouselNavigation a:hover {
	background-color: rgba(0, 0, 0, .4);
}
.topCarousel .carouselNavigation a:hover::after {
	border-color: #FFF;
}
.topCarousel .carouselNavigation .paging {
	position: absolute;
	display: flex;
	justify-content: center;
	width: 100%;
	z-index: 5;
	margin-top: calc(100% * 9 / 16 + 1.2em);
}
.topCarousel .carouselNavigation .paging span {
	display: block;
	width: 1em;
	height: 1em;
	margin: 0 7px;
	border-radius: 1em;
	background-color: #BCBCBC;
	line-height: 0;
}
.topCarousel .carouselNavigation .paging span.thisSlide {
	background-color: #EB0A1E;
}


.keyWords h3 {
	border-bottom: 1px solid #000;
	text-align: center;
	line-height: 1;
}
.keyWords .keywordList {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-content: flex-start;
	margin-top: 1em;
}
.keyWords .keywordList a {
	display: block;
	border: 1px solid #000;
	border-radius: 2em;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .1em;
}
.keyWords .keywordList a:hover {
	background-color: #000;
	color: #FFF !important;
}
.keyWords form {
	margin-top: 2em;
	text-align: center;
}
.keyWords form input {
	padding: 1em 2em 1em .5em;
	border: none;
	border-bottom: 2px solid #000;
	background: transparent url(/assets/image/icon_search.svg) no-repeat right center / auto 50%;
	font-size: 1.4rem;
}


/*
.exceptionBanner #magazineBanner {
	display: flex;
	justify-content: space-between;
	background-color: #000;
	color: #FFF;
}
.exceptionBanner #magazineBanner > figure {
	width: 35%;
}
.exceptionBanner #magazineBanner > .txt {
	width: calc(65% - 20px);
	text-align: center;
}
.exceptionBanner #magazineBanner > .txt h3 {
	margin: .5em 0;
}
.exceptionBanner #magazineBanner > .txt h4 {
	margin: 1em 0;
	font-weight: 500;
}
.exceptionBanner #magazineBanner > .txt .lead,
.exceptionBanner #magazineBanner > .txt .data {
	display: none;
}
.exceptionBanner #magazineBanner > .txt .btnArea a {
	display: inline-block;
	width: 85%;
}
.exceptionBanner #magazineBanner > .txt .btnArea button {
	-webkit-appearance: none;
	display: block;
	width: 100%;
	padding: 1em;
	border: 1px solid #fff;
	border-radius: 4px;
	font-weight: bold;
	color: #FFF;
	cursor: pointer;
	transition: all .2s ease;
}
.exceptionBanner #magazineBanner > .txt .btnArea :hover button {
	background-color: #FFF;
	color: #000;
}
*/

.movieBanner {
	font-feature-settings: "palt";
}
.movieBanner header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: .5em;
}
.movieBanner header h3 {
	width: 50%;
}
.movieBanner header h3 img {
}
.movieBanner header p {
	font-weight: bold;
	text-align: right;
}
.movieBanner .btnArea {
	margin-top: 10px;
	text-align: center;
}
.movieBanner a button {
	padding: .5em 1.5em;
	font-size: .875em;
	border: 1px solid #707070;
	border-radius: 4px;
	background-color: #fff;
	font-weight: bold;
	cursor: pointer;
}
.movieBanner a button:hover {
	background-color: #F5F4F5;
}


.podcastArea {
	display: flex;
	justify-content: space-between;
    margin: 5vw 5vw 10vw 5vw;
    padding: 0;
}

.podcastArea .podcastAreaSection {
	flex: 1;
	padding: 0;
	text-align: center;
}


.accessRanking {
	background-color: #292929;
	color: #fff;
}
.accessRanking h3 {
	line-height: 1;
	text-align: center;
	border-bottom: 1px solid #FFF;
}
.accessRanking ol {
	display: flex;
	flex-wrap: wrap;
}
.accessRanking ol li .contentArea {
	display: flex;
}
.accessRanking ol li .contentArea .number {
	text-align: center;
}
.accessRanking .thisCategory .categorySecond span {
	border: 1px solid #FFF;
	background-color: transparent;
	color: #FFF;
}
.accessRanking .thisCategory .categorySecond:hover span {
	background-color: rgba(255, 255, 255, .8);
	color: #000;
}
.accessRanking .thisCategory .categoryThird span {
	background-color: #FFF;
	color: #000;
}
.accessRanking .thisCategory .categoryThird:hover span {
	background-color: rgba(255, 255, 255, .3);
	color: #FFF;
}
.accessRanking .rankingCard > a:hover,
.accessRanking .rankingCard > .attendData a:hover {
	color: inherit !important;
	text-decoration: underline;
}
.accessRanking .rankingCard .txtTitle {
	height: 3.4em;
	margin-top: .3em;
	font-weight: 500;
}
.accessRanking .rankingCard .attendData {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid #707070;
}
.accessRanking .rankingCard .attendData .keywordList a {
	color: #FFF;
}
.accessRanking .rankingCard .attendData .txtDate {
	font-size: 1.2rem;
}



.categoryBlock {
	background-color: #F5F5F5;
}
.contentsList li .contentCard figure {
	display: block;
	background-color: #000;
}
.contentsList li .contentCard figure img {
	transition: opacity .2s ease;
}
.contentsList li .contentCard figure:hover img {
	opacity: .5;
}


.thisCategory {
	display: flex;
	width: 100%;
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 500;
}
.thisCategory a {
	display: block;
	transition: all .2s ease;
}
.thisCategory .categorySecond {
	margin-right: 5px;
}
.thisCategory a span {
	display: block;
	padding: .4em .6em;
	white-space: nowrap;
}
.thisCategory .categorySecond span {
	border: 1px solid #000;
	background-color: #FFF;
	color: #000;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.thisCategory .categorySecond:hover span {
	border-color: transparent;
	background-color: rgba(0, 0, 0, .6);
	color: #FFF;
}
.thisCategory .categoryThird {
	overflow: hidden;
}
.thisCategory .categoryThird span {
	width: 100%;
	border: 1px solid transparent;
	background-color: #000;
	color: #FFF;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: background-color .2s ease, color .2s ease;
}
.thisCategory .categoryThird:hover span {
	background-color: rgba(0, 0, 0, .2);
	color: #000;
}
h2.txtTitle {
	margin-top: .2em;
	overflow: hidden;
	font-weight: 700;
}
.txtLead {
	margin-top: .2em;
	overflow: hidden;
}
.keywordList {
	font-size: 1.2rem;
}
.keywordList a span::before {
	content: "#";
	margin-right: .2em;
}
.txtDate {
	margin-top: .8em;
}

.attendData .keywordList a:nth-child(n + 4){
	display: none;
}

.subCategoryList .categories a {
	display: block;
	font-size: 1.5rem;
	background-color: #ccc;
	transition: background-color .2s ease;
}
.subCategoryList .categories a:hover {
	background-color: #999;
}
.subCategoryList .categories a img {
	transition: opacity .2s ease;
}
.subCategoryList .categories a:hover img {
	opacity: .6;
}
.subCategoryList .categories a figcaption {
	padding: .2em .5em;
}

.categoryBlock .bgWhite {
	background-color: #FFF;
}
.categoryBlock .bgWhite .viewAll a {
	background-color: #F5F5F5;
}
.categoryBlock .bgWhite .viewAll a:hover {
	background-color: #FFF;
}


/* # パソコンレイアウト */
@media screen and (min-width:641px) {
	#mainBody {
		margin-top: 0px;
	}
	#topContent .wrapper {
		display: flex;
		flex-direction: row-reverse;
		max-width: 1150px;
		margin: 20px auto 0;
		overflow: hidden;
	}
	#topContent .wrapper .topContentLeft {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 40%;
		padding-right: 15px;
		border-right: 1px solid #000;
	}
	#topContent .wrapper .topContentLeft.noBanner .specialBanner > * {
		display: none;
	}
	#topContent .wrapper .topContentLeft.inBanner .specialBanner > * {
		display: block;
	}
	#topContent .wrapper .topContentLeft.inBanner .newArrivals {
		margin-top: 40px;
	}
	#topContent .wrapper .topContentLeft.inBanner .newArrivals .contentsList li:nth-child(n+3) {
		display: none;
	}
	#topContent .newArrivals > h2 {
		padding: .2em .5em;
		border-bottom: 4px solid #000;
		font-size: 3.2rem;
		font-weight: 400;
	}
	.newArrivals .contentsList {
		display: block;
	}
	.newArrivals .contentsList li {
		width: 100%;
		padding-bottom: 0;
	}
	.newArrivals .contentsList li:not(:first-child) {
		border-top: 1px solid #000;
	}
	.newArrivals .contentsList li .contentCard.landscape {
		display: grid;
		width: 100%;
		grid-template-rows: 3em auto 5em;
		grid-template-columns: 52.5% 45%;
		grid-gap: 2.5%;
		padding: 0;
		border: none !important;
	}
	.newArrivals .contentsList li .contentCard.landscape > a {
		grid-row: 1 / span 2;
		grid-column: 1 / span 1;
	}
	.newArrivals .contentsList li .contentCard.landscape .txtData {
		display: contents;
	}
	.newArrivals .contentsList li .contentCard.landscape .txtData .thisCategory {
		grid-column-start: 2;
	}
	.newArrivals .contentsList li .contentCard.landscape .txtData .thisCategory ~ a {
		grid-column-start: 2;
	}
	.newArrivals .contentsList li .contentCard.landscape .txtData .thisCategory ~ a .txtTitle {
		height: 4.6em; 
		font-size: 1.5rem;
	}
	.newArrivals .contentsList li .contentCard.landscape .txtData .attendData {
		grid-column: 1 / span 2;
		display: flex;
		justify-content: space-between;
		margin-top: .5em;
		border-top: 1px solid #C3C3C3;
	}
	.newArrivals .contentsList li .contentCard.landscape .txtData .attendData .keywordList {
		height: 1.8em;
		margin-top: 5px;
		overflow: hidden;
	}
	.newArrivals .contentsList li .contentCard.landscape .txtData .attendData .txtDate {
		margin-top: 5px;
		font-size: 1.2rem;
	}
	
	#topContent .wrapper .topContentRight {
		width: 60%;
		padding-left: 10px;
	}
	.topCarousel .contentCard .txtData .thisCategory {
		padding: 10px;
		font-size: 1.7rem;
	}
	.topCarousel .contentCard .txtData > a {
		padding: 10px;
	}
	.topCarousel .contentCard .txtData > a .txtTitle {
		font-size: 2.5rem;
	}
	.topCarousel .contentCard .txtData > a .txtLead {
		font-size: 1.6rem;
	}
	.topCarousel .contentCard .txtData .attendData {
		display: flex;
		justify-content: space-between;
		margin-top: .5em;
		padding-bottom: 10px;
		border-top: 1px solid #C3C3C3;
	}
	.topCarousel .contentCard .txtData .attendData .keywordList {
		margin-top: 10px;
	}
	.topCarousel .contentCard .txtData .attendData .txtDate {
		margin-top: 10px;
		font-size: 1.2rem;
	}
	
	#secondArea {
		padding-bottom: 120px;
	}
	#secondArea .wrapper {
		max-width: 1150px;
		margin: 20px auto 0;
	}
	.keyWordsArea {
		display: flex;
		justify-content: space-between;
		padding: 10px 0;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
	}
	.keyWordsArea .keyWords {
		flex: 1;
		padding: 0 10px;
		border-right: 1px solid #000;
		border-left: 1px solid #000;
	}
	.keyWordsArea .keyWords h3 {
		padding: .3em 0 .7em;
		font-size: 2.2rem;
	}
	.keyWordsArea .keyWords .keywordList {
	}
	.keyWords .keywordList a {
		margin: 5px 10px;
		padding: .8em 1.2em;
		font-size: 1.3rem;
	}
	.keyWordsArea .keyWords .keywordSearch {
		margin-top: 1em;
	}
	
	.keyWordsArea .exceptionBanner {
		width: 35%;
		padding-left: 10px;
	}

	.podcastArea {
		display: flex;
		justify-content: space-between;
		margin: 0;
		padding: 10px 0;
		border-top: 1px solid #000;
	}

	.podcastArea .podcastAreaSection {
		flex: 1;
		padding: 10px 10px;
		border-right: 1px solid #000;
		border-left: 1px solid #000;
		text-align: center;
	}

	.movieBannerWrap {
		display: flex;
		margin-top: 20px;
		padding: 10px 0;
		border-top: 1px solid #000;
	}
	.movieBannerWrap .movieBanner {
		width: 50%;
		padding: 0 20px;
		border-right: 1px solid #000;
	}
	.movieBannerWrap .movieBanner:first-child {
		border-left: 1px solid #000;
	}
	.movieBanner header p {
		font-size: min(1.4vw, 1.4em);
	}
	.movieBanner a button {
		font-size: min(1.4vw, 1.5em);
	}
/*
	.exceptionBanner #magazineBanner {
		padding: 20px;
	}
	.exceptionBanner #magazineBanner > .txt h3 {
		font-size: 2.3rem;
	}
	.exceptionBanner #magazineBanner > .txt h4 {
		font-size: 1.2rem;
	}
	.exceptionBanner #magazineBanner > .txt .btnArea button {
		font-size: 1.2rem;
	}
	*/
	
	.informationBanner {
		position: relative;
		margin-top: 30px;
	}
	.informationBanner .infoBannerWrap {
		display: flex;
		overflow-x: scroll;
        overflow-y: hidden;
	}
	.informationBanner .fBnr {
		min-width: calc((100% - 30px) / 4);
		max-width: calc((100% - 30px) / 4);
		background-color: #EAEAEA;
	}
	.informationBanner .fBnr:not(:first-child) {
		margin-left: 10px;
	}
	.informationBanner .fBnr a {
		display: block;
	}
	.informationBanner .scrollNavi {
		display: none;
		height: 0;
	}
	.informationBanner .scrollNavi .btnScrollLeft {
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		width: 20px;
		height: 30px;
		transform: translate3d(-120%, -50%, 0);
	}
	.informationBanner .scrollNavi .btnScrollLeft::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		width: 100%;
		height: 1px;
		background-color: #000;
		transform-origin: left center;
		transform: rotate(-45deg);
	}
	.informationBanner .scrollNavi .btnScrollLeft::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		display: block;
		width: 100%;
		height: 1px;
		background-color: #000;
		transform-origin: left center;
		transform: rotate(45deg);
	}
	.informationBanner .scrollNavi .btnScrollRight {
		position: absolute;
		top: 50%;
		right: 0;
		display: block;
		width: 20px;
		height: 30px;
		transform: translate3d(120%, -50%, 0);
	}
	.informationBanner .scrollNavi .btnScrollRight::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		width: 100%;
		height: 1px;
		background-color: #000;
		transform-origin: right center;
		transform: rotate(45deg);
	}
	.informationBanner .scrollNavi .btnScrollRight::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		display: block;
		width: 100%;
		height: 1px;
		background-color: #000;
		transform-origin: right center;
		transform: rotate(-45deg);
	}
	
	.accessRanking {
		margin-top: 30px;
		padding: 15px;
	}
	.accessRanking h3 {
		padding: 10px 0 25px;
		font-size: 2.4rem;
	}
	.accessRanking ol li {
		margin-top: 10px;
	}
	.accessRanking ol li:nth-child(-n + 2) {
		width: 50%;
		padding-bottom: 10px;
		border-bottom: 1px solid #FFF;
	}
	.accessRanking ol li:nth-child(n + 3) {
		width: 33.3%;
	}
	.accessRanking ol li .contentArea {
		padding: 10px 0 0;
	}
	.accessRanking ol li:nth-child(2) .contentArea {
		border-left: 1px solid #707070;
	}
	.accessRanking ol li:nth-child(n + 4) .contentArea {
		border-left: 1px solid #707070;
	}
	.accessRanking ol li .contentArea .number {
		width: 20%;
		font-size: 4.2rem;
	}
	.accessRanking li:nth-child(-n + 2) .rankingCard .txtTitle {
		font-size: 1.8rem;
	}
	.accessRanking li:nth-child(n + 3) .rankingCard .txtTitle {
		font-size: 1.6rem;
	}
	.accessRanking .rankingCard {
		width: 80%;
		margin-right: 10px;
	}
	.accessRanking .rankingCard .attendData {
		margin-top: 10px;
		padding: 0 10px;
	}
	.accessRanking .rankingCard .attendData .keywordList {
		height: 1.8em;
		margin-top: 10px;
		overflow: hidden;
	}
	.accessRanking .rankingCard .attendData .txtDate {
		margin-top: 10px;
	}
	
	.categoryBlock {
		padding: 80px 0;
	}
	#mainBody .categoryBlock:last-child {
		padding-bottom: 160px;
	}
	.categoryBlock .wrapper {
		max-width: 1150px;
		margin: 20px auto 0;
	}
	.categoryBlock h1 {
		border-bottom: 1px solid #000;
		font-size: 2.4rem;
	}
	.categoryBlock h1::after {
		content: "";
		display: block;
		width: 230px;
		height: 4px;
		background-color: #000;
	}
	.categoryBlock h1 span {
		display: block;
		padding: .5em;
	}
	
	.contentsList {
		display: flex;
		align-items: stretch;
		flex-wrap: wrap;
		margin-top: 10px;
	}
	.contentsList li {
		display: flex;
		align-items: stretch;
		width: 33.3%;
		padding: 10px 0;
	}
	.contentsList li:nth-child(n + 4) {
		border-top: 1px solid #000;
	}
	.contentsList li .contentCard {
		width: 100%;
		padding: 0 10px;
		border-right: 1px solid #000;
	}
	.contentsList li:nth-child(3n + 1) .contentCard {
		border-left: 1px solid #000;
	}
	.contentsList li .contentCard .txtData {
		padding: 10px;
	}
	
	.contentsList.landscape li {
		width: 50%;
		padding: 15px 0;
	}
	.contentsList.landscape li:nth-child(2n) .contentCard {
		border-right: 1px solid #000;
	}
	.thisCategory a {
		margin-top: 5px;
	}
	h2.txtTitle {
		font-size: 2.1rem;
		height: 3.1em;
	}
	.txtLead {
		font-size: 1.3rem;
		height: 4.7em;
	}
	.keywordList a {
		display: inline-block;
	}
	.keywordList a span::before {
		content: "#";
		margin-right: .2em;
	}
	.keywordList a:not(:last-child) {
		margin-right: 1em;
	}
	.contentCard .txtData .keywordList {
		margin-top: 2.5em;
	}
	.txtDate {
		margin-top: .8em;
		font-size: 1.5rem;
		text-align: right;
	}
	.contentsList.landscape {
		margin-top: 0;
	}
	.contentsList.landscape li:first-child {
		width: 100%;
		border-bottom: 1px solid #000;
	}
	.contentsList.landscape li .contentCard {
		display: grid;
		grid-template-rows: 3em auto auto;
		grid-template-columns: 40% 57.5%;
		grid-gap: 15px;
		width: 100%;
		padding: 0 15px;
		border: none;
	}
	.contentsList.landscape li .contentCard .txtData .attendData {
		display: flex;
		justify-content: space-between;
		padding: 0 10px;
	}
	.contentsList.landscape li .contentCard .txtData {
		display: contents;
	}
	.contentsList.landscape li:first-child .contentCard > a {
		grid-row: 1 / span 3;
		grid-column: 1 / span 1;
	}
	.contentsList.landscape li:not(:first-child) .contentCard > a {
		grid-row: 1 / span 2;
		grid-column: 1 / span 1;
	}
	.contentsList.landscape li:not(:first-child) .contentCard .txtData .thisCategory {
		grid-column-start: 2;
	}
	.contentsList.landscape li:not(:first-child) .contentCard .txtData .thisCategory a {
		margin-top: 0;
	}
	.contentsList.landscape li:not(:first-child) .contentCard .txtData > a {
		grid-column-start: 2;
	}
	.contentsList.landscape li:not(:first-child) .contentCard .txtData > a .txtTitle {
		height: 3.3em;
		margin-top: 0;
		font-size: 1.8rem;
	}
	.contentsList.landscape li:not(:first-child) .contentCard .txtData .attendData {
		grid-column: 1 / span 2;
		margin-top: .5em;
	}
	.contentsList.landscape li .contentCard .attendData {
		border-top: 1px solid #C3C3C3;
	}
	.contentsList.landscape li .contentCard .txtData .keywordList {
		margin-top: 1em;
	}
	
	.subCategoryList {
		margin-top: 100px;
	}
	.subCategoryList h3 {
		position: relative;
		padding: 10px 20px;
		border-bottom: 1px solid #000;
		font-size: 2.4rem;
		font-weight: 400;
		line-height: 1;
	}
	.subCategoryList h3::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		display: block;
		width: 1px;
		height: 100px;
		background-color: #000;
	}
	.subCategoryList .categories {
		display: flex;
		/*justify-content: center;*/
		flex-wrap: wrap;
		width: 100%;
		margin-top: 10px;
	}
	.subCategoryList .categories a {
		width: calc(25% - 20px);
		margin: 10px;
	}
	.subCategoryList .categories a figcaption {
		font-size: min(14px, 1.5vw);
	}
	.topPage .subCategoryList .categories a:nth-child(n + 9) {
		display: none;
	}
	
	.categoryBlock .bgWhite {
		padding: 10px;
	}
}

	.subCategoryList .toggleSubCategory {
		margin: 1em;
		font-size: 2rem;
		text-align: center;
	}
	.subCategoryList .toggleSubCategory a {
		display: inline-flex;
		align-items: center;
	}
	.subCategoryList .toggleSubCategory .toggleClose {
		display: none;
	}
	.subCategoryList .toggleSubCategory .toggleOpen .iconArrow,
	.subCategoryList .toggleSubCategory .toggleClose .iconArrow {
		position: relative;
		display: block;
		width: 0px;
		height: 0;
		margin-left: 1.5em;
	}
	.subCategoryList .toggleSubCategory .iconArrow::before,
	.subCategoryList .toggleSubCategory .iconArrow::after {
		content: "";
		position: absolute;
		top: 0;
		display: block;
		width: .8em;
		height: 2px;
		background-color: #000;
	}
	.subCategoryList .toggleSubCategory a:hover .iconArrow::before,
	.subCategoryList .toggleSubCategory a:hover  .iconArrow::after {
		background-color: #eb0a1e;
	}
	.subCategoryList .toggleSubCategory .toggleOpen .iconArrow::before {
		right: 0;
		transform-origin: right center;
		transform: translate3d(0, .2em, 0) rotate(40deg);
	}
	.subCategoryList .toggleSubCategory .toggleOpen .iconArrow::after {
		left: 0;
		transform-origin: left center;
		transform: translate3d(0, .2em, 0) rotate(-40deg);
	}
	.subCategoryList .toggleSubCategory .toggleClose .iconArrow::before {
		right: 0;
		transform-origin: right center;
		transform: translate3d(0, -.3em, 0) rotate(-40deg);
	}
	.subCategoryList .toggleSubCategory .toggleClose .iconArrow::after {
		left: 0;
		transform-origin: left center;
		transform: translate3d(0, -.3em, 0) rotate(40deg);
	}

/* # タブレットレイアウト */
@media screen and (min-width:641px) and (max-width:1240px) {
	#topContent .wrapper,
	#secondArea .wrapper {
		margin: 20px max(2.5vw, 20px);
	}
	.categoryBlock .wrapper {
		margin: 0 max(2.5vw, 20px);
	}
	h2.txtTitle {
		font-size: min(2vw, 2.1rem);
		height: 3.2em;
	}
	.thisCategory {
		font-size: clamp(9px, 1.2vw, 1.2rem);
	}
	.txtLead {
		font-size: clamp(10px, 1.4vw, 1.3rem);
		height: 4.5em;
	}
	.keywordList {
		font-size: clamp(9px, 1.2vw, 1.2rem);
	}
	.keyWords h3 {
		padding: .1em 0 .5em;
		font-size: 1.8rem;
	}
	.contentsList.landscape li:not(:first-child) .contentCard .txtData > a .txtTitle {
		height: 3.3em;
		font-size: min(1.8vw, 1.8rem);
	}
	#topContent .newArrivals > h2 {
		font-size: min(3.2vw, 3.2rem);
	}
	.newArrivals .contentsList li .contentCard.landscape .txtData .thisCategory ~ a .txtTitle {
		height: 4.8em; 
		margin-top: 0;
		font-size: min(1.5vw, 1.5rem);
	}
	.topCarousel .contentCard .txtData > a .txtTitle {
		font-size: min(2.5vw, 2.5rem);
	}
	.topCarousel .contentCard .txtData > a .txtLead {
		height: 4.8em; 
		font-size: min(1.6vw, 1.6rem);
	}
	.accessRanking ol li .contentArea .number {
		font-size: min(4.2vw, 4.2rem);
	}
	.accessRanking li:nth-child(-n + 2) .rankingCard .txtTitle {
		font-size: min(1.8vw, 1.8rem);
	}
	.accessRanking li:nth-child(n + 3) .rankingCard .txtTitle {
		font-size: min(1.6vw, 1.6rem);
	}
	.keyWords .keywordList a {
		margin: min(10px, 1vw);
		padding: 1vw 1.2em;
	}
	.keyWords form {
		margin-top: 0;
	}
	.exceptionBanner #magazineBanner > .txt h3 {
		font-size: min(2.1vw, 2.3rem);
	}
	.exceptionBanner #magazineBanner > .txt h4,
	.exceptionBanner #magazineBanner > .txt .btnArea button {
		font-size: min(1.2vw, 1.2rem);
	}
	.informationBanner .scrollNavi .btnScrollLeft,
	.informationBanner .scrollNavi .btnScrollRight {
		width: min(20px, 2vw);
	}
	
}

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

	#mainBody {
		margin-top: 0px;
	}
	.topCarousel {
		margin: 5vw;
		height: 130vw;
	}
	.topCarousel .contentCard {
		padding: 0;
		border: none;
	}
	.topCarousel .carouselNavigation .btnPrev {
		left: -2.5vw;
	}
	.topCarousel .carouselNavigation .btnNext {
		right: -2.5vw;
	}
	.topCarousel .carouselNavigation a {
		background-color: rgba(0, 0, 0, .4) !important;
	}
	.topCarousel .carouselNavigation a::after {
		border-color: #FFF !important;
	}
	.topCarousel .carouselNavigation .paging {
		margin-top: calc(100% * 9 / 16 + 6vw);
	}
	
	.specialBanner {
		margin: 10vw 5vw;
	}
	#gHeader .specialBanner {
		border-top: 0px solid #C3C3C3;
		margin: 0;
		padding-top: 5vw;
	}
	
	.newArrivals {
		margin: 10vw 5vw;
	}
	.newArrivals > h2 {
		border-bottom: 4px solid #000;
		font-size: 2rem;
	}
	.newArrivals .contentCard {
		display: grid;
		grid-template-rows: repeat(3, auto);
		grid-template-columns: repeat(2, calc((100% - 3vw) / 2));
		grid-gap: 3vw;
		width: 100%;
		margin: 3vw 0 0;
		padding: 0;
		border: none;
	}
	.newArrivals .contentsList {
		margin-top: 5vw;
		border-bottom: .5px solid #4A4A4A;
	}
	.newArrivals .contentCard a {
		grid-row: 2 / span 1;
		grid-column: 1 / span 1;
	}
	.newArrivals .contentCard .txtData {
		display: contents;
	}
	.newArrivals .contentCard .txtData .thisCategory {
		grid-row: 1 / span 1;
		grid-column: 1 / span 2;
		margin: 0;
	}
	.newArrivals .contentCard .txtData a {
		grid-row: 2 / span 1;
		grid-column: 2 / span 1;
	}
	.newArrivals .contentCard .txtData a h2.txtTitle {
		height: 100%;
		margin-top: 0;
		font-size: 1.4rem;
	}
	.newArrivals .contentCard .txtData .attendData {
		grid-row: 3 / span 1;
		grid-column: 1 / span 2;
		display: flex;
		width: 100%;
		justify-content: space-between;
		border-top: .5px solid #C3C3C3;
	}
	.newArrivals .contentCard .txtData .keywordList {
		display: block;
		margin-top: 0;
	}
	
	.accessRanking {
		margin: 10vw 5vw;
		padding: 5vw 3vw;
	}
	.accessRanking h3 {
		padding-bottom: 1em;
		font-size: 2rem;
	}
	.accessRanking ol {
		display: block;
	}
	.accessRanking ol li {
		width: 100% !important;
		padding-top: 5vw;
		border-top: 1px solid #FFF;
	}
	.accessRanking ol li:nth-child(n + 2) {
		margin-top: 5vw;
	}
	.accessRanking ol li:nth-child(n + 4) {
		display: none;
	}
	.accessRanking ol li .contentArea {
		width: 100% !important;
	}
	.accessRanking ol li .contentArea .number {
		width: 15%;
		font-size: 2.2rem;
	}
	.accessRanking .rankingCard {
		width: 85%;
	}
	.accessRanking .thisCategory a span {
		padding: .2em .5em;
	}
	.accessRanking .rankingCard .txtTitle {
		margin: .5em 0;
		font-size: 1.5rem;
	}
	.accessRanking .rankingCard .attendData {
		align-items: flex-end;
		padding-top: .5em;
	}
	.accessRanking .rankingCard .attendData .keywordList {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		font-size: 1rem;
	}
	.accessRanking .rankingCard .attendData .keywordList a {
		margin-top: .5em;
	}
	.accessRanking .rankingCard .attendData .txtDate {
		margin-top: 0;
		font-size: 1rem;
	}
	
	.keyWords {
		margin: 10vw 5vw;
		/*padding: 0 3vw;*/
		border-right: .5px solid #000;
		border-left: .5px solid #000;
	}
	.keyWords h3 {
		padding: .8em 0;
		border-top: .5px solid #000;
		border-bottom: .5px solid #000;
		font-size: 1.6rem;
	}
	/*
	.keyWords .keywordList a {
		margin: .6em;
		padding: 1em 1.2em;
		font-size: 1.1rem;
		border-width: .5px;
	}
	*/
	.keyWords .keywordList a {
		margin: .5em;
		padding: .75em 1em;
		font-size: 1rem;
		border-width: .5px;
		letter-spacing: 0.025em;
		font-feature-settings: "palt";
	}
	.keyWords form {
		padding-bottom: 10vw;
		border-bottom: .5px solid #000;
	}
	
	.movieBannerWrap {
		margin: 10vw 5vw;
	}
	.movieBannerWrap .movieBanner {
		margin-top: 5vw;
	}
	.movieBanner header p {
		font-size: 3vw;
	}
	.movieBanner a button {
		font-size: 3vw;
	}

	
	.categoryBlock + .categoryBlock {
		padding-top: 20vw;
	}
	.categoryBlock .wrapper {
		padding: 5vw;
	}
	.categoryBlock h1 {
		padding-bottom: .5em;
		border-bottom: 4px solid #000;
		font-size: 1.9rem;
	}
	
	.contentsList li:not(:first-child) {
		border-top: .5px solid #4A4A4A;
	}

	.contentCard {
		margin: 3vw 0;
		padding: 0 3vw;
		border-right: .5px solid #4A4A4A;
		border-left: .5px solid #4A4A4A;
	}
	.contentCard .txtData {
		margin-top: 3vw;
		padding: 1vw;
	}
	.contentCard .txtData .thisCategory {
		margin: -1vw;
	}
	h2.txtTitle {
		margin-top: 3vw;
		font-size: 1.8rem;
		height: 3.2em;
	}
	.txtLead {
		font-size: 1.4rem;
		height: 4.8em;
	}
	.contentCard .attendData {
		margin-top: 1em;
		border-top: .5px solid #4A4A4A;
	}
	.txtDate {
		margin-top: .5em;
		font-size: 1.2rem;
		text-align: right;
	}
	.contentCard .txtData .keywordList {
		display: flex;
		align-items: flex-start;
		flex-direction: row;
		margin-top: 1em;
	}
	.contentCard .txtData .keywordList a {
		margin: .5em 0;
	}
	
	.viewAll {
		border-top: .5px solid #000;
		border-bottom: .5px solid #000;
	}
	.viewAll a {
		font-size: 1.5rem;
	}
	.subCategoryList {
		margin-top: 70px;
	}
	.subCategoryList h3 {
		position: relative;
		padding: .7em 1.2em;
		border-bottom: .5px solid #000;
		font-size: 1.5rem;
		font-weight: 500;
		line-height: 1;
	}
	.subCategoryList h3::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		display: block;
		width: .5px;
		height: 80px;
		background-color: #000;
	}
	.subCategoryList .categories {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.subCategoryList .categories a {
		width: 48%;
		/*height: calc((100vw - 10vw - 4vw) / 2 * 9 / 16);*/
		margin-top: 4%;
	}
	.subCategoryList .categories a figcaption {
		font-size: 3vw;
	}
	
	.categoryBlock .bgWhite .contentCard {
		margin: 0;
		padding: 3vw;
		border: none;
	}
	.categoryBlock .bgWhite .subCategoryList {
		padding: 3vw;
	}
	
	
	.bannerArea .wrapper {
		margin: 10vw 5vw;
	}
	.exceptionBanner #magazineBanner {
		padding: 3vw;
	}
	.exceptionBanner #magazineBanner > .txt h3 {
		font-size: 1.6rem;
	}
	.exceptionBanner #magazineBanner > .txt h4 {
		font-size: 1rem;
	}
	.exceptionBanner #magazineBanner > .txt .btnArea button {
		font-size: 1rem;
	}
	.informationBanner {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 3vw;
	}
	.informationBanner .fBnr {
		width: 48%;
		margin-top: 4%;
		background-color: #EAEAEA;
	}
	.informationBanner .fBnr a {
		display: block;
	}
	
	.subCategoryList .toggleSubCategory {
		font-size: 1.5rem;
	}
	.topPage .subCategoryList .categories a:nth-child(n + 9) {
		display: none;
	}
	
}


/* =====================================================
	 modalWindow */
.modalWindow {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 15;
}
.modalWindow .wrapper {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .7);
}
.modalWindow .wrapper .contents {
	position: relative;
	overflow: auto;
}
.modalWindow .wrapper a.close {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 30px;
	height: 30px;
}
.modalWindow .wrapper a.close::before,
.modalWindow .wrapper a.close::after {
	content: "";
	position: absolute;
	top: 50%;
	display: block;
	width: 100%;
	height: 3px;
	background-color: #fff;
	border-radius: 2px;
}
.modalWindow .wrapper a.close::before {
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.modalWindow .wrapper a.close::after {
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.modalWindow .wrapper .contents #modalMovie {
	padding: 40px 0; 
}

.modalWindow .wrapper iframe {
	vertical-align: top;
}
.modalWindow .wrapper #modalMovie iframe {
	width: 854px;
	height: 480px;
}


.pic a.modal figure {
	max-width: 480px;
}
.modalImage {
	display: none;
}
.modalWindow .modalImage {
	display: block;
	width: 80%;
	max-width: 1280px;
	margin: 5% auto;
}
body.modalOpen {
	overflow: hidden;
}




@media screen and (max-width:767px) {
	.modalWindow .wrapper .contents #modalMovie {
		padding: 30px 0;
	}
	.modalWindow .wrapper a.close {
		width: 20px;
		height: 20px;
	}
	.modalWindow .wrapper a.close::before,
	.modalWindow .wrapper a.close::after {
		height: 2px;
	}
	#movieContent.modalWindow .wrapper .contents {
		width: 90%;
	}
}


/* =====================================================
	 modal menu */


@media screen and (max-width: 640px) {
}




/* =====================================================
	 # カテゴリトップ */

.categoryTop .categoryBlock {
	background-color: #FFF;
}
.categoryTop .categoryBlock header {
}
.categoryTop .categoryBlock header h1 {
}
.categoryTop .categoryBlock header p.description {
	margin: 1em 0;
	line-height: 1.75;
}
.categoryTop.sideCate .categoryBlock h1 {
	border: 1px solid #000;
	line-height: 1;
}
.categoryTop.sideCate .categoryBlock h1::after {
	display: none;
}
.categoryTop .contentsList {
	margin-top: 40px;
	border-top: 1px solid #000;
}
.categoryTop .contentsListLatest {
	visibility: hidden;
}
.categoryTop .contentsList li {
	border-top: none;
	border-bottom: 1px solid #000;
}
.categoryTop .contentsList li:nth-child(n + 8) {
	display: none;
}
.categoryTop .contentsList.landscape li {
	width: 100%;
}
.categoryTop .contentsList.landscape li:nth-child(n + 6) {
	display: none;
}
.categoryTop .contentsList.landscape li .contentCard > a {
	grid-row: 1 / span 3;
}
.categoryTop .contentsList.landscape li .contentCard .txtData .attendData {
	grid-column: unset;
}
.categoryTop .contentsList.landscape li .contentCard {
	border-left: 1px solid #000 !important;
}
.categoryTop.sideCate .contentsList li {
	display: block;
}
.categoryTop.sideCate .contentsList li:nth-child(n + 10) {
	display: none;
}
.categoryTop.subCategory .contentsList li {
	display: block;
}
.categoryTop.subCategory .contentsList li:nth-child(n + 11) {
	display: none;
}
.categoryTop .contentsList .latest {
	width: 100%;
}
.categoryTop .contentsList li .contentCard {
	border-right: 1px solid #000;
	border-left: none;
}

.categoryTop .paging {
	margin-top: -1px;
	border-top: 1px solid #000;
}
.categoryTop .paging .pagingWrap {
	border-bottom: 1px solid #000;
}
.categoryTop .paging .pagingWrap nav {
	display: flex;
	justify-content: flex-end;
	padding: 20px;
	font-size: 1.5rem;
}
.categoryTop .paging .pagingWrap nav > * {
	display: block;
	margin: 0 .3em;
	padding: 0 .2em;
}
.categoryTop .paging .pagingWrap nav > *.this {
	font-weight: bold;
}
.categoryTop .paging .pagingWrap nav > a.this {
	pointer-events: none;
}

@media screen and (min-width: 641px) {
	.categoryTop .categoryBlock {
		padding-top: 20px;
	}
	.categoryTop .categoryBlock .categoryTitle {
		display: flex;
		align-items: center;
		border-bottom: 1px solid #000;
	}
	.categoryTop .categoryBlock .categoryTitle h1 {
		display: inline-block;
		border-bottom: none;
	}
	.categoryTop .categoryBlock .categoryTitle h1::after {
		width: 100%;
	}
	.categoryTop .categoryBlock header p.description {
		font-size: 1.6rem;
	}
	.categoryTop.subCategory .categoryBlock .categoryTitle h1 {
		font-size: 1.8rem;
	}
	.categoryTop.subCategory .categoryBlock .categoryTitle h2 {
		margin-left: .5em;
		font-size: 2.4rem;
	}
	
	
	.categoryTop .contentsList li:nth-of-type(3n + 1) .contentCard {
		border-left: 1px solid #000;
	}
	.categoryTop .contentsList li.latest ~ li:not(.latest):nth-of-type(3n + 2) .contentCard {
		border-left: 1px solid #000;
	}
	.categoryTop .contentsList li.latest ~ li:not(.latest):nth-of-type(3n + 1) .contentCard {
		border-left: none;
	}
	.categoryTop .contentsList li .contentCard.landscape {
		display: flex;
		width: 100%;
		padding: 0 10px;
		border-left: 1px solid #000;
	}
	.categoryTop .contentsList li .contentCard.landscape > a {
		width: 60%;
	}
	.categoryTop .contentsList li .contentCard.landscape > .txtData {
		display: flex;
		flex-direction: column;
		width: 40%;
		padding: 10px 40px;
	}
	.categoryTop .contentsList li .contentCard.landscape > .txtData .thisCategory {
		font-size: 1.8rem;
	}
	.categoryTop .contentsList li .contentCard.landscape > .txtData .txtTitle {
		height: 4.6em;
		font-size: 2.5rem;
	}
	.categoryTop .contentsList li .contentCard.landscape > .txtData .txtLead {
		font-size: 1.6rem;
		height: 7em;
	}
	.categoryTop .contentsList li .contentCard.landscape > .txtData .attendData {
		margin-top: auto;
		font-size: 1.2rem;
	}
	.categoryTop .contentsList li .contentCard.landscape > .txtData .attendData .keywordList {
		margin-top: 0;
	}
	.categoryTop .contentsList li .contentCard.landscape > .txtData .attendData .txtDate {
	}
	
	.categoryTop .contentsList.type1 li:nth-of-type(3n + 2) .contentCard,
	.categoryTop.subCategory .contentsList li:nth-of-type(3n + 2) .contentCard {
		border-left: 1px solid #000;
	}
	.categoryTop .contentsList.type1 li:nth-of-type(3n + 1) .contentCard,
	.categoryTop.subCategory .contentsList li:nth-of-type(3n + 1) .contentCard {
		border-left: none;
	}
	.categoryTop .contentsList.landscape li:first-child .contentCard h2.txtTitle,
	.categoryTop .contentsList.type1 li:first-child .contentCard h2.txtTitle {
		height: 4.7em;
		font-size: 2.5rem;
	}
	.categoryTop .contentsList.landscape li:first-child .contentCard .txtLead,
	.categoryTop .contentsList.type1 li:first-child .contentCard .txtLead {
		height: 8em;
		margin-top: 1em;
		font-size: 1.6rem;
	}
	.categoryTop .contentsList.type1 li:first-child,
	.categoryTop.subCategory .contentsList li:first-child {
		width: 100%;
	}
	.categoryTop .contentsList.type1 li:first-child .contentCard,
	.categoryTop.subCategory .contentsList li:first-child .contentCard {
		display: grid;
		grid-template-rows: 3em auto auto;
		grid-template-columns: 60% calc(40% - 15px);
		grid-gap: 15px;
		width: 100%;
		padding: 0 15px;
		border-left: 1px solid #000;
	}
	.categoryTop .contentsList.type1 li:first-child .contentCard > a,
	.categoryTop.subCategory .contentsList li:first-child .contentCard > a {
		grid-row: 1 / span 3;
	}
	.categoryTop .contentsList.type1 li:first-child .contentCard .txtData,
	.categoryTop.subCategory .contentsList li:first-child .contentCard .txtData {
		display: contents;
	}
	.categoryTop .contentsList.type1 li:first-child .contentCard h2.txtTitle,
	.categoryTop.subCategory .contentsList li:first-child .contentCard h2.txtTitle {
		height: 4.7em;
		font-size: 2.5rem;
	}
	.categoryTop .contentsList.type1 li:first-child .contentCard .txtLead,
	.categoryTop.subCategory .contentsList li:first-child .contentCard .txtLead {
		height: 8em;
		margin-top: 1em;
		font-size: 1.6rem;
	}
	.categoryTop .contentsList.type1 li:first-child .contentCard .txtData .attendData,
	.categoryTop.subCategory .contentsList li:first-child .contentCard .txtData .attendData {
		display: flex;
		justify-content: space-between;
		padding: 0 10px;
	}
	.categoryTop .contentsList.type1 li:first-child .contentCard .attendData,
	.categoryTop.subCategory .contentsList li:first-child .contentCard .attendData {
		border-top: 1px solid #C3C3C3;
	}
	.categoryTop .contentsList.type1 li:first-child .contentCard .txtData .keywordList,
	.categoryTop.subCategory .contentsList li:first-child .contentCard .txtData .keywordList {
		margin-top: 1em;
	}
	
	
	.categoryTop .contentsList.landscape li:first-child .contentCard {
		grid-template-columns: 60% calc(40% - 15px);
	}
	.categoryTop .contentsList.landscape li:first-child .contentCard h2.txtTitle {
		height: 4.7em;
	}
	.categoryTop .contentsList.landscape li:first-child .contentCard .txtLead {
		height: 8em;
		margin-top: 1em;
	}
	
}
@media screen and (max-width: 640px) {
	.categoryTop .categoryBlock header p.description {
		font-size: 1.4rem;
	}
	.categoryTop.sideCate .categoryBlock h1 {
		padding: 0;
	}
	.categoryTop.sideCate .categoryBlock h1 span {
		display: inline-block;
		padding: .3em .5em;
	}
	.categoryTop.subCategory .categoryBlock .categoryTitle {
		padding-bottom: .5em;
		border-bottom: 4px solid #000;
	}
	.categoryTop.subCategory .categoryBlock .categoryTitle h1 {
		border-bottom: none;
		font-size: 1.4rem;
	}
	.categoryTop.subCategory .categoryBlock .categoryTitle h2 {
		font-size: 2rem;
	}
	
	.categoryTop .contentsList li {
	}
	.categoryTop .contentsList li .contentCard {
		border-left: 1px solid #000;
	}
	.categoryTop .contentsList li .contentCard:not(.landscape) {
		display: grid;
		grid-template-rows: repeat(4, auto);
		grid-template-columns: repeat(2, 47.5%);
		gap: 3vw;
	}
	.categoryTop .contentsList li .contentCard:not(.landscape) > a {
		grid-row: 2 / span 1;
		grid-column: 1 / span 1;
	}
	.categoryTop .contentsList li .contentCard:not(.landscape) .thisCategory {
		grid-row: 1 / span 1;
		grid-column: 1 / span 2;
		margin: 0;
	}
	.categoryTop .contentsList li .contentCard:not(.landscape) .txtData {
		display: contents;
	}
	.categoryTop .contentsList li .contentCard:not(.landscape) .txtData > a {
		grid-row: 2 / span 1;
		grid-column: 2 / span 1;
	}
	.categoryTop .contentsList li .contentCard:not(.landscape) .txtData .txtTitle {
		margin-top: 0;
		height: 4.7em;
		font-size: 1.4rem;
	}
	.categoryTop .contentsList li .contentCard:not(.landscape) .txtData .txtLead {
		display: none;
	}
	.categoryTop .contentsList li .contentCard:not(.landscape) .txtData .attendData {
		position: relative;
		grid-row: 3 / span 1;
		grid-column: 1 / span 2;
		margin-top: 0;
	}
	.categoryTop .contentsList li .contentCard .txtData .keywordList {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.categoryTop .contentsList li .contentCard .txtData .keywordList a {
		margin-right: 1em;
	}
	
	.categoryTop .contentsList li:first-child .contentCard {
		grid-template-rows: repeat(4, auto);
		grid-template-columns: 100%;
		gap: 3vw;
	}
	.categoryTop .contentsList li:first-child .contentCard > a {
		grid-row: 1 / span 1;
	}
	.categoryTop .contentsList li:first-child .contentCard .txtData {
	}
	.categoryTop .contentsList li:first-child .contentCard .txtData .thisCategory {
		grid-row: 2 / span 1;
		grid-column: 1 / span 1;
	}
	.categoryTop .contentsList li:first-child .contentCard .txtData .txtTitle {
		font-size: 1.8rem;
	}
	.categoryTop .contentsList li:first-child .contentCard .txtData .txtLead {
		display: block;
	}
	.categoryTop .contentsList li:first-child .contentCard .txtData > a {
		grid-row: 3 / span 1;
		grid-column: 1 / span 1;
	}
	.categoryTop .contentsList li:first-child .contentCard .txtData .attendData {
		grid-row: 4 / span 1;
		grid-column: 1 / span 1;
	}
	.categoryTop .contentsList li:first-child .contentCard {
	}
}




/* =====================================================
   # 記事ページ */

.articlePage {
	font-size: 1rem;
}
.articlePage header {
}

.articlePage #anchorTitles {
}
.articlePage .anchors li {
	display: flex;
	margin-bottom: 1.5em;
}
.articlePage .anchors li .icon {
	display: block;
	margin-right: .5em;
}
.articlePage .anchors li .anchor {
	display: block;
	flex: 1;
}



.articlePage .textBody {
	margin-top: 3em;
}
.articlePage .textBody p {
	margin: 1em 0;
}
.articlePage .textBody h3 {
	position: relative;
	margin-top: 2.5em;
	margin-bottom: 1.5em;
	padding: .7em 0 .7em 1em;
	border-left: 3px solid #EB0A1E;
	font-size: 1.25em;
	letter-spacing: 0;
}
.articlePage .textBody .txtColor01 {
	color: #eb320a;
}

.articlePage .textBody a.txtLink,
.articlePage .textBody a.modal.movie,
.articlePage .textBody a {
	text-decoration: underline;
}

.articlePage .topic {
	margin-top: 1em;
}
.articlePage .topic + hr {
	height: 4px;
	margin-top: 3em;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-style: solid;
	border-color: inherit;
}
.articlePage hr + .topic {
	margin-top: 3em;
}
.articlePage .topic header {
	text-align: center;
}
.articlePage .topic section.topic +  section.topic {
	margin-top: 3em;
}
.articlePage dl {
	margin-top: 2em;
}
.articlePage dl:not(:first-child) {
	margin-top: 2em;
}
.articlePage dl dt {
	display: flex;
	margin-bottom: .5em;
	font-size: .85em;
	font-weight: bold;
}
.articlePage dl dt .prefix {
	display: block;
	margin-right: 1em;
}
.articlePage dl dt .text {
	flex: 1;
}
.articlePage .topic dl dd {
	margin-left: 2em;
}

.articlePage dl + dl,
.articlePage dl + p,
.articlePage p + dl,
.articlePage dd + dt,
.articlePage dl + div {
	margin-top: 3em;
}
.articlePage dl dt {
	margin-left: 1em;
	font-size: .85em;
	font-weight: bold;
	line-height: 1.4;
}
.articlePage .topic p + p,
.articlePage .reminiscence p + p {
	margin-top: 1.5em;
}
.articlePage .topic p a {
	display: inline;
}
.articlePage .pic {
	margin: 2em auto;
	text-align: center;
}
.articlePage dl dd .pic {
	margin-left: -2em;
}
.articlePage .imgFloat {
	position: relative;
	width: 50%;
	margin-bottom: .5em;
}
.articlePage .imgFloat.floatLeft {
	float: left;
	margin-right: 1.5em;
}
.articlePage .imgFloat.floatRight {
	float: right;
	margin-left: 1em;
}
.articlePage .movieEmbeded {
	margin-top: 2em;
	margin-bottom: 2em;
	font-size: 1.6rem;
	text-align: center;
}
.articlePage .movieEmbeded figure {
	line-height: 1.5;
}
.articlePage .movieEmbeded figure,
.articlePage .pic figure {
	display: inline-block;
}
.articlePage .movieEmbeded figure figcaption,
.articlePage .pic figcaption {
	margin-top: .2em;
	font-size: .7em;
	text-align: left;
/*	line-height: 1.3; */ 臨時対応
	line-height: 1.5;
	max-width: 640px;
	display: block !important;
	padding-top: 5px;
}
.articlePage .pic figure {
	display: inline-table;
	margin: 0 auto;
	max-width: 100%;
}
/* ie11 */
@media all and (-ms-high-contrast: none) {
	.articlePage .pic figure img {
		width: 100%;
	}
}
.articlePage .pic figure figcaption {
	display: table-footer-group;
}
.articlePage figcaption .name {
	font-weight: bold;
}
.articlePage .reminiscence {
	display: block;
}
.articlePage .reminiscence .txtBody {
	display: block;
	border-top: 1px solid #C3C3C3;
	border-left: 1px solid #C3C3C3;
}
.articlePage .reminiscence header + .txtBody {
	margin-top: 0;
}
.articlePage .reminiscence .ann {
	margin-top: 0;
	font-size: .75rem;
}
.articlePage .ann {
	margin-top: 3em;
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.5;
}
.articlePage sup {
	vertical-align: super;
	font-size: .6em;
}
.articlePage .annotation {
	display: flex;
	justify-content: flex-start;
	align-items: top;
	margin-top: .2em !important;
	font-size: .9rem;
}
.articlePage .annotation > span.annNum {
	display: block;
	padding-right: .5em;
	white-space: nowrap;
}
.articlePage .annotation > span.annText {
	display: block;
	flex: 1;
}
.articlePage ul.txtIndent > li {
	margin-top: .8em;
	padding-left: 1em;
	text-indent: -1em;
}
.articlePage ul.disc li {
	margin-left: 1em;
	text-indent: 0;
	list-style-type: disc;
}
.articlePage .relationLinks {
	background-color: #F3F3F3;
}
.articlePage .relationLinks a {
	text-decoration: underline;
	line-height: 1.6;
}



.articlePage footer .editor {
	width: 90%;
	margin: 4em auto 0;
	padding: 1.5em;
	background-color: rgba(0, 0, 0, 0.1);
	font-size: 1.2rem;
}
.articlePage .editor .name {
	font-size: 1.2em;
	font-weight: bold;
}
.articlePage .editor .name + p {
	margin-top: .5em;
}

.articlePage .newsPicks.editor {
	font-size: 1rem;
	text-align: center;
	background-color: transparent;
}
.articlePage .newsPicks.editor .wrap {
	display: inline-block;
	padding: 1.5em;
	background-color: rgba(0, 0, 0, 0.1);
}
.articlePage .newsPicks.editor figure {
	display: flex;
	justify-content: start;
	align-items: center;
}
.articlePage .newsPicks.editor figcaption {
	margin-left: 2em;
	text-align: left;
	line-height: 1.5;
}
.articlePage .newsPicks.editor figcaption .title {
	color: #eb0a1e;
}
.articlePage .newsPicks.editor figcaption .name {
	font-weight: bold;
}

.txtJustify {
	display: flex;
	justify-content: space-between;
}
.txtJustify span {
	display: block;
}


.articlePage #pageNavi {
}
.articlePage #pageNavi #articleNavi {
}
.articlePage #pageNavi #articleNavi nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 500;
}
.articlePage #pageNavi #articleNavi a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
	line-height: 1;
}
.articlePage #pageNavi #articleNavi a.prevArticle::before {
	content: "";
	display: block;
	width: .6em;
	height: .6em;
	margin-top: .1em;
	margin-right: 1em;
	border-top: 1px solid  #000;
	border-left: 1px solid  #000;
	transform: rotate(-45deg);
	vertical-align: middle;
}
.articlePage #pageNavi #articleNavi a.nextArticle::after {
	content: "";
	display: block;
	width: .6em;
	height: .6em;
	margin-top: .1em;
	margin-left: 1em;
	border-top: 1px solid  #000;
	border-right: 1px solid  #000;
	transform: rotate(45deg);
}
.articlePage #pageNavi .hidden {
	visibility: hidden;
}

.articlePage #recommend {
}


.articlePage .articleBody .topic#pagingNavi {
	padding-top: 0;
	border: none;
}
.articlePage #pagingNavi #titleLink nav {
	display: flex;
	align-items: center;
}
.articlePage #pagingNavi #titleLink nav > *.prevPage {
	text-align: right;
}
.articlePage #pagingNavi #titleLink .title {
	font-size: .9em;
	color: #EB0A1E;
	font-weight: bold;
}
.articlePage #pagingNavi #titleLink a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 6em;
	margin-top: .5em;
	padding: .5em 1.5em;
	border: 1px solid #707070;
	font-size: 1.25rem;
}
.articlePage #pagingNavi #titleLink .prevPage a::before {
	content: "";
	display: block;
	width: .8em;
	height: .8em;
	margin-right: 1em;
	border-top: 2px solid  #EB0A1E;
	border-left: 2px solid  #EB0A1E;
	line-height: .8;
	transform: rotate(-45deg);
}
.articlePage #pagingNavi #titleLink .nextPage a::after {
	content: "";
	display: block;
	width: .8em;
	height: .8em;
	margin-left: 1em;
	border-top: 2px solid  #EB0A1E;
	border-right: 2px solid  #EB0A1E;
	line-height: .8;
	transform: rotate(45deg);
}
.articlePage #pagingNavi #titleLink a .text {
	flex: 1;
	line-height: 1.3;
	display: block;
	max-height: 4em;
	font-weight: bold;
	text-align: left;
	overflow: hidden;
}
.articlePage #pagingNavi #pagingLink {
	margin-top: 40px;
}
.articlePage #pagingNavi #pagingLink nav {
	display: flex;
	justify-content: center;
	align-items: center;
}
.articlePage #pagingNavi #pagingLink nav > * {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
	margin: 0 1em;
	line-height: 1;
}
.articlePage #pagingNavi #pagingLink a {
	border: 1px solid #979797;
	font-weight: bold;
}
.articlePage #pagingNavi #pagingLink a:hover {
	background-color: #979797;
	color: #fff !important;
}
.articlePage #pagingNavi #pagingLink span.this {
	background-color: #58595B;
	color: #fff;
}
.articlePage #pagingNavi .hidden {
	visibility: hidden;
}



@media screen and (max-width:640px) {
	#contentFooter > .wrapper {
		width: 100%;
		padding: 0 6%;
	}
}

/* =====================================================
   # 特集 */

#feature .articlePage .textBody + footer {
	margin-top: 6em;
}
.articlePage section.txtIndent p {
	text-indent: 1em;
}




/* =====================================================
   # モリゾウのつぶやき */


.aphorism {
	font-feature-settings: "none";
	text-align: center;
}
.aphorism ul {
	display: inline-block;
	margin: 4em 0;
	text-align: left;
}
.aphorism ul li {
	margin: 1em 0;
}
.aphorism .pic {
	margin-right: 1em;
}




@media screen and (min-width:1281px) {
.articlePage .movieEmbeded iframe {
		width: calc(min(100vw, 1150px) * .68 - 20px - min(132px, 5vw));
		height: calc((min(100vw, 1150px) * .68 - 20px - min(132px, 5vw)) / 16 * 9);
}
}
@media screen and (min-width:641px) {
	.articlePage .wrapper {
		max-width: 1150px;
		margin: 0 auto;
	}
	.articlePage .articleHeader {
		display: flex;
		justify-content: space-between;
		margin-top: 60px;
	}
	.articlePage .leftBlock {
		width: 30%;
	}
	.articlePage .leftBlock .category {
		margin-bottom: 15px;
		border-bottom: 4px solid #000;
		font-size: 2.4rem;
		font-weight: 700;
	}
	.articlePage .leftBlock .category span {
		display: inline-block;
		padding: 0 .5em .5em;
	}
	.articlePage .leftBlock .keywordList {
		margin: 0 20px;
		font-size: 1.4rem;
		line-height: 2;
	}
	.articlePage .rightBlock {
		width: 68%;
		padding: 0 20px;
	}
	.articlePage .rightBlock .thisCategory {
		font-size: 1.6rem;
	}
	.articlePage .rightBlock h1 {
		margin-top: 20px;
		font-size: 4rem;
		line-height: 1.25;
	}
	
	.articlePage .articleBody {
		margin-top: 40px;
	}
	.articlePage .articleBody .date {
		padding: 10px;
		font-size: 1.5rem;
	}
	.articlePage .articleBody .contentBody {
		display: flex;
		justify-content: space-between;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
	}
	.articlePage .articleBody .contentBody .leftBlock {
		padding: 20px;
	}
	.articlePage .articleBody .contentBody #anchorTitles {
		font-weight: 700;
	}
	.articlePage .articleBody .contentBody #anchorTitles .anchorsBody {
		position: sticky;
		top: 0;
	}
	.articlePage .articleBody .contentBody #anchorTitles header {
		font-size: 2.2rem;
	}
	.articlePage .articleBody .contentBody #anchorTitles .leadText {
		margin-top: 1em;
		font-size: 1.6rem;
		font-weight: normal;
	}
	.articlePage .articleBody .contentBody #anchorTitles .anchors {
		margin: 40px 20px;
		font-size: 1.6rem;
	}
	.articlePage .articleBody .contentBody .rightBlock {
		padding: 20px 0;
		border-left: 1px solid #000;
	}
	
	.articlePage .articleBody .mainImage {
		padding: 0 20px;
	}
	.articlePage .articleBody .mainImage img {
		width: 100%;
	}
	.articlePage .articleBody .topic {
		margin-top: 60px;
		padding-right: min(132px, 5vw);
		padding-left: 20px;
		font-size: 1.6rem;
		line-height: 1.8;
	}
	.articlePage .articleBody .topic.newTopic {
		padding-top: 60px;
		border-top: 1px solid #000;
	}
	.articlePage .articleBody .mainImage + .topic {
		margin-top: 20px;
		padding-top: 20px;
		border-top: none;
	}
	.articlePage .articleBody .topic h3 {
		margin-left: -20px;
		margin-bottom: 40px;
		padding-left: 20px;
		padding-bottom: 10px;
		border-bottom: 4px solid #000;
		font-size: 2.4rem;
	}
	.articlePage .articleBody .topic > p,
	.articlePage .articleBody .topic .txt {
		margin-right: 80px;
	}
	.articlePage .pic {
		padding-right: min(132px, 5vw);
		padding-left: 20px;
		font-size: 1.6rem;
	}
	.articlePage .reminiscence {
		margin: 4em 0 0 4em;
		padding-right: min(132px, 5vw);
		padding-left: 20px;
		font-size: 1.6rem;
		line-height: 1.8;
	}
	.articlePage .topic .pic,
	.articlePage .reminiscence .pic {
		padding: 0;
	}
	.articlePage .reminiscence .txtBody {
		padding: 2em;
	}
	.articlePage .articleBody footer {
		padding: 0 132px 100px 20px;
	}
	.articlePage .articleBody footer .txt {
		margin-top: 3em;
		font-size: 1.6rem;
	}
	.articlePage .articleBody footer .relationLinks {
		margin-top: 60px;
		padding: 30px 40px;
		font-size: 1.6rem;
	}
	.articlePage .relationLinks {
		margin: 2em 0;
	}
	.articlePage .articleBody footer .relationLinks li {
		margin: 1em 0;
	}
	.articlePage .articleBody footer .relationLinks a {
	}
	.articlePage .articleFooter {
		display: flex;
		justify-content: flex-end;
	}
	.articlePage .articleFooter {
		border-bottom: 1px solid #000;
	}
	.articlePage .articleFooter #articleNavi {
		width:  68%;
		padding: 20px 132px 20px 20px;
		border-left: 1px solid #000;
	}
	.articlePage .articleFooter #articleNavi nav {
		padding: 40px;
		font-size: 1.6rem;
	}
	.articlePage .articleBody .topic#pagingNavi {
		margin-bottom: 20px;
		padding-right: 132px;
	}
	.articlePage .articleBody footer + .topic#pagingNavi {
		margin-top: 0;
	}
	.articlePage #pagingNavi #titleLink nav {
		justify-content: space-between;
	}
	.articlePage #pagingNavi #titleLink nav > * {
		width: 47%;
	}
	
	.column .articlePage figure.right {
		float: right;
		margin: 0 0 0 2em;
		width: 50%;
	}
	.articlePage .pic figure.sideBySide img {
		max-width: 46%;
		max-height: 400px;
		vertical-align: middle;
	}
	.articlePage .pic figure.sideBySide img + img {
		margin-left: 20px;
	}
	
	.articlePage .flexLand {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: row-reverse;
	}
	.articlePage .flexLand .pic {
		width: 37%;
		margin: 0;
	}
}
@media screen and (max-width:1280px) {
	.articlePage .movieEmbeded iframe {
		width: calc(min(100vw, 1150px) * .68 - 20px - min(132px, 5vw));
		height: calc((min(100vw, 1150px) * .68 - 20px - min(132px, 5vw)) / 16 * 9);
	}
	
	.aphorism ul {
		margin: 2em 0;
	}
	.aphorism ul li {
		padding-left: 2em;
		text-indent: -2em;
	}
	.aphorism ul li br.sp {
		display: block !important;
	}
}


@media screen and (max-width:640px) {
	.topContent {
		margin-bottom: 5%;
	}
	.topContent .wrapper {
		display: block;
		padding: 0;
	}
	.topContent .articlePage {
		width: 100%;
	}
	.topContent header {
		display: none;
	}
	
	.articlePage {
		font-size: 1.4rem;
	}
	.articlePage header h2 {
		line-height: 1.4;
	}
	.articlePage header .data span.category {
		padding: .4em .8em;
		font-size: 14px;
	}
	.articlePage header .data span.update {
		margin-left: 1em;
		font-size: 12px;
	}
	
	.articlePage {
		margin: 5vw;
	}
	.articlePage .articleHeader {
		display: grid;
		grid-template-rows: repeat(3, auto);
		grid-template-columns: 100%;
		margin-bottom: 10vw;
	}
	.articlePage .articleHeader .leftBlock {
		display: contents;
	}
	.articlePage .articleHeader .leftBlock .category {
		position: relative;
		grid-row: 1 / span 1;
		border-bottom: 4px solid #000;
		font-size: 2rem;
		font-weight: 700;
	}
	.articlePage .articleHeader .leftBlock .category span {
		display: inline-block;
		padding-bottom: .3em;
	}
	.articlePage .articleHeader .leftBlock .category .date {
		position: absolute;
		top: 0;
		right: 0;
		font-size: 1.2rem;
		font-weight: 400;
		line-height: 3.5rem;
	}
	.articlePage .articleHeader .leftBlock .keywordList {
		grid-row: 3 / span 1;
		padding: 3vw 5vw 0;
		border-top: 1px solid #C3C3C3;
		font-size: 1.2rem;
		line-height: 2;
	}
	.articlePage .articleHeader .rightBlock {
		grid-row: 2 / span 1;
		padding: 5vw 0 3vw 0;
	}
	.articlePage .articleHeader .rightBlock .thisCategory {
		font-size: 1.2rem;
	}
	.articlePage .rightBlock h1 {
		margin-top: .3em;
		font-size: 2rem;
	}
	.articlePage .mainImage + .leadText {
		margin-top: 5vw;
		font-weight: bold;
	}
	
	.articlePage #anchorTitles  {
		margin-top: 5vw;
		padding: 5vw;
		border-top: 1px solid #C3C3C3;
		border-left: 1px solid #C3C3C3;
		font-weight: 700;
	}
	.articlePage #anchorTitles header {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 2rem;
	}
	.articlePage #anchorTitles header .toggleBtn {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		font-size: .8em;
		font-weight: normal;
	}
	.articlePage #anchorTitles header .toggleBtn .text {
		position: relative;
		display: block;
		line-height: 1;
	}
	.articlePage #anchorTitles header .toggleBtn .text > * {
		display: inline-block;
		line-height: 1;
		transition: transform .5s ease;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}
	.articlePage #anchorTitles header .toggleBtn .text .open {
		transform: rotateX(0);
	}
	.articlePage #anchorTitles header .toggleBtn .text .close {
		position: absolute;
		right: 0;
		transform: rotateX(-180deg);
	}
	.articlePage #anchorTitles header .toggleBtn.open .text .open {
		transform: rotateX(180deg);
	}
	.articlePage #anchorTitles header .toggleBtn.open .text .close {
		transform: rotateX(0);
	}
	.articlePage #anchorTitles header .toggleBtn .icon {
		margin-left: .5em;
		transform: scale(1, 1);
		transition: transform .5s ease;
	}
	.articlePage #anchorTitles header .toggleBtn .icon::before {
		content: "";
		display: inline-block;
		width: .6em;
		height: 1px;
		background-color: #000;
		transform-origin: right center;
		transform: translate3d(0, calc(.6em * .7 / 2), 0) rotate(45deg);
	}
	.articlePage #anchorTitles header .toggleBtn .icon::after {
		content: "";
		display: inline-block;
		width: .6em;
		height: 1px;
		margin-left: 0;
		background-color: #000;
		transform-origin: left center;
		transform: translate3d(0, calc(.6em * .7 / 2), 0) rotate(-45deg);
	}
	.articlePage #anchorTitles header .toggleBtn.open .icon {
		transform: scale(1, -1);
	}

	.articlePage #anchorTitles .anchors {
		display: none;
		font-size: 1.6rem;
	}
	.articlePage #anchorTitles .anchors::before {
		content: "";
		display: block;
		height: 5vw;
	}
	
	#modalAnchorTitles {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		max-height: 0;
		transition: max-height .3s ease;
		z-index: 9999;
	}
	#modalAnchorTitles.view {
		max-height: 100vh;
	}
	#modalAnchorTitles.open {
		overscroll-behavior: none;
	}
	#modalAnchorTitles .modalIndexWrap {
		display: flex;
		align-items: center;
		min-height: 0;
		height: 100%;
		padding: 5vw;
		background-color: rgba(0, 0, 0, .5);
		transition: min-height .3s ease;
	}
	#modalAnchorTitles .anchorsBody {
		position: relative;
		width: 100%;
		padding: 5vw;
		background-color: #fff;
	}
	#modalAnchorTitles .anchorsBody header {
		font-size: 1.2em;
		line-height: 1;
	}
	#modalAnchorTitles .anchorsBody header::before {
		content: "INDEX";
		display: block;
		visibility: hidden;
	}
	#modalAnchorTitles .anchorsBody header p {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		padding: 5vw;
		text-align: center;
		font-weight: bold;
		line-height: 1;
	}
	#modalAnchorTitles .anchorsBody header .icon {
		position: absolute;
		top: calc(.5em + 5vw);
		right: 5vw;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 10vw;
		height: 10vw;
		background-color: #000;
		transform: translate3d(0, -50%, 0);
	}
	#modalAnchorTitles .anchorsBody header .icon::before {
		content: "";
		display: block;
		width: 1em;
		height: 1px;
		position: absolute;
		top: 50%;
		right: 50%;
		background-color: #FFF;
		transform: translate3d(15%, 0, 0) rotate(-45deg);
	}
	#modalAnchorTitles .anchorsBody header .icon::after {
		content: "";
		display: block;
		width: 1em;
		height: 1px;
		position: absolute;
		top: 50%;
		left: 50%;
		background-color: #FFF;
		transform: translate3d(-15%, 0, 0) rotate(45deg);
	}
	#modalAnchorTitles.open .anchorsBody header .icon::before {
		width: 8vw;
		transform: translate3d(50%, 0, 0) rotate(-45deg);
	}
	#modalAnchorTitles.open .anchorsBody header .icon::after {
		width: 8vw;
		transform: translate3d(-50%, 0, 0) rotate(45deg);
	}
	#modalAnchorTitles .anchorsBody .anchorsBlockWrap {
		display: none;
		overflow: hidden;
	}
	#modalAnchorTitles .anchorsBody .anchorsBlock {
		position: relative;
	}
	#modalAnchorTitles .anchorsBody .anchorsBlock::before {
		content: "";
		display: block;
		height: 5vw;
		margin-bottom: 5vw;
		border-bottom: 1px solid #000;
		flex-grow: 0;
		flex-basis: auto;
	}
	#modalAnchorTitles .anchorsBody .anchorsBlock::after {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		height: 2em;
		background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
	}
	#modalAnchorTitles.open .modalIndexWrap .anchors {
		overflow: scroll;
	}
	body.menuOpen {
		overflow: hidden;
	}
	body.modalOpen {
		overflow: hidden;
	}
	
	.articlePage .articleBody {
		padding-top: 5vw;
		border-top: 1px solid #C3C3C3;
	}
	.articlePage .textBody {
	}
	.articlePage .articleBody .topic h3 {
		margin-top: 10vw;
		margin-left: -5vw;
		margin-bottom: 5vw;
		padding-left: 5vw;
		padding-bottom: 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;
		border-top: 1px solid #C3C3C3;
		line-height: 1.75;
	}
	.articlePage .articleBody .topic.newTopic {
		border-top: 1px solid #C3C3C3;
	}
	.articlePage .reminiscence {
		margin: 8vw 0 0 5vw;
	}
	.articlePage .pic,
	.articlePage .topic .reminiscence {
		margin-left: 0;
	}
	.articlePage .reminiscence .txtBody {
		padding: 10vw 5vw 5vw;
	}
	.articlePage .textBody h3 {
		font-size: 16px;
	}
	.articlePage dl dd {
		margin-left: 1em;
	}
	
	.articlePage .pic figure.sideBySide img + img {
		margin-top: 5%;
	}
	.articlePage .movieEmbeded figure figcaption,
	.articlePage .pic figcaption {
		margin-top: 0;
		padding-top: 0;
	}
	.articlePage .pic + p {
		margin-top: 1em;
	}
	.articlePage .textBody p {
		line-height: 1.65;
	}
	
	.articlePage .articleBody footer .txt:not(:first-child) {
		margin-top: 3em;
	}
	.articlePage .articleBody footer .txt:last-child {
		margin-bottom: 3em;
	}
	.articlePage .relationLinks {
		margin-top: 4em;
		padding: 2vw 5vw;
		font-size: 1em;
		line-height: 3.5;
	}
	.articlePage .relationLinks a {
		display: inline-block;
	}
	
	
	.articlePage dl.notIndent dd {
		margin-left: 0;
	}
	.articlePage ul.txtIndent > li {
		padding-left: 0;
		text-indent: 0;
	}
	.articlePage ul.disc li {
		margin-left: 0;
		text-indent: 0;
		list-style-type: none;
	}
	.articlePage ul.disc li::before {
		content: "・";
	}
	
	.articlePage .contentBody footer {
		padding: 5vw;
	}
	.articlePage footer .editor {
		width: 100% !important;
	}
	.articlePage .newsPicks footer .editor {
		padding: 0;
	}
	.articlePage .newsPicks footer .editor .wrap {
		padding: 5%;
	}
	.articlePage footer .editor img {
		width: 35%;
	}
	.articlePage .newsPicks footer .editor figcaption {
		margin-left: 5%;
	}
	.articlePage .articleFooter {
		border-top: 1px solid #C3C3C3;
		border-bottom: 1px solid #C3C3C3;
		font-size: 1.2rem;
	}
	.articlePage .articleFooter #articleNavi {
		padding: 2em 5vw;
	}
	
	.articlePage .movieEmbeded figure {
		width: 100%;
	}
	.articlePage .movieEmbeded iframe {
		width: 100%;
		height: calc((100vw - 20vw) / 16 * 9);
	}
	.articlePage .movieEmbeded figure figcaption {
		padding-left: .5em;
	}
	
	.articlePage .articleBody .topic#pagingNavi {
		margin-top: 0;
	}
	.articlePage #pagingNavi #titleLink nav {
		flex-direction: column-reverse;
	}
	.articlePage #pagingNavi #titleLink a {
		font-size: 14px;
	}
	.articlePage #pagingNavi #titleLink nav > div {
		margin-top: 2em;
		width: 100%;
	}
	.articlePage #pagingNavi #titleLink .title {
		display: block;
		text-align: center;
	}
	.articlePage #pagingNavi .hidden {
		display: none;
	}
	.articlePage #pagingNavi #pagingLink nav > * {
		margin: 0 10px;
		font-size: 1.12em;
	}
	.articlePage #pagingNavi #articleNavi {
		width: calc(100% + 40px);
		margin-left: -20px;
		padding: 2em 20px;
	}
	
	.articlePage #pageNavi {
	}
	.articlePage #pageNavi #articleNavi a.prevArticle::before {
		margin-right: .5em;
	}
	.articlePage #pageNavi #articleNavi a.nextArticle::after {
		margin-left: .5em;
	}
	
}


/* =====================================================
	 # 画像ページ */

.topic {
}
.topic .onlyImg {
}
.topic .onlyImg img {
	width: 100%;
}
@media screen and (min-width:641px) {
	.topic.onlyImage {
		padding: 0 !important;
	}
}
@media screen and (max-width:640px) {
	.topic.onlyImage {
		padding: 0 !important;
		border: none !important;
	}
}






/* =====================================================
   # recommend */

#recommend.categoryBlock {
	background-color: #fff;
}
#recommend.categoryBlock header.title {
	border-bottom: 1px solid #000;
}
#recommend.categoryBlock header h2 {
	border-bottom: 4px solid #000;
}
#recommend.categoryBlock .cardList .contentCard {
	display: grid;
	grid-template-rows: 2.5rem auto auto;
	grid-template-columns: 50% calc(50% - 8.5em - 10px) 8.5em;
	gap: 5px;
}
#recommend.categoryBlock .cardList .contentCard > a {
	grid-row: 2 / span 2;
	grid-column: 1 / span 1;
	padding-right: 5px;
}
#recommend.categoryBlock .cardList .contentCard > .txtData {
	display: contents;
}
#recommend.categoryBlock .cardList .contentCard > .txtData .thisCategory {
	grid-row: 1 / span 1;
	grid-column: 1 / span 2;
}
#recommend.categoryBlock .cardList .contentCard > .txtData .thisCategory a {
	margin-top: 0;
}
#recommend.categoryBlock .cardList .contentCard > .txtData > a {
	grid-row: 2 / span 1;
	grid-column: 2 / span 2;
}
#recommend.categoryBlock .cardList .contentCard > .txtData > a .txtTitle {
	font-size: 1.4rem;
	height: 4.7em;
}
#recommend.categoryBlock .cardList .contentCard > .txtData > a .txtLead {
	display: none;
}
#recommend.categoryBlock .cardList .contentCard > .txtData .attendData {
	display: contents;
}
#recommend.categoryBlock .cardList .contentCard > .txtData .attendData .keywordList {
	grid-row: 3 / span 1;
	grid-column: 2 / span 2;
	align-self: self-end;
	height: 1.8em;
	margin-top: 0;
	overflow: hidden;
	font-size: 1rem;
}
#recommend.categoryBlock .cardList .contentCard > .txtData .attendData .keywordList a {
	margin-top: 0;
}
#recommend.categoryBlock .cardList .contentCard > .txtData .attendData .txtDate {
	grid-row: 1 / span 1;
	grid-column: 3 / span 1;
	margin-top: 0;
}

@media screen and (max-width:1280px) {
	#recommend.categoryBlock {
		margin: 40px 0 0;
	}
}
@media screen and (min-width:641px) {
	#recommend.categoryBlock .wrapper {
		margin-top: -20px;
	}
	#recommend.categoryBlock header h2 {
		display: inline-block;
		width: 230px;
		padding: 10px;
		font-size: 2.4rem;
	}
	#recommend.categoryBlock .cardList {
		display: flex;
		border-bottom: 1px solid #000;
	}
	#recommend.categoryBlock .cardList li {
		width: 33.33%;
	}
	#recommend.categoryBlock .cardList .contentsList {
		margin-top: 0;
	}
	#recommend.categoryBlock .cardList .contentCard {
	}
}
@media screen and (max-width:640px) {
	#recommend.categoryBlock header h2 {
		padding: .3em 0;
		font-size: 2rem;
	}
	#recommend.categoryBlock .cardList .contentsList {
		margin-bottom: 10vw;
		border-bottom: .5px solid #4A4A4A;
	}
	#recommend.categoryBlock .cardList .contentCard .txtData .thisCategory {
		margin-top: 0;
		font-size: 1rem;
	}
	#recommend.categoryBlock .cardList .contentCard > .txtData > a .txtTitle {
		margin-top: 0;
		font-size: 1.3rem;
	}
}



/* =====================================================
   # 検索結果 */

#result .searchBox {
	display: block;
	margin: 1em 0 2em;
	text-align: center;
}
#result .searchBox input[type=search] {
	width: 100%;
	margin-right: 0;
	padding: 1em 1em 1em 2.5em;
	font-size: 20px;
	background: #FFF url(../image/icon_search.svg) no-repeat 10px center / auto 50%;
}
#result .keyWords .keywordList a.on {
	background-color: #000;
	color: #FFF !important;
}
#result .keyWords .keywordList a.on:hover {
	background-color: transparent;
	color: #000 !important;
}

/* Edge, IE */
@media all and (-ms-high-contrast: none) {
	#result .searchBox input {
		background-size: 20px 20px;
		background-position: 20px center;
	}
}


/* 検索オプション */
#result .searchOption {
	position: relative;
	z-index: 5;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-top: 2em;
	font-size: 1.5rem;
}
#result .searchOption .searchPeriod {
	display: flex;
	align-items: stretch;
	gap: 0 1em;
}
#result .searchOption .searchPeriod header {
	display: flex;
	align-items: stretch;
	border: 1px solid #CCC;
	background-color: #FFF;
}
#result .searchOption .searchPeriod header .icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2em;
	padding: 2px .4em;
	vertical-align: middle;
	border-right: 1px solid #CCC;
	line-height: 1em;
}
#result .searchOption .searchPeriod header .icon svg {
	width: 100%;
	margin-bottom: 1px;
	fill: #999;
}
#result .searchOption .searchPeriod header .txt {
	padding: 2px 1em;
}
#result .searchOption .searchPeriod .calFormBlock {
	display: flex;
	align-items: stretch;
}
#result .searchOption .searchPeriod .calendarForm {
	display: flex;
	align-items: stretch;
	gap: 0 1em;
}
#result .searchOption .searchPeriod .calendarForm input {
	width: 6em;
	margin: 0;
	border: 1px solid #CCC;
	background-color: #FFF;
	font-size: 1em;
	text-align: center;
}

#result .searchOption .searchPeriod .btnDateFilter {
	display: flex;
	align-items: stretch;
}
#result .searchOption .searchPeriod .btnDateFilter .typeButton {
	border: 1px solid #666;
	background-color: #666;
	line-height: 1;
	color: #FFF;
	cursor: pointer;
}
#result .searchOption .searchPeriod .btnDateFilter .typeButton:hover {
	background-color: #FFF;
	color: #666;
}

#result .searchOption .searchSort {
	display: flex;
	align-items: stretch;
	border: 1px solid #CCC;
}
#result .searchOption .searchSort > div {
	display: none;
}
#result .searchOption .searchSort a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 8em;
	padding: 3px 1.5em 3px .7em;
	background-color: #FFF;
}
#result .searchOption .searchSort a .searchSortIcon {
	position: relative;
	display: inline-block;
	width: 0px;
	height: 0px;
	margin-left: 1.5em;
}
#result .searchOption .searchSort a .searchSortIcon::before,
#result .searchOption .searchSort a .searchSortIcon::after {
	content: "";
	position: absolute;
	top: 0;
	display: block;
	width: .8em;
	height: 2px;
	background-color: #000;
}
#result .searchOption .searchSort a:hover .searchSortIcon::before,
#result .searchOption .searchSort a:hover  .searchSortIcon::after {
	background-color: #eb0a1e;
}
#result .searchOption .searchSort .newestFirst .searchSortIcon::before {
	right: 0;
	transform-origin: right center;
	transform: translate3d(0, .2em, 0) rotate(40deg);
}
#result .searchOption .searchSort .newestFirst .searchSortIcon::after {
	left: 0;
	transform-origin: left center;
	transform: translate3d(0, .2em, 0) rotate(-40deg);
}
#result .searchOption .searchSort .oldestFirst .searchSortIcon::before {
	right: 0;
	transform-origin: right center;
	transform: translate3d(0, -.3em, 0) rotate(-40deg);
}
#result .searchOption .searchSort .oldestFirst .searchSortIcon::after {
	left: 0;
	transform-origin: left center;
	transform: translate3d(0, -.3em, 0) rotate(40deg);
}



#result #fs-result .contentsList {
	margin-top: 2em;
	border-top: 1px solid #000;
}
#result #fs-result .notFound {
	padding: 3em 1em;
	font-size: 20px;
	text-align: center;
}


#result .fs-result-msg {
	margin: 2em 0;
	padding: 1em 0;
	border-top: 1px solid #979797;
	border-bottom: 1px solid #979797;
}
#result .fs-result-msg p {
	font-size: 16px;
	text-align: left;
	line-height: 1.3;
}
#result .fs-result-msg p .words {
	margin-right: .4em;
	font-size: 20px;
	font-weight: bold;
}
#result .fs-result-msg p .nowrap {
	display: inline-block;
	margin-top: 4px;
	white-space: nowrap;
}
#result .fs-result-msg p.pages {
	margin-top: 4px;
	font-size: 14px;
}

/*
#result .fs-paginate {
	max-width: 800px;
	margin: 4em auto 0;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
#result .fs-paginate ul {
	position: relative;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 0 4em;
}
#result .fs-paginate ul li {
	display: table;
	margin: 0 1em;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1;
}
#result .fs-paginate ul li a {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	padding: .7em .5em;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
}
#result .fs-paginate ul li.fs-prev {
	position: absolute;
	left: 0;
	margin: 0;
}
#result .fs-paginate ul li.fs-current a {
	border-bottom-color: #eb0a1e;
	color: #eb0a1e;
}
#result .fs-paginate ul li.fs-next {
	position: absolute;
	right: 0;
	margin: 0;
}

#result .fs-paginate ul li.fs-prev a,
#result .fs-paginate ul li.fs-next a {
	position: relative;
	padding: .7em 0;
}
#result .fs-paginate ul li a.arrowLink .icon {
	display: block;
	margin-left: 0;
	margin-top: .2em;
}
#result .fs-paginate ul li a.arrowLink .icon {
	width: 25px;
}
#result .fs-paginate ul li.fs-prev a.arrowLink .icon {
	margin-right: .5em;
}
#result .fs-paginate ul li.fs-prev a.arrowLink .icon::after {
	right: unset;
	left: 0;
	transform-origin: left center;
	transform: rotate(-45deg);
}
#result .fs-paginate ul li.fs-next a.arrowLink .icon {
	margin-left: .5em;
}
*/

.searchBox .cateList {
	margin-top: 2em;
}
.searchBox .cateList ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.searchBox .cateList ul li {
	display: block;
	margin: .3em;
}
.searchBox .cateList ul li a {
	display: block;
	padding: .5em 1.3em;
	border: 1px solid #58595b;
	border-radius: 2em;
	font-size: 1.05em;
	font-weight: bold;
	line-height: 1;
	color: #000;
}
.searchBox .cateList ul li.current a {
	background-color: #58595b;
	color: #fff;
}
.searchBox .cateList ul li a:hover {
	background-color: #58595b;
	color: #fff !important;
	text-decoration: none;
}

.fs-paginate {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
.fs-paginate ul {
	display: flex;
	justify-content: flex-end;
	padding: 20px;
	font-size: 1.5rem;
}
.fs-paginate ul li {
	display: block;
	margin: 0 .3em;
	padding: 0 .2em;
}
.fs-paginate ul li.fs-current {
	font-weight: bold;
	pointer-events: none;
}

#result .paging {
	margin-top: -1px;
	border-top: 1px solid #000;
}
#result .paging .pagingWrap {
	border-bottom: 1px solid #000;
}
#result .paging .pagingWrap nav {
	display: flex;
	justify-content: flex-end;
	padding: 20px;
	font-size: 1.5rem;
}
#result .paging .pagingWrap nav > * {
	display: block;
	margin: 0 .3em;
	padding: 0 .2em;
}
#result .paging .pagingWrap nav > *.this {
	font-weight: bold;
}
#result .paging .pagingWrap nav > a.this {
	pointer-events: none;
}


@media screen and (max-width: 1280px) and (min-width: 641px) {
	#result .searchOption {
		font-size: min(1.5rem, 2vw);
	}
	#result > .wrapper {
		padding: 0 40px;
	}
}
@media screen and (max-width:1280px) {
	#result .searchOption .searchPeriod header {
		cursor: pointer;
	}
	#result .searchOption .searchPeriod header:hover {
		background-color: #000;
		color: #FFF;
	}
	#result .searchOption .searchPeriod header:hover svg {
		fill: #FFF;
	}
	#result .searchOption .searchPeriod .calFormBlock {
		display: none;
	}
	#result .searchOption .searchPeriod .calendarForm {
		gap: 0 .25em;
	}
}
@media screen and (max-width:640px) {
	#result .searchBox {
		margin-bottom: 20px;
	}
	#result .keyWords {
		margin: 0 0 5%;
	}
	#result .searchOption {
		font-size: 1.4rem;
	}
	#result .searchOption .searchPeriod {
	}
	#result .searchOption .searchPeriod .calendarForm input {
		-webkit-appearance: none;
		width: max(4em, min(20vw, 6em));
		padding: 3px 0;
		border: 1px solid #ccc;
		border-radius: 0;
		font-size: 16px;
	}
	#result .searchOption .searchPeriod .btnDateFilter {
		margin-left: .2em;
	}
	#result .searchOption .searchPeriod .btnDateFilter .typeButton {
		width: auto;
		padding: 3px .5em;
		font-size: 12px;
		line-height: 18px;
		letter-spacing: -.1em;
	}
	#result .searchOption .searchSort a {
		display: flex;
		align-items: center;
		width: 5em;
		height: 1.8em;
		padding: 2px .5em;
		line-height: 1;
	}
	#result .searchOption .searchSort a span.txt {
		font-size: .75em;
		letter-spacing: -.1em;
		white-space: nowrap;
	}
	#result .searchOption .searchSort a .searchSortIcon {
		transform: scale(0.8) translate3d(-.75em, 0, 0);
	}
	#result .searchOption .searchSort .newestFirst .searchSortIcon::before {
		transform: rotate(40deg) translate3d(.2em, .2em, 0);
	}
	#result .searchOption .searchSort .newestFirst .searchSortIcon::after {
		transform: rotate(-40deg) translate3d(-.2em, .2em, 0);
	}
	
	#result .fs-result-msg {
		margin: 20px 0;
		padding: 1em;
	}
	#result .fs-result-msg p.pages {
		text-align: right;
	}
	
	#result .contentsList li:nth-child(n + 4) {
		display: block;
	}
	#result .contentsList {
		border-top: .5px solid #4A4A4A;
	}
	#result .contentsList li .contentCard {
		display: grid;
		grid-template-rows: repeat(4, auto);
		grid-template-columns: repeat(2, 47.5%);
		gap: 3vw;
	}
	#result  .contentsList li .contentCard > a {
		grid-row: 2 / span 1;
		grid-column: 1 / span 1;
	}
	#result  .contentsList li .contentCard .thisCategory {
		grid-row: 1 / span 1;
		grid-column: 1 / span 2;
		margin: 0;
	}
	#result  .contentsList li .contentCard .txtData {
		display: contents;
	}
	#result  .contentsList li .contentCard .txtData > a {
		grid-row: 2 / span 1;
		grid-column: 2 / span 1;
	}
	#result  .contentsList li .contentCard .txtData .txtTitle {
		margin-top: 0;
		height: 4.7em;
	}
	#result  .contentsList li .contentCard .txtData .txtLead {
		display: none;
	}
	#result  .contentsList li .contentCard .attendData {
		position: relative;
		grid-row: 3 / span 1;
		grid-column: 1 / span 2;
		margin-top: 0;
	}
	#result  .contentsList li .contentCard .txtData .keywordList {
		flex-direction: row;
		flex-wrap: wrap;
	}
	#result  .contentsList li .contentCard .txtData .keywordList a {
		margin-right: 1em;
	}
	
	#result .fs-paginate ul li {
		margin: 0 .2em;
	}
	.searchBox .cateList ul li a {
		padding: .6em 1.2em;
	}
}

@media all and (-ms-high-contrast:none){
	#result .fs-paginate ul li a {
		padding: .7em .5em .3em;
	}
}

#result span.fs-loading {
		display: block;
		margin: 10vh 0;
	text-align: center;
}




/* 手動INDEX */
.textBody #anchorTitles {
	margin-bottom: 3em;
	font-family: "Helvetica Neue", Helvetica, Arial, myHiragino, "メイリオ", Meiryo, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, Verdana, sans-serif;
}
.textBody #anchorTitles h3 {
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	border-left: none;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 1.6px;
}


/* 相互バナー */
.mutualBanner {
	text-align: center;
}


/* # ダークモード */
@media (prefers-color-scheme: dark) {
	body {
    background-color: #0F0F0F;
    color: #FFF;
  }

	.categoryBlock {
    background-color: #1A1A1A;
	}
	.categoryTop .categoryBlock {
		background-color: #0F0F0F;
	}
	.categoryTop .contentsList {
		border-top: 1px solid #FFF;
	}
	.categoryTop .contentsList li .contentCard {
		border-right: 1px solid #FFF;
	}
	.categoryTop .contentsList li {
		border-top: none !important;
		border-bottom: 1px solid #FFF;
	}
	.categoryTop .categoryBlock .categoryTitle {
		border-bottom: 1px solid #FFF;
	}
	.categoryTop .paging {
		border-top: 1px solid #FFF;
	}
	.categoryTop .paging .pagingWrap {
		border-bottom: 1px solid #FFF;
	}
	.categoryTop.sideCate .categoryBlock h1 {
		border: 1px solid #FFF;
	}
	.categoryTop .contentsList.landscape li .contentCard {
    border-left: 1px solid #FFF !important;
	}

	.thisCategory .categorySecond span {
    border: 1px solid #FFF;
    background-color: #0F0F0F;
    color: #FFF;
	}
	.thisCategory .categorySecond:hover span {
		border-color: transparent;
		background-color: rgba(255, 255, 255, .6);
		color: #000;
	}
	.thisCategory .categoryThird span {
    border: 1px solid transparent;
    background-color: #FFF;
    color: #000;
	}
	.thisCategory .categoryThird:hover span {
		background-color: rgba(255, 255, 255, .2);
		color: #FFF;
	}

    #recommend.categoryBlock {
		background-color: #0F0F0F;
    }
    #recommend.categoryBlock header h2 {
        border-bottom: 4px solid #FFF;
    }

	/* キーワード検索 */
	#result .searchBox input[type=search] {
		filter: invert(100%) hue-rotate(180deg);
		border: 1px solid #000;
		border-radius: 5px;
		color: #000;
		background-color: #E5E5E5;
	}
	#result .searchBox input::placeholder {
		color: #434343;
	}
	.keyWords .keywordList a {
    border: 1px solid #FFF;
	}
	.keyWords .keywordList a:hover {
		background-color: #FFF;
		color: #000 !important;
	}
	#result .keyWords .keywordList a.on {
    background-color: #FFF;
    color: #000 !important;
	}
	#result .keyWords .keywordList a.on:hover {
		color: #FFF !important;
	}
	#result .searchOption .searchPeriod header {
    border: 1px solid #BCBCBC;
    background-color: #1A1A1A;
	}
	#result .searchOption .searchPeriod header .icon {
    border-right: 1px solid #BCBCBC;
	}
	#result .searchOption .searchPeriod header .icon svg {
    fill: #BCBCBC;
	}
	#result .searchOption .searchPeriod .btnDateFilter .typeButton {
		border: none;
    background-color: #CCC;
    color: #000;
	}
	#result .searchOption .searchPeriod .calendarForm span {
		color: #BCBCBC;
	}
	#result .searchOption .searchPeriod .calendarForm input {
    border: 1px solid #BCBCBC;
    background-color: #1A1A1A;
		color: #FFF;
	}
	#result .searchOption .searchPeriod .calendarForm input::placeholder {
		color: #BCBCBC;
	}
	#result .searchOption .searchSort {
    border: 1px solid #BCBCBC;
	}
	#result .searchOption .searchSort a {
    background-color: #1A1A1A;
	}
	#result .searchOption .searchSort a .searchSortIcon::before,
	#result .searchOption .searchSort a .searchSortIcon::after {
    background-color: #FFF;
	}
	#result #fs-result .contentsList {
    border-top: 1px solid #FFF;
	}
	.fs-paginate {
    border-top: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
	}
	.fs-loading img {
		filter: invert(100%);
	}

  /* ヘッダー */
	#gHeader {
		background-color: #0F0F0F;
	}
	#gHeader .wrapper {
		border-bottom: 1px solid #FFF;
	}
	.langBtn > a {
    color: #FFF;
	}
	.langBtn > * + * {
    border-left: 1px solid #FFF;
	}
	#gHeader .naviSub .searchBtn {
		filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(238deg) brightness(104%) contrast(104%);
	}
	#gHeader .searchBox {
		background-color: #0F0F0F;
	}
	#gHeader .searchBox .btnClose::before {
		background-color: #FFF;
	}
	#gHeader .searchBox .btnClose::after {
		background-color: #FFF;
	}
	#gHeader .searchBox .wrapBox form input {
		background-color: #2A2A2A;
		color: #999;
	}
	.menuBtn span.menuBtnLine {
		background-color: #FFF;
	}
	.wrapMenuBtn {
		border-left: 1px solid #FFF;
	}
	.menuBtn a:active .menuBtnUnderText,
	.menuBtn a:hover .menuBtnUnderText {
		color: #FFF !important;
	}

	.modalMenu {
		background-color: #0F0F0F;
	}
	#gHeader .modalMenu .gNaviCategoryAria {
		border-left: 1px solid #FFF;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .gNaviKeyWordsNameWrap .gNaviKeyWordsName::after,
	#gHeader .modalMenu .gNaviCategoryAria .gNaviCategoryList .gNaviCategoryNameWrap .gNaviCategoryName::after {
		border-top: 2px solid #FFF;
		border-right: 2px solid #FFF;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .keywordList a {
		background: #FFF;
		color: #000;
		border: 1px solid #FFF;
	}

	#gHeader .wrapper .searchBtn {
		filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(238deg) brightness(104%) contrast(104%);
	}
	#gHeader .modalMenu .langBtnArea {
		background-color: #1A1A1A;
	}
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .gNaviKeyWordsName::after,
	#gHeader .modalMenu .gNaviCategoryAria .gNaviKeyWordsAriaList a span::after {
		border-top: 1px solid #FFF;
		border-right: 1px solid #FFF;
	}

	/* フッター */
	#gFooter {
		background-color: #1A1A1A;
	}
	#gFooter .footerContents {
		border-top: 1px solid #BCBCBC;
	}

	/* 記事詳細 */
	.articlePage .articleFooter {
		border-bottom: 1px solid #FFF;
	}
	.articlePage .articleFooter #articleNavi {
		border-left: 1px solid #FFF;
	}
	.articlePage #pageNavi #articleNavi a.nextArticle::after {
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
	}
	.articlePage #pageNavi #articleNavi a.prevArticle::before {
    border-top: 1px solid #FFF;
    border-left: 1px solid #FFF;
	}

	/* SDGs */
	.typeSDGs .mainArticle a .txtArea {
		background-color: #FFF;
	}
	.articlePage.typeSDGs .articleBody .contentBody .rightBlock {
		background-color: #FFF;
		color: #000;
	}
	.articlePage.typeSDGs #recommend.categoryBlock {
		background-color: #0F0F0F;
	}

	/* LIVE (TTN,TTS) */
	.main {
		background-color: #1A1A1A !important;
	}
	.live .txtArea {
		background-color: #0F0F0F;
	}
	.live .txtArea .movie_title {
		border-top: 1px solid #FFF;
	}
	.live .movie_thumb {
		border-color: #000000;
		border-right-color: #000000;
		border-bottom-color: #000000;
	}
	.live .movie_date {
		color: #5B87E3;
	}

	/* カテゴリー */
	.subCategoryList .categories a {
		color: #000;
	}

	/* 労使 */
	#mainBody.oneandonly {
		color: #000;
	}

}


/* # ダークモードパソコンレイアウト */
@media screen and (min-width:641px) and (prefers-color-scheme: dark) {
	.categoryBlock h1 {
		border-bottom: 1px solid #FFF;
	}
	.categoryBlock h1::after {
		background-color: #FFF;
	}
	.categoryTop .contentsList.type1 li:first-child .contentCard,
	.categoryTop.subCategory .contentsList li:first-child .contentCard {
		border-left: 1px solid #FFF;
	}
	.categoryTop .contentsList.type1 li:nth-of-type(3n + 2) .contentCard,
	.categoryTop.subCategory .contentsList li:nth-of-type(3n + 2) .contentCard {
		border-left: 1px solid #FFF;
	}
	.categoryTop .contentsList.type1 li:first-child .contentCard .attendData,
	.categoryTop.subCategory .contentsList li:first-child .contentCard .attendData {
		border-top: 1px solid #BCBCBC;
	}

	.categoryTop .contentsList li:nth-of-type(3n + 1) .contentCard {
		border-left: 1px solid #FFF;
	}
	.categoryTop .contentsList li.latest ~ li:not(.latest):nth-of-type(3n + 2) .contentCard {
		border-left: 1px solid #FFF;
	}

	#recommend.categoryBlock .cardList {
		border-bottom: 1px solid #FFF;
	}
	#recommend.categoryBlock header.title {
		border-bottom: 1px solid #FFF;
	}

	.contentsList.landscape li:first-child {
		border-bottom: 1px solid #FFF;
	}
	.categoryTop .contentsList.landscape li .contentCard {
    border-left: 1px solid #FFF !important;
	}
	.contentsList.landscape li:nth-child(2n) .contentCard {
		border-right: 1px solid #FFF;
	}
	
	/* キーワード検索 */
	.contentsList li:nth-child(3n + 1) .contentCard {
		border-left: 1px solid #FFF;
	}
	.contentsList li .contentCard {
		width: 100%;
		padding: 0 10px;
		border-right: 1px solid #FFF;
	}
	.contentsList li:nth-child(n + 4) {
		border-top: 1px solid #FFF;
	}

	/* ヘッダー */
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .keywordList a:hover {
		color: #FFF !important;
	}

	/* 記事詳細 */
	.articlePage .articleFooter {
		border-bottom: 1px solid #FFF;
	}
	.articlePage .articleFooter #articleNavi {
		border-left: 1px solid #FFF;
	}
	.articlePage .leftBlock .category {
		border-bottom: 4px solid #FFF;
	}
	.articlePage .articleBody .contentBody {
		border-top: 1px solid #FFF;
		border-bottom: 1px solid #FFF;
	}

	/* カテゴリー */
	.subCategoryList h3 {
		border-bottom: 1px solid #FFF;
	}

}


/* # ダークモードスマホレイアウト */
@media screen and (max-width:640px) and (prefers-color-scheme: dark) {
	.categoryBlock h1 {
		border-bottom: 4px solid #FFF;
	}
	.categoryTop .contentsList li .contentCard {
		border-left: 1px solid #FFF;
	}
	.contentCard .attendData {
		border-top: .5px solid #BCBCBC;
	}
	.categoryTop.subCategory .categoryBlock .categoryTitle {
		border-bottom: 4px solid #FFF;
	}

	/* キーワード検索 */
	.keyWords {
		border-right: .5px solid #FFF;
		border-left: .5px solid #FFF;
	}
	.contentCard {
		margin: 3vw 0;
		padding: 0 3vw;
		border-right: .5px solid #FFF;
		border-left: .5px solid #FFF;
	}
	.contentsList li:not(:first-child) {
		border-top: .5px solid #FFF;
	}

	/* ヘッダー */
	#gHeader .modalMenu .gNaviKeyWordsAria .keyWords .keywordList a:hover {
		color: #000 !important;
	}

	/* 記事詳細 */
	.articlePage .articleFooter {
		border-top: 1px solid #FFF;
		border-bottom: 1px solid #FFF;
	}
	.articlePage .articleFooter #articleNavi {
		border-left: none;
	}
	.articlePage .articleHeader .leftBlock .category {
		border-bottom: 4px solid #FFF;
	}

	/* SDGs */
	.articlePage.typeSDGs .articleBody .contentBody {
		background-color: #FFFFFF;
		margin: 0 calc(50% - 50vw);
		padding: 0 calc(50vw - 50%);
		color: #000;
		padding-top: 24px;
	}
	.articlePage.typeSDGs #pageNavi {
		margin-top: 40px;
	}

	/* カテゴリー */
	.subCategoryList h3 {
		border-bottom: .5px solid #FFF;
	}

}