@media (min-width: 768px) {
    
  #ir.content.personal .sec {
      width: 100%;
  }
  #ir.content.personal .sec .inner {
      margin: 0 auto 40px;
      max-width: 1200px;
  }
  #ir.content.personal h3 {
      font-size: 30px;
      display: block;
      text-align: center;
  }
  #ir.content.personal h4 {
      font-size: 22px;
      text-align: left;
  }

  #ir.content.personal .cat-ttl {
    padding: 0 30px;
    background: #FCEEED;
  }
  #ir .cat-ttl .inner {
      padding: 0;
      width: 100%;
      max-width: 1200px;
      height: auto;
  }
  #ir .cat-ttl h2 {
      display: block;
      width: 100%;
      font-size: 40px;
      text-align: center;
      margin: 20px 0;
  }
  #ir .cat-ttl h2 span {
      font-size: 20px;
  }
  #ir .cat-ttl .bread-c {
      width: 50%;
      display: inline-block;
      text-align: left;
  }
  #ir .cat-ttl .ircode {
      width: 50%;
      display: inline-block;
      padding: 0;
  }
  #ir .cat-ttl .ircode ul {
      justify-content: flex-end;
  }
  #ir.content.personal .cat-ttl .ircode ul a {
      color: #333;
  }

  #ir .sec01 {
      padding: 30px;
      background: #FCEEED;
  }
  #ir.content.personal .sec01 .inner .flebox.has_menu_s {
      margin: 0;
      width: calc(33% - 15px);
      flex-direction: column;
      gap: 15px;
  }
  #ir.content.personal .sec01 .inner .flebox.has_menu_l {
      width: 100%;
      flex-direction: row;
      gap: 15px;
  }
  #ir.content.personal .sec01 .flebox .menubtn {
      padding: 0;
      background-color: #FFF;
      border: solid 2px #FFF;
      border-radius: 10px;
      font-size: 20px;
  }
  #ir.content.personal .sec01 .flebox .menubtn.menu_l {
      width: 67%;
      height: 215px;
      display: inline-flex;
      flex-direction: column;
      justify-content: flex-end;
      overflow: hidden;
  }
  #ir.content.personal .sec01 .flebox .menubtn.menu_l .tm_img {
    width: 100%;
    height: calc(100% - 21px);
}
  #ir.content.personal .sec01 .flebox .menubtn.menu_l .tm_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
  #ir.content.personal .sec01 .flebox .menubtn.menu_l p {
      width: 100%;
      line-height: 1;
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 0;
      padding: 5px;
  }
  #ir.content.personal .sec01 .flebox .menubtn.menu_s {
      width: 100%;
      height: 100px;
      display: inline-flex;
      justify-content: flex-start;
      align-items: center;
      padding: 10px;
      gap: 10px;
  }
  #ir.content.personal .sec01 .flebox .menubtn.menu_s img {
    max-width: 60px;
    width: 30%;
    height: auto;
  }

  #ir.content.personal .sec01 .flebox .menubtn.menu_s span {
        margin-left: auto
  }




  .sec02 {
      padding: 30px;
      background-color: #FFFDFC;
      background: url(/corporate/ir/personal/images/bg.png) repeat;
  }
  #ir.content.personal .sec02 .box p.has_link {
      margin: 30px 0;
      display: block;
      width: 100%;
      text-align: center;
    }
    #ir.content.personal .sec02 .box p a {
      width: 100%;
      max-width: 400px;
      display: inline-block;
      margin: auto;
    }

  #ir.content.personal .sec02 .inner .flebox {
      margin: 33px 0;
      justify-content: center;
      gap: 30px;
  }
  #ir.content.personal .numbox {
    position: relative;
      background: #FFF;
      border: 1px solid #C8C8BE;
      box-shadow: 0 4px 0 #C8C8BE;
      border-radius: 10px;
      display: inline-flex;
      flex-direction: column;
      justify-content: flex-start;
      align-content: center;
      padding: 10px;
  }
  #ir.content.personal .numbox.sizeL {
    gap: 10px;
    flex-direction: row;
    align-items: center;
  }
  #ir.content.personal .numbox.sizeL .nbleft {
    width: calc(60% - 10px);
  }
  #ir.content.personal .numbox.sizeL .nbright {
    width: 40%;
  }


  #ir.content.personal .numttl {
    margin: 0;
    font-size: 18px;
    color: #d93c19;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1;
    height: 60px;
}
#ir.content.personal .sizeL .numttl {
  font-size: 22px;
}
  #ir.content.personal .numline {
      margin: 10px 0;
      font-size: clamp(50px, 5.2vw , 70px);
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: center;
      align-items: last baseline;
      text-align: center;
      line-height: 0.6;
  }
  #ir.content.personal .num, #ir.content.personal .count-up {
      font-family: "Roboto","Noto Sans JP","Arial",sans-serif;
      font-weight: bold;
      margin: 10px 0;
  }
  #ir.content.personal .numline .numunit {
    font-size: 40%;
    white-space: nowrap;
    font-weight: bold;
    text-align: center;
}
#ir.content.personal .numunit.numbr {
    font-size: clamp(20px, 2.08vw , 28px);
    text-align: center;
    line-height: 1;
    font-weight: bold;
  }
#ir.content.personal .numbox img {
    margin: auto auto 0;
  }
  
  #ir.content.personal .numbox .year {
    font-size: 14px;
    text-align: center;
    display: inline-block;
    width: 100%;
  }

  #ir.content.personal .numbox.trillion .num, #ir.content.personal .numbox.trillion .count-up {
    letter-spacing: -0.5px;
    font-size: clamp(44px, 4.4vw , 64px);
  }
  #ir.content.personal .numbox.trillion .numunit {
    font-size: clamp(18px, 1.8vw , 20px);
}
#ir.content.personal .numbox .year {
    text-align: right;
    line-height: 1.1;
    position: absolute;
    width: auto;
    inset: auto 0 0 auto;
    background: #fffc;
    padding: 2px 5px ;
    border-radius: 5px 0 10px 0;
  }
  #ir.content.personal .sec02 h3 {
    position: relative;
  }
  #ir.content.personal .sec02 h3.year {
    margin-top: 100px;
    display: flex;
    align-items: center;
  }
  #ir.content.personal .sec02 h3.year::before,
  #ir.content.personal .sec02 h3.year::after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #333;
  }
  #ir.content.personal .sec02 h3.year::before { margin-right: 1.2rem; }
  #ir.content.personal .sec02 h3.year::after { margin-left: 1.2rem; }


  .sizeL {
    /*コレ追加*/
    width: calc(50% - 15px);
    height: 300px;
  }
  #ir.content.personal .sizeL .numttl {
    min-height: 30px;
    height: 30px;
  }
  #ir.content.personal .sizeL .num {
    font-size: 118%;
  }
  #ir.content.personal .sizeL .numline {
    margin: 0;
  }
  #ir.content.personal .found-sep {
    display: block;
    text-align: center;
    margin: 0 0 10px;
  }

  .sizeM {
    /*コレ追加*/
    width: calc(calc(100% / 3) - 20px);
  }
  .sizeS {
    /*コレ追加*/
    width: calc(25% - 22.5px);
    min-height: 180px;
  }
  
  
  .sec03 {
      padding: 30px;
      background: #FCEEED;
  }
  #ir.content.personal .sec03 .flebox {
    margin: 0 0 1em;
    justify-content: flex-start;
    gap: 10px;
  }
  #ir.content.personal .sec03 .flebox .menubtn {
    position: relative;
    width: calc(25% - 7.5px);
    display: inline-flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-content: center;
    padding-right: 65px;
  }
 /* #ir.content.personal .sec03 .flebox a.menubtn[target="_blank"]::after {
    content: "■";
  }*/
  #ir.content.personal .sec03 .flebox .menubtn::before {
    content: "";
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    inset: 5px 5px 10px auto;
    width: 42px;
    height: 42px;
    margin: 4px;
  }
  /*会社情報*/
  #ir.content.personal .sec03 .flebox.menu_corp .menubtn:nth-of-type(1):before { background-image: url(/corporate/ir/personal/images/ic1.png); }
  #ir.content.personal .sec03 .flebox.menu_corp .menubtn:nth-of-type(2):before { background-image: url(/corporate/ir/personal/images/ic3.png); }
  #ir.content.personal .sec03 .flebox.menu_corp .menubtn:nth-of-type(3):before { background-image: url(/corporate/ir/personal/images/ic5.png); }
  #ir.content.personal .sec03 .flebox.menu_corp .menubtn:nth-of-type(4):before { background-image: url(/corporate/ir/personal/images/ic6.png); }
  #ir.content.personal .sec03 .flebox.menu_corp .menubtn:nth-of-type(5):before { background-image: url(/corporate/ir/personal/images/ic7.png); }
  /*投資家情報・サステナビリティ*/
  #ir.content.personal .sec03 .flebox.menu_ir_sus .menubtn:nth-of-type(1):before { background-image: url(/corporate/ir/personal/images/ic8.png); }
  #ir.content.personal .sec03 .flebox.menu_ir_sus .menubtn:nth-of-type(2):before { background-image: url(/corporate/ir/personal/images/ic10.png); }
  #ir.content.personal .sec03 .flebox.menu_ir_sus .menubtn:nth-of-type(3):before { background-image: url(/corporate/ir/personal/images/ic11.png); }
  #ir.content.personal .sec03 .flebox.menu_ir_sus .menubtn:nth-of-type(4):before { background-image: url(/corporate/ir/personal/images/ic12.png); }
  #ir.content.personal .sec03 .flebox.menu_ir_sus .menubtn:nth-of-type(5):before { background-image: url(/corporate/ir/personal/images/ic13.png); }
  /*投資家向け情報*/
  #ir.content.personal .sec03 .flebox.menu_holders .menubtn:nth-of-type(1):before { background-image: url(/corporate/ir/personal/images/ic14.png); }
  #ir.content.personal .sec03 .flebox.menu_holders .menubtn:nth-of-type(2):before { background-image: url(/corporate/ir/personal/images/ic15.png); }
  #ir.content.personal .sec03 .flebox.menu_holders .menubtn:nth-of-type(3):before { background-image: url(/corporate/ir/personal/images/ic16.png); }    

  #ir .sec03 .menubtn {
    font-size: 18px;
    line-height: 1;
      border: 0;
      background: #FFF;
      border-radius: 10px;
      width: 24%;
  }

}



@media (max-width: 767px) {

    #ir.content.personal h3 {
        font-size: 24px;
        line-height: 1.2;
        margin-top: 40px;
        display: block;
        text-align: center;
    }
    #ir.content.personal h4 {
        font-size: 18px;
        text-align: left;
    }
  

    #ir.content.personal  .cat-ttl {
        background: #FCEEED;
    }
    #ir.content.personal .cat-ttl h2 {
      font-size: 26px;
        background: transparent;
    }

    #ir.content.personal .cat-ttl .ircode {
        margin-top: 0;
    }
    #ir.content.personal .cat-ttl .ircode a {
        color: #333;
    }


    #ir .sec01 {
        padding: 10px 4% 30px;
        background: #FCEEED;
    }
  #ir.content.personal .sec01 .inner .flebox.has_menu_s {
      margin: 0;
      width: 100%;
      flex-direction: row;
      gap: 10px;
  }
  #ir.content.personal .sec01 .inner .flebox.has_menu_l {
      width: 100%;
      flex-direction: column;
      margin-bottom: 10px;
  }
  #ir.content.personal .sec01 .flebox .menubtn {
      padding: 0;
      background-color: #FFF;
      border: solid 2px #FFF;
      border-radius: 10px;
  }
  #ir.content.personal .sec01 .flebox .menubtn.menu_l {
      width: 100%;
      display: inline-flex;
      flex-direction: column;
      justify-content: flex-end;
      overflow: hidden;
  }
  #ir.content.personal .sec01 .flebox .menubtn.menu_l .tm_img {
    width: 100%;
    height: calc(100% - 21px);
    object-fit: cover;
    object-position: center;
}
  #ir.content.personal .sec01 .flebox .menubtn.menu_l .tm_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
  #ir.content.personal .sec01 .flebox .menubtn.menu_l p {
      width: 100%;
      line-height: 1;
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 0;
      padding: 5px;
  }
  #ir.content.personal .sec01 .flebox .menubtn.menu_s {
      width: calc(50% - 5px);
      height: 60px;
      display: inline-flex;
      justify-content: flex-start;
      align-items: center;
      padding: 6px;
      gap: 6px;
      font-size: 18px
  }
  #ir.content.personal .sec01 .flebox .menubtn.menu_s img {
    width: 24%;
    max-width: 48px;
    height: auto;
}
  #ir.content.personal .sec01 .flebox .menubtn.menu_s span {
        margin-left: auto
  }

    .sec02 {
        padding: 30px 4%;
        background-color: #FFFDFC;
        background: url(/corporate/ir/personal/images/bg.png) repeat;
    }

    #ir.content.personal .sec02 .box p.has_link {
      margin: 30px 0;
      display: block;
      width: 100%;
      text-align: center;
    }
    #ir.content.personal .sec02 .box p a {
      width: 80%;
      max-width: 400px;
      display: inline-block;
      margin: auto;
    }

    #ir.content.personal .sec02 .inner .flebox {
        margin: 18px 0;
        justify-content: flex-start;
        gap: 18px 15px;
    }
    #ir.content.personal .numbox {
      position: relative;
        background: #FFF;
        border: 1px solid #C8C8BE;
        box-shadow: 0 4px 0 #C8C8BE;
        border-radius: 10px;
        display: inline-flex;
        flex-direction: column;
        justify-content: flex-start;
        align-content: center;
        padding: 6px;
    }
    #ir.content.personal .numbox.sizeL {
      gap: 6px;
      flex-direction: row;
      align-items: center;
    }
    #ir.content.personal .numbox.sizeL .nbleft {
      width: calc(60% - 10px);
    }
    #ir.content.personal .numbox.sizeL .nbright {
      width: 40%;
    }
  
  
    #ir.content.personal .numttl {
        margin: 0;
        font-size: 16px;
        color: #d93c19;
        font-weight: bold;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        line-height: 1;
        min-height: 60px;
    }
    #ir.content.personal .sizeL .numttl {
      font-size: 22px;
    }
    #ir.content.personal #box2 .numttl, #ir.content.personal #box3 .numttl {
      min-height: 40px;
    }
    #ir.content.personal .numline {
        margin: 10px 0;
        font-size: clamp(38px, 8vw , 60px);
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: last baseline;
        text-align: center;
        line-height: 0.6;
    }
    #ir.content.personal .num, #ir.content.personal .count-up {
        font-family: "Roboto","Noto Sans JP","Arial",sans-serif;
        font-weight: bold;
        margin: 10px 0;
    }
    #ir.content.personal .numline .numunit {
        font-size: 40%;
        white-space: nowrap;
        font-weight: bold;
    }
    #ir.content.personal .numunit.numbr {
      font-size: 17.6px;
      text-align: center;
      line-height: 1;
      padding-bottom: 10px;
    }
    #ir.content.personal .numbox img {
      margin: auto auto 0;
    }
    
    #ir.content.personal .numbox .year {
      font-size: 14px;
      text-align: center;
      display: inline-block;
      width: 100%;
    }
  
    #ir.content.personal .numbox.trillion .num, #ir.content.personal .numbox.trillion .count-up {
      letter-spacing: -0.5px;
      font-size: clamp(32px, 4.4vw , 60px);
    }
    #ir.content.personal .numbox.trillion .numunit {
      font-size: clamp(18px, 1.8vw , 20px);
  }
    #ir.content.personal .numbox .year {
      text-align: right;
      line-height: 1.1;
      font-size: 12px;
      position: absolute;
      width: auto;
      inset: auto 0 0 auto;
      background: #fffc;
      padding: 2px 5px;
      border-radius: 5px 0 10px 0;
    }
    #ir.content.personal .sec02 h3.year {
      margin-top: 60px;
      display: flex;
      align-items: center;
    }
    #ir.content.personal .sec02 h3.year::before,
    #ir.content.personal .sec02 h3.year::after {
      content: "";
      height: 1px;
      flex-grow: 1;
      background-color: #333;
    }
    #ir.content.personal .sec02 h3.year::before { margin-right: 1.2rem; }
    #ir.content.personal .sec02 h3.year::after { margin-left: 1.2rem; }
  
  
  
    .sizeL {
      /*コレ追加*/
      width: 100%;
      max-height: 300px;
    }
    #ir.content.personal .sizeL:first-of-type .numttl {
      min-height: 30px;
      height: 30px;
    }
    #ir.content.personal .sizeL .num {
      font-size: 118%;
    }
    #ir.content.personal .sizeL .numline {
      margin: 0;
    }
      #ir.content.personal .sizeL img {
        max-height: 280px;
    }
    #ir.content.personal .found-sep {
      display: block;
      text-align: center;
      margin: 0 0 10px;
  }
  
    .sizeM, .sizeS {
      /*コレ追加*/
      width: calc(50% - 7.5px);
      min-height: 140px;
    }
    
    .sec03 {
        padding: 30px 4%;
        background: #FCEEED;
    }
    #ir.content.personal .sec03 .flebox {
      margin: 0 0 1em;
      justify-content: flex-start;
      gap: 6px;
    }
    #ir.content.personal .sec03 .flebox .menubtn {
    width: calc(50% - 3px);
      position: relative;
      flex-direction: row;
      justify-content: flex-start;
      flex-wrap: wrap;
      align-content: center;
      padding: 6px;
      padding-right: 40px;
      font-size: 15px;
      line-height: 1;
      font-weight: normal;
    }
    /*#ir.content.personal .sec03 .flebox a.menubtn[target="_blank"]::after {
      content: "→";
    }*/
      #ir.content.personal .sec03 .flebox .menubtn::before {
      content: "";
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center;
      position: absolute;
      inset: 6px 6px 6px auto;
      width: 30px;
      height: calc(100% - 12px);
      margin: auto 2px;
    }
    /*会社情報*/
    #ir.content.personal .sec03 .flebox.menu_corp .menubtn:nth-of-type(1):before { background-image: url(/corporate/ir/personal/images/ic1.png); }
    #ir.content.personal .sec03 .flebox.menu_corp .menubtn:nth-of-type(2):before { background-image: url(/corporate/ir/personal/images/ic3.png); }
    #ir.content.personal .sec03 .flebox.menu_corp .menubtn:nth-of-type(3):before { background-image: url(/corporate/ir/personal/images/ic5.png); }
    #ir.content.personal .sec03 .flebox.menu_corp .menubtn:nth-of-type(4):before { background-image: url(/corporate/ir/personal/images/ic6.png); }
    #ir.content.personal .sec03 .flebox.menu_corp .menubtn:nth-of-type(5):before { background-image: url(/corporate/ir/personal/images/ic7.png); }
    /*投資家情報・サステナビリティ*/
    #ir.content.personal .sec03 .flebox.menu_ir_sus .menubtn:nth-of-type(1):before { background-image: url(/corporate/ir/personal/images/ic8.png); }
    #ir.content.personal .sec03 .flebox.menu_ir_sus .menubtn:nth-of-type(2):before { background-image: url(/corporate/ir/personal/images/ic10.png); }
    #ir.content.personal .sec03 .flebox.menu_ir_sus .menubtn:nth-of-type(3):before { background-image: url(/corporate/ir/personal/images/ic11.png); }
    #ir.content.personal .sec03 .flebox.menu_ir_sus .menubtn:nth-of-type(4):before { background-image: url(/corporate/ir/personal/images/ic12.png); }
    #ir.content.personal .sec03 .flebox.menu_ir_sus .menubtn:nth-of-type(5):before { background-image: url(/corporate/ir/personal/images/ic13.png); }
    /*投資家向け情報*/
    #ir.content.personal .sec03 .flebox.menu_holders .menubtn:nth-of-type(1):before { background-image: url(/corporate/ir/personal/images/ic14.png); }
    #ir.content.personal .sec03 .flebox.menu_holders .menubtn:nth-of-type(2):before { background-image: url(/corporate/ir/personal/images/ic15.png); }    
    #ir.content.personal .sec03 .flebox.menu_holders .menubtn:nth-of-type(3):before { background-image: url(/corporate/ir/personal/images/ic16.png); }    
    #ir .sec03 .menubtn {
        border: 0;
        background: #FFF;
        border-radius: 6px;
        width: 24%;
        line-height: 1;
    }
}

#ir.content.personal .sec span.br {
    display: inline-block;
  }
#ir.content.personal .numunit.hide {
    visibility: hidden;
}
#ir.content.personal #headeryear p.as {
  text-align: right;
}


/** トップメッセージ 非表示時 **/
#ir.content.personal .sec01 .flebox.nomessage .menubtn.menu_l {
  display: none;
}
#ir.content.personal .sec01 .inner .nomessage .flebox.has_menu_s {
  width: 100%;
  flex-direction: row;
}
#ir.content.personal .sec01 .nomessage .flebox .menubtn.menu_s {
  width: 48%;
}
