  @charset "utf-8";

/****
 *
 * </news/digest/css_v3/common.css>
 *
 * 更新日: 2020/9/18
 *
 ****/

/****
Foundation
 ****/

/*-- header 暫定版 （公開サイトリニューアル後に削除可）-------------------*/

/*#header #pagetop,
.bottom,#footer .inner
{
	width: 1160px;
}

ul#gnav{
	margin-left: auto;
	margin-right: auto;
}

#header,#footer,.sp_view{
	min-width: 1160px;
}
.sp #header,.sp #footer{
	min-width: inherit;
}

#footer .full-width .col6 .col{
	width: 185px;
}
#footer .full-width .col6 .l{
    margin-right: 9px;
}*/

/*-- header 暫定版ここまで -------------------*/

#body{
	width: 1160px;
	font-size: 1rem;
	/*font-size: 0.9375rem;*/ /*15px*/
	text-align: justify;
	text-justify:inter-ideograph;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#body .bread{
	width: 100%;
}
#main{
	float: none;
	width: 800px;
	flex: 0 0 auto;
	line-height: 1.9375rem;
	/*line-height: 1.8125rem;*/ /*29px*/
}

#body *{
	box-sizing: border-box;
}

p.bread,
.bottom p.bread{
	font-size: 0.875rem;
	padding-bottom: 8px; /*18 - 10*/
}

#sub{
	float: none;
	width: 300px;
	flex: 0 0 auto;
	font-size: 0.875rem;
	line-height: 1.5;
	position: relative;
}
#snav{
	background: #fff;
	position: absolute;
	width: 300px;
	top:0px;
}
#sub #snav{
	overflow: inherit;
}
#snav.is-fixed{
	position: fixed;
	top:0px;
}
#snav.is-fit{
	position: absolute;
	/*bottom: 0px;*/
}
#snav.is-diff{
	position: absolute;
}

/*go_pagetop*/
.go_pagetop_frame{
	display: block;
	opacity: 0;
	transition: opacity 0.3s;
}
.go_pagetop_frame.appear{
	opacity: 1;
}


/*  Heading reset -- default style
----------------- */
h1,
#main h2,
#main h3,
#main h4,
#main h5{
	font-weight: bold;
	font-size: 1.125rem; /*18px*/
	margin: 0;
	padding: 0;
	background: none;
}
h1,#main h2{
	font-size: 1.5rem;
}

/*float reset*/
#body .col{
	float: none;
	flex: 0 0 auto;
}
/*clearfix reset*/
#main ul:after, #main dl:after, #body:after, #main:after, #bnav:after, article:after, hgroup:after, footer:after, section:after, #main .section:after, #main .col:after { display: none; /* clearfix */ }

/*grid col*/

.col.c-narrow,.col .c-narrow{width: 75%;}
.col.c-narrow--60, .col .c-narrow--60{width: 60%;}


.col2 .col { width: 380px; }

.col3 .col { width: 240px; }
.col3 .col.span-2 { width: 520px; }

.col4 .col { width: 170px; }
.col4 .col.span-2 { width: 380px; }
.col4 .col.span-3 { width: 590px; }

.col5 .col { width: 128px; }
.col5 .col.span-2 { width: 296px; }
.col5 .col.span-3 { width: 464px; }
.col5 .col.span-4 { width: 632px; }

.c-box_article .col2 .col { width: 355px;}
.c-box_article .col3 .col { width: 226px;} /*gutter--31*/
.c-box_article .col3 .col.span-2 { width: 483px;}
.c-box_article .col4 .col { width: 161px; } /*gutter--32*/
.c-box_article .col4 .col.span-2 { width: 354px; }
.c-box_article .col4 .col.span-3 { width: 547px; }

.c-box_article .col.c-narrow { width: 600px; }/*col.narrow--in box_article*/

#main .col img{
	margin-top: 0.45rem; /* line-height - 1rem / 2 (+視覚調整) テキストのカラムとTopの高さをそろえる */
}
.sp #main .col img{
	margin-top: inherit;
}

/*list*/
ol.list{
	margin: 0;
}
ol.list li{
	list-style: decimal;
	margin: 0.5rem 0 0.5rem 1.25rem;
	line-height: 1.7;
}

/*ruby*/
[data-ruby] {
	position: relative;
}
[data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	top: -1.25em;
	left: 0;
	right: 0;
	margin: auto;
	font-size: 0.5em;
	white-space: nowrap;
}


/****
Object
 ****/

/*  Component
---------------------------------------------------------- */

.c-flex_start{
	display: flex;
	justify-content:flex-start;
}
.c-flex_end{
	display: flex;
	justify-content:flex-end;
}
.c-flex_between{
	display: flex;
	justify-content: space-between;
}
.c-flex_center{
	display: flex;
	justify-content:center;
}
.c-flex_alignItem_center{
	align-items: center;
}
.c-flex_wrap{
	flex-wrap: wrap;
}
.c-align_center{
	text-align: center;
}
.c-align_right{
	text-align: right;
}
.c-valign_middle{
	vertical-align: middle;
}
.c-txt_blue{
	color: #1c418d;
}
.c-bold{font-weight: bold;}
.c-gray_bk{
	background-color: #EDEEF0;
}
.c-justify{
	text-align: justify;
	text-justify: inter-ideograph;
}

.c-mt--1{
	margin-top: 1rem !important;
}
.c-mt--2{
	margin-top: 2rem !important;
}

.c-mb--1{
	margin-bottom: 1.25rem !important;
}
.c-mb--2{
	margin-bottom: 2.5rem !important;
}

.c-heading_margin{
	margin-top: 1.25rem !important;
	margin-bottom: 1.25rem !important;
}

.c-caption{
	font-size: 0.875rem;
	line-height: 1.5625rem;
	padding: 0.3125rem 0 0;
	color: #46484E;
}
.c-note{
	font-size: 0.875rem;
	line-height: 1.5625rem;
	padding-left: 1em;
	text-indent: -1em;
}

.c-fill-width{
	width: 100%;
	height: auto;
}
.c-fill-height{
	height: 100%;
	width: auto;
}

/*c-box_article --- kakomi*/
.c-box_article{
	background-color: #f4f4f4;
	padding: 0rem 1.875rem;
}
.c-box_article.c-border{
	padding-left: 29px;
	padding-right: 29px;
	background-color: inherit;
	border: #ccc 1px solid;
}
.c-box_article.c-padding{
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.c-bg_gray{
	background-color: #e6e6e6;
}

/*c-sub_bn*/
.c-sub_bn{
	width: 280px;
	margin: 0 auto 0.75rem;
	box-shadow: 1px 2px 12px -2px rgba(0,0,0,0.3);
}
.c-sub_bn a{
	display: block;
	position: relative;
	background-color: #fff;
}
.c-sub_bn a::after{
	content:"";
	display: block;
	position: absolute;
	top:0px; left: 0px;
	width: 100%; height: 100%;
	background-color: rgba(0,0,0,0.12);
	opacity: 0;
	transition:opacity 0.3s;
}
.c-sub_bn:hover a::after{
	opacity: 1;
}
.c-sub_bn:last-of-type{
	margin-bottom: 0;
}

/*  project
---------------------------------------------------------- */

.p-digest_title_bar{
	width: 100%;
	height: auto;
	background-color: #333;
	margin-top: 10px !important;
	margin-bottom: 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height: 1;
	border-radius: 0 6px 0 0;
}
.p-digest_title_bar__digestLogo{
	flex: 0 0 auto;
	width: 435px;
}
.p-digest_title_bar__month{
	flex: 0 0 auto;
	width: 130px;
	text-align: right;
}

/*
 Utility
*/

.u-mb--none{
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

br.u-spBr{
	display: none;
}
br.u-spNone{}
.u-spNarrow{}


/* snav
----------- */

.p-snav__label{
	padding:0 0 0 1rem;
	margin-top: 10px !important;
	height: 42px;
	background:#333333 !important;
	border-radius: 0px 6px 0px 0px;
	color:#FFFFFF;
	font-size: 1rem !important;
	line-height:1;
	font-weight:bold;
	cursor: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	letter-spacing: 0.06em;
	font-family: Arial, Helvetica, "sans-serif";
}
.p-snav__vol{
	flex: 0 0 auto;
	width: auto;
	margin-left: auto;
	margin-right: 1rem;
	font-weight: normal;
	color: #e6e6e6;
}

#snav>ul.nav {
	width: 100%;
	background-image:none;
}

#snav>ul.nav li a {
	display: block;
	width: 100%;
	padding: 0.5rem 0.625rem 0.5rem 2.125rem;
	background: url(/common/image/arrow_red.png) no-repeat 0.9375rem 0.9375rem;
	color: #363434;
}
#snav>ul.nav>li>a {
	background: url(/common/image/arrow_red_large.png) no-repeat 0.9375rem 0.6875rem;
}

#snav>ul.nav ul li a {
	width: 100%;
	padding: 0.5rem 0.625rem 0.5rem 3rem;
	background: url(/common/image/arrow_red.png) no-repeat 2rem 0.9375rem;
}

#snav>ul.nav li a:hover{
	text-decoration: underline;
}
#snav>ul.nav li ul li a:hover,
#snav>ul.nav li.current ul li a:hover,
#snav>ul.nav li p a:hover {
	background-color:#C0C5CC !important;
}

#snav>ul.nav li.current ul li a {
	background-image:url(/common/image/arrow_red.png) !important;
}
#snav>ul.nav li.current>a,
#snav>ul.nav li.current>p a,
#snav>ul.nav li ul li.current>a {
	background-image:url(/common/image/arrow_gray.png) !important;
	font-weight: bold;
}

#snav>ul.nav>li>p a,
#snav>ul.nav>li.current>a,
#snav>ul.nav>li.current>p a {
	background-image:url(/common/image/arrow_gray_large.png) !important;
	background-position: 0.9375rem 0.6875rem;
}

/*snav_sub*/

.p-snav__sub_heading{
	padding:0.5rem 1rem 0.125rem 3rem;
	cursor:default;
}
#snav>ul.nav li ul li ul>li:first-of-type{
	background-image: none;
}
#snav>ul.nav li ul li ul>li a{
	padding-left: 4.625rem;
	background-position: 3.5rem 0.9375rem;
}

/*  Body Navigaton (第4?第5階層の横移動用ナビ)
---------------------------------------------------------- */
/*bnavを#bodyの外側へ移動 2018*/

.p-bnav *{
	box-sizing:border-box;
}
.p-bnav{
	width: 1160px;
	margin: 2rem auto 2rem;
	padding-top: 2rem;
	text-align: left;
	font-size: 1rem;
	line-height: 1.9375rem;
	display: flex;
	justify-content: space-between;
	border-top: #ccc 1px solid;
}

#bnav {
	margin: 0;
	position:relative;
	font-size: 0.875rem;
	flex: 0 0 auto;
	width: 800px;
}
.p-bnav_sub{
	flex: 0 0 auto;
	width: 300px;
	line-height: 1;
}
.p-bnav_sub__content{
	text-align: center;
	width: 100%;
	padding: 1rem 0 2rem;
	background-color: #EDEEF0;
	border-radius: 4px;
}
.p-bnav_sub a{
	text-decoration: none;
}
.p-bnav_sub__links{
	font-size: 0.9375rem;
	line-height: 1.5;
	padding:0 1rem 1rem;
	margin-bottom: 1.5rem;
	border-bottom: #fff 1px solid;
}
.p-bnav_sub__links li{
	background-image: linear-gradient(to right, #ccc, #ccc 1px, rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0) 2px);
  background-size: 2px 1px;
  background-position: bottom;
  background-repeat: repeat-x;
	padding-bottom: 1px;
}
.p-bnav_sub__links li:last-of-type{
	background: none;
}
.p-bnav_sub__links li a{
	text-align-last: left;
	display: block;
	/*padding: 0.75rem 1rem 0.75rem 1rem;
	background: url(/common/image/arrow_red_large.png) no-repeat 1rem 0.9375rem;*/
	padding: 0.75rem 0.5rem 0.75rem 1.75rem;
	background: url(/common/image/arrow_red_large.png) no-repeat 0.5rem 0.9375rem;
	border-radius: 4px;
	color: #212121;
}
.p-bnav_sub__links li a:hover{
	background-color: #D9DCE0;
}

#bnav h2.p-bnav__label {
	padding: 0.75rem 1rem 0.75rem 1rem;
	background:#333333;
	color:#FFFFFF;
	line-height:1;
	font-size: 1rem !important;
	margin:0px;
	width:300px;
	font-family: Arial, Helvetica, "sans-serif";
	border-radius: 0 6px 0 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	letter-spacing: 0.05em;
}
#bnav .p-bnav__vol{
	font-weight: normal;
}

#bnav a {
	text-decoration:none;
}
#bnav a:hover {
	text-decoration: underline;
}

#bnav > ul.nav {
	padding:10px 0;
	border-top:#666666 1px solid;
	border-bottom:#666666 1px solid;
	font-size: 0.9375rem;
	line-height: 1.7;
}
#bnav > ul ul{
	padding-top:0px;
	margin-left: 1.5rem;
}

#bnav ul.nav > li {
	border-bottom: #e6e6e6 1px solid;
}
#bnav ul.nav > li:last-of-type{
	border-bottom: none;
}
#bnav ul.nav ul > li {
	border-bottom: #d5d5d5 1px dotted;
}
#bnav ul.nav ul > li:last-of-type{
	border-bottom: none;
}
#bnav ul.nav li a{
	display: block;
	padding: 0.5rem 0.8rem 0.5rem 1.75rem;
	background: url(/common/image/arrow_red.png) no-repeat 0.75rem 1rem;
	margin: 0.0625rem 0;
	color: #333;
	border-radius: 4px;
}
#bnav ul.nav>li>a,
#bnav ul.nav>li>p a{
	background: url(/common/image/arrow_red_large.png) no-repeat 0.5rem 0.8125rem;
}
#bnav ul.nav li a:hover{
	background-color: #EDEEF0;
}

#bnav ul li.current > a,
#bnav ul li.current > p a{
	background-image: url(/common/image/arrow_gray.png);
	background-color: #EDEEF0;
	font-weight: bold;
}
#bnav ul.nav>li.current > a,
#bnav ul.nav>li.current > p a,
#bnav ul.nav>li.has_current > p a{
	background-image: url(/common/image/arrow_gray_large.png);
	background-position:  0.5rem 0.8125rem;
}

#bnav > ul li.current > a,
#bnav > ul li ul li.current a{
	color: #333333;
	text-decoration: none;
}

#bnav .p-bnav__sub_heading{
	padding:0.5rem 1rem 0.375rem 2rem;
}

#bnav_pager {
	position:absolute;
	width:auto;
	top:-5rem;
	left: 50%;
	margin-left: -7.5rem;
	font-size: 0.875rem;
}

#bnav_pager ul {
	padding:0px;
	border:none;
	display: flex;
	justify-content:flex-start;
}

#bnav_pager ul li{
	flex: 0 0 auto;
	width:auto;
	background:none;
	padding-left: 0px;
}

#bnav_pager ul li span{
	display:block;
	color:#cccccc;
	padding: 0.5rem 0.75rem 0.5rem 0.75rem;
	line-height: 1;
	border-radius: 4px;
}

#bnav_pager ul li.prev {
	padding-right:10px;
	border-right:#CCCCCC 1px solid;
	margin-right:10px;
}

#bnav_pager ul li.prev span{
	padding-left: 1rem;
	background: url(/news/digest/image_v2/arrow_back_gray.gif) no-repeat 5% 0.75em;
}

#bnav_pager ul li.next span{
	padding-right: 1rem;
	background: url(/news/digest/image_v2/arrow_next_gray.gif) no-repeat 95% 0.75em;
}

#bnav_pager ul li a span{
	display:block;
	color:#1d3994;
}

#bnav_pager ul li.prev a span{
	padding-left: 1rem;
	background: url(/news/digest/image_v2/arrow_back.gif) no-repeat 5% 0.75em;
}

#bnav_pager ul li.next a span{
	padding-right: 1rem;
	background: url(/news/digest/image_v2/arrow_next.gif) no-repeat 95% 0.75em;
}

#bnav_pager ul li a:hover span{
	background-color: #EDEEF0;
}
#bnav_pager a:hover{
	text-decoration: none;
}

/*txt_co2_m2*/

.sub{
	font-size:70%;
}

.sup{
	font-size:70%;
	vertical-align:top;
}

@media print {
	#body{
		width: 860px;
	}
	.p-bnav{
		display: none;
	}
	
}


/****
sp
 ****/
body.sp #body{
	padding-bottom: 0;
}

body.sp #main{
	font-size: 0.9375rem !important;
	padding-bottom: 0;
}

body.sp #main h1, body.sp #main h2 {
    max-width: 106.2% !important;
    overflow: visible;
}
.sp .go_pagetop_frame{
	z-index: 2; display: none;
	opacity: 1;
	transition: inherit;
}

.sp div.section.c-mb--1{
	margin-bottom: 1rem !important;
}
.sp div.section.c-mb--2{
	margin-bottom: 2rem !important;
}

.sp .c-caption{
	color: #5B5D62;
}

.sp .p-digest_title_bar{
	width: 106.2%;
	margin-left: -3.1%;
	margin-right: -3.1%;
	min-height: 36px;
}
.sp .p-digest_title_bar__digestLogo{
	width: 76%;
}
.sp .p-digest_title_bar__month{
	width: 24%;
}

.sp .c-flex_start,
.sp .c-flex_end,
.sp .c-flex_between,
.sp .c-flex_center{
	display: inherit;
}

.sp .col .c-flex_center { display: flex; }

.sp #main .col.c-narrow--60,
.sp #main .col .c-narrow--60,
.sp #main .col3 .col,
.sp #main .col4 .col,
.sp #main .col5 .col,
.sp #main .col5 .col.span-2
{width: 75% !important; margin-left: auto; margin-right: auto;}

.sp #main .col.c-narrow { width: 100% !important; }
.sp #main .col .c-narrow { width: 100% !important; }
.sp #main .col2 .col { width: 100% !important; }
.sp #main .col3 .col.span-2 { width: 100% !important; }
.sp #main .col4 .col.span-2 { width: 100% !important; }
.sp #main .col4 .col.span-3 { width: 100% !important; }
.sp #main .col5 .col.span-3 { width: 100% !important; }
.sp #main .col5 .col.span-4 { width: 100% !important; }

.sp #main .col .c-narrow.c-person { width: 60% !important; }

.sp .c-box_article{
	padding-left:1.25rem !important;
	padding-right:1.25rem !important;
}

.sp .u-fullWidth{
	width: 106.2% !important;
	margin-left: -3.1% !important;
	margin-right: -3.1% !important;
}
.sp #main .u-spNarrow,
.sp #main .col.u-spNarrow{
	width: 75% !important; margin-left: auto; margin-right: auto;
}

.sp br.u-spNone{
	display: none;
}
.sp br.u-spBr{
	display: inline;
}

.sp #sub{
	padding: 0;
	border: none;
}
.sp #snav{
	position: static;
	display: none;
}

.sp .p-bnav{
	display: block;
	width: auto;
	margin: 0 3% 2rem;
	padding-top: 0;
}

.sp #bnav {
	border: none;
	width: auto;
	max-width: 106%;
	margin: 1rem 0;
	padding: 0;
}
.sp .p-bnav_sub{
	width: 100%;
}
.sp .p-bnav_sub__links li a{
	background: none;
}
.sp #bnav h2.p-bnav__label {
	padding: 0.75rem 0.8rem 0.75rem 0.8rem;
	font-size: 1rem;
	width:100%;
}
.sp #bnav > ul.nav {
	border:#ccc 1px solid;
	border-top:none;
	padding: 0.5rem !important;
	line-height: 1.7;
}
.sp #bnav > ul.nav li a{
	display: block;
	padding: 0.5rem 0.5rem 0.5rem 1.375rem;
	margin: 0.125rem 0;
	background: url(/common/image/arrow_red.png) no-repeat 0.25rem 1rem;
	border-radius: 4px;
}
.sp #bnav > ul.nav>li>a,
.sp #bnav > ul.nav>li>p a{
	background: url(/common/image/arrow_red_large.png) no-repeat 0.25rem 0.8125rem;
}

.sp #bnav > ul.nav li.current>a{
	color: #555;
	background: #ededed url(/common/image/arrow_gray.png) no-repeat 0.25rem 1rem;
}
.sp #bnav > ul.nav>li.current> a,
.sp #bnav > ul.nav>li.current>p a{
	background: #ededed url(/common/image/arrow_gray_large.png) no-repeat 0.25rem 0.8125rem;
}
.sp #bnav > ul.nav>li.has_current>p a{
	background: url(/common/image/arrow_gray_large.png) no-repeat 0.25rem 0.8125rem;
}

.sp #bnav > ul ul{
	margin-left: 1.5rem;
	margin-bottom: 0.75rem;
}

.sp #bnav_pager{
	position: static;
	margin-bottom: 1rem;
	margin-left: 0;
}

.sp #bnav_pager ul {
	justify-content: center;
}
