@charset "utf-8";

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

	カテゴリートップ

----------------------------------------------------------------------------- */
.categoryTop .mv:before {
	background-image: url(../ir/img/bg_mv.jpg);
}

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

	下層共通

----------------------------------------------------------------------------- */
.ir h4 {
	font-size: 170%;
}
/* -----------------------------------------------------------------------------
	タブ
----------------------------------------------------------------------------- */
.ir ul.tab {
	border: 1px solid #009ce7;
	color: #009ce7;
	margin-bottom: 20px;
}
.ir ul.tab + .tab {
	/*width: 66%;*/
	margin-bottom: 30px;
}
.ir ul.tab li {
	float: left;
	font-size: 140%;
	text-align: center;
	width: 33.33333%;
	border-left: 1px solid #009ce7;
	cursor: pointer;
	background: url(/common/img/icon_arrow_down01.png) center 80px no-repeat;
	position: relative;
	box-sizing: border-box;
}
.ir ul.tab li a {
	display: block;
}
/*.ir ul.tab + .tab li {
	width: 50%;
}*/
.ir ul.tab li.active:after {
	content: "";
	display: block;
	width: 22px;
	height: 9px;
	background: url(/common/img/bg_tab_arrow01.png) no-repeat;
	position: absolute;
	top: 100%;
	left: 50%;
	margin: 0 0 0 -11px;
}
.ir ul.tab li.active {
	color: #fff;
	background: #009ce7;
}
.ir ul.tab li:first-child {
	border: none;
}
.ir ul.tab li span {
	display: table-cell;
	width: 170px;
	height: 90px;
	text-align: center;
	vertical-align: middle;
	padding: 0 5px;
}

.ir ul.anchor {
	overflow: hidden;
}
.ir .anchor li a {
	border: 1px solid #ccc;
	color: #333;
	background: #fff url(/common/img/sp/icon_arrow_anchor02.png) 94% center no-repeat;
	background-size: 8px auto;
}
.sub main #ir > p {
	display: block;
	width: 80%;
	margin: 10px auto 20px;
	font-size: 170%;
}
.sub main #ir > p > a {
	display: block;
	text-decoration: none;
	color: #fff;
	background: #b3b3b3 url(/common/img/sp/icon_arrow_anchor.png) right 10px center no-repeat;
	background-size: 8px auto;
	text-align: center;
	width: 100%;
	height: 36px;
	line-height: 36px;
}

/* -----------------------------------------------------------------------------
アコーディオン
----------------------------------------------------------------------------- */
.past {
	display: block;
	margin-top: 20px;
}
.past dl dt {
	width: 100%;
	cursor: pointer;
	background: url(/common/img/btn_open.png) right 10px center no-repeat #e6e6e6;
	background-size: 24px;
	box-sizing: border-box;
	height: 36px;
	line-height: 36px;
	text-align: center;
	font-size: 170%;
}
.past dl dt.open {
	background-image: url(/common/img/btn_close.png);
}
.past dl dt span {
	width: 70px;
	display: inline-block;
}
.past dl dd {
	display: none;
	margin-top: 15px;
	font-size: 100%;
}
.past dl dd .central h3.ttl01 {
	margin-top: 20px;
}
.past dl dd .central:first-child h3.ttl01 {
	margin-top: 0;
}
.past dd h4.ttl03 {
	font-size: 100%;
}
.ir .central .column li div a {
	display: block;
	background: url(/common/img/sp/icon_pdf.png) left 25px no-repeat;
	background-size: 13px auto;
	padding: 0 20px;
}
.ir .central .column li div a.date-none {
	background: url(/common/img/sp/icon_pdf.png) left 3px no-repeat;
	background-size: 13px auto;
	padding: 0 20px;
}
.ir .central .column li div a .date {
	margin-left: -20px;
}
.ir .central li div {
	background: url(/common/img/sp/icon_arrow06.png) right 10px center no-repeat;
	background-size: 6px auto;
	padding: 12px 0;
	border-top: 1px dotted #ccc;
}
.ir .central li div.non {
	background: none;
	padding-top: 24px;
}
.ir .central li:first-child div.non {
	padding-top: 12px;
}
.ir .central li.pdf div a {
	display: block;
	background: url(/common/img/sp/icon_pdf.png) left 2px no-repeat;
	background-size: 13px auto;
	padding: 0 20px;
}
.ir .central li.text div {
	padding-right: 20px;
}

.ir .central li.text div a {
	color: #009ce7;
	text-decoration: underline;
}
.ir .central li div a .pdf {
	display: inline-block;
	background: #009ce7;
	color: #fff;
	font-size: 70%;
	font-weight: bold;
	border-radius: 3px;
	padding: 2px 6px 0px;
	vertical-align: top;
}
.ir .central li div .date.non {
	display: none;
}
.ir .central li div .ttl {
	display: block;
	font-size: 120%;
}

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

	決算短信

----------------------------------------------------------------------------- */
.ir.accounts .central li {
	margin-top: 20px;
}
.ir.accounts .central li div {
	border-bottom: 1px dotted #ccc;
}
.ir.accounts .past .central li {
	margin-top: 0;
}
.ir.accounts .past .central li {
	margin-top: 0;
}
.ir.accounts .past .central li div {
	border-bottom: none;
}
.ir.accounts .past .central li:last-child div {
	border-bottom: 1px dotted #ccc;
}

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

	IR説明会

----------------------------------------------------------------------------- */
.ir.meeting .central .column li div a {
	background: url(/common/img/sp/icon_pdf.png) left 24px no-repeat;
	background-size: 13px auto;
}
.ir.meeting .central .column li div.column-txt a {
	background: url(/common/img/sp/icon_pdf.png) left 3px no-repeat;
	background-size: 13px auto;
}
.ir.meeting .central li figure {
	margin-top: 10px;
}
.ir.meeting .central li figcaption {
	margin-top: 5px;
	font-weight: bold;
	text-align: center;
}
.ir.meeting .central li em {
	font-style: normal;
	font-size: 90%;
	margin-left: -8px;
}
.ir.meeting .central .column li {
	margin-top: 20px;
}
.ir.meeting .central .column li:first-child {
	margin-top: 0;
}
.ir.meeting .central .column li div:last-child {
	border-bottom: 1px dotted #ccc;
}
/* -----------------------------------------------------------------------------

	有価証券

----------------------------------------------------------------------------- */
.ir.report .central .column li div a {
	background: url(/common/img/sp/icon_pdf.png) left 3px no-repeat;
	background-size: 13px auto;
}
.ir.report .central .column li:last-child div {
	border-bottom: 1px dotted #ccc;
}

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

	株主通信

----------------------------------------------------------------------------- */
.ir.communication .central li {
	margin-top: 20px;
}
.ir.communication .central li div {
	border-bottom: 1px dotted #ccc;
}
.ir.communication .central .column li div a {
	background: url(/common/img/sp/icon_pdf.png) left 3px no-repeat;
	background-size: 13px auto;
	position: relative;
	padding-bottom: 20px;
}
.ir.communication .central .column li div a .date {
	margin-left: 0;
}
.ir.communication .central .column li div a .pdf {
	position: absolute;
	bottom: 0;
	left: 20px;
}
.ir.communication .central li figure {
	margin-bottom: 10px;
}
.ir.communication .correction {
	margin-bottom: 20px;
	background: url(/common/img/sp/icon_arrow06.png) right 10px center no-repeat;
	background-size: 6px auto;
	border-bottom: 1px dotted #ccc;
}
.ir.communication .correction a {
	display: block;
	padding: 10px 20px 10px;
	background: url(/common/img/sp/icon_pdf.png) left 12px no-repeat;
	background-size: 13px auto;
}
.ir.communication .correction a .pdf {
	display: inline-block;
	background: #009ce7;
	color: #fff;
	font-size: 70%;
	font-weight: bold;
	border-radius: 3px;
	padding: 2px 6px 0px;
	vertical-align: top;
}
/* -----------------------------------------------------------------------------

中期経営計画

----------------------------------------------------------------------------- */
.strategy .overview {
	margin-bottom:20px;
}
.ir.strategy .central li {
    margin-top: 20px;
    background: none;
    padding: 0px;
    border-top: none;
}
.ir.strategy .central li figure {
    border-top: 1px dotted #ccc;
    border-bottom: 1px dotted #ccc;
    padding: 12px 0px 12px 0px;
}
.ir.strategy .central li div {
    border-bottom: 1px dotted #ccc;
}
.ir.strategy .central .column li div a {
	background: url(/common/img/sp/icon_pdf.png) left 3px no-repeat;
	background-size: 13px auto;
}
/*
.strategy figcaption {
	margin:5px 0px;
	font-weight:bold;
}
*/
/* -----------------------------------------------------------------------------

電子公告

----------------------------------------------------------------------------- */
.ir.notice p.read {
	margin-bottom: 20px;
}
.ir.notice p.anchor {
	display: block;
	width: 80%;
	margin: 20px auto;
	font-size: 170%;
}
.ir.notice p.anchor a {
	display: block;
	text-decoration: none;
	color: #fff;
	background: #b3b3b3 url(/common/img/sp/icon_arrow_anchor.png) right 10px center no-repeat;
	background-size: 8px auto;
	text-align: center;
	width: 100%;
	height: 36px;
	line-height: 36px;
}
.ir.notice p.anchor.accounts a {
	background: #b3b3b3 url(/common/img/sp/icon_arrow02.png) right 10px center no-repeat;
	background-size: 6px auto;
}
.ir.notice .central li {
	background: url(/common/img/sp/icon_arrow06.png) right 10px center no-repeat;
	background-size: 6px auto;
	padding: 12px 0;
	border-top: 1px dotted #ccc;
}
.ir.notice .central li:last-child {
	border-bottom: 1px dotted #ccc;
}
.ir.notice .central li.pdf a {
	display: block;
	background: url(/common/img/sp/icon_pdf.png) left 2px no-repeat;
	background-size: 13px auto;
	padding: 0 20px;
}
.ir.notice .central li a .pdf {
	display: inline-block;
	background: #009ce7;
	color: #fff;
	font-size: 70%;
	font-weight: bold;
	border-radius: 3px;
	padding: 2px 6px 0px;
	vertical-align: top;
}
.ir.notice .past .central li div {
	padding: 0;
	border-top: none;
}
.ir.notice .past .central li:last-child div {
	border-bottom: none;
}
/* -----------------------------------------------------------------------------

株式取扱いのご案内

----------------------------------------------------------------------------- */
.ir.procedure div {
    margin-bottom: 20px;
}
.ir.procedure p a {
	color: #009ce7;
	text-decoration: underline;
}

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

IR　カレンダー

----------------------------------------------------------------------------- */
.ir.irCalendar .anchor {
	margin-top: 20px;
}
.ir.irCalendar section ul li {
	padding: 12px 0;
	border-top: 1px dotted #ccc;
}
.ir.irCalendar section ul li:last-child {
	border-bottom: 1px dotted #ccc;
}
.ir.irCalendar section ul li span {
	display: block;
}
.ir.irCalendar section h4 {
	margin: 20px 0 10px;
}
.ir.irCalendar section h3 + h4 {
	margin-top: 0;
}

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

株券の電子化について

----------------------------------------------------------------------------- */
.ir.denshika .lead {
	margin-bottom: 20px;
}
.ir.denshika h4 {
	margin: 20px 0 5px;
}
.ir.denshika .image {
	margin-top: 15px;
}
.ir.denshika ol li {
	font-size: 100%;
}
.denshika ol li h5 {
	border: 2px solid #ccc;
	font-size: 160%;
	display: inline-block;
	padding: 7px 10px 5px;
}
.ir.denshika ol li p {
	margin-top: 10px;
}
.ir.denshika ol + p {
	margin-top: 20px;
}
.ir.denshika div.procedure {
	margin: 20px 0 10px;
	padding: 5px 10px;
	border: 2px solid #ccc;
}
.ir.denshika div.procedure p span {
	display: block;
	font-weight: bold;
	font-size: 140%;
	line-height: 1;
	margin-top: 10px;
}
.ir.denshika div.infomation {
	padding: 5px 10px;
	border: 2px solid #ccc;
	margin-top: 5px;
}
.ir.denshika div.infomation p {
	margin-top: 10px;
}
.ir.denshika div.infomation p:first-child {
	margin-top: 0;
}
.ir.denshika div.infomation p b {
	font-size: 120%;
}
.denshika .infomation p.tel {
	font-weight: bold;
	background: url(/ir/denshika/img/icon_freedial.png) left center no-repeat;
	background-size: 50px;
	padding-left: 60px;
}
.denshika .infomation p.tel span {
	font-size: 160%;
	display: block;
	line-height: 1;
}
.ir.denshika p.btn02,
.ir.denshika p.btn03,
.ir.denshika .infomation p.btn {
	display: block;
	margin-top: 5px;
}
.ir.denshika p.btn02 a,
.ir.denshika p.btn03 a,
.ir.denshika .infomation p.btn a {
	display: inline-block;
	font-size: 100%;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	border-radius: 2px;
}
.ir.denshika p.btn02 a,
.ir.denshika p.btn03 a,
.ir.denshika .infomation p.btn a {
	-webkit-padding: 8px 32px 9px 10px;
	padding: 8px 32px 9px 10px;
	background: #009ce7 url(/common/img/sp/icon_arrow03.png) right 10px center no-repeat;
	-webkit-background: #009ce7 url(/common/img/sp/icon_arrow03.png) 250px center no-repeat;
	background-size: 8px auto;
}

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

IRメール配信

----------------------------------------------------------------------------- */
.main-news{
	.lead{
		margin-bottom: 2.25em;
	}
	.list{
		margin-bottom: 2.5em;
	}
	.link-gray{
		margin-bottom: 4em;
	}
	.link-gray + p{
		margin-bottom: 1.5em;
	}

	/* parts */
	
	.list{
		line-height: calc(22 / 14);

		li{
			padding-left: 1em;
			margin-bottom: .75em;
			
			text-indent: -1em;
		}
		li::before{
			content: '・';
			display: inline-block;
			width: 1em;
			text-indent: 0;
		}
	}
	
	.link-list{
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.link-gray{
		position: relative;
		display: grid;
		place-items: center;
		width: 208px;
		height: 47px;
		border-radius: 5px;
		background-color: #E8E8E8;

		font-size: 14px;
		text-decoration: none !important;
		color: #333 !important;

		svg{
			position: absolute;
			top: calc(50% - 6px);
			right: 10px;
			aspect-ratio: 1 / 1;
			width: 12px;
			
			fill: none;
			stroke: #333;
		}
	}
	
	.link-blank{
		display: grid;
		place-items: center;
		height: 54px;
		border-radius: 5px;
		background-color: #009BE6;

		font-size: 15px;
		text-decoration: none !important;
		color: #fff !important;

		svg{
			aspect-ratio: 1 / 1;
			width: 12px;
			margin-left: 0.75em;
			
			fill: none;
			stroke: #fff;
		}
	}
}	
/* -----------------------------------------------------------------------------

個人投資家の皆様へ

----------------------------------------------------------------------------- */
.individual{

	section + section {
		margin: 40px 0 0;
	}
	section:nth-child(2){
		h3{
			margin-bottom: 20px;
		}
	}
	.icon-chart{
		margin-bottom: 50px;
	}
	.banners-text{
		margin-bottom: 1em;

		font-size: 16px !important;
		font-weight: bold;
		color: #029BE2;
	}

	/* parts */

	.link-wrap{
		display: grid;
		grid-template-columns: 1fr;
		gap: 20px;
		align-items: end;
	}
	.link-list-pdf{
		display: grid;
		gap: 10px;

		a{
			display: flex;
			padding: 0 0 0 20px;
			background: url(/common/img/icon_pdf.png) 0 50% no-repeat;

			color: #333 !important;
			text-decoration: none !important;

			span{
				display: grid;
				place-items: center;
				height: 22px;
				padding: 0 .5em;
				background: #009ce7;
				
				font-size: 12px;
				line-height: 1;
				color: #fff;
				border-radius: 5px;
			}
		}
	}
	
	.link-full{
		display: grid;
		place-items: center;
		width: 100%;
		height: 48px;
		border-radius: 5px;
		border: 1px solid #0698E3;

		font-size: 14px;
		font-weight: bold;
		color: #0698E3;
		text-decoration: none !important;
	}
	.link{
		align-self: end;
		position: relative;
		display: block;
		width: 158px;
		border-radius: 5px;
		border: 1px solid #D3D3D4;
		background-color: #fff;

		text-align: center;
		text-decoration: none !important;
		color: #333 !important;

		svg{
			position: absolute;
			top: calc(50% - 6px);
			right: 5px;
			aspect-ratio: 1 / 1;
			width: 12px;
			
			fill: none;
			stroke: #0698E3;
		}
	}
	
	.icon-chart{
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		
		& > div{
			padding: 30px;
			border-radius: 5px;
			background-color: #E7F3F8;
		}
		/* & > div.ex1{
			grid-column: span 2;
		} */

		dt{
			padding-bottom: 0.25em;
			margin-bottom: 30px;
			border-bottom: 1px solid #C7C7C7;

			font-size: 20px !important;
			font-weight: 600;
			text-align: center;
			line-height: 1.5;
		}
		dd{
			.type-1{
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				gap: 15px;
			}
			.type-2{
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				gap: 15px;

				div{
					text-align: center;
				}
				.link{
					margin-top: 15px;
				}
			}
			.type-3{
				display: grid;
				grid-template-columns: 1fr;
				gap: 15px;
				justify-items: center;

				div{
					text-align: center;
				}
				/* figure{
					margin-left: 60px;
				}
				.link{
					margin-top: 25px;
				} */
			}
			
			p:not(.note){
				font-family: "Barlow", sans-serif;
				font-size: 60px!important;
				font-weight: 400;
				font-style: normal;
				color: #24a4e6;
				line-height: 1;
			}
			p.note{
				font-size: 10px!important;
			}

			span{
				color: #333;
				font-size: 28px!important;
			}
			figure{
				max-width: 50%;
			}
		}
	}
}
.individual-bnr {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;

	a {
		display: block;
		text-decoration: none !important;

		@media(hover: hover){
			&:hover img:nth-of-type(1){
				transform: scale(1.1);
			}
		}

		figure {
			display: grid;
			overflow: hidden;

			img{
				position: relative;
				grid-area: 1 / 1;
				transition: transform 600ms ease;
				width: 100%;
				height: auto;
			}

			figcaption {
				position: relative;
				grid-area: 1 / 1;
				place-self: center start;
				padding: calc(20 / 320 * 100%);

				/*font-size: clamp(14px, 2.26vw, 18px);*/
				font-size: clamp(14px, 2.26vw, 17px);
				font-weight: 600;
				line-height: 1.6875;
				text-shadow: 0 0 3px rgba(155,155,155,0.4), 0 0 3px rgba(155,155,155,0.4), 0 0 3px rgba(155,155,155,0.4);
				color: #ffffff;
				white-space: nowrap;
			}
		}
	}
	
	
	.bnr-logo::before,
	.bnr-logo::after{
		grid-area: 1 / 1;
		content: '';
		z-index: 1;
		background: var(--logoUrl) 0 0 / 100% auto no-repeat;
	}
	.bnr-logo::before{
		filter: drop-shadow(0 0 4px rgba(var(--shadowColor),1)) drop-shadow(0 0 4px rgba(var(--shadowColor),1));
		mix-blend-mode: multiply;
	}
	.bnr-logo--products-by-industry figcaption{
		width: 100%;

		&::before{
			position: absolute;
			display: block;
			content: '';
			width: 75%;
			height: 100%;
			top: 0;
			left: 0;
			background-image: linear-gradient(to right, rgba(0, 104, 150, 0.5), rgba(0, 104, 150, 0));
			mix-blend-mode: multiply;
		}
		span{
			position: relative;
		}
	}
	.bnr-logo--pom{
		--logoUrl: url(/img/banner/pom.svg);
		--shadowColor: 255,255,255;
	}
}