@charset "utf-8";
/* CSS Document */

/*----------------------------------------
共通
----------------------------------------*/
#irPage .bl_pageHeader {
  height: auto;
}
.ir_section + .ir_section .ir_section__inner{
  padding-top: 9.375rem;
}
.sub-section + .sub-section{
  margin-top: 3.125rem;
}
.secTitle {
  font-size: 2.34rem;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
  padding: 0 0 1.2em;
  font-family: ryo-display-plusn, serif;
  font-weight: 500;
}
.sub-section__title {
  font-family: ryo-display-plusn, serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.875rem;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}
@media screen and (max-width: 769px) { 
  .ir_section + .ir_section .ir_section__inner{
    padding-top: 6.25rem;
  }
  .secTitle {
    font-size: 1.8125rem;
    padding: 0 0 1.1em;
  }
  .sub-section__title {
    font-size: 1.5625rem;
    margin-bottom: 1.875rem;
  }
}

.ir-table__st01{
  width: 100%;
  border-collapse: collapse;
}
.ir-table__st01 :is(th,td){
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  padding: 2rem 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  vertical-align: baseline;
}
.ir-table__st01 th{
  width: 25%;
  min-width: 9.0625rem;
  font-family: ryo-gothic-plusn, sans-serif;
  font-style: normal;
  font-weight: 500;
  text-align: left;
  padding-right: 2rem;
}
@media screen and (max-width: 769px) { 
  .ir-table__st01 :is(th,td){
    font-size: 0.9375rem;
    padding: 0.9375rem 0;
  }
  .ir-table__st01 th{
    min-width: 7.1875rem;
    padding-right: 0.9375rem;
  }
}

/* ir-secondary__content-list */
#ir-secondary__content-list{
  padding-block: 9.375rem;
}
#ir-secondary__content-list .ir-content__box._ir-top{
  grid-area: ir;
}
#ir-secondary__content-list .ir-content__box._management{
  grid-area: man;
}
#ir-secondary__content-list .ir-content__box._financial{
  grid-area: fin;
}
#ir-secondary__content-list .ir-content__box._library{
  grid-area: lib;
}
#ir-secondary__content-list .ir-content__box._stock{
  grid-area: sto;
}
#ir-secondary__content-list .ir-content__box._other{
  grid-area: oth;
}
#ir-secondary__content-list .ir-content__box._notice{
  grid-area: not;
}
#ir-secondary__content-list .ir-content__box-wrap{
  display: grid;
  grid-template: 
    "ir fin lib"
    "man fin lib"
    "man oth lib"
    "sto oth not";
  grid-template-columns: repeat(3,1fr);
  gap: 2rem;
}
#ir-secondary__content-list .ir-content__box-title{
  font-size: 1.125rem;
  padding: .8rem;
  margin-bottom: .8rem;
  border-bottom: 2px solid #2e2218;
}
#ir-secondary__content-list .ir-content__box-title a{
  background: linear-gradient(90deg, rgba(46, 34, 24, 0.5) 50%, #2e2218 50%);
  background-clip: text;
  background-size: 210% 100%;
  transition: background-position-x 0.25s, color 0.25s;
}
#ir-secondary__content-list .ir-content__box-title a:hover{
  color: rgba(0, 0, 0, 0) !important;
  background-position-x: 0%;
}
#ir-secondary__content-list ul{
  padding-inline: .8rem;
}
#ir-secondary__content-list ul li{
  display: block;
}
#ir-secondary__content-list ul li + li{
  margin-top: .8rem;
}
#ir-secondary__content-list ul li a{
  position: relative;
}
#ir-secondary__content-list ul li a::after{
  content: "";
  position: absolute;
  top: 50%;
  right: -15px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #93a7a9; 
  border-right: 2px solid #93a7a9;
  transform: translateY(-50%) rotate(45deg);
  transition: all .3s;
}
#ir-secondary__content-list ul li a:hover::after{
  right: -20px;
}

@media screen and (max-width: 769px) { 
  #ir-secondary__content-list{
    padding-block: 6.25rem; 
  }
  #ir-secondary__content-list .ir-content__box-wrap{
    display: flex;
    flex-flow: column;
  }
}

/* adb_dl_box */
.adb_dl_box{
  background: #eee;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
	margin-top: 3rem;
}
.adb_dl_box img{
  max-width: 158px;
}
.adb_dl_box p{
  font-size: .8125rem;
  line-height: 1.8;
  margin-left: 1rem;
}
@media screen and (max-width: 769px) { 
	.adb_dl_box{
    flex-flow: column;
    justify-content: center;
  }
  .adb_dl_box p{
    margin-top: 1rem;
    margin-left: 0;
  }
}

/*----------------------------------------
IRトップ
----------------------------------------*/
#irtop_news .el_labelLink.small{
  min-width: 13rem;
}
#irtop__content-list{
  padding-block: 9.375rem;
}
#irtop__content-list .ir-content__box-wrap{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-gap: 1.5rem;
}
#irtop__content-list .ir-content__box{
  background: #f0efef;
}
#irtop__content-list .ir-content__box-title{
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  padding: 1.5rem .5rem 0;
}
#irtop__content-list .ir-content__box ul,
#irtop__content-list .ir-content__box p{
	list-style: none;
  line-height: 1.8;
	margin: 0;
	padding: 1.5rem;
}
#irtop__content-list .ir-content__box._library ul{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  grid-gap: 5px 10px;
}
#irtop__content-list .ir-content__box:not(._library) li + li{
  margin-top: 5px;
}
#irtop__content-list .ir-content__box a{
  transition: opacity .2s;
}
#irtop__content-list .ir-content__box a:hover{
  opacity: .7;
}
@media screen and (max-width: 769px){
  #irtop_news .el_labelLink.small{
    min-width: 12rem;
  }
  #irtop__content-list{
    padding-block: 6.25rem; 
  }
  #irtop__content-list .ir-content__box-wrap{
    grid-template-columns: 100%;
  }
}
@media screen and (max-width: 480px){
  #irtop__content-list .ir-content__box._library ul{
    grid-template-columns: 100%;
  }
}

/*----------------------------------------
経営情報
----------------------------------------*/
.message_wrap{
  display: flex;
  flex-flow: row-reverse;
}
.message_wrap h2{
  font-size: 1.875rem;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
  padding: 0 0 1.2em;
  font-family: ryo-display-plusn, serif;
  font-weight: 500;
}
.message_wrap .img_area{
  margin-left: 2rem;
}
.message_wrap .img_area img{
  width: 100%;
  max-width: 250px;
}
.message_wrap .text_area{
  flex: 1 0 0;
}
.message_wrap .img_area p{
  font-size: .8125rem;
	text-align: center;
  line-height: 1.8;
  margin-top: .5rem;
}
.text_area > p{
  line-height: 1.8;
	margin-bottom: 1.5em;
}
.text_area > p:first-of-type{
  margin-top: 0;
}
.message_wrap .sign_wrap{
	text-align: right;
  margin-top: 2rem;
}
.message_wrap .sign_wrap .sign_wrap__date{
	margin-bottom: .5rem;
}
.message_wrap .sign_wrap .sign_wrap__sign span img{
	max-width: 158px;
  vertical-align: middle;
  margin-left: 10px;
}
@media screen and (max-width: 769px){
  .message_wrap{
    display: block;
  }
	.message_wrap .img_area{
		text-align: center;
    margin-left: 0;
    margin-bottom: 2rem;
	}
}

#executive.ir_section__inner{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 6.25rem 3.125rem;
}
#executive.ir_section__inner::after{
  content: "";
  grid-column: 3/4;
  grid-row: 2;
}
#executive.ir_section__inner > .executive__cap-area {
  grid-column: 1 / -1;
}
.executive__section:not(:has(.executive__img)){
  padding-bottom: 1rem;
  border-bottom: 2px solid #2e2218;
}
.executive__section .executive__pn-area {
  display: flex;
  align-items: center;
  gap: 1.5rem;
	margin-top: 1.5rem;
}
.executive__section .executive__pn-area .executive__position{
  font-size: .8125rem;
	color: #93a7a9;
  line-height: 1.5;
}
.executive__section .executive__pn-area .executive__name{
  font-size: 1.125rem;
	font-weight: 600;
}
/*.executive__section .executive__career {
  width: calc((100% - 25%) - 1.5rem);
  box-sizing: border-box;
}
.executive__section .executive__career-list{
  display: grid;
  grid-template-columns: 6em 1fr;
  gap: .5rem .8rem;
  line-height: 1.5;
  margin-block: .5rem;
}
.executive__section .executive__career dt{
	font-weight: 500;
}*/
.executive__cap-area{
  line-height: 1.8;
}
@media screen and (max-width: 769px){
	#executive.ir_section__inner{
		grid-template-columns: 100%;
    gap: 3.125rem;
	}
  #executive.ir_section__inner::after{
    display: none;
  }
}

[id^="governance0"] h2 + p{
  margin-top: 0;
}

/*----------------------------------------
業績・財務情報
----------------------------------------*/
.xj-graph__cap {
  line-height: 1.8;
  margin-top: 3rem;
}
.xj-graph__cap .xj-graph__cap-text{
	margin-bottom: 1.5em;
}
.xj-graph__cap ul{
	padding-left: 1em;
}
.xj-graph__cap li{
	list-style: disc;
}

/*----------------------------------------
その他
----------------------------------------*/
#quote p a,
.faq-wrap dd a,
#notice .text_area a{
  border-bottom: 1px solid #000;
  border-image: linear-gradient(90deg, #93a7a9 50%, #b0aaa8 50%);
  border-image-slice: 1;
  transition: .2s;
}
#quote p a:hover,
.faq-wrap dd a:hover,
#notice .text_area a:hover{
  color: #e57d62;
}

.ir-calendar__img-area{margin-bottom: 3.125rem;}
.ir-calendar__skd p{
  margin-top: 1.5rem;
}

.ir_section #policy{
  counter-reset: number 0; 
}
.ir_section #policy .sub-section__title {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  letter-spacing: 0.1em;
  font-family: ryo-display-plusn, serif;
  font-style: normal;
  font-weight: 500;
}
.ir_section #policy .sub-section__title::before {
  counter-increment: number 1;
  content: counter(number) ". ";
}
.ir_section #policy .sub-section__title::after {
  display: block;
  width: 1.875rem;
  height: 1px;
  margin-top: 1.25rem;
  content: "";
  background-color: #93a7a9;
}
.ir_section #policy .sub-section p:first-of-type{
  margin-top: 0;
}
@media screen and (max-width: 769px) {
  .ir_section #policy .sub-section__title {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
  .ir_section #policy .sub-section__title::after {
    width: 1.5625rem;
    margin-top: 0.9375rem;
  }
}

.faq-wrap dl + dl{
  margin-top: 3.125rem;
}
.faq-wrap dt {
  display: grid;
  grid-template-columns: 1.5em 1fr;
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #93a7a9;
}
.faq-wrap dt::before {
  content: "Q.";
  color: #93a7a9;
}
.faq-wrap dd{
  font-size: 1rem;
  line-height: 1.8;
}

/*----------------------------------------
お問い合わせ
----------------------------------------*/
.inquiry_head{
  line-height: 1.8;
  margin-bottom: 3.125rem;
}
.form-item{
	display: flex;
	margin-bottom: 15px;
}
.form-item dt{
	width: 15em;
	padding: 1rem;
}
.form-item dd{
	width: calc(100% - 15em);
}
.form-item .form-item__input,
.form-item .form-item__textarea{
	width: 100%;
	border: none;
	border-radius: 10px;
	background: #f0efef;
	padding: 1.5rem 1rem;
	box-sizing: border-box;
}
.required{color: #ea112b;}
.form-btn{
	display: block;
	width: 300px;
	max-width: 80%;
	color: #fff;
	background: #2e2218;
	border: none;
	border-radius: 10px;
	padding: 1rem;
	margin: 30px auto;
}
@media screen and (max-width: 769px){
	.form-item{
		display: block;
	}
	.form-item dt,.form-item dd{
		width: 100%;
	}
	.form-item dt{
		padding-left: 0;
	}
}