@charset "utf-8"; /* CSS Document */
/*------------------------

共通

------------------------*/
@media all and (-ms-high-contrast: none) {
	.csr-sitemap-container {
		padding-top: 2.2rem;
	}
}
.csr-row {
	display: flex;
	justify-content: space-between;
}
.csr-row-sp {
	display: flex;
	justify-content: space-between;
}
.container-inner {
	flex-basis: 880px;
	width: 880px;
}
.container-inner > .column-container {
	width: 100%;
	padding-top: 1.4rem;
	padding-bottom: 8.0rem;
}
.container-inner > .column-detail {
	margin-bottom: 8.0rem;
}
.container-inner > .column-container:first-child,
.container-inner > .column-basic + .column-container {
	padding-top: 0;
}
.container-inner > .column-container:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}
.column-container > section {
	margin-top: 4.0rem;
}
.column-container section:not(.row) > section {
	margin-top: 3.0rem;
}
.heading-lv3-csr + section,
.heading-lv4-csr + section {
	margin-top: 0;
}

.column-container > section:last-child,
.column-container section > section:last-child,
.column-container > section:not(.column-detail):not(.column-emphasis):not(.column-topics):last-child p:last-child,
.column-container section:last-child > section:not(.column-detail):not(.column-emphasis):not(.column-topics):last-child p:last-child,
.column-container > section:not(.column-detail):not(.column-emphasis):not(.column-topics):last-child ul:last-child,
.column-container section:last-child > section:not(.column-detail):not(.column-emphasis):not(.column-topics):last-child ul:last-child,
.column-container > section:not(.column-detail):not(.column-emphasis):not(.column-topics):last-child ol:last-child,
.column-container section:last-child > section:not(.column-detail):not(.column-emphasis):not(.column-topics):last-child ol:last-child,
.column-container > section:not(.column-detail):not(.column-emphasis):not(.column-topics):last-child dl:last-child,
.column-container section:last-child > section:not(.column-detail):not(.column-emphasis):not(.column-topics):last-child dl:last-child {
	margin-bottom: 0;
}

.box-center .column-item {
	display: inline-block;
	margin: 0 auto;
}
a:hover img {
	opacity: 0.7;
}
.break {
	word-break: break-word;
	overflow-wrap: break-word;
}
.list-bullet.blue>li:before {
	background-color:#005bac;
}

@media screen and (min-width: 768px) {
	.pc_none,
	.slide_sp {
		display: none;
	}
	.sp_none {
		display: block;
	}
	
}

@media screen and (max-width: 767px) {
	.pc_none,
	.slide_sp {
		display: block;
	}
	.sp_none {
		display: none;
	}
	.csr-row {
		flex-direction: column;
	}
	.container-inner {
		width: 100%;
		flex-basis: auto;
	}
	.container-inner > .column-container {
		padding-bottom: 3.0rem;
	}
	.container-inner > .column-detail {
		margin-bottom: 3.0rem;
	}
	.container-inner > .column-container:last-of-type {
		margin-bottom: 5.0rem;
	}
	.column-container > section {
		margin-top: 3.0rem;
	}
	.column-container section > section {
		margin-top: 2.0rem;
	}

	section.row.mt-0-sp{
		margin-top: 0;
	}
	
}

/*------------------------

リンク類

------------------------*/
/* 頭に円矢印付き -----------*/
.link-arrow {
		position: relative;
		padding-left: 2.5rem;
	}
.link-arrow a {
	color: #545454;
}
.link-arrow a:hover {
	color: #005bac;
	text-decoration: underline;
}
.link-arrow a::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	position: relative;
	float: left;
	top: .2rem;
	left: -2.5rem;
	background: #005bac;
	margin-right: -2em;
	border-radius: 50%;
}
.link-arrow a::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	position: absolute;
	box-sizing: border-box;
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
	transform: rotate(-45deg);
	top: .7rem;
	left: .3rem;
}

@media screen and (max-width: 767px) {
	.link-arrow {
		padding-left: 2.0rem;
	}
	.link-arrow a::before {
		width: 16px;
		height: 16px;
		top: .1rem;
		left: -2.0rem;
		margin-right: -1.5em;
	}
	.link-arrow a::after {
		width: 6px;
		height: 6px;
		top: .6rem;
		left: .4rem;
	}
}

/*------------------------

見出し、テキスト類

------------------------*/
.font-white {
	color: #fff;
}

.heading-lv3-csr {
	color: #005bac;
	font-size: 2.2rem;
	margin-bottom: 1.5rem;
}
.heading-lv4-csr {
	font-size: 1.6rem;
	border-top: 1px solid #c6c6c6;
	padding-top: 1.0rem;
	margin-bottom: 1.25rem;
}
.heading-lv5-csr {
	font-size: 1.6rem;
	margin-bottom: 1.25rem;
}
.heading-chart {
	font-size: 1.6rem;
	color: #005bac;
	padding-left: 1.25em;
}
.heading-chart::before {
	content: "";
	width: .75em;
	height: .75em;
	display: block;
	float: left;
	margin-top: .15em;
	margin-left: -1.25em;
	background: #005bac;
}
.text-large {
	font-size: 2.4rem;
	font-weight: 700;
}

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

	.heading-lv3-csr {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.heading-lv4-csr,
	.heading-chart {
		font-size: 1.4rem;
	}
	.heading-lv5-csr {
		font-size: 1.4rem;
		margin-bottom: 1.0rem;
	}
	.heading-lv4-csr {
		margin-bottom: 1.0rem;
		padding-top: 1.9rem;
	}

}

/*------------------------

サイドナビ

------------------------*/
.column-nav {
	flex-basis: 276px;
}
.column-nav .csr-side-title {
	width: 100%;
	line-height: 60px;
	background: #009de6;
	color: #fff;
	font-size: 1.8rem;
	margin-bottom: 0;
	padding-left: .9em;
}
ul.csr-side-list {
	background: #d9f0fb;
	border-bottom: 1px solid #009de6;
	line-height: 1.4;
}
/* 親メニュー　-------------------*/
ul.csr-side-list li {
	margin-bottom: 0;
	margin-top: -1px;
	position: relative;
}
ul.csr-side-list li a,
ul.csr-side-list li p {
	width: 100%;
	border-top: 1px solid #b2cee6;
	border-bottom: 1px solid #b2cee6;
	color: #545454;
	padding-top: 1em;
	padding-bottom: 1em;
	padding-left: 1em;
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 0;
}
ul.csr-side-list li:last-child a {
	border-bottom: none;
}
ul.csr-side-list li.active {
	background: #b2e2f7;
}
ul.csr-side-list li p:hover {
	cursor: pointer;
	text-decoration: underline;
}
.open_child,
.open_child_sub {
	position: absolute;
	top: 50%;
	right: .7em;
	transform: translateY(-50%);
	display: block;
	width: 14px;
	height: 14px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.open_child:before,
.open_child:after,
.open_child_sub:before,
.open_child_sub:after {
	display: block;
	content: '';
	background-color: #005bac;
	position: absolute;
	width: 14px;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.open_child:before,
.open_child_sub:before{
	width: 2px;
	height: 14px;
}
ul.csr-side-list li p.selected .open_child:before,
ul.csr-side-list li p.selected .open_child_sub:before {
	content: normal;
}
/* 子メニュー　-------------------*/
ul.csr-side-list ul.child li a,
ul.csr-side-list ul.child li p {
	border-top: none;
	border-bottom: none;
	padding-left: 2em;
	align-items: baseline;
	margin-bottom: 0;
}
ul.csr-side-list ul.child li a:before,
ul.csr-side-list ul.child li p:before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 6px;
	box-sizing: border-box;
	border-bottom: solid 1px #005bac;
	border-left: solid 1px #005bac;
	position: absolute;
	top: 2.3rem;
	left: 1em;
}
ul.child {
	display: none;
}
.open_child_sub {
}

/* 孫メニュー　-------------------*/
ul.csr-side-list ul.child_sub li a{
	padding-left: 3em;
}
ul.csr-side-list ul.child_sub li a:before {
	display: none;
}
ul.child_sub  {
	display: none;
}

/* ページリンク　-------------------*/
ul.csr-side-list li.link-arrow-nav a:after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	box-sizing: border-box;
	border-right: solid 1px #005bac;
	border-bottom: solid 1px #005bac;
	transform: rotate(-45deg);
	margin: auto 1em auto auto;
}
ul.csr-side-list li a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.column-nav {
		flex-basis: auto;
	}
	.column-nav .csr-side-title {
		line-height: 36px;
		font-size: 1.6rem;
	}
	ul.csr-side-list li a,
	ul.csr-side-list li p {
		padding-top: .6em;
		padding-bottom: .6em;
	}
	ul.csr-side-list li p:hover {
		text-decoration: none;
	}
	.open_child {
		right: .7em;
		width: 12px;
		height: 12px;
	}
	.open_child:before, .open_child:after {
		width: 12px;
		height: 2px;
	}
	.open_child:before {
		width: 2px;
		height: 12px;
	}
	ul.csr-side-list ul.child li a:before,
	ul.csr-side-list ul.child li p:before {
		width: 8px;
		height: 4px;
		top: 1.6rem;
	}
	ul.csr-side-list li.link-arrow-nav a:after {
		width: 6px;
		height: 6px;
	}
}


/*------------------------

中面-共通

------------------------*/
/* 基本的な考え方、通常枠、強調枠 -----------*/
.column-basic {
	background-color: #d5ecff;
	position: relative;
	margin-bottom: 8.0rem;
}
.column-basic:before {
	content: "";
	border-top: 4px solid #c6c6c6;
	display: block;
	width: 100%;
	position: absolute;
}
.column-basic:after {
	content: "";
	border-top: 4px solid #005bac;
	display: block;
	width: 185px;
	position: absolute;
	top: 0;
}
.column-detail {
	background-color: #d5ecff;
	margin-bottom: 2.0rem;
}
.column-emphasis {
	background-color: #d5ecff;
	border-top: 5px solid #005bac;
	border-bottom: 5px solid #005bac;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2.0rem;
}
.basic-inner,
.detail-inner {
	padding: 3rem 3rem .1rem 3rem;
}
.emphasis-inner {
	padding: 3rem 2rem .1rem 2rem;
}
.basic-out,
.detail-out {
	padding-top: 1em;
	background: #fff;
}
.heading-basic,
.heading-detail,
.heading-emphasis {
	font-size: 2.4rem;
	margin-bottom: .75em;
}

/* topics＆voice -----------*/
.column-topics {
	background-color: #d5ecff;
}
.heading-topics {
	font-size: 2.4rem;
	border-bottom: 1px solid #005bac;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 2rem 2rem 1rem;
}
.heading-topics span {
	font-size: 1.8rem;
	color: #005bac;
	margin-right: 2rem;
}
.topics-inner {
	padding: 2rem 3rem .1rem 3rem;
}

@media only screen and (max-width: 767px) {
	.column-basic {
		margin-bottom: 5.0rem;
	}
	.basic-inner,
	.detail-inner {
		padding: 2rem 1.2rem .1rem 1.2rem;
	}
	.emphasis-inner {
		padding: 2rem 0 .1rem 0;
	}
	.heading-basic,
	.heading-detail,
	.heading-emphasis {
		font-size: 1.8rem;
		margin-bottom: .5em;
	}
	.heading-topics {
		font-size: 1.8rem;
		padding: 2rem 1.2rem 1rem;
	}
	.heading-topics span {
		font-size: 1.2rem;
		margin-right: 1.2rem;
	}
	.topics-inner {
		padding: 1rem 1.2rem .1rem 1.2rem;
	}

}

/* 表組み -----------*/
.container-inner table th,
.container-inner table td {
	padding: .75em;
}
.container-inner table th {
	background: #edf4fb;
	font-weight: 700;
}
.container-inner table th.vmiddle {
	vertical-align: middle;
}
.table-no-line {
	border-bottom: 1px solid #fff !important;
}
.table-list-blue {
	position: relative;
	margin-left: 2.3rem;
}
.table-list-blue::before {
	content: "●";
	color: #005bac;
	position: absolute;
  font-size: 1.3rem;
	display: inline-block;
	left: -2.3rem;
}
.table-vertical {
	-webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
	height: max-content;
}

@media only screen and (max-width: 767px) {
	.sp_scroll {
		overflow-x: scroll;
	}
	.sp_scroll table {
		width: 880px;
	}
	.container-inner table th,
	.container-inner table td {
		padding: .5em .5em;
	}
	.table-list-blue {
		margin-left: 2.2rem;
	}
	.table-list-blue::before {
		content: "●";
		font-size: 1.2rem;
		left: -2.2rem;
	}	
}
/* リスト -----------*/
.list-wrap {
	display: table;
	margin-left: auto;
	margin-right: auto;
}
.list-csr {
	margin-bottom: 1.9rem;
}
.list-csr > li,
.list-csr {
  position: relative;
}
.pl-1w:not(ul):not(ol):not(dl),
.pl-1w > li {
	padding-left: 1em;
}
.pl-1w:not(ul):not(ol):not(dl),
.pl-2w > li {
	padding-left: 2em;
}
.pl-3w:not(ul):not(ol):not(dl),
.pl-3w > li {
	padding-left: 3em;
}
.pl-4w:not(ul):not(ol):not(dl),
.pl-4w > li {
	padding-left: 4em;
}
.pl-5w:not(ul):not(ol):not(dl),
.pl-5w > li {
	padding-left: 5em;
}
.pl-6w:not(ul):not(ol):not(dl),
.pl-6w > li {
	padding-left: 6em;
}
.pl-7w:not(ul):not(ol):not(dl),
.pl-7w > li {
	padding-left: 7em;
}
.pl-8w:not(ul):not(ol):not(dl),
.pl-8w > li {
	padding-left: 8em;
}
.pl-9w:not(ul):not(ol):not(dl),
.pl-9w > li {
	padding-left: 9em;
}
.pl-10w:not(ul):not(ol):not(dl),
.pl-10w > li {
	padding-left: 10em;
}
.list-csr li > .list__mark {
  position: absolute;
  top: 0;
  left: 0
}
dl.list-csr .list__mark {
  position: relative;
 }
.list-colon li > .list__mark::after,
dl.list-colon .list__mark::after {
	content: "：";
	position: absolute;
	right: 0;
}
.pl-1w .list__mark {
	width: 1em;
}
.pl-2w .list__mark {
	width: 2em;
}
.pl-3w .list__mark {
	width: 3em;
}
.pl-4w .list__mark {
	width: 4em;
}
.pl-5w .list__mark {
	width: 5em;
}
.pl-6w .list__mark {
	width: 6em;
}
.pl-7w .list__mark {
	width: 7em;
}
.pl-8w .list__mark {
	width: 8em;
}
.pl-9w .list__mark {
	width: 9em;
}
.pl-10w .list__mark {
	width: 10em;
}
dt, dd {
	margin-bottom: .48rem;
}
dl.list-csr {
	display: flex;
	flex-wrap: wrap;
}
.pl-1w dd {
	width: calc(100% - 1em);
}
.pl-2w dd {
	width: calc(100% - 2em);
}
.pl-3w dd {
	width: calc(100% - 3em);
}
.pl-4w dd {
	width: calc(100% - 4em);
}
.pl-5w dd {
	width: calc(100% - 5em);
}
.pl-6w dd {
	width: calc(100% - 6em);
}
.pl-7w dd {
	width: calc(100% - 7em);
}
.pl-8w dd {
	width: calc(100% - 8em);
}
.pl-9w dd {
	width: calc(100% - 9em);
}
.pl-10w dd {
	width: calc(100% - 10em);
}
.pl-1w.list-colon dd {
	width: calc(100% - 2em);
}
.pl-2w.list-colon dd {
	width: calc(100% - 3em);
}
.pl-3w.list-colon dd {
	width: calc(100% - 4em);
}
.pl-4w.list-colon dd {
	width: calc(100% - 5em);
}
.pl-5w.list-colon dd {
	width: calc(100% - 6em);
}
.pl-6w.list-colon dd {
	width: calc(100% - 7em);
}
.pl-7w.list-colon dd {
	width: calc(100% - 8em);
}
.pl-8w.list-colon dd {
	width: calc(100% - 9em);
}
.pl-9w.list-colon dd {
	width: calc(100% - 10em);
}
.pl-10w.list-colon dd {
	width: calc(100% - 11em);
}


/* 人材マネジメント -----------*/
.row_president {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 1.9rem;
}
.row_president p {
    margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	.row_president {
    display: block;
}
}

/* 人材マネジメント -----------*/
.row_hrd {
    width: 100%;
    max-width: 880px;
    position: relative;
}
.row_hrd img.hrd_im02 {
    position: absolute;
    top: 0;
    left: 0;
}
.row_hrd .hrd_im03 {
    overflow-x: scroll;
    width: auto;
    margin-left: 120px;
}
.hrd-box {
    border-radius: 6px;
    border: 1px solid #13a7eb;
    padding: 15px 15px 0px 15px;
	margin-bottom: 1.3rem;
}
.hrd-box p.blue{
	color: #13a7eb;
}
.hrd-box .h80 {
    min-height: 80px;
}
@media screen and (max-width: 767px) {
.row_hrd img.hrd_im02{
	height: 300px;
}
.row_hrd .hrd_im03 {
    margin-left: 73px;
}
.row_hrd .hrd_im03 img {
	height: 300px;
}
}


/*アコーディオンメニュー*/
section.menu01{
	margin-top:1em;
}
section.accordion{
	margin-top: 0 !important;
}
.menu01 label {
    display: block;
    cursor :pointer;
	font-weight: bold;
}
.menu01 input {
    display: none;
}
.accordion{
    overflow: hidden;
	height: 0;
    opacity: 0;
    transition: 0.5s;	 
}
.menu-lavel:checked + .accordion{
	opacity: 1;
	height: auto;
	padding:.5em 0 1.5em;
}

@media screen and (max-width: 767px) {
section.table_01 table td {
    display: block;
    border-top: none;
    border-right: none;
    border-left: none;
}
section.table_01 table tr:last-child td:last-child {
	border-bottom: none;
}
section.table_01 colgroup col {
    width: 100%;
    display: block;
}
	
}

/*------------------------
トップコミットメント message
------------------------*/
img.autoimg, .autoimg img {
    line-height: 1;
    vertical-align: top;
    width: 100%;
    height: auto;
}
.column-container > section.topc-message {
    margin-top: 70px;
}
.topc-message p {
	margin-bottom: 2em;
}
.topc-message p + figure {
	margin-top: 50px;
}
.topc-message p.text-right {
	margin-top: 35px;
}
.ttl-message {
	position: relative;
    color: #009de6;
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 75px;
}
.ttl-message::after {
	position: absolute;
	left: 0;
	top: 65px;
	content: "";
	width: 63px;
	height: 3px;
	background-color: #009de6;
}


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

.column-container > section.topc-message {
    margin-top: 50px;
}
.topc-message p {
}
.topc-message p + figure {
	margin-top: 25px;
}
.topc-message p.text-right {
	margin-top: 40px;
}
.ttl-message {
    font-size: 1.8rem;
    margin-bottom: 50px;
}
.ttl-message::after {
	top: 37px;
	content: "";
	width: 45px;
}

}


/*IE用*/
@media all and (-ms-high-contrast: none) {
}

@media screen and (min-width: 768px) {
}

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

