@charset "utf-8";
/* ------------------------------------
	message
------------------------------------ */
/* cont_header visual large */
.cont_header.visual.large {
	height: 450px;
}
.cont_header.visual.large::after {
	background: none;
}
.cont_header.visual.large .wrap::after {
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background: #e2e2e2 url(../img/message/topmessage_pc.jpg) right top 10% / cover no-repeat;
    z-index: -1;
}
.cont_header.visual.large h1{
  margin-bottom: 30px;
}
.cont_header.visual h1 small {
	display: block;
	font-size: 2.5rem;
	padding: 0.5em 0 0.2em;
}

/* contents */
.message_text p{
	margin-bottom: 1.5em;
}
.message_name{
	text-align: right;
	margin-bottom: 60px;
}

/* table */
.table_wrap {
	margin: 0 0 3em;
}
.column_title {
	display: flex;
	justify-content: space-between;
	font-weight: bold;
}
.column_title p span ,.column_title span {
	font-weight: normal;
}
.table_wrap > p {
	font-weight: bold;
	margin: 0;
}
.table_wrap > .column_title > p {
	margin: 0;
}

/* table common */
table.five_column{
	width: 100%;
}
table.five_column tr {
	border-bottom: 1px solid #8C9BA5;
}
table.five_column :is(th,td):not(:last-of-type){
	border-right: 1px solid #333;
}
table.five_column tr td{
	width: 18.75%;
	font-size: 2.3rem;
	vertical-align: middle;
	color: #002D78;
	font-weight: bold;
	text-align: right;
	padding: 0 2rem;
}
table.five_column tr td:nth-last-child(-n+2){
	color: #8C9BA5;
}
table.five_column tr td:nth-child(5n) {
	color: #8C9BA5;
}
table.five_column tr td span {
	font-size: 1.6rem;
}

/* thead */
table.five_column thead{
	background: #E8F0F5;
	border-top: 2px solid #333;
	border-bottom: 2px solid #333;
}
table.five_column thead tr {
	border-bottom: 1px solid #333;
}
table.five_column thead tr th {
	width: 18.75%;
	text-align: center;
	vertical-align: middle;
	font-weight: bold;
	font-size: 1.6rem;
	color: #333;
	padding: 0 0 6px 0;
}
table.five_column thead th:nth-of-type(3){
	color: #fff;
	background: #293D84;
}
table.five_column thead th:nth-child(5n) {
	color: #333;
}

/* tbody */
table.five_column tbody tr th {
	border-right: 1px solid #333;
	width: 25%;
	padding: 0.8em 1.2em;
	background-color: #DAEDFA;
	font-weight: bold;
	line-height: 1.4;
	vertical-align: middle;
}
table.five_column tbody td:first-of-type{
	color: #333;
	font-size: 2rem;
	font-weight: 400;
}

/* list */
.table_cap ul li{
	font-weight: 400;
}

/* btn */
.message .btn_area a{
	border-width: 1px;
	width: 47.5%;
}

/* 配当金 */
.haitou_hanrei span{
  margin-right: 1em;
}
.haitou_hanrei span::before {
  content: "";
  width: .75em;
  height: .75em;
  display: inline-block;
  background: #ddd;
  margin-right: .25em;
}
.haitou_hanrei span:first-child::before {
  background: #85C5EE;
}
.haitou_hanrei span:nth-child(2)::before {
  background: #002D78;
}

/* 株主還元 */
.kabukangen_warp {
  display: grid;
  grid-template-columns: auto auto 30px auto;
  gap: 18px;
  margin-top: 10px;
}
.kabukangen_title{
  font-weight: 700;
}
.kabukangen_table,.soukangen_table {
  width: 100%;
}
.kabukangen_item table th, .kabukangen_item table td {
  border-top: 1px solid #8C9BA5;
  border-bottom: 1px solid #8C9BA5;
}
.kabukangen_item table th:not(:first-child), .kabukangen_item table td:not(:first-child) {
  border-left: 1px solid #8C9BA5;
}
.kabukangen_table th {
  background: #DAEDFA;
  text-align: center;
  font-weight: 700;
  padding: 8px 14px;
}
.kabukangen_table td {
  font-size: 20px;
  text-align: right;
  vertical-align: middle;
  padding: 0 20px;
}
.kabukangen_soukangen {
  align-self: end;
}
.soukangen_table th {
  background: #002D78;
  color: #fff;
  text-align: center;
  font-weight: 700;
  padding: 8px;
}
.soukangen_table td {
  color: #002D78;
  font-size: 23px;
  font-weight: 700;
  text-align: center;
  padding: 2px 10px 1px;
}
.kabukangen_arrow {
  width: 30px;
  align-self: center;
  padding-top: 2em;
}
/* 830px */
@media only screen and (max-width: 830px) {
	table.five_column tr td {
		line-height: 1.2;
	}
}

/* 810px */
@media only screen and (max-width: 810px) {
	.cont_header.visual.large {
		height: auto;
	}
}

/* 768px */
@media only screen and (max-width: 768px) {
	.cont_header.visual.large {
		background: rgba(133, 197, 238, 0.1);
	}
	.cont_header.visual.large .wrap {
		display: flex;
		flex-direction: column;
	}
	.cont_header.visual.large .wrap::after {
		content: '';
		display: block;
		position: inherit;
		background: #e2e2e2 url(../img/message/topmessage_sp.jpg) top center no-repeat;
		background-size: cover;
		width: 100vw;
		height: 59vw;
		margin-left: -4vw;
		order: -1;
	}
	.cont_header.visual.large .wrap {
		padding: 20px 0 25px;
	}
	.cont_header.visual.large h1 {
		text-align: left;
		order: -2;
		margin: 0 0 35px;
	}
	.cont_header.visual h1 small {
		font-size: 1.6rem;
	}
	.cont_header.visual.large p {
		padding: 20px 0 0;
		text-align: left;
	}
	.table_wrap > p {
		font-weight: bold;
		margin: 0;
	}
	.table_wrap > p.mb40 {
		margin: 0 0 20px;
	}
	table.five_column tbody tr th {
		padding: 0.8em 0.4em;
	}
	table.five_column tr td{
		padding: 0 .5rem;
	}
	table.five_column tr,
	table.five_column tr td {
		font-size: 1.4rem;
		line-height: 1.2;
	}
	table.five_column tr td span {
		font-size: 1rem;
	}
	table.five_column thead tr th {
		font-size: 1.4rem;
		padding: 0.5em 0 1em;
	}
	table.five_column tbody td:first-of-type{
		font-size: 1.4rem;
	}
	.message .btn_area a{
		width: calc(100% - 20px);
	}
  /* 株主還元 */
.kabukangen_warp {
  grid-template-columns: auto;
}
.kabukangen_arrow {
  margin: 0 auto;
  padding-top: 0;
}
  .kabukangen_arrow img {
  transform: rotate(90deg);
}
}
/* ------------------------------------
	message end
------------------------------------ */


/* ------------------------------------
	topics
------------------------------------ */
/* topics_head */
.topics_head{
	margin-bottom: 100px;
}
.topics_head__content_list{
	font-size: 2rem;
	font-weight: 600;
	color: #293D84;
}
.topics_head__content_list ul{
	counter-reset: number 0;
	margin-bottom: 60px;
}
.topics_head__content_list ul li{
	border-bottom: 1px solid #707070;
}
.topics_head__content_list ul li:first-of-type{
	border-top: 1px solid #707070;
}
.topics_head__content_list ul li a{
	position: relative;
	display: block;
	font-size: 1.8rem;
	line-height: 1.7;
	color: #333;
	padding: 20px 79px 20px 30px;
	background: url("../img/icon_bk_arrow_b.png") no-repeat center right 30px / 19px;
	transition: background-color 0.2s ease-out;
}
.topics_head__content_list ul li a::before{
	counter-increment: number 1;
	content: counter(number, decimal-leading-zero);
	font-size: 2.3rem;
	margin-right: 30px;
	color: #FF0404;
}
.topics_head__content_list ul li a:hover{
	text-decoration: none;
	background-color: rgba(255,4,4,.08);
}

/* topics_content */
.topics_content__head{
	background: rgba(133, 197, 238,.1);
	margin-bottom: 30px;
}
.topics_content__head_title{
	padding: 30px 35px 25px;
	display: flex;
	align-items: center;
}
.topics_content__head_title .number{
	font-size: 5.8rem;
	font-weight: 600;
	color: #FF0404;
	line-height: 1;
	margin-bottom: 0;
}
.topics_content__head_title h1 {
	font-size: 2rem;
	font-weight: 600;
	color: #333;
	line-height: 1.28;
	margin: 0 0 0 57px !important;
}

/* other */
.topics3_small{
	font-size: 1.2rem
}
.mb0{
	margin-bottom: 0 !important;
}
.mb10{
	margin-bottom: 10px !important;
}

/* 768px */
@media only screen and (max-width: 768px) {
	.topics_head__content_list{
		line-height: 1.4;
	}
	.topics_head__content_list ul li a{
		padding: 20px 59px 20px 20px;
		background: url("../img/icon_bk_arrow_b.png") no-repeat center right 20px / 19px 19px;
	}
	.topics_head__content_list ul li a::before{
		margin-right: 20px;
	}
	.topics_content__head{
		grid-template-columns: 1fr;
		grid-template-rows: repeat(2,1fr);
	}
	.topics_content__head_title{
		padding: 30px;
	}
	.topics_content__head_title .number{
		font-size: 4.06rem;
	}
	.topics_content__head_title h1{
		margin-left: 28px !important;
	}
}
/* ------------------------------------
	topics end
------------------------------------ */


/* ------------------------------------
	feature
------------------------------------ */
/* cont_header h1 */
.c_white{
	color: #fff;
}

/* detail */
.feature .topics_content__detail {
	border-bottom: none;
	margin-bottom: 0;
}

/* ※list */
.feature .ul_attn {
	margin: 25px 0 0;
	line-height: 1.28;
	font-size: 1.4rem;
}
.feature .ul_attn li {
	margin-top: 6px;
}

/* table */
.feature_table {
	width: 100%;
	margin-top: 50px;
	border-bottom: 1px solid #333;
}
.feature_table th,
.feature_table td {
	padding: 20px 10px;
	line-height: 1.2;
	vertical-align: middle;
}
.feature_table tr:first-child th:not(:first-child) {
	background: #E8F0F5;
	text-align: center;
	font-weight: 600;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	border-bottom: 1px solid #333;
	width: 19%;
}
.feature_table tr th:first-child {
	background: rgba(113,197,238,.3);
	font-weight: 600;
	border-top: 1px solid #8C9BA5;
}
.feature_table tr:first-child th:first-child {
	background: transparent;
	font-weight: 600;
	padding: 0;
	border-top: none;
	border-bottom: 1px solid #333;
	vertical-align: top;
	width: 43%;
}
.feature_table tr td {
	text-align: center;
	color: #293D84;
	font-weight: 600;
	border-left: 1px solid #333;
	border-top: 1px solid #8C9BA5;
}
.feature_table tr td strong {
	font-size: 2.3rem;
}
/* ------------------------------------
	feature end
------------------------------------ */


/* ------------------------------------
	座談会
------------------------------------ */
.member {
  background: #E8F0F5;
  padding: 90px 0;
  margin-bottom: 60px;
}
.member__item {
  display: flex;
  margin-bottom: 30px;
}
.member__img {
  flex-basis: 154px;
  margin-right: 27px;
}
.member__txt {
  flex: 1 0 0%;
}
.member__txt p {
  margin: 0 0 3px;
}
.member__label {
  background: #293D84;
  color: #fff;
  padding: 1px .5em;
  display: inline-block;
  margin-right: 1em;
  line-height: 1.8;
}
.member__position {
  font-weight: 600;
}
.member__name {
  font-size: 2.0rem;
  font-weight: 600;
}
.discussion h2 {
  background: #293D84;
  font-size: 2.0rem;
  font-weight: 600;
  color: #fff;
  padding: 4px 10px;
}
.discussion__item {
  display: flex;
  margin-bottom: 35px;
}
.discussion__name {
  flex-basis: 66px;
  font-weight: 600;
}
.discussion__name--01 {
  color: #293D84;
}
.discussion__name--02 {
  color: #85C5EE;
}
.discussion__text {
  flex: 1 0 0%;
}
.discussion__img {
  flex-basis: calc(50% - 12px);
  padding-left: 24px;
}
@media only screen and (max-width: 768px) {
  .member__item {
    flex-wrap: wrap;
  }
  .member__img {
    margin: 0 auto 20px;
  }
  .member__txt {
    flex-basis: 100%;
  }
  .discussion__item {
    flex-wrap: wrap;
  }
  .discussion__img {
    flex-basis: 100%;
    padding: 20px 0 0;
  }
}
  
/* ------------------------------------
	座談会 end
------------------------------------ */


/* ------------------------------------
	reco
------------------------------------ */
.reco .cont_header .wrap {
    padding: 32px 0;
}
.reco .cont_header h1 {
	text-align: left;
}
.reco h2 {
    font-size: 2rem;
    margin: 0 0 14px;
}
.reco h3 {
    font-size: 1.6rem;
    margin: 0 0 14px;
	padding: 0;
}
.reco p {
	margin: 0 0 24px;
}

/* border */
.border_b {
	position: relative;
	margin: 0 0 75px;
	padding: 0 0 75px;
}
.border_b::after {
	content: '';
	position: absolute;
	width: 200px;
	height: 1px;
	background-color: #8C9BA5;
	bottom: 1px;
	left: 50%;
	transform: translateX(-50%);
}

/* ※list */
.reco .ul_attn li {
	line-height: 2.8rem;
    font-size: 1.4rem;
}
.reco #global_footer p.copy {
	margin: 0;
}

/* 768px */
@media only screen and (max-width: 768px) {
	.reco .border_b {
		margin: 0 0 40px;
		padding: 0 0 44px;
	}
	.reco .ul_attn li {
		line-height: 2.4rem;
	}
}
/* ------------------------------------
	reco end
------------------------------------ */


/* ------------------------------------
	Print
------------------------------------ */
@media print{
	.cont_header.visual.large {
		height: 450px;
		background: rgba(133, 197, 238, 0.1);
	}
	.cont_header.visual.large .wrap {
		height: auto;
		display: flex;
		flex-direction: column;
		padding: 20px 0 25px;
	}
	.cont_header.visual.large .wrap::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #e2e2e2 url(../img/message/topmessage_pc.jpg) right top 10% / cover no-repeat;
		z-index: -1;
		margin-left: 0;
	}
	.cont_header.visual.large h1 {
		text-align: left;
		margin: 0 0 35px;
	}
	.cont_header.visual.large p {
		padding: 20px 0 0;
		text-align: left;
	}
}
/* ------------------------------------
	Print end
------------------------------------ */