@charset "utf-8";

/* amp で使わないものは common-not-amp.css に外出しして別読み込み */

img { max-width:100%; vertical-align:bottom; }

.img-wrap > img {
	display:block;
}

a.edit_link, a.edit_link:visited {
	color: red;
	font-weight: bold;
}
a.edit_link:before {
	font-family:FontAwesome;
	content:"\f013";
}

html {
	max-width:100%;
	max-width:100vw;
	overflow:scroll;
	overflow-y:scroll;
	overflow-x:hidden;
}

/**** util ****/

.image-bg:not(.prevent-bg-text-style),
.image-bg:not(.prevent-bg-text-style) a:not(.prevent-bg-text-style),
.image-bg:not(.prevent-bg-text-style) *:not(.prevent-bg-text-style),
.image-bg:not(.prevent-bg-text-style) h1:not(.prevent-bg-text-style),
.image-bg:not(.prevent-bg-text-style) h2:not(.prevent-bg-text-style),
.image-bg:not(.prevent-bg-text-style) h3:not(.prevent-bg-text-style),
.image-bg:not(.prevent-bg-text-style) h4:not(.prevent-bg-text-style) {
	color:white;
	text-shadow:
		0 0 3px rgba(0,0,0,1),
		0 0 20px rgba(0,0,0,.3);
}

.image-bg {
	background-position:center center;
	background-repeat: no-repeat;
	background-size:cover;
	
	position:relative;
	overflow:hidden;
}

.image-bg > * {
	position:relative;
}

.image-bg > .image-bg-blur {
	position:absolute;
	z-index:0;
	top:0;
	left:0;
	right:0;
	bottom:0;
	
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	
	overflow:hidden;
}


/*
.image-bg > .image-bg-blur {
}
.image-bg > .image-bg-blur:hover {
	top:-5px;
	left:-5px;
	right:-5px;
	bottom:-5px;
	-webkit-filter:blur(4px) brightness(80%);
	-moz-filter:blur(4px) brightness(80%);
	-ms-filter:blur(4px) brightness(80%);
	filter:blur(4px) brightness(80%);
	
}
*/

.image-bg > .image-bg-blur > img {
	opacity:0;
	width:100%;
	height:auto;
}

@media (min-width:767px) {
	
	.flex-container {
		display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
		display:-moz-box; /* Fx19-21 */
		display:-ms-flexbox; /* IE10 */
		display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
		display:flex; /* standard */
		
		-webkit-box-orient: horizontal;
		-moz-box-orient: horizontal;
		-ms-flex-direction:row;
		-webkit-flex-direction:row;
		flex-direction:row;
		
		/* アイテム全体の左右（上下）処理 */
		-webkit-box-lines:single;
		-moz-box-lines:single;
		-ms-flex-wrap:nowrap;
		-webkit-flex-wrap:nowrap;
		flex-wrap:nowrap;
		
		/* アイテム全体の左右処理 */
		-webkit-box-pack:justify;
		-moz-box-pack:justify;
		-ms-flex-pack:justify;
		-webkit-justify-content:space-between;
		justify-content:space-between;
		
		/* アイテム全体の上下処理 */
		-ms-flex-line-pack:stretch;
		-webkit-align-content:stretch;
		align-content:stretch;
		
		/* 各アイテムの上下処理 - 各アイテム自身の align-self で上書き */
		-webkit-box-align:stretch;
		-moz-box-align:stretch;
		-ms-flex-item-align:stretch;
		-webkit-align-items:stretch;
		align-items:stretch;
		
	}
	
	.inline-flex {
		display:-webkit-inline-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
		display:-moz-inline-box; /* Fx19-21 */
		display:-ms-inline-flexbox; /* IE10 */
		display:-webkit-inline-flex; /* Chrome28-,Sf6.1+,iOS7 */
		display:inline-flex; /* standard */
	}
	
	.flex-container.vertical {
		-webkit-box-orient:vertical;
		-moz-box-orient:vertical;
		-ms-flex-direction:column;
		-webkit-flex-direction:column;
		flex-direction:column;
	}
	
	.flex-container.horizontal {
		-webkit-box-orient:horizontal;
		-moz-box-orient:horizontal;
		-ms-flex-direction:row;
		-webkit-flex-direction:row;
		flex-direction:row;
	}
	
	.flex-container.wrap {
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-ms-flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	
	.flex-container.justify-content-flex-start {
		-webkit-box-pack:start;
		-moz-box-pack:start;
		-ms-flex-pack:start;
		-webkit-justify-content:flex-start;
		justify-content:flex-start;
	}
	
	.flex-container.justify-content-center {
		-webkit-box-pack:center;
		-moz-box-pack:center;
		-ms-flex-pack:center;
		-webkit-justify-content:center;
		justify-content:center;
	}
	
	.flex-container.justify-content-flex-end {
		-webkit-box-pack:end;
		-moz-box-pack:end;
		-ms-flex-pack:end;
		-webkit-justify-content:flex-end;
		justify-content:flex-end;
	}
	
	.flex-container.align-items-center {
		/* 各アイテムの上下処理 - 各アイテム自身の align-self で上書き */
		-webkit-box-align:center;
		-moz-box-align:center;
		-ms-flex-item-align:center;
		-webkit-align-items:center;
		align-items:center;
	}
	
	.flex-item {
		-webkit-box-flex:0; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:0; /* Fx19- */
		-ms-flex:none;
		-webkit-flex:none; /* Chrome28-,Sf6.1+,iOS7 */
		flex:none; /* standard */
		
		min-width:0; /* for firefox bug */
		min-height:0;
	}
	.flex-item.growable {
		-webkit-box-flex: 1;
		-webkit-flex-grow: 1;
		-moz-box-flex: 1;
		-ms-flex: 1 1 auto;
		flex-grow: 1;
	}
	.flex-item.shrinkable {
		-webkit-flex-shrink: 1;
		-ms-flex: 0 1 auto;
		flex-shrink: 1;	
	}
	.flex-item.flexible {
		-webkit-box-flex:1; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:1; /* Fx19- */
		-ms-flex:1 1 auto;
		-webkit-flex:1 1 auto; /* Chrome28-,Sf6.1+,iOS7 */
		flex:1 1 auto; /* standard */
	}
	
	.flex-order-1 { -webkit-box-ordinal-group:1; -moz-box-ordinal-group:1; -ms-flex-order:1; -webkit-order:1; order:1; }
	.flex-order-2 { -webkit-box-ordinal-group:2; -moz-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2; }
	.flex-order-3 { -webkit-box-ordinal-group:3; -moz-box-ordinal-group:3; -ms-flex-order:3; -webkit-order:3; order:3; }
	.flex-order-4 { -webkit-box-ordinal-group:4; -moz-box-ordinal-group:4; -ms-flex-order:4; -webkit-order:4; order:4; }
	.flex-order-5 { -webkit-box-ordinal-group:5; -moz-box-ordinal-group:5; -ms-flex-order:5; -webkit-order:5; order:5; }
	
	.flex-item.flex-center {
		-ms-flex-item-align:center;
		-webkit-align-self:center;
		align-self:center;
	}
	
}

@media (max-width:767px) {
	.flex-container.flex-mobile {
		display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
		display:-moz-box; /* Fx19-21 */
		display:-ms-flexbox; /* IE10 */
		display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
		display:flex; /* standard */
		
		-webkit-box-orient: horizontal;
		-moz-box-orient: horizontal;
		-ms-flex-direction:row;
		-webkit-flex-direction:row;
		flex-direction:row;
		
		/* アイテム全体の左右（上下）処理 */
		-webkit-box-lines:single;
		-moz-box-lines:single;
		-ms-flex-wrap:nowrap;
		-webkit-flex-wrap:nowrap;
		flex-wrap:nowrap;
		
		/* アイテム全体の左右処理 */
		-webkit-box-pack:justify;
		-moz-box-pack:justify;
		-ms-flex-pack:justify;
		-webkit-justify-content:space-between;
		justify-content:space-between;
		
		/* アイテム全体の上下処理 */
		-ms-flex-line-pack:stretch;
		-webkit-align-content:stretch;
		align-content:stretch;
		
		/* 各アイテムの上下処理 : 各アイテム自身の align-self で上書き */
		-webkit-box-align:stretch;
		-moz-box-align:stretch;
		-ms-flex-item-align:stretch;
		-webkit-align-items:stretch;
		align-items:stretch;
		
	}
	.flex-container.flex-mobile.vertical {
		-webkit-box-orient:vertical;
		-moz-box-orient:vertical;
		-ms-flex-direction:column;
		-webkit-flex-direction:column;
		flex-direction:column;
	}
	.flex-container.flex-mobile.horizontal {
		-webkit-box-orient:horizontal;
		-moz-box-orient:horizontal;
		-ms-flex-direction:row;
		-webkit-flex-direction:row;
		flex-direction:row;
	}
	
	.flex-container.flex-mobile.wrap {
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-ms-flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	
	.flex-container.for-mobile.justify-content-flex-start {
		-webkit-box-pack:start;
		-moz-box-pack:start;
		-ms-flex-pack:start;
		-webkit-justify-content:flex-start;
		justify-content:flex-start;
	}
	
	.flex-container.for-mobile.justify-content-center {
		-webkit-box-pack:center;
		-moz-box-pack:center;
		-ms-flex-pack:center;
		-webkit-justify-content:center;
		justify-content:center;
	}
	
	.flex-container.for-mobile.justify-content-flex-end {
		-webkit-box-pack:end;
		-moz-box-pack:end;
		-ms-flex-pack:end;
		-webkit-justify-content:flex-end;
		justify-content:flex-end;
	}
	
	.flex-container.for-mobile.align-items-center {
		-webkit-box-align:center;
		-moz-box-align:center;
		-ms-flex-align:center;
		-webkit-align-items:center;
		align-items:center;
	}
	
	.flex-mobile > .flex-item {
		-webkit-box-flex:0; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:0; /* Fx19- */
		-ms-flex:none;
		-webkit-flex:none; /* Chrome28-,Sf6.1+,iOS7 */
		flex:none; /* standard */
		
		min-width:0; /* for firefox bug */
	}
	.flex-mobile > .flex-item.growable {
		-webkit-box-flex: 1;
		-webkit-flex-grow: 1;
		-moz-box-flex: 1;
		-ms-flex: 1 1 auto;
		flex-grow: 1;
	}
	.flex-mobile > .flex-item.shrinkable {
		-webkit-flex-shrink: 1;
		-ms-flex: 0 1 auto;
		flex-shrink: 1;	
	}
	.flex-mobile > .flex-item.flexible {
		-webkit-box-flex:1; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:1; /* Fx19- */
		-ms-flex:1 1 auto;
		-webkit-flex:1 1 auto; /* Chrome28-,Sf6.1+,iOS7 */
		flex:1 1 auto; /* standard */
	}
	
	.flex-mobile > .flex-order-1 { -webkit-box-ordinal-group:1; -moz-box-ordinal-group:1; -ms-flex-order:1; -webkit-order:1; order:1; }
	.flex-mobile > .flex-order-2 { -webkit-box-ordinal-group:2; -moz-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2; }
	.flex-mobile > .flex-order-3 { -webkit-box-ordinal-group:3; -moz-box-ordinal-group:3; -ms-flex-order:3; -webkit-order:3; order:3; }
	.flex-mobile > .flex-order-4 { -webkit-box-ordinal-group:4; -moz-box-ordinal-group:4; -ms-flex-order:4; -webkit-order:4; order:4; }
	.flex-mobile > .flex-order-5 { -webkit-box-ordinal-group:5; -moz-box-ordinal-group:5; -ms-flex-order:5; -webkit-order:5; order:5; }
	
	.flex-mobile > .flex-item.flex-center {
		-ms-flex-item-align:center;
		-webkit-align-self:center;
		align-self:center;
	}
}

.centeringchild-v,
.centeringchild-h,
.centeringchild {
	display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
	display:-moz-box; /* Fx19-21 */
	display:-ms-flexbox; /* IE10 */
	display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
	display:flex; /* standard */
	
	-webkit-box-orient: horizontal;
	-moz-box-orient: horizontal;
	-ms-flex-direction:row;
	-webkit-flex-direction:row;
	flex-direction:row;
	
	/* アイテム全体の左右（上下）処理 */
	-webkit-box-lines:single;
	-moz-box-lines:single;
	-ms-flex-wrap:nowrap;
	-webkit-flex-wrap:nowrap;
	flex-wrap:nowrap;
	
	/* アイテム全体の上下処理 */
	-ms-flex-line-pack:center;
	-webkit-align-content:center;
	align-content:center;
	
	/* 各アイテムの上下処理 - 各アイテム自身の align-self で上書き */
	-webkit-box-align:center;
	-moz-box-align:center;
	-ms-flex-item-align:center;
	-webkit-align-items:center;
	align-items:center;
	
	/* アイテム全体の左右処理 */
	-webkit-box-pack:center;
	-moz-box-pack:center;
	-ms-flex-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
}

.centeringchild-v.inline,
.centeringchild-h.inline,
.centeringchild.inline {
	display:-webkit-inline-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
	display:-moz-inline-box; /* Fx19-21 */
	display:-ms-inline-flexbox; /* IE10 */
	display:-webkit-inline-flex; /* Chrome28-,Sf6.1+,iOS7 */
	display:inline-flex; /* standard */
}

.centeringchild-v > *,
.centeringchild-h > *,
.centeringchild > * {
	-webkit-box-flex:0; /* iOS6-,Sf3.1-6.0 */
	-moz-box-flex:0; /* Fx19- */
	-ms-flex:none;
	-webkit-flex:none; /* Chrome28-,Sf6.1+,iOS7 */
	flex:none; /* standard */
}

.centeringchild-v {
	-webkit-box-pack:start;
	-moz-box-pack:start;
	-ms-flex-pack:start;
	-webkit-justify-content:flex-start;
	justify-content:flex-start;
}

.centeringchild-h {
	-webkit-align-items:flex-start;
	align-items:flex-start;
}

.fillchild {
	display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
	display:-moz-box; /* Fx19-21 */
	display:-ms-flexbox; /* IE10 */
	display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
	display:flex; /* standard */
	
	-webkit-box-orient: horizontal;
	-moz-box-orient: horizontal;
	-ms-flex-direction:row;
	-webkit-flex-direction:row;
	flex-direction:row;
	
	/* アイテム全体の左右（上下）処理 */
	-webkit-box-lines:single;
	-moz-box-lines:single;
	-ms-flex-wrap:nowrap;
	-webkit-flex-wrap:nowrap;
	flex-wrap:nowrap;
	
	/* アイテム全体の上下処理 */
	-ms-flex-line-pack:stretch;
	-webkit-align-content:stretch;
	align-content:stretch;
	
	/* 各アイテムの上下処理 - 各アイテム自身の align-self で上書き */
	-webkit-box-align:stretch;
	-moz-box-align:stretch;
	-ms-flex-item-align:stretch;
	-webkit-align-items:stretch;
	align-items:stetch;
	
	/* アイテム全体の左右処理 */
	-webkit-box-pack:justify;
	-moz-box-pack:justify;
	-ms-flex-pack:justify;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	
	-webkit-box-align:stretch;
	-moz-box-align:stretch;
	-ms-flex-item-align:stretch;
	-webkit-align-items:stretch;
	align-items:stretch;
}

.fillchild > * {
	-webkit-box-flex:1; /* iOS6-,Sf3.1-6.0 */
	-moz-box-flex:1; /* Fx19- */
	-ms-flex:1 1 auto;
	-webkit-flex:1 1 auto; /* Chrome28-,Sf6.1+,iOS7 */
	flex:1 1 auto; /* standard */
}


/**** styles ****/

body {
	font-family:'Herlvetica Neue', Helvetica, Arial, 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', sans-serif;
	line-height:1.6;
	color:#666;
}
h1, h2, h3, h4, h5, h6 { line-height:1.4; }

a, a:visited { color:inherit; }
h1, h2, h3, h4, h5, h6 { color:black; }

@media (min-width:1143px) {
	body { font-size:16px; }
	html.font-big body { font-size:20px; }
}

@media (min-width:768px) and (max-width:1143px) {
	body { font-size:1.61616vw; /* 16/990 */ }
	html.font-big body { font-size:2.0202020202vw; /* 16/990 * 1.25 */ }
}

@media (max-width:767px) {
	body { font-size:4.375vw; /* 14/320 */ }
	html.font-big body { font-size:5.46875vw; }
}

@media (max-width:767px) and (orientation:landscape){
	body { font-size:2.46913vw; /* 14/567 */ }
	html.font-big body { font-size:3.08641976309vw; }
}


/**** cover ****/

#cover { position:relative; }

#cover-images { position:relative; overflow:hidden; height:600px; height:80vw; z-index:0; }
#cover-images > img { position:absolute; top:50%; left:50%; height:100%; width:auto; display:block; max-width:none; transform:translate(-50%, -50%); }
#cover-images:after { content:''; display:block; position:absolute; top:0; left:0; width:100%; height:100%; background:black; -moz-opacity:0.5; -ms-opacity:0.5; opacity:0.5; z-index:1; }

@media all and (min-height:320px) {
	#cover-images { height:250px; }
}

@media all and (min-height:480px) {
	#cover-images { height:320px; }
}

@media all and (min-height:768px) {
	#cover-images { height:600px; }
}

@media all and (min-height:1024px) {
	#cover-images { height:800px; }
}

@media all and (min-height:1080px) {
	
}

#cover-picker {
	position:absolute; bottom:0; z-index:2;
	color:white;
	left:0; width:100%;
}
#cover-picker-container {
	padding:15px;
}

/**** menu ****/

#main, #header {
	position:relative;
	/*
	width:100%;
	width:100vw;
	/* chromeで変になることがあるが… */
}

#main {
	overflow:hidden;
	height:auto!important;
}

/**** ****/
/*
#left-menu li > a {
	padding:0.5em 1em;
}
#left-menu li:first-child > a {
	padding-top:1em;
}
#left-menu li:last-child > a {
	padding-bottom:1em;
}
*/

li.divider {
	border-top: 1px solid #eee;
}

#left-menu li > a {
	padding:.5em 1em;
	display:block;
}

#left-menu li:not(.divider) + li > a {
	padding-top:.25em;
	margin-top:-.25em;
}

#left-menu-container {
	max-height:-webkit-calc(100vh - 68px); /* #header-menu-container */
	max-height:calc(100vh - 68px); /* #header-menu-container */
	overflow-y:auto;
}


/**** cover menu ****/

#cover-menu > ul {
	border-bottom:rgba(0,0,0,0.2) 1px solid
}

#cover-menu li > a {
	padding:10px 15px 8px 15px;
	margin-bottom:-4px;
}

#cover-menu li.active > a,
#cover-menu li:hover > a {
	border-bottom:rgba(0,0,0,0.8) 4px solid;
	padding-bottom:4px;
}

/**** main util ****/

.max-narrow, .max-narrow-padding {
	max-width:720px;
	margin-left:auto;
	margin-right:auto;
	overflow:hidden;
}

@media (max-width:970px) {
	.max-narrow-padding {
		padding-left:15px;
		padding-right:15px;
	}
}

@media (min-width:971px) {
	.max-narrow-padding {
		padding-left:0;
		padding-right:0;
	}
}


/***** main *******/
#main-tab {
}

#main-tab { letter-spacing:1em; }
#main-tab > * { letter-spacing:normal; }

#main-tab > a {
	white-space:nowrap;
	color:inherit;
}

#main-tab > a + a {
	/* margin-left:1em; */
}

#main-tab a {
	/* color:#888; */
	/* border-bottom:2px transparent solid; */
}

#main-tab a.active {
	border-bottom-color:black;
	font-weight:bold;
}

/* 720 + 314 + 15*2 */
@media (max-width:1063px) {
	#bookmarks-heading > .container,
	.wfcontent-container {
		padding-left:15px;
		padding-right:15px;
	}
}

.widgets {
	width:314px; /* 234+40+40 */
	/*
	padding-left:40px;
	padding-right:40px;
	padding-bottom:40px;
	*/
	padding:40px;
	
	font-size:87.5%; /* 14/16 */
}
@media (max-width:767px) {
	.widgets {
		font-size:85.714% /* 12/14 */
	}
}

@media (min-width:768px) {
	.inserted-spiral .spiral-contents-container,
	#main-contents-container {
		position:relative;
		padding-right:314px;
	}
	#main-contents-container {
		min-height:100vh;
	}
	.widgets {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		overflow:visible; /* Fx bug workaround */
	}
}

.widgets.flex-item {
	-webkit-box-ordinal-group:1;
	-moz-box-ordinal-group:1;
	-ms-flex-order:1;
	-webkit-order:1;
	order:1;
}

.widget {
	/* padding-top:10px; */
	padding-bottom:10px;
	/* border:1px solid #ccc; */
}

.widget + .widget {
	margin-top:40px;
}

.widget h3 {
	margin-top:0;
	margin-bottom:20px;
	text-align:left;
	/* font-weight:normal; */
	color:#888;
	
}

.widget ul {
	list-style:none;
	margin:0;
	padding:0;
}
.widget ul li {
	margin:0;
	padding:0;
}

.widget-link-content {
	overflow:hidden;
}

.widget-link-content .content-title {
	position:relative;
	height:2.8em; /* 1.4 * 2 */
	overflow:hidden;
}

.widget-link-tag {
	font-weight:bold;
	line-height:2em;
}

.widget-link-tag + ul {
	padding-left:1em;
}

.widget-content {
	width:100%;
}

.widget-content + .widget-content {
	margin-top:20px;
}

.widget-content-leading {
	width:28%;
	padding-right:8px;
}

.widget-content-text {
	width:72%;
}

.widget-content-leading .img-wrap {
	display:block;
	
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	overflow:hidden;
}

.widget-content-leading .img-wrap:before {
	content:"";
	display:block;
	padding-top:100%;
}

.widget-content-leading .img-wrap img {
	position:absolute;
}

.widget-content-title {
	font-size:92.857% ; /* 13/14 */
	
	line-height:1.3;
	overflow:hidden;
	max-height:2.5em;
	
	text-overflow:ellipsis;
	
	display:block;
	display:-webkit-box;
}
.widget-content-subtitle-above,
.widget-content-subtitle-below {
	font-size:64.286%; /* 9/14 */
	line-height:1.3;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	opacity:.5;
}

.widget-content.no-author-info .widget-content-title {
	max-height:3.8em;
}

@supports (-webkit-line-clamp:2) {
	.widget-content-title {
		-webkit-box-orient:vertical;
		-webkit-line-clamp:2;
	}
	.widget-content.no-author-info .widget-content-title {
		-webkit-box-orient:vertical;
		-webkit-line-clamp:3;
	}
}

.widget-content-author {
	font-size:85.714% ; /* 12/14 */
	line-height:1.3;
	-moz-opacity:0.5;
	opacity:0.5;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.widget-content-link:hover {
	text-decoration:none;
}

.widget-content-text { display:flex; }
.widget-content-text > a {
	display:flex;
	flex-direction:column;
	width:100%;
}
.widget-content-text > a > :last-child:not(:first-child) {
	margin-top:auto;
}

ul.widget-tags-list {
	display:block;
	line-height:1;
}

ul.widget-tags-list > li {
	display:inline-block;
	white-space:nowrap;
	margin-right:1em;
	margin-bottom:0.5em;
}
ul.widget-tags-list > li .fa {
	-moz-opacity:0.5;
	opacity:0.5;
	margin-right:0.25em;
}

body:not(.custom-sidebar-separate) .widgets,
body.custom-sidebar-separate .widgets > *,
#newsfeed .widget {
	color: inherit;
	background: #f8f8f8;
}


@media (max-width:767px) {
	/* enquire.jsにて表示位置が変わる */
	/* .widgets { display:none!important; } */
	.widgets {
		width:auto;
		padding:20px 15px;
	}
	.widget {
		margin-top:30px;
		margin-bottom:30px;
	}
	.widget:first-child { margin-top:0; }
	.widget:last-child { margin-top:0; }
	.widget ul > .widget-content:nth-child(n+5) {
		display:none;
	}
	.widget-content-leading {
		width:25%;
	}
	.widget-content-text {
		width:75%;
	}
	.widget-content + .widget-content {
		margin-top:10px;
	}
}


/* tags */

.content-tags {
	letter-spacing:0.5em;
}
.content-tag {
	letter-spacing:normal;
	white-space:nowrap;
}

/* #1602 */
@media (max-width:767px) {
	.content-tag {
		white-space:normal;
	}
}

.content-tag .fa {
	margin-right:0.2em;
	-moz-opacity:0.8;
	opacity:0.8;
}


#footer {
	position:relative;
	z-index:2;
}

#footer-system {
	font-size:80%;
	text-align:center;
	padding:1em;
}



/******* utilities *******/
/* 1カラムバナー群 */
.banners { position:relative; }
.banners > a,
.banners > a > img {
	display:block;
	padding:0;
	width:100%;
}
.banners > a + a {
	margin-top: 8px;
}
.banners > a:hover {
	text-decoration:none;
}

/* 2カラムバナー群 spaceles でないといけないので注意 */
/* [50%-2px][4px][50%-2px] */
.banners-2col { position:relative; }
.banners-2col > a > img {
	display:block;
	width:100%;
	margin:0;
	padding:0;
}
.banners-2col > a {
	margin:0; padding:0;
	display:inline-block;
	position:relative;
	width:49%;
	width:-webkit-calc( 50% - 2px );
	width:calc( 50% - 2px );
	width:~"calc( 50% - 2px )"; /* for LESS */
	display:inline-block;
	vertical-align:top;
}
.banners-2col > a:hover {
	text-decoration:none;
}
.banners-2col > a:nth-child(2n+1) {
	margin-right:2%;
	margin-right:4px;
}
.banners-2col > a:nth-child(n+3) {
	margin-top:4px;
}

/******* adino banner ***********/
.adino-banner {
	margin-top:1em;
	margin-bottom:1em;
	position:relative;
	display:block;
}
.adino-banner > a {
	position:relative;
	display:block;
	cursor:pointer;
	margin:0 auto;
	padding:0;
	border:none;
	text-decoration:none;
	max-width:480px;
}
.adino-banner > a > img {
	border:none;
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
}

.adino-banner figure {
	margin:0;
	padding:0;
}

/************ sitecard for dino.network *************/
.content-sitecard {
	position:relative;
	display:block;
	margin-top:1em;
	margin-bottom:1em;
	text-align:left;
}

.content-sitecard > a {
	display:block;
	position:relative;
}

.content-sitecard-leading {
	display:block;
	opacity:.8;
	font-size:80%;
}

.content-sitecard-card {
	position:relative;
	display:block;
	overflow:hidden;
	border:1px solid #ccc;
	background:white;
	text-decoration:none;
}

.content-sitecard-img {
	position:relative;
	overflow:hidden;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	
	width:120px;
	height:80px;
}
.content-sitecard-img > img {
	opacity:0.001;
	display:block;
	position:absolute;
	left:0; top:0;
	width:100%;
}

.content-sitecard-img + .content-sitecard-info {
	position:absolute;
	top:0;
	left:120px;
	right:0;
	bottom:0;
}

.content-sitecard-info {
	padding:.5em 1em;
	overflow:hidden;
	max-height:80px;
}

.content-sitecard-info {
	
}

.content-sitecard-title {
	font-weight:bold;
}
.content-sitecard-description {
	font-size:75%;
}

.content-sitecard.no-img > a {
	padding:.5em 1em;
}
.content-sitecard.no-img .content-sitecard-info {
	padding:0;
}

.content-sitecard-info:after {
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	height:1em;
	background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffff', endColorstr='#ffffffff',GradientType=0 ); /* IE6-9 */
}

/******** nativead ***********/
.fa-nativead-sponsored{
	background-size: contain;
	height: 16px;
	width: 28px;
	margin-bottom: -3px;
}
.fa-nativead-sponsored-gray{
	background-image: url(/static/ico/adino_icon_gray_touka.png);
}
.fa-nativead-sponsored-black{
	background-image: url(/static/ico/adino_icon_black_touka.png);
}
.fa-nativead-sponsored-white{
	background-image: url(/static/ico/adino_icon_white_touka.png);
}

.is-nativead .content-title {
}

/* footer */
#footer-system .terms_urls > ul { list-style:none; padding:0; margin:0; }
#footer-system .terms_urls > ul > li { padding:0; margin:0; display:inline; }
#footer-system .terms_urls > ul > li > a { display:inline; }
#footer-system .terms_urls > ul > li:not(:first-child) { margin-left:.5em; }
#footer-system .terms_urls > ul > li:not(:first-child):before { content:"|"; margin-right:.5em; }

/* breadcrumbs */
.breadcrumbs {
	padding:.125em 0 .1em 0;
	/* margin-top:-11px; */
	overflow-x: auto;
}
.breadcrumbs > ol {
	display:flex;
	/* flex-wrap:wrap; */
	align-items:center;
	
	list-style:none;
	padding:0; margin:0;
	font-size:80%;
}
li.breadcrumb {
	display:flex;
	align-items:center;
}
/* li.breadcrumb + .breadcrumb { } */
li.breadcrumb + .breadcrumb::before {
	font-family:FontAwesome;
	content:'\f105';
	margin-left:.25em;
	margin-right:.25em;
}
li.breadcrumb > a {
	cursor:pointer;
}
li.breadcrumb > a > span {
	display:inline-block; 
	padding:.25em .5em;
	max-width:15em;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	vertical-align:middle;
}
