@charset "utf-8";

/* ---------------------------------------
base
--------------------------------------- */
.ir__pageInner {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 70px;
}
.ir__pageNav {
	position: sticky;
    top: 80px;
    --fontSize: 22px;
    background-color: #f3f3f3;
    box-shadow: 16px 16px 40px 0 rgba(0, 0, 0, 0.1);
    text-align: left;
    height: fit-content;
    padding: 40px 20px;
    border-radius: 4px;

	& .ttl {
		color: var(--c1);
		font-weight: 900;
		line-height: 1;
		font-size: var(--fontSize);
	}
	& .list {
		display: grid;
		gap: 40px;
		position: relative;
		line-height: 1;
		color: #000;
		padding-left: var(--fontSize);
		margin-top: 40px;
	}
	& .link[target="_blank"]::after {
		font-family: iconFontA;
		content: "\ea77";
		font-size: 1em;
		margin-left: 6px;
	}
	& .item.isCurrent {
		position: relative;
		color: var(--c1);
		font-size: 15px;

		& .link {
			font-weight: bold;
			color: var(--c1);
		}
		&::before {
			position: absolute;
			content: "";
			left: -1em;
			top: 0.5em;
			transform: translate(-50%, -50%);
			aspect-ratio: 1;
			border-radius: 50%;
			background-color: var(--c1);
			width: 8px;
		}
	}
}
@media screen and (min-width:801px) and (max-width: 1000px) {
	.ir__pageNav {
		top: 60px;
		--fontSize: 19px;
		padding: 33px 15px;
	
		& .ttl {
			&:hover {
				color: var(--c1);
			}
		}
		& .list {
			gap: 29px;
			margin-top: 25px;
			font-size: 13px;
		}
		& .item.isCurrent {
			font-size: 13px;
		}
	}
}
@media screen and (max-width: 800px) {
	.ir__pageInner {
		grid-template-columns: 1fr;
        grid-template-areas:
        "itemContent"
        "itemNav";
        gap: 70px;
	}
	.ir__pageNav {
		grid-area: itemNav;
		--fontSize: 22px;
        position: relative;
        top: 0px;
        box-shadow: 16px 16px 40px 0 rgba(0, 0, 0, 0.1);
        height: fit-content;
        padding: 20px 20px;

		& .ttl {
			line-height: 1;
			font-size: var(--fontSize);
		}
		& .list {
			gap: 2em;
			line-height: 1;
			padding-left: var(--fontSize);
			margin-top: 20px;
		}
		& .item.isCurrent {
			font-size: 15px;

			&::before {
				left: -1em;
				top: 0.5em;
				transform: translate(-50%, -50%);
				width: 8px;
			}
		}
	}
	.ir__pageContent {
		grid-area: itemContent;
	}
}

.ir__horizontalRule {
	--contentSpace: 60px;
    position: relative;
    height: 1px;
    background-color: #b3c1d6;
    margin-top: var(--contentSpace);
    margin-bottom: var(--contentSpace);

	&::before {
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		height: 1px;
		width: 20%;
		min-width: 80px;
		background-color: var(--c1);

		&::before {
			width: 20%;
			min-width: 80px;
		}
	}
}
@media screen and (max-width: 800px) {
	.ir__horizontalRule {
		--contentSpace: 40px;
	}
}


/* ---------------------------------------
title
--------------------------------------- */
.ir__ttlH1 {
    color: var(--c1);
    font-weight: 900;
    line-height: 1;
    font-size: 32px;
    margin-bottom: 40px;
}
.ir__ttlH2 {
	color: var(--c1);
    font-weight: 900;
    line-height: 1.4;
    font-size: 25px;
	margin-bottom: 51px;
}
@media screen and (max-width: 800px) {
	.ir__ttlH1 {
		line-height: 1;
        font-size: 22px;
        margin-bottom: 20px;
	}
	.ir__ttlH2 {
		line-height: 1.4;
        font-size: 20px;
		margin-bottom: 24px;
	}
}


/* ---------------------------------------
text
--------------------------------------- */
.ir__txt {
	& + & {
		margin-top: 30px;
	}
}
.ir__txtLink {
	color: #0149b1;
}
body .ir__txtLink:hover {
	color: #0149b1;
}
.ir__txtLink[target="_blank"] {
	&::after {
		font-family: iconFontA;
		content: "\ea77";
		font-size: 1em;
		margin-left: 6px;
	}
}


/* ---------------------------------------
table
--------------------------------------- */
.ir__tblList_tr {
	display: grid;
    grid-template-columns: 200px 1fr;
    gap: 20px;
    padding-top: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid #e6e6e6;

	&:first-of-type {
		border-top: 1px solid #e6e6e6;
	}
}
.ir__tblList_th {
	font-weight: bold;
    font-size: 14px;
}
.ir__tblList_td {
	font-weight: 500;
    font-size: 14px;
}
@media screen and (max-width: 800px) {
	.ir__tblList_tr {
		display: grid;
		grid-template-columns: 6em 1fr;
		gap: 15px;
		padding-top: 12px;
		padding-bottom: 12px;
	}
	.ir__tblList_th {
		font-size: 13px;
	}
	.ir__tblList_td {
		font-size: 13px;
        line-height: 1.6;
	}
}


/* ---------------------------------------
IRTOP
--------------------------------------- */
.irTop__newsSec {
	& .btnA {
		min-width: 196px;
	}
}
.irTop__newsSec_ttl {
	font-size: 30px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 40px;
	text-align: center;
}
@media screen and (max-width: 800px) {
	.irTop__newsSec {
		& .btnA {
			min-width: 0;
		}
	}
	.irTop__newsSec_ttl {
		font-size: 190%;
		line-height: 1;
	}
}

.irTop__panelSec {
	margin: 82px -20px 0;

	& .btn {
		margin-top: auto;
	}
	& .btnA {
		min-width: 0;
		width: 100%;
	}
}
.irTop__panelSec_list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	width: 100%;
}
.irTop__panelSec_list_item {
	background: #FFFFFF;
	border-radius: 5px;
	box-shadow: 0 0 60px 0 rgba(0, 0, 0, 0.11);
	display: flex;
	flex-direction: column;
	padding: 20px 20px 15px;
	width: calc((100% - (30px * 2)) / 3);
}
.irTop__panelSec_img {
	border-radius: 5px;
	margin-bottom: 12px;
	overflow: hidden;
	width: 100%;
}
.irTop__panelSec_ttl {
	color: var(--c1);
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 10px;
}
.irTop__panelSec_linkList {
	display: inline-flex;
	flex-direction: column;
	gap: 4px;

	& a {
		color: var(--c1) !important;
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 14px;
		line-height: 1;
		padding: 5px 0 7px;
		position: relative;
		width: fit-content;

		&::before {
			display: inline-block;
			content: "";
			background-color: #000000;
			aspect-ratio: 1;
			width: 7px;
			clip-path: polygon(0 0, 100% 50%, 0 100%);
		}
		&::after {
			content: "";
			display: block;
			width: 0;
			height: 1px;
			background-color: var(--c1);
			position: absolute;
			left: 0px;
			bottom: 0px;
			transition: 0.2s;
		}
		&:hover {
			&::after {
				width: 100%;
			}
		}
	}
	& a[target="_blank"] {
		& span {
			&::after {
				font-family: iconFontA;
				content: "\ea77";
				font-size: 1em;
				margin-left: 6px;
			}
		}
	}
}
@media screen and (max-width: 800px) {
	.irTop__panelSec {
		margin: 50px 0 0;
	}
	.irTop__panelSec_list_item {
		width: 100%;
	}
	.irTop__panelSec_ttl {
		font-size: 190%;
	}
}

.irTop__btnSec {
	margin: 62px 25px 0;
}
.irTop__btnSec_list {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	width: 100%;

	& .btn1 {
		width: calc((100% - (40px * 2)) / 3);
	}
	& .btnA {
		min-width: 0;
		width: 100%;
	}
}
@media screen and (max-width: 800px) {
	.irTop__btnSec {
		margin: 50px 0 0;
	}
	.irTop__btnSec_list {
		flex-direction: column;
		gap: 10px;
	
		& .btn1 {
			width: 100%;
		}
		& .btnA {
			max-width: 100%;
		}
	}
}


/* ---------------------------------------
株主・投資家の皆様へ
--------------------------------------- */
.irMessage__img {
	display: flex;
	gap: 20px;

	& img {
		border-radius: 6px;
		max-width: 260px;
	 }
}
@media screen and (max-width: 800px) {
	.irMessage__img {
		flex-direction: column;

		& img {
			max-width: 100%;
		}
	}
}


/* ---------------------------------------
IRカレンダー
--------------------------------------- */
.irCalendar__img {
	display: flex;
	gap: 2px;

	& img {
		width: calc((100% - 2px) / 2);
	}
}
@media screen and (max-width: 800px) {
	.irCalendar__img {
		flex-direction: column;
		gap: 20px;
	
		& img {
			width: 100%;
		}
	}
}


/* ---------------------------------------
よくあるご質問
--------------------------------------- */
.irFaq_list {
	& + & {
		margin-top: 40px;
	}
}
.irFaq_list_q {
	color: var(--c1);
	font-size: 15px;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 25px;
	position: relative;

	&::before {
		content: "Q.";
		color: var(--c1);
		display: inline-block;
		font-weight: bold;
		position: absolute;
		left: 0;
	}
}
.irFaq_list_a {
	margin-top: 5px;
	padding-left: 25px;
	position: relative;

	&::before {
		content: "A.";
		color: #737373;
		font-size: 15px;
		display: inline-block;
		font-weight: bold;
		line-height: 1.4;
		position: absolute;
		left: 0;
		top: 4px;
	}
}
@media screen and (max-width: 800px) {
	.irFaq_list {
		& + & {
			margin-top: 20px;
		}
	}
}