@charset "UTF-8";


/* ---------------------------------------
base
--------------------------------------- */
.ir__inner {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
@media screen and (min-width: 1024px) {
	.ir__container {
		padding: 60px 0 80px;
	}
	.ir__inner {
		padding: 0 40px;
	}
	main:has(#sidemenu) {
		& .ir__container {
			padding: 0;
		}
		& .ir__inner {
			max-width: 1010px;
			margin: 0 auto;
			padding: 70px 40px 100px;
		}
	}
}

@media screen and (max-width: 1023px) {
	.ir__container {
		padding: 40px 0 60px;
	}
	.ir__inner {
		padding: 0 24px;
	}
}


/* ---------------------------------------
ナビ
--------------------------------------- */
@media screen and (min-width: 1024px) {
	.ir__localNav_item-active {
		& a::after {
			transform: scale(1) !important;
		}
	}
}


/* ---------------------------------------
ページタイトル
--------------------------------------- */
.ir__pageTtl {
	background-size: cover;
	border-bottom: 1px solid #e6e6e6;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	
	& h1 {
		font-weight: 500;
	}
}
@media screen and (min-width: 1024px) {
	.ir__pageTtl {
		background: url(/assets/ir/bg_ir_compact.png) 80% 50% no-repeat;
		min-height: 125px;
	
		& .inner {
			box-sizing: border-box;
			width: 100%;
			max-width: 1200px;
			margin: 0 auto;
			padding: 0 40px;
		}
	
		& h1 {
			font-size: 30px;
		}
	}
}

@media screen and (max-width: 1023px) {
	.ir__pageTtl {
		background: url(/assets/ir/bg_ir_compact_sp.png) 50% 50% no-repeat;
        min-height: 90px;
	
		& .inner {
			padding: 0 24px;
		}
	
		& h1 {
			font-size: 24px;
		}
	}
}


/* ---------------------------------------
セクション
--------------------------------------- */
@media screen and (min-width: 1024px) {
	.ir__sec {
		& + & {
			margin-top: 60px;
		}
	}
}
@media screen and (max-width: 1023px) {
	.ir__sec {
		& + & {
			margin-top: 50px;
		}
	}
}


/* ---------------------------------------
タイトル
--------------------------------------- */
.ir__ttlH2 {
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 20px;
}
.ir__ttlH3 {
	font-weight: 700;
	line-height: 1.9;
}
@media screen and (min-width: 1024px) {
	.ir__ttlH2 {
		font-size: 20px;
	}
	.ir__ttlH3 {
		font-size: 15px;
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 1023px) {
	.ir__ttlH2 {
		font-size: 18px;
	}
	.ir__ttlH3 {
		margin-bottom: 8px;
	}
}


/* ---------------------------------------
テキスト
--------------------------------------- */
.ir__txt {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.9;

	& + & {
		margin-top: 30px;
	}
}
.ir__txtLink {
	text-decoration: underline;

	&:hover {
		text-decoration: none;
	}
}


/* ---------------------------------------
リスト
--------------------------------------- */
.ir__list_marker {
	margin: 10px 0 0;
}
.ir__list_marker_item {
	font-size: 15px;
	font-weight: 500;
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.9;

	&::before {
		content: "・";
		text-indent: 0;
	}
}


/* ---------------------------------------
テーブル
--------------------------------------- */
.ir__tbl {
	width: 100%;
}
.ir__tbl_th,
.ir__tbl_td {
	font-size: 15px;
	font-weight: 500;
}
.ir__tbl_th {
	color: #909090;
	text-align: left;
}
@media screen and (min-width: 1024px) {
	.ir__tbl_th,
	.ir__tbl_td {
		border-top: 1px solid #e6e6e6;
		padding: 30px 0;
	}
	.ir__tbl_th {
		width: 230px;
        line-height: 1.9;
	}
	.ir__tbl_td {
		line-height: 1.9;
	}
}

@media screen and (max-width: 1023px) {
	.ir__tbl,
	.ir__tbl_tr,
	.ir__tbl_th,
	.ir__tbl_td {
		display: block;
	}
	.ir__tbl_tr {
		border-top: 1px solid #e6e6e6;
		padding: 30px 0;
	}
	.ir__tbl_th,
	.ir__tbl_td {
		text-align: left;
	}
	.ir__tbl_th {
		line-height: 1.8;
	}
	.ir__tbl_td {
		margin: 10px 0 0;
        line-height: 1.8;
	}
}


/* ---------------------------------------
IRTOP
--------------------------------------- */
.irTop__lineTtl {
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
	padding-bottom: 5px;
	position: relative;

	&::before {
		content: url(/assets/ir/index/line.svg);
		position: absolute;
		bottom: -7px;
		left: 0;
	}
}


.irTop__head {
	padding: 70px 0 55px;

	& .ir__inner {
		position: relative;

		&::before {
			content: url(/assets/ir/index/circle_L.svg);
			position: absolute;
			left: 50px;
			top: -5px;
			z-index: -1;
		}
		&::after {
			content: url(/assets/ir/index/circle_R.svg);
			position: absolute;
			right: 70px;
			bottom: 45px;
			z-index: -1;
		}
	}
}
.irTop__head_ttl {
	margin-bottom: 22px;
	text-align: center;
}
.irTop__head_ttl-en {
	display: block;
	font-family: "Josefin Sans", sans-serif;
	font-size: 64px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.2;
}
.irTop__head_ttl-ja {
	display: block;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.2;
}
.irTop__head_lead {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-bottom: 50px;
	text-align: center;
}
.irTop__head_langBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.irTop__head_langBtn_btn {
	background: #fff;
	border: 1px solid #DC1010;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: center;
	transition: all 300ms ease;
	width: 145px;
	height: 41px;
	max-width: 100%;

	&.active {
		background: #DC1010;
		color: #fff;
		pointer-events: none;
	}
	&:hover {
		color: #fff;
		background: #DC1010;
	}
}

@media screen and (max-width: 1023px) {
	.irTop__head {
		padding: 70px 0 50px;
	
		& .ir__inner {
			&::before {
				left: -60px;
				top: -125px;
			}
			&::after {
				right: -5px;
				top: -40px;
			}
		}
	}
	.irTop__head_langBtn_btn {
		font-size: 13px;
		width: 130px;
		height: 36px;
	}
}


.irTop__messageSec_inner {
	background: url(/assets/ir/index/president.png) center / cover no-repeat;
	padding: 130px 0 85px;

	& .button-bg {
        border: 1px solid #dc1010;
		max-width: 394px;
	}
}
.irTop__messageSec_ttl {
	font-size: 32px;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
}
.irTop__messageSec_lead {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.1em;
	margin-bottom: 93px;
}
@media screen and (max-width: 1023px) {
	.irTop__messageSec_inner {
		background-position: center right 25%;
		margin-bottom: 45px;
		padding: 80px 35% 80px 0;

		& .ir__inner {
			display: flex;
			flex-direction: column;
		}
	}
	.irTop__messageSec_ttl {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.irTop__messageSec_lead {
		font-size: 14px;
		margin-bottom: 0;
	}
	.irTop__messageSec_spBtn {
		padding: 0 24px;
	}
}


.irTop__newsSec {
	padding: 55px 0 100px;

	& .irTop__lineTtl {
		margin-bottom: 40px;
	}
	& .button {
		margin: 75px auto 0;
		max-width: 420px;
	}
}
@media screen and (max-width: 1023px) {
	.irTop__newsSec {
		padding: 50px 0 70px;

		& .button {
			margin: 45px auto 0;
		}
	}
}


.irTop__panelSec {
	background: #EBEBEB;
	padding: 45px 0 60px;

	& .irTop__lineTtl {
		margin-bottom: 58px;
	}
}
.irTop__panelSec_list {
	display: grid;
	gap: 100px 64px;
	grid-template-columns: repeat(3, 1fr);
}
.irTop__panelSec_list_item {
	background: #fff;
	box-shadow: 5px 5px 4px 0 rgba(0, 0, 0, 0.25);
	padding: 35px 25px 50px;

	& .button-bg {
		border: 1px solid #dc1010;
		margin-top: 80px;
		height: 32px;

		& .arrow-mini {
			right: 75px;
		}
	}
}
.irTop__panelSec_list_icon {
	margin: 0 auto 45px;
	width: 80px;
	height: 80px;

	& img {
		max-width: 100%;
	}
}
.irTop__panelSec_list_ttl {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 35px;
	text-align: center;
}
.irTop__panelSec_list_linkList {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.irTop__panelSec_list_linkList_item {
	& a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		font-size: 19px;
		font-weight: 500;
		line-height: 1.5;
	}
}
.irTop__panelSec_list_linkList_icon {
	background: #dc1010;
	border: 1px solid #dc1010;
	border-radius: 13px;
	display: inline-block;
	position: relative;
	right: 5px;
	top: calc(50% - 13px);
	transition: all 300ms ease-out;
	width: 15px;
	height: 15px;

	&::after {
        background: url(/assets/ir/arrow.svg) 50% 50% no-repeat;
        background-size: 10px auto;
        display: block;
        content: "";
		filter: brightness(0) invert(1);
        position: absolute;
        left: 50%;
        top: 50%;
		transform: translateX(-50%) translateY(-50%);
        transition: all 150ms ease-out;
        width: 15px;
        height: 15px;
    }
}
.irTop__panelSec_list_linkList_item:hover {
	& .irTop__panelSec_list_linkList_icon {
		background: #fff;

		&::after {
			filter: none;
		}
	}
}
@media screen and (max-width: 1023px) {
	.irTop__panelSec_list {
		gap: 30px;
		grid-template-columns: repeat(1, 1fr);
	}
	.irTop__panelSec_list_item {
		padding: 30px 24px;

		& .button-bg {
			margin-top: 50px;
		}
	}
	.irTop__panelSec_list_icon {
		margin: 0 auto 15px;
	}
	.irTop__panelSec_list_linkList_item {
		& a {
			font-size: 15px;
		}
	}
}


.irTop__btnSec {
	padding: 70px 0;
}
.irTop__btnSec_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 68px;
}
.irTop__btnSec_list_item {
	& a {
		border: 1px solid #DC1010;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 19px;
		font-weight: 500;
		padding: 22px 50px;
		position: relative;
		transition: all 300ms ease;

		&::before {
			background: url(/assets/ir/arrow02.svg) center / cover no-repeat;
			content: "";
			display: block;
			position: absolute;
			right: 36px;
			top: calc(50% + 1px);
			transform: translateY(-50%);
			width: 8px;
			height: 8px;
		}
		&:hover {
			background: #DC1010;
			color: #fff;

			&::before {
				filter: brightness(0) invert(1);
			}
		}
	}
}
@media screen and (max-width: 1023px) {
	.irTop__btnSec_list {
		grid-template-columns: repeat(1, 1fr);
		gap: 30px;
	}
}


/* ---------------------------------------
株主・投資家の皆様へ
--------------------------------------- */
.irMessage__head {
	position: relative;
}
.irMessage__head_name {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);

	& dt {
		font-size: 13px;
		font-weight: 500;
	}
	& dd {
		font-weight: 500;
		overflow: hidden;
		position: relative;
	}
}
@media screen and (min-width: 1024px) {
	.irMessage__head {
        background: url(/assets/ir/management/message/img_01_pc.jpg) 50% 50% no-repeat;
		background-size: cover;
        border-radius: 7px;
		margin-bottom: 70px;
        height: 351px;
	}
	.irMessage__head_name {
        left: 10%;

		& dt {
			font-size: 13px;
			font-weight: 500;
		}
		& dd {
			font-size: 35px;
			margin: 15px 0 0;
			height: 36px;
		}
	}
}

@media screen and (max-width: 1023px) {
	.irMessage__head {
        background: url(/assets/ir/management/message/img_01_sp.jpg) 50% 50% no-repeat;
		background-size: cover;
		margin: -40px -24px 40px;
        height: 64vw;
	}
	.irMessage__head_name {
        left: 36px;

		& dt {
			font-size: 13px;
			font-weight: 500;
		}
		& dd {
			font-size: 24px;
			margin: 10px 0 0;
			height: 24px;
		}
	}
}


/* ---------------------------------------
コーポレート・ガバナンス
--------------------------------------- */
.irGovernance__img {
	margin-top: 30px;
}


/* ---------------------------------------
よくあるご質問
--------------------------------------- */
.irCalendar__img {
	display: flex;
}
@media screen and (min-width: 1024px) {
	.irCalendar__img {
		gap: 3px;
		margin-bottom: 60px;

		& img {
			width: calc((100% - 3px) / 2);
		}
	}
}

@media screen and (max-width: 1023px) {
	.irCalendar__img {
		flex-direction: column;
		gap: 20px;
		margin-bottom: 50px;

		& img {
			width: 100%;
		}
	}
}


/* ---------------------------------------
よくあるご質問
--------------------------------------- */
.irFaq_list {
	& + & {
		margin-top: 40px;
	}
}
.irFaq_list_q,
.irFaq_list_a {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.9;
	padding-left: 20px;
	position: relative;
}
.irFaq_list_q {
	font-weight: 700;

	&::before {
		content: "Q.";
		color: #dc1010;
		position: absolute;
		left: 0;
	}
}
.irFaq_list_a {
	&::before {
		content: "A.";
		color: #666;
		font-weight: 700;
		position: absolute;
		left: 0;
	}
}