@charset "utf-8";
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
body,
#header {
	background-color: #fff;
}
#header div.logo {
  background: url(../img/ir/ir_co_logo.svg) no-repeat;
  background-size: 100% auto;
}
#header div.logo img {
  opacity: 0;
}
.sub #header {
  background-color: #ffffffcc;
}
.sub #header::after {
	content: none;
}
.sub .breadclumb .inner div p a,
.sub .breadclumb .inner div p + p::before {
  color: #02271D;
}
.sub .mainContent {
	background-color: transparent;
}
.sub .mainContent .contentBlock {
	padding-bottom: 0;
}
.sub .mainContent .contentBlock ul {
	list-style: none;
	padding: 0;
}
.sub .mainContent .contentBlock .inner a {
	color: #02271D;
}
.sub .mainContent .pdf {
  position: relative;
}
.sub .mainContent .pdf .size {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  font-size: 10rem;
  padding-top: 24px;
  background: url(../img/common/icon_pdf.svg) no-repeat top center;
  background-size: 18px 20px;
  min-width: 67px;
  text-align: center;
}
.sub .mainContent .pdf::after {
  content: none;
}
.sub #container::before {
	position: absolute;
	z-index: -1;
	content: "";
	display: block;
	width: 100%;
	height: 0;
	left: 50%;
	transform: translateX(-50%);
  background-image: url(../img/ir/ir_head_w_sp.png);
	background-size: contain;
	background-position: center top;
	background-repeat: no-repeat;
  padding-top: 57%;
  top: -50px;
}
.sub #container::after {
  background-image: url(../img/ir/ir_foot_w_sp.png);
  padding-top: 36%;
  bottom: 8px;
}
footer#cf #ftNav1 > div.b01 > div {
  background: url(../img/ir/ir_co_logo.svg) no-repeat;
  background-size: 123px auto;
}
footer#cf #ftNav1 > div.b01 > div .logo {
  opacity: 0;
}
footer#cf,
footer#cf #ftNav1 > div > ul:not(.sns) > li > a,
footer#cf #ftNav1 > div > ul:not(.sns) > li > ul > li > a:link,
footer#cf #ftNav1 > div > ul:not(.sns) > li > ul > li > a:visited,
footer#cf #ftNav2 ul li a {
  color: #02271D;
}
@media screen and (min-width: 1600px) {
  #header h1, #header div.logo {
    width: 240px;
  }
}
@media screen and (min-width: 768px) {
  #header .menu nav ul.main .toggle_menu {
	  background-color: #fff;
  }
  #header.flw .menu nav ul.main .toggle_menu {
    background: rgba(255, 255, 255, 0.8);
  }
  #header .menu nav ul.main li a,
  #header .menu nav .lang ul li a,
  #header .menu nav .lang ul li:first-child::after {
    color: #02271D;
  }
  #header .menu nav::before {
    background-color: #02271D;
  }
	.sub .mainContent .contentBlock {
		padding: 0;
	}
	.sub .mainContent .contentBlock .inner {
		width: 1040px;
		max-width: 100%;
	}
	.sub .mainContent .contentBlock .inner p {
		line-height: 2;
		letter-spacing: 0.07em;
	}
  .sub .mainContent .pdf .size {
    font-size: 12rem;
    padding-top: 26px;
    background: url(../img/common/icon_pdf.svg) no-repeat top center;
    background-size: 22px 24px;
  }
	.sub #container::before {
    background-image: url(../img/ir/ir_head_w_pc.png);
    padding-top: 31.5%;
    top: 32px;
  }
  .sub #container::after {
    background-image: url(../img/ir/ir_foot_w_pc.png);
    padding-top: 22.1%;
    bottom: 67px;
  }
  footer#cf #ftNav1 > div.b01 > div {
    background-size: 246px auto;
  }
}
@media screen and (max-width: 767px) {
	.sub .mainContent .contentBlock {
		padding-top: 0;
	}
}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	margin-bottom: 138px;
	padding: 0px 0px 36px 0px;
	text-align: center;
}
.pageTitle h1 {
	font-weight: 700;
	font-size: 40rem;
	letter-spacing: 0.1em;
	line-height: 1.2;
}
.pageTitle h1 .en {
	margin-bottom: 4px;
	display: block;
	color: #28D500;
	font-size: 16rem;
	letter-spacing: 0;
}
@media screen and (max-width: 767px) {
	.pageTitle {
		margin-bottom: 60px;
		padding: 40px 0;
	}
	.pageTitle h1 {
		font-size: 28rem;
	}
	.pageTitle h1 .en {
		margin-bottom: 3px;
		font-size: 16rem;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.contentBlock .inner .headLine01 {
	margin: 0 0 59px;
}
.headLine01 {
	font-size: 26rem;
	letter-spacing: 0.07em;
	line-height: 1.85;
}
@media screen and (max-width: 767px) {
	.contentBlock .inner .headLine01 {
		margin: 0 0 40px;
	}
	.headLine01 {
		font-size: 18rem;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 32px;
	position: relative;
	text-align: center;
	font-size: 20rem;
	font-weight: 700;
	letter-spacing: 0.07em;
}
.headLine02 .en {
	opacity: 0.1;
	color: #28D500;
	font-size: 50rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	left: 50%;
	top: 50%;
	white-space: nowrap;
	transform: translate(-50%, -50%);
}
.headLine02 .jp {
	position: relative;
	z-index: 1;
}
@media screen and (min-width: 768px) {
	.headLine02 {
		margin-bottom: 64px;
		font-size: 24rem;
	}
	.headLine02 .en {
		font-size: 64rem;
	}
}
/*------------------------------------------------------------
	notes
------------------------------------------------------------*/
.notes li {
	font-size: 12rem;
	line-height: 1.416;
	color: #02271D;
	letter-spacing: 0.07em;
	text-indent: -12rem;
	padding-left: 12rem;
	margin-bottom: 5px;
}
/*------------------------------------------------------------
	comIrLink
------------------------------------------------------------*/
.sub .mainContent .contentBlock .inner .comIrLink {
	margin: -60px 0 35px;
  padding: 28px 0;
	display: flex;
	flex-wrap: wrap;
  justify-content: center;
	gap: 0 30px;
  flex-wrap: wrap;
  background: #fff;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}
.contentBlock .inner .comIrLink li {
  position: relative;
}
.contentBlock .inner .comIrLink li::after {
  content: "";
  width: 1px;
  height: 24px;
  background: #93EA7F;
  position: absolute;
  top: 0;
  right: -15px;
  bottom: 0;
  margin: auto;
}
.contentBlock .inner .comIrLink li:last-child::after {
  content: none;
}
.contentBlock .inner .comIrLink a {
	width: 100%;
	height: 100%;
  display: flex;
	align-items: center;
	position: relative;
	color: #02271D;
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 13rem;
	letter-spacing: 0.07em;
	line-height: 1.5;
	border-radius: 10px;
	text-decoration: none !important;
}
.contentBlock .inner .contentBlock .inner .comIrLink .on a {
	color: #009D00;
}
.contentBlock .inner .comIrLink a[target="_blank"] {
	background-image: url(../img/ir/icon11.svg);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 14px;
  padding-right: 20px;
}
.contentBlock .inner .comIrLink a[target="_blank"]::after {
	display: none;
}
@media screen and (min-width: 768px) {
	.sub .mainContent .contentBlock .inner .comIrLink {
    margin: -47px 0 60px;
    box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.2);
    border-radius: 20px;
	}
	.contentBlock .inner .comIrLink a {
		font-size: 16rem;
	}
	.contentBlock .inner .comIrLink a::after {
		right: 14px;
	}
	.contentBlock .inner .comIrLink a:hover {
		color: #009D00;
		transition: all .3s;
	}
}
@media screen and (max-width: 767px) {
  .sub .mainContent .contentBlock .inner .comIrLink {
    gap: 10px 0;
    padding: 20px 0;
  }
  .contentBlock .inner .comIrLink li {
    width: 33.3%;
    padding: 0 12px;
  }
  .contentBlock .inner .comIrLink a {
    justify-content: center;
    min-height: 60px;
    text-align: center;
  }
  .contentBlock .inner .comIrLink li::after {
    right: 0;
    height: 100%;
  }
  .contentBlock .inner .comIrLink li:nth-child(3n)::after {
    content: none;
  }
}

/*------------------------------------------------------------
	comYearSelect
------------------------------------------------------------*/
.contentBlock .inner .comYearSelect {
	margin: 0 0 63px;
}
.comYearSelect {
	width: 273px;
	max-width: 100%;
}
.comYearSelect select {
	padding: 0 37px;
	width: 100%;
	height: 45px;
	color: #02271D;
	font-size: 14rem;
	font-weight: 400;
	letter-spacing: 0;
	box-sizing: border-box;
	border: 1px solid #E6E6E6;
	border-radius: 0;
	background: #fff url(../img/ir/icon07.svg) no-repeat right 27px center / 16px;
	-webkit-appearance: none;
	appearance: none;
}
@media screen and (max-width: 767px) {
	.contentBlock .inner .comYearSelect {
		margin-bottom: 40px;
	}
	.comYearSelect {
		width: 100%;
	}
}
/*------------------------------------------------------------
	comCateList
------------------------------------------------------------*/
.contentBlock .inner .comCateList {
	margin-bottom: 42px;
}
.comCateList {
	display: flex;
	gap: 20px 34px;
}
.comCateList li {
	width: 230px;
	min-height: 39px;
	display: flex;
}
.comCateList li a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 14rem;
	text-decoration: none !important;
	color: #02271D;
	border-radius: 50px;
	border: 1px solid #02271D;
}
@media screen and (min-width: 768px) {
	.comCateList li a:hover {
		opacity: 0.6;
		transition: all .3s;
	}
}
@media screen and (max-width: 767px) {
	.contentBlock .inner .comCateList {
		margin-bottom: 10px;
	}
	.comCateList {
		gap: 10px;
		flex-wrap: wrap;
	}
	.comCateList li {
		width: calc(50% - 5px);
	}
}
/*------------------------------------------------------------
	comNewsList
------------------------------------------------------------*/
.comNewsList {
	margin-bottom: 1em;
}
.comNewsList li {
	border-bottom: 1px solid #28D600;
}
.comNewsList li.no_link {
  pointer-events: none;
}
.comNewsList li.no_link a::after {
  content: none;
}
.comNewsList li:last-child {
	border-bottom: none;
}
.comNewsList li a {
	padding: 15px 55px 15px 0;
	display: flex;
	align-items: flex-start;
	gap: 10px 0;
	flex-wrap: wrap;
	position: relative;
	font-weight: 400;
	text-decoration: none !important;
}
.comNewsList li a::after {
	width: 9px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	aspect-ratio: 18/32;
	background: url(../img/ir/icon01.svg) no-repeat center center / 100%;
	content: '';
}
.comNewsList li .date {
	padding-top: 4px;
	width: 6.35em;
	letter-spacing: 0.06em;
}
.comNewsList li .tag {
	padding: 5px 5px 6px;
	width: 127px;
	text-align: center;
	font-size: 12rem;
	color: #fff;
	background: #000;
	border-radius: 50px;
}
.comNewsList li .tag.financial {
  background: #24BE00;
}
.comNewsList li .tag.securities {
  background: #00B9AC;
}
.comNewsList li .tag.shareholders {
  background: #006170;
}
.comNewsList li .tag.timely {
  background: #FFAE00;
}
.comNewsList li .tag.topic {
  background: #E85900;
}
.comNewsList li .txt {
	width: 100%;
	letter-spacing: 0.06em;
}
@media screen and (min-width: 768px) {
	.comNewsList li a {
		padding: 25px 100px 29px 0;
	}
	.comNewsList li a::after {
		right: 23px;
	}
	.comNewsList li .txt {
		padding: 4px 0 4px 20px;
		flex: 1;
	}
	.comNewsList li a:hover .date,
	.comNewsList li a:hover .txt {
		color: #28D500;
		transition: all .3s;
	}
  .comNewsList li a:hover .tag {
    background: rgba(26, 26, 26, 0.7);
    transition: all .3s;
  }
}
/*------------------------------------------------------------
	comPdfBox
------------------------------------------------------------*/
.contentBlock .inner > .comPdfBox {
	margin-top: 50px;
}
.comPdfBox {
	display: flex;
	gap: 18px;
}
.comPdfBox a {
	width: 158px;
	display: block;
}
.comPdfBox a img {
	width: 100%;
}
.comPdfBox .txt {
	margin-top: 2px;
	flex: 1;
	font-size: 12rem;
	line-height: 1.416;
	color: #02271D;
	letter-spacing: 0.07em;
}
@media screen and (min-width: 768px) {
	.comPdfBox a:hover {
		opacity: 0.6;
		transition: all .3s;
	}
}
@media screen and (max-width: 767px) {
	.contentBlock .inner > .comPdfBox {
		margin-top: 40px;
	}
	.comPdfBox {
		display: block;
	}
	.comPdfBox a {
		max-width: 100%;
	}
	.comPdfBox .txt {
		margin-top: 10px;
		display: block;
	}
}
/*------------------------------------------------------------
	comCalendar
------------------------------------------------------------*/
.comCalendar {
	margin-bottom: 23px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 38px;
}
.comCalendar picture {
	width: 100%;
}
.comCalendar img {
	width: 100%;
}
@media screen and (min-width: 768px) {
	.comCalendar {
		flex-wrap: nowrap;
	}
	.comCalendar .sub01 {
		width: 495px;
		height: auto;
	}
	.comCalendar .sub02 {
		width: 487px;
		height: auto;
	}
}
/*------------------------------------------------------------
	comTableBox
------------------------------------------------------------*/
.comTableBox table {
	width: 100%;
	border-collapse: collapse;
}
.comTableBox th,
.comTableBox td {
	padding: 21px 0 27px;
	text-align: left;
	vertical-align: top;
	color: #02271D;
	font-weight: 400;
	line-height: 2.5;
	letter-spacing: 0.06em;
	word-break: break-all;
	box-sizing: border-box;
	border-bottom: 1px solid #D0D0D0;
}
.comTableBox th a,
.comTableBox td a{
    text-decoration: none!important;

}
.comTableBox th {
	width: 255px;
	padding-right: 2em;
}
.comTableBox td .icon img {
	vertical-align: middle;
}
@media screen and (max-width: 767px) {
	.comTableBox th,
	.comTableBox td {
		padding: 15px 0.5em;
		width: 100%;
		display: block;
		font-size: 14rem;
		line-height: 2;
	}
	.comTableBox th {
		width: 100%;
		padding-right: 0;
	}
}
/*------------------------------------------------------------
	irNav
------------------------------------------------------------*/
.irNav {
	padding: 120px 0 32vw;
}
.irNav .navList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 50px 10px;
	color: #fff;
}
.irNav .navList a {
	color: #000;
	text-decoration: none;
}
.irNav .navList > li > a {
	display: inline-block;
}
.irNav .navList > .home > a {
	font-weight: 700;
}
.irNav .navList > li ul li {
	margin-bottom: 14px;
}
.irNav .navList .navListItem {
	width: 320px;
}
.irNav .navList .navListItem > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100px;
	border-radius: 20px;
	box-shadow: 1px 1px 10px 0 rgba(0, 0, 0, 0.20);
	overflow: hidden;
	transition: all .3s;
	font-size: 20rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.05em;
}
.irNav .navList .navListItem .navSubList {
	padding-top: 30px;
	padding-left: 70px;
}
.irNav .navList .navListItem .navSubList li {
	position: relative;
	margin: 0;
	padding-left: 20px;
}
.irNav .navList .navListItem .navSubList li + li {
	margin-top: 18px;
}
.irNav .navList .navListItem .navSubList li::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 10px;
	height: 15px;
	margin: auto;
	background-color: #009D00;
	clip-path: polygon(10px 50%, 0% 0%, 0% 15px);
}
.irNav .navList .navListItem .navSubList a {
	font-size: 14rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
	transition: all .3s;
}
@media screen and (min-width: 768px) {
	.mainContent .irNav .inner {
		max-width: 1040px;
	}
	.irNav .navList .navListItem > a:hover {
		background: #009D00;
		color: #fff;
	}
	.irNav .navList .navListItem .navSubList a:hover {
		color: #009D00;
	}
}
@media screen and (max-width: 767px) {
	.irNav {
		margin-top: 70px;
		padding: 0 0 32vw;
	}
	.irNav .inner {
		width: 91.304348%;
	}
	.irNav .navList {
		margin-bottom: 50px;
		gap: 30px 10px;
	}
	.irNav .navList .navListItem {
		width: calc((100% - 10px ) / 2);
		max-width: 100%;
	}
	.irNav .navList .navListItem > a {
		font-size: 13rem;
		height: 60px;
		text-align: center;
		border-radius: 10px;
    box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.20);
	}
	.irNav .navList > li {
		margin-bottom: 10px;
	}
	.irNav .navList > li:last-child {
		margin-bottom: 0;
	}
	.irNav .navList > li ul li {
		margin-bottom: 10px;
	}
	.irNav .navList .navListItem .navSubList {
		padding: 15px 10px 0;
	}
	.irNav .navList .navListItem .navSubList a {
		font-size: 12rem;
	}
}
/*------------------------------------------------------------
	ir
------------------------------------------------------------*/
#ir::before {
	position: absolute;
	z-index: 0;
	content: "";
	display: block;
	width: 100%;
	height: 0;
	left: 50%;
	transform: translateX(-50%);
  background-image: url(../img/ir/ir_cont_w_sp.png);
	background-size: contain;
	background-position: center top;
	background-repeat: no-repeat;
  padding-top: 57%;
	top: 880px;
}
#ir .pageTitle {
  margin-top: 23px;
	margin-bottom: 10vw;
	padding: 0;
}
#ir .linkBox {
	margin-bottom: 44px;
}
#ir .linkBox a {
	box-sizing: border-box;
	padding-left: 26px;
	width: 100%;
	height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	color: #02271D;
	text-decoration: none;
	border-radius: 10px;
	overflow: hidden;
	background: url(../img/ir/bg01.png) no-repeat right top / 249px, url(../img/ir/bg02.png) no-repeat left bottom / 193px;
	box-shadow: 5px 5px 16px rgba(0, 0, 0, 0.1);
}
#ir .linkBox a::after {
	width: 9px;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	aspect-ratio: 18/32;
	background: url(../img/ir/icon01.svg) no-repeat center center / 100%;
	content: '';
	z-index: 1;
}
#ir .linkBox a .en {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #28D500;
	opacity: 0.1;
	font-size: 36rem;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
}
#ir .linkBox a .jp {
	font-size: 20rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	white-space: nowrap;
	position: relative;
	z-index: 1;
}
#ir .linkList {
	margin-bottom: 30px;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px 0;
	list-style: none;
}
#ir .linkList > li {
	width: 100%;
	min-height: 150px;
	display: flex;
	box-sizing: border-box;
}
#ir .linkList > li .menuBox {
	padding: 30px 20px;
	width: 100%;
	height: 100%;
	align-items: center;
	gap: 14px;
	position: relative;
	text-decoration: none;
	background: #fff;
	border-radius: 10px;
	box-sizing: border-box;
	box-shadow: 5px 5px 16px rgba(0, 0, 0, 0.1);
}
#ir .linkList > li .menuTtl {
	padding-bottom: 50px;
	border-bottom: 1px solid #D0D0D0;
}
#ir .linkList > li .menuTtl .icon {
	width: 58px;
	position: relative;
	z-index: 1;
	top: 12px;
	transform: translateY(-50%);
}
#ir .linkList > li .txt {
	position: relative;
    left: 15px;
	flex: 1;
	white-space: nowrap;
	color: #02271D;
	font-weight: 700;
	font-size: 15rem;
	letter-spacing: 0.06em;
	z-index: 1;
}
#ir .linkList > li .txt .en {
	color: #28D500;
	opacity: 0.1;
	position: absolute;
	left: 0;
	top: 50%;
	font-size: 32rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	transform: translateY(-50%);
	z-index: -1;
}
#ir .linkList > li .menuList {
	padding: 24px 66px;
}
#ir .linkList > li .menuList li:not(:last-child)  {
	margin-bottom: 16px;
}
#ir .linkList li .menuList li {
	position: relative;
}
#ir .linkList li .menuList li a::after  {
	width: 9px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(../img/ir/icon01.svg) no-repeat center center / 100%;
	aspect-ratio: 18/32;
	content: '';
	z-index: 1;
}
#ir .linkList li .menuList li a[target="_blank"]::after {
	width: 13px;
  height: 13px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(../img/ir/icon08.svg) no-repeat center center / 100%;
	aspect-ratio: 18/32;
	content: '';
	z-index: 1;
}
#ir .linkList > li .menuList li a {
	display: block;
	text-decoration: none;
}
#ir .saishinDLBox {
	margin: 0 auto 100px;
	text-align: center;
}
#ir .saishinDLBox a {
	color: #fff !important;
	background: #000;
	display: inline-block;
	text-align: center;
	padding: 20px 50px;
	border-radius: 10px;
	position: relative;
	text-decoration: none !important;
}
#ir .saishinDLBox a::after {
	width: 17px;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	aspect-ratio: 18 / 32;
	content: '';
	z-index: 1;
	background: url(../img/ir/download.svg) no-repeat center center / 100%;
}
#ir .saishinDLBox a:hover {
	background: #6FCB5A;
	transition: 0.3s;
}
#ir .moreBtn {
	text-align: center;
}
#ir .moreBtn a {
	width: 100%;
	max-width: 400px;
	padding: 15px 20px;
	display: inline-block;
	font-size: 18rem;
	font-weight: 700;
	box-shadow: 1px 1px 10px 0 rgba(0, 0, 0, 0.2);
	background-color: #fff;
	color: #02271D;
	letter-spacing: 0.07em;
	border-radius: 80px;
	text-decoration: none !important;
	transition: all .3s;
}
#ir .moreBtn a span {
	position: relative;
}
#ir .moreBtn a span::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -30px;
	width: 9px;
	height: 16px;
	margin: auto;
	background: url(../img/ir/icon01.svg) no-repeat right center / 9px;
}
#ir .newsBox {
	position: relative;
	margin-bottom: 25vw;
}
#ir .investor {
	margin-bottom: 0;
}
#ir .investor .headLine02 {
}
#ir .investor .headLine02.headLinelarge {
	font-size: 40rem;
	margin-bottom: 30px;
}
#ir .investor .investorLead {
	margin-bottom: 100px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.1em;
}
#ir .investor .investorMessage {
	margin-bottom: 80px;
}
#ir .investor .investorMessage figure {
	margin: 0;
	padding: 0;
}
#ir .investor .investorMessage a {
	display: block;
	width: 100%;
	max-width: 490px;
	margin: 0 auto;
	border-radius: 20px;
	box-shadow: 2px 2px 15px 0 rgba(0, 0, 0, 0.25);
	overflow: hidden;
	transition: all .3s;
}
#ir .investor .investorMessage figcaption {
	margin-top: 20px;
	font-size: 20rem;
	font-weight: 700;
	text-align: center;
}
#ir .investor .investorTips {
	padding: 150px 60px 104px;
	border-radius: 20px;
	background: url(../img/ir/investor_tips_bg.jpg)no-repeat;
	background-size: cover;
}
#ir .investor .investorHdg {
	margin-bottom: 56px;
	font-size: 30rem;
	text-align: center;
	letter-spacing: 0.06em;
}
#ir .investor .investorHdg span {
	position: relative;
}
#ir .investor .investorLink {
	display: flex;
	justify-content: space-between;
}
#ir .investor .investorLink li {
	width: 100%;
	max-width: 290px;
}
#ir .investor .investorLink a {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	height: 80px;
	border-radius: 20px;
	background: #B8B8B8;
	box-shadow: 1px 1px 10px 0 rgba(0, 0, 0, 0.20);
	transition: all .3s;
	color: #fff;
	font-size: 18rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.05em;
}
#ir .investor .investorLink a::before {
	content: "";
	position: absolute;
	top: -78px;
	left: 0;
	right: 0;
	width: 120px;
	height: 120px;
	margin: auto;
	background: url(../img/ir/investor_tips_deco.png) no-repeat;
	background-size: 120px 120px;
	opacity: 0;
	pointer-events: none;
}
#ir .investor .investorLink a:hover::before {
	opacity: 1;
	pointer-events: auto;
}
#ir .calendar {
	margin-bottom: 60px;
}
#ir .calendar .headLine02 {
	margin-bottom: 40px;
}
#ir .btnList {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
#ir .btnList li {
	width: calc(50% - 5px);
	min-height: 60px;
	display: flex;
}
#ir .btnList li a {
	padding-right: 10px;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 50px;
	color: #fff;
	line-height: 1.31;
	text-decoration: none !important;
	background: #000 url(../img/ir/icon06.svg) no-repeat right 15px center / 9px;
}
@media screen and (min-width: 768px) {
	#ir::before {
		background-image: url(../img/ir/ir_cont_w_pc.png);
    padding-top: 31.5%;
    top: 880px;
	}
	#ir .linkBox a {
		background-size: 497px, 385px;
	}
	#ir .linkBox a::after {
		right: 27px;
	}
	#ir .linkBox a .en {
		font-size: 50rem;
	}
	#ir .linkBox a .jp {
		font-size: 24rem;
	}
	#ir .linkList {
		margin-bottom: 40px;
		gap: 40px 0;
	}
	#ir .linkList > li {
		width: 490px;
		min-height: 266px;
	}
	#ir .linkList > li .menuBox {
		padding: 32px 23px;
	}
	#ir .linkList > li .menuBox::after {
		right: 23px;
	}
	#ir .linkBox a:hover,
	#ir .linkList > li .menuList li:hover a {
		opacity: 1;
		transition: all .3s;
		cursor: pointer;
		color: #28D500;
	}
	#ir .linkList > li .txt {
		font-size: 18rem;
	}
	#ir .linkList > li .txt .en {
		font-size: 42rem;
	}
	#ir .moreBtn a {
		padding-right: 30px;
		font-size: 18rem;
	}
	#ir .moreBtn a:hover {
		background: #28D600;
	}
	#ir .moreBtn a:hover span::before {
		background: url(../img/ir/icon01_hover.svg) no-repeat right center / 9px;
	}
	#ir .newsBox {
		margin-bottom: 22.5vw;
	}
	#ir .investor .investorLead {
		line-height: 1;
	}
	#ir .investor .investorMessage a:hover {
		opacity: 0.6;
	}
	#ir .investor .investorLink a:hover {
		background: #009D00;
	}
	#ir .calendar {
		margin-bottom: 89px;
	}
	#ir .calendar .headLine02 {
		margin-bottom: 83px;
	}
	#ir .btnList {
		margin-bottom: 150px;
		gap: 20px;
	}
	#ir .btnList li {
		width: 240px;
		min-height: 64px;
	}
	#ir .btnList li a:hover {
		background-color: #6FCB5A;
		transition: all .3s;
	}
}
@media screen and (max-width: 767px) {
	#ir::before {
		top: 840px;
	}
	#ir .pageTitle {
		margin-top: 62px;
	}
	#ir .newsBox {
		margin-bottom: 40vw;
	}
	#ir .moreBtn a {
		max-width: 300px;
		font-size: 14rem;
		padding: 10px 20px;
	}
	#ir .investor .headLine02.headLinelarge {
		font-size: 20rem;
	}
	#ir .investor .investorLead {
		margin-bottom: 30px;
	}
	#ir .investor .investorMessage {
		margin-bottom: 50px;
	}
	#ir .investor .investorMessage {
		margin-bottom: 50px;
	}
	#ir .investor .investorMessage a {
		border-radius: 10px;
	}
	#ir .investor .investorMessage figcaption {
		font-size: 15rem;
	}
	#ir .linkList {
		gap: 24px 0;
	}
	#ir .linkBox {
    	margin-bottom: 24px;
	}
	#ir .linkList > li .menuBox {
		padding: 18px;
	}
	#ir .linkList > li .menuTtl {
		padding-bottom: 40px;
	}
	#ir .linkList > li .menuList li:not(:last-child) {
   	 	margin-bottom: 10px;
	}
	#ir .linkList > li .menuList {
    	padding: 16px 20px;
	}
	#ir .investor .investorHdg {
		font-size: 21rem;
		margin-bottom: 25px;
	}
	#ir .investor .investorTips {
		background-image: url('../img/ir/investor_tips_bg_sp.jpg');
		background-position: top center;
		padding: 130px 50px 88px;
		margin: 0 -4.7%;
		width: 100vw;
		border-radius: 0;
	}
	#ir .investor .investorLink {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 15px;
	}
	#ir .investor .investorLink li {
		max-width: 100%;
	}
	#ir .investor .investorLink li:first-child a {
		background-color: #009D00;
	}
	#ir .investor .investorLink a {
		font-size: 15rem;
		height: 70px;
		border-radius: 10px;
	}
	#ir .investor .investorLink a::before {
		content: none;
	}
	#ir .investor .investorLink li:first-child a::before {
		content: "";
		position: absolute;
		top: -27px;
		bottom: initial;
		left: -45px;
		right: initial;
		width: 115px;
		height: 115px;
		margin: auto;
		background: url(../img/ir/investor_tips_deco.png) no-repeat;
		background-size: 115px 115px;
		opacity: 1;
	}
}
/*------------------------------------------------------------
	disclaimer
------------------------------------------------------------*/
@media screen and (min-width: 768px) {
	#disclaimer .contentBlock .inner p {
		margin: 1em 0 3em 0;
	}
}
/*------------------------------------------------------------
	management-message
------------------------------------------------------------*/
#management-message .imgBox {
	margin-bottom: 25px;
}
#management-message .imgBox .photoBox {
	margin-bottom: 20px;
}
#management-message .imgBox .photoBox img {
	width: 100%;
	border-radius: 10px;
}
#management-message p:not(:last-child) {
	margin-bottom: 25px;
}
#management-message .name {
	margin: 25px 0 0;
	text-align: right;
	font-size: 13rem;
}
#management-message .name span {
	margin-top: 2px;
	display: block;
}
@media screen and (min-width: 768px) {
	#management-message .imgBox {
		margin-bottom: 20px;
		display: flex;
		flex-direction: row-reverse;
		gap: 41px;
	}
	#management-message .imgBox .textBox {
		flex: 1;
	}
	#management-message .imgBox .photoBox {
		margin-bottom: 0;
		width: 400px;
	}
	#management-message p:not(:last-child) {
		margin-bottom: 20px;
	}
	#management-message .name {
		margin-top: 58px;
		font-size: 16rem;
	}
}
@media screen and (max-width: 767px) {
	#management-message .imgBox .photoBox {
		margin: 0 auto 20px;
		width: 50vw;
		min-width: 200px;
	}
}
/*------------------------------------------------------------
	management-governance
------------------------------------------------------------*/
#management-governance .headLine01 {
	margin-bottom: 20px;
}
#management-governance p:not(:last-child) {
	margin-bottom: 23px;
}
#management-governance .photoBox {
	margin: 43px auto 73px;
	max-width: 870px;
}
#management-governance .photoBox img {
	width: 100%;
	border-radius: 10px;
}
#management-governance .txtLink a {
	display: inline-block;
	text-decoration: none;
	color: #28d500;
	font-size: 16rem;
	letter-spacing: 0.07em;
	line-height: 2;
}
#management-governance .txtLink a::before {
	margin-right: 5px;
	display: inline-block;
	border: 9px solid transparent;
	border-left-color: #28d500;
	content: '';
	vertical-align: -3px;
}
@media screen and (min-width: 768px) {
	#management-governance .txtLink a:hover {
		text-decoration: underline;
		transition: all .3s;
	}
}
@media screen and (max-width: 767px) {
	#management-governance .photoBox {
		margin: 30px auto 40px;
	}
	#management-governance .txtLink a {
		font-size: 13rem;
	}
}
/*------------------------------------------------------------
	disclosure-policy
------------------------------------------------------------*/
#disclosure-policy .policyList dt {
	margin-bottom: 20px;
	font-weight: 700;
	font-size: 26rem;
	letter-spacing: 0.07em;
	line-height: 48px;
	text-align: left;
	color: #02271d;
}
#disclosure-policy .policyList dd {
	margin-bottom: 34px;
	padding-bottom: 36px;
	border-bottom: 1px solid #28d500;
}
#disclosure-policy .policyList dd:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border: none;
}
@media screen and (max-width: 767px) {
	#disclosure-policy .policyList dt {
		margin-bottom: 15px;
		font-size: 18rem;
		line-height: 1.7;
	}
}
/*------------------------------------------------------------
	comLibList
------------------------------------------------------------*/
.comLibList li {
	border-bottom: 1px solid #D0D0D0;
}
.comLibList li.no_link {
  pointer-events: none;
}
.comLibList li.no_link a::after {
  content: none;
}
.comLibList li .no-date {
  padding-bottom: 15px;
}
.comLibList li a {
	padding: 15px 55px 15px 0;
	display: block;
	text-decoration: none !important;
  position: relative;
}
.comLibList li a::after {
	width: 9px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	aspect-ratio: 18/32;
	background: url(../img/ir/icon01.svg) no-repeat center center / 100%;
	content: '';
}
.comLibList li .date {
	margin-bottom: 10px;
	display: block;
	flex-shrink: 0;
	letter-spacing: 0.06em;
}
.comLibList li .txt {
	display: block;
	flex: 1;
	letter-spacing: 0.06em;
}
.comLibList li .icon {
	display: inline-block;
	vertical-align: -4px;
	line-height: 1;
}
.comLibList li .icon img {
	width: 17px;
}
@media screen and (min-width: 768px) {
	.comLibList li a {
		padding: 29px 100px 33px 0;
		display: flex;
		align-items: flex-start;
		gap: 10px;
	}
  .comLibList li a::after {
		right: 23px;
	}
	.sub .mainContent .contentBlock .inner .comLibList li a:hover {
		color: #28D500;
		transition: all .3s;
	}
	.comLibList li .date {
		margin-bottom: 0;
		width: 6.05em;
	}
}
/*------------------------------------------------------------
	submenuList
------------------------------------------------------------*/
.submenuList {
}
.submenuList li + li {
  margin-top: 15px;
}
.submenuList a {
  display: flex;
  align-items: center;
	width: 100%;
	height: 100%;
	padding: 13px 30px 13px 15px;
	color: #02271D;
	font-size: 12rem;
	letter-spacing: 0.07em;
	line-height: 1.5;
	border-radius: 10px;
	background: #fff;
	text-decoration: none !important;
	box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.20);
 	position: relative; 
}
.submenuList a::after {
  position: absolute;
	right: 15px;
	top: 50%;
  right: 15px;
  transform: translateY(-50%);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid #28d600;
	content: '';
}
.submenuList a[target="_blank"]::after {
  width: 12px;
  height: 12px;
  border: none;
	background: url(../img/ir/icon11.svg) no-repeat;
	background-size: 100%;
}
.submenuList a img {
  width: 35px;
  height: 35px;
}
.submenuList a .title {
  font-weight: bold;
  padding-left: 8px;
}
@media screen and (min-width: 768px) {
  .submenuList {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    flex-wrap: wrap;
  }
  .submenuList li {
    width: calc(50% - 15px);
  }
  .submenuList li + li {
    margin-top: 0;
  }
	.submenuList a {
    font-size: 20rem;
    border-radius: 20px;
    padding: 20px 40px 20px 30px;
    box-shadow: 1px 1px 10px 0 rgba(0, 0, 0, 0.20);
	}
  .submenuList a::after {
    right: 30px;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 12px solid #28d600;
  }
	.submenuList a:hover {
		color: #fff !important;
		background-color: #009D00;
		transition: all .3s;
	}
	.submenuList a:hover .title::after {
		border-left-color: #fff;
		transition: all .3s;
	}
  .submenuList a[target="_blank"]::after {
    width: 17px;
    height: 17px;
  }
  .submenuList a img {
    width: 60px;
    height: 60px;
  }
  .submenuList a .title {
    padding-left: 16px;
  }
}
/*------------------------------------------------------------
	library
------------------------------------------------------------*/
@media screen and (min-width: 768px) {
	#library .contentBlock .inner .comYearSelect {
		margin-bottom: 27px;
	}
	#library .contentBlock .inner > .comPdfBox {
		margin-top: 46px;
	}
}
/*------------------------------------------------------------
	finance
------------------------------------------------------------*/
#finance .chartBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 40px 0;
	margin-bottom: 40px;
}
#finance .chartBox .item {
	width: 100%;
}
#finance .chartBox .heading {
	margin-bottom: 15px;
	font-size: 18rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: #02271D;
}
#finance .chartBox .xj_chart_table {
	width: 100%;
	border-collapse: collapse;
  margin-top: 15px;
}
#finance .chartBox .xj_chart_table td {
	padding: 3px 5px 4px;
	box-sizing: border-box;
	text-align: center;
	vertical-align: middle;
	font-weight: 400;
	font-size: 12rem;
	color: #02271D;
	word-break: break-all;
	border: 1px solid #959595;
}
#finance .chartBox .xj_chart_table thead,
#finance .chartBox .xj_chart_header_first {
	background: #EEEEEE;
}
#finance .chartBox .xj_chart_table .xj_chart_header {
	width: 11%;
	min-width: 40px;
	background: #EEEEEE;
  text-align: center;
}
#finance .chartBox .xj_chart_table tbody td {
	text-align: right;
}
@media screen and (min-width: 768px) {
	#finance .chartBox {
		gap: 119px 0;
	}
	#finance .chartBox .item {
		width: 488px;
	}
	#finance .chartBox .heading {
		margin-bottom: 22px;
		font-size: 26rem;
	}
	#finance .chartBox .xj_chart_table {
		margin-top: 24px;
	}
	#finance .chartBox .xj_chart_table td {
		padding: 3px 11px 5px;
	}
}
/*------------------------------------------------------------
	stock-info
------------------------------------------------------------*/
#stock-info .heading {
	margin-bottom: 33px;
	font-weight: 500;
	font-size: 26rem;
	letter-spacing: 0.07em;
}
#stock-info .heading .smTxt {
	font-size: 16rem;
	font-weight: 400;
	letter-spacing: 0.07em;
}
#stock-info .secBox {
	margin-bottom: 87px;
}
#stock-info .secBox:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	#stock-info .heading {
		margin-bottom: 10px;
		font-size: 18rem;
	}
	#stock-info .heading .smTxt {
		display: block;
		font-size: 14rem;
	}
	#stock-info .secBox {
		margin-bottom: 40px;
	}
	#stock-info .secBox:last-child {
		margin-bottom: 0;
	}
}
/*------------------------------------------------------------
	ir-calendar
------------------------------------------------------------*/
@media screen and (min-width: 768px) {
	#ir-calendar .contentBlock .inner .comCalendar {
		margin-bottom: 65px;
	}
	#ir-calendar .contentBlock .inner .comYearSelect {
		margin-bottom: 28px;
	}
	#ir-calendar .contentBlock .inner > .comPdfBox {
		margin-top: 98px;
	}
}
/*------------------------------------------------------------
	ir-faq
------------------------------------------------------------*/
#ir-faq .headLine01 {
	margin-bottom: -6px;
}
#ir-faq .faqList dt {
	padding: 41px 45px 18px 0;
	position: relative;
	display: flex;
	border-bottom: 1px solid #D0D0D0;
}
#ir-faq .faqList dt::after {
	width: 24px;
	position: absolute;
	right: 13px;
	bottom: 14px;
	aspect-ratio: 1;
	background: url(../img/ir/icon09.svg) no-repeat center center / 100%;
	content: '';
	transition: 0.3s;
}
#ir-faq .faqList dt.on::after {
	transform: rotate(180deg);
}
#ir-faq .faqList dt .mark {
	margin-right: 10px;
	width: 58px;
	text-align: center;
	flex-shrink: 0;
	color: #29D502;
	font-size: 32rem;
	font-weight: 600;
	line-height: 1;
}
#ir-faq .faqList dt .txt {
	padding: 2px 0;
	flex: 1;
	font-size: 18rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	word-break: break-all;
}
#ir-faq .faqList dd {
	padding-top: 14px;
	display: none;
}
#ir-faq .faqList dd .inWrap {
	padding: 16px 20px 23px 74px;
	position: relative;
	background: rgba(41, 213, 2, 0.05);
}
#ir-faq .faqList dd .mark {
	position: absolute;
	left: 21px;
	top: 14px;
	font-size: 32rem;
	font-weight: 600;
	line-height: 1;
}
#ir-faq .faqList dd .sub p {
	line-height: 1.875;
}
#ir-faq .faqList dd .note {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 14rem;
}
#ir-faq .faqList dd a {
	font-weight: 700;
	text-decoration: none;
	color: #28D500;
}
#ir-faq .faqList dd a[target="_blank"]::after {
	content: '';
	background: url(../img/ir/icon10.svg) no-repeat center center / 100%;
	width: 15px;
	display: inline-block;
	vertical-align: top;
	font-size: 0;
	margin: 8px 8px 0 8px;
	aspect-ratio: 1;
}
#ir-faq .secBox {
	margin-bottom: 105px;
}
#ir-faq .secBox:last-child {
	margin-bottom: 0;
}
@media screen and (min-width: 768px) {
	#ir-faq .faqList dd a:hover {
		text-decoration: underline;
		transition: all .3s;
	}
}
@media screen and (max-width: 767px) {
	#ir-faq .headLine01 {
		margin-bottom: 0;
	}
	#ir-faq .faqList dt {
		padding: 25px 30px 15px 0;
	}
	#ir-faq .faqList dt::after {
		width: 20px;
		right: 5px;
		bottom: 18px;
	}
	#ir-faq .faqList dt .mark {
		margin-right: 0;
		width: 40px;
		font-size: 28rem;
	}
	#ir-faq .faqList dt .txt {
		padding: 4px 0 2px;
		font-size: 15rem;
	}
	#ir-faq .faqList dd {
		padding-top: 10px;
	}
	#ir-faq .faqList dd .inWrap {
		padding: 13px 20px 13px 40px;
	}
	#ir-faq .faqList dd .mark {
		left: 10px;
		top: 10px;
		font-size: 28rem;
	}
	#ir-faq .faqList dd a[target="_blank"]::after {
		width: 12px;
		margin: 7px 4px 0 4px;
	}
	#ir-faq .faqList dd .note {
		font-size: 12rem;
	}
	#ir-faq .secBox {
		margin-bottom: 50px;
	}
}
/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
	margin-bottom: 33px;
	padding: 7px 0 15px 57px;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.07em;
	border-bottom: 1px solid #D0D0D0;
}
.headLine04 .num {
	padding-bottom: 2px;
	width: 40px;
	height: 40px;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	background: #28D500;
	font-size: 18rem;
	font-weight: 700;
	position: absolute;
	left: 0;
	top: 0;
}
@media screen and (max-width: 767px) {
	.headLine04 {
		margin-bottom: 20px;
		padding: 0 0 10px 45px;
		min-height: 50px;
		display: flex;
		align-items: center;
	}
}
/*------------------------------------------------------------
	headLine05
------------------------------------------------------------*/
.headLine05 {
	margin-bottom: 38px;
	text-align: center;
	font-size: 18rem;
	font-weight: 400;
	letter-spacing: 0.07em;
	line-height: 1.777;
	color: #02271d;
}
@media screen and (max-width: 767px) {
	.headLine05 {
		margin-bottom: 20px;
		font-size: 16rem;
	}
}
@media screen and (max-width: 359px) {
	.headLine05 {
		font-size: 15rem;
	}
}
/*------------------------------------------------------------
	ir-indivisual
------------------------------------------------------------*/
#ir-indivisual {
	word-break: break-all;
	word-wrap: break-word;
}
#ir-indivisual .heading01 {
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 26rem;
	letter-spacing: 0.07em;
	line-height: 1.84;
	text-align: center;
}
#ir-indivisual .heading02 {
	margin: 48px 0 10px;
	font-size: 20rem;
	letter-spacing: 0.07em;
}
#ir-indivisual .heading03 {
	margin-bottom: 20px;
	color: #FFF;
	font-weight: bold;
	font-size: 20rem;
	letter-spacing: 0.07em;
	line-height: 1.6;
	text-align: center;
}
#ir-indivisual .heading03.color {
	margin-bottom: 17px;
	color: #28d500;
}
#ir-indivisual .midTxt {
	margin-bottom: 36px;
	text-align: center;
}
#ir-indivisual .blackBox {
	margin: 0 0 48px;
	padding: 33px 75px 44px;
	border-radius: 10px;
	background: #000;
}
#ir-indivisual .serviceImg {
	margin: 5px 6px -3px;
}
#ir-indivisual .concept {
	margin-bottom: 73px;
}
#ir-indivisual .concept p {
	margin-bottom: 36px;
}
#ir-indivisual .concept .comTtl {
	margin-bottom: 12px;
}
#ir-indivisual .technologyList {
	margin-bottom: 12px;
	padding: 14px 35px 33px 12px;
	display: flex;
	justify-content: space-between;
	position: relative;
	border-radius: 10px;
	background: #fff;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
}
#ir-indivisual .technologyList .item01 {
	width: 415px;
}
#ir-indivisual .technologyList .item02 {
	width: 377px;
}
#ir-indivisual .technologyList .title {
	margin-bottom: 17px;
	font-weight: 700;
	color: #28d500;
	text-align: center;
}
#ir-indivisual .technologyList .title small {
	font-size: 12rem;
}
#ir-indivisual .technologyList .title sup {
	font-size: 60%;
}
#ir-indivisual .technologyList .img {
	text-align: center;
}
#ir-indivisual .technologyList .item01 img {
	width: 277px;
}
#ir-indivisual .concept .note {
	margin-bottom: -2px;
	color: #FFF;
	font-size: 10rem;
}
#ir-indivisual .concept .arrow {
	margin-bottom: 22px;
	text-align: center;
}
#ir-indivisual .concept .arrow img {
	width: 43px;
}
#ir-indivisual .supportList {
	display: flex;
	gap: 30px;
}
#ir-indivisual .supportList > li {
	padding: 25px 25px 10px 20px;
	width: calc(50% - 15px);
	display: flex;
	justify-content: space-between;
	gap: 22px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
}
#ir-indivisual .comTtl {
	margin-bottom: 12px;
	text-align: center;
	color: #fff;
	font-feature-settings: "palt";
	border-radius: 15.5px;
	background: #28d500;
}
#ir-indivisual .supportList .textBox {
	flex: 1;
}
#ir-indivisual .supportList .img {
	width: 129px;
	text-align: center;
}
#ir-indivisual .supportList .img img {
	height: 108px;
}
#ir-indivisual .supportList .txtList {
	font-size: 12rem;
	letter-spacing: 0.07em;
	line-height: 1.5;
}
#ir-indivisual .reason .heading02 {
	margin-bottom: 18px;
}
#ir-indivisual .reason .blackBox {
	margin-bottom: 63px;
	padding-bottom: 38px;
}
#ir-indivisual .reasonList {
	margin: 18px 0 0;
	display: flex;
	gap: 11px;
}
#ir-indivisual .reasonList li {
	width: calc((100% - 44px)/5);
	padding: 30px 10px 22px;
	border-radius: 10px;
	background: #fff;
	position: relative;
}
#ir-indivisual .reasonList .img {
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
#ir-indivisual .reasonList .img img {
	height: 74px;
}
#ir-indivisual .reasonList .num {
	position: absolute;
	left: calc(50% - 20px);
	top: -20px;
	width: 40px;
	height: 40px;
	font-weight: bold;
	font-size: 18rem;
	letter-spacing: 0.07em;
	text-align: center;
	color: #fff;
	background: #28d500;
	border-radius: 40px;
}
#ir-indivisual .reasonList .ttl {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 12rem;
	line-height: 1.33;
	letter-spacing: 0;
	text-align: left;
	color: #28d500;
}
#ir-indivisual .reasonList .txt {
	font-size: 10rem;
	line-height: 16px;
	text-align: left;
	letter-spacing: 0;
}
#ir-indivisual .reason .inn {
	margin: 0 auto 81px;
	width: 870px;
}
#ir-indivisual .reason .image01 {
	margin: 0 auto 10px;
	width: 690px;
}
#ir-indivisual .reason .noteList {
	margin-bottom: 51px;
	font-size: 10rem;
	letter-spacing: 0.07em;
	line-height: 1.5;
}
#ir-indivisual .reason .headLine05.mb01 {
	margin-bottom: 13px;
}
#ir-indivisual .reason .cTxt {
	margin-bottom: 39px;
	text-align: center;
	font-size: 10rem;
	letter-spacing: 0.07em;
	line-height: 1.6;
}
#ir-indivisual .reason .list01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#ir-indivisual .reason .list01 li {
	width: 48%;
	text-align: center;
}
#ir-indivisual .reason .list01 li .comTtl {
	margin: 0 auto 26px;
	padding: 0 28px;
	width: fit-content;
	min-width: 223px;
}
#ir-indivisual .reason .list01 li .img {
	margin: 0 auto 33px;
	width: 320px;
}
#ir-indivisual .reason .list01 li .img01 {
	width: 346px;
}
#ir-indivisual .reason .list01 li .note {
	text-align: left;
	font-size: 10rem;
	letter-spacing: 0.07em;
	line-height: 1.5;
}
#ir-indivisual .reason .list01 li .note a {
	text-decoration: underline;
}
#ir-indivisual .reason .list01 li .note a:hover {
	text-decoration: none;
}
#ir-indivisual .reason .inn01 .headLine04 {
	margin-bottom: 16px;
}
#ir-indivisual .reason .inn01 .headLine05 {
	margin-bottom: 34px;
}
#ir-indivisual .reason .inn01 .headLine05.mb02 {
	margin-bottom: -3px;
}
#ir-indivisual .reason .inn01 .headLine05.mb03 {
	margin-bottom: 39px;
}
#ir-indivisual .reason .image02 {
	margin: 0 auto 51px;
	width: 795px;
}
#ir-indivisual .reason .image03 {
	width: 505px;
	margin: 0 auto 51px;
}
#ir-indivisual .reason .image04 {
	width: 523px;
	margin: 0 auto 56px;
}
#ir-indivisual .reason .list02 {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
#ir-indivisual .reason .list02 li {
	width: 280px;
}
#ir-indivisual .reason .inn02 .headLine04 {
	margin-bottom: 27px;
	padding-bottom: 18px;
}
#ir-indivisual .reason .inn02 .headLine05 {
	margin-bottom: 51px;
}
#ir-indivisual .reason .inn02 .image05 {
	margin: 0 auto;
	width: 817px;
}
#ir-indivisual .reason .list03 {
	margin: 0 7px;
	display: flex;
	justify-content: space-between;
}
#ir-indivisual .reason .list03 li {
	width: 47%;
}
#ir-indivisual .reason .list03 li img {
	width: 388px;
}
#ir-indivisual .reason .list03 .item01 img {
	width: 380px;
}
#ir-indivisual .reason .inn03 .headLine04 {
	margin-bottom: 26px;
}
#ir-indivisual .reason .inn03 .headLine05 {
	margin-bottom: 50px;
}
#ir-indivisual .reason .inn03 .note {
	margin: -2px 46px 50px;
	text-align: right;
	font-size: 10rem;
	line-height: 1.5;
	letter-spacing: 0.07em;
}
#ir-indivisual .reason .inn03 .headLine05.mb01 {
	margin-bottom: 3px;
}
#ir-indivisual .reason .inn03 .cTxt {
	margin-bottom: 27px;
}
#ir-indivisual .reason .image06 {
	margin: 0 auto;
	padding-right: 12px;
	width: 814px;
	box-sizing: border-box;
}
#ir-indivisual .reason .inn04 .headLine04 {
	margin-bottom: 27px;
}
#ir-indivisual .reason .inn04 .headLine05 {
	margin-bottom: 54px;
}
#ir-indivisual .reason .list04 {
	margin: 0 10px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#ir-indivisual .reason .list04 li {
	width: 48%;
}
#ir-indivisual .reason .list04 li .ttl {
	margin-bottom: 4px;
	text-align: center;
}
#ir-indivisual .reason .list04 li .text01 {
	margin-bottom: -4px;
	font-size: 10rem;
	line-height: 1.6;
	letter-spacing: 0.07em;
	text-align: center;
}
#ir-indivisual .reason .list04 li .img {
	width: 324px;
	margin: 0 auto;
}
#ir-indivisual .reason .list04 li .text02 {
	text-align: center;
	font-size: 12rem;
	font-weight: 700;
	letter-spacing: 0.07em;
}
#ir-indivisual .reason .list04 .col02 .ttl {
	margin-bottom: 14px;
}
#ir-indivisual .reason .list04 .col02 .text01 {
	margin-bottom: 27px;
}
#ir-indivisual .reason .list04 .col02 .img {
	margin-bottom: 24px;
	width: 387px;
}
#ir-indivisual .reason .list04 .col02 .subBox {
	margin-right: 25px;
}
#ir-indivisual .reason .list04 .col02 .subBox p {
	margin-bottom: 15px;
	font-size: 10rem;
	letter-spacing: 0.07em;
	line-height: 1.5;
}
#ir-indivisual .reason .list04 .col02 .subBox p:last-child {
	margin-bottom: 0;
}
@media screen and (min-width: 768px) {
	#ir-indivisual .reasonList .ttl{
		height: 48px;
	}
}
@media screen and (max-width: 767px) {
	#ir-indivisual .pageTitle h1 .en {
		font-size: 15rem;
	}
	#ir-indivisual .heading01 {
		margin-bottom: 20px;
		font-size: 18rem;
	}
	#ir-indivisual .heading02 {
		margin: 25px 0 5px;
		font-size: 16rem;
	}
	#ir-indivisual .heading03 {
		margin-bottom: 10px;
		font-size: 16rem;
	}
	#ir-indivisual .heading03.color {
		margin-bottom: 10px;
	}
	#ir-indivisual .midTxt {
		margin-bottom: 20px;
	}
	#ir-indivisual .blackBox {
		margin-bottom: 20px;
		padding: 15px;
		border-radius: 5px;
	}
	#ir-indivisual .serviceImg {
		margin: 0;
	}
	#ir-indivisual .concept {
		margin-bottom: 40px;
	}
	#ir-indivisual .concept p {
		margin-bottom: 25px;
	}
	#ir-indivisual .concept .comTtl {
		margin-bottom: 5px;
	}
	#ir-indivisual .technologyList {
		margin-bottom: 10px;
		padding: 15px;
		display: block;
		border-radius: 5px;
	}
	#ir-indivisual .technologyList .item01 {
		margin-bottom: 15px;
		width: auto;
	}
	#ir-indivisual .technologyList .item02 {
		width: auto;
	}
	#ir-indivisual .technologyList .title {
		margin-bottom: 10px;
	}
	#ir-indivisual .technologyList .title small {
		font-size: 10rem;
	}
	#ir-indivisual .concept .note {
		margin-bottom: 15px;
	}
	#ir-indivisual .concept .arrow {
		margin-bottom: 15px
	}
	#ir-indivisual .supportList {
		display: block;
	}
	#ir-indivisual .supportList > li {
		margin-bottom: 15px;
		padding: 15px;
		width: auto;
		display: block;
		border-radius: 5px;
	}
	#ir-indivisual .supportList .img {
		margin: 0 auto;
	}
	#ir-indivisual .supportList .txtList {
		margin: 0 auto 10px;
		width: fit-content;
		font-size: 10rem;
	}
	#ir-indivisual .reason .heading02 {
		margin-bottom: 15px;
	}
	#ir-indivisual .reason .blackBox {
		margin-bottom: 40px;
		padding-bottom: 20px;
	}
	#ir-indivisual .reasonList {
		margin: 20px 0 0;
		flex-wrap: wrap;
		gap: 40px;
	}
	#ir-indivisual .reasonList li {
		width: 100%;
		border-radius: 5px;
	}
	#ir-indivisual .reasonList .num {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		font-size: 16rem;
		padding-bottom: 2px;
	}
	#ir-indivisual .reason .inn {
		margin-bottom: 40px;
		width: auto;
	}
	#ir-indivisual .reason .image01 {
		width: auto;
	}
	#ir-indivisual .reason .noteList {
		margin-bottom: 30px;
	}
	#ir-indivisual .reason .cTxt {
		margin-bottom: 20px;
	}
	#ir-indivisual .reason .list01 {
		display: block;
	}
	#ir-indivisual .reason .list01 li {
		margin-bottom: 20px;
		width: auto;
	}
	#ir-indivisual .reason .list01 li:last-child {
		margin-bottom: 0;
	}
	#ir-indivisual .reason .list01 li .comTtl {
		margin-bottom: 20px;
		padding: 0 20px;
	}
	#ir-indivisual .reason .list01 li .img {
		margin-bottom: 20px;
		width: 320px;
		max-width: 100%;
	}
	#ir-indivisual .reason .list01 li .img01 {
		margin: 0 -13px;
		width: auto;
		max-width: initial;
		text-align: center;
	}
	#ir-indivisual .reason .list01 li .img01 img {
		width: 346px;
	}
	#ir-indivisual .reason .list01 li .note a:hover {
		text-decoration: underline;
	}
	#ir-indivisual .reason .inn01 {
		margin-bottom: 0;
	}
	#ir-indivisual .reason .inn01 .headLine05 {
		margin-bottom: 15px;
	}
	#ir-indivisual .reason .inn01 .headLine05.mb02 {
		margin-bottom: 0;
	}
	#ir-indivisual .reason .inn01 .headLine05.mb03 {
		margin-bottom: 15px;
	}
	#ir-indivisual .reason .image02 {
		margin-bottom: 25px;
		width: auto;
		text-align: center;
	}
	#ir-indivisual .reason .image03 {
		margin-bottom: 25px;
		width: auto;
		text-align: center;
	}
	#ir-indivisual .reason .image04 {
		width: auto;
		margin-bottom: 25px;
		text-align: center;
	}
	#ir-indivisual .reason .list02 {
		display: block;
	}
	#ir-indivisual .reason .list02 li {
		margin-bottom: 0;
		width: auto;
		text-align: center;
	}
	#ir-indivisual .reason .inn02 .headLine04 {
		margin-bottom: 20px;
		padding-bottom: 10px;
	}
	#ir-indivisual .reason .inn02 .headLine05 {
		margin-bottom: 25px;
	}
	#ir-indivisual .reason .inn02 .image05 {
		text-align: center;
		width: auto;
	}
	#ir-indivisual .reason .list03 {
		margin: 0;
		display: block;
	}
	#ir-indivisual .reason .list03 li {
		margin-bottom: 20px;
		width: auto;
		text-align: center;
	}
	#ir-indivisual .reason .list03 li:last-child {
		margin-bottom: 0;
	}
	#ir-indivisual .reason .list03 li img {
		width: auto;
	}
	#ir-indivisual .reason .list03 .item01 img {
		width: auto;
	}
	#ir-indivisual .reason .inn03 .headLine04 {
		margin-bottom: 20px;
	}
	#ir-indivisual .reason .inn03 .headLine05 {
		margin-bottom: 20px;
	}
	#ir-indivisual .reason .inn03 .note {
		margin: 0 0 30px;
		text-align: left;
	}
	#ir-indivisual .reason .inn03 .cTxt {
		margin-bottom: 15px;
	}
	#ir-indivisual .reason .image06 {
		padding-right: 0;
		width: auto;
		text-align: center;
	}
	#ir-indivisual .reason .inn04 .headLine04 {
		margin-bottom: 15px;
	}
	#ir-indivisual .reason .inn04 .headLine05 {
		margin-bottom: 25px;
	}
	#ir-indivisual .reason .list04 {
		margin: 0;
		display: block;
	}
	#ir-indivisual .reason .list04 li {
		width: auto;
	}
	#ir-indivisual .reason .list04 li .img {
		width: auto;
		text-align: center;
	}
	#ir-indivisual .reason .list04 .col01 {
		margin-bottom: 20px;
	}
	#ir-indivisual .reason .list04 .col02 .ttl {
		margin-bottom: 10px;
	}
	#ir-indivisual .reason .list04 .col02 .text01 {
		margin-bottom: 20px;
	}
	#ir-indivisual .reason .list04 .col02 .img {
		margin-bottom: 15px;
		width: auto;
	}
	#ir-indivisual .reason .list04 .col02 .subBox {
		margin-right: 0;
	}
}
@media screen and (max-width: 374px) {
	#ir-indivisual .reason .list01 li .img01 {
		margin: 0 -8px;
	}
}
@media screen and (max-width: 359px) {
	#ir-indivisual .midTxt {
		font-size: 12rem;
	}
	#ir-indivisual .reason .list01 li .img01 {
		margin: 0;
	}
}
