@charset "utf-8";
/*=============================================================
 base Setting
=============================================================*/
:root {
    --maxWidth: 1200px;
		--primaryColor: #1452A1;
	  --secondaryColor: #17254C;
		--bgColorWhite: #FFFFFF;
		--bgColorBlack: #000000;
	  --bgColorGray: #F1F1F1;
		--bgColorBlue: #3E6D86;
		--textColorBlack: #000000;
		--textColorLiteGray: #747474;
		--textColorGray: #646464;
		--accentColorGray: #E6E6E6;
		--lineColorGray: #D0D0D0;
	 	--lineColorDarkGray: #7C7C7C;
}
/*=============================================================
 base Layout
=============================================================*/
/* container
--------------------------------------------------------------*/
#container{
	overflow:hidden;
}
body,
#container{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
/* pageBody
-------------------------------------------------------------*/
#pageBody{
	padding-top:110px;
}
/* contentsInner
-------------------------------------------------------------*/
.contentsInner{
	max-width:var(--maxWidth);
	margin:0 auto;
	padding: 0 clamp(20px, 2.5vw, 48px);
}
.contentsInner.inner990{
	max-width:990px;
}
/*  .inner-fullw{
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding-right: calc(50vw - 50%);
    padding-left: calc(50vw - 50%);
  }*/
/* pageMain
-------------------------------------------------------------*/
#pageMain{position: relative;}

/* pageTtlMain
-------------------------------------------------------------*/
#pageTtlMain{
	box-sizing: border-box;
}
#pageTtlMain p{line-height: 200%;}
#pageTtlMain #categoryTtl{
	display:block; 
	text-align: center;
	font-family: Roboto;
	font-size: clamp(1.3rem, 0.65rem + 1.56vw, 1.8rem);
	color: var(--textColorBlack);
	font-style: normal;
	font-weight: 300;
	line-height: normal;
	letter-spacing: 0.9px;
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 16px;
}
#pageTtlMain #categoryTtl::after{
	content: '';
	height: 4px;
	width: 30px;
	background-color: #000;
	position: absolute;
	bottom: 0;
	left: calc(50% - 15px);
}
#pageTtlMain h1{
	text-align: center;
	font-size: clamp(3.0rem, -1.25rem + 4.583vw, 4.4rem);
	font-family: "Noto Serif JP";
	color: var(--textColorBlack);
	font-style: normal;
	font-weight: 300;
	line-height: 150%;
	
}
#pageTtlMain h1 + p{margin-top: clamp(54px, 20px + 6.25vw, 80px);;}

/* topicPathArea
-------------------------------------------------------------*/
#topicPathArea{
	color: var(--textColorBlack);
	font-family: "Noto Sans JP";	
	font-size: 1.2rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	padding:35px 0 8px;
}
#topicPathArea a{color:var(--textColorLiteGray);}
#topicPathArea .contentsInner{
	display:flex;
	flex-wrap:wrap;
	/*align-items:center;*/
	height: 34px;
}
/* topicPath */
#topicPath{
	display:flex;
	flex-wrap:wrap;
	margin-right:auto;
}
#topicPath li{margin:0 20px 0 0;}
#topicPath li a{position: relative;}
#topicPath li a::before{
	content:'';
	background: url("../img/arw-topicPath.svg") no-repeat;
	background-size: cover;
	width: 5px;
	height: 8px;
	position: absolute;
	top: calc((100% - 8px) / 2);
	right: -13px;
}
/* link */
#topicPath+*{
	display:flex;
	flex-wrap:wrap;
	margin-left:auto;
}
#topicPath+* li{margin:5px 0 0 10px;}

@media only screen and (max-width:1023px){
	#topicPathArea{display: none;}
}

/* contentsArea
-------------------------------------------------------------*/
#contentsArea{}

/* contents
-------------------------------------------------------------*/
#contents{
	line-height: 200%;
	padding-bottom:180px;
}
#contents p + p{margin-top: .8em;}
#contents p + p:has(a){margin-top: 1.25em;}

/* section
-------------------------------------------------------------*/
section,
.section{margin-top: clamp(80px, 30px + 7.81vw, 120px);}
.section:has(.flx-jc-c){margin-top: clamp(80px, 20px + 7.85vw, 100px);}

/*=============================================================
 ttl
=============================================================*/
/* setting */
[class^="ttl-"]:not(.ttl-mL){
	color: var(--textColorBlack);
	font-weight: 400;
	line-height: 150%;
}

/* ttl-h2 */
.ttl-h2{
	font-family: "Noto Serif JP";
	font-size: clamp(2.6rem, 1.6rem + 2.5vw, 3.6rem);
	margin-bottom: clamp(32px, 19px + 1.92vw, 42px);
}
.ttl-h2>span{
	display: block;
	font-family: Roboto;
	font-size: 2.4rem;
	font-style: normal;
	font-weight: 200;
	line-height: normal;
	letter-spacing: 1.2px
}

/* ttl-h3 */
.ttl-h3{
	position: relative;
	font-size: clamp(2.2rem, 1.7rem + 0.42vw, 2.4rem);
	padding-top: 8px;
	margin: clamp(64px, 40px + 3.33vw, 80px) 0 clamp(14px, 6px + 1.56vw, 20px);
	display: flex;
	justify-content: space-between;
}
#ir.finance [class^="ttl-h3"]:has(span),
#ir.library [class^="ttl-h3"]:has(span){margin-top: 0!important;}
#ir .ttl-h3 .textS{white-space: nowrap;}
.ttl-h3::before{
	content: '';
	width: 100%;
	height: 1px;
	background-color: var(--lineColorDarkGray);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.ttl-h3::after{
	content: '';
	width: 48px;
	height: 4px;
	background-color: #000;
	position: absolute;
	top: 0;
	left: 0;
}
.color-box.box-blue .ttl-h3{color:#fff;}
.color-box.box-blue .ttl-h3::before,
.color-box.box-blue .ttl-h3::after{background-color:#fff!important;}

/* ttl-h4 */
.ttl-h4{
	font-size: 2.0rem;
	margin: clamp(30px, 15px + 2.5vw, 40px) 0 8px;
}
/* ttl-fig */
.ttl-fig{
	font-weight: 500;
	margin: clamp(30px, 15px + 2.5vw, 40px) 0 8px!important;
}

/* catch */
.catch{
	color: #000;
	font-family: "Noto Serif JP";
	font-size: calc(26px + ((1vw - 7.68px) * 2.31481));
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
}
.box-DarkBlue .inner .catch{color: #fff;}

.catch + p{margin-top: 42px!important;}
	@media (min-width: 1200px) {
		.catch{font-size: 36px;}
}

/* col-list */
.col-list>div>[class^="ttl-"]{margin-top: 0;}
.col-list>div:nth-child(n + 3)>.ttl-h3{margin: clamp(64px, 40px + 3.33vw, 80px) 0 clamp(14px, 6px + 1.56vw, 20px);}

/*=============================================================
 text
=============================================================*/
/* figcaption
--------------------------------------------------------------*/
figure > figcaption.ttl:first-of-type{
	display: flex;
	justify-content: space-between;
	color: var(--textColorBlack);
	text-align: left;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
	margin-bottom: 12px;
}
figure > figcaption:last-of-type {
	font-size:1.4rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	display:block;
	padding-top:8px;
}

.img-radius{
	overflow: hidden;
}
.img-radius img{
	border-radius: 4px;
}
/* atn
--------------------------------------------------------------*/
* + .text-atn,
* + .text-atnNum{margin-top: .8em;}

.text-atn,
.text-atnNum{
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
}
.text-atnNum{counter-reset: atn-counter;}
.text-atn:not(ul):not(ol),
.text-atn li{
	text-indent:-1.6em;
	margin-left:1.6em;
}
.text-atn:not(ul):not(ol)::before,
.text-atn li::before{
	content: '※';
	margin-right: .4em;
	color: #000;
}
.text-atnNum:not(ul):not(ol),
.text-atnNum li{
	text-indent:-2.2em;
	margin-left:2.2em;
}
.text-atnNum:not(ul):not(ol)::before,
.text-atnNum li::before{
	counter-increment: atn-counter;
	content: '※' counter(atn-counter);
	color: var(--textColorBlack);
  margin-right: 0.6em;
}
.text-atnNum li + li{margin-top: 8px;}

/* small */
small{font-size: 1.6rem;}

/* textS */
.textS{font-size: 1.4rem;}

/* textBold */
.textBold{
	color: #000;
	font-weight: 500;
}

/* tag-list */
.tag-list{margin-bottom: 8px;}
.tag-list>li{display: block;}

/* industryTag */
.industryTag{
	display: inline-block;
	border-radius: 4px;
	box-sizing: border-box;
	padding: 2px 8px 2px; 
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
	background-color: transparent;
	color: var(--primaryColor);
	border: 1px solid var(--primaryColor);
}
.box-DarkBlue .industryTag{
	color: #fff;
	border: 1px solid #fff;
}

/* companyName */
.companyName{
	color: var(--textColorGray);
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

/* personalName */
.personalName{
	color: var(--textColorBlack);
	font-size: 2.4rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
}
.personalName span{font-size: 1.8rem;}
.personalName + .text{margin-top: 8px!important;}

/* departmentName */
.departmentName{
	color: var(--textColorBlack);	
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
}
figure + .departmentName{margin-top: 24px;}
.departmentName + .personalName{margin-top: 4px!important;}


/* personal-list */
.personal-list{gap: 80px 2.67%!important;}

/* text */
.personal-item .text{
	position: relative;
	padding-bottom: 40px;
}
.personal-item .text::after{
	content: '';
	background-color: var(--lineColorGray);
	height: 1px;
	width: 100%;
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
}
/* main-solution */
.personal-item .main-solution{
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	margin-top: 0!important;
}
.personal-item .main-solution>span{
	font-weight: 500;
	display: block;
	margin-bottom: 2px;
}

/*=============================================================
 list
=============================================================*/
[class^="list-"] + [class^="list-"]{margin-top:32px;}

/* setting
-------------------------------------------------------------*/
[class^="list-"]{}
[class^="list-"]>li + li{margin-top: 10px;}
[class^="list-"]>li{
	line-height: 150%;
	padding-left:1em;
	position:relative;
}
/* list-circle
-------------------------------------------------------------*/
.list-circle{padding-left: .4em;}
.list-circle>li::before{
	content:"";
	background: #000;
	display:block;
	width:8px;
	height:8px;
	border-radius:50%;
	position:absolute;
	top:9px;
	left:0;
}

/* list-num
-------------------------------------------------------------*/
.list-num{
	counter-reset: number;
	padding-left: .6em;
	list-style-type: decimal;
}
.list-num>li{padding-left:1.8em;}
.list-num>li::before{
	content:"";
  content: counter(number) ". ";
  counter-increment: number;
	color: var(--textColorBlack);
	position:absolute;
	top:0;
	left:0;	
}

/* list-alp
-------------------------------------------------------------*/
.list-alp{
	counter-reset: alphabet;
	padding-left: .6em;
	list-style-type: lower-alpha;
}
.list-alp>li{padding-left:1.8em;}
.list-alp>li::before{
	content:"";
  content: counter(alphabet, lower-alpha) ". ";
  counter-increment: alphabet;
	color: var(--textColorBlack);
	position:absolute;
	top:0;
	left:0;	
}

/* list-num
-------------------------------------------------------------*/
.list-parentheses{
	counter-reset: number;
	padding-left: 0;
	list-style-type: decimal;
}
.list-parentheses>li{padding-left:2.4em;}
.list-parentheses>li::before{
	content:"";
  content: "（" counter(number) "）";
  counter-increment: number;
	color: var(--textColorBlack);
	position:absolute;
	top:0;
	left:0;	
}

/* list-space-
-------------------------------------------------------------*/
.list-space-l>li + li{margin-top: 40px;}
.list-space-m>li + li{margin-top: 30px;}
.list-space-s>li + li{margin-top: 20px;}

/*=============================================================
 link
=============================================================*/
/* setting */
/** + [class^="link-btn"]{margin-top: 24px;}*/
[class^="col-"] [class^="link-btn"] + p{
	margin-top: 8px!important;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
}
[class^="link-btn"] a,
.link-img [class^="link-btn"]{
	color: var(--textColorBlack);
	display: flex;
	flex-direction: row;
	align-items: center;
	text-align: left;
	font-size: 1.8rem;
	font-style: normal;
	padding: 6px 84px 6px 24px;
	box-sizing: border-box;	
	border-radius: 4px;
	font-weight: 500;
	line-height: 150%;
	transition: all .3s;
	position: relative;
	overflow: hidden;
	z-index: 0;
	min-height: 67px;
}
.link-img [class^="link-btn"]{border-radius: 0 0 4px 4px;}
[class^="link-btn"] a::after,
.link-img [class^="link-btn"]::after{
	content: '';
	width: 1px;
	height: calc(100% - 12px);
	position: absolute;
	right: 70px;
	top: 6px;
	bottom: 6px;
	transition: all .3s;
}
[class^="link-btn"] a:hover,
.link-img:hover [class^="link-btn"],
.link-img:hover{text-decoration: none;}
[class^="link-btn"] a::before,
.link-img [class^="link-btn"]::before{
	content: '';
	transition: all .3s;
	background-color: var(--primaryColor);
	width: 22px;
	height: 22px;
	position: absolute;
	top: calc(50% - 11px);
	right: 24px;
	z-index: 2;
}
[class^="link-btn"] a span{
	padding: 14px 0;
	box-sizing: border-box;
}
/* link-btn
--------------------------------------------------------------*/
/* link-btn01 */
.link-btn01 a,.link-btn03 a,
.link-img [class^="link-btn"]{background: var(--bgColorGray);}
.link-btn01 a:hover,.link-btn03 a:hover,
.link-img:hover [class^="link-btn"],
.box-full [class^="link-btn"] a:hover,
.box-fullw [class^="link-btn"] a:hover,
.color-box.box-lightBlue [class^="link-btn"] a:hover{background: var(--lineColorGray);}
.link-btn01 a::after,.link-btn03 a::after,
.link-img [class^="link-btn"]::after{background-color: var(--lineColorGray);}
.link-btn01 a:hover::after,.link-btn03 a:hover::after,
.link-img:hover [class^="link-btn"]::after{background-color: var(--lineColorDarkGray);}
.link-btn01 a::before,.link-btn03 a::before,
.link-img [class^="link-btn"]::before{
	background: url("../img/arw-icon.svg") no-repeat center;
	background-size: cover;
}
.box-full [class^="link-btn"] a,
.box-fullw [class^="link-btn"] a,
.color-box.box-lightBlue [class^="link-btn"] a{background: #fff;}

/* link-btn02 */
.link-btn02 a{
	background: var(--primaryColor);
	color: #fff; 
}
.link-btn02 a:hover{background: var(--secondaryColor);}
.link-btn02 a::after{background-color: #fff;}
.link-btn02 a:hover::after{background-color: var(--lineColorGray);}
.link-btn02 a::before{
	background: url("../img/arw-icon-w.svg") no-repeat center;
	background-size: cover;
}

/* link-btn03 */
.link-btn03 a{background: var(--bgColorWhite);}
a.nolink{pointer-events: none;}

/* nolink */
a.nolink::before,
a.nolink::after{content: none;}

/* link-btn04 */
.link-btn04 a{
	color: #fff;
	background: var(--primaryColor);
}
.link-btn04 a::after{background-color: #fff;}
.link-btn04 a::before{
	background: url("../img/arw-icon-w.svg") no-repeat center!important;
  background-size: cover!important;
}
.link-btn04 a:hover{
	background: var(--secondaryColor);
}
    
/* icon */
[class^="link-btn"].btn-icon{
	max-width: 380px;
	margin: 0 auto;
}
[class^="link-btn"].btn-icon div{
	display: flex;
	align-items: center;
	column-gap: 24px;
}
[class^="link-btn"].btn-icon div figure{
	width: 30px;
	height: auto;
}
[class^="link-btn"].btn-icon div span{
	width: calc((100% - 54px));
}
[class^="link-btn"].btn-icon a.nolink{
	pointer-events: none;
}
[class^="link-btn"].btn-icon a.nolink::before,
[class^="link-btn"].btn-icon a.nolink::after{content: none;}
/* btn-num */
.btn-num li{
	/*display: flex;
	flex-direction: column;*/
	/*height: 100%;*/
}
.btn-num li .text-box{
/*	flex: 1;
	display: flex;*/
	margin-bottom: 30px;
}
.btn-num li .link-box{}
.btn-num li ul.link-list{
	margin-top: 16px;
}
.btn-num li ul.link-list li + li{margin-top: 8px;}
.btn-num [class^="link-btn"] a>span{
	padding: 14px 0 14px 22px;
	position: relative;
}
.btn-num [class^="link-btn"] a>span::before{
	content: '';
	background-color: #CB1A1D;
	height: 18px;
	width: 18px;
	border-radius: 50px;
	position: absolute;
	top: 19px;
	left: 0;
}
.btn-num [class^="link-btn"] a>span>.num{
	position: absolute;
	width: 18px;
	height: 18px;
	font-size: 1.2rem;
	text-align: center;
	top: 0;
	left: 0;
	color: #fff;
}

.btnC380{
	width: 100%;
	max-width: 380px;
	margin: 92px auto 0;
}


/* link-img */
.link-img figure{
	border-radius: 4px 4px 0 0;
	overflow: hidden;
}
.link-img figure img{
	transition: all .3s ease;
	width: 100%;
}
.link-img:hover figure img{transform: scale(1.03);}

/* link-arw
--------------------------------------------------------------*/
/* link-arw setting */
[class^="link-arw"]{}
[class^="link-arw"]{
	color: var(--textColorBlack);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 160%;
	position: relative;
	padding: 3px 34px 9px 0;
	box-sizing: border-box;
	display: inline-block;
  vertical-align: middle;
	background-image: linear-gradient(to right, var(--lineColorGray), var(--lineColorGray));
	background-size: 100% 1px;
	background-repeat: no-repeat;
	background-position: left bottom;
	transition: background-size 0.3s ease, background-image 0.3s ease; 
}
[class^="link-arw"]:hover,
a:hover [class^="link-arw"]{
	color: var(--primaryColor);
	text-decoration: none!important;
}
[class^="link-arw"]::before{
	content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: var(--primaryColor);
  transition: width 0.3s ease;
}
[class^="link-arw"]:hover::before,
a:hover [class^="link-arw"]::before{width: 100%;}

/* link-arw */
[class^="link-arw"]::after{
	content: '';
	background: url("../img/arw-icon.svg") no-repeat center;
	background-size: cover;
	width: 22px;
	height: 22px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	transition: all .3s;
}
/*[class^="link-arw"]:hover::after{right: -4px;}*/
[class^="link-arw"].icon-white{
	color: #fff;
	background-image: linear-gradient(to right, var(--lineColorDarkGray), var(--lineColorDarkGray));
}
[class^="link-arw"].icon-white:hover, a:hover [class^="link-arw"].icon-white{color: #fff;}

[class^="link-arw"].icon-white::after{
	background: url("../img/arw-icon-w.svg") no-repeat center;
	background-size: cover;
}
[class^="link-arw"].icon-white::before{
	background-color: #fff;
}

/* link-arw */
[class^="link-arw"][target="_blank"]:not([href$=".pdf"])::after,
[class^="link-arw"].blank::after{
	background: url("../img/icon-blank.svg") no-repeat center;
	background-size: cover;
	width: 22px;
	height: 22px;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	margin-top: -2px;
}
[class^="link-arw"][target="_blank"].icon-white::after{
	background: url("../img/icon-blank-w.svg") no-repeat center;
	background-size: cover;
}
/* pdf */
[href$=".pdf"][class^="link-arw"]::after{
	background: url("../img/icon-pdf.svg") no-repeat center;
	background-size: cover;
	width: 22px;
	height: 22px;
	top: 50%;
	transform: translateY(-50%);
	right: 0px;
	margin-top: -2px;
}

/* ac */
[href^="#ac"][class^="link-arw"]::after{
	background: url("../img/icon-ac.svg") no-repeat center;
	background-size: cover;
	width: 22px;
	height: 22px;
	top: 50%;
	transform: translateY(-50%);
	right: 0px;
	margin-top: -2px;
}
[href^="#ac"][class^="link-arw"].ac-white::after{
	background: url("../img/icon-ac-w.svg") no-repeat center;
	background-size: cover;
}

/* [id^="ac"] */
[id^="ac"]{scroll-margin-top: 74px;}

/* btn-ac */
[class^="link-btn"] [href^="#ac"]::before{
	background: url("../img/icon-ac.svg") no-repeat center;
	background-size: cover;
	width: 22px;
	height: 22px;
	top: 50%;
	transform: translateY(-50%);
	right: 24px;
	margin-top: -2px;
}

/* blank */
[class^="link-btn"] [target="_blank"]::before{
	background: url("../img/icon-blank.svg") no-repeat center;
	background-size: cover;
}
/* pdf */
[class^="link-btn"] [href$=".pdf"][target="_blank"]::before{
	background: url("../img/icon-pdf.svg") no-repeat center;
	background-size: cover;
}

/* link-ac
--------------------------------------------------------------*/
.link-ac{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 32px;
}
.link-ac .ac-white{color: #fff;}
.link-ac li a{}
.link-ac-center{justify-content: center;}
	
/* linline
--------------------------------------------------------------*/
.inline{
	color: var(--textColorBlack);
	position: relative;
	padding: 0;
	background-image: linear-gradient(to right, var(--bgColorBlack), var(--bgColorBlack));
	background-size: 100% 1px;
	background-repeat: no-repeat;
	background-position: left bottom;
	transition: background-size 0.3s ease, background-image 0.3s ease;
	word-break: break-all;
}
[target="_blank"].inline{
	position: relative;
	padding: 3px 22px 0 0;
	box-sizing: border-box;
	display: inline-block;
}
[target="_blank"].inline::after{
	content: '';
	background: url("../img/icon-blank.svg") no-repeat center;
	background-size: cover;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	margin-top: 2px;
}
.inline:hover{
	color: var(--primaryColor);
	text-decoration: none;
	background-size: 0 1px;
}

/* link-block
--------------------------------------------------------------*/
.link-block{margin-top: 30px;}

/* link-list
--------------------------------------------------------------*/
/*.link-list li:last-child{margin-bottom: 20px;}*/
.link-list li + li{margin-top: 16px;}
#sitemap .link-list ul{margin-top: 10px;}
#sitemap .link-list ul li + li{margin-top: 0;}
#sitemap .link-list ul li a{
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 500;
	line-height: 200%;
	color: #000;
	text-decoration: underline;
}
#sitemap .link-list ul li a:hover{text-decoration: none;}
.link-list li .date{font-weight: 500;}

/* link-list-btn
--------------------------------------------------------------*/
.link-list-btn{
	padding: 24px;
	box-sizing: border-box;
}
.link-list-btn li a{width: 100%;}
.link-list-btn li + li{margin-top: 18px;}

/* link-adobe
--------------------------------------------------------------*/
.link-adobe{color: var(--textColorBlack);}

/* news-list
--------------------------------------------------------------*/
.news-list [class^="link-arw"]{background-image: none;}
.news-list [class^="link-arw"]::before{content: none;}
.news-list{border-top: 1px solid var(--lineColorGray);}
.news-list li{
	box-sizing: border-box;	
	border-bottom: 1px solid var(--lineColorGray);
}
.news-list li a{
	font-weight: 400;
	line-height: 200%;
	width: 100%;
	padding: 20px 60px 20px 20px;
	box-sizing: border-box;
	transition: all 0.2s ease
}
.news-list li a .date + .text{margin-top: 4px!important;}
.news-list li a:hover{
	background-color: var(--bgColorGray);
}
.news-list li a .date{color: #000!important;}
.news-list li a .date .tag,
#news.detail .date .tag{
	font-size: 1.3rem;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
	color: var(--primaryColor);
	border: 1px solid var(--primaryColor);
	border-radius: 4px;
	box-sizing: border-box;
	padding: 1px 12px;
	margin-left: 10px;
}
.news-list li a .text{
	display: inline-block;
	position: relative;
}
.news-list li a .text::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0%;
	height: 1px;
	background-color: var(--primaryColor);
	transition: width 0.3s ease;	
}
.news-list li a:hover .text::before {width: 100%;}
.news-list [class^="link-arw"]::after{right: 20px;}

/*=============================================================
 pageNav
=============================================================*/
.pageNav{
	margin-top: 42px;
	text-align: center;
}
.pageNav .pagination{
	display: flex;
	column-gap: 10px;
	align-items: center;
	justify-content: center;
}
.pageNav .pagination a,
.pageNav .pagination .current{
	display: block;
	transition: all .2s;
	color: var(--textColorGray);
	font-family: Roboto;
	font-size: 2.1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
}
.pageNav .pagination .current{
	color: var(--primaryColor);
	text-decoration: underline;
}
.pageNav .pagination a:hover{opacity: .5;}
.pageNav .pagination .prev,
.pageNav .pagination .next{
	width: 34px;
	height: 34px;
	text-indent: -99999px;
	overflow: hidden;
}
.pageNav .pagination .prev{
	background: url("../img/pageNav-pre.svg") no-repeat;
	background-size: cover;
	margin-right: 10px;
}
.pageNav .pagination .next{
	background: url("../img/pageNav-next.svg") no-repeat;
	background-size: cover;
	margin-left: 10px;
}
/*=============================================================
 link-area
=============================================================*/
.link-area{margin-top: 60px;}
[class^="ttl-"] + .link-area{margin-top: 20px!important;}
.link-area .link-list li{
	display: flex;
	gap: 16px 20px;
}
.link-area .link-list li>.date{width: 90px;}
.link-area .link-list li>.list-link{
	width: calc((100% - 110px));
	margin-top: 0!important;
}
.link-area .link-list.ir-list li + li{margin-top: 24px;}

/*=============================================================
 related-area
=============================================================*/
.related-area {
	display: block;
/*	flex-wrap: wrap;
	gap:16px 24px;*/
	color: #000;
	/*text-align: center;*/
}
.related-area:not(:has(p)){margin-top: 24px;}
.related-area p{
	color: #000;
	font-size: 2.0rem;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
	text-align: center;
}

.related-area .related-list{
	display: flex;
	flex-wrap: wrap;
	/*justify-content: center;*/
	gap:8px 24px;
	color: #000;
}
.color-box.flx-jc-c .related-area .related-list{justify-content: center;}
.related-area p + .related-list{margin-top: 20px;}
.tab-panel .related-area .related-list>*{width: 100%;}
/*=============================================================
 color-box
=============================================================*/
.color-box{
	background-color: var(--bgColorGray);
	padding: clamp(32px, 20px + 2.08vw, 40px);
	box-sizing: border-box;
	position: relative;
	color: var(--textColorGray);
	border-radius: 6px;
}
.color-box.flx-jc-c{
	display: flex;
	justify-content: center;
}
.color-box.box-DarkBlue{
	background: #213A59;
	background-blend-mode: overlay;
	position: relative;
	border-radius: 0;
	overflow: hidden;
	padding: 120px 0; 
}
.color-box.box-DarkBlue:before{
	content: '';
	position: absolute;
	z-index: 1;		
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-image: url("../img/darkBlue-bg.png");
	background-position: center;	
	background-size: cover;
	opacity: .7;
}
/*.color-box.box-DarkBlue [class^="link-arw"] :visited,
.color-box.box-DarkBlue [class^="link-arw"] {color: #fff;}*/
/*.color-box.box-DarkBlue [class^="link-arw"]::after{
	background: url("../img/arw-icon-w.svg") no-repeat center;
  background-size: cover;
}*/
.color-box.box-DarkBlue .inner{
	position: relative;
	z-index: 2;
	color: #fff;
	box-sizing: border-box;
}
.color-box.box-DarkBlue .ttl-h2{color: #fff;}
.color-box .ttl{
	color: var(--textColorBlack);
	font-size: clamp(22px, 18px + 0.52vw, 24px);
	font-weight: 400;
	line-height: 150%;
	margin-bottom: 20px;
	position: relative;
}
.color-box:not(.box-DarkBlue) .ttl::before{
	content: '';
	height: 4px;
	width: clamp(24px, 16px + 1.04vw, 28px);
	background-color: #000;
	position: absolute;
	top: 16px;
	left: 0;
	margin-left: clamp(-40px, -20px - 3.33vw, -32px);
}
.color-box-full{
	background-color: var(--bgColorGray);
	padding: 100px 0;
	box-sizing: border-box;
}
.color-box-full [class^="col-"].list-box{gap: 80px 2.67%;}
.color-box.box-lightBlue{background:#E5F5FA;}

.box-full{
	background:#E5F5FA;
	margin-right:calc(50% - 50vw);
	margin-left:calc(50% - 50vw);
	padding-right:calc(50vw - 50%);
	padding-left:calc(50vw - 50%);
	padding-top: 80px;
	padding-bottom: 80px;
}
/* box-fullW */
.box-fullW{
	background:#E5F5FA;
	margin-right:calc(50% - 50vw);
	margin-left:calc(50% - 50vw);
	padding-top: 80px;
	padding-bottom: 80px;
}

/* box-mL */
.box-mL{position: relative;}

/*=============================================================
 table
=============================================================*/
/* table.table-default */
.table-default{
	width:100%;
	border-collapse:collapse;
	border-top:1px solid var(--lineColorGray);
}
.table-default.ir-table{
	font-size: 1.4rem;
}
.table-default.indent th span{
	display: block;
	padding-left: 1em;
	box-sizing: border-box;
}
.table-default caption,
.table-caption{
	color: var(--textColorBlack);
	text-align: left;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
	margin-bottom: 12px;
}
.table-default th{color: var(--textColorBlack);}
.table-default th,
.table-default td{
	padding: 16px;
	font-weight: 400;
	line-height: 150%;
	border-bottom:1px solid var(--lineColorGray);
	background-color:#fff;
	text-align: left;
}
.table-default.ir-table th,
.table-default.ir-table td{padding: 8px;}
.table-default thead th, .table-default tbody th {
	background-color: var(--bgColorGray);
}
.table-default th{border-right:1px solid var(--lineColorGray);}
.table-default tbody th{
	font-weight: 400;	
}
.table-default th:last-child{
	border-right:none;
}
.table-default td{
	font-weight: 400;
	border-right:1px solid var(--lineColorGray);
}
.table-default td:last-child{
	border-right:none;
}
.table-default .bdrR{border-right: 1px solid  var(--lineColorGray)!important;}
.table-default .bdrL{border-left: 1px solid  var(--lineColorGray)!important;}
.table-default .bdrT{border-top: 1px solid  var(--lineColorGray)!important;}
/*=============================================================
 toggle
=============================================================*/
/* toggle-set
--------------------------------------------------------------*/
.toggle-set .toggle-btn,
.toggle-set .toggle-close{
	cursor:pointer;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
}
.toggle-set>.toggle-box{display:none;}
.toggle-set.open>.toggle-box{display:block;}

/* toggle-sp */
.toggle-sp .toggle-btn{cursor:auto;}
.toggle-sp .toggle-close{display:none;}
.toggle-sp>.toggle-box{display:block;}
.sp-noLink{}

/* delete JS Style */
@media only screen and (min-width:768px){
.toggle-sp>.toggle-box{display:block !important;}
}
/* box-toggle
--------------------------------------------------------------*/
.box-toggle{}
.box-toggle+.box-toggle{margin-top:8px;}
.box-toggle .toggle-btn,
.box-toggle .toggle-close{transition:.3s;}
.box-toggle>.toggle-btn{
	color: var(--textColorBlack);
	font-size:1.8rem;
	font-weight: 400; 
	line-height: 150%;
	box-sizing:border-box;
	display:table;
	width:100%;
	position:relative;
	background-color: var(--bgColorGray); 
}
.box-toggle>.toggle-btn:hover{background-color: var(--lineColorGray);}
.box-toggle>.toggle-btn>span{
	box-sizing:border-box;
	display:table-cell;
	vertical-align:middle;
	height:100px;
	padding:clamp(6px, -2px + 2.5vw, 14px) 104px clamp(6px, -2px + 2.5vw, 14px) 24px;
	position: relative;
}
.box-toggle>.toggle-btn>span::after{
	content: '';
	height: calc(100% - ((clamp(6px, -2px + 2.5vw, 14px) * 2)));
	width: 1px;
	background-color: var(--lineColorGray);
	position: absolute;
	right: 80px;
	top: 14px;
	bottom: 14px;
	transition: all .3s;
}
.box-toggle>.toggle-btn:hover>span::after{background-color: var(--lineColorDarkGray);}
.box-toggle>.toggle-btn:after,
.box-toggle>.toggle-btn:before{
	content:"";
	background-color:var(--primaryColor);
	display:block;
	width:16px; 
	height:2px;
	margin-top:-1px;
	position:absolute;
	top:50%;
	right:30px;
	transition:all 0.3s ease;
}
.box-toggle>.toggle-btn:after{transform:rotate(90deg);}
.box-toggle.open>.toggle-btn:after{transform:rotate(0);}
.box-toggle>.toggle-box{display:none;}
.box-toggle.open>.toggle-box{
	display:block;
	background-color: var(--bgColorGray); 
	border-top:1px dotted var(--lineColorDarkGray);
	padding:32px 24px;
	box-sizing: border-box;
	font-weight: 400;
	line-height: 200%
}

/*=============================================================
 col
=============================================================*/
/* setting
-------------------------------------------------------------*/
[class^="col-"] + [class^="col-"]{margin-top: 42px;}
[class^="col-"]{
	display: flex;
	flex-wrap: wrap;
	gap: 42px 2.67%;
}

/* col-1
-------------------------------------------------------------*/
.col-1>*{width: 100%;}

/* col-2
-------------------------------------------------------------*/
.col-2>*{width: calc((100% - 2.67%) / 2);}
#ir.finance .col-2{gap: 80px 2.67%;}

/* col-3
-------------------------------------------------------------*/
.col-3>*{width: calc((100% - 5.34%) / 3);}

/* col-4
-------------------------------------------------------------*/
.col-4>*{width: calc((100% - 8.01%) / 4);}

/* col-clm
-------------------------------------------------------------*/
.col-2.col-clm2-1>*:nth-child(odd),
.col-2.col-clm1-2>*:nth-child(even){width:calc((100% - 5.34%) / 3 * 2 + 2.67%);}
.col-2.col-clm2-1>*:nth-child(even),
.col-2.col-clm1-2>*:nth-child(odd){width:calc((100% - 5.34%) / 3);}
.col-2.col-clm3-1>*:nth-child(odd),
.col-2.col-clm1-3>*:nth-child(even){width:calc((100% - 8.01%) / 4 * 3 + 5.34%);}
.col-2.col-clm3-1>*:nth-child(even),
.col-2.col-clm1-3>*:nth-child(odd){width:calc((100% - 8.01%) / 4);}
.col-2.col-clm4-1>*:nth-child(odd),
.col-2.col-clm1-4>*:nth-child(even){width:calc((100% - 10.68%) / 5 * 4 + 8.01%);}
.col-2.col-clm4-1>*:nth-child(even),
.col-2.col-clm1-4>*:nth-child(odd){width:calc((100% - 10.68%) / 5);}
/* re-col
-------------------------------------------------------------*/
.re-row{flex-direction: row-reverse;}
.re-col{flex-direction: column-reverse;}

/* sum-img
-------------------------------------------------------------*/
.sum-img a:hover{text-decoration: none;}
.sum-img figure{
	border-radius: 6px;
	overflow: hidden;
	margin-bottom: 20px;
}
/*.sum-img .industryTag{
	padding: 2px 5px;
	font-size: 1.4rem;
}*/
.sum-img .ttl{
	color: var(--textColorBlack);
	font-size: clamp(1.8rem, 1.2rem + 2.5vw, 2.4rem);/*2.4-1.8*/
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	margin-bottom: 10px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
}
.sum-img .ttl::before{content: none;}
.sum-img .companyName{margin-bottom: 20px;}

/*=============================================================
 seclect-area
=============================================================*/
.select-area{}
.select-box{
	color: #000;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
	min-width: 200px;
	padding: 16px 50px 16px 20px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url("../img/icon-select.svg") no-repeat right 16px center;
	background-size: 20px 20px;
	border: 1px solid var(--lineColorGray);
	border-radius: 4px;
	cursor: pointer;	
}
.select-box:hover{color: var(--primaryColor);}

/*=============================================================
 tabs
=============================================================*/
.tab-set{}

/* tab-btn */
.tab-btn{
	display:flex;
	column-gap: 9px;
	flex-wrap:nowrap;
}
.tab-btn>li{
	font-weight: 500;
	line-height: 150%;
	box-sizing:border-box;
	width:104px;
}
.tab-btn a{
	color:var(--textColorGray);
	display:table;
	width:100%;
	height:100%;
	box-sizing:border-box;
	text-decoration:none;
	transition: all .3s ease;
	border-bottom: 3px solid var(--lineColorGray);
}
.tab-btn a:hover,
.tab-btn a.act{
	color: #333;
	border-bottom: 3px solid var(--primaryColor);
}
.tab-btn a>span{
	display:table-cell;
	text-align:center;
	vertical-align:middle;
	padding:4px;
}
/* tab-panel */
.tab-set .tab-panel{display:none;}
.tab-set .tab-panel.act{display:block;}

/* tab-box */
.tab-box .tab-btn{
	column-gap: 16px;
	position: relative;
	z-index: 1;
	margin-top: 76px;
}
.tab-box .tab-btn>li{
	font-size: 1.6rem;
	line-height: 160%;
	width:260px;
}
.tab-box .tab-btn a{
	height: 52px;
	border-bottom: none;
	border: 1px solid var(--lineColorGray);
	background-color: var(--lineColorGray);
	border-radius: 4px 4px 0 0;
	position: relative;
}
.tab-box .tab-btn a:hover::after,
.tab-box .tab-btn a:hover::before,
.tab-box .tab-btn a.act::after,
.tab-box .tab-btn a.act::before{bottom: 0;}

.tab-box .tab-btn a:hover,
.tab-box .tab-btn a.act{
	color:#000;
	border-bottom: 1px solid #fff;
	background-color: #fff;
}
.tab-box .tab-btn a span{position: relative;}
.tab-box .tab-btn a span::after{transition: all .3s ease;}
.tab-box .tab-btn a:hover span::after,
.tab-box .tab-btn a.act span::after{
	content: '';
	position: absolute;
	top: 0;
	left: 10px;
	right: 10px;
	height: 4px;
	background-color: var(--primaryColor);
}
/* tab-panel */
.tab-box .tab-panel{
	display:none;
	border-radius: 0 0 4px 4px;
	padding: 46px 64px;
	box-sizing: border-box;
	transition: opacity 0.5s ease;
}
.tab-box .tab-panel.act{display:block;}
.tab-box .tab-panel{
	position: relative;
	margin-top: -1px;
	border: 1px solid var(--lineColorGray);
}
.tab-box .tab-panel figure + .btn-num{margin-top: 38px;}
/*.tab-box .tab-panel .ttl-small{
	color: #000;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
}*/
.tab-box .tab-btn-under{display: none;}
#top .tab-box .tab-panel figure.alignC img,#solution .tab-box .tab-panel figure.alignC img{max-width: 90%;}
/*=============================================================
 select-tab
=============================================================*/
.select-tab{
	display: flex;
	column-gap: 23px;
	align-items: center;
	margin-bottom: 42px;
}

/*=============================================================
 banner-box
=============================================================*/
.banner-box{}
.banner-L{
	position: relative;
	min-height: 350px;
		/*padding: 71px 100px;*/
	padding: 57px 100px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	border-radius: 4px;
	overflow: hidden;
	transition:all .3s ease;
}

.banner-L .img-box img{
	position: absolute;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 350px;
	top: 0;
	left: 0;
	z-index: -10;
	transition:all .3s ease;
	transform:scale(1.01)
}
.banner-L:hover .img-box img{transform:scale(1.05);}
.banner-L .text-box{
	color: #fff;
	max-width: 330px;
	width: 100%;
}
.banner-L .text-box .ttl{
	font-size: clamp(2.2rem, 2rem + 0.52vw, 2.4rem);
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	margin-bottom: 14px;
}
.banner-L .text-box .link-btn03{
	border-radius: 4px;
	margin-top: 24px!important;
}

/* banner-normal */
.banner-normal{
	max-width: 372px;
	margin: 0 auto;
}
.banner-normal a{display: block;}

/* banner-elongated */
.banner-elongated a{
	column-gap: 32px;
	font-weight: 400;
	padding: 26px 134px 26px 53px;
}
.banner-elongated a span{padding: 0;}
.banner-elongated a::after{
	height: calc(100% - 56px);
	right: 102px;
	top: 28px;
	bottom: 28px;
}
.banner-elongated a::before{
	right: 40px;
	z-index: 2;
}
.banner-elongated a span:first-child{
	display: block;
	font-size: 2.4rem;
	width: 176px;
}
.banner-elongated a span:last-child{
	width: calc((100% - 208px));
	font-size: 1.6rem;
	line-height: 200%;
}
/*=============================================================
 door
=============================================================*/
.door #topicPathArea{
	position: relative;
	z-index: 1;
	color: #fff;
}
.door #topicPathArea a{color: #fff;opacity: .6;}
.door #topicPathArea #topicPath li a::before{
	background: url("../img/arw-topicPath-w.svg") no-repeat;
	background-size: cover;	
}
.door #pageMain{}
.door #pageMain #pageTtlMain{
	position: relative;
	width: 100%;
	height: 446px;
	overflow: hidden;
	margin-top: -77px;
}
@media (max-width: 1024px) and (min-width: 768px) {
	.door #pageMain #pageTtlMain{margin-top: 0;}
}
.door #pageMain #pageTtlMain .ttlBox{
	width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
	z-index: 1;
}
/*.door #pageMain #pageTtlMain .ttlBox .contentsInner{width: 100%;}*/
.door #pageMain #pageTtlMain .ttlBox h1{
	color: #fff;
	font-size: clamp(4.6rem, 2.2rem + 5.21vw, 7.0rem);
	font-style: normal;
	font-weight: 200;
	line-height: normal;
	letter-spacing: 3.5px;
	font-family: Roboto;
}
.door #pageMain #pageTtlMain .ttlBox #categoryTtl{
	color: #fff;
	font-size: clamp(1.6rem, 0.8rem + 3.33vw, 2.4rem);
	font-family: "Noto Serif JP";
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	padding-top: 20px;
	padding-bottom: 0;
	margin-top: 13px;
	margin-bottom: 0;
}
.door #pageMain #pageTtlMain .ttlBox #categoryTtl::after {
	content: '';
	height: 6px;
	width: 30px;
	background-color: #fff;
	position: absolute;
	bottom: inherit;
	top: 0;
	left: calc(50% - 15px);
}
.door #pageMain #pageTtlMain .ttlImgBox{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.door #pageMain #pageTtlMain .ttlImgBox img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/*=============================================================
 separator-line
=============================================================*/
.separator-line{
	border-top: 1px solid var(--lineColorGray);
	padding-top: 80px;
	margin-top: 80px;
}
.box-DarkBlue .separator-line{border-top: 1px solid var(--lineColorDarkGray);}

/*=============================================================
 img-scale
=============================================================*/
.img-scale{
	display: block;
	overflow: hidden;
}
.img-scale img{
	transition:all .3s ease;
	transform:scale(1.01)
}
.img-scale:hover img{transform:scale(1.05);}
	
/*=============================================================
 mov-area
=============================================================*/
.mov-area{
	max-width: calc(100% / 2);
	margin: 0 auto;
}
.mov-area .mov-iframe{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.mov-area iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*=============================================================
 modal
=============================================================*/
#open-modal{display: block;}
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .5);
  justify-content: center;
  align-items: center;
  z-index: 1000;
	margin-top: 0!important;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;	
}
.modal-youtube{
  width: 100%;
  aspect-ratio: 16 / 9;
}
.modal-youtube iframe{
  width: 100%;
  height: 100%;
	border: 0;
}
.modal-mp4{
	
}
.modal.active {
  opacity: 1;
}
.modal-content {
	max-width: 800px;
  max-height: 100%;
	width: 100%;	
  padding: 0;
	line-height: 0;
}
.value-creation .modal-content{max-width: 1000px;}
.modal-content img {
  width: 100%;
  height: auto;
  display: block;
}
.close-btn {
	all: unset;
	position: relative;
  display: block;
  width: 40px;
  height: 40px;
	margin-left: auto;
	cursor:pointer

}
.close-btn::before, .close-btn::after{ 
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 30px;
	background: #fff;
}
.close-btn::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.close-btn::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
.modal-mp4 video {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  border-radius: 8px;
}
/*=============================================================
 CookiePolicy
=============================================================*/
#pi_tracking_opt_in_div {
    box-sizing: border-box;
    opacity: 1!important;
    padding: 50px!important;
    background: #fff!important;
    border: solid 1px #1452a1;
    border-radius: 4px;
    text-align: left!important;
    line-height: 1.8;
    font-size: .875em!important;
    color: #555!important;
    width: calc( 100% - 5vw)!important;
    left: 2.5vw !important;
    bottom: 10px!important
    }
#pi_tracking_opt_in_div #pi_tracking_opt_in_no,
#pi_tracking_opt_in_div #pi_tracking_opt_in_yes {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 150px;
    height: 60px;
    border-radius: 5px;
    text-transform: uppercase
    }
#pi_tracking_opt_in_div #pi_tracking_opt_in_no:hover,
#pi_tracking_opt_in_div #pi_tracking_opt_in_yes:hover {
    text-decoration: none
    }
#pi_tracking_opt_in_div #pi_tracking_opt_in_yes {
    bottom: calc(50% - 30px);
    right: 230px;
    background: #1452a1;
    color: #fff
    }
#pi_tracking_opt_in_div #pi_tracking_opt_in_yes:hover {
    background-color: #17254c
    }
#pi_tracking_opt_in_div #pi_tracking_opt_in_no {
    bottom: calc(50% - 30px);
    right: 60px;
    background: #f1f1f1;
    color: #000
    }
#pi_tracking_opt_in_div #pi_tracking_opt_in_no:hover {
    background-color: #ccc
    }
@media screen and (max-width:999px) {
    #pi_tracking_opt_in_div {
        padding: 20px 20px 100px 20px!important
        }
    #pi_tracking_opt_in_div #pi_tracking_opt_in_yes {
        bottom: 15px;
        right: calc(50% + 10px)
        }
    #pi_tracking_opt_in_div #pi_tracking_opt_in_no {
        bottom: 15px;
        left: calc(50% + 10px)
        }
    }
@media screen and (min-width:1350px) {
    #pi_tracking_opt_in_div {
        width: 1280px!important;
        left: calc( 50% - 640px )!important
        }
    }

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 PC-large
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media (min-width:1920px){
	
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tablet
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.col-2-tab>*{width: calc((100% - 2.67%) / 2);}
	.tab-box .tab-panel{padding: 46px 42px;}
	
/* sp-table-scroll 
--------------------------------------------------------------*/
.sp-table-scroll{
	overflow:auto;
	table-layout:auto;
	-webkit-overflow-scrolling:touch;
	position:relative;
	z-index:2;
}
.sp-table-scroll>table{margin-bottom:5px;}
.sp-table-scroll .cellFix{
	position:-webkit-sticky;
	position:sticky;
	top:0;
	left:0;
	z-index:1;
}
.sp-table-scroll>table.w600{width: 600px;}
.sp-table-scroll>table.w800,.sp-table-scroll .w800{width: 800px;}
.sp-table-scroll>table.w1000{width: 1000px;}	
/*html:not(.win) .sp-table-scroll::-webkit-scrollbar{height:5px;}
html:not(.win) .sp-table-scroll::-webkit-scrollbar-track{
	background:#e3e4e5;
	border-radius:10px;
}
html:not(.win) .sp-table-scroll::-webkit-scrollbar-thumb{
	background:#84919d;
	border-radius:10px;
}*/
.sp-table-scroll .arwSc{
	background:url("../img/table-arw.svg") no-repeat 0 0/auto 93px;
	width:93px;
	height:93px;
	margin:-50px 0 0 -50px;
	position:absolute;
	top:calc(50% + 30px);
	left:50%;
	z-index:2;
	opacity:0;
	visibility:hidden;
	overflow:hidden;
	transition:opacity 0.2s ease-out;
}	
	
.sp-table-scroll.sc .arwSc{
	opacity:0.4;
	visibility:visible;
}
	
/* sp-table-shadow */
/*.sp-table-scroll .table-default thead th:last-child,
.sp-table-scroll .table-default tbody td:last-child{position: relative;}	
.sp-table-scroll .table-default thead th:last-child::after,
.sp-table-scroll .table-default tbody td:last-child::after{
  content: '';
  position: absolute;
  bottom: 20px;
	top: 0;
  right: 0;
  height: 100%;
  width: 20px;
  pointer-events: none;
  background: linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);
	z-index: 3;
}*/
.sp-table-shadow{position: relative;}	
.sp-table-shadow::after{
  content: '';
  position: absolute;
  bottom: 20px;
	top: 0;
  right: 0;
  height: 100%;
  width: 20px;
  pointer-events: none;
  background: linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);
	z-index: 3;
}
/* table-default */
.sp-table-scroll .table-default{
	border-collapse:separate;
	border-spacing:0;
}
.sp-table-scroll .table-default th,
.sp-table-scroll .table-default td{border-left:none;}
	
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:767px){

/*=============================================================
 base Layout
=============================================================*/
/* container
--------------------------------------------------------------*/
#container{min-width:320px;}
body,
#container{}	
	
/* pageBody
--------------------------------------------------------------*/
#pageBody{padding-top: 70px;}

/* contentsInner
-------------------------------------------------------------*/

/* pageTtlMain
-------------------------------------------------------------*/
#pageTtlMain{
	/*padding: 0 0 16px;*/
	padding: 0;
	box-sizing: border-box;
	margin-bottom: 70px;
	margin-top: 32px;
}
#pageTtlMain #categoryTtl{font-size: 1.3rem;}
#pageTtlMain h1{
	font-size: 3.0rem;
	
}
#pageTtlMain h1 + p{margin-top: 54px;}
	
/* topicPathArea
-------------------------------------------------------------*/
#topicPathArea{display: none;}	

/* contentsArea
-------------------------------------------------------------*/

/* contents
-------------------------------------------------------------*/
#contents{padding-bottom:120px;}
	
/* section
-------------------------------------------------------------*/
section,
.section{margin-top: 80px;}	
	
	
/*=============================================================
 ttl
=============================================================*/
/* setting */

/* ttl-h2 */
.ttl-h2{
	font-size: 2.6rem;
	margin-bottom: 32px;
}

/* ttl-h3 */
.ttl-h3{
	font-size: 22px;
	margin: 64px 0 14px;
}

/* ttl-h4 */
.ttl-h4{margin: 30px 0 8px;}
	
/* ttl-fig */	
.ttl-fig{margin: 30px 0 8px;}	

/* catch{ */	
.catch{font-size: 26px;}
.catch + p{margin-top: 32px!important;}	
	
/* col-list */
.col-list>div:not(:first-child){margin-top: 20px;}
.col-list>div:nth-child(n + 2)>.ttl-h3{margin: 64px 0 14px;}	
	
/*=============================================================
 text
=============================================================*/

/*=============================================================
 list
=============================================================*/
	
/*=============================================================
 link
=============================================================*/
/* link-ac
--------------------------------------------------------------*/
.link-ac{display: block;}
.link-ac li + li{margin-top: 16px;}
	
/* link-list-btn
--------------------------------------------------------------*/
.link-list-btn{padding: 20px 24px;}
.link-list-btn li + li{margin-top: 18px;}
/* icon */
[class^="link-btn"].btn-icon{
	max-width: 100%;
	margin: 0 auto;
}
.btnC380{
	width: 100%;
	max-width: inherit;
	margin: 40px auto 0;
}
/*=============================================================
 link-area
=============================================================*/
.link-area{margin-top: 30px;}
.link-area .link-list li{display: block;}
.link-area .link-list li>.date{width: 100%;}
.link-area .link-list li>.list-link{width: 100%}
.link-area .link-list.ir-list li + li{margin-top: 24px;}
	
/*=============================================================
 related-area
=============================================================*/
.related-area {
	display: block;
	text-align: left;
}
.related-area .related-list{display: block;}	
.related-area .related-list * + *{margin-top: 8px;} 
.related-area p{font-weight: 400;text-align: left;}
.related-area p + .related-list{margin-top: 20px;}

/*=============================================================
 color-box
=============================================================*/
.color-box{padding: 32px;}
.color-box.box-DarkBlue{padding: 80px 0;}
.color-box.box-DarkBlue .inner{
	display: block;
	padding: 0;
}	
.color-box .ttl{font-size: 22px;}	
.color-box .ttl::before{margin-left: -32px;}	
.color-box-full{padding: 80px 0;}
.color-box.flx-jc-c{
	padding: 50px 20px 60px;
	justify-content: flex-start;
}
	
/*=============================================================*/
/* table-default
--------------------------------------------------------------*/
.table-default{max-width: 1200px;}	
.table-default th,
.table-default td{padding:16px;}

/* sp-table-scroll 
--------------------------------------------------------------*/
.sp-table-scroll{
	overflow:auto;
	table-layout:auto;
	-webkit-overflow-scrolling:touch;
	position:relative;
	z-index:2;
}
.sp-table-scroll>table{margin-bottom:5px;}
.sp-table-scroll .cellFix{
	position:-webkit-sticky;
	position:sticky;
	top:0;
	left:0;
	z-index:1;
}
.sp-table-scroll>table.w600{width: 600px;}
.sp-table-scroll>table.w800,.sp-table-scroll .w800{width: 800px;}
.sp-table-scroll>table.w1000{width: 1000px;}	
/*html:not(.win) .sp-table-scroll::-webkit-scrollbar{height:5px;}
html:not(.win) .sp-table-scroll::-webkit-scrollbar-track{
	background:#e3e4e5;
	border-radius:10px;
}
html:not(.win) .sp-table-scroll::-webkit-scrollbar-thumb{
	background:#84919d;
	border-radius:10px;
}*/
.sp-table-scroll .arwSc{
	background:url("../img/table-arw.svg") no-repeat 0 0/auto 93px;
	width:93px;
	height:93px;
	margin:-50px 0 0 -50px;
	position:absolute;
	top:calc(50% + 30px);
	left:50%;
	z-index:2;
	opacity:0;
	visibility:hidden;
	overflow:hidden;
	transition:opacity 0.2s ease-out;
}	
	
.sp-table-scroll.sc .arwSc{
	opacity:0.4;
	visibility:visible;
}
	
/* sp-table-shadow */
/*.sp-table-scroll .table-default thead th:last-child,
.sp-table-scroll .table-default tbody td:last-child{position: relative;}	
.sp-table-scroll .table-default thead th:last-child::after,
.sp-table-scroll .table-default tbody td:last-child::after{
  content: '';
  position: absolute;
  bottom: 20px;
	top: 0;
  right: 0;
  height: 100%;
  width: 20px;
  pointer-events: none;
  background: linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);
	z-index: 3;
}*/
.sp-table-shadow{position: relative;}	
.sp-table-shadow::after{
  content: '';
  position: absolute;
  bottom: 20px;
	top: 0;
  right: 0;
  height: 100%;
  width: 20px;
  pointer-events: none;
  background: linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);
	z-index: 3;
}
/* table-default */
.sp-table-scroll .table-default{
	border-collapse:separate;
	border-spacing:0;
}
.sp-table-scroll .table-default th,
.sp-table-scroll .table-default td{border-left:none;}

/* sp-table-block
--------------------------------------------------------------*/
.sp-table-block th,
.sp-table-block td{
	white-space:normal !important;
	display:block;
	width:auto !important;
	border-right:none !important;
	border-left:none !important;
}
	
/*=============================================================
 toggle
=============================================================*/
/* toggle-set
--------------------------------------------------------------*/
/* toggle-sp */
.toggle-sp .toggle-btn{cursor:pointer;}
.toggle-sp .toggle-close{display:block;}
.toggle-sp>.toggle-box{display:none;}

/* box-toggle
--------------------------------------------------------------*/
.box-toggle>.toggle-btn>span{padding:6px 104px 6px 24px;}
.box-toggle>.toggle-btn>span::after{height: calc(100% - 12px);}	
.box-toggle>.toggle-btn:after,
.box-toggle>.toggle-btn:before{}
.box-toggle.open>.toggle-box{padding:15px 24px;}


	
	
/*=============================================================
 col
=============================================================*/
/* setting
-------------------------------------------------------------*/
[class^="col-"] + [class^="col-"]{margin-top: 24px;}
[class^="col-"]{gap: 20px 2.67%;}

	
.sp-col-1{display: block;}	
	
/* col-1
-------------------------------------------------------------*/
.col-1>*{width: 100%;}

/* col-2
-------------------------------------------------------------*/
.col-2.sp-col-1>*{width: 100%;}
.col-2.sp-col-1>*:nth-child(n + 2){margin-top: 20px;}
/*.col-2.sp-col-1.col-img>*:nth-child(n + 2){margin-top: 12px;}*/
#ir.finance .col-2.sp-col-1>*:nth-child(n + 2){margin-top: 64px;}
	
/* col-3
-------------------------------------------------------------*/
.col-3>*{width: calc((100% - 4%) / 2);}
.col-3>*:nth-child(n + 3){margin-top: 20px;}
.col-3.sp-col-1>*{width: 100%;}
.col-3.sp-col-1>*:nth-child(n + 2){margin-top: 20px;}
.col-3.sp-col-1.btn-num>*:nth-child(n + 2){margin-top: 40px;}	
/*.col-3.sp-col-1.col-img>*:nth-child(n + 2){margin-top: 12px;}*/
	
/* col-4
-------------------------------------------------------------*/	
.col-4>*{width: calc((100% - 2.67%) / 2);}
.col-4.sp-col-1>*{width: 100%;}
.col-4.sp-col-1>*:nth-child(n + 2){margin-top: 20px;}
	
/* col-clm
-------------------------------------------------------------*/
.col-2.col-clm2-1>*:nth-child(n),
.col-2.col-clm1-2>*:nth-child(n),
.col-2.col-clm3-1>*:nth-child(n),
.col-2.col-clm1-3>*:nth-child(n){width:100%;}	
	
/* re-col
-------------------------------------------------------------*/
.sp-re-row{flex-direction: row-reverse;}
.sp-re-col{flex-direction: column-reverse;}
	
/* sum-img.sp-sum-s
-------------------------------------------------------------*/
.sum-img.sp-sum-s a{
	display: flex;
	column-gap: 20px;
}
.sum-img.sp-sum-s a	figure{
	width: 100px;
	margin-bottom: 0;
}
.sum-img.sp-sum-s a	figure span{
	overflow: hidden;
	display: block;
	border-radius: 6px;
	width: 100px;
	height: 100px;
}
.sum-img.sp-sum-s a	figure span img{
	width: 100px;
	height: 100px;
	object-fit: cover;
}
.sum-img.sp-sum-s a	.text-box{
	width: calc(100% - 120px);
}
.sum-img.sp-sum-s .ttl{font-size: 1.8rem}
.sum-img.sp-sum-s .companyName{font-size: 1.2rem;}	
.sum-img.sp-sum-s .img-scale:not(:last-child){
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--lineColorGray);
}
/*.sum-img.sp-sum-s .img-scale::after{
	content: '';
	width: 100%;
	height: 1px;
	background: var(--lineColorGray);
	position: absolute;
	opacity: 1;
	bottom: 0;
	left: 0;
	right: 0;
	margin-bottom: -40px;
}	*/
.sum-img.sp-sum-s .img-scale + .img-scale{margin-top: 0!important;}
	
.col-3.sp-col-1.personal-list>*:nth-child(n + 2){margin-top: 64px!important;}

	
	
/*=============================================================
 tabs
=============================================================*/
.tab-btn{
	display:flex;
	gap: 20px 9px;
	flex-wrap:wrap;
	justify-content: center;
}
.tab-btn>li{width: calc((100% - 18px) / 3);}
	
/* tab-box */
.tab-box .tab-btn{
	column-gap: 5px;
	margin-top: 40px;
}
.tab-box .tab-btn>li{
	font-size: 1.4rem;
	width:108px;
}
/* tab-panel */
.tab-box .tab-panel{
	display:none;
	border-radius: 4px;
	padding: 46px 20px;
}
.tab-box .tab-btn-under{
	display: flex;
	margin-top: -1px;
	z-index: 2
}
.tab-box .tab-btn.tab-btn-under a{
	border: 1px solid var(--lineColorGray);
	border-radius: 0 0 4px 4px;
}
.tab-box .tab-btn.tab-btn-under a:hover, .tab-box .tab-btn.tab-btn-under a.act{
	border-top: 1px solid #fff;
}
.tab-box .tab-btn.tab-btn-under a:hover span::after, .tab-box .tab-btn.tab-btn-under a.act span::after{
	top: inherit;
	bottom: 0;
}
/*=============================================================
 select-tab
=============================================================*/
.select-tab{
	display: block; 
	margin-bottom: 32px;
}
.select-tab .select-area{margin-bottom: 40px}	
	
/*=============================================================
 banner-box
=============================================================*/
.banner-L{
	position: relative;
	min-height: inherit;
	padding: 56px 32px;
}
/* banner-elongated */
.banner-elongated a{
	display: block;
	padding: 20px 94px 20px 24px;
}
.banner-elongated a::after{
	height: calc(100% - 12px);
	right: 70px;
	top: 6px; 
	bottom: 6px;
}
.banner-elongated a::before{right: 24px;}
.banner-elongated a span:first-child{
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	width: 100%;
	margin-bottom: 10px;
}
.banner-elongated a span:last-child{
	width: 100%;
	line-height: 150%;
}
/*=============================================================
 door
=============================================================*/
.door #pageMain #pageTtlMain{
	height: 350px;
	margin-top: 0;
	padding: 0;
}
.door #pageMain #pageTtlMain .ttlBox{
	width: auto;
	margin-top: 0;
}
.door #pageMain #pageTtlMain .ttlBox .contentsInner{width: auto;}
.door #pageMain #pageTtlMain .ttlBox h1{font-size: 4.6rem;}
.door #pageMain #pageTtlMain .ttlBox #categoryTtl{
	font-size: 1.6rem;
	padding-top: 12px;
	margin-top: 8px;
}
.door #pageMain #pageTtlMain .ttlBox #categoryTtl::after{height: 4px;}
	
/*=============================================================
 separator-line
=============================================================*/
.separator-line{
	padding-top: 60px;
	margin-top: 60px;
}
/*=============================================================
 mov-area
=============================================================*/
.mov-area{max-width: 100%;}

}

@media print {
  header, footer {
    display: none !important;
  }
}
