@charset "utf-8";





.main_box {

  background-color: rgb(230,230,230);

  background-image: url(../images/top/bg.jpg);

  background-size: contain;

  background-position: center top;

  background-repeat: no-repeat;

}



@media screen and (max-width: 767px) {

  #main_box {

    padding-right: 0;

    padding-left: 0;

  }

}





/* title ----------------- */



#title {

}



#title .title_inner {

  position: relative;

  padding-top: calc(506 / 1550 * 100%); /* 586 */

}

#title .title_inner > h2 {

  position: absolute;

  top: calc(260 / 586 * 100%);

  left: calc(((1550 - 1190) / 2 ) / 1550 * 100%);

  width: calc(222 / 1550 * 100%);

  height: calc(98 / 586 * 100%);

  background-image: url(../images/top/title_text.svg);

}

html[lang="en"] #title .title_inner > h2 {

  width: calc(397 / 1550 * 100%);

  height: calc(91 / 586 * 100%);

  background-image: url(../images/top/en_title_text.svg);

}

@media screen and (max-width: 1550px) {

  #title .title_inner > h2 {

    left: calc(50vw - 595px);

  }

}

@media screen and (max-width: 1254px) {

  #title .title_inner > h2 {

    left: calc(32 / 1254 * 100%);

  }

}

@media screen and (max-width:767px) {

  #title .title_inner {

    /* background-color: rgba(255,255,255,0.4); */

  }

  #title .title_inner > h2 {

    width: calc(278 / 750 * 100%);

    height: calc(99 / 284 * 100%);

    top: 40%;

  }

  html[lang="en"] #title .title_inner > h2 {

    width: calc(397 / 750 * 100%);

    height: calc(91 / 284 * 100%);

  }

}





/* ---- box01 ---- */

.box01 {

}



.box01 .navi_box01 {

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

}

.box01 .navi_box01 > li {

  width: calc(389 / 1190 * 100%);

  margin-bottom: 12px;

  position: relative;

  /* top: 100px;

  opacity: 0; */

}

._csstrans .box01 .navi_box01 > li:nth-child(1) {

  transition: top .6s cubic-bezier(.165, .84, .44, 1),

          opacity .6s cubic-bezier(.165, .84, .44, 1);

}

._csstrans .box01 .navi_box01 > li:nth-child(2) {

  transition: top .6s .2s cubic-bezier(.165, .84, .44, 1),

          opacity .6s .2s cubic-bezier(.165, .84, .44, 1);

}

._csstrans .box01 .navi_box01 > li:nth-child(3) {

  transition: top .6s .4s cubic-bezier(.165, .84, .44, 1),

          opacity .6s .4s cubic-bezier(.165, .84, .44, 1);

}

._csstrans .box01 .navi_box01 > li:nth-child(4) {

  transition: top .6s .6s cubic-bezier(.165, .84, .44, 1),

          opacity .6s .6s cubic-bezier(.165, .84, .44, 1);

}

._csstrans .box01 .navi_box01 > li:nth-child(5) {

  transition: top .6s .8s cubic-bezier(.165, .84, .44, 1),

          opacity .6s .8s cubic-bezier(.165, .84, .44, 1);

}

._csstrans .box01 .navi_box01 > li:nth-child(6) {

  transition: top .6s 1s cubic-bezier(.165, .84, .44, 1),

          opacity .6s 1s cubic-bezier(.165, .84, .44, 1);

}

.box01 .navi_box01._start > li {

  top: 0;

  opacity: 1;

}



.box01 .navi_box01 > li > a {

  display: block;

  position: relative;

  width: 100%;

  padding-top: calc(267 / 389 * 100%);

  background-color: rgb(255,255,255);

}

.box01 .navi_box01 > li > a::before {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  background-position: center top;

  background-repeat: no-repeat;

  background-size: cover;

  content: '';

  opacity: 1;

}

._csstrans .box01 .navi_box01 > li > a::before {

  transition: opacity .4s cubic-bezier(.165, .84, .44, 1);

}

.box01 .navi_box01 > li > a:hover::before {

  opacity: .7;

}

.box01 .navi_box01 > li > a > span {

  display: flex;

  align-items: center;

  justify-content: flex-end;

  position: absolute;

  bottom: 0;

  width: 100%;

  height: 50px;

  padding-right: 3.3em;

  background-color: rgba(0,0,0,.5);

  text-align: right;

  color: rgb(255,255,255);

  font-size: 20px;

  line-height: 1.2;

}

._csstrans .box01 .navi_box01 > li > a > span {

  transition: background-color .4s cubic-bezier(.165, .84, .44, 1);

}



.box01 .navi_box01 > li > a:hover > span {

  background-color: rgba(0,0,0,.8);

}



.box01 .navi_box01 > li > a > span::after {

  display: block;

  position: absolute;

  top: 50%;

  right: 1.1em;

  width: 16px;

  height: calc(20 / 50 * 100%);

  background-image: url(../../common/images/arrow_right_w.svg);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: contain;

  transform: translate3d(0, -50%, 0);

  content: '';

}



@media screen and (max-width:1254px) {

  .box01 .navi_box01 > li > a > span {

    height: calc(2.4691vw + 19.037px); /* 50 -> 38 */

    font-size: calc(1.2346vw + 4.5185px); /* 20 -> 14 */

  }

}

@media screen and (max-width:767px) {

  .box01 .navi_box01 {

    flex-wrap: wrap;

    padding: 0 16px;

  }

  .box01 .navi_box01 > li {

    width: 100%;

    margin-bottom: 16px;

  }

  .box01 .navi_box01 > li > a > span {

    height: 50px;

    font-size: 18px;

  }

}



.box01 .navi_box01 .ir_in_01_01 a::before {background-image: url(../images/top/img01_01.jpg?ud=240605);}

.box01 .navi_box01 .ir_in_01_02 a::before {background-image: url(../images/top/img01_02.jpg?ud=250728);}

html[lang="en"] .box01 .navi_box01 .ir_in_01_02 a::before {background-image: url(../images/top/en_img01_02.jpg?ud=250226);}

.box01 .navi_box01 .ir_in_01_03 a::before {background-image: url(../images/top/img01_03_2.jpg);}

.box01 .navi_box01 .ir_in_01_04 a::before {background-image: url(../images/top/img01_04.jpg);}

.box01 .navi_box01 .ir_in_01_05 a::before {background-image: url(../images/top/img01_05.jpg);}

/*.box01 .navi_box01 .ir_in_01_06 a::before {background-image: url(../images/top/img01_06_3.jpg?ud=211216);} オンライン説明会*/

.box01 .navi_box01 .ir_in_01_06 a::before {background-image: url(../images/top/img01_06_4.jpg?ud=231010a);}/*アナリストレポート*/

.box01 .navi_box01 .ir_in_01_06_result a::before {background-image: url(../images/top/img01_06_2_result.jpg?ud=230829);}





/* ---- box02 ---- */

.box02 {

  padding-top: 90px;

  padding-bottom: 80px;

}

.box02 .update_news_box {

  display: flex;

  justify-content: space-between;

}

.box02 .update_news_box > div {

  width: calc(570 / 1190 * 100%);

}



.box02 .ttl_m {

  color: rgb(89,87,87);

}

.box02 .date_list_box .date_list_box_i {

  padding: calc(16 / 570 * 100%) calc(50 / 570 * 100%);

  height: 100%;

}

.box02 .date_list_box .date_list_box_i .update_news > li > a {

  flex-direction: column;

  align-items: flex-start;

  padding: 12px calc((54 / 570 * 100%) + 11px) 12px 0;

}

.box02 .date_list_box .date_list_box_i .update_news > li > a::before {

  left: auto;

  right: calc(30 / 470 * 100%);

}

.box02 .date_list_box .date_list_box_i .update_news > li > a > .date {

  width: 100%;

  padding: 0;

}

.box02 .date_list_box .date_list_box_i .update_news > li > a > .text,

html[lang="en"] .box02 .date_list_box .date_list_box_i .update_news > li > a > .text {

  width: 100%;

  padding: 0;

}

.box02 .date_list_box .date_list_box_i .update_news > li:last-child {

  border-bottom-style: solid;

}



.box02 .update_news_box .s_eirModule_size_item {

  /* display: none; */

}





@media screen and (max-width:767px) {

  .box02 {

    margin-top: 24px;

    padding-top: 0px;

    padding-bottom: 40px;

  }

  .box02 .update_news_box {

    flex-wrap: wrap;

    align-items: flex-start;

  }

  .box02 .update_news_box > div {

    width: 100%;

  }

  .box02 .update_news_box > .update_box {

    margin-top: 30px;

  }

  .box02 .date_list_box .date_list_box_i {

    padding: 10px 20px 20px;

  }

}











/* ---- box03 ---- */

.box03 {

  padding-top: 60px;

  padding-bottom: 100px;

  background-color: rgb(255,255,255);

}



.box03 .title_box {

  display: flex;

  justify-content: center;

}

.box03 .title_box > span {

  display: block;

  position: relative;

  padding-top: 30px;

  padding-left: 100px;

  height: 81px;

  font-size: 30px;

  line-height: 1;

  color: rgb(114,113,113);

  font-weight: 700;

}

.box03 .title_box > span::before {

  display: block;

  position: absolute;

  left: 0;

  top: 0;

  width: 75px;

  height: 86px;

  background-image: url(../images/top/icon_ir.svg);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center center;

  content: '';

}

@media screen and (max-width:767px) {

  .box03 {

    padding-top: 40px;

    padding-bottom: 20px;

  }

  .box03 .title_box > span {

    height: 61px;

    padding-top: 22px;

    padding-left: 75px;

    padding-right: 16px;

    font-size: 20px;

  }

  .box03 .title_box > span::before {

    width: 57px;

    height: 65px;

  }

}





/* ---- navi_box03 ---- */



.navi_box03 {

  display: flex;

  flex-direction: row;

  flex-wrap: wrap;

  justify-content: space-between;

  color: rgb(77,77,77);

}

.navi_box03._col_box {

}



.navi_box03 .navi_row {

  width: calc(380 / 1190 * 100%);

  margin-bottom: calc(25 / 1190 * 100%);

}

.navi_box03 .navi_grp,

.navi_box03 .navi_single {

  border: 1px rgb(163,163,163) solid;

  border-radius: 5px;

}

.navi_box03 .navi_grp {

  padding-bottom: 16px;

}



.navi_box03 .link_others > a {

  border: 1px rgb(51,51,51) solid;

}

.navi_box03 .nav3-09 {

  width: calc(785 / 1190 * 100%);

}

.navi_box03 .nav3-10 {

  margin-bottom: calc(25 / 380 * 100%);

}



.navi_box03 .title_item {

  display: flex;

  align-items: center;

  justify-content: flex-start;

  position: relative;

  width: 100%;

  height: 79px;

  border-radius: 5px;

  padding-left: 79px;

  font-size: 20px;

  font-weight: 700;

  overflow: hidden;

}

.navi_box03 .navi_grp_l .title_item {

  height: 90px;

  padding-left: 130px;

}

.navi_box03 a.title_item:hover {

  text-decoration: underline;

}

.navi_box03 .link_others a.title_item .note {

  text-decoration: none !important;

}

.navi_box03 .title_item::before {

  display: block;

  position: absolute;

  width: 120%;

  height: 100%;

  left: -10%;

  top: 0;

  transform: matrix(1, 0, -0.218, 1, 0, 0);

  background-image: linear-gradient(to right, rgb(224,240,253), rgb(224,240,253) 44px, rgb(227,241,253) 44px, rgb(227,241,253) 66px);

  background-size: 66px 1px;

  background-repeat: repeat;

  content: '';

}

.navi_box03 .link_others .title_item::before {

  display: none;

}

.navi_box03 .title_item::after {

  display: block;

  position: absolute;

  top: 50%;

  left: 39px;

  transform: translate3d(-50%, -50%, 0);

  background-repeat: no-repeat;

  background-position: center center;

  content: '';

}

.navi_box03 .navi_grp_l .title_item::after {

  left: 65px;

}

.navi_box03 .nav3-01 .title_item::after {

  width: 43px;

  height: 53px;

  background-image: url(../images/top/icon_01.svg);

}

.navi_box03 .nav3-02 .title_item::after {

  width: 49px;

  height: 49px;

  background-image: url(../images/top/icon_02.svg);

}

.navi_box03 .nav3-03 .title_item::after {

  width: 33px;

  height: 41px;

  background-image: url(../images/top/icon_03.svg);

}

.navi_box03 .nav3-04 .title_item::after {

  width: 43px;

  height: 43px;

  background-image: url(../images/top/icon_04.svg);

}

.navi_box03 .nav3-05 .title_item::after {

  width: 48px;

  height: 48px;

  background-image: url(../images/top/icon_05.svg);

}

.navi_box03 .nav3-06 .title_item::after {

  width: 50px;

  height: 50px;

  background-image: url(../images/top/icon_06.svg);

}

.navi_box03 .nav3-07 .title_item::after {

  width: 48px;

  height: 35px;

  background-image: url(../images/top/icon_07.svg);

}

.navi_box03 .nav3-08 .title_item::after {

  width: 38px;

  height: 49px;

  background-image: url(../images/top/icon_08.svg);

}

.navi_box03 .nav3-09 .title_item::after {

  width: 89px;

  height: 69px;

  background-image: url(../images/top/icon_09.svg);

}

.navi_box03 .nav3-10 .title_item::after {

  width: 51px;

  height: 51px;

  background-image: url(../images/top/icon_10.svg);

}

.navi_box03 .nav3-11 .title_item::after {

  width: 50px;

  height: 40px;

  background-image: url(../images/top/icon_11.svg);

}



.navi_box03 .link_others .title_item {

  border-radius: 0px;

  line-height: 1.3;

}

.navi_box03 .link_others .title_item .note {

  display: block;

  font-size: 12px;

  font-weight: 400;

}



.navi_box03 .title_item > span {

  display: block;

  position: relative;

  width: 100%;

  line-height: 1.5;

  padding-right: 24px;

}

.navi_box03 a.title_item > span::before {

  display: block;

  position: absolute;

  top: 50%;

  right: calc(30 / 380 * 100%);

  transform: translate3d(0, -50%, 0);

  width: 16px;

  height: 20px;

  background-image: url(/common/images/arrow_right_g.svg);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center center;

  content: '';

}

.navi_box03 .link_others a.title_item > span::before {

  display: none;

}



.navi_box03 .navi_grp > li:first-child {

  margin-bottom: 16px;

}



.navi_box03 .navi_grp > li:not(:first-child) {

  position: relative;

  padding-top: 8px;

  padding-right: calc(30 / 380 * 100%);

  padding-bottom: 8px;

  padding-left: calc(40 / 380 * 100%);

  font-size: 112.5%;

  line-height: 1.5;

  font-weight: 700;

}

.navi_box03 .navi_grp > li:not(:first-child) > a {

  display: block;

  position: relative;

  padding-right: calc((24 / 310 * 100%) + 16px);

}

.navi_box03 .navi_grp > li:not(:first-child) > a:hover {

  text-decoration: underline;

}

.navi_box03 .navi_grp > li:not(:first-child) > a::before {

  display: block;

  position: absolute;

  top: 50%;

  right: 0;

  transform: translate3d(0, -50%, 0);

  width: 16px;

  height: 20px;

  background-image: url(/common/images/arrow_right_lg.svg);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center center;

  content: '';

}



.navi_box03 .navi_grp > li.notice {

  display: block;

  font-size: 12px;

  font-weight: 400;

}

.navi_box03 .navi_grp > li.notice > span {

  display: block;

  padding-left: 1em;

  text-indent: -1em;

}

.navi_box03 .navi_grp > li.text {

  display: block;

  padding-top: 0;

  padding-left: calc(40 / 785 * 100%);

  padding-bottom: 0;

  font-weight: 400;

}





@media screen and (max-width:980px) {

  .navi_box03 .title_item {

    font-size: calc(1.8868vw + 1.5094px); /* 20 -> 16 */

  }

  .navi_box03 .link_others .title_item {

    font-size: calc(2.3585vw - 3.1132px); /* 20 -> 15 */

  }

  .navi_box03 .navi_grp > li:not(:first-child) {

    font-size: calc(0.9434vw + 6.7547px); /* 16 -> 14 */

  }

  .navi_box03 .navi_grp > li:not(:first-child) > a::before {

    height: calc(1.8868vw + 1.5094px); /* 20 -> 16 */

  }

}





@media screen and (max-width:767px) {

  .navi_box03 .navi_row {

    width: calc(175 / 356 * 100%);

    margin-bottom: 8px;

  }

  .navi_box03 .title_item {

    height: 50px;

    padding-left: 48px;

    font-size: 14px;

  }

  .navi_box03 .link_others .title_item {

    font-size: 13px;

  }

  .navi_box03 .title_item::after {

    left: 24px;

    transform: translate3d(-50%, -50%, 0) scale(0.66);

  }

  .navi_box03 a.title_item > span::before {

    right: 3px;

    height: 12px;

  }

  .navi_box03 .title_item > span {

    padding-right: 16px;

  }

  html[lang="ja"] .navi_box03 .nav3-06 .title_item > span {

    font-size: 13px;

  }

  html[lang="ja"] .navi_box03 .nav3-06 .title_item > span,

  html[lang="ja"] .navi_box03 .nav3-07 .title_item > span {

    letter-spacing: -1px;

  }

  .navi_box03 .link_others .title_item > span {

    padding-right: 0;

  }

  .navi_box03 .navi_grp > li:first-child {

    margin-bottom: 6px;

  }

  .navi_box03 .navi_grp > li:not(:first-child) {

    padding-top: 4px;

    padding-right: 6px;

    padding-bottom: 4px;

    padding-left: 12px;

    font-size: 13px;

  }

  .navi_box03 .navi_grp > li:not(:first-child) > a {

    padding-right: 16px;

  }

  .navi_box03 .link_others .title_item .note {

    font-size: 10px;

    line-height: 1;

  }

  .navi_box03 .navi_grp > li.notice > span {

    font-size: 12px

  }

  .navi_box03 .nav3-09 {

    width: 100%;

  }

  .navi_box03 .navi_grp_l .title_item {

    height: 60px;

    padding-left: 96px;

  }

  .navi_box03 .navi_grp_l .title_item::after {

    left: 48px;

  }

  .navi_box03 .navi_row.navi_row_bottom {

    width: 100%;

    display: flex;

    justify-content: space-between;

  }

  .navi_box03 .navi_row.navi_row_bottom > .link_others {

    width: calc(175 / 356 * 100%);

  }

  .navi_box03 .nav3-11 .title_item > span {

    font-size: 13px;

    line-height: 1.2;

  }

  

  .navi_box03 .link_others .title_item::after {

    left: 20px;

  }

  .navi_box03 .link_others .title_item {

    padding-left: 40px;

  }

  .navi_box03 .nav3-02 .title_item::after {

    width: 40px;

    height: 40px;

  }

  .navi_box03 .nav3-10 .title_item::after {

    width: 40px;

    height: 40px;

  }

  .navi_box03 .nav3-11 .title_item::after {

    width: 40px;

    height: 32px;

  }

}







.box04 {

  padding-top: 15px;

  padding-bottom: 90px;

  background-color: rgb(255,255,255);

}

.box04 .ir_ranking_box {

  border-top: 1px rgb(205,205,205) dotted;

  border-bottom: 1px rgb(205,205,205) dotted;

  padding-top: 32px;

  padding-bottom: 28px;

}





@media screen and (max-width:767px) {

.box04 {

  padding-top: 8px;

  padding-bottom: 40px;

}

.box04 .ir_ranking_box {

  border-top: 1px rgb(205,205,205) dotted;

  border-bottom: 1px rgb(205,205,205) dotted;

  padding-top: 16px;

  padding-bottom: 14px;

}

}

























