@charset "utf-8";
/*=================================
	company.css
	- unique
	- @media only screen and (max-width: 1024px)
	- @media only screen and (max-width: 640px)
	- clearfix
================================ */

.maincontarea { /*170623追加*/
	padding: 30px;
}

/* Heading
-------------------------------- */
.cm01 {
	background: #2e1b0e url(/company/img/com_im01.jpg) no-repeat 50% 0;
}
.cm02 {
	background: #abb4ba url(/company/img/com_im02.jpg) no-repeat 50% 0;
}
.cm03 {
	background: #bbb499 url(/company/img/com_im03.jpg) no-repeat 50% 0;
}
.cm04 {
	background: #bcc9e0 url(/company/img/com_im04.jpg) no-repeat 50% 0;
}
.cm05 {
	background: #594233 url(/company/img/com_im05.jpg) no-repeat 50% 0;
}
.cm06 {
	background: #684d3c url(/company/img/com_im06.jpg) no-repeat 50% 0;
}
.cm07 {
	background: #2d65c0 url(/company/img/com_im07.jpg) no-repeat 50% 0;
}
.cm08{	/*20210521 add*/
	background: #5a73a6 url("/company/img/com_im08.png") no-repeat 50% 0;
	background-size: auto;
}


/* articleBlock
-------------------------------- */
.articleBlock .col.press01 dt a {
	background: url(/company/press/img/com_im01.jpg) no-repeat 0 0;
}
.articleBlock .col.press02 dt a {
	background: url(/company/press/img/com_im02.jpg) no-repeat 0 0;
}
.articleBlock .col.press03 dt a {
	background: url(/company/press/img/com_im03.jpg) no-repeat 0 0;
}


/* /index.html
-------------------------------- */

/* companyTopics */
.companyTopics { /*161110修正*/
	width: 1980px;
	margin: 30px 0 -50px -478px;
	background-color: #edf6fa;
	display:table;
}
.companyTopics + .colWrap {
	margin-top: 40px;
}
.companyTopics .innerBlock { /*161110修正*/
	overflow: hidden;
	width: 1024px;
	margin: 0 auto;
	padding: 45px;
}
.companyTopics .innerBlock > *:first-child {
	margin-top: 0 !important;
}
.companyTopics .innerBlock.colWrap .col figcaption { /*161110追加*/
	margin-top: 1em;
}
.colWrap {
	margin-top: 25px;
}
.colWrap .col {
	float: left;
	margin-top: 40px;
}
.colWrap .col a {
	display: block;
	color: #000000;
	text-decoration: none;
}
.colWrap .col img {
	width: 100%;
	height: auto;
	transition-property: all;
	transition-duration: 0.2s;
}
.colWrap .col .img {
	display: block;
	background-color: #000000;
}
.colWrap .col figcaption {
	margin-top: 1em;
}
.colWrap .col.linkBox .pageName {
	display: table;
	position: relative;
	width: 100%;
	margin: 0;
	background: #f5f5f5;
}
.colWrap .col.linkBox .pageName:before,
.colWrap .col.linkBox .pageName:after {
	content: "";
	position: absolute;
	top: 50%;
	background-repeat: no-repeat;
	background-position: 0 0;
}
.colWrap .col.linkBox .pageName:before {
	left: 24px;
	height: 36px;
	margin-top: -18px;
}
.colWrap .col.linkBox .pageName.ic01:before {
	width: 29px;
	background-image: url(/company/img/index_ic01.png);
}
.colWrap .col.linkBox .pageName.ic02:before {
	left: 19px;
	width: 36px;
	background-image: url(/company/img/index_ic02.png);
}
.colWrap .col.linkBox .pageName.ic03:before {
	width: 28px;
	background-image: url(/company/img/index_ic03.png);
}
.colWrap .col.linkBox .pageName.ic04:before {
	width: 28px;
	background-image: url(/company/img/index_ic04.png);
}
.colWrap .col.linkBox .pageName.ic05:before {
	left: 22px;
	width: 32px;
	background-image: url(/company/img/index_ic05.png);
}
.colWrap .col.linkBox .pageName.ic07:before {	/*230418*/
	left: 22px;
	width: 31px;
	background-image: url(/company/img/index_ic07.png);
}
.colWrap .col.linkBox .pageName:after {
	right: 18px;
	width: 8px;
	height: 12px;
	margin-top: -6px;
	background-image: url(/common/img/com_ic07.png);
}
.colWrap .col.linkBox .pageName > * { /*161110修正*/
	display: table-cell;
	width: 100%;
	height: 72px;
	vertical-align: middle;
	padding: 0 26px 0 72px;
	background: #f5f5f5;
	transition-property: all;
	transition-duration: 0.2s;
	color: #333333;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.2;
}
.colWrap .col.linkBox a:hover .pageName > * {
	background-color: #aaaaaa;
}
.colWrap.twoCol .col {
	width: 47.34%;
	margin-left: 5.32%;
}
.colWrap.threeCol .col {
	width: 30%;
	margin-left: 5%;
}
.colWrap.twoCol .col:nth-child(2n+1),
.colWrap.threeCol .col:nth-child(3n+1) {
	clear: left;
	margin-left: 0;
}
.colWrap.twoCol .col:nth-child(-n+2),
.colWrap.threeCol .col:nth-child(-n+3) {
	margin-top: 0;
}


/* /info/index.html
-------------------------------- */
.colWrap .col .btn {
	display: table;
	position: relative;
	width: 100%;
	background-color: #f5f5f5;
	transition-property: all;
	transition-duration: 0.2s;
}
.colWrap .col .btn:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8px;
	height: 12px;
	margin-top: -6px;
	background: url(/common/img/com_ic07.png) no-repeat 0 0;
}
.colWrap .col .btn:hover {
	background-color: #aaaaaa;
}
.colWrap .col .btn > * {
	display: table-cell;
	height: 140px;
	vertical-align: middle;
}
.colWrap .col .btn .icon {
	width: 39.49%;
	text-align: center;
}
.colWrap .col .btn .icon img {
	width: auto;
}
.colWrap .col .btn .pageName {
	width: 60.51%;
	padding-right: 30px;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.17;
}
.colWrap .col .btn + .detail {
	padding: 0 20px;
	line-height: 1.5;
}


/* /policy/index.html
-------------------------------- */
.policySection {
	margin-top: 25px;
}
.policySection + .policySection {
	margin-top: 40px;
}
.policySection > *:first-child {
	margin-top: 0 !important;
}


/* 2016/09/08 ADD
-------------------------------- */

/* reset */

.heading02.typeCompany {
	border: none;
}
.heading02.typeCompany > .heading02Inner {
	background: #ffffff;
    padding: 15px 0 20px;
}
#content > section > section {
	padding-left: 0;
	padding-right: 0;
}

/*.heading02.typeCompany */
.heading02.typeCompany { /*170623追加*/
	font-size: 30px;
	font-size: 3.0rem;
    font-weight: bold;
    margin-bottom: 40px;
    position: relative;
	padding-left: 22px;
}
.heading02.typeCompany::before { /*170623追加*/
    content: '';
    display: block;
    position: absolute;
    width: 0px;
    height: 45%;
    border: 3px solid #b50029;
    border-radius: 3px;
    background-color: #b50029;
    top: 45%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
}
.heading02 > .heading02Inner { /*170623追加*/
    display: block;
    background-color: #edf6fa;
}
.heading03 { /*170623追加*/
    margin: 35px 0 0;
    color: #000000;
    font-size: 24px;
    font-size: 2.4rem;
}
#content > section:first-child .heading02.typeCompany {
	margin: 0 -15px 0;
}
.leadBox .leadText02.type02,
.leadBox > *:nth-child(n-1) {
	padding: 0 45px;
}
.leadBox > *:first-child {
	margin-top: 0;
}
.leadBox .leadText02.type02,
.figureColumn01.type02 .text,
.figureColumn02.type02 .text {
	position: relative;
}
.leadBox .leadText02.type02:before,
.figureColumn01.type02 .text:before,
.figureColumn02.type02 .text:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 35px;
	height: 27px;
	background: url(/common/img/com_ic35.png) no-repeat 0 0;
	content: "";
}
.leadBox .leadText02.type02:after {
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
	width: 35px;
	height: 27px;
	background: url(/common/img/com_ic36.png) no-repeat 0 0;
	content: "";
}

#CEO {
	background: #f7f7f7;
	margin-bottom: 70px;
}
#CEO > .section *:first-child {
	margin-top: 0;
}
#Overview .section,
#CEO .section {
	padding: 0;
}
#CEO .section {
	width: 1024px;
	margin: 0 auto;
}
#contentHead.type02 {
	background:#f7f7f7;
}
/*CEO*/
#CEO .introBox > .introCol { /*161110追加*/
	width:100%;
}
#CEO .introBox > .introCol > .imgArea  { /*161110修正*/
	display: block;
	float: right;
	width: 30%;    /*240418修正*/
}
#CEO .introBox > .introCol > .txtArea { /*161110修正*/
	width: 55%;    /*240418修正*/
	padding: 70px 35px 0;
	background: none;
}
#CEO .introBox > .introCol > .txtArea > .name {
	margin-bottom: 16px;
    line-height: 1.6;    /*240418追加*/
}
.contactBox {
	display: table;
	width: 100%;
	margin-top: 60px;
	border: solid 1px #e6e6e6;
}
.contactBox > .box {
	display: table-cell;
	width: 50%;
	padding: 30px 15px;
	text-align: left;
	vertical-align: middle;
}
.contactBox > .box:first-child {
	text-align: right;
}
.contactBox > .box > *:first-child {
	margin-top: 0 !important;
}
.introBox	{
	margin-top: 60px;
}
.introBox > .introCol { /*161110修正*/
	width:100%;
}
.introBox > .introCol .imgArea,
.introBox > .introCol .txtArea {
	display: table-cell;
}
.introBox > .introCol > .imgArea {
	text-align: left;
	vertical-align: top;
}
.introBox > .introCol > .imgArea img {
	max-width: 100%;
}
.introBox > .introCol > .txtArea {
	padding: 0 35px;
	text-align: left;
	vertical-align: middle;
	line-height: 1.3;
	word-break: break-all;
	background-color: #f5f5f5;
}
.introBox > .introCol > .txtArea > *:first-child {
	margin-top: 0 !important;
}
.introBox > .introCol > .txtArea > .name {
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
}
.introBox > .introCol > .txtArea > .name  + * {
	margin-top: 10px;
}
.introBox.col2 > .introCol {
	float: left;
	width: 47.66%;
	margin-right: 4.68%;
	padding-bottom: 20px;
	border-bottom: solid 1px #dddddd;
}
.introBox.col2 > .introCol.type02 {
	float: left;
	width: 45.5%;
	margin-right: 3.9%;
	margin: 0 3.9% 0 0;
	padding-bottom: 25px;
	position: relative;
	border-bottom: none;
}
.introBox.col2 > .introCol.type02:after {
	position: absolute;
	z-index: -1000;
	top: 30px;
	left: 30px;
	display: block;
	width: 93.9%;
	height: 92.3%;
	background: #f7f7f7;
	content: "";
}
.introBox.col2 > .introCol.type02:nth-child(n+3) {
	margin-top: 40px;
}
.introBox.col2 > .introCol:nth-child(2n) {
	margin-right: 0;
}
.introBox.col2 > .introCol:nth-child(n+3) {
	margin-top: 60px;
}
.introBox.col2 > .introCol.type02 > .imgArea {
	width: 50.8%;
}
.introBox.col2 > .introCol.type02 > .txtArea {
	vertical-align: bottom;
	padding: 0 50px 0 25px;
}
.introBox.col2 > .introCol.type02 > p {
	padding: 0 35px 0 50px;
}
.introBox.col2 > .introCol.type02 {
}
.introBox.col2 > .introCol > .txtArea {
	width: 55%;
	padding: 0 0 0 25px;
	vertical-align: top;
	background: none;
}
.table02.typeCompany .level01 {
	background: #d8ecf0;
	color: #333333;
}
.table02.typeCompany .level02 {
	background: #e4f6f8;
}
.table02.typeCompany .level03 {
	background: #f9f9f9;
}


/* /responsibleinvestor/history.html
-------------------------------- */
.historyInfo img {
	max-width: 100%;
}


@media only screen and (max-width: 1024px) {
	/* 161110追加
	-------------------------------- */
	.colWrap {
		margin: 25px 15px 50px 15px;
	}
	.companyTopics {
		margin: 80px 0 -25px 0;
	}
	.companyTopics .innerBlock {
		max-width: 1024px;
		width:100%;
		margin: 0 auto; padding-left:10px;
		position: absolute;
		min-height:370px;
	}
	.colWrap .col figcaption {
		font-size: 0.9em;
	}
	.companyTopics + .colWrap {
		margin-left:15px; margin-right:15px;
	}
	#CEO .introBox > .introCol {
		max-width: 900px;
    	width: 100%;
	}

}


@media only screen and (max-width: 840px) {
	/* 161110追加
	-------------------------------- */
	#CEO .introBox > .introCol {
		max-width: 700px;
    	width: 100%;
	}

}

@media only screen and (max-width: 640px) {
	
	.maincontarea { /*170623追加*/
		padding: 10px;
	}
	section { /*170623追加*/
		padding-right: 5px;
		padding-left: 5px;
	}

	/* articleBlock
	-------------------------------- */
	.articleBlock .col.press01 dt a {
		background: url(/company/press/img/com_im01.jpg) no-repeat 0 0;
		background-size: cover;
	}
	.articleBlock .col.press02 dt a {
		background: url(/company/press/img/com_im02.jpg) no-repeat 0 0;
		background-size: cover;
	}
	.articleBlock .col.press03 dt a {
		background: url(/company/press/img/com_im03.jpg) no-repeat 0 0;
		background-size: cover;
	}
	
	
	/* /index.html
	-------------------------------- */

	/* companyTopics */
	.companyTopics {
		width: 100%;
		margin: 15px 0 -25px;
	}
	.companyTopics .innerBlock {
		width: 100%;
		padding: 15px;
	}
	.companyTopics .colWrap {
		padding: 0;
	}
	.colWrap {
		margin-top: 15px;
		padding: 0 15px;
	}
	.colWrap .col {
		float: none;
		margin-top: 15px;
	}
	.colWrap .col:first-child {
		margin-top: 0 !important;
	}
	.colWrap .col.linkBox .pageName {
		border: 1px solid #e7e7e7;
	}
	.colWrap .col.linkBox .pageName:before {
		height: 35px;
		margin-top: -18px;
	}
	.colWrap .col.linkBox .pageName.ic01:before {
		left: 23px;
		width: 28px;
		background-image: url(/company/img/index_ic01.png);
	}
	.colWrap .col.linkBox .pageName.ic02:before {
		left: 18px;
		width: 35px;
		height: 28px;
		margin-top: -14px;
		background-image: url(/company/img/index_ic02.png);
	}
	.colWrap .col.linkBox .pageName.ic03:before {
		left: 23px;
		width: 27px;
		background-image: url(/company/img/index_ic03.png);
	}
	.colWrap .col.linkBox .pageName.ic04:before {
		left: 23px;
		width: 27px;
		background-image: url(/company/img/index_ic04.png);
	}
	.colWrap .col.linkBox .pageName.ic05:before {
		left: 21px;
		width: 32px;
		background-image: url(/company/img/index_ic05.png);
	}
	.colWrap .col.linkBox .pageName:after {
		right: 17px;
		width: 6px;
		height: 9px;
		margin-top: -5px;
		background-image: url(/common/img/com_ic07_sp.png);
		-webkit-background-size: 6px 9px;
		background-size: 6px 9px;
	}
	.colWrap .col.linkBox .pageName > * {
		height: 70px;
		font-size: 19px;
		font-size: 1.9rem;
	}
	.colWrap.twoCol .col,
	.colWrap.threeCol .col {
		width: 100%;
		margin-left: 0;
	}
	.colWrap.twoCol .col:nth-child(2n+1),
	.colWrap.threeCol .col:nth-child(3n+1) {
		clear: none;
	}
	.colWrap.twoCol .col:nth-child(-n+2),
	.colWrap.threeCol .col:nth-child(-n+3) {
		margin-top: 15px;
	}


	/* /info/index.html
	-------------------------------- */
	.colWrap .col .btn:after {
		width: 6px;
		height: 9px;
		margin-top: -5px;
		background-image: url(/common/img/com_ic07_sp.png);
		-webkit-background-size: 6px 9px;
		background-size: 6px 9px;
	}
	.colWrap .col .btn > * {
		height: 98px;
	}
	.colWrap .col .btn .icon {
		width: 37.67%;
	}
	.colWrap .col .btn .pageName {
		width: 62.33%;
		padding-right: 27px;
		font-size: 22px;
		font-size: 2.2rem;
	}
	.colWrap .col .btn + .detail {
		padding: 0 15px 20px;
	}


	/* /policy/index.html
	-------------------------------- */
	.policySection {
		margin-top: 15px;
	}
	.policySection + .policySection {
		margin-top: 20px;
	}
	.policySection .colWrap {
		padding: 0;
	}
	
	
	/* 2016/09/08 ADD
	-------------------------------- */
	
	/*.heading02.typeCompany */
	.heading02.typeCompany { /*170623修正*/
		margin: 24px 0 20px;
		padding-bottom:15px;
		font-size: 24px;
		font-size: 2.4rem;
	}
	.heading02.typeCompany > .heading02Inner { /*170623修正*/
		display: block;
		padding: 15px 0 8px;
		line-height: 1.4;
	}
	.heading03 { /*170623追加*/
		font-size: 18px;
		font-size: 1.8rem;
	}
	#content > section:first-child .heading02.typeCompany {
		margin: 20px 0 0;
	}
	.text .leadText02.type02 {
    	margin-top: 25px;
		font-size: 14px;
		font-size: 1.4rem;
    	padding-bottom: 10px;
    	padding-right: 24px;
    	position: relative;
	}
	.type02 .text .leadText02.type02 {
   	 	margin-top: 25px;
		font-size: 14px;
		font-size: 1.4rem;
   	 	padding-bottom: 10px;
    	padding-right: 24px;
    	position: relative;
	}
	.type02 .text .leadText02.type02:after,
	.leadBox .leadText02.type02:after {
		position: absolute;
		top: auto;
		bottom: 0;
		right: 0;
		width: 21px;
		height: 16px;
		background: url(/common/img/com_ic36_sp.png) no-repeat 0 0;
		background-size: 21px 16px;
	}
	.leadBox .leadText02.type02:before,
	.figureColumn01.type02 .text:before,
	.figureColumn02.type02 .text:before {
		width: 21px;
		height: 16px;
		background: url(/common/img/com_ic35_sp.png) no-repeat 0 0;
		background-size: 21px 16px;
	}
	#CEO > .section,
	#CEO .introBox > .introCol > .imgArea,
	#CEO .introBox > .introCol > .txtArea,
	.introBox > .introCol .imgArea,
	.introBox > .introCol .txtArea {
		display: block;
		width: 100%;
	}
	#CEO {
		background-color: #ffffff;
	}
	#CEO .introBox > .introCol > .imgArea {
		float: none;
	}
	#CEO .introBox > .introCol > .txtArea {
		width: 90%;
		padding: 30px 0 30px;
		margin: 0 5% 0;
		border-bottom: 1px solid #dddddd;
	}
	.introBox	{
		margin-top: 20px;
	}
	.introBox > .introCol {
		display: block;
	}
	#CEO .introBox > .introCol > .imgArea,
	#CEO .introBox > .introCol > .txtArea,
	.introBox > .introCol .imgArea,
	.introBox > .introCol .txtArea {
		display: block;
		width: 100%;
	}
	#CEO .introBox > .introCol > .imgArea {
		float: none;
	}
	#CEO .introBox > .introCol > .txtArea {
		width: 90%;
		padding: 30px 0 30px;
		margin: 0 5% 0;
		border-bottom: 1px solid #dddddd;
	}
	.introBox > .introCol .imgArea img {
		width: 100%;
	}
	.introBox > .introCol > .txtArea {
		padding: 15px;
	}
	.introBox > .introCol > .txtArea > .name {
		font-size: 16px;
		font-size: 1.6rem;
	}
	.introBox > .introCol > .txtArea > .name  + * {
		margin-top: 10px;
	}
	.introBox.col2 > .introCol,
	.introBox.col2 > .introCol.type02 {
		float: none;
		width: 100%;
		margin-right: 0%;
		padding-bottom: 10px;
	}
	.introBox.col2 > .introCol + .introCol {
		margin-top: 20px;
	}
	.introBox.col2 > .introCol > .imgArea,
	.introBox.col2 > .introCol.type02 > .imgArea {
		width: 45%;
		float: left;
	}
	.introBox.col2 > .introCol > .txtArea {
		width: 50%;
		float: right;
		padding: 0;
	}
	.introBox.col2 > .introCol.type02 > .txtArea,
	.introBox.col2 > .introCol.type02 > .imgArea {
		float: none;
		display: table-cell;
	}
	.introBox.col2 > .introCol.type02 > .txtArea {
		width: 50%;
		padding: 0 15px 0 10px;
	}
	.introBox.col2 > .introCol.type02 > p {
    	padding: 16px 25px 20px 30px;
		clear: both;
		float: none;
	}
	.introBox.col2 > .introCol.type02::after {
   	 	height: 94%;
    	left: 15px;
    	top: 15px;
    	width: 94%;
	}
	.introBox.col2 > .introCol.type02:nth-child(n+1) {
    	margin-top: 20px;
	}
	.introBox.col2 > .introCol.type02:first-child {
		margin-top: 0;
	}
}

/*--------------------------------
  2020/04/22 add
---------------------------------*/
.awardTlist {
	display: table;
	margin-left: 10px; margin-top: 15px;
	width:100%;	/*230420 add*/
}
.awardTlist dl {
	display: table-row;
}
.awardTlist dt,
.awardTlist dd {
	display: table-cell;
	padding: 10px 0;
}
.awardTlist dt {
	width: 45%;
	padding-right: 15px;
	text-indent: -2rem;
	padding-left: 2rem;
	font-size: 1.8rem;
}
.awardTlist dd {
	text-indent: -18px;
	padding-left: 18px;
}
.awardTlist dt::before {
	margin-right: 0.5em;
	content: "●";
	color: #999999;
	font-size: 12px;
	font-size: 1.2rem;
	
}
.awardTlist dd a {	/*220422*/
	display: block;
}
.awardTlist dd a::before {
	margin-right: 10px;
	content: "";
	display: inline-block;
	width: 8px; height: 12px;
	background: url("/common/img/com_ic07.png") no-repeat 0 0;
}
@media screen and (max-width:640px){
	.awardTlist,
	.awardTlist dt,
	.awardTlist dd {
		display: block;
		padding: 0;
	}
	.awardTlist {
		margin-left: 30px;
	}
	.awardTlist dt {
		width: auto;
		font-size: 1.5rem;
		line-height: 1.2;
		margin-right: 30px;	/*240515追加*/
	}
	.awardTlist dd {
		margin: 10px 30px 20px 20px;	/*240515修正*/	
	}
	.awardTlist dd a {
		display: block;
	}
}

/*-----------------------------------------------------
  お客様本位の業務運営に係る方針 2020/06/08 add
-------------------------------------------------------*/
.fid_press_section {border-top: solid 1px #dddddd;	margin-top: 100px;}
.fid_press_section > h2 {font-size: 22px;	font-size: 2.2rem;	line-height: 1.7;	margin: 50px 0 20px -15px;}
.fid_press_list {display: table;	width: 100%;}
.fid_press_list dl {display: table-row;}
.fid_press_list dt,
.fid_press_list dd {display: table-cell;	padding: 15px;	border-bottom: solid 1px #dddddd;	border-left: solid 1px #dddddd;}
.fid_press_list dl:first-child dt,
.fid_press_list dl:first-child dd {border-top: solid 1px #dddddd;}
.fid_press_list dt {width: 12em;	background: #f5f5f5;}
.fid_press_list dd {border-right: solid 1px #dddddd;}
.fid_press_list dd a {padding-left: 15px;	background: url("/common/img/com_ic07.png") no-repeat 0 0.35em;}
.fid_press_list dd a[href$=".pdf"]::after {margin: 0 4px 0 3px;	vertical-align: -2px;	content: url("/common/img/com_ic01.png");}
.linkBtn01.type03 {display: flex;	align-items:stretch;	justify-content: center;}
.linkBtn01.type03 li {width: 40%;}
.linkBtn01.type03 li a {padding: 15px 20px;	display: flex!important;	align-items: center;	justify-content: center;	height: 100%;	min-width: 0;}
.linkBtn01.type03 li a[href$=".pdf"]::after {content: url("/common/img/com_ic01.png");	background: none;}

@media screen and (max-width: 640px){
.fid_press_section {margin-top: 50px;}
.fid_press_section > h2 {font-size: 18px;	font-size: 1.8rem;	margin: 20px 0 20px 5px;}
.fid_press_list {display: block;	width: 100%;}
.fid_press_list dl,
.fid_press_list dt,
.fid_press_list dd {display: block;	width: auto;}
.fid_press_list dt {border-right: solid 1px #dddddd;}
.fid_press_list dl:first-child dd {border-top: none;}
.linkBtn01.type03 {flex-direction: column;}
.linkBtn01.type03 li {width: 100%;}
}

/*--------------------------------------------
  定量指標（KPI）の状況 2020/06/08 add
---------------------------------------------*/
.kpiColumn01 {display: flex; justify-content: center; flex-wrap: nowrap; margin-bottom: 50px;}
.kpiColumn01 .col {width: calc((100% - 14px) / 2); margin: 0 7px;}
.kpiColumn01 .col .kpihead {width: 100%; padding: 5px; background: #ff5050; color: #FFFFFF; font-size: 1.8rem; font-weight: bold; text-align: center;}
.kpiColumn01 .col .numList01 > li {font-weight: bold;}
#content.kpi > section.mainSection {width: 100vw; padding: 70px calc((100vw - 1024px) / 2) 80px; margin-left: calc((100vw - 1024px) / -2);}
#content.kpi > section.mainSection:nth-child(odd){background: linear-gradient(115deg, #F9F9F9 25%, #E9E9E9 100%);}
#content.kpi > section.mainSection:nth-child(even){background: #FFFFFF;}
#content.kpi > section.mainSection > div > .iconList01 {margin-bottom: 50px;}
#content.kpi > section.mainSection .twoColumn01 {display: flex; justify-content: space-between; width: 100%;}
#content.kpi > section.mainSection .twoColumn01 .col {width: 48%;}
#content.kpi > section.mainSection .twoColumn01 .col .title2 {display: block; text-align: center;}
.numheading,
.numheading span {font-size: 2.4rem; font-weight: bold; margin-bottom: 30px;}
.numheading:before {display: inline-block; padding: 6px 18px; margin-right: 1.2rem; background: #ffcccc; color: #FFFFFF;}
.numheading:after {content: ""; display: inline-block; width: 15px; height: 15px; background: #ffcccc; margin-left: 7px; margin-bottom: 2px;}
.numheading span:after {content: ""; display: inline-block; width: 20px; height: 20px; background: #ffcccc; margin-left: 10px;}
.numheading.type01:before {content: "1";}
.numheading.type02:before {content: "2";}
.numheading.type03:before {content: "3";}
.numheading.type031:before {content: "3-1";}	/*250612追加*/
.numheading.type032:before {content: "3-2";}	/*250612追加*/
.numheading.type033:before {content: "3-3";}	/*250612追加*/
.numheading.type04:before {content: "4";}
.numheading.type041:before {content: "4-1";}	/*250612追加*/
.numheading.type042:before {content: "4-2";}	/*250612追加*/
.numheading.type043:before {content: "4-3";}	/*250612追加*/
.numheading.type044:before {content: "4-4";}	/*250612追加*/
.numheading.type05:before {content: "5";}
.numheading.type06:before {content: "6";}
.numheading.type07:before {content: "7";}
.numheading.type08:before {content: "8";}
.table02.type_kpi {table-layout: fixed;}/*250619追加*/
.table02.type_kpi th,
.table02.type_kpi td {vertical-align: middle;	font-size: 90%;	padding: 6px;
    > span {white-space: normal;}/*250619追加*/
}
.table02.type_kpi .levelK {	background: #ffcccc; text-align: center; font-weight: bold; border-color: #FFFFFF;}
.table02.type_kpi .fsmall {font-size: 86%; text-align: center;}
.table02.type_kpi .flarge {font-size: 105%; text-align: center; }
.table02.type_kpi .s_fund01 {background: url("/company/policy/img/stdFund01.png") no-repeat 10px 50%,#FFFFFF; background-size: 40px; padding-left: 60px;}
.table02.type_kpi .s_fund02 {background: url("/company/policy/img/stdFund02.png") no-repeat 10px 50%,#FFFFFF; background-size: 40px; padding-left: 60px;}
.table02.type_kpi .s_fund03 {background: url("/company/policy/img/stdFund03.png") no-repeat 10px 50%,#FFFFFF; background-size: 40px; padding-left: 60px;}
.table02.type_kpi .s_fund04 {background: url("/company/policy/img/stdFund04.png") no-repeat 10px 50%,#FFFFFF; background-size: 40px; padding-left: 60px;}
.table02.type_kpi .s_fund05 {background: url("/company/policy/img/stdFund05.png") no-repeat 10px 50%,#FFFFFF;	background-size: 40px;	padding-left: 60px;}	/*230613追加*/
.table02.type_kpi .s_fund06 {background: url("/company/policy/img/stdFund06.png") no-repeat 10px 50%,#FFFFFF;	background-size: 40px;	padding-left: 60px;}	/*250612追加*/
.table02.type_kpi .s_fund07 {background: url("/company/policy/img/stdFund07.png") no-repeat 10px 50%, #FFFFFF;	background-size: 40px;	padding-left: 60px;}	/*250612追加*/
.table02.type_kpi .linkType01 a {display: block;}
.table02.type_kpi .linkType01 a:hover {transform: translate(1px, 3px);}
.twoColumnK {display: flex;	flex-wrap: wrap;	align-items: stretch;    justify-content: space-between;
    > div {width: calc((100% - 20px) / 2);	padding: 0;
        .col {padding: 15px;	margin-bottom: 15px;	border: solid 1px #ffcccc;
            &.fund01 {background: url("/company/policy/img/awdFund01.png") no-repeat 10px 10px;	background-color: #FFFFFF;	background-size: 50px;}
            &.fund02 {background: url("/company/policy/img/awdFund02.png") no-repeat 10px 10px;	background-color: #FFFFFF;	background-size: 50px;}
            &.fund03 {background: url("/company/policy/img/awdFund03.png") no-repeat 10px 10px;	background-color: #FFFFFF;	background-size: 50px;}
            &.fund04 {background: url("/company/policy/img/awdFund04.png") no-repeat 10px 10px;	background-color: #FFFFFF;	background-size: 50px;}
            &.fund05 {background: url("/company/policy/img/awdFund05.png") no-repeat 10px 10px;	background-color: #FFFFFF;	background-size: 50px;}
            &.fund06 {background: url("/company/policy/img/awdFund06.png") no-repeat 10px 10px;	background-color: #FFFFFF;	background-size: 50px;}
            &.fund07 {background: url("/company/policy/img/awdFund07.png") no-repeat 10px 10px;	background-color: #FFFFFF;	background-size: 50px;}
            &.fund08 {background: url("/company/policy/img/awdFund08.png") no-repeat 10px 10px;	background-color: #FFFFFF;	background-size: 50px;}
            &.fund09 {background: url("/company/policy/img/awdFund09.png") no-repeat 10px 10px;	background-color: #FFFFFF;	background-size: 50px;}
            .iconLink01 a {font-size: 1.5rem;
                &:hover {transform: translate(1px, 3px);}
            }
            > p:first-child {margin: 0 0 15px 60px;}
        }
    }
}

@media screen and (max-width:1024px) and (min-width:641px){
.numheading {margin-left: 15px; margin-right: 15px;}
}

@media screen and (max-width:1024px){
#content.kpi > section.mainSection {width: 100%; padding: 50px 15px 60px; margin-left: 0;}
.table02.type_kpi .iconLink01 a {background-position: 5px calc(50px + 1em);}
.table02.type_kpi .s_fund01,
.table02.type_kpi .s_fund02,
.table02.type_kpi .s_fund03,
.table02.type_kpi .s_fund04,
.table02.type_kpi .s_fund05,
.table02.type_kpi .s_fund06,
.table02.type_kpi .s_fund07  {background-position: 50% 10px; padding: 0; min-width: 7em; vertical-align: top;}	/*250612追加*/
.table02.type_kpi .s_fund01 > a,
.table02.type_kpi .s_fund02 > a,
.table02.type_kpi .s_fund03 > a,
.table02.type_kpi .s_fund04 > a,
.table02.type_kpi .s_fund05 > a,
.table02.type_kpi .s_fund06 > a,
.table02.type_kpi .s_fund07 > a  {display: block; padding: 60px 5px 5px 15px; margin: 0;}	/*250612追加*/
}

@media screen and (max-width:640px){
.kpiColumn01 {flex-wrap: wrap; margin-bottom: 20px;}
.kpiColumn01 .col {width: 100%; margin: 0 7px 30px;}
.kpiColumn01 .col .kpihead {font-size: 1.6rem;}
.kpiColumn01 .col .numList01 {margin-left: 10px;}
.kpiColumn01 .col .numList01 li {font-size: 1.3rem; line-height: 1.2;}
#content.kpi section {margin-left: 5px; margin-right: 5px;}
#content.kpi > section.mainSection .twoColumn01 {flex-wrap: wrap;}
#content.kpi > section.mainSection .twoColumn01 .col {width: 100%;}
.numheading {font-size: 1.8rem; margin: 0 0 20px!important; padding-left: calc(1.7rem + 15px + 1.2rem); text-indent: calc((1.7rem + 15px + 1.2rem) * -1); line-height: 1.3; text-align: center;}
.numheading span {font-size: 1.8rem;}
.numheading:before {text-indent: 0; font-size: 1.6rem; padding: 3px 8px; margin-right: 5px;}
.numheading:after {width: 8px; height: 8px; margin-left: 3px; margin-bottom: 2px;}
.numheading span:after {width: 12px; height: 12px; margin-left: 5px;}
.table02.type_kpi .iconLink01 a {padding: 60px 5px 5px 15px; background-position: 5px calc(50px + 1em);}
.twoColumnK {flex-direction: column;
    > div {width: 100%;
        .col {
            .iconLink01 a {font-size: 1.4rem;}
        }
    }
}
.mainSection > div > .iconList01 li {line-height: 1.7;}
}

@media print {
#content.kpi > section.mainSection {width: 100%!important; margin: 30px auto 0;	padding-left: 15px;	padding-right: 15px;}
}

/*会社紹介動画エリア 2022/06/15追加
------------------------------------------*/
.companyMovies {width: 100vw;	margin: 30px calc((100vw - 1024px) / -2) 0 calc((100vw - 1024px) / -2);	background:url("/company/img/bg_cmp_mv.webp") repeat-x;	background-size: cover;	animation: bgImage 70s linear infinite;}
.companyMovies .innerBlock {width: 100%;	 margin: 0 auto;	 padding: 50px calc((100% - 1024px) / 2) 40px;	background: linear-gradient(-30deg, rgba(93,202,255,0.70) 25%,rgba(4,80,249,0.70) 75%);  background-size: 200%;	background-attachment: fixed;	animation: bgGradietion 10s ease-in-out infinite;}
.companyMovies .innerBlock h2 {font-size: 3.6rem;	 color: #FFFFFF;	 text-align: center;	margin-bottom: 2em;	text-shadow: 1px 1px 1px #21438A;	font-weight: bold;	line-height: 1.2;	font-family: BIZ UDPGothic, sans-serif;	position: relative;}
.companyMovies .innerBlock h2 span {font-size: 1.8rem;	font-weight: bold;	vertical-align: middle;}
.companyMovies .innerBlock h2::before {background: #FFFFFF;	content: "";	width: 0;	height: 1px;	position: absolute;	left: 50%;	bottom: -0.75em;	margin: auto;	transform: translateX(-50%);	animation: uLine 2s linear forwards;}
.companyMovies .innerBlock .colWrap {display: flex;	 justify-content: space-between;	 margin: 0;}
.companyMovies .innerBlock .colWrap .col {width: calc((100% - 30px) / 2);	display: flex;	flex-direction: column;	align-items: center;	margin: 0;}
.companyMovies .innerBlock .colWrap .col:first-child {margin-right: 30px;}
.companyMovies .innerBlock .colWrap .col .pcElement {display: block;}
.companyMovies .innerBlock .colWrap .col .spElement {display: none!important;}
.companyMovies .innerBlock .colWrap .col > a {width: 100%;	max-width: 320px;	margin-bottom: 20px;	animation: fadeUp 1s forwards;}
.companyMovies .innerBlock .colWrap .col > a img {border: 1px solid #FFFFFF;}
.companyMovies .innerBlock .colWrap .col > a img:hover {transform: translate(0, 3px);}
.companyMovies .innerBlock .colWrap .col > p {padding: 0 15px;	 color: #FFFFFF;	 line-height: 1.5;	 font-size: 100%;	font-family: BIZ UDPGothic, sans-serif;	text-shadow: 1px 1px 2px #21438A;}
#movieBoxWrap {display: none;}
.colWrap.threeCol.typeCmpny{margin-top: 80px;	margin-bottom: 80px;}

@keyframes bgImage {
	from {background-position: 0 0;}
	to {background-position: -100vw 0;}
}
@keyframes bgGradietion {
	0% {background-position: 100% 50%;}
	50% {background-position: 0% 50%;}
	100%{background-position: 100% 50%;}
}
@keyframes fadeUp{
  from {opacity: 0;	transform: translateY(20px);}
  to {opacity: 1;	transform: translateY(0);}
}
@keyframes uLine{
	from {width: 0%;}
	to {width: 100%}
}
@keyframes uLine2{
	from {width: 93%;}
	to {width: 93%}
}

@media screen and (max-width:1024px){
.companyMovies {width: 100%;margin: 30px 0 0;}
.companyMovies .innerBlock {padding: 50px 15px 40px;}
}

@media screen and (max-width:640px){
.companyMovies {width: 100%;	margin: 30px 0;}
.companyMovies .innerBlock {margin: 0;	padding: 30px 15px;	animation: bgGradietion 3s infinite;}
.companyMovies .innerBlock h2 {font-size: 2.3rem;	margin-bottom: 2em;}
.companyMovies .innerBlock h2 span {font-size: 1.5rem;}
.companyMovies .innerBlock h2 span::after {content: "\A";	white-space: pre;}
.companyMovies .innerBlock .colWrap {flex-direction: column;	justify-content: center;	margin: 0;	padding: 0;}
.companyMovies .innerBlock .colWrap .col > a {max-width: 300px;}
.companyMovies .innerBlock .colWrap .col > a img {}
.companyMovies .innerBlock .colWrap .col {width: 100%;}
.companyMovies .innerBlock .colWrap .col:first-child {margin-right: 0;	 margin-bottom: 25px;}
.companyMovies .innerBlock .colWrap .col .pcElement {display: none!important;}
.companyMovies .innerBlock .colWrap .col .spElement {display: block!important;	 width: 100%;}
.companyMovies .innerBlock .colWrap .col p {font-size: 0.9em;}
.colWrap.threeCol.typeCmpny{margin-top: 40px;	margin-bottom: 40px;}
}

@media print {
.companyMovies {width: 1980px;	margin: 30px 0 0 -478px; padding: 0;	background:  linear-gradient(150deg, rgba(110, 188, 229, 0.8) 25%,rgba(57, 111, 233, 0.8) 75%), url("/company/img/bg_cmp_mv.png") no-repeat 50% 50%;	background-size: cover, cover;}
.companyMovies .innerBlock {background: none;}
.companyMovies .innerBlock h2::before {animation: uLine2 2s linear forwards;}
}

/*localNavi02*/
.slide-toggle{
    display: none;
}
.localNavi02 {
    position: relative;
    max-width: 1024px;
    margin: 80px auto 50px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
}
.localNavi02 label{
    width: 16.6%;
    margin-top: 20px;
    text-align: center;
    display: block;
    float: left;
    color: #333;
}
.localNavi02 label:hover{
    cursor: pointer;
    color: #666;
}
.localNavi02 label span{
    display: block;
    padding: 10px;
    font-size:12px;
}
.localNavi02 label .icon{
    font-size: 14px;
    font-weight: bold;
    border: solid 2px #333;
    text-align: center;
    height: 50px;
    width: 50px;
    display: block;
    margin: 0 auto;
    line-height: 50px;
    border-radius: 50%;
}
.localNavi02 label .icon:hover {
    font-size: 14px;
    border: solid 2px #19237D;
    background: linear-gradient(-225deg, #368CCC 0%, #1D8FE1 48%, #625EB1 100%);
}
/*slider*/
.slider{
    width: 100%;
    height: 5px;
    display: block;
    background: #ccc;
    margin-bottom: 10px;
    border-radius: 5px;
    position: absolute;
    top:0;
}
.localNavi02 label,
.slider .bar {
    -webkit-transition: all 500ms ease-in-out;
    -moz-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
}
.localNavi02 .slide-toggle:checked + label{
      opacity: 0.2;
}

@media screen and (max-width: 640px) {
	#content.type_policy > section {
		padding: 0 10px!important;
	}
	.maincontarea > section {
		padding: 0 5px;
	}
    .localNavi02 label{
        width: 100%;
        margin-top: 10px;
    }
    .localNavi02 {
        padding-top:20px;
		margin: 50px auto 30px;
    }
    .localNavi02 label {
        display: flex;
    }
    .localNavi02 label .icon{
        height: 35px;
        width: 35px !important;
        line-height: 35px;
        margin-left: 10px;
    }
    .localNavi02 label .icon:hover {
        color: #fff;
    }
    .localNavi02 label span{
        flex: 1;
        text-align: left;
    }
    .localNavi02 label span:hover{
        text-decoration: underline;
    }
}

/* localNavi02Container */
#localNavi02Container {width:100%;	max-width:1024px;	margin: 80px auto 0;}
#localNavi02Container > p {font-size: 1.2rem; color: #333; letter-spacing: 0.5px;	margin-bottom: 0;}
#localNavi02Container .localNavi02 {margin-top: 10px;}
#policy01, #policy02 {padding-top: 50px;	margin-top: -20px;}
@media only screen and (max-width:1024px){
#localNavi02Container p {margin: 0 15px;}
}
@media only screen and (max-width:640px){
#localNavi02Container .localNavi02 label {width: 100%;}
#policy01, #policy02, #policy03 {padding-top: 70px;	margin-top: -70px;}
}

/*240214追加*/
.addHeading01 {
	font-size: 20px;
}
.addHeading01 span {
	display: flex;
	align-items: center;
	color: #498ee0;
	font-size: 18px;
	text-transform: uppercase;
	margin-top: 15px;
}
.addHeading01 span::before {
	content: '';
	display: inline-block;
	margin-right: 20px;
	width: 40px;
	height: 1px;
	background-color: #498ee0;
}
ul.txtArrow li {
	position: relative;
	padding-left: 1em;
	text-indent: -1em;
}
ul.txtArrow li::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	transform: rotate(45deg);
	border-style: solid;
	border-color: #333;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 0;
	border-left-width: 0;
	vertical-align: middle;
	margin-right: 10px;
  }

/*purpose*/
#purpose {background: linear-gradient(25deg, #FCFEFF, #C5E6FD);    width: 100vw;    margin: 50px calc(50% - 50vw) 60px;    padding: 50px calc(50vw - 50%) 60px;    text-align: center;    line-height: 1.8;    border-top: solid 1px #DDDDDD;    border-bottom: solid 1px #DDDDDD;}
#purpose .ourpurpose {font-size: 2.2rem;    font-weight: bold;    margin-bottom: 50px;    color: #0F49A3;    text-shadow: 2px 2px 0 #FFFFFF;}
.largeText2 {font-weight: bold;    text-shadow: 2px 2px 2px #FFFFFF;    color: #638ED0;}
@media only screen and (max-width:640px){
#purpose {margin-top: 30px;    margin-bottom: 40px;    padding-top: 25px;    padding-bottom: 30px;    line-height: 1.6;}
#purpose .ourpurpose {font-size: 1.9rem;    margin-bottom: 30px;}
.largeText2 {font-size: 1.6rem;}
}

/*award link*/
@media only screen and (max-width:640px){
#awardyear .iconLink01.floatLink01 {display: flex;    flex-wrap: wrap;    justify-content: left;    margin: 0;}
#awardyear .iconLink01.floatLink01 li {border-right: none;    padding: 0;    margin: 1px 0.5px;    width: calc((100% - 2px) / 2);}
#awardyear .iconLink01.floatLink01 li a {display: block;    text-align: center;    padding: 0.75em;    background-position: right 5px top 50%;    font-size: min(4.6vw, 1.35rem);    text-decoration: none;    background-color: #EFEFEF;    transition: background-color 1s;}
#awardyear .iconLink01.floatLink01 li a:hover {background-color: #E5E5E5;    transition: background-color 0.5s;}
}

/*KPI 2024*/
.twoColumnK {
    > div {
        .col {position: relative;
            .nickname {font-size: 1.0rem;    font-weight: bold;    color: #FF6666;    position: absolute;    top: 65px;    left: 7px;}
            &.fund08 {background: url(/company/policy/img/awdFund08.png) no-repeat 10px 10px;    background-color: #FFFFFF;    background-size: 50px;}
            .iconLinkListKpi a {width: calc(100% - 1.5rem);
                &:hover {transform: translate(1px, 3px);    display: inline-block;}
            }
        }
    }
}
.iconLinkListKpi {counter-reset: iconLinkListKpi;    margin-left: 80px;}
.iconLinkListKpi > li {counter-increment: iconLinkListKpi;    font-size: 1.4rem;    display: flex;    flex-wrap: wrap;}
.iconLinkListKpi > li::before {content: counter(iconLinkListKpi)". ";    margin-left: -1.5em;    width: 1.5em;}
.iconLinkListKpi.start3 {counter-reset: iconLinkListKpi 2;}
.iconLinkListKpi.start5 {counter-reset: iconLinkListKpi 4;}
.iconLinkListKpi.start6 {counter-reset: iconLinkListKpi 5;}
.iconLinkListKpi.start7 {counter-reset: iconLinkListKpi 6;}
.iconLinkListKpi.start8 {counter-reset: iconLinkListKpi 7;}
.iconLinkListKpi.start9 {counter-reset: iconLinkListKpi 8;}
.iconLinkListKpi.start10 {counter-reset: iconLinkListKpi 9;}/*250612修正*/
.iconLinkListKpi + p {margin: 5px auto 20px;}

@media only screen and (min-width:641px) and (max-width:1024px){
.twoColumnK {
    > div {
        .col {
            &.fund01,&.fund02,&.fund03,&.fund04,&.fund05,&.fund06,&.fund07,&.fund08,&.fund09 {background-position: 50% 10px;    background-size: 40px;}
            .nickname {left: 50%;    transform: translateX(-50%);    top: 55px;}
        }
    }
}
.iconLinkListKpi {margin: 0 0 0 2rem;    width: calc(100% - 1.5rem);}	/*250612修正*/
.iconLinkListKpi:first-child {margin-top: 60px;}
}

@media only screen and (max-width:640px){
.iconLinkListKpi + p {font-size: 1.4rem;}
}

@media only screen and (max-width: 400px){
.twoColumnK {
    > div {
        .col {
            &.fund01,&.fund02,&.fund03,&.fund04,&.fund05,&.fund06,&.fund07,&.fund08,&.fund09 {background-position: 50% 10px;    background-size: 40px;}
            .nickname {left: 50%;    transform: translateX(-50%);    top: 55px;}
        }
    }
}
.iconLinkListKpi {margin: 0 0 0 2.5rem;    width: calc(100% - 1.5rem);}
.iconLinkListKpi:first-child {margin-top: 55px;}
}

/*会社概要 20240625*/
.flexColumn {display: flex;    justify-content: center;}
.flexColumn > figure {margin-right: 30px;    margin-bottom: 20px;    max-width: 65%;    text-align: center;}
.flexColumn .halfColumn {display: block;    width: calc(35% - 30px);}
.flexColumn .halfColumn .col > p {font-weight: bold;    margin-top: 0;}
.flexColumn .halfColumn .col dl {background: #DCE1E5;    border-radius: 12px;    padding: 7px;    margin-bottom: 20px;}
.flexColumn .halfColumn .col dt {font-weight: bold;    line-height: 1.4;    text-align: center;    font-size: min(1.9vw, 1.5rem);}
.flexColumn .halfColumn .col dd {font-weight: bold;    font-size: min(2.8vw, 2.3rem);    line-height: 1.4;    text-align: center;}
.flexColumn .halfColumn .col dd > p {padding: 10px 5px;    margin: 0;    font-size: min(1.7vw, 1.4rem);    line-height: 1.4;    background: #FFFFFF;    border-radius: 10px;    text-align: center;}
.flexColumn .halfColumn .col dd > p > span {display: block;    font-size: min(2.5vw, 2.0rem);}
@media only screen and (max-width:640px){
.flexColumn {display: flex;    flex-direction: column;}
.flexColumn > figure {margin-right: 0;    max-width: 100%;}
.flexColumn .halfColumn {display: flex;    width: 100%;    justify-content: space-around;}
.flexColumn .halfColumn .col {width: calc(50% - 10px);}
.flexColumn .halfColumn .col > p {text-align: center;    margin-bottom: 0.35rem;    font-size: min(2.9vw, 1.5rem);}
.flexColumn .halfColumn .col dt {font-size: min(2.8vw, 1.4rem);}
.flexColumn .halfColumn .col dd {font-size: min(4.5vw, 2.2rem);}
.flexColumn .halfColumn .col dd > p {font-size: min(2.5vw, 1.4rem);}
.flexColumn .halfColumn .col dd > p > span {font-size: min(3.9vw, 2.0rem);}
}

/* 241220 box */
.boxSet01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding:1em;
    border: 3px solid #eee;	
    position: relative;
    z-index: 0;
    margin-top: 4em;
}
.boxSet01:before {
	border-top:3px solid #999;
	border-left:3px solid #999;
	content: '';
	display: block;
	position: absolute;
	top: -3px;
	left: -3px;
	width: 20px;
	height: 20px;
	z-index: 1;
}
.boxSet01:after {
	border-bottom:3px solid #999;
	border-right:3px solid #999;
	content: '';
	display: block;
	position: absolute;
	bottom: -3px;
	right: -3px;
	width: 20px;
	height: 20px;
	z-index: 2;
}
.boxSet01 img {
    display: block;
    width : calc(192px * 0.9);
    height: calc(220px * 0.9);
    height: auto;
    margin-left: 30px;
}
.boxSet01 .box {
    flex:1;
}

@media screen and (max-width:480px){
  .boxSet01 {
        display: block;
      }
  .boxSet01 img {
      display: block;
      height: auto;
      margin: 0 auto;
    }
    .boxSet01 .box {
      width: 100%;
    }
}

/* clearfix */
.colWrap:after,
.introCol:after {
	content : "";
	display : block;
	clear : both;
}

/* 250414 スキルマトリックス追加 */
.matrixBox {
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.matrixBox table.matrixTable {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.matrixTable th, .matrixTable td {
    vertical-align: middle;
    padding: 10px;
    border: 1px solid #dddddd;
    text-align: center;
}
.matrixTable thead th {
    background-color: #e4f6f8;
    font-size: 13px;
}
.matrixTable tbody tr:nth-child(odd) {
    background-color: #ffffff;
}
.matrixTable tbody tr:nth-child(even) {
    background-color: #f0f0f0;
}
.matrixTable tbody td,
.matrixTable tbody th {
    height: 70px;
}
.matrixTable td:nth-child(2),
.matrixTable th:nth-child(2) {
    min-width: 110px;
}
.matrixTable th:nth-child(n+3):nth-child(-n+10),
.matrixTable td:nth-child(n+3):nth-child(-n+10) {
    width: 10%;
}
.matrixTable .sticky_row {
    position: sticky;
    top: 0;
    left: 0;
    background: none;
    border-left: none;
    border-right: none;
    white-space: nowrap;
}
.matrixTable .sticky_row::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-left: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
    /*background-color: #e4f6f8;250227削除*/
    z-index: -1;
}
.matrixTable .sticky_col {
    position: sticky;
    top: 0;
    left: 0;
    background: none;
    border-top: none;
    border-bottom: none;
}
.matrixTable .sticky_col::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
    background-color: #e4f6f8;
    z-index: -1;
}
.matrixTable .sticky_cross {
    position: sticky;
    top: 0;
    left: 0;
    background: none;
    border-top: none;
    border-bottom: none;
    border-left: none;
    border-right: none;
    z-index: 1;
}
.matrixTable .sticky_cross::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
    border-left: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
    background-color: #e4f6f8;
    z-index: -1;
}
.matrixTable td.defi,
.matrixTable th.defi {
    max-width: 200px;
    text-align: left;
}
.matrixTable td.text,
.matrixTable th.text {
    text-align: left;
}

@media screen and (max-width:1012px){
    .matrixBox thead th {
        background-color: #e4f6f8;
        text-align: left;
    }
    .matrixTable th:nth-child(n+3):nth-child(-n+10),
    .matrixTable td:nth-child(n+3):nth-child(-n+10) {
        width: 10%;
    }
    .toggleContainer {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        position: relative;
    }
}
@media screen and (min-width:641px){
    .matrixTable span.spOnly,
    .matrixarrow{
        display: none;
    }
    .toggleContainer .toggleIcon {
        display: none;
    }
}
@media screen and (max-width:640px){
    .matrixBox {
        height: 450px;
        overflow-y: auto;
    }

    .matrixTable tbody td,
    .matrixTable tbody th {
        height: 55px;
    }
    .matrixTable th, .matrixTable td {
        padding: 6px;
    }
    .matrixTable td:nth-child(2),
    .matrixTable th:nth-child(2) {
        min-width: 90px;
    }
    .matrixTable td.defi,
    .matrixTable th.defi,
    .matrixTable td.text,
    .matrixTable th.text{
        display: block;
        width:100%;
        max-width: 100%;
        height: auto;
    }
    .matrixTable td.defi{
        border-top: none;
        border-bottom: none;
    }
    .matrixTable th.defi {
        border-bottom: none;
    }
    .matrixTable thead th.defi {
        border-bottom: 1px solid #dddddd;
    }
    .matrixTable tbody th.defi {
        border-top: none;
    }
    .matrixTable td.text,
    .matrixTable th.text {
        border-top: none;
    }
    .matrixTable th.text {
        display: none;
    }
    .matrixarrow {
        margin: 0;
        padding-left: 5px;
        font-size: 11px;
        color: #666;
        margin-bottom: 5px;
    }
    .longText {
        word-wrap: break-word;
        white-space: normal;
        height: 180px;
    }
   .matrixTable thead th {
        height: 170px;
    }
    .toggleContainer {
        height: 170px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        cursor: pointer;
        overflow: hidden;
        position: relative;
        padding-bottom: 5px;
    }
    .toggleContainer .textContent {
        height: 150px;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        align-self: flex-start;
        margin-top: 0 !important;
    }
    .toggleContainer .toggleIcon {
        position: absolute;
        bottom: 12px;
        left: 50%;
        transform: translateX(-50%);
        display: inline;
        margin-top: 0 !important;
    }
}

/*250619 追加*/
.step-container {
    display: grid;
    grid-template-columns: auto 1fr auto auto auto;
    grid-template-rows: auto auto auto auto auto; 
    gap: 20px;
    padding: 20px;
}
.step-item {
    display: flex;
}
.step-number {
    font-weight: bold;
    font-size: 1.2em;
    min-width: 80px;
    text-align: right;
    padding-right: 10px;
}
.step-content {
    flex-grow: 1;
}
.step-content h4 {
    margin-top: 0;
      /*position: relative;
      display: inline-block;
      font-weight:bold;
      background: linear-gradient(transparent 50%, #e8f7fb 50%);
      margin: 0 auto 10px;
      padding: 0 10px 0 10px;*/
}
.step-item-1 {
    grid-column: 1 / 6;
    grid-row: 1;
    display: grid;
    grid-template-columns: subgrid;
}
.step-item-1 .step-number,
.step-item-2 .step-number,
.step-item-3 .step-number {
    grid-column: 1;
    text-align: center;
    align-items: center;
    background: #0593d1;
    border-radius: 25px 0 025px;
    padding: 8px 50px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.step-item-1 .step-number span,
.step-item-2 .step-number span,
.step-item-3 .step-number span {
    font-size: 2em;
    display: block;
    width: 100%;
}
.step-item-1 .step-content {
    grid-column: 2 / 6;
}
.step-item-2 {
    grid-column: 1 / 6;
    grid-row: 3;
    display: grid;
    grid-template-columns: subgrid;
}
.step-item-2 .step-content {
    grid-column: 2 / 6;
}
.step-item-3 {
    grid-column: 1 / 6;
    grid-row: 5;
    display: grid;
    grid-template-columns: subgrid;
}
.step-item-3 .step-content {
    grid-column: 2 / 6;
}
.arrow-group {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 0;
}
.step-arrow {
    font-size: 2em;
    line-height: 1;
}
.arrow-up {
    color: #1146a3;
    padding: 8px;
    background: #f3f1ef;
    border-radius: 25px;
}
.arrow-down {
    color: #0593d1;
    padding: 8px;
    background: #edf6fa;
    border-radius: 25px;
}
.description {
    font-size: 0.9em;
}
.arrow-group-1-2 {
    grid-column: 1 / 6;
    grid-row: 2;
    justify-content: flex-start;
    margin-left: 10px;
}
.arrow-group-2-3 {
    grid-column: 1 / 6;
    grid-row: 4;
    justify-content: flex-start;
    margin-left: 10px;
}
.additional-description {
    grid-column: 5;
    grid-row: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-left: 20px;
    text-align: center;
}
.arrow-description {
    font-size: 1.7rem;
    position: relative;
    background: #f3f1ef;
    border-radius: .4em;
    padding: 10px 15px;
    margin-left: 20px;
    max-width: 100%;
    text-align: left;
    color: #1146a3;
}
.arrow-description::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-right-color: #f3f1ef;
    border-left: 0;
    margin-top: -10px;
    margin-left: -10px;
}
.step-container .numList02 {
    line-height: 0.8 !important;
}
section ul.iconList02 > li + li  {
    margin-top: 0 !important;
}

@media (max-width: 640px) {
    .step-container {
        grid-template-columns: 1fr;
        padding: 20px 0;
    }
    .step-content h4 {
        margin-top: 10px;
    }
    .step-item {
        flex-direction: column;
        align-items: flex-start;
        grid-column: 1;
    }
    .step-number {
        text-align: left;
        padding-right: 0;
        margin-bottom: 5px;
    }
    .step-item-1 .step-number span,
    .step-item-2 .step-number span,
    .step-item-3 .step-number span {
        font-size: 1.2em;
        font-weight: bold;
        display: inline-block;
    }
    .step-item-1 { grid-row: 1; }
    .step-item-2 { grid-row: 3; }
    .step-item-3 { grid-row: 5; }
    .arrow-group {
        grid-column: 1;
        align-items: center;
        justify-content: center;
        gap: 5px;
    }
    .arrow-group {
        padding: 0;
    }
    .arrow-group-1-2 {
        grid-row: 2;
    }
    .arrow-group-2-3 {
        grid-row: 4;
    }
    .additional-description {
        grid-column: 1;
        grid-row: 6;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        margin-top: 10px;
        padding-left: 0;
    }
    .step-arrow {
        margin-right: 10px;
    }
    .arrow-description {
        margin-left: 0;
        margin-top: 10px;
        padding: 8px 12px;
        font-size: 1.5rem;
    }
}