@charset "UTF-8";
/*
$4ewsColor: 
    /*col01: #238561,
  col02: #67a2b7,
  col03: #d2843e,
  col04: #cf775b,
  col05: #cf9942,
  col06: #926c28,
  col07: #cc7175,
  col08: #608ea1,
  col09: #5b609a,
  col10: #487390,
  col11: #4e9386,
  col12: #79a153,
  col13: #817499
);
*/
#header_nav > li#li_ir > a {
  color: #0068b2 !important;
}

#header_nav > li#li_ir::before {
  width: 100% !important;
}

@media screen and (min-width: 769px) {
  main {
    padding-bottom: 7rem;
  }
}
@media screen and (max-width: 768px) {
  main {
    padding-bottom: 8rem;
  }
}

section .inner {
  position: relative;
}
@media screen and (min-width: 769px) {
  section .inner {
    width: 100%;
    max-width: 120rem;
    margin: 0 auto;
    padding-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  section .inner {
    max-width: 67rem;
    margin: 0 auto;
    padding-top: 8rem;
  }
}

/*nav*/
#ir_nav_sec {
  position: relative;
  width: 100%;
}
#ir_contact_sec {
  position: relative;
  width: 100%;
}
#ir_local_nav {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  #ir_local_nav {
    gap: 4rem 0;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav {
    gap: 5rem 0;
  }
}

#ir_local_nav dl {
  position: relative;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl {
    width: 32rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl {
    width: 100%;
  }
}

#ir_local_nav dl dt a {
  position: relative;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #333333;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl dt a {
    line-height: 1em;
    font-size: 2rem;
    letter-spacing: 0.05em;
    height: 5rem;
    padding-left: 7.5rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl dt a {
    line-height: 1em;
    font-size: 4rem;
    letter-spacing: 0.05em;
    height: 11rem;
    padding-left: 15rem;
  }
}

@media screen and (max-width: 768px) {
  #ir_local_nav dl .js-naviAccordion a {
    pointer-events: none;
  }
}

#ir_local_nav dl dt a .arrow {
  position: relative;
  display: block;
  background: rgb(16, 59, 110);
  background: -webkit-gradient(linear, left top, right top, from(rgb(16, 59, 110)), to(rgb(1, 132, 210)));
  background: linear-gradient(90deg, rgb(16, 59, 110) 0%, rgb(1, 132, 210) 100%);
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl dt a .arrow {
    width: 3rem;
    height: 3rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl dt a .arrow {
    width: 4.5rem;
    height: 4.5rem;
  }
}

#ir_local_nav dl dt a .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl dt a .arrow::before {
    background: url(../../common/img/icon_arrow_w.svg) center center no-repeat;
    background-size: 0.64rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl dt a .arrow::before {
    background: url(../../common/img/icon_arrow_w.svg) center center no-repeat;
    background-size: 0.96rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}

@media screen and (max-width: 768px) {
  #ir_local_nav dl .js-naviAccordion a .arrow::before {
    background: url(../img/icon_nav.svg) center center no-repeat;
    background-size: contain;
    -webkit-transform: none;
            transform: none;
  }
}

@media screen and (max-width: 768px) {
  #ir_local_nav dl .js-naviAccordion a .arrow::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: ease-out 0.2s all;
    transition: ease-out 0.2s all;
    background: url(../img/icon_nav.svg) center center no-repeat;
    background-size: contain;
    -webkit-transform: rotateZ(90deg);
            transform: rotateZ(90deg);
  }
}

@media screen and (max-width: 768px) {
  #ir_local_nav dl.active .js-naviAccordion a .arrow::after {
    display: none;
  }
}

#ir_local_nav dl dt a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}

#ir_local_nav dl dt a::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  background: #0068b2;
  width: 100%;
  height: 1px;
  z-index: 1;
}

#ir_local_nav dl#ir_category_1 dt a::before {
  background: url("../img/icon_1.svg") center bottom no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl#ir_category_1 dt a::before {
    width: 6rem;
    height: 4.8rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl#ir_category_1 dt a::before {
    width: 12rem;
    height: 9.6rem;
  }
}

#ir_local_nav dl#ir_category_2 dt a::before {
  background: url("../img/icon_2.svg") center bottom no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl#ir_category_2 dt a::before {
    width: 5.2rem;
    height: 4.6rem;
    -webkit-transform: translateY(0.3rem);
            transform: translateY(0.3rem);
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl#ir_category_2 dt a::before {
    width: 10.4rem;
    height: 9.2rem;
    -webkit-transform: translateY(0.6rem);
            transform: translateY(0.6rem);
  }
}

@media screen and (min-width: 769px) {
  #ir_local_nav dl#ir_category_2 dt a::after {
    width: 28rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl#ir_category_2 dt a::after {
    width: 60rem;
  }
}

#ir_local_nav dl#ir_category_3 dt a::before {
  background: url("../img/icon_3.svg") center bottom no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl#ir_category_3 dt a::before {
    width: 6rem;
    height: 5.4rem;
    -webkit-transform: translateY(0.2rem);
            transform: translateY(0.2rem);
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl#ir_category_3 dt a::before {
    width: 12rem;
    height: 10.8rem;
    -webkit-transform: translateY(0.4rem);
            transform: translateY(0.4rem);
  }
}

#ir_local_nav dl#ir_category_4 dt a::before {
  background: url("../img/icon_4.svg") center bottom no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl#ir_category_4 dt a::before {
    width: 5.2rem;
    height: 5.4rem;
    -webkit-transform: translateY(0.1rem);
            transform: translateY(0.1rem);
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl#ir_category_4 dt a::before {
    width: 10.4rem;
    height: 10.8rem;
    -webkit-transform: translateY(0.2rem);
            transform: translateY(0.2rem);
  }
}

@media screen and (min-width: 769px) {
  #ir_local_nav dl#ir_category_4 dt a::after {
    width: 31rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl#ir_category_4 dt a::after {
    width: 64.5rem;
  }
}

#ir_local_nav dl#ir_category_5 dt a::before {
  background: url("../img/icon_5.svg") center bottom no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl#ir_category_5 dt a::before {
    width: 5.4rem;
    height: 5.4rem;
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem);
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl#ir_category_5 dt a::before {
    width: 10.8rem;
    height: 10.8rem;
    -webkit-transform: translateY(2rem);
            transform: translateY(2rem);
  }
}

@media screen and (min-width: 769px) {
  #ir_local_nav dl#ir_category_5 dt a::after {
    width: 28rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl#ir_category_5 dt a::after {
    width: 56.8rem;
  }
}

#ir_local_nav dl#ir_category_6 dt a::before {
  background: url("../img/icon_6.svg") center bottom no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl#ir_category_6 dt a::before {
    width: 4.9rem;
    height: 4.9rem;
    -webkit-transform: translateY(0.4rem);
            transform: translateY(0.4rem);
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl#ir_category_6 dt a::before {
    width: 9.8rem;
    height: 9.8rem;
    -webkit-transform: translateY(0.8rem);
            transform: translateY(0.8rem);
  }
}

@media screen and (min-width: 769px) {
  #ir_local_nav dl#ir_category_6 dt a::after {
    width: 27.6rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl#ir_category_6 dt a::after {
    width: 58rem;
  }
}

#ir_local_nav dl dd {
  position: relative;
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl .js-naviAccordion + dd {
    display: none;
  }
}

#ir_local_nav dl dd > p {
  position: relative;
  display: block;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
  font-weight: 400;
  color: #333333;
  white-space: nowrap;
  border-top: #d0d0d0 1px solid;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl dd > p {
    margin-top: 5rem;
    padding-top: 2rem;
    line-height: 1em;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl dd > p {
    margin-top: 8rem;
    padding-top: 4rem;
    line-height: 1em;
    font-size: 3.2rem;
    letter-spacing: 0.05em;
  }
}

#ir_local_nav dl dd > p.report_ttl {
  font-weight: 500;
}

@media screen and (min-width: 769px) {
  #ir_local_nav dl dd a.first {
    display: none !important;
  }
}

#ir_local_nav dl dd a,
#ir_btm_nav a {
  position: relative;
  display: block;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
  font-weight: 400;
  color: #333333;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl dd a,
  #ir_btm_nav a {
    margin-top: 2.5rem;
    line-height: 1em;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    height: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl dd a,
  #ir_btm_nav a {
    margin-top: 5rem;
    line-height: 1em;
    font-size: 3.2rem;
    letter-spacing: 0.05em;
    height: 3.2rem;
  }
}

#ir_local_nav dl dd a .arrow,
#ir_btm_nav a .arrow {
  position: absolute;
  display: block;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl dd a .arrow,
  #ir_btm_nav a .arrow {
    right: 0;
    top: 0.1rem;
    width: 1rem;
    height: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl dd a .arrow,
  #ir_btm_nav a .arrow {
    right: 1rem;
    top: 0.1rem;
    width: 2rem;
    height: 3rem;
  }
}

#ir_local_nav dl dd a .arrow::before,
#ir_btm_nav a .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl dd a .arrow::before,
  #ir_btm_nav a .arrow::before {
    background: url(../../common/img/icon_arrow_gr.svg) center center no-repeat;
    background-size: 0.64rem auto;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl dd a .arrow::before,
  #ir_btm_nav a .arrow::before {
    background: url(../../common/img/icon_arrow_gr.svg) center center no-repeat;
    background-size: 1.28rem auto;
  }
}

#ir_local_nav dl dd a .window {
  position: absolute;
  display: block;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl dd a .window {
    right: 0;
    top: 0.2rem;
    width: 0.96rem;
    height: 0.96rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl dd a .window {
    right: 1rem;
    top: 0.4rem;
    width: 2.134rem;
    height: 2.134rem;
  }
}

#ir_local_nav dl dd a .window::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  #ir_local_nav dl dd a .window::before {
    background: url(../../common/img/icon_window_b.svg) center center no-repeat;
    background-size: 100% auto;
  }
}
@media screen and (max-width: 768px) {
  #ir_local_nav dl dd a .window::before {
    background: url(../../common/img/icon_window_b.svg) left center no-repeat;
    background-size: 90% auto;
  }
}

#ir_local_nav dl dd a p,
#ir_btm_nav a p {
  position: relative;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
}

@media screen and (min-width: 769px) {
  #ir_local_nav dl a p:hover,
  #ir_btm_nav a p:hover {
    color: #0068b2;
  }
}
.ir_category_1 #ir_category_1 dt a p,
.ir_category_1:not([class*=ir_page_1]) #ir_category_1 dd #ir_page_1_0 p,
.ir_category_2 #ir_category_2 dt a p,
.ir_category_2:not([class*=ir_page_2]) #ir_category_2 dd #ir_page_2_0 p,
.ir_category_3 #ir_category_3 dt a p,
.ir_category_3:not([class*=ir_page_3]) #ir_category_3 dd #ir_page_3_0 p,
.ir_category_4 #ir_category_4 dt a p,
.ir_category_4:not([class*=ir_page_4]) #ir_category_4 dd #ir_page_4_0 p,
.ir_category_5 #ir_category_5 dt a p,
.ir_category_5:not([class*=ir_page_5]) #ir_category_5 dd #ir_page_5_0 p,
.ir_category_6 #ir_category_6 dt a p .ir_category_6:not([class*=ir_page_6]) #ir_category_6 dd #ir_page_6_0 p {
  color: #0068b2 !important;
}

.ir_page_1_1 #ir_page_1_1 p,
.ir_page_1_2 #ir_page_1_2 p,
.ir_page_1_3 #ir_page_1_3 p,
.ir_page_1_4 #ir_page_1_4 p,
.ir_page_1_5 #ir_page_1_5 p,
.ir_page_2_1 #ir_page_2_1 p,
.ir_page_2_2 #ir_page_2_2 p,
.ir_page_2_3 #ir_page_2_3 p,
.ir_page_2_4 #ir_page_2_4 p,
.ir_page_2_5 #ir_page_2_5 p,
.ir_page_2_6 #ir_page_2_6 p,
.ir_page_3_1 #ir_page_3_1 p,
.ir_page_3_2 #ir_page_3_2 p,
.ir_page_3_3 #ir_page_3_3 p,
.ir_page_3_4 #ir_page_3_4 p,
.ir_page_3_5 #ir_page_3_5 p,
.ir_page_3_6 #ir_page_3_6 p,
.ir_page_3_7 #ir_page_3_7 p,
.ir_page_3_8 #ir_page_3_8 p,
.ir_page_3_9 #ir_page_3_9 p,
.ir_page_4_1 #ir_page_4_1 p,
.ir_page_4_2 #ir_page_4_2 p,
.ir_page_4_3 #ir_page_4_3 p,
.ir_page_4_4 #ir_page_4_4 p,
.ir_page_4_5 #ir_page_4_5 p,
.ir_page_4_6 #ir_page_4_6 p,
.ir_page_5_1 #ir_page_5_1 p,
.ir_page_5_2 #ir_page_5_2 p,
.ir_page_5_3 #ir_page_5_3 p,
.ir_page_5_4 #ir_page_5_4 p,
.ir_page_6_1 #ir_page_6_1 p,
.ir_page_6_2 #ir_page_6_2 p,
.ir_page_7_1 #ir_page_7_1 p,
.ir_page_7_2 #ir_page_7_2 p,
.ir_page_7_3 #ir_page_7_3 p,
.ir_page_7_4 #ir_page_7_4 p,
.ir_page_7_5 #ir_page_7_5 p,
.ir_page_7_6 #ir_page_7_6 p {
  color: #0068b2 !important;
}

#ir_btm_nav {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 769px) {
  #ir_btm_nav {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5.5rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_btm_nav {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4rem 7rem;
    margin-top: 8rem;
  }
}

#ir_btm_nav a,
#ir_btm_nav a p {
  margin-top: 0 !important;
}

@media screen and (min-width: 769px) {
  #ir_btm_nav a p {
    padding-right: 3rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_btm_nav a p {
    padding-right: 4.5rem;
  }
}

/**/
#ir_sustainability,
#ir_shareholder_benefits {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: hidden;
  -webkit-transition: ease-in-out 0.6s all;
  transition: ease-in-out 0.6s all;
}
@media screen and (min-width: 769px) {
  #ir_sustainability,
  #ir_shareholder_benefits {
    width: 98rem;
    height: 16rem;
    border-radius: 0.6rem;
    margin: 5rem auto 0;
  }
}
@media screen and (max-width: 768px) {
  #ir_sustainability,
  #ir_shareholder_benefits {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 67rem;
    border-radius: 0.6rem;
    margin: 8rem auto 0;
  }
}

#ir_sustainability figure,
#ir_shareholder_benefits figure {
  position: relative;
  display: block;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  #ir_sustainability figure,
  #ir_shareholder_benefits figure {
    width: 49rem;
    height: 16rem;
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  #ir_sustainability figure,
  #ir_shareholder_benefits figure {
    width: 67rem;
    height: 22rem;
    margin: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

#ir_sustainability figure img,
#ir_shareholder_benefits figure img {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: ease-in-out 0.6s all;
  transition: ease-in-out 0.6s all;
}

@media screen and (min-width: 769px) {
  #ir_sustainability:hover figure img,
  #ir_shareholder_benefits:hover figure img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

#ir_sustainability div,
#ir_shareholder_benefits div {
  position: relative;
  overflow: hidden;
  color: #333333;
  -webkit-transition: ease-in-out 0.6s all;
  transition: ease-in-out 0.6s all;
}
@media screen and (min-width: 769px) {
  #ir_sustainability div,
  #ir_shareholder_benefits div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 0 0.6rem 0.6rem 0;
    border: #e2e2e2 0.2rem solid;
    border-left: none !important;
    width: 49rem;
    height: 16rem;
    padding: 0 0 0 4rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_sustainability div,
  #ir_shareholder_benefits div {
    border-radius: 0.6rem 0.6rem 0 0;
    border: #e2e2e2 0.4rem solid;
    border-bottom: none !important;
    width: 67rem;
    padding: 5rem 4rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

@media screen and (min-width: 769px) {
  #ir_sustainability:hover div,
  #ir_shareholder_benefits:hover div {
    border: #0068b2 0.2rem solid;
    color: #0068b2;
  }
}

#ir_sustainability div .ttl,
#ir_shareholder_benefits div .ttl {
  position: relative;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  #ir_sustainability div .ttl,
  #ir_shareholder_benefits div .ttl {
    line-height: 1em;
    font-size: 2rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #ir_sustainability div .ttl,
  #ir_shareholder_benefits div .ttl {
    display: inline-block;
    line-height: 1em;
    font-size: 3.6rem;
    letter-spacing: 0.05em;
    padding-right: 6rem;
  }
}

#ir_sustainability div .txt,
#ir_shareholder_benefits div .txt {
  position: relative;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  #ir_sustainability div .txt,
  #ir_shareholder_benefits div .txt {
    line-height: 1.5em;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_sustainability div .txt,
  #ir_shareholder_benefits div .txt {
    line-height: 1.5em;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    padding-top: 2rem;
  }
}

#ir_shareholder_benefits .arrow {
  position: absolute;
  display: block;
  background: rgb(16, 59, 110);
  background: -webkit-gradient(linear, left top, right top, from(rgb(16, 59, 110)), to(rgb(1, 132, 210)));
  background: linear-gradient(90deg, rgb(16, 59, 110) 0%, rgb(1, 132, 210) 100%);
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  #ir_shareholder_benefits .arrow {
    top: 50%;
    -webkit-transform: translateY(-1.5rem);
            transform: translateY(-1.5rem);
    right: 3rem;
    width: 3rem;
    height: 3rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_shareholder_benefits .arrow {
    right: 0;
    bottom: 0;
    width: 4.5rem;
    height: 4.5rem;
    -webkit-transform: translateY(0.3rem);
            transform: translateY(0.3rem);
  }
}

#ir_shareholder_benefits .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  #ir_shareholder_benefits .arrow::before {
    background: url(../../common/img/icon_arrow_w.svg) center center no-repeat;
    background-size: 0.8rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}
@media screen and (max-width: 768px) {
  #ir_shareholder_benefits .arrow::before {
    background: url(../../common/img/icon_arrow_w.svg) center center no-repeat;
    background-size: 1.2rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}

#ir_sustainability .window {
  position: absolute;
  display: block;
  background: rgb(16, 59, 110);
  background: -webkit-gradient(linear, left top, right top, from(rgb(16, 59, 110)), to(rgb(1, 132, 210)));
  background: linear-gradient(90deg, rgb(16, 59, 110) 0%, rgb(1, 132, 210) 100%);
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  #ir_sustainability .window {
    top: 50%;
    -webkit-transform: translateY(-1.5rem);
            transform: translateY(-1.5rem);
    right: 3rem;
    width: 3rem;
    height: 3rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_sustainability .window {
    right: 0;
    bottom: 0;
    width: 4.5rem;
    height: 4.5rem;
    -webkit-transform: translateY(0.3rem);
            transform: translateY(0.3rem);
  }
}

#ir_sustainability .window::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  #ir_sustainability .window::before {
    background: url(../../common/img/icon_window_w.svg) center center no-repeat;
    background-size: 0.8rem auto;
  }
}
@media screen and (max-width: 768px) {
  #ir_sustainability .window::before {
    background: url(../../common/img/icon_window_w.svg) center center no-repeat;
    background-size: 1.44rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}

#ir_contact_box {
  position: relative;
  overflow: hidden;
  -webkit-transition: ease-in-out 0.6s all;
  transition: ease-in-out 0.6s all;
  background: #f7f7f7;
  border: #d0d0d0 1px solid;
}
@media screen and (min-width: 769px) {
  #ir_contact_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding: 3rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_contact_box {
    width: 67rem;
    padding: 5rem 4rem;
  }
}

#ir_contact_box > div {
  position: relative;
  display: block;
  overflow: hidden;
  color: #333333;
  -webkit-transition: ease-in-out 0.6s all;
  transition: ease-in-out 0.6s all;
}
@media screen and (min-width: 769px) {
  #ir_contact_box > div {
    width: 64rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_contact_box > div {
    padding: 0 0 4rem;
  }
}

#ir_contact_box .ttl {
  position: relative;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  #ir_contact_box .ttl {
    line-height: 1.5em;
    font-size: 2rem;
    letter-spacing: 0.05em;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_contact_box .ttl {
    display: inline-block;
    line-height: 1.5em;
    font-size: 3.6rem;
    letter-spacing: 0.05em;
    margin-bottom: 2rem;
  }
}

#ir_contact_box .txt {
  position: relative;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  #ir_contact_box .txt {
    line-height: 1.7em;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #ir_contact_box .txt {
    line-height: 1.7em;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
  }
}

#ir_contact_box .txt2 {
  position: relative;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  #ir_contact_box .txt2 {
    line-height: 1.7em;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #ir_contact_box .txt2 {
    line-height: 1.7em;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
  }
}

#ir_contact_box .ir_tel {
  position: relative;
  display: inline-block;
  font-weight: 500;
  -webkit-transition: ease-in-out 0.6s all;
  transition: ease-in-out 0.6s all;
}
@media screen and (min-width: 769px) {
  #ir_contact_box .ir_tel {
    line-height: 1em;
    font-size: 4rem;
    letter-spacing: 0.05em;
    margin-top: 2rem;
    margin-bottom: 1rem;
    padding-left: 4rem;
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  #ir_contact_box .ir_tel {
    display: inline-block;
    line-height: 1.035em;
    font-size: 5.8rem;
    letter-spacing: 0.05em;
    margin-top: 4rem;
    margin-bottom: 1rem;
    padding-left: 6rem;
  }
}

#ir_contact_box .ir_tel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
  background: url("../img/icon_tel.svg") center center no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  #ir_contact_box .ir_tel::before {
    width: 3rem;
    height: 3rem;
    -webkit-transform: translateY(0.8rem);
            transform: translateY(0.8rem);
  }
}
@media screen and (max-width: 768px) {
  #ir_contact_box .ir_tel::before {
    width: 5rem;
    height: 5rem;
    -webkit-transform: translateY(0.5rem);
            transform: translateY(0.5rem);
  }
}

@media screen and (min-width: 769px) {
  #ir_contact_box .ir_tel:hover {
    color: #0068b2;
  }
}
#ir_contact_btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: hidden;
  -webkit-transition: ease-in-out 0.6s all;
  transition: ease-in-out 0.6s all;
  background: #0068b2;
  color: #fff;
}
@media screen and (min-width: 769px) {
  #ir_contact_btn {
    width: 45rem;
    height: 10.4rem;
    border-radius: 0.6rem;
    border: #0068b2 0.2rem solid;
    padding: 0 4rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_contact_btn {
    width: 59rem;
    height: 14.4rem;
    border-radius: 0.6rem;
    border: #0068b2 0.4rem solid;
    padding: 0 4rem;
  }
}

@media screen and (min-width: 769px) {
  #ir_contact_btn:hover {
    background: #fff;
    color: #0068b2;
  }
}
#ir_contact_btn p {
  position: relative;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  #ir_contact_btn p {
    line-height: 1em;
    font-size: 2rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #ir_contact_btn p {
    display: inline-block;
    line-height: 1em;
    font-size: 3.2rem;
    letter-spacing: 0.05em;
  }
}

#ir_contact_btn span {
  position: relative;
  background: url("../img/icon_mail.svg") center center no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  #ir_contact_btn span {
    width: 3rem;
    height: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  #ir_contact_btn span {
    width: 3.2rem;
    height: 2.6rem;
  }
}

@media screen and (min-width: 769px) {
  #ir_contact_btn:hover span {
    background: url("../img/icon_mail_b.svg") center center no-repeat;
    background-size: contain;
  }
}
/*btn*/
.menu_btn_set {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  .menu_btn_set {
    gap: 3rem 0;
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set {
    gap: 4rem;
  }
}

.menu_btn_set a {
  position: relative;
  display: block;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
}
@media screen and (min-width: 769px) {
  .menu_btn_set a {
    border: #e2e2e2 0.2rem solid;
    width: 48.5%;
    max-width: 52rem;
    height: 14rem;
    padding: 0 2rem 0 3rem;
    border-radius: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set a {
    border: #e2e2e2 0.4rem solid;
    width: 100%;
    min-height: 28rem;
    padding: 4rem;
    border-radius: 0.6rem;
  }
}

.menu_btn_set a h3 {
  position: relative;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .menu_btn_set a h3 {
    line-height: 1.5em;
    font-size: 2rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set a h3 {
    line-height: 1.5em;
    font-size: 3.6rem;
    letter-spacing: 0.05em;
    max-width: 50rem;
  }
}

.menu_btn_set a p {
  position: relative;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
  font-weight: 500;
  color: #333333;
}
@media screen and (min-width: 769px) {
  .menu_btn_set a p {
    line-height: 1.715em;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set a p {
    line-height: 1.7em;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    margin-top: 2rem;
    max-width: 50rem;
  }
}

@media screen and (min-width: 769px) {
  .menu_btn_set a:hover {
    border: #0068b2 0.2rem solid;
  }
}

@media screen and (min-width: 769px) {
  .menu_btn_set a:hover h3,
  .menu_btn_set a:hover p {
    color: #0068b2;
  }
}

.menu_btn_set a .arrow,
.menu_btn_set a .window {
  position: relative;
  display: block;
  background: rgb(16, 59, 110);
  background: -webkit-gradient(linear, left top, right top, from(rgb(16, 59, 110)), to(rgb(1, 132, 210)));
  background: linear-gradient(90deg, rgb(16, 59, 110) 0%, rgb(1, 132, 210) 100%);
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  .menu_btn_set a .arrow,
  .menu_btn_set a .window {
    width: 3rem;
    height: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set a .arrow,
  .menu_btn_set a .window {
    width: 4.5rem;
    height: 4.5rem;
  }
}

.menu_btn_set a .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  .menu_btn_set a .arrow::before {
    background: url(../../common/img/icon_arrow_w.svg) center center no-repeat;
    background-size: 0.64rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set a .arrow::before {
    background: url(../../common/img/icon_arrow_w.svg) center center no-repeat;
    background-size: 0.96rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}

.menu_btn_set a .window::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  .menu_btn_set a .window::before {
    background: url(../../common/img/icon_window_w.svg) center center no-repeat;
    background-size: 0.8rem auto;
    -webkit-transform: translateX(0.2rem);
            transform: translateX(0.2rem);
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set a .window::before {
    background: url(../../common/img/icon_window_w.svg) center center no-repeat;
    background-size: 1.44rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}

.menu_btn_set.index_set {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  .menu_btn_set.index_set {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 3rem 2.6%;
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set.index_set {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 4rem;
  }
}

@media screen and (min-width: 769px) {
  .menu_btn_set.index_set a {
    width: 31.6%;
    max-width: 38rem;
    height: 17rem;
    padding: 2rem 2rem 2rem 3rem;
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set.index_set a {
    min-height: 24rem;
  }
}

@media screen and (min-width: 769px) {
  .menu_btn_set.index_set a hgroup {
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set.index_set a h3 {
    width: 52rem;
  }
}

@media screen and (min-width: 769px) {
  .menu_btn_set.index_set a p {
    max-width: 28rem;
  }
}
@media screen and (max-width: 768px) {
  .menu_btn_set.index_set a p {
    width: 52rem;
  }
}

/*ttl*/
.h2_set_ir h2 {
  position: relative;
  font-weight: 400;
  font-family: "Noto Serif TC", serif;
}
@media screen and (min-width: 769px) {
  .h2_set_ir h2 {
    line-height: 1.3em;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    padding: 5rem 0 2rem;
  }
}
@media screen and (max-width: 768px) {
  .h2_set_ir h2 {
    line-height: 1.3em;
    font-size: 5rem;
    letter-spacing: 0.05em;
    padding: 8rem 0 3rem;
  }
}

/*tab*/
#library_tab {
  position: relative;
}
@media screen and (min-width: 769px) {
  #library_tab {
    height: 6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    border-radius: 0.4rem;
  }
}
@media screen and (max-width: 768px) {
  #library_tab {
    width: 100%;
    height: 12rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    border-radius: 0.2rem;
  }
}

@media screen and (min-width: 769px) {
  #library_tab.tab_type_detail {
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  #library_tab.tab_type_library {
    width: 80rem;
  }
}

#library_tab a {
  position: relative;
  font-weight: 400;
  cursor: pointer;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
  text-align: center;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #8a8a8a;
  background: #fff;
  border: #d0d0d0 1px solid;
}
@media screen and (min-width: 769px) {
  #library_tab a {
    line-height: 1.5em;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #library_tab a {
    line-height: 1.313em;
    font-size: 3.2rem;
  }
}

#library_tab.tab_type_library a {
  width: 50%;
}

#library_tab.tab_type_detail a {
  width: 25%;
}

#library_tab.tab_type_detail a:nth-of-type(1),
#library_tab.tab_type_detail a:nth-of-type(2),
#library_tab.tab_type_detail a:nth-of-type(3) {
  border-right: none;
}

#library_tab.tab_type_detail a:last-of-type {
  border-right: #d0d0d0 1px solid;
}

@media screen and (min-width: 769px) {
  #library_tab a:first-of-type {
    border-top-left-radius: 0.4rem;
    border-bottom-left-radius: 0.4rem;
  }
}

@media screen and (min-width: 769px) {
  #library_tab a:last-of-type {
    border-top-right-radius: 0.4rem;
    border-bottom-right-radius: 0.4rem;
  }
}

#library_tab a:hover,
#library_tab a.current {
  background: #0068b2;
  color: #fff;
}
@media screen and (min-width: 769px) {
  #library_tab a:hover,
  #library_tab a.current {
    border: #0068b2 0.2rem solid;
  }
}
@media screen and (max-width: 768px) {
  #library_tab a:hover,
  #library_tab a.current {
    border: #0068b2 0.4rem solid;
  }
}

#library_tab a.current::before {
  position: absolute;
  content: "";
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
}
@media screen and (min-width: 769px) {
  #library_tab a.current::before {
    bottom: -1rem;
    border-right: 1rem solid transparent;
    border-left: 1rem solid transparent;
    border-top: 1rem solid #0068b2;
    border-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  #library_tab a.current::before {
    bottom: -2rem;
    border-right: 2rem solid transparent;
    border-left: 2rem solid transparent;
    border-top: 2rem solid #0068b2;
    border-bottom: 0;
  }
}

/*関連情報*/
.info_set_box {
  position: relative;
  border: #d0d0d0 1px solid;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .info_set_box {
    padding: 3rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .info_set_box {
    padding: 5rem 4rem;
  }
}

.info_set_box .ttl {
  position: relative;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .info_set_box .ttl {
    line-height: 1.5em;
    font-size: 2rem;
    letter-spacing: 0.05em;
    padding: 0 0 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .info_set_box .ttl {
    line-height: 1.5em;
    font-size: 3.6rem;
    letter-spacing: 0.05em;
    padding: 0 0 2rem;
  }
}

@media screen and (min-width: 769px) {
  .info_set_box .arrow_link {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .info_set_box .arrow_link {
    margin-top: 2rem;
  }
}

.info_set_box .arrow_link:nth-of-type(1) {
  margin-top: 0;
}

.info_set_box .arrow_link.indent_none a p {
  text-decoration: underline;
}

@media screen and (min-width: 769px) {
  .info_set_box .arrow_link.indent_none a:hover p {
    text-decoration: none;
  }
}

/*tgl*/
.tgl_set {
  position: relative;
  border-bottom: #cfcfcf 1px solid !important;
}

.tgl_set dl {
  position: relative;
  border-top: #cfcfcf 1px solid !important;
}

.tgl_set dl dt {
  position: relative;
}
@media screen and (min-width: 769px) {
  .tgl_set dl dt {
    cursor: pointer;
    padding: 2rem 0;
  }
}
@media screen and (max-width: 768px) {
  .tgl_set dl dt {
    padding: 2rem 0;
  }
}

.tgl_set dl dt p {
  position: relative;
  color: #333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .tgl_set dl dt p {
    line-height: 1.5em;
    font-size: 2rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  .tgl_set dl dt p {
    line-height: 1.5em;
    font-size: 3.6rem;
    letter-spacing: 0.05em;
    width: 60rem;
  }
}

.tgl_set dl dt:before,
.tgl_set dl dt:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  background: #0068b2;
  -webkit-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
}
@media screen and (min-width: 769px) {
  .tgl_set dl dt:before,
  .tgl_set dl dt:after {
    width: 2.4rem;
    height: 0.2rem;
  }
}
@media screen and (max-width: 768px) {
  .tgl_set dl dt:before,
  .tgl_set dl dt:after {
    width: 3.8rem;
    height: 0.4rem;
  }
}

.tgl_set dl dt:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.tgl_set dt.active:after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.tgl_set dl dd {
  position: relative;
  border-top: #cfcfcf 1px solid !important;
  display: none;
}
@media screen and (min-width: 769px) {
  .tgl_set dl dd {
    padding: 3rem 0 3rem;
  }
}
@media screen and (max-width: 768px) {
  .tgl_set dl dd {
    padding: 5rem 0 5rem;
  }
}

/**/
@media screen and (min-width: 769px) {
  *:has(> #euroland_iframe) {
    height: auto !important;
  }
}
@media screen and (max-width: 768px) {
  #euroland_iframe {
    width: 1080px !important;
    margin-left: 50%;
    zoom: 1.6;
    -webkit-transform: scale(0.19) translate(-50%, 0);
            transform: scale(0.19) translate(-50%, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  *:has(> #euroland_iframe) {
    overflow: hidden;
  }
  #euroland_iframe _::-webkit-full-page-media,
  #euroland_iframe _:future, :root #euroland_iframe {
    zoom: 1;
    -webkit-transform: scale(0.31);
            transform: scale(0.31);
    margin-left: 50%;
    translate: -15.5% 0;
  }
  #medium_v #euroland_iframe {
    overflow: visible;
    width: 100% !important;
    margin: 0;
    zoom: 1;
    -webkit-transform: none !important;
            transform: none !important;
    translate: none !important;
  }
}
@media screen and (max-width: 360px) {
  #euroland_iframe {
    width: 1050px !important;
  }
}
@media screen and (max-width: 320px) {
  #euroland_iframe {
    width: 940px !important;
  }
}

/**/
.window_link_set {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-top: #e2e2e2 0.2rem solid;
}
@media screen and (min-width: 769px) {
  .window_link_set {
    gap: 4rem 2.6%;
    margin-top: 5rem;
    padding-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .window_link_set {
    gap: 4rem;
    margin-top: 8rem;
    padding-top: 4rem;
  }
}

.window_link_set a {
  position: relative;
  display: block;
  background: #fff;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
}
@media screen and (min-width: 769px) {
  .window_link_set a {
    width: 31.6%;
    max-width: 38rem;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .window_link_set a {
    width: 67rem;
    padding: 0;
  }
}

.window_link_set a h4 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.window_link_set a h4 p {
  position: relative;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .window_link_set a h4 p {
    line-height: 1.875em;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  .window_link_set a h4 p {
    line-height: 1.407em;
    font-size: 3.2rem;
    letter-spacing: 0.05em;
  }
}

.window_link_set a hgroup > p {
  position: relative;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
  font-weight: 500;
  color: #333333;
}
@media screen and (min-width: 769px) {
  .window_link_set a hgroup > p {
    line-height: 1.715em;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .window_link_set a hgroup > p {
    line-height: 1.7em;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    margin-top: 2rem;
  }
}

@media screen and (min-width: 769px) {
  .window_link_set a:hover h4,
  .window_link_set a:hover hgroup > p {
    color: #0068b2;
  }
}

.window_link_set a .arrow,
.window_link_set a .window {
  position: relative;
  display: inline-block;
  background: rgb(16, 59, 110);
  background: -webkit-gradient(linear, left top, right top, from(rgb(16, 59, 110)), to(rgb(1, 132, 210)));
  background: linear-gradient(90deg, rgb(16, 59, 110) 0%, rgb(1, 132, 210) 100%);
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  .window_link_set a .arrow,
  .window_link_set a .window {
    width: 3rem;
    height: 3rem;
    margin-left: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .window_link_set a .arrow,
  .window_link_set a .window {
    width: 4.5rem;
    height: 4.5rem;
    margin-left: 2rem;
  }
}

.window_link_set a .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  .window_link_set a .arrow::before {
    background: url(../../common/img/icon_arrow_w.svg) center center no-repeat;
    background-size: 0.64rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}
@media screen and (max-width: 768px) {
  .window_link_set a .arrow::before {
    background: url(../../common/img/icon_arrow_w.svg) center center no-repeat;
    background-size: 0.96rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}

.window_link_set a .window::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  .window_link_set a .window::before {
    background: url(../../common/img/icon_window_w.svg) center center no-repeat;
    background-size: 0.8rem auto;
  }
}
@media screen and (max-width: 768px) {
  .window_link_set a .window::before {
    background: url(../../common/img/icon_window_w.svg) center center no-repeat;
    background-size: 1.44rem auto;
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}

.window_link_set.index_set {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  .window_link_set.index_set {
    gap: 4rem 2.6%;
  }
}
@media screen and (max-width: 768px) {
  .window_link_set.index_set {
    gap: 6rem;
  }
}

@media screen and (min-width: 769px) {
  .window_link_set.index_set a {
    width: 31.6%;
    max-width: 38rem;
    height: 17rem;
    padding: 2rem 2rem 2rem 3rem;
  }
}
@media screen and (max-width: 768px) {
  .window_link_set.index_set a {
    min-height: 24rem;
  }
}

@media screen and (min-width: 769px) {
  .window_link_set.index_set a hgroup {
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .window_link_set.index_set a h3 {
    width: 52rem;
  }
}

@media screen and (min-width: 769px) {
  .window_link_set.index_set a p {
    max-width: 26rem;
  }
}
@media screen and (max-width: 768px) {
  .window_link_set.index_set a p {
    width: 52rem;
  }
}

/*add*/
#stock_info_sec .data_set th {
  background: #f1eee6 !important;
}

/* IR calendar */
.calendar_table {
  display: grid;
}
@media screen and (min-width: 769px) {
  .calendar_table {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .calendar_table {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 3rem;
  }
}
.calendar_table_column {
  position: relative;
}
@media screen and (max-width: 768px) {
  .calendar_table_column:nth-of-type(2) .calendar_table_head::after {
    content: "";
    position: absolute;
    border-left: 1px solid #bfbfbf;
    top: -1px;
    bottom: -1px;
    right: 0;
    pointer-events: none;
  }
  .calendar_table_column:nth-of-type(2) .calendar_table_months .calendar_table_month:last-of-type::after {
    content: "";
    position: absolute;
    border-left: 1px solid #bfbfbf;
    top: -1px;
    bottom: -1px;
    right: 0;
    pointer-events: none;
  }
}
.calendar_table_column:last-of-type .calendar_table_head::after {
  content: "";
  position: absolute;
  border-left: 1px solid #bfbfbf;
  top: -1px;
  bottom: -1px;
  right: 0;
  pointer-events: none;
}
.calendar_table_column:last-of-type .calendar_table_months .calendar_table_month:last-of-type::after {
  content: "";
  position: absolute;
  border-left: 1px solid #bfbfbf;
  top: -1px;
  bottom: -1px;
  right: 0;
  pointer-events: none;
}
.calendar_table_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  border-left: 1px solid #bfbfbf;
  border-top: 1px solid #bfbfbf;
  border-bottom: 1px solid #bfbfbf;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .calendar_table_head {
    height: 5.5rem;
    line-height: 1.455em;
    font-size: 1.65rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_head {
    height: 6rem;
    line-height: 1.25em;
    font-size: 2rem;
  }
}
.calendar_table_months {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 1px;
     -moz-column-gap: 1px;
          column-gap: 1px;
  background: #bfbfbf;
  border-bottom: 1px solid #bfbfbf;
  width: 100%;
  padding: 0 0 0 1px;
}
.calendar_table_month {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.15em;
     -moz-column-gap: 0.15em;
          column-gap: 0.15em;
  position: relative;
  background: #fff;
  width: 100%;
  line-height: 1;
  font-weight: 300;
}
@media screen and (min-width: 769px) {
  .calendar_table_month {
    height: 12rem;
    padding: 0 0 0 0.05em;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_month {
    height: 13rem;
    padding: 0.2em 0 0 0.05em;
    font-size: 2.7rem;
  }
}
.calendar_table_month.is-event {
  background: #c2dae4;
  color: #0068b0;
}
.calendar_table_month strong {
  font-size: 2em;
  font-weight: inherit;
  translate: 0 -0.18em;
}
.calendar_table_events {
  position: relative;
}
@media screen and (min-width: 769px) {
  .calendar_table_events {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_events {
    margin-top: 3.6rem;
  }
}
.calendar_table_event {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: calc(100%/3);
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .calendar_table_event {
    line-height: 1.2em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_event {
    line-height: 1.3em;
    font-size: 2rem;
  }
}
.calendar_table_event::before {
  content: "";
  position: absolute;
  background: #bfbfbf;
  width: 1px;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .calendar_table_event::before {
    top: -5.6rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_event::before {
    top: -6.6rem;
  }
}
.calendar_table_event::after {
  content: "";
  aspect-ratio: 1/1;
  position: absolute;
  background: #333;
  border-radius: 50%;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .calendar_table_event::after {
    width: 0.7rem;
    top: -5.6rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_event::after {
    width: 0.8rem;
    top: -6.6rem;
  }
}
.calendar_table_event[class*=m-1] {
  margin-left: 0;
}
.calendar_table_event[class*=m-2] {
  margin-left: calc(100%/3);
}
.calendar_table_event[class*=m-3] {
  margin-left: calc(200%/3);
}
@media screen and (min-width: 769px) {
  .calendar_table_event.m-1-start::before, .calendar_table_event.m-2-start::before, .calendar_table_event.m-3-start::before {
    left: 1.3rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_event.m-1-start::before, .calendar_table_event.m-2-start::before, .calendar_table_event.m-3-start::before {
    left: 1.35rem;
  }
}
.calendar_table_event.m-1-start::after, .calendar_table_event.m-2-start::after, .calendar_table_event.m-3-start::after {
  left: 1rem;
}
.calendar_table_event.m-1-middle::before, .calendar_table_event.m-2-middle::before, .calendar_table_event.m-3-middle::before {
  left: calc(50% - 0.05rem);
}
@media screen and (min-width: 769px) {
  .calendar_table_event.m-1-middle::after, .calendar_table_event.m-2-middle::after, .calendar_table_event.m-3-middle::after {
    left: calc(50% - 0.35rem);
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_event.m-1-middle::after, .calendar_table_event.m-2-middle::after, .calendar_table_event.m-3-middle::after {
    left: calc(50% - 0.4rem);
  }
}
@media screen and (min-width: 769px) {
  .calendar_table_event.m-1-end::before, .calendar_table_event.m-2-end::before, .calendar_table_event.m-3-end::before {
    right: 1.3rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_event.m-1-end::before, .calendar_table_event.m-2-end::before, .calendar_table_event.m-3-end::before {
    right: 1.3rem;
  }
}
.calendar_table_event.m-1-end::after, .calendar_table_event.m-2-end::after, .calendar_table_event.m-3-end::after {
  right: 1rem;
}
.calendar_table_event.e-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.calendar_table_event.t-1 {
  position: absolute;
}
@media screen and (min-width: 769px) {
  .calendar_table_event.t-1::before {
    height: 5.3rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_event.t-1::before {
    height: 6.3rem;
  }
}
.calendar_table_event.t-1.not-absolute {
  position: relative;
}
@media screen and (min-width: 769px) {
  .calendar_table_event.t-2 {
    padding-top: 6.5rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_event.t-2 {
    padding-top: 6.7rem;
  }
}
@media screen and (min-width: 769px) {
  .calendar_table_event.t-2::before {
    height: 11.8rem;
  }
}
@media screen and (max-width: 768px) {
  .calendar_table_event.t-2::before {
    height: 13rem;
  }
}