@charset "UTF-8";
/* =======================================

	Index Style

======================================= */
.tabUl {
		text-align: right;
}
.tabUl a {
		color: #33b47b;
		font-size: 86%;
		padding: 0.8em 1.2em 0.8em 0.8em;
		border: solid 1px #33b47b;
}
.tabUl a::before {
		content: url("/ja/company/csr/images/index/ic_english.png");
		vertical-align: middle;
		display: inline;
		padding-right: 5px;
}
.tabUl a:hover {
		background-color: #f2f2f2;
}
/* csrmenuD */
.csrmenuD {
		margin-top: 3em;
		margin-bottom: 8em;
		display: flex;
	    justify-content: center;
}
.csrmenuD li {
		vertical-align: top;
		text-align: center;
		margin: 1px;
}
.csrmenuD .text p {
		line-height: 12px;
}
.csrmenuD li a {
		font-size: 0.8;
		text-decoration: none;
		color: gray;
}
.csrmenuD img {
		width: 100%;
		height: auto;
}
.mb {
		display: none;
}
/* =======================================

	Swiper Style

======================================= */
.swiper-slide img {
		width: 100%;
}
@media only screen and (max-width: 767px) {
		.mb {
				display: block;
		}
		.swiper-container {
				width: 100%;
				height: 200px;
		}
		.swiper-slide img {
				width: 100%;
				height: 180px;
				object-fit: cover;
		}
		.csrmenuD {
				margin-top: 3em;
				margin-bottom: 8em;
				display: flex;
				flex-wrap: wrap;
			    justify-content: left;
		}
		.csrmenuD li {
				flex: auto;
				width: 32.5%;
				vertical-align: top;
				text-align: center;
				margin: 1px;
		}
}
.special {
		width: 85%;
		display: block;
		vertical-align: top;
		margin: auto auto 8em;
}
.special .photo {
		vertical-align: top;
		float: left;
		display: block;
		width: 45%;
}
.special .textBox {
		vertical-align: top;
		float: left;
		width: 52%;
		padding-left: 3%;
}
.special h2 {
		margin-top: 1em;
		margin-bottom: 0em;
}
@media only screen and (max-width: 767px) {
		.special {
				width: 100%;
		}
		.special .photo {
				width: 60%;
				margin: auto;
				display: block;
				float: none;
				text-align: center;
		}
		.special .textBox {
				width: 100%;
				margin-left: 0em;
				display: block;
				margin: auto;
				float: none;
				padding-left: 0;
		}
		img.rimage {
				padding: 0;
		}
		.special h2 {
				margin: 0em 0 0.5em 0;
		}
		.buLink {
		text-align:center;
		}
}
.buLink a {
		display: inline-block;
		margin-top: 0.5em;
		padding: 0.8em 2em;
		background-color: #0a9bcd;
		color: #fff;
		text-decoration: none;
		margin: 1em 0;
}
.buLink a::after {
		content: url("/ja/company/csr/images/index/ic_preview.png");
		vertical-align: middle;
		margin-left: 0.5em;
}
.buLink a:hover {
		opacity: 0.7;
}
#news_block_company {
		background-color: #f2f2f2;
		padding: 2em;
		border-radius: 10px;
}
#news_block_company dt {
		float: left;
		vertical-align: top;
		width: 100px;
		margin-bottom: 0.5em;
}
#news_block_company dd {
		vertical-align: top;
		margin-bottom: 0.5em;
}
.reportDl {
		background-color: #f2f2f2;
}
/*タブ表示*/
.toptabWrap {
		display: flex;
		flex-wrap: wrap;
		max-width: 1100px;
		margin: 0 auto;
	    justify-content: center;
}
.toptabWrap::after {
		clear: both;
}
.toptabLabel {
		width: 25%;
		box-sizing: border-box;
		color: #666666;
		border-left: solid 1px #666666;
		border-top: solid 1px #666666;
		border-bottom: solid 1px #666666;
	    border-right: solid 1px #666666;
		padding: 10px;
		order: -1;
		text-align: center;
		background-color: white;
		cursor: pointer;
}
label.toptabLabel:hover {
		baclground-color: #f2f2f2;
}
.toptabWrap label:nth-of-type(4) {
		border-right: solid 1px #666666;
}
.toptabContent {
		width: 100%;
		padding: 2em 0;
		display: none;
}
/* アクティブなタブ */
.toptabSwitch:checked + .toptabLabel {
		position: relative;
		background-color: #33b47b;
		color: white;
		border: solid 1px #33b47b6;
}
.toptabSwitch:checked + .toptabLabel::before {
		content: '';
		position: absolute;
		display: block;
		width: 0;
		height: 0;
		left: 45%;
		bottom: -15px;
		border-top: 15px solid #33b47b;
		border-right: 15px solid transparent;
		border-left: 15px solid transparent;
}
.toptabSwitch:checked + .toptabLabel + .toptabContent {
		display: block;
}
@media only screen and (max-width: 767px) {
		.toptabWrap {
				width: 100%;
			    justify-content: left;
		}
		.toptabWrap::after {
				clear: both;
		}
		.toptabLabel {
				width: 50%;
		}
		.toptabWrap label:nth-of-type(2n) {
				border-right: solid 1px #666666;
		}
		.toptabWrap label:nth-of-type(3), .toptabWrap label:nth-of-type(4) {
				border-top: none;
		}
		.toptabSwitch:checked + .toptabLabel::before {
				border-top: none;
				border-right: none;
				border-left: none;
		}
}
/* ラジオボタン非表示 */
.toptabSwitch {
		display: none;
}
.repoWrap {
		max-width: 1070px;
		display: flex;
		padding: 0 20px;
}
.repoBox {
		display: table;
		width: 49.5%;
		margin-right: 1%;
		background-color: white;
		border-radius: 5px;
}
.repoBox:nth-of-type(2) {
		margin-right: 0;
}
.repoBoxFull {
		width: 100%;
		background-color: white;
		border-radius: 5px;
}
.repoBox, .repoBoxFull {
		/* preview */
		background-color: #fff;
		/* drop-shadow */
		filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.20));
}
.repoBox h3 {
		margin-top: 0.5em;
}
.repoTitle, .repoTitle2 {
		display: table-cell;
		color: white;
		vertical-align: top;
		text-align: center;
		border-radius: 5px 0 0 5px;
		padding: 15px;
}
.repoTitle {
		background-color: #33b47b;
}
.repoTitle2 {
	    background-color: #33b47b;
}
.repoTitle img, .repoTitle2 img {
		width: 80px;
}
.repoList, .repoList2 {
		display: table-cell;
		padding: 15px;
}
.repoListFull {
		display: table-cell;
		width: 100%;
		padding: 15px;
}
.repoListFull ul, .repoListFull li {
		display: block;
}
.repoList h3, .repoList2 h3, .repoListFull h3 {
		font-size: 120%;
		border-bottom: solid 1px #cccccc;
		margin-bottom: 0.5em;
}
.repoList li, .repoList2 li, .repoListFull li {
		border-bottom: dotted 1px #cccccc;
		padding: 5px;
		font-size: 88%;
}
.repoList li::before, .repoListFull li::before {
		content: "■";
		color: #33b47b;
		margin-right: 5px;
}
.repoList2 li::before {
		content: "■";
		color: #33b47b;
		margin-right: 5px;
}
.repoList a, .repoList2 a, .repoListFull a {
		color: #282828;
}
@media only screen and (max-width: 767px) {
		.toptabContent {}
		.repoWrap {
				display: block;
		}
		.repoBox {
				display: block;
				width: 100%;
				margin-bottom: 1em;
		}
		.repoTitle, .repoTitle2 {
				display: block;
				border-radius: 5px 5px 0 0;
		}
		.repoList, .repoList2 {
				display: block;
				padding: 15px;
				border-radius: 0 0 5px 5px;
		}
}
.linkulWrap {
		width: 100%;
		display: table;
		border-top: solid 1px #cccccc;
		border-bottom: solid 1px #cccccc;
		margin: 1em auto;
}
.linkUl {
		width: 30%;
		box-sizing: border-box;
		display: table-cell;
		text-align: center;
		border-right: dotted 1px #cccccc;
		padding: 1.5em 0;
}
.linkUl div:nth-child(3) {
		border: none;
}
.backNumber {
		width: 10%;
		box-sizing: border-box;
		display: table-cell;
		text-align: center;
		background-color: #f2f2f2;
		font-size: 80%;
		vertical-align: middle;
}
.backNumber a {
		display: block;
		width: 100%;
		height: 100%;
}
.doImage {
		text-align: center;
		padding: 1em 0;
}
.doImage img {
		border: solid 1px #ccc;
		width: 150px;
}
.btDownload a {
		color: #0a9bcd;
}
/* =======================================

	Index / Banner

======================================= */
ul.listUl {
		display: flex;
		justify-content: space-between;
		margin: 3em 0;
		width: 100%;
		flex-wrap: nowrap;
}
.listUl li a {
		display: table-cell;
		border: solid 1px #cccccc;
		height: 80px;
		width: 350px;
		vertical-align: middle;
		position: relative;
		background-image: linear-gradient(179deg, rgba(255, 255, 255, 1), rgba(231, 231, 231, 1));
		padding: 0;
		margin-bottom: 5px;
		color: #282828;
}
.listUl li a span {
		margin: auto 1em;
}
.listUl li a:hover {
		text-decoration: none;
		opacity: 0.7;
}
.listUl li a::after {
		content: url("/ja/company/csr/images/index/ic_plus.png");
		position: absolute;
		right: 1px;
		bottom: 1px;
		display: block;
		width: 30px;
		height: 30px;
}
.listUl li:nth-child(3) {
		margin-right: 0;
}
p.doText, 
p.doTitle,
p.btDownload {
	text-align:center;
}
@media only screen and (max-width: 767px) {
		ul.listUl {
				display: block;
		}
		.listUl li a {
				display: block;
				width: 100%;
		}
		.listUl li a span {
				line-height: 80px;
		}
}
@media only screen and (max-width: 767px) {
		.linkUl {
				width: 100%;
				box-sizing: border-box;
				display: block;
				text-align: center;
				border-right: none;
				padding: 0 0;
		}
		.backNumber {
				width: 100%;
				box-sizing: border-box;
				display: block;
				text-align: center;
				border-right: none;
				padding: 1em 0;
		}
		.linkUl {
				border-bottom: dotted 1px #ccc;
		}
		.doImage, .doText {
				width: 50%;
				display: block;
				float: left;
		}
		.doText {
				padding-top: 2em;
				text-align:center;
		}
		#news_block_company dt, #news_block_company dd {
				float: none;
				display: block;
		}
}
/* =======================================

	Swiper Bullet

======================================= */
.swiper-pagination-bullet {
		border-radius: inherit;
		margin: 0 5px !important;
		width: 54px;
		height: 5px;
		background: #f2f2f2;
		opacity: 1;
}
.swiper-pagination-bullet-active {
		background: #0a9bcd;
		opacity: 1;
}
.swiper-container {
		padding-bottom: 30px;
}
/* =======================================

	2022.03.02 add

======================================= */

.section-mv .mv-area dl dt .leftSide h1.mv_tit{
	text-align: left;
}

.leadTxt{
	margin: 3em 0 1em 0;
	font-size: 140%;
	text-align: center;
	line-height: 1.4;
}