@charset "utf-8";

/* ==================================
     base
===================================== */
body {
	-webkit-text-size-adjust: 100%;
}

#contentsArea,
#footerLink,
footer .irFooter,
.breadcrumb {
	-webkit-text-size-adjust: 100%;
	font-family: Arial, Verdana, Helvetica, Osaka, sans-serif;
	color: #333;
}

#wrapper,
footer {
	width: 100%;
	min-width: 1000px;
}

header,
.globalNav ul,
.breadcrumb ol,
#contentsArea .inner,
footer .irFooter .inner,
.innerLinkArea dl,
#footerLink .row {
	clear: both;
	box-sizing: border-box;
	margin: 0 auto;
	padding-left: 10px;
	padding-right: 10px;
}

#contentsArea .inner {
	width: 820px;
}

header, 
.globalNav ul,
.breadcrumb ol,
footer .irFooter .inner,
.innerLinkArea dl,
#contentsArea .leadArea .inner,
#contentsArea .subArea .inner,
#footerLink .row {
	width: 980px;
}

#contentsArea {
	width: 100%;
	position: relative;
	overflow: hidden;
	color: #333;
	background:#fff;
	margin: 0;
	padding: 0;
}

#contentsArea:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 20px;
	top: 0px;
	background: none;
	-moz-box-shadow: 0px 18px 20px -20px rgba(38,50,56,0.7) inset;
	box-shadow: 0px 20px 20px -20px rgba(38,50,56,0.7) inset;
	z-index: 2000;
}

#contentsArea > section {
	margin: 55px 0 60px;
}

#contentsArea .subArea {
	background: #f2f3f0;
	margin: 35px 0;
	padding: 40px 0 20px;
}

#contentsArea p,
#contentsArea figure,
#contentsArea table {
	margin: 0 0 25px;
}

#contentsArea p,
#contentsArea .talkList {
	line-height: 2;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

li {
	padding: 0;
}

#contentsArea figure {
	text-align: center;
}

#contentsArea figcaption {
	text-align: left;
	margin: 5px 0;
}

img {
	border: none;
}

#contentsArea img {
	vertical-align: top;
}

#contentsArea a img {
	transition: .3s opacity;
}

#contentsArea a:hover img {
	/*opacity: 0.75;*/
}

footer .pdf_icon,
#contentsArea .pdf_icon {
	vertical-align: -12%;
	padding-left: 7px;
	margin-top: 0;
}

#contentsArea sup,
#contentsArea sub {
	padding: 0 2px 0 0;
}

#contentsArea sup {
 	vertical-align: baseline;
	position: relative;
	top: -0.75ex;
}

#contentsArea sub {
	vertical-align: baseline;
}



/* ==================================
     font-size
===================================== */
#contentsArea,
.breadcrumb,
footer,
#footerLink h3 {
	font-size: 14.4px;
}

/* bede16px
6px  37.50%
7px  43.75%
8px  50.00%
9px  56.25%
10px 62.50%
11px 68.75%
12px 75.00%
13px 81.25%
14px 87.50%
15px 93.75%
16px 100.00%
17px 106.25%
18px 112.50%
19px 118.75%
20px 125.00%
21px 131.25%
22px 137.50%
23px 143.75%
24px 150.00%*/

/*22px*/
.heroArea,
#contentsArea h3.typeB {
	font-size: 137.50%;
}
	/*18px*/
	.heroArea h1,
	.heroArea .name {
		font-size: 81.81%;
	}
		/*13px*/
		.heroArea .name span {
			font-size: 72.22%;
		}

/*20px*/
#contentsArea h2 {
	font-size: 125%;
}
	/*14px*/
	#contentsArea h2 .subtitle {
		font-size: 70%;
	}


/*18px*/
#contentsArea h3 {
	font-size: 112.50%;
}

/*16px*/
#contentsArea.interview01 h2,
#contentsArea.interview02 h2 {
	font-size: 100%;
}

/*14px*/
#footerLink .col ul,
#contentsArea .profileArea {
	font-size: 87.50%;
}
	/*19px*/
	#contentsArea .profileArea h2 {
		font-size: 135.71%;
	}
		/*14px*/
		#contentsArea .profileArea h2 span {
			font-size: 73.68%;
		}

/*12px*/
footer .irFooter,
.breadcrumb ol,
#contentsArea figcaption,
#contentsArea .smallText {
	font-size: 75.00%;
}

/*10px*/
#contentsArea p sup,
#contentsArea p sub {
	font-size: 62.50%;
}


/* ==================================
     font-color (base #333)
===================================== */
/*#333*/
footer,
#footerLink a,
#footerLink .row li a:visited,
#footerLink .row li a:hover,
.breadcrumb a,
.breadcrumb a:hover,
.breadcrumb a:visited,
#contentsArea .profileArea h2 {
	color: #333;
}

/*#145897*/
#contentsArea a,
#contentsArea a:hover,
#contentsArea a:visited {
	color: #145897;
}

/*#06c*/
#contentsArea h2,
#contentsArea .messageBlue,
#contentsArea .talkList dt {
	color: #06c;
}

/*#fff*/
footer .irFooter,
footer .irFooter a,
footer .irFooter a:visited,
#contentsArea .midtermPlanArea .frameHead {
	color: #fff;
}

/*#a0a3aa*/
#contentsArea .innerLinkArea dt {
	color: #a0a3aa;
}



/* ==================================
     text-decoration
===================================== */
#contentsArea a:link,
#contentsArea a:hover,
#contentsArea a:visited,
.breadcrumb a {
	text-decoration: none;
}

#contentsArea ul li a:hover,
footer #footerLink a:hover,
footer article a:hover,
.breadcrumb a:hover,
#contentsArea .innerLinkArea dd a:hover {
	text-decoration: underline;
}


/* ==================================
     heading：見出し
===================================== */
#contentsArea h1 {
	font-weight: normal;
	line-height: 1.25;
	margin: 0 0 16px;
}

#contentsArea h2 {
	text-align: center;
	line-height: 1.3;
	/*background: url(/about/investors/ir_library/ar/ar2016/img/bg_border_001.svg) repeat-x 0 center;*/
	margin: 40px 0 18px;
}

#contentsArea h2 > span {
	display: inline-block;
	width: 760px;
	/*background: url(/about/investors/ir_library/ar/ar2016/img/icon_arrow_002.svg) no-repeat 0 center, url(/about/investors/ir_library/ar/ar2016/img/icon_arrow_003.svg) no-repeat right center;
	background-color: #fff;*/
	padding: 11px 23px 9px;
}

#contentsArea h2 .subtitle {
	display: inline-block;
	margin: 0 0 4px;
}

#contentsArea h3 {
	line-height: 1.5;
	position: relative;
	margin: 56px 0 22px;
	padding: 0 0 0 0;
}

#contentsArea h3:before {
	/*content: "";
	display: block;
	width: 6px;
	height: 15px;
	background: #06c;
	position: absolute;
	top: 0.3em;
	left: 0;*/
}

#contentsArea h3.typeB {
	line-height: 1.45;
	text-align: center;
	margin: 42px 0 25px;
	padding: 0;
}

#contentsArea h3.typeB:before {
	display: none;
}


/* ==================================
     unit
===================================== */
#contentsArea .unit {
	float: left;
	margin-right: 44px;
}

#contentsArea .subArea .unit,
#contentsArea .size980 .size1of3 {
	margin-right: 50px;
}

#contentsArea .unit:last-child {
	margin-right: 0;
}

#contentsArea .unit > :last-child {
	margin-bottom: 0;
}


/* ==================================
     size
===================================== */
#contentsArea .size980 {
	width: 980px;
}

#contentsArea .size752 {
	width: 752px;
}

#contentsArea .size185 {
	width: 185px;
}

#contentsArea .size1of2 {
	width: 378px;
}

#contentsArea .subArea .size1of2,
#contentsArea .size980 .size1of2 {
	width: 455px;
}

#contentsArea .size1of3 {
	width: 237px;
}

#contentsArea .subArea .size1of3,
#contentsArea .size980 .size1of3 {
	width: 286px;
}

#contentsArea .subArea .size2of3,
#contentsArea .size980 .size2of3 {
	width: 622px;
}


/* ==================================
     table
===================================== */
#contentsArea table {
	line-height: 1.125;
	border-collapse: collapse;
	width: 100%;
}

#contentsArea th,
#contentsArea td {
	font-weight: normal;
	text-align: left;
	vertical-align: middle;
	border: #8e8e8e 1px solid;
	background: #fff;
	padding: 8px 15px 6px;
}

#contentsArea th:first-child,
#contentsArea td:first-child {
	border-left: none;
}

#contentsArea th:last-child,
#contentsArea td:last-child {
	border-right: none;
}

#contentsArea th {
	background: #dadcdc;
}

#contentsArea thead th {
	text-align: center;
}

#contentsArea th > :last-child,
#contentsArea td > :last-child {
	margin-bottom: 0;
}


/* ==================================
     .discList01
==================================== */
.discList01 {
	list-style: disc;
	margin: 0 0 25px;
	padding: 0 0 0 20px;
}
.discList01 li {
	margin: 0 0 10px;
}

.discList01 li:last-child {
	margin-bottom: 0;
}

.discList01 .discList01 {
	margin-top: 10px;
}


/* ==================================
     .talkList
===================================== */
#contentsArea .talkList dt {
	font-weight: 600;
	width: 90px;
	float: left;
	clear: both;
	font-size:16px;
}

#contentsArea .talkList dd {
	margin: 0 0 32px 90px;
}


/* ==================================
     .notation
===================================== */
#contentsArea dl.notation {
	line-height: 1.4;
}

#contentsArea dl.notation dt {
	width: 2em;
	float: left;
	clear: both;
}

#contentsArea dl.notation dd {
	margin-left: 2em;
}


/* ==================================
     heroArea 
===================================== */
#contentsArea .heroArea {
	background: url(/about/investors/ir_library/ar/ar2017/img/bg1.png) no-repeat calc(50% - 17px) top !important;
	color: #fff;
}

#contentsArea .heroArea .inner {
	width: 980px;
	min-height: 350px;
	position: relative;
	z-index: 1;
}

#contentsArea .heroArea h1{
	font-weight: bold !important;
	font-size: 18px;
}

#contentsArea .heroArea .text {
	width: 470px;
	position: absolute;
	top: 50%;
	left: 10px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	margin: 12px 0 0;
	font-size: 22px;
}

#contentsArea .heroArea p {
	line-height: 1.3;
	margin: 0 0 17px;
}

#contentsArea .heroArea .name {
	margin: 0;
	font-size: 18px;
}

#contentsArea .heroArea .name span {
	line-height: 1.61;
	display: inline-block;
	margin: 0 0 4px;
	font-size: 13px;
}

#contentsArea .heroArea div.name {
	display: table;
	margin: 0 auto;
}

#contentsArea .heroArea div.name p {
	vertical-align: middle;
	display: table-cell;
	box-sizing: border-box;
}

#contentsArea .heroArea figure {
	position: absolute;
	top: 0;
	left: -24px;
	z-index: -1;
}

/* for interview01 page (/about/investors/ir_library/ar/ar2016/interview01/index.html) */
/*
#contentsArea.interview01 .heroArea .text {
	width: 458px;
	left: 532px;
	margin-top: 8px;
}
*/

/* for interview02 page (/about/investors/ir_library/ar/ar2016/interview01/index.html) */
#contentsArea.interview02 .heroArea .text {
	width: 458px;
	left: 532px;
	margin-top: 8px;
}

#contentsArea.interview02 .heroArea .name {
	margin: 0;
}

#contentsArea.interview02 .heroArea .name p:nth-child(2),
#contentsArea.interview02 .heroArea .name p:nth-child(4) {
	padding: 0 10px;
}

/*  for talk page (/about/investors/ir_library/ar/ar2017/talk/index.html) */
#contentsArea.talk .heroArea h1{
	font-size: 16px;
}

#contentsArea.talk .heroArea .text {
	font-size: 20px;
	text-align: center;
	width: 314px;
	left: 333px;
	margin-top: 8px;
}

#contentsArea.talk .heroArea .name {
	font-size: 17px;
}

#contentsArea.talk .heroArea .name p {
	padding: 0 5px;
}


/* ==================================
     .leadArea
===================================== */
#contentsArea .leadArea {
	background: #f2f3f0;
	padding: 45px 0 16px;
}

#contentsArea .leadArea .inner > :last-child {
	margin-bottom: 0;
}


/* ==================================
     .innerLinkArea
===================================== */
#contentsArea .innerLinkArea {
	background: #f2f3f0;
	padding: 26px 0 22px;
}

#contentsArea .innerLinkArea dt,
#contentsArea .innerLinkArea dd {
	background: url(/about/investors/ir_library/ar/ar2016/img/bg_dasshed_001.svg) repeat-x 0 bottom;
	padding: 0 0 1px;
}

#contentsArea .innerLinkArea dl > :last-child {
	background: none;
	padding: 0;
}

#contentsArea .innerLinkArea dt {
	text-align: center;
	line-height: 1;
	padding: 0 0 4px;
}

#contentsArea .innerLinkArea dd {
	margin: 0;
}

#contentsArea .innerLinkArea dt a,
#contentsArea .innerLinkArea dd a {
	display: block;
	background: url(/about/investors/ir_library/ar/ar2017/img/icon_arrow_001.svg) no-repeat 57px center;
	padding: 9px 0 6px 80px;
}


/* ==================================
     .profileArea
===================================== */
#contentsArea .profileArea {
	margin: 80px 0 67px;
}

#contentsArea .profileArea figure,
#contentsArea .profileArea .text {
	float: left;
}

#contentsArea .profileArea figure {
	width: 177px;
	margin-right: 26px;
}

#contentsArea .profileArea .text {
	width: 597px;
}

#contentsArea .profileArea h2 {
	text-align: left;
	line-height: 1.473;
	font-weight: normal;
	background: none;
	margin: 0 0 17px;
}

#contentsArea .profileArea h2 span {
	width: auto;
	background: none;
	padding: 0;
}

#contentsArea .profileArea h3 {
	line-height: 1.39;
	border-bottom: #06c 1px dotted;
	margin: 17px 0 12px;
	padding: 0;
}

#contentsArea .profileArea h3:before {
	display: none;
}

#contentsArea .profileArea p {
	line-height: 1.64;
}

/*size1of2, size1of3*/
#contentsArea .profileArea .unit figure,
#contentsArea .profileArea .unit .text {
	float: none;
	width: auto;
}

#contentsArea .profileArea .unit figure {
	margin: 0 0 8px;
}

#contentsArea .profileArea .unit h2,
#contentsArea .profileArea .unit h3 {
	text-align: center;
}

/* ==================================
     .midtermPlanArea
===================================== */
#contentsArea .midtermPlanArea .size752 {
	margin-right: 23px;
}

#contentsArea .midtermPlanArea tbody {
	border:  #06c 3px solid;
}

#contentsArea .midtermPlanArea tbody th {
	background: #b2d1f0;
	border-left: #06c 4px solid;
}

#contentsArea .midtermPlanArea .frameHead {
	text-align: center;
	background: #06c;
	border: #06c 3px solid;
	padding: 7px 5px 5px;
}

#contentsArea .midtermPlanArea .revision tbody {
	border: none;
}

#contentsArea .midtermPlanArea .revision tbody tr:first-child td {
	padding-top: 10px;
}

#contentsArea .midtermPlanArea .revision tbody tr:last-child td {
	padding-bottom: 8px;
}


/* ==================================
     .roadmapArea
===================================== */
#contentsArea .roadmapArea th.typeA,
#contentsArea .roadmapArea th.typeB,
#contentsArea .roadmapArea th.typeC {
	background: #fff;
	border-left: 5px solid;
}

#contentsArea .roadmapArea th.typeA {
	border-left-color: #009cdb;
}
#contentsArea .roadmapArea th.typeB {
	border-left-color: #e73c84;
}
#contentsArea .roadmapArea th.typeC {
	border-left-color: #cea100;
}


/* ==================================
     header
===================================== */
header {
	width: 970px;
	padding: 0;
}

.configUnit {
	font: small Arial, Helvetica, sans-serif;
}

header div.svgSwitch .leftBox p.siteNameFull {
	margin-top: 32px;
}




/* ==================================
     globalNav
===================================== */
.globalNav {
	position: relative;
	background: #fff;
	overflow: visible;
}

.globalNav ul {
	display: table;
	height: 41px;
	padding: 0 5px;
}

.globalNav ul li {
	border-right: solid 1px #dbdbdb;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: auto;
}

.globalNav ul li:first-child {
	width: 50px;
	border-left: solid 1px #dbdbdb;
}

.globalNav ul li a {
	line-height: 37px;
	min-height: 41px;
	transition: none;
	display: block;
	/*padding: 0 0 3px;*/
}
.globalNav ul li.current a,
.globalNav ul li a.over {
	background: #0066cc;
}

.globalNav ul li:first-of-type a {
	cursor: pointer;
}

.globalNav ul li a img {	
	vertical-align: middle;
}


/* ==================================
     .breadcrumb
===================================== */
.breadcrumb {
	border-top: #dbdbdb 1px solid;
	margin: 10px 0 0;
}

.breadcrumb ol {
	font-size: 84%;
	list-style: none;
	margin: 0 auto;
	padding: 7px 10px 8px;
}

.breadcrumb li {
	display: inline-block;
}

.breadcrumb li:after {
	content: ">";
	margin: 0 0 0 5px;
}

.breadcrumb li:last-child:after {
	display: none;
}

/* ==================================
     #footerLink
===================================== */
#footerLink {
    background: #f2f3f0;
	border-top: #06c 1px solid;
    margin: 0px auto;
    padding: 68px 0 93px;
}

#footerLink .row h2 {
	font-weight: bold;
	font-size: 17px;
}

#footerLink .row h2:last-child {
	margin-bottom: 0;
}

#footerLink .row h2 a {
	display: block;
}

.msie9 #home #footerLink .colBox {
	display: table;
}

#footerLink .colBox {
	justify-content: space-between;
	/*border-bottom: #0066cc 1px dotted;*/
	padding-bottom: 38px;
	margin-bottom: 23px; 
}

#footerLink .colBox .col {
	width: 150px;
	float: left;
	margin: 0 12px 0 0;
}

#footerLink .colBox .col:last-child {
	margin: 0;
}

#footerLink .colBox .col h3.colHead {
	color: #fff;
	min-height: 60px;
	background: #0066cc;
	margin: 18px 0 21px;
}

#footerLink .colBox .col h3.colHead a,
#footerLink .colBox.withoutLink .col h3.colHead {
	display: table;
	width: 100%;
	color: #fff;
	box-sizing: border-box;
	padding: 5px 10px;
}

#footerLink .colBox .col h3.colHead a:after,
#footerLink .colBox.withoutLink .col h3.colHead:after {
	content: "";
	line-height: 1;
	vertical-align: top;
	display: inline-block;
	min-height: 50px;
}

#footerLink .colBox .col h3.colHead a span,
#footerLink .colBox.withoutLink .col h3.colHead span {
	display: table-cell;
	vertical-align: middle;
	color: #fff;
}

#footerLink .colBox .col ul {
	margin: 0;
}

#footerLink .colBox .col ul li {
	display: block;
	margin: 8px 0;
	line-height: 1.42;
	position: relative;
	padding-left: 9px;
}

#footerLink .colBox .col ul li:before {
    content: "";
    background: #0066cc;
    display: block;
    width: 4px;
    height: 12px;
    position: absolute;
    left: 0;
    top: 3px;
}

#footerLink .colBox .col ul li:nth-of-type(1) {
	margin-top: 0;
}

#footerLink .colBox .col ul li:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

#footerLink .row .pdfBox {
	width: 438px;
	border: 1px solid #8297c9;
	padding: 15px 15px 15px;
}

#footerLink .row .pdfBox ul li {
	padding-top: 2px;
	padding-bottom: 2px;
}

#footerLink .row .pdfBox ul li a {
	font-weight: bold;
}

#footerLink .row .pdfBox p {
	padding: 0px;
}



/* ==================================
     #page-top
===================================== */
#page-top,
#page-top a {
	transition: .25s;
}

#page-top {
	position: fixed;
	bottom: 30px;
	right: 20px;
	margin: 0;
	opacity: 0;
	z-index: -2;
}

#page-top.show {
	opacity: 1;
	z-index: 999;
}

#page-top.bottom {
	bottom: 80px;
}

#page-top a {
	text-indent: 100%;
	white-space: nowrap;
	display: block;
	overflow: hidden;
	background: #06c url(/about/investors/ir_library/ar/ar2017/img/icon_arrow_004.svg) no-repeat center center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	opacity: .7;
}

#page-top a:hover {
	opacity: 1;
}


/* ==================================
     footer
===================================== */
footer {
	background-color: #75757c;
	margin: 0 auto;
	padding-top: 0px;
	clear: both;
	overflow: hidden;
}
footer article .leftNav {
	width: auto;
}

footer article ul li,
footer article ul li:last-of-type{
	background: none;
	padding: 0 6px 0 6px;
}

footer .irFooter {
	font-size: 80%;
}
footer .irFooter .inner {
	display: flex;
  	-webkit-justify-content: space-between;
  	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;

	background: #75757c;
	box-sizing: border-box;
	height: 34px;
}

footer .irFooter article ul li {
	display: inline-block;
	border-right: 1px solid #fff;
}
footer .irFooter article ul li:nth-of-type(1) {
	border-left: 1px solid #fff;
}

footer .irFooter article .rightNav {
	display: none;
}

footer .irFooter p.copyright {
	border: none;
	margin: 0;
	padding: 0;
}

footer .irFooter p.copyright small {
	color: #fff;
}


/* ============================================
      ajustment
============================================ */
/* align */
.alignC {
	text-align: center !important;
}
.alignR {
	text-align: right !important;
}
.alignL {
	text-align: left !important;
}
.vAlignC {
	vertical-align: middle !important;
}

/*letter-spacing*/
.kerning-6 {
	letter-spacing: -.06em;
}
.kerning-5 {
	letter-spacing: -.05em;
}
.kerning-4 {
	letter-spacing: -.04em;
}
.kerning-3 {
	letter-spacing: -.03em;
}
.kerning-2 {
	letter-spacing: -.02em;
}
.kerning-1 {
	letter-spacing: -.01em;
}

/* margin/padding */
.marginTop0 {
	margin-top: 0 !important;
}

.marginTop25 {
	margin-top: 25px !important;
}

.marginTop300 {
	margin-top: 300px !important;
}

.marginBottom0 {
	margin-bottom: 0 !important;
}


/* ==================================
     clearfix
===================================== */
.row:after,
.irFooter:after,
.heroArea .inner:after,
.profileArea .inner:after {
    content: "";
    display: block;
    clear: both;
}