@charset "UTF-8";
/* reset5 © 2011 opensource.736cs.com MIT */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, audio, canvas, details, figcaption, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, summary, time, video {
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  margin: 0;
  padding: 0; }

body {
  line-height: 1; }

article, aside, dialog, figure, footer, header, hgroup, nav, section, blockquote {
  display: block; }

nav ul {
  list-style: none; }

ol {
  list-style: decimal; }

ul {
  list-style: disc; }

ul ul {
  list-style: circle; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

ins {
  text-decoration: underline; }

del {
  text-decoration: line-through; }

mark {
  background: none; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input[type=submit], input[type=button], button {
  margin: 0 !important;
  padding: 0 !important; }

input, select, a img {
  vertical-align: middle; }

/* フォームのリセットここから */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='checkbox'],
input[type='radio'] {
  display: none; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

select::-ms-expand {
  display: none; }

/* フォームのリセットここまで */
html {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 10px; }

*, *:before, *:after {
  -moz-box-sizing: inherit;
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

body {
  -webkit-text-size-adjust: 100%;
  	/*
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  	*/ }

main {
  display: block; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

ul, ol {
  list-style: none !important; }

a {
  color: inherit;
  text-decoration: none; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  color: inherit;
  font-size: inherit; }

img {
  width: auto;
  height: auto;
  max-width: 100%;
  vertical-align: top; }

mark {
  color: inherit; }

span.nowrap {
  display: inline-block; }

html {
  font-family: 'DM Sans', 'Noto Sans JP', sans-serif;
  --scroll-offset: -112; }

body {
  transition: all ease .3s;
  opacity: 0; }
  .is-loaded body {
    opacity: 1; }
  .dialog-active body {
    overflow: hidden; }
  .menu-active body {
    overflow: hidden; }

#header:before {
  content: '';
  pointer-events: none;
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.75);
  opacity: 0;
  pointer-events: none;
  transition: all ease .3s; }
  .menu-active #header:before {
    opacity: 1; }
  .dropdown-active #header:before {
    opacity: 1;
    display: block; }
#header .wrapper {
  position: fixed;
  z-index: 10000;
  top: 16px;
  left: 24px;
  right: 24px;
  background: #FFFFFF;
  border: 1px solid #E8EFF6;
  border-radius: 8px; }
  @media screen and (max-width: 1023px) {
    #header .wrapper {
      top: 0;
      left: 0;
      right: 0;
      border-radius: 0;
      border: none; } }
  #header .wrapper .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 40px * 2);
    margin: 0 auto;
    padding: 16px 0; }
    @media screen and (max-width: 1023px) {
      #header .wrapper .container {
        width: calc(100% - 24px * 2); } }
    #header .wrapper .container .logo a {
      display: block; }
      @media screen and (max-width: 1023px) {
        #header .wrapper .container .logo a {
          width: 72px; } }
    #header .wrapper .container .content {
      display: flex;
      align-items: center; }
      @media screen and (max-width: 767px) {
        #header .wrapper .container .content {
          height: 42px; } }
      #header .wrapper .container .content nav.global {
        padding-top: 5px;
        transition: opacity ease .3s; }
        @media screen and (max-width: 1023px) {
          #header .wrapper .container .content nav.global {
            display: none; } }
        .menu-active #header .wrapper .container .content nav.global {
          opacity: 0;
          pointer-events: none; }
        #header .wrapper .container .content nav.global > ul {
          display: flex;
          padding-right: 12px;
          border-right: 1px solid #E8EFF6;
          height: 30px; }
          #header .wrapper .container .content nav.global > ul > li > a {
            position: relative;
            display: flex;
            gap: 6px;
            align-items: center;
            margin-top: -21px;
            font-weight: 700;
            font-size: 14px;
            line-height: 100%;
            letter-spacing: 0.04em;
            line-height: 72px;
            color: #27333A;
            padding: 0 12px; }
            #header .wrapper .container .content nav.global > ul > li > a:before {
              content: "";
              position: absolute;
              bottom: 23px;
              left: 12px;
              display: block;
              width: 0;
              background-color: #004481;
              height: 2px;
              transition: all ease .3s; }
          #header .wrapper .container .content nav.global > ul > li:has(.dropdown) > a:after {
            content: "";
            display: block;
            background-image: url("../images/common/header_global_arrow.svg");
            width: 14px;
            height: 14px; }
          #header .wrapper .container .content nav.global > ul > li .dropdown {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            max-height: calc(100vh - 105px);
            overflow: auto;
            background: #FFFFFF;
            border: 1px solid #E8EFF6;
            border-radius: 8px;
            padding: 40px 64px;
            pointer-events: none;
            opacity: 0;
            transition: all ease .3s; }
            #header .wrapper .container .content nav.global > ul > li .dropdown .inner {
              max-width: 1104px;
              margin: 0 auto; }
              #header .wrapper .container .content nav.global > ul > li .dropdown .inner .title {
                font-weight: 700;
                font-size: 24px;
                line-height: 100%;
                letter-spacing: 0.16em;
                color: #004481;
                margin-bottom: 24px; }
                [lang='en'] #header .wrapper .container .content nav.global > ul > li .dropdown .inner .title {
                  letter-spacing: 0.05em; }
          #header .wrapper .container .content nav.global > ul > li.corporate .dropdown .inner > ul, #header .wrapper .container .content nav.global > ul > li.strategy .dropdown .inner > ul {
            display: flex;
            flex-wrap: wrap;
            gap: 16px 24px; }
            #header .wrapper .container .content nav.global > ul > li.corporate .dropdown .inner > ul > li, #header .wrapper .container .content nav.global > ul > li.strategy .dropdown .inner > ul > li {
              flex: 0 0 calc((100% - 24px * 2) / 3); }
              #header .wrapper .container .content nav.global > ul > li.corporate .dropdown .inner > ul > li a, #header .wrapper .container .content nav.global > ul > li.strategy .dropdown .inner > ul > li a {
                position: relative;
                display: block;
                font-weight: 700;
                font-size: 14px;
                line-height: 100%;
                color: #27333A;
                padding: 8px 16px;
                border-bottom: 1px solid #E8EFF6; }
                #header .wrapper .container .content nav.global > ul > li.corporate .dropdown .inner > ul > li a:before, #header .wrapper .container .content nav.global > ul > li.strategy .dropdown .inner > ul > li a:before {
                  content: "";
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  display: block;
                  width: 0px;
                  height: 1px;
                  background-color: #004481;
                  transition: all ease .3s; }
                @media screen and (min-width: 1024px) {
                  #header .wrapper .container .content nav.global > ul > li.corporate .dropdown .inner > ul > li a:hover:before, #header .wrapper .container .content nav.global > ul > li.strategy .dropdown .inner > ul > li a:hover:before {
                    width: 100%; } }
          #header .wrapper .container .content nav.global > ul > li.strategy .dropdown .inner > ul > li {
            flex: 0 0 calc((100% - 24px * 3) / 4); }
          #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > div {
            display: flex;
            gap: 24px;
            align-items: baseline; }
            #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > div .more a {
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A; }
          #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > ul {
            display: flex;
            flex-wrap: wrap;
            gap: 24px; }
            #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > ul > li {
              flex: 0 0 calc((100% - 24px * 2) / 3); }
              #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > ul > li p {
                font-weight: 700;
                font-size: 16px;
                line-height: 100%;
                color: #004481;
                margin-bottom: 16px; }
              #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > ul > li > ul {
                display: flex;
                flex-wrap: wrap;
                gap: 16px; }
                #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > ul > li > ul li {
                  flex: 0 0 100%; }
                  #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > ul > li > ul li a {
                    position: relative;
                    display: block;
                    font-weight: 700;
                    font-size: 14px;
                    line-height: 100%;
                    color: #27333A;
                    padding: 8px 16px;
                    border-bottom: 1px solid #E8EFF6; }
                    #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > ul > li > ul li a:before {
                      content: "";
                      position: absolute;
                      bottom: -1px;
                      left: 0;
                      display: block;
                      width: 0px;
                      height: 1px;
                      background-color: #004481;
                      transition: all ease .3s; }
                    #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > ul > li > ul li a[target]:after {
                      content: "";
                      background-image: url("../images/common/icon_blank.svg");
                      display: block;
                      width: 20px;
                      height: 20px;
                      position: absolute;
                      top: 5px;
                      right: 16px; }
                    @media screen and (min-width: 1024px) {
                      #header .wrapper .container .content nav.global > ul > li.ir .dropdown .inner > ul > li > ul li a:hover:before {
                        width: 100%; } }
          #header .wrapper .container .content nav.global > ul > li:hover > a:before {
            width: calc(100% - 24px); }
          #header .wrapper .container .content nav.global > ul > li:hover .dropdown {
            pointer-events: auto;
            opacity: 1; }
      #header .wrapper .container .content .lang {
        margin: 0 0 0 24px; }
        #header .wrapper .container .content .lang a {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 48px;
          height: 20px;
          background-color: #004481;
          font-weight: 700;
          font-size: 12px;
          line-height: 100%;
          text-align: center;
          letter-spacing: 0.1em;
          color: #FFFFFF;
          border-radius: 4px; }
      #header .wrapper .container .content .menu {
        display: none; }
        @media screen and (max-width: 1023px) {
          #header .wrapper .container .content .menu {
            display: block;
            margin: 0 0 0 24px; } }
        #header .wrapper .container .content .menu button {
          position: relative;
          width: 40px;
          height: 40px; }
          #header .wrapper .container .content .menu button > span:nth-child(1) span, #header .wrapper .container .content .menu button > span:nth-child(1):before, #header .wrapper .container .content .menu button > span:nth-child(1):after {
            content: "";
            display: block;
            position: absolute;
            top: 5px;
            left: 0;
            right: 0;
            background-color: #004481;
            height: 1px;
            transition: transform ease .3s, top ease .3s .3s; }
          .menu-active #header .wrapper .container .content .menu button > span:nth-child(1) span {
            top: 10px;
            transform: rotate(25deg);
            transition: transform ease .3s .3s, top ease .3s; }
          #header .wrapper .container .content .menu button > span:nth-child(1):before {
            top: 10px; }
            .menu-active #header .wrapper .container .content .menu button > span:nth-child(1):before {
              opacity: 0;
              transition: opacity ease .3s; }
          #header .wrapper .container .content .menu button > span:nth-child(1):after {
            top: 15px; }
            .menu-active #header .wrapper .container .content .menu button > span:nth-child(1):after {
              top: 10px;
              transform: rotate(-25deg);
              transition: transform ease .3s .3s, top ease .3s; }
          #header .wrapper .container .content .menu button > span:nth-child(2) {
            position: absolute;
            left: -6px;
            right: -6px;
            bottom: 5px;
            font-weight: 700;
            font-size: 12px;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.1em;
            color: #27333A;
            overflow: hidden;
            height: 12px;
            display: block; }
            #header .wrapper .container .content .menu button > span:nth-child(2) span {
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              display: block;
              transition: all ease .3s; }
            #header .wrapper .container .content .menu button > span:nth-child(2):before {
              content: "CLOSE";
              display: block;
              position: absolute;
              top: 100%;
              left: 0;
              right: 0;
              transition: all ease .3s; }
            .menu-active #header .wrapper .container .content .menu button > span:nth-child(2) span {
              top: -100%; }
            .menu-active #header .wrapper .container .content .menu button > span:nth-child(2):before {
              top: 0; }
  #header .wrapper nav.menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #FFFFFF;
    border: 1px solid #E8EFF6;
    border-radius: 8px;
    padding: 40px 64px;
    opacity: 0;
    pointer-events: none;
    transition: opacity ease .3s;
    display: none; }
    .menu-active #header .wrapper nav.menu {
      pointer-events: auto;
      opacity: 1; }
    @media screen and (max-width: 1023px) {
      #header .wrapper nav.menu {
        display: block;
        padding: 40px 40px;
        border-radius: 0 0 8px 8px; } }
    @media screen and (max-width: 767px) {
      #header .wrapper nav.menu {
        position: fixed;
        top: 74px;
        padding: 40px 24px;
        bottom: 0;
        border-radius: 0;
        overflow: auto;
        border: none; } }
    #header .wrapper nav.menu .primary {
      display: flex;
      width: 100%;
      margin: 0 auto;
      gap: 24px; }
      @media screen and (max-width: 767px) {
        #header .wrapper nav.menu .primary {
          flex-direction: column;
          gap: 16px; } }
      #header .wrapper nav.menu .primary > ul {
        flex: 0 0 calc((100% - 24px * 2) / 3);
        display: flex;
        flex-direction: column;
        gap: 16px; }
        [lang="en"] #header .wrapper nav.menu .primary > ul {
          flex: 0 0 calc((100% - 24px * 1) / 2); }
        @media screen and (max-width: 767px) {
          #header .wrapper nav.menu .primary > ul {
            flex: initial; } }
        #header .wrapper nav.menu .primary > ul > li > span,
        #header .wrapper nav.menu .primary > ul > li > a {
          position: relative;
          display: block;
          padding: 8px 8px 8px 20px;
          height: 32px;
          background: #FFFFFF;
          border: 1px solid #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 14px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          transition: all ease .3s; }
        #header .wrapper nav.menu .primary > ul > li > a .arrow {
          display: flex;
          flex-direction: row;
          justify-content: center;
          align-items: center;
          padding: 0px 16px 0px 0px;
          width: 28px;
          height: 16px;
          background: #004481;
          border-radius: 2px;
          position: absolute;
          right: 8px;
          top: 50%;
          transform: translateY(-50%); }
          #header .wrapper nav.menu .primary > ul > li > a .arrow:before, #header .wrapper nav.menu .primary > ul > li > a .arrow:after {
            content: "";
            display: block;
            -webkit-mask-image: url("../images/common/more_arrow.svg");
            mask-image: url("../images/common/more_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            width: 17px;
            height: 8px;
            position: absolute;
            top: calc(50% - 4px);
            left: calc(50% - 8.5px);
            transition: all ease .3s;
            opacity: 1;
            background-color: #fff; }
          #header .wrapper nav.menu .primary > ul > li > a .arrow:after {
            transform: translateX(-28px);
            opacity: 0; }
        @media screen and (min-width: 1024px) {
          #header .wrapper nav.menu .primary > ul > li > a:hover {
            background-color: #E8EFF6; }
            #header .wrapper nav.menu .primary > ul > li > a:hover .arrow:before {
              transform: translateX(28px);
              opacity: 0; }
            #header .wrapper nav.menu .primary > ul > li > a:hover .arrow:after {
              transform: translateX(0px);
              opacity: 1; } }
        #header .wrapper nav.menu .primary > ul > li ul {
          display: flex;
          flex-direction: column;
          gap: 16px;
          padding: 16px 0; }
          @media screen and (max-width: 767px) {
            #header .wrapper nav.menu .primary > ul > li ul {
              padding: 16px 0 8px; } }
          #header .wrapper nav.menu .primary > ul > li ul li a {
            position: relative;
            display: block;
            font-weight: 500;
            font-size: 12px;
            line-height: 16px;
            letter-spacing: 0.05em;
            color: #27333A;
            padding-left: 24px; }
            #header .wrapper nav.menu .primary > ul > li ul li a:before {
              content: "";
              display: block;
              width: 8px;
              height: 2px;
              border-radius: 2px;
              position: absolute;
              left: 8px;
              top: 7px;
              background-color: #E8EFF6;
              transition: all ease .3s; }
            #header .wrapper nav.menu .primary > ul > li ul li a .arrow {
              display: flex;
              flex-direction: row;
              justify-content: center;
              align-items: center;
              padding: 0px 16px 0px 0px;
              width: 28px;
              height: 16px;
              background: #004481;
              border-radius: 2px;
              position: absolute;
              right: 8px;
              top: 0; }
              #header .wrapper nav.menu .primary > ul > li ul li a .arrow:before, #header .wrapper nav.menu .primary > ul > li ul li a .arrow:after {
                content: "";
                display: block;
                -webkit-mask-image: url("../images/common/more_arrow.svg");
                mask-image: url("../images/common/more_arrow.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                width: 17px;
                height: 8px;
                position: absolute;
                top: calc(50% - 4px);
                left: calc(50% - 8.5px);
                transition: all ease .3s;
                opacity: 1;
                background-color: #fff; }
              #header .wrapper nav.menu .primary > ul > li ul li a .arrow:after {
                transform: translateX(-28px);
                opacity: 0; }
            @media screen and (min-width: 1024px) {
              #header .wrapper nav.menu .primary > ul > li ul li a:hover:before {
                background-color: #004481; }
              #header .wrapper nav.menu .primary > ul > li ul li a:hover .arrow:before {
                transform: translateX(28px);
                opacity: 0; }
              #header .wrapper nav.menu .primary > ul > li ul li a:hover .arrow:after {
                transform: translateX(0px);
                opacity: 1; } }
    #header .wrapper nav.menu .secondary {
      margin-top: 40px;
      display: flex;
      justify-content: center; }
      @media screen and (max-width: 767px) {
        #header .wrapper nav.menu .secondary {
          display: block; } }
      #header .wrapper nav.menu .secondary ul {
        display: flex;
        justify-content: center;
        border-left: 1px solid #E8EFF6; }
        @media screen and (max-width: 767px) {
          #header .wrapper nav.menu .secondary ul {
            gap: 24px;
            flex-direction: column;
            border: none; } }
        #header .wrapper nav.menu .secondary ul li {
          border-right: 1px solid #E8EFF6; }
          @media screen and (max-width: 767px) {
            #header .wrapper nav.menu .secondary ul li {
              border-right: 1px solid #004481;
              border-left: 1px solid #004481; } }
          #header .wrapper nav.menu .secondary ul li a {
            display: block;
            font-weight: 500;
            font-size: 10px;
            line-height: 100%;
            color: #27333A;
            padding: 0 16px; }
            @media screen and (max-width: 767px) {
              #header .wrapper nav.menu .secondary ul li a {
                font-size: 12px;
                text-align: center;
                color: #004481; } }

#footer {
  background-color: #FAFAFA;
  padding-top: 24px; }
  #footer .wrapper {
    width: calc(100% - 48px);
    margin: 0 auto;
    background-color: #004481;
    border-radius: 8px;
    padding: 64px; }
    @media screen and (max-width: 1023px) {
      #footer .wrapper {
        padding: 40px 24px; } }
    #footer .wrapper .container {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 1023px) {
        #footer .wrapper .container {
          flex-direction: column; } }
      @media screen and (max-width: 1023px) {
        #footer .wrapper .container .information {
          order: 2;
          margin-top: 64px; } }
      #footer .wrapper .container .information .logo {
        margin-bottom: 40px; }
        @media screen and (max-width: 1023px) {
          #footer .wrapper .container .information .logo {
            text-align: center;
            margin-bottom: 64px; } }
        @media screen and (max-width: 1023px) {
          #footer .wrapper .container .information .logo img {
            width: 160px; } }
      @media screen and (max-width: 1023px) {
        #footer .wrapper .container .information .content {
          width: fit-content;
          margin: 0 auto; } }
      #footer .wrapper .container .information .content .name {
        font-weight: 700;
        font-size: 16px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        margin-bottom: 16px; }
      #footer .wrapper .container .information .content .address {
        font-weight: 400;
        font-size: 14px;
        line-height: 150%;
        letter-spacing: 0.05em;
        color: #FFFFFF; }
      #footer .wrapper .container .information .content nav.sns {
        display: flex;
        gap: 24px;
        align-items: flex-end;
        margin-top: 40px; }
        @media screen and (max-width: 1023px) {
          #footer .wrapper .container .information .content nav.sns {
            flex-direction: column;
            align-items: center; } }
        #footer .wrapper .container .information .content nav.sns p.note a {
          display: flex;
          justify-content: center;
          align-items: center;
          background-image: url("../images/common/footer_sns_note_bg.jpg");
          background-size: cover;
          width: 120px;
          height: 48px;
          font-weight: 700;
          font-size: 10px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          border-radius: 4px; }
          @media screen and (max-width: 1023px) {
            #footer .wrapper .container .information .content nav.sns p.note a {
              width: 240px;
              height: 64px;
              font-size: 14px; } }
        #footer .wrapper .container .information .content nav.sns ul {
          display: flex;
          gap: 24px; }
          @media screen and (max-width: 1023px) {
            #footer .wrapper .container .information .content nav.sns ul {
              gap: 32px; } }
          #footer .wrapper .container .information .content nav.sns ul li a {
            display: block;
            width: 24px;
            height: 24px;
            background-size: 100% 100%;
            text-indent: -9999px;
            overflow: hidden; }
            @media screen and (max-width: 1023px) {
              #footer .wrapper .container .information .content nav.sns ul li a {
                width: 32px;
                height: 32px; } }
          #footer .wrapper .container .information .content nav.sns ul li.facebook a {
            background-image: url("../images/common/footer_sns_facebook_icon.svg"); }
          #footer .wrapper .container .information .content nav.sns ul li.x a {
            background-image: url("../images/common/footer_sns_x_icon.svg"); }
          #footer .wrapper .container .information .content nav.sns ul li.note a {
            background-image: url("../images/common/footer_sns_note_icon.svg"); }
      #footer .wrapper .container nav.sitemap {
        flex: 0 0 708px; }
        @media screen and (max-width: 1023px) {
          #footer .wrapper .container nav.sitemap {
            flex: 1;
            order: 1; } }
        #footer .wrapper .container nav.sitemap .primary {
          display: flex;
          gap: 24px; }
          @media screen and (max-width: 1023px) {
            #footer .wrapper .container nav.sitemap .primary {
              flex-direction: column; } }
          #footer .wrapper .container nav.sitemap .primary > ul {
            flex: 0 0 calc((100% - 24px * 2) / 3);
            display: flex;
            flex-direction: column;
            gap: 16px; }
            [lang='en'] #footer .wrapper .container nav.sitemap .primary > ul {
              flex: 0 0 300px; }
              @media screen and (max-width: 1023px) {
                [lang='en'] #footer .wrapper .container nav.sitemap .primary > ul {
                  flex: initial; } }
            @media screen and (max-width: 1023px) {
              #footer .wrapper .container nav.sitemap .primary > ul {
                flex: initial; } }
            #footer .wrapper .container nav.sitemap .primary > ul > li > span,
            #footer .wrapper .container nav.sitemap .primary > ul > li > a {
              position: relative;
              display: flex;
              justify-content: space-between;
              align-items: center;
              height: 32px;
              border: 1px solid #FFFFFF;
              border-radius: 4px;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              letter-spacing: 0.05em;
              color: #FFFFFF;
              padding: 0 8px 0 20px; }
            #footer .wrapper .container nav.sitemap .primary > ul > li > a .arrow {
              display: flex;
              flex-direction: row;
              justify-content: center;
              align-items: center;
              padding: 0px 16px 0px 0px;
              width: 28px;
              height: 16px;
              background: #004481;
              border-radius: 2px;
              position: absolute;
              top: 8px;
              right: 8px; }
              #footer .wrapper .container nav.sitemap .primary > ul > li > a .arrow:before, #footer .wrapper .container nav.sitemap .primary > ul > li > a .arrow:after {
                content: "";
                display: block;
                -webkit-mask-image: url("../images/common/more_arrow.svg");
                mask-image: url("../images/common/more_arrow.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                width: 17px;
                height: 8px;
                position: absolute;
                top: calc(50% - 4px);
                left: calc(50% - 8.5px);
                transition: all ease .3s;
                opacity: 1;
                background-color: #fff; }
              #footer .wrapper .container nav.sitemap .primary > ul > li > a .arrow:after {
                transform: translateX(-28px);
                opacity: 0; }
            @media screen and (min-width: 1024px) {
              #footer .wrapper .container nav.sitemap .primary > ul > li > a:hover .arrow:before {
                transform: translateX(28px);
                opacity: 0; }
              #footer .wrapper .container nav.sitemap .primary > ul > li > a:hover .arrow:after {
                transform: translateX(0px);
                opacity: 1; } }
            #footer .wrapper .container nav.sitemap .primary > ul > li > ul {
              padding: 16px 0;
              display: flex;
              flex-direction: column;
              gap: 16px; }
              #footer .wrapper .container nav.sitemap .primary > ul > li > ul > li a {
                position: relative;
                display: block;
                height: 16px;
                align-items: center;
                justify-content: space-between;
                font-weight: 500;
                font-size: 12px;
                line-height: 16px;
                letter-spacing: 0.05em;
                color: #FFFFFF;
                flex: none;
                order: 1;
                flex-grow: 0;
                padding-left: 24px; }
                #footer .wrapper .container nav.sitemap .primary > ul > li > ul > li a:before {
                  content: "";
                  position: absolute;
                  top: 7px;
                  left: 8px;
                  display: block;
                  width: 8px;
                  height: 2px;
                  border-radius: 2px;
                  background-color: #00BFFF; }
                #footer .wrapper .container nav.sitemap .primary > ul > li > ul > li a .arrow {
                  display: flex;
                  flex-direction: row;
                  justify-content: center;
                  align-items: center;
                  padding: 0px 16px 0px 0px;
                  width: 28px;
                  height: 16px;
                  background: #004481;
                  border-radius: 2px;
                  position: absolute;
                  top: 0px;
                  right: 8px; }
                  #footer .wrapper .container nav.sitemap .primary > ul > li > ul > li a .arrow:before, #footer .wrapper .container nav.sitemap .primary > ul > li > ul > li a .arrow:after {
                    content: "";
                    display: block;
                    -webkit-mask-image: url("../images/common/more_arrow.svg");
                    mask-image: url("../images/common/more_arrow.svg");
                    -webkit-mask-size: 100% 100%;
                    mask-size: 100% 100%;
                    width: 17px;
                    height: 8px;
                    position: absolute;
                    top: calc(50% - 4px);
                    left: calc(50% - 8.5px);
                    transition: all ease .3s;
                    opacity: 1;
                    background-color: #fff; }
                  #footer .wrapper .container nav.sitemap .primary > ul > li > ul > li a .arrow:after {
                    transform: translateX(-28px);
                    opacity: 0; }
                @media screen and (min-width: 1024px) {
                  #footer .wrapper .container nav.sitemap .primary > ul > li > ul > li a:hover .arrow:before {
                    transform: translateX(28px);
                    opacity: 0; }
                  #footer .wrapper .container nav.sitemap .primary > ul > li > ul > li a:hover .arrow:after {
                    transform: translateX(0px);
                    opacity: 1; } }
        #footer .wrapper .container nav.sitemap .secondary {
          margin-top: 64px;
          display: flex;
          justify-content: flex-end; }
          @media screen and (max-width: 1023px) {
            #footer .wrapper .container nav.sitemap .secondary {
              flex-direction: column;
              justify-content: normal;
              margin-top: 48px; } }
          #footer .wrapper .container nav.sitemap .secondary ul {
            display: flex;
            border-left: 1px solid #D9D9D9; }
            @media screen and (max-width: 1023px) {
              #footer .wrapper .container nav.sitemap .secondary ul {
                flex-direction: column;
                border: none;
                gap: 24px; } }
            #footer .wrapper .container nav.sitemap .secondary ul li {
              border-right: 1px solid #D9D9D9; }
              @media screen and (max-width: 1023px) {
                #footer .wrapper .container nav.sitemap .secondary ul li {
                  border-left: 1px solid #D9D9D9; } }
              #footer .wrapper .container nav.sitemap .secondary ul li a {
                display: block;
                font-weight: 500;
                font-size: 10px;
                line-height: 100%;
                color: #FFFFFF;
                padding: 0 16px; }
                @media screen and (max-width: 1023px) {
                  #footer .wrapper .container nav.sitemap .secondary ul li a {
                    text-align: center;
                    font-size: 12px; } }
  #footer .copyright {
    font-weight: 600;
    font-size: 10px;
    line-height: 100%;
    color: #004481;
    text-align: center;
    padding: 24px 0; }

main.home section.topics .container {
  width: calc(100% - 64px * 2);
  max-width: 1152px;
  margin: 0 auto;
  position: relative;
  padding: 128px 0 95px; }
  @media screen and (max-width: 1023px) {
    main.home section.topics .container {
      width: calc(100% - 24px * 2); } }
  @media screen and (max-width: 1023px) {
    main.home section.topics .container {
      padding: 80px 0 64px; } }
  main.home section.topics .container hgroup {
    position: relative;
    padding: 8px 0;
    padding-left: 26px;
    margin-bottom: 32px; }
    main.home section.topics .container hgroup p {
      position: relative;
      font-weight: 700;
      font-size: 14px;
      line-height: 100%;
      letter-spacing: 0.05em;
      color: #004481;
      flex: none;
      order: 1;
      flex-grow: 0;
      opacity: 0;
      transition: all ease .5s;
      transform: translateX(-20px); }
      main.home section.topics .container hgroup p:before {
        content: "";
        background-color: #004481;
        display: block;
        width: 16px;
        height: 2px;
        position: absolute;
        top: 6px;
        left: -26px; }
    main.home section.topics .container hgroup h2 {
      font-weight: 700;
      font-size: 48px;
      line-height: 100%;
      letter-spacing: 0.08em;
      color: #27333A;
      margin-top: 16px;
      display: none; }
      main.home section.topics .container hgroup h2 span {
        position: relative;
        display: inline-block;
        opacity: 0;
        transform: translateY(20px);
        transition: all ease .5s; }
      @media screen and (max-width: 1023px) {
        main.home section.topics .container hgroup h2 {
          font-size: 24px;
          margin-top: 12px; } }
    main.home section.topics .container hgroup[data-inview-active] p {
      transform: translateX(0px);
      opacity: 1; }
    main.home section.topics .container hgroup[data-inview-active] h2 span {
      opacity: 1;
      transform: translateY(0px); }
  main.home section.topics .container .body {
    display: flex; }
    @media screen and (max-width: 1023px) {
      main.home section.topics .container .body {
        flex-direction: column;
        gap: 32px; } }
    main.home section.topics .container .body .primary {
      flex: 0 0 calc(610 / 1152 * 100%);
      padding-right: 20px; }
      @media screen and (max-width: 1023px) {
        main.home section.topics .container .body .primary {
          flex: initial;
          padding-right: 0; } }
      main.home section.topics .container .body .primary ul li a {
        display: block; }
        main.home section.topics .container .body .primary ul li a figure {
          position: relative;
          border-radius: 8px;
          overflow: hidden;
          margin-bottom: 20px;
          transition: all ease 0.3s calc(.3s + 0s); }
          main.home section.topics .container .body .primary ul li a figure div.wipe {
            transition: all ease 0.3s calc(0s + 0s);
            clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
            main.home section.topics .container .body .primary ul li a figure div.wipe:before {
              content: "";
              display: block;
              background-color: #004481;
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              width: 100%;
              transition: all ease 0.3s calc(.3s + 0s);
              transform-origin: 100% 0; }
          .is-loaded main.home section.topics .container .body .primary ul li a figure {
            box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.15); }
            .is-loaded main.home section.topics .container .body .primary ul li a figure div.wipe {
              clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
              .is-loaded main.home section.topics .container .body .primary ul li a figure div.wipe:before {
                transform: scale(0, 1); }
          main.home section.topics .container .body .primary ul li a figure img {
            width: 100%;
            aspect-ratio: 1200 / 630;
            object-fit: cover;
            transition: all ease .3s; }
        main.home section.topics .container .body .primary ul li a .content .date {
          font-weight: 700;
          font-size: 14px;
          line-height: 100%;
          color: #004481;
          margin-bottom: 8px; }
        main.home section.topics .container .body .primary ul li a .content .title {
          font-weight: 700;
          font-size: 24px;
          line-height: 130%;
          color: #27333A; }
          @media screen and (max-width: 1023px) {
            main.home section.topics .container .body .primary ul li a .content .title {
              font-size: 18px;
              line-height: 150%; } }
        main.home section.topics .container .body .primary ul li a:hover figure img {
          transform: scale(1.05); }
    main.home section.topics .container .body .secondary {
      flex: 0 0 calc(542 / 1152 * 100%);
      padding-left: 20px; }
      @media screen and (max-width: 1023px) {
        main.home section.topics .container .body .secondary {
          flex: initial;
          padding-left: 0; } }
      main.home section.topics .container .body .secondary ul {
        display: flex;
        flex-wrap: wrap;
        gap: 42px 24px; }
        @media screen and (max-width: 1023px) {
          main.home section.topics .container .body .secondary ul {
            gap: 24px; } }
        main.home section.topics .container .body .secondary ul li {
          flex: 0 0 calc((100% - 24px) / 2); }
          @media screen and (max-width: 767px) {
            main.home section.topics .container .body .secondary ul li {
              flex: 0 0 100%; } }
          main.home section.topics .container .body .secondary ul li a {
            display: block; }
            @media screen and (max-width: 1023px) {
              main.home section.topics .container .body .secondary ul li a {
                display: flex;
                align-items: flex-start;
                gap: 16px; } }
            main.home section.topics .container .body .secondary ul li a figure {
              border-radius: 8px;
              overflow: hidden;
              margin-bottom: 16px; }
              @media screen and (max-width: 1023px) {
                main.home section.topics .container .body .secondary ul li a figure {
                  flex: 0 0 163px; } }
              main.home section.topics .container .body .secondary ul li a figure img {
                width: 100%;
                aspect-ratio: 1200 / 630;
                object-fit: cover;
                transition: all ease .3s; }
            @media screen and (max-width: 1023px) {
              main.home section.topics .container .body .secondary ul li a .content {
                flex: 1;
                padding-top: 4px; } }
            main.home section.topics .container .body .secondary ul li a .content .date {
              font-weight: 700;
              font-size: 12px;
              line-height: 100%;
              color: #004481;
              margin-bottom: 8px; }
            main.home section.topics .container .body .secondary ul li a .content .title {
              font-weight: 700;
              font-size: 12px;
              line-height: 130%;
              color: #27333A; }
              @media screen and (max-width: 1023px) {
                main.home section.topics .container .body .secondary ul li a .content .title {
                  line-height: 150%; } }
            main.home section.topics .container .body .secondary ul li a:hover figure img {
              transform: scale(1.05); }
          main.home section.topics .container .body .secondary ul li:nth-child(1) a figure {
            transition: all ease 0.3s calc(.3s + 0.1s); }
            main.home section.topics .container .body .secondary ul li:nth-child(1) a figure div.wipe {
              transition: all ease 0.3s calc(0s + 0.1s);
              clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
              main.home section.topics .container .body .secondary ul li:nth-child(1) a figure div.wipe:before {
                content: "";
                display: block;
                background-color: #004481;
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                width: 100%;
                transition: all ease 0.3s calc(.3s + 0.1s);
                transform-origin: 100% 0; }
            .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(1) a figure {
              box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.15); }
              .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(1) a figure div.wipe {
                clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
                .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(1) a figure div.wipe:before {
                  transform: scale(0, 1); }
          main.home section.topics .container .body .secondary ul li:nth-child(2) a figure {
            transition: all ease 0.3s calc(.3s + 0.1s); }
            main.home section.topics .container .body .secondary ul li:nth-child(2) a figure div.wipe {
              transition: all ease 0.3s calc(0s + 0.1s);
              clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
              main.home section.topics .container .body .secondary ul li:nth-child(2) a figure div.wipe:before {
                content: "";
                display: block;
                background-color: #004481;
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                width: 100%;
                transition: all ease 0.3s calc(.3s + 0.1s);
                transform-origin: 100% 0; }
            .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(2) a figure {
              box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.15); }
              .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(2) a figure div.wipe {
                clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
                .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(2) a figure div.wipe:before {
                  transform: scale(0, 1); }
          main.home section.topics .container .body .secondary ul li:nth-child(3) a figure {
            transition: all ease 0.3s calc(.3s + 0.1s); }
            main.home section.topics .container .body .secondary ul li:nth-child(3) a figure div.wipe {
              transition: all ease 0.3s calc(0s + 0.1s);
              clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
              main.home section.topics .container .body .secondary ul li:nth-child(3) a figure div.wipe:before {
                content: "";
                display: block;
                background-color: #004481;
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                width: 100%;
                transition: all ease 0.3s calc(.3s + 0.1s);
                transform-origin: 100% 0; }
            .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(3) a figure {
              box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.15); }
              .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(3) a figure div.wipe {
                clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
                .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(3) a figure div.wipe:before {
                  transform: scale(0, 1); }
          main.home section.topics .container .body .secondary ul li:nth-child(4) a figure {
            transition: all ease 0.3s calc(.3s + 0.1s); }
            main.home section.topics .container .body .secondary ul li:nth-child(4) a figure div.wipe {
              transition: all ease 0.3s calc(0s + 0.1s);
              clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
              main.home section.topics .container .body .secondary ul li:nth-child(4) a figure div.wipe:before {
                content: "";
                display: block;
                background-color: #004481;
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                width: 100%;
                transition: all ease 0.3s calc(.3s + 0.1s);
                transform-origin: 100% 0; }
            .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(4) a figure {
              box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.15); }
              .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(4) a figure div.wipe {
                clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
                .is-loaded main.home section.topics .container .body .secondary ul li:nth-child(4) a figure div.wipe:before {
                  transform: scale(0, 1); }
  main.home section.topics .container .scroll {
    position: absolute;
    font-weight: 700;
    font-size: 12px;
    line-height: 100%;
    color: #004481;
    bottom: 0;
    left: -2px;
    height: 73px;
    padding-left: 12px;
    overflow: hidden; }
    @media screen and (max-width: 1023px) {
      main.home section.topics .container .scroll {
        display: none; } }
    main.home section.topics .container .scroll:before {
      content: "";
      display: block;
      width: 2px;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 2px;
      background-color: #004481; }
    main.home section.topics .container .scroll:after {
      content: "";
      display: block;
      width: 6px;
      height: 6px;
      position: absolute;
      left: 0px;
      top: 0;
      border-radius: 50%;
      background-color: #004481;
      animation: home-topics-scroll ease-in infinite 1.5s; }
@keyframes home-topics-scroll {
  0% {
    top: 0; }
  30% {
    top: 100%; }
  100% {
    top: 100%; } }
main.home section.company {
  background-color: #FAFAFA;
  padding: 80px 0 0;
  margin-bottom: -95px;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.home section.company {
      padding: 64px 0 0;
      margin-bottom: -72px; } }
  main.home section.company .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.home section.company .container {
        width: calc(100% - 24px * 2); } }
    main.home section.company .container .cols {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 1023px) {
        main.home section.company .container .cols {
          display: block; } }
      main.home section.company .container .cols hgroup {
        position: relative;
        padding-left: 26px;
        flex: 0 0 280px; }
        main.home section.company .container .cols hgroup p {
          position: relative;
          font-weight: 700;
          font-size: 14px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          flex: none;
          order: 1;
          flex-grow: 0;
          opacity: 0;
          transition: all ease .5s;
          transform: translateX(-20px); }
          main.home section.company .container .cols hgroup p:before {
            content: "";
            background-color: #004481;
            display: block;
            width: 16px;
            height: 2px;
            position: absolute;
            top: 6px;
            left: -26px; }
        main.home section.company .container .cols hgroup h2 {
          font-weight: 700;
          font-size: 48px;
          line-height: 100%;
          letter-spacing: 0.08em;
          color: #27333A;
          margin-top: 16px; }
          main.home section.company .container .cols hgroup h2 span {
            position: relative;
            display: inline-block;
            opacity: 0;
            transform: translateY(20px);
            transition: all ease .5s; }
          @media screen and (max-width: 1023px) {
            main.home section.company .container .cols hgroup h2 {
              font-size: 24px;
              margin-top: 12px; } }
        main.home section.company .container .cols hgroup[data-inview-active] p {
          transform: translateX(0px);
          opacity: 1; }
        main.home section.company .container .cols hgroup[data-inview-active] h2 span {
          opacity: 1;
          transform: translateY(0px); }
        @media screen and (max-width: 1023px) {
          main.home section.company .container .cols hgroup {
            margin-bottom: 48px; } }
      main.home section.company .container .cols .body {
        flex: 1;
        max-width: 840px;
        padding-top: 160px;
        transition: all ease 1s .3s;
        transform: translateX(20px);
        opacity: 0; }
        main.home section.company .container .cols .body[data-inview-active] {
          transform: translateX(0);
          opacity: 1; }
        @media screen and (max-width: 1023px) {
          main.home section.company .container .cols .body {
            padding: 0;
            max-width: none; } }
        main.home section.company .container .cols .body .copy {
          font-weight: 700;
          font-size: 40px;
          line-height: 180%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 32px;
          max-width: none; }
          @media screen and (max-width: 1023px) {
            main.home section.company .container .cols .body .copy {
              font-size: 25px;
              line-height: 150%;
              letter-spacing: 0;
              margin-bottom: 32px; }
              main.home section.company .container .cols .body .copy br {
                display: none; } }
        main.home section.company .container .cols .body p {
          font-weight: 400;
          font-size: 16px;
          line-height: 200%;
          color: #27333A;
          max-width: 720px; }
          @media screen and (max-width: 1023px) {
            main.home section.company .container .cols .body p {
              line-height: 180%;
              max-width: none; } }
    main.home section.company .container .content {
      position: relative;
      z-index: 1;
      margin-top: 69px;
      margin-right: calc(-50vw + 50%); }
      @media screen and (max-width: 1023px) {
        main.home section.company .container .content {
          margin-top: 40px;
          margin-right: calc(-50vw + 50%); } }
      main.home section.company .container .content div.wipe {
        position: relative;
        transition: all ease 0.5s calc(0s + 0s);
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.home section.company .container .content div.wipe:before {
          content: "";
          display: block;
          background-color: #004481;
          position: absolute;
          z-index: 1;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease 0.5s calc(.5s + 0s);
          transform-origin: 100% 0; }
      main.home section.company .container .content[data-inview-active] div.wipe {
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
        main.home section.company .container .content[data-inview-active] div.wipe:before {
          transform: scale(0, 1); }
      main.home section.company .container .content .wipe {
        background-color: #004781;
        border-radius: 8px 0 0 8px;
        overflow: hidden; }
        main.home section.company .container .content .wipe ul {
          padding: 64px 50px;
          display: flex;
          gap: 24px;
          width: calc(100% - 64px);
          max-width: 1152px;
          /*
          &:before {
          	content: "";
          	position: absolute;
          	top: 0;
          	left: 100%;
          	bottom: 0;
          	width: 50vw;
          	display: block;
          	background-color: #004781;
          }
          */ }
          @media screen and (max-width: 1023px) {
            main.home section.company .container .content .wipe ul {
              padding: 32px 0 32px 24px;
              gap: 16px;
              flex-wrap: wrap;
              width: calc(100% - 24px); } }
          main.home section.company .container .content .wipe ul li {
            flex: 1; }
            @media screen and (max-width: 767px) {
              main.home section.company .container .content .wipe ul li {
                flex: 0 0 100%; } }
            main.home section.company .container .content .wipe ul li a {
              display: block;
              background-color: #fff;
              border-radius: 8px;
              padding: 24px;
              height: 100%; }
              main.home section.company .container .content .wipe ul li a .title {
                margin-bottom: 24px; }
                @media screen and (max-width: 1023px) {
                  main.home section.company .container .content .wipe ul li a .title {
                    margin-bottom: 16px; } }
                main.home section.company .container .content .wipe ul li a .title p:nth-child(1) {
                  font-weight: 700;
                  font-size: 14px;
                  line-height: 100%;
                  letter-spacing: 0.05em;
                  color: #004481;
                  margin-bottom: 12px; }
                  @media screen and (max-width: 1023px) {
                    main.home section.company .container .content .wipe ul li a .title p:nth-child(1) {
                      font-size: 12px;
                      margin-bottom: 8px; } }
                main.home section.company .container .content .wipe ul li a .title p:nth-child(2) {
                  font-weight: 700;
                  font-size: 16px;
                  line-height: 100%;
                  letter-spacing: 0.05em;
                  color: #27333A; }
                  @media screen and (max-width: 1023px) {
                    main.home section.company .container .content .wipe ul li a .title p:nth-child(2) {
                      font-size: 14px; } }
              main.home section.company .container .content .wipe ul li a .more > span {
                display: flex;
                align-items: center;
                gap: 16px;
                font-style: normal;
                font-weight: 700;
                font-size: 14px;
                line-height: 100%;
                letter-spacing: 0.05em;
                color: #004481; }
                main.home section.company .container .content .wipe ul li a .more > span:before {
                  content: "";
                  display: block;
                  height: 2px;
                  flex: 1;
                  background-color: #004481;
                  border-radius: 9999px;
                  transition: all ease .3s;
                  transform-origin: 0 0;
                  transform: scale(0, 1); }
                main.home section.company .container .content .wipe ul li a .more > span .arrow {
                  position: relative;
                  display: block;
                  width: 40px;
                  height: 24px;
                  border-radius: 4px;
                  background-color: #004481;
                  overflow: hidden; }
                  main.home section.company .container .content .wipe ul li a .more > span .arrow:before, main.home section.company .container .content .wipe ul li a .more > span .arrow:after {
                    content: "";
                    display: block;
                    -webkit-mask-image: url("../images/common/more_arrow.svg");
                    mask-image: url("../images/common/more_arrow.svg");
                    -webkit-mask-size: 100% 100%;
                    mask-size: 100% 100%;
                    width: 17px;
                    height: 8px;
                    position: absolute;
                    top: calc(50% - 4px);
                    left: calc(50% - 8.5px);
                    transition: all ease .3s;
                    opacity: 1;
                    background-color: #fff; }
                  main.home section.company .container .content .wipe ul li a .more > span .arrow:after {
                    transform: translateX(-40px);
                    opacity: 0; }
                @media screen and (max-width: 1023px) {
                  main.home section.company .container .content .wipe ul li a .more > span {
                    font-size: 12px;
                    gap: 8px; } }
              @media screen and (min-width: 1024px) {
                main.home section.company .container .content .wipe ul li a:hover .more > span:before {
                  transform: scale(1, 1); }
                main.home section.company .container .content .wipe ul li a:hover .more > span .arrow:before {
                  transform: translateX(40px);
                  opacity: 0; }
                main.home section.company .container .content .wipe ul li a:hover .more > span .arrow:after {
                  transform: translateX(0px);
                  opacity: 1; } }
main.home section.business {
  position: relative;
  clip-path: inset(0);
  padding: 240px 0 80px;
  flex-wrap: wrap; }
  main.home section.business:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("../images/home/business_bg.jpg");
    background-size: cover;
    background-position: 50% 50%;
    z-index: -1; }
  @media screen and (max-width: 1023px) {
    main.home section.business {
      padding: 160px 0 64px; } }
  main.home section.business .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.home section.business .container {
        width: calc(100% - 24px * 2); } }
    main.home section.business .container .cols {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 1023px) {
        main.home section.business .container .cols {
          display: block; } }
      main.home section.business .container .cols hgroup {
        position: relative;
        padding-left: 26px;
        flex: 0 0 280px; }
        main.home section.business .container .cols hgroup p {
          position: relative;
          font-weight: 700;
          font-size: 14px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          flex: none;
          order: 1;
          flex-grow: 0;
          opacity: 0;
          transition: all ease .5s;
          transform: translateX(-20px); }
          main.home section.business .container .cols hgroup p:before {
            content: "";
            background-color: #004481;
            display: block;
            width: 16px;
            height: 2px;
            position: absolute;
            top: 6px;
            left: -26px; }
        main.home section.business .container .cols hgroup h2 {
          font-weight: 700;
          font-size: 48px;
          line-height: 100%;
          letter-spacing: 0.08em;
          color: #27333A;
          margin-top: 16px; }
          main.home section.business .container .cols hgroup h2 span {
            position: relative;
            display: inline-block;
            opacity: 0;
            transform: translateY(20px);
            transition: all ease .5s; }
          @media screen and (max-width: 1023px) {
            main.home section.business .container .cols hgroup h2 {
              font-size: 24px;
              margin-top: 12px; } }
        main.home section.business .container .cols hgroup[data-inview-active] p {
          transform: translateX(0px);
          opacity: 1; }
        main.home section.business .container .cols hgroup[data-inview-active] h2 span {
          opacity: 1;
          transform: translateY(0px); }
        @media screen and (max-width: 1023px) {
          main.home section.business .container .cols hgroup {
            margin-bottom: 48px; } }
      main.home section.business .container .cols .body {
        flex: 1;
        max-width: 840px;
        padding-top: 40px;
        transition: all ease 1s .3s;
        transform: translateX(20px);
        opacity: 0; }
        main.home section.business .container .cols .body[data-inview-active] {
          transform: translateX(0);
          opacity: 1; }
        @media screen and (max-width: 1023px) {
          main.home section.business .container .cols .body {
            max-width: none;
            padding-top: 0; } }
        main.home section.business .container .cols .body p {
          font-weight: 400;
          font-size: 16px;
          line-height: 200%;
          color: #27333A; }
          @media screen and (max-width: 1023px) {
            main.home section.business .container .cols .body p {
              line-height: 180%; } }
        main.home section.business .container .cols .body .copy {
          font-weight: 700;
          font-size: 40px;
          line-height: 180%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 32px; }
          @media screen and (max-width: 1023px) {
            main.home section.business .container .cols .body .copy {
              font-size: 23px;
              line-height: 150%; } }
        main.home section.business .container .cols .body .more {
          margin-top: 32px;
          max-width: 776px; }
          @media screen and (max-width: 1023px) {
            main.home section.business .container .cols .body .more {
              max-width: none; } }
          main.home section.business .container .cols .body .more a {
            display: flex;
            align-items: center;
            gap: 16px;
            font-style: normal;
            font-weight: 700;
            font-size: 14px;
            line-height: 100%;
            letter-spacing: 0.05em;
            color: #004481;
            padding: 16px;
            background-color: #fff;
            border-radius: 4px; }
            main.home section.business .container .cols .body .more a:before {
              content: "";
              display: block;
              height: 2px;
              flex: 1;
              background-color: #004481;
              border-radius: 9999px;
              transition: all ease .3s;
              transform-origin: 0 0;
              transform: scale(0, 1); }
            main.home section.business .container .cols .body .more a .arrow {
              position: relative;
              display: block;
              width: 40px;
              height: 24px;
              border-radius: 4px;
              background-color: #004481;
              overflow: hidden; }
              main.home section.business .container .cols .body .more a .arrow:before, main.home section.business .container .cols .body .more a .arrow:after {
                content: "";
                display: block;
                -webkit-mask-image: url("../images/common/more_arrow.svg");
                mask-image: url("../images/common/more_arrow.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                width: 17px;
                height: 8px;
                position: absolute;
                top: calc(50% - 4px);
                left: calc(50% - 8.5px);
                transition: all ease .3s;
                opacity: 1;
                background-color: #fff; }
              main.home section.business .container .cols .body .more a .arrow:after {
                transform: translateX(-40px);
                opacity: 0; }
            @media screen and (min-width: 1024px) {
              main.home section.business .container .cols .body .more a:hover:before {
                transform: scale(1, 1); }
              main.home section.business .container .cols .body .more a:hover .arrow:before {
                transform: translateX(40px);
                opacity: 0; }
              main.home section.business .container .cols .body .more a:hover .arrow:after {
                transform: translateX(0px);
                opacity: 1; } }
main.home section.strategy {
  padding: 120px 0 160px; }
  @media screen and (max-width: 1023px) {
    main.home section.strategy {
      padding: 64px 0; } }
  main.home section.strategy .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.home section.strategy .container {
        width: calc(100% - 24px * 2); } }
    main.home section.strategy .container hgroup {
      position: relative;
      padding-left: 26px;
      margin-bottom: 40px; }
      main.home section.strategy .container hgroup p {
        position: relative;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #004481;
        flex: none;
        order: 1;
        flex-grow: 0;
        opacity: 0;
        transition: all ease .5s;
        transform: translateX(-20px); }
        main.home section.strategy .container hgroup p:before {
          content: "";
          background-color: #004481;
          display: block;
          width: 16px;
          height: 2px;
          position: absolute;
          top: 6px;
          left: -26px; }
      main.home section.strategy .container hgroup h2 {
        font-weight: 700;
        font-size: 48px;
        line-height: 100%;
        letter-spacing: 0.08em;
        color: #27333A;
        margin-top: 16px; }
        main.home section.strategy .container hgroup h2 span {
          position: relative;
          display: inline-block;
          opacity: 0;
          transform: translateY(20px);
          transition: all ease .5s; }
        @media screen and (max-width: 1023px) {
          main.home section.strategy .container hgroup h2 {
            font-size: 24px;
            margin-top: 12px; } }
      main.home section.strategy .container hgroup[data-inview-active] p {
        transform: translateX(0px);
        opacity: 1; }
      main.home section.strategy .container hgroup[data-inview-active] h2 span {
        opacity: 1;
        transform: translateY(0px); }
    main.home section.strategy .container .copy {
      font-weight: 700;
      font-size: 28px;
      line-height: 180%;
      text-align: right;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 40px;
      transition: all ease 1s .3s;
      transform: translateX(20px);
      opacity: 0; }
      main.home section.strategy .container .copy[data-inview-active] {
        transform: translateX(0);
        opacity: 1; }
      @media screen and (max-width: 1023px) {
        main.home section.strategy .container .copy {
          font-size: 18px;
          letter-spacing: 0;
          margin-bottom: 48px;
          text-align: left; }
          main.home section.strategy .container .copy br {
            display: none; } }
    main.home section.strategy .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 40px; }
      @media screen and (max-width: 1023px) {
        main.home section.strategy .container ul {
          gap: 24px; } }
      main.home section.strategy .container ul li {
        flex: 0 0 100%;
        transition: all ease 1s .3s;
        transform: translateX(20px);
        opacity: 0; }
        main.home section.strategy .container ul li[data-inview-active] {
          transform: translateX(0);
          opacity: 1; }
        @media screen and (max-width: 767px) {
          main.home section.strategy .container ul li {
            flex: 0 0 100%; } }
        main.home section.strategy .container ul li a {
          display: flex;
          align-items: flex-start;
          gap: 64px;
          padding: 40px 64px;
          background: rgba(255, 255, 255, 0.5);
          border: 1px solid #E8EFF6;
          box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
          border-radius: 8px;
          transition: all ease .3s; }
          @media screen and (max-width: 1023px) {
            main.home section.strategy .container ul li a {
              gap: 24px;
              padding: 24px;
              height: 100%; } }
          @media screen and (max-width: 767px) {
            main.home section.strategy .container ul li a {
              flex-wrap: wrap; } }
          main.home section.strategy .container ul li a figure {
            flex: 0 0 300px;
            border-radius: 4px;
            overflow: hidden; }
            @media screen and (max-width: 767px) {
              main.home section.strategy .container ul li a figure {
                flex: 0 0 100%; } }
            main.home section.strategy .container ul li a figure img {
              width: 100%; }
          main.home section.strategy .container ul li a .content {
            flex: 1;
            padding-top: 8px; }
            @media screen and (max-width: 767px) {
              main.home section.strategy .container ul li a .content {
                flex: 0 0 100%;
                padding-top: 0; } }
            main.home section.strategy .container ul li a .content .title {
              margin-bottom: 24px; }
              main.home section.strategy .container ul li a .content .title p:nth-child(1) {
                font-weight: 700;
                font-size: 16px;
                line-height: 100%;
                letter-spacing: 0.1em;
                color: #004481;
                margin-bottom: 8px; }
                @media screen and (max-width: 1023px) {
                  main.home section.strategy .container ul li a .content .title p:nth-child(1) {
                    font-size: 14px;
                    letter-spacing: 0.05em; } }
              main.home section.strategy .container ul li a .content .title p:nth-child(2) {
                font-weight: 700;
                font-size: 32px;
                line-height: 100%;
                letter-spacing: 0.1em;
                color: #27333A; }
                @media screen and (max-width: 1023px) {
                  main.home section.strategy .container ul li a .content .title p:nth-child(2) {
                    font-size: 22px;
                    letter-spacing: 0.05em; } }
            main.home section.strategy .container ul li a .content p {
              font-weight: 400;
              font-size: 16px;
              line-height: 200%;
              color: #27333A; }
            main.home section.strategy .container ul li a .content .more {
              margin-top: 24px; }
              main.home section.strategy .container ul li a .content .more > span {
                display: flex;
                align-items: center;
                gap: 16px;
                font-style: normal;
                font-weight: 700;
                font-size: 14px;
                line-height: 100%;
                letter-spacing: 0.05em;
                color: #004481; }
                main.home section.strategy .container ul li a .content .more > span:before {
                  content: "";
                  display: block;
                  height: 2px;
                  flex: 1;
                  background-color: #004481;
                  border-radius: 9999px;
                  transition: all ease .3s;
                  transform-origin: 0 0;
                  transform: scale(0, 1); }
                main.home section.strategy .container ul li a .content .more > span .arrow {
                  position: relative;
                  display: block;
                  width: 40px;
                  height: 24px;
                  border-radius: 4px;
                  background-color: #004481;
                  overflow: hidden; }
                  main.home section.strategy .container ul li a .content .more > span .arrow:before, main.home section.strategy .container ul li a .content .more > span .arrow:after {
                    content: "";
                    display: block;
                    -webkit-mask-image: url("../images/common/more_arrow.svg");
                    mask-image: url("../images/common/more_arrow.svg");
                    -webkit-mask-size: 100% 100%;
                    mask-size: 100% 100%;
                    width: 17px;
                    height: 8px;
                    position: absolute;
                    top: calc(50% - 4px);
                    left: calc(50% - 8.5px);
                    transition: all ease .3s;
                    opacity: 1;
                    background-color: #fff; }
                  main.home section.strategy .container ul li a .content .more > span .arrow:after {
                    transform: translateX(-40px);
                    opacity: 0; }
          @media screen and (min-width: 1024px) {
            main.home section.strategy .container ul li a:hover {
              background-color: #E8EFF6; }
              main.home section.strategy .container ul li a:hover .content .more > span:before {
                transform: scale(1, 1); }
              main.home section.strategy .container ul li a:hover .content .more > span .arrow:before {
                transform: translateX(40px);
                opacity: 0; }
              main.home section.strategy .container ul li a:hover .content .more > span .arrow:after {
                transform: translateX(0px);
                opacity: 1; } }
main.home section.ir {
  position: relative;
  clip-path: inset(0); }
  main.home section.ir:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("../images/home/ir_bg.jpg");
    background-size: cover;
    background-position: 50% 50%;
    z-index: -1; }
  main.home section.ir a {
    display: block;
    padding: 120px 0; }
    @media screen and (max-width: 1023px) {
      main.home section.ir a {
        padding: 64px 0; } }
    main.home section.ir a .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.home section.ir a .container {
          width: calc(100% - 24px * 2); } }
      main.home section.ir a .container .cols {
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 1023px) {
          main.home section.ir a .container .cols {
            display: block; } }
        main.home section.ir a .container .cols hgroup {
          position: relative;
          padding-left: 26px;
          flex: 0 0 280px; }
          main.home section.ir a .container .cols hgroup p {
            position: relative;
            font-weight: 700;
            font-size: 14px;
            line-height: 100%;
            letter-spacing: 0.05em;
            color: #004481;
            flex: none;
            order: 1;
            flex-grow: 0;
            opacity: 0;
            transition: all ease .5s;
            transform: translateX(-20px);
            color: #fff; }
            main.home section.ir a .container .cols hgroup p:before {
              content: "";
              background-color: #004481;
              display: block;
              width: 16px;
              height: 2px;
              position: absolute;
              top: 6px;
              left: -26px;
              background-color: #fff; }
          main.home section.ir a .container .cols hgroup h2 {
            font-weight: 700;
            font-size: 48px;
            line-height: 100%;
            letter-spacing: 0.08em;
            color: #27333A;
            margin-top: 16px;
            color: #fff; }
            main.home section.ir a .container .cols hgroup h2 span {
              position: relative;
              display: inline-block;
              opacity: 0;
              transform: translateY(20px);
              transition: all ease .5s; }
            @media screen and (max-width: 1023px) {
              main.home section.ir a .container .cols hgroup h2 {
                font-size: 24px;
                margin-top: 12px; } }
          main.home section.ir a .container .cols hgroup[data-inview-active] p {
            transform: translateX(0px);
            opacity: 1; }
          main.home section.ir a .container .cols hgroup[data-inview-active] h2 span {
            opacity: 1;
            transform: translateY(0px); }
          @media screen and (max-width: 1023px) {
            main.home section.ir a .container .cols hgroup {
              margin-bottom: 48px; } }
        main.home section.ir a .container .cols .body {
          flex: 1;
          max-width: 730px;
          padding-right: 64px;
          padding-top: 42px;
          transition: all ease 1s .3s;
          transform: translateX(20px);
          opacity: 0; }
          main.home section.ir a .container .cols .body[data-inview-active] {
            transform: translateX(0);
            opacity: 1; }
          @media screen and (max-width: 1023px) {
            main.home section.ir a .container .cols .body {
              padding: 0; } }
          main.home section.ir a .container .cols .body p {
            font-weight: 400;
            font-size: 16px;
            line-height: 200%;
            color: #FFFFFF; }
          main.home section.ir a .container .cols .body .more {
            margin-top: 24px; }
            main.home section.ir a .container .cols .body .more > span {
              display: flex;
              align-items: center;
              gap: 16px;
              font-style: normal;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              letter-spacing: 0.05em;
              color: #004481;
              color: #fff; }
              main.home section.ir a .container .cols .body .more > span:before {
                content: "";
                display: block;
                height: 2px;
                flex: 1;
                background-color: #004481;
                border-radius: 9999px;
                transition: all ease .3s;
                transform-origin: 0 0;
                transform: scale(0, 1);
                background-color: #fff; }
              main.home section.ir a .container .cols .body .more > span .arrow {
                position: relative;
                display: block;
                width: 40px;
                height: 24px;
                border-radius: 4px;
                background-color: #004481;
                overflow: hidden;
                background-color: #fff; }
                main.home section.ir a .container .cols .body .more > span .arrow:before, main.home section.ir a .container .cols .body .more > span .arrow:after {
                  content: "";
                  display: block;
                  -webkit-mask-image: url("../images/common/more_arrow.svg");
                  mask-image: url("../images/common/more_arrow.svg");
                  -webkit-mask-size: 100% 100%;
                  mask-size: 100% 100%;
                  width: 17px;
                  height: 8px;
                  position: absolute;
                  top: calc(50% - 4px);
                  left: calc(50% - 8.5px);
                  transition: all ease .3s;
                  opacity: 1;
                  background-color: #fff;
                  background-color: #004481; }
                main.home section.ir a .container .cols .body .more > span .arrow:after {
                  transform: translateX(-40px);
                  opacity: 0; }
    @media screen and (min-width: 1024px) {
      main.home section.ir a:hover .container .cols .body .more > span:before {
        transform: scale(1, 1); }
      main.home section.ir a:hover .container .cols .body .more > span .arrow:before {
        transform: translateX(40px);
        opacity: 0; }
      main.home section.ir a:hover .container .cols .body .more > span .arrow:after {
        transform: translateX(0px);
        opacity: 1; } }
main.home section.recruit {
  padding: 160px 0; }
  @media screen and (max-width: 1023px) {
    main.home section.recruit {
      padding: 64px 0 0; } }
  main.home section.recruit .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto;
    display: flex;
    gap: 64px; }
    @media screen and (max-width: 1023px) {
      main.home section.recruit .container {
        width: calc(100% - 24px * 2); } }
    @media screen and (max-width: 1023px) {
      main.home section.recruit .container {
        gap: 32px;
        flex-wrap: wrap; } }
    main.home section.recruit .container .content {
      flex: 1; }
      @media screen and (max-width: 1023px) {
        main.home section.recruit .container .content {
          flex: 0 0 100%; } }
      main.home section.recruit .container .content hgroup {
        position: relative;
        padding-left: 26px;
        margin-bottom: 80px; }
        main.home section.recruit .container .content hgroup p {
          position: relative;
          font-weight: 700;
          font-size: 14px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          flex: none;
          order: 1;
          flex-grow: 0;
          opacity: 0;
          transition: all ease .5s;
          transform: translateX(-20px); }
          main.home section.recruit .container .content hgroup p:before {
            content: "";
            background-color: #004481;
            display: block;
            width: 16px;
            height: 2px;
            position: absolute;
            top: 6px;
            left: -26px; }
        main.home section.recruit .container .content hgroup h2 {
          font-weight: 700;
          font-size: 48px;
          line-height: 100%;
          letter-spacing: 0.08em;
          color: #27333A;
          margin-top: 16px; }
          main.home section.recruit .container .content hgroup h2 span {
            position: relative;
            display: inline-block;
            opacity: 0;
            transform: translateY(20px);
            transition: all ease .5s; }
          @media screen and (max-width: 1023px) {
            main.home section.recruit .container .content hgroup h2 {
              font-size: 24px;
              margin-top: 12px; } }
        main.home section.recruit .container .content hgroup[data-inview-active] p {
          transform: translateX(0px);
          opacity: 1; }
        main.home section.recruit .container .content hgroup[data-inview-active] h2 span {
          opacity: 1;
          transform: translateY(0px); }
        @media screen and (max-width: 1023px) {
          main.home section.recruit .container .content hgroup {
            margin-bottom: 48px; } }
      main.home section.recruit .container .content .body {
        padding: 0 0 0 50px;
        transition: all ease 1s .3s;
        transform: translateX(20px);
        opacity: 0; }
        main.home section.recruit .container .content .body[data-inview-active] {
          transform: translateX(0);
          opacity: 1; }
        @media screen and (max-width: 1023px) {
          main.home section.recruit .container .content .body {
            padding: 0; } }
        main.home section.recruit .container .content .body .copy {
          font-weight: 700;
          font-size: 32px;
          line-height: 180%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.home section.recruit .container .content .body .copy {
              font-size: 23px;
              line-height: 150%; } }
        main.home section.recruit .container .content .body p {
          font-weight: 400;
          font-size: 16px;
          line-height: 200%;
          color: #27333A; }
        main.home section.recruit .container .content .body .more {
          margin-top: 24px; }
          main.home section.recruit .container .content .body .more a {
            display: flex;
            align-items: center;
            gap: 16px;
            font-style: normal;
            font-weight: 700;
            font-size: 14px;
            line-height: 100%;
            letter-spacing: 0.05em;
            color: #004481; }
            main.home section.recruit .container .content .body .more a:before {
              content: "";
              display: block;
              height: 2px;
              flex: 1;
              background-color: #004481;
              border-radius: 9999px;
              transition: all ease .3s;
              transform-origin: 0 0;
              transform: scale(0, 1); }
            main.home section.recruit .container .content .body .more a .arrow {
              position: relative;
              display: block;
              width: 40px;
              height: 24px;
              border-radius: 4px;
              background-color: #004481;
              overflow: hidden; }
              main.home section.recruit .container .content .body .more a .arrow:before, main.home section.recruit .container .content .body .more a .arrow:after {
                content: "";
                display: block;
                -webkit-mask-image: url("../images/common/more_arrow.svg");
                mask-image: url("../images/common/more_arrow.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                width: 17px;
                height: 8px;
                position: absolute;
                top: calc(50% - 4px);
                left: calc(50% - 8.5px);
                transition: all ease .3s;
                opacity: 1;
                background-color: #fff; }
              main.home section.recruit .container .content .body .more a .arrow:after {
                transform: translateX(-40px);
                opacity: 0; }
            @media screen and (min-width: 1024px) {
              main.home section.recruit .container .content .body .more a:hover:before {
                transform: scale(1, 1); }
              main.home section.recruit .container .content .body .more a:hover .arrow:before {
                transform: translateX(40px);
                opacity: 0; }
              main.home section.recruit .container .content .body .more a:hover .arrow:after {
                transform: translateX(0px);
                opacity: 1; } }
    main.home section.recruit .container figure {
      flex: 0 0 47%; }
      @media screen and (max-width: 1023px) {
        main.home section.recruit .container figure {
          flex: 0 0 100%; } }
      main.home section.recruit .container figure div.wipe {
        position: relative;
        transition: all ease 0.5s calc(0s + 0s);
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.home section.recruit .container figure div.wipe:before {
          content: "";
          display: block;
          background-color: #004481;
          position: absolute;
          z-index: 1;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease 0.5s calc(.5s + 0s);
          transform-origin: 100% 0; }
      main.home section.recruit .container figure[data-inview-active] div.wipe {
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
        main.home section.recruit .container figure[data-inview-active] div.wipe:before {
          transform: scale(0, 1); }
      main.home section.recruit .container figure > div {
        border-radius: 8px 0 0 8px;
        overflow: hidden;
        margin-right: calc(-50vw + 50% * 100 / 47); }
        @media screen and (max-width: 1023px) {
          main.home section.recruit .container figure > div {
            margin: 0 -24px;
            border-radius: 0; } }
main.home section.news {
  background-color: #FAFAFA;
  padding: 120px 0; }
  @media screen and (max-width: 1023px) {
    main.home section.news {
      padding: 64px 0; } }
  main.home section.news .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.home section.news .container {
        width: calc(100% - 24px * 2); } }
    main.home section.news .container hgroup {
      position: relative;
      padding-left: 26px;
      margin-bottom: 42px; }
      main.home section.news .container hgroup p {
        position: relative;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #004481;
        flex: none;
        order: 1;
        flex-grow: 0;
        opacity: 0;
        transition: all ease .5s;
        transform: translateX(-20px); }
        main.home section.news .container hgroup p:before {
          content: "";
          background-color: #004481;
          display: block;
          width: 16px;
          height: 2px;
          position: absolute;
          top: 6px;
          left: -26px; }
      main.home section.news .container hgroup h2 {
        font-weight: 700;
        font-size: 48px;
        line-height: 100%;
        letter-spacing: 0.08em;
        color: #27333A;
        margin-top: 16px; }
        main.home section.news .container hgroup h2 span {
          position: relative;
          display: inline-block;
          opacity: 0;
          transform: translateY(20px);
          transition: all ease .5s; }
        @media screen and (max-width: 1023px) {
          main.home section.news .container hgroup h2 {
            font-size: 24px;
            margin-top: 12px; } }
      main.home section.news .container hgroup[data-inview-active] p {
        transform: translateX(0px);
        opacity: 1; }
      main.home section.news .container hgroup[data-inview-active] h2 span {
        opacity: 1;
        transform: translateY(0px); }
    main.home section.news .container .body {
      margin: 0 0 0 auto;
      max-width: 844px;
      padding-right: 50px; }
      @media screen and (max-width: 1023px) {
        main.home section.news .container .body {
          max-width: none;
          padding-right: 0; } }
      main.home section.news .container .body ul {
        border-top: 1px solid #E8EFF6; }
        main.home section.news .container .body ul li {
          border-bottom: 1px solid #E8EFF6;
          padding: 24px 0;
          transition: all ease 1s .3s;
          transform: translateX(20px);
          opacity: 0; }
          main.home section.news .container .body ul li[data-inview-active] {
            transform: translateX(0);
            opacity: 1; }
          @media screen and (max-width: 1023px) {
            main.home section.news .container .body ul li {
              padding: 0; } }
          main.home section.news .container .body ul li a {
            display: block;
            padding: 16px 16px;
            transition: all ease .3s;
            border-radius: 4px; }
            @media screen and (max-width: 1023px) {
              main.home section.news .container .body ul li a {
                padding: 24px 0; } }
            main.home section.news .container .body ul li a .meta {
              display: flex;
              align-items: center;
              gap: 16px;
              margin-bottom: 8px; }
              main.home section.news .container .body ul li a .meta .category {
                font-weight: 700;
                font-size: 12px;
                line-height: 100%;
                color: #004481;
                padding: 6px 12px;
                background-color: #fff;
                border-radius: 9999px; }
              main.home section.news .container .body ul li a .meta .date {
                font-weight: 700;
                font-size: 14px;
                line-height: 100%;
                color: #004481; }
                @media screen and (max-width: 1023px) {
                  main.home section.news .container .body ul li a .meta .date {
                    font-size: 12px; } }
            main.home section.news .container .body ul li a .title {
              position: relative;
              font-weight: 500;
              font-size: 16px;
              line-height: 150%;
              color: #27333A;
              padding-right: 104px; }
              @media screen and (max-width: 1023px) {
                main.home section.news .container .body ul li a .title {
                  font-size: 14px;
                  padding-right: 64px; } }
              main.home section.news .container .body ul li a .title .arrow {
                position: relative;
                display: block;
                width: 40px;
                height: 24px;
                border-radius: 4px;
                background-color: #004481;
                overflow: hidden;
                position: absolute;
                top: 0;
                right: 0; }
                main.home section.news .container .body ul li a .title .arrow:before, main.home section.news .container .body ul li a .title .arrow:after {
                  content: "";
                  display: block;
                  -webkit-mask-image: url("../images/common/more_arrow.svg");
                  mask-image: url("../images/common/more_arrow.svg");
                  -webkit-mask-size: 100% 100%;
                  mask-size: 100% 100%;
                  width: 17px;
                  height: 8px;
                  position: absolute;
                  top: calc(50% - 4px);
                  left: calc(50% - 8.5px);
                  transition: all ease .3s;
                  opacity: 1;
                  background-color: #fff; }
                main.home section.news .container .body ul li a .title .arrow:after {
                  transform: translateX(-40px);
                  opacity: 0; }
            @media screen and (min-width: 1024px) {
              main.home section.news .container .body ul li a:hover {
                background-color: #E8EFF6; }
                main.home section.news .container .body ul li a:hover .title .arrow:before {
                  transform: translateX(40px);
                  opacity: 0; }
                main.home section.news .container .body ul li a:hover .title .arrow:after {
                  transform: translateX(0px);
                  opacity: 1; } }
      main.home section.news .container .body .more {
        margin-top: 24px;
        transition: all ease 1s .3s;
        transform: translateX(20px);
        opacity: 0; }
        main.home section.news .container .body .more[data-inview-active] {
          transform: translateX(0);
          opacity: 1; }
        main.home section.news .container .body .more a {
          display: flex;
          align-items: center;
          gap: 16px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481; }
          main.home section.news .container .body .more a:before {
            content: "";
            display: block;
            height: 2px;
            flex: 1;
            background-color: #004481;
            border-radius: 9999px;
            transition: all ease .3s;
            transform-origin: 0 0;
            transform: scale(0, 1); }
          main.home section.news .container .body .more a .arrow {
            position: relative;
            display: block;
            width: 40px;
            height: 24px;
            border-radius: 4px;
            background-color: #004481;
            overflow: hidden; }
            main.home section.news .container .body .more a .arrow:before, main.home section.news .container .body .more a .arrow:after {
              content: "";
              display: block;
              -webkit-mask-image: url("../images/common/more_arrow.svg");
              mask-image: url("../images/common/more_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              width: 17px;
              height: 8px;
              position: absolute;
              top: calc(50% - 4px);
              left: calc(50% - 8.5px);
              transition: all ease .3s;
              opacity: 1;
              background-color: #fff; }
            main.home section.news .container .body .more a .arrow:after {
              transform: translateX(-40px);
              opacity: 0; }
          @media screen and (min-width: 1024px) {
            main.home section.news .container .body .more a:hover:before {
              transform: scale(1, 1); }
            main.home section.news .container .body .more a:hover .arrow:before {
              transform: translateX(40px);
              opacity: 0; }
            main.home section.news .container .body .more a:hover .arrow:after {
              transform: translateX(0px);
              opacity: 1; } }

main.corporate-mvv {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.corporate-mvv {
      padding: 72px 0 64px; } }
  main.corporate-mvv > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.corporate-mvv > header {
        height: 194px; } }
    main.corporate-mvv > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.corporate-mvv > header .container {
          width: calc(100% - 24px * 2); } }
      main.corporate-mvv > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.corporate-mvv > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.corporate-mvv > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.corporate-mvv > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.corporate-mvv > header .container > *.label span {
            top: 0; }
      main.corporate-mvv > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.corporate-mvv > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.corporate-mvv > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.corporate-mvv > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.corporate-mvv > header .container > *:not(.label) span {
            top: 0; }
  main.corporate-mvv .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.corporate-mvv .container {
        width: calc(100% - 24px * 2); } }
    main.corporate-mvv .container section.mission,
    main.corporate-mvv .container section.vision,
    main.corporate-mvv .container section.value {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px; }
      @media screen and (max-width: 1023px) {
        main.corporate-mvv .container section.mission,
        main.corporate-mvv .container section.vision,
        main.corporate-mvv .container section.value {
          padding: 48px 16px; } }
      main.corporate-mvv .container section.mission[data-inview],
      main.corporate-mvv .container section.vision[data-inview],
      main.corporate-mvv .container section.value[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.corporate-mvv .container section.mission[data-inview][data-inview-active],
        main.corporate-mvv .container section.vision[data-inview][data-inview-active],
        main.corporate-mvv .container section.value[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.corporate-mvv .container section.mission hgroup,
      main.corporate-mvv .container section.vision hgroup,
      main.corporate-mvv .container section.value hgroup {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.corporate-mvv .container section.mission hgroup,
          main.corporate-mvv .container section.vision hgroup,
          main.corporate-mvv .container section.value hgroup {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.corporate-mvv .container section.mission hgroup:before,
        main.corporate-mvv .container section.vision hgroup:before,
        main.corporate-mvv .container section.value hgroup:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.corporate-mvv .container section.mission hgroup:before,
            main.corporate-mvv .container section.vision hgroup:before,
            main.corporate-mvv .container section.value hgroup:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
        main.corporate-mvv .container section.mission hgroup *:nth-child(1),
        main.corporate-mvv .container section.vision hgroup *:nth-child(1),
        main.corporate-mvv .container section.value hgroup *:nth-child(1) {
          display: inline; }
        main.corporate-mvv .container section.mission hgroup *:nth-child(2),
        main.corporate-mvv .container section.vision hgroup *:nth-child(2),
        main.corporate-mvv .container section.value hgroup *:nth-child(2) {
          display: inline;
          font-size: 16px; }
          @media screen and (max-width: 1023px) {
            main.corporate-mvv .container section.mission hgroup *:nth-child(2),
            main.corporate-mvv .container section.vision hgroup *:nth-child(2),
            main.corporate-mvv .container section.value hgroup *:nth-child(2) {
              font-size: 14px; } }
          main.corporate-mvv .container section.mission hgroup *:nth-child(2):before,
          main.corporate-mvv .container section.vision hgroup *:nth-child(2):before,
          main.corporate-mvv .container section.value hgroup *:nth-child(2):before {
            content: "｜";
            margin: 0 16px 0 8px; }
            @media screen and (max-width: 1023px) {
              main.corporate-mvv .container section.mission hgroup *:nth-child(2):before,
              main.corporate-mvv .container section.vision hgroup *:nth-child(2):before,
              main.corporate-mvv .container section.value hgroup *:nth-child(2):before {
                margin: 0 10px 0 4px; } }
    main.corporate-mvv .container section.mission .copy,
    main.corporate-mvv .container section.vision .copy {
      font-weight: 700;
      font-size: 40px;
      line-height: 150%;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 40px; }
      @media screen and (max-width: 1023px) {
        main.corporate-mvv .container section.mission .copy,
        main.corporate-mvv .container section.vision .copy {
          font-size: 24px;
          margin-bottom: 24px; } }
    main.corporate-mvv .container section.mission > p,
    main.corporate-mvv .container section.vision > p {
      font-weight: 700;
      font-size: 20px;
      line-height: 200%;
      letter-spacing: 0.05em;
      color: #27333A; }
      @media screen and (max-width: 1023px) {
        main.corporate-mvv .container section.mission > p,
        main.corporate-mvv .container section.vision > p {
          font-size: 13px;
          letter-spacing: 0; } }
      main.corporate-mvv .container section.mission > p + p,
      main.corporate-mvv .container section.vision > p + p {
        margin-top: 2em; }
    main.corporate-mvv .container section.vision {
      margin-top: 40px; }
    main.corporate-mvv .container section.value {
      margin-top: 40px; }
      main.corporate-mvv .container section.value ul {
        display: flex;
        gap: 40px; }
        @media screen and (max-width: 1023px) {
          main.corporate-mvv .container section.value ul {
            flex-wrap: wrap;
            gap: 32px; } }
        main.corporate-mvv .container section.value ul li {
          flex: 0 0 calc((100% - 40px * 2) / 3);
          padding: 32px 24px;
          background: #FAFAFA;
          border-radius: 8px; }
          @media screen and (max-width: 1023px) {
            main.corporate-mvv .container section.value ul li {
              flex: 0 0 100%; } }
          main.corporate-mvv .container section.value ul li p.marker {
            font-weight: 600;
            font-size: 20px;
            line-height: 100%;
            color: #004481;
            border-bottom: 2px solid #004481;
            padding-bottom: 4px;
            width: fit-content;
            margin: 0 auto;
            margin-bottom: 24px; }
          main.corporate-mvv .container section.value ul li .title {
            margin-bottom: 24px; }
            main.corporate-mvv .container section.value ul li .title p:nth-child(1) {
              font-weight: 700;
              font-size: 32px;
              line-height: 100%;
              color: #004481;
              text-align: center; }
            main.corporate-mvv .container section.value ul li .title p:nth-child(2) {
              font-weight: 500;
              font-size: 14px;
              line-height: 100%;
              text-align: center;
              color: #27333A;
              margin-top: 8px; }
          main.corporate-mvv .container section.value ul li figure {
            width: 100px;
            margin: 0 auto;
            margin-bottom: 24px; }
          main.corporate-mvv .container section.value ul li .description {
            font-weight: 400;
            font-size: 15px;
            line-height: 150%;
            text-align: center;
            color: #27333A; }

main.corporate-overview {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.corporate-overview {
      padding: 72px 0 64px; } }
  main.corporate-overview > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.corporate-overview > header {
        height: 194px; } }
    main.corporate-overview > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.corporate-overview > header .container {
          width: calc(100% - 24px * 2); } }
      main.corporate-overview > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.corporate-overview > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.corporate-overview > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.corporate-overview > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.corporate-overview > header .container > *.label span {
            top: 0; }
      main.corporate-overview > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.corporate-overview > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.corporate-overview > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.corporate-overview > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.corporate-overview > header .container > *:not(.label) span {
            top: 0; }
  main.corporate-overview .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.corporate-overview .container {
        width: calc(100% - 24px * 2); } }
    main.corporate-overview .container section.company,
    main.corporate-overview .container section.group {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px; }
      @media screen and (max-width: 1023px) {
        main.corporate-overview .container section.company,
        main.corporate-overview .container section.group {
          padding: 48px 16px; } }
      main.corporate-overview .container section.company[data-inview],
      main.corporate-overview .container section.group[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.corporate-overview .container section.company[data-inview][data-inview-active],
        main.corporate-overview .container section.group[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.corporate-overview .container section.company h2,
      main.corporate-overview .container section.group h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.corporate-overview .container section.company h2,
          main.corporate-overview .container section.group h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.corporate-overview .container section.company h2:before,
        main.corporate-overview .container section.group h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.corporate-overview .container section.company h2:before,
            main.corporate-overview .container section.group h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
    main.corporate-overview .container section.company dl {
      display: flex;
      flex-wrap: wrap;
      gap: 0 48px;
      overflow: hidden; }
      main.corporate-overview .container section.company dl dt {
        font-weight: 700;
        font-size: 16px;
        line-height: 130%;
        letter-spacing: 0.05em;
        color: #004481;
        gap: 10px;
        padding: 8px 24px;
        flex: 0 0 300px;
        background: #E8EFF6;
        border-radius: 4px;
        margin-top: 32px;
        height: 100%; }
        @media screen and (max-width: 1023px) {
          main.corporate-overview .container section.company dl dt {
            flex: 0 0 100%;
            margin-top: 16px;
            padding: 8px 16px; } }
        main.corporate-overview .container section.company dl dt:first-child {
          margin-top: 0; }
          main.corporate-overview .container section.company dl dt:first-child + dd {
            padding-top: 4px; }
      main.corporate-overview .container section.company dl dd {
        position: relative;
        flex: 0 0 calc(100% - 48px - 300px);
        padding: 36px 0 32px;
        font-weight: 500;
        font-size: 15px;
        line-height: 150%;
        color: #27333A;
        align-self: center; }
        @media screen and (max-width: 1023px) {
          main.corporate-overview .container section.company dl dd {
            flex: 0 0 100%;
            font-size: 14px;
            padding: 8px 0 16px 16px !important; } }
        main.corporate-overview .container section.company dl dd > a {
          color: #004481;
          text-decoration: underline;
          word-break: break-word; }
          main.corporate-overview .container section.company dl dd > a[target]:after {
            content: "";
            -webkit-mask-image: url("../images/common/icon_blank.svg");
            mask-image: url("../images/common/icon_blank.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            width: 20px;
            height: 20px;
            display: inline-block;
            vertical-align: center;
            background-color: #004481;
            transition: all ease .3s;
            vertical-align: text-bottom; }
          @media screen and (min-width: 1024px) {
            main.corporate-overview .container section.company dl dd > a:hover {
              text-decoration: none; } }
        main.corporate-overview .container section.company dl dd:after {
          content: "";
          position: absolute;
          bottom: 0;
          right: 0;
          display: block;
          width: 100vw;
          height: 1px;
          background-color: #E8EFF6; }
      main.corporate-overview .container section.company dl dd figure.map {
        margin: 16px 0; }
        main.corporate-overview .container section.company dl dd figure.map iframe {
          width: 100%;
          height: 240px; }
      main.corporate-overview .container section.company dl dd ul.location {
        display: flex;
        flex-wrap: wrap;
        gap: 32px; }
        @media screen and (max-width: 1023px) {
          main.corporate-overview .container section.company dl dd ul.location {
            padding-top: 8px; } }
        main.corporate-overview .container section.company dl dd ul.location li {
          flex: 0 0 100%; }
          main.corporate-overview .container section.company dl dd ul.location li .name {
            font-weight: 700;
            font-size: 15px;
            line-height: 100%;
            color: #27333A;
            margin-bottom: 8px; }
          main.corporate-overview .container section.company dl dd ul.location li .accessmap {
            margin-top: 8px; }
            main.corporate-overview .container section.company dl dd ul.location li .accessmap a {
              display: flex;
              align-items: center;
              gap: 8px;
              width: fit-content;
              align-items: center;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #004481;
              text-decoration: underline; }
              main.corporate-overview .container section.company dl dd ul.location li .accessmap a:before {
                content: "";
                display: block;
                background-image: url("../images/corporate/overview/icon_pin.svg");
                background-size: 100% 100%;
                width: 16px;
                height: 16px; }
    main.corporate-overview .container section.group {
      margin-top: 40px; }
      main.corporate-overview .container section.group ul {
        display: flex;
        flex-wrap: wrap; }
        main.corporate-overview .container section.group ul li {
          flex: 0 0 100%;
          display: flex;
          align-items: flex-start;
          padding: 32px 40px;
          gap: 40px;
          background: #FFFFFF;
          border: 1px solid #E8EFF6;
          box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
          border-radius: 8px;
          margin-top: 24px; }
          @media screen and (max-width: 1023px) {
            main.corporate-overview .container section.group ul li {
              padding: 24px 16px;
              gap: 24px; } }
          @media screen and (max-width: 767px) {
            main.corporate-overview .container section.group ul li {
              display: block; } }
          main.corporate-overview .container section.group ul li figure {
            flex: 0 0 240px;
            height: auto;
            border: 1px solid #E8EFF6;
            border-radius: 4px;
            overflow: hidden; }
            @media screen and (max-width: 767px) {
              main.corporate-overview .container section.group ul li figure {
                width: 100%;
                max-width: 240px;
                margin: 0 auto;
                margin-bottom: 24px; } }
          main.corporate-overview .container section.group ul li .content {
            flex: 1; }
            main.corporate-overview .container section.group ul li .content .name {
              font-weight: 700;
              font-size: 18px;
              line-height: 100%;
              letter-spacing: 0.05em;
              color: #27333A;
              margin-bottom: 16px; }
            main.corporate-overview .container section.group ul li .content dl {
              display: flex;
              flex-wrap: wrap;
              gap: 8px 16px;
              margin-bottom: 16px; }
              main.corporate-overview .container section.group ul li .content dl dt {
                flex: 0 0 80px;
                height: 100%;
                background-color: #E8EFF6;
                font-weight: 700;
                font-size: 12px;
                line-height: 24px;
                color: #004481;
                text-align: center; }
              main.corporate-overview .container section.group ul li .content dl dd {
                flex: 0 0 calc(100% - 80px - 16px);
                font-weight: 500;
                font-size: 14px;
                line-height: 150%;
                text-align: justify;
                padding: 2px 0;
                color: #27333A; }
            main.corporate-overview .container section.group ul li .content .description {
              font-weight: 500;
              font-size: 14px;
              line-height: 180%;
              text-align: justify;
              color: #27333A;
              margin-bottom: 16px; }
            @media screen and (max-width: 1023px) {
              main.corporate-overview .container section.group ul li .content .more {
                display: flex;
                justify-content: center; } }
            main.corporate-overview .container section.group ul li .content .more a {
              display: flex;
              align-items: center;
              width: fit-content;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              letter-spacing: 0.05em;
              color: #004481; }
              main.corporate-overview .container section.group ul li .content .more a:after {
                content: "";
                -webkit-mask-image: url("../images/common/icon_blank.svg");
                mask-image: url("../images/common/icon_blank.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                width: 20px;
                height: 20px;
                display: inline-block;
                vertical-align: center;
                background-color: #004481;
                transition: all ease .3s; }

main.corporate-directors {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.corporate-directors {
      padding: 72px 0 64px; } }
  main.corporate-directors > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.corporate-directors > header {
        height: 194px; } }
    main.corporate-directors > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.corporate-directors > header .container {
          width: calc(100% - 24px * 2); } }
      main.corporate-directors > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.corporate-directors > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.corporate-directors > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.corporate-directors > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.corporate-directors > header .container > *.label span {
            top: 0; }
      main.corporate-directors > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.corporate-directors > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.corporate-directors > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.corporate-directors > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.corporate-directors > header .container > *:not(.label) span {
            top: 0; }
  main.corporate-directors .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.corporate-directors .container {
        width: calc(100% - 24px * 2); } }
    main.corporate-directors .container section.representative,
    main.corporate-directors .container section.director,
    main.corporate-directors .container section.auditor,
    main.corporate-directors .container section.executive {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px; }
      @media screen and (max-width: 1023px) {
        main.corporate-directors .container section.representative,
        main.corporate-directors .container section.director,
        main.corporate-directors .container section.auditor,
        main.corporate-directors .container section.executive {
          padding: 48px 16px; } }
      main.corporate-directors .container section.representative[data-inview],
      main.corporate-directors .container section.director[data-inview],
      main.corporate-directors .container section.auditor[data-inview],
      main.corporate-directors .container section.executive[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.corporate-directors .container section.representative[data-inview][data-inview-active],
        main.corporate-directors .container section.director[data-inview][data-inview-active],
        main.corporate-directors .container section.auditor[data-inview][data-inview-active],
        main.corporate-directors .container section.executive[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.corporate-directors .container section.representative h2,
      main.corporate-directors .container section.director h2,
      main.corporate-directors .container section.auditor h2,
      main.corporate-directors .container section.executive h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.corporate-directors .container section.representative h2,
          main.corporate-directors .container section.director h2,
          main.corporate-directors .container section.auditor h2,
          main.corporate-directors .container section.executive h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.corporate-directors .container section.representative h2:before,
        main.corporate-directors .container section.director h2:before,
        main.corporate-directors .container section.auditor h2:before,
        main.corporate-directors .container section.executive h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.corporate-directors .container section.representative h2:before,
            main.corporate-directors .container section.director h2:before,
            main.corporate-directors .container section.auditor h2:before,
            main.corporate-directors .container section.executive h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
    main.corporate-directors .container section.representative ul {
      display: flex;
      gap: 40px; }
      @media screen and (max-width: 1023px) {
        main.corporate-directors .container section.representative ul {
          gap: 24px; } }
      @media screen and (max-width: 767px) {
        main.corporate-directors .container section.representative ul {
          flex-wrap: wrap;
          gap: 40px; } }
      main.corporate-directors .container section.representative ul li {
        flex: 1;
        padding: 40px;
        background: #FAFAFA;
        border: 1px solid #E8EFF6;
        border-radius: 8px; }
        @media screen and (max-width: 1023px) {
          main.corporate-directors .container section.representative ul li {
            padding: 24px 16px; } }
        @media screen and (max-width: 767px) {
          main.corporate-directors .container section.representative ul li {
            flex: 0 0 100%; } }
        main.corporate-directors .container section.representative ul li figure {
          border-radius: 4px;
          overflow: hidden;
          margin-bottom: 16px; }
        main.corporate-directors .container section.representative ul li .job {
          font-weight: 700;
          font-size: 14px;
          line-height: 100%;
          color: #004481;
          text-align: center;
          margin-bottom: 16px; }
        main.corporate-directors .container section.representative ul li .name {
          font-weight: 700;
          font-size: 20px;
          line-height: 100%;
          color: #27333A;
          text-align: center;
          margin-bottom: 16px; }
        main.corporate-directors .container section.representative ul li .description {
          font-weight: 400;
          font-size: 15px;
          line-height: 180%;
          color: #27333A; }
        main.corporate-directors .container section.representative ul li .action {
          margin-top: 16px; }
          main.corporate-directors .container section.representative ul li .action a {
            display: flex;
            align-items: center;
            gap: 16px;
            font-style: normal;
            font-weight: 700;
            font-size: 14px;
            line-height: 100%;
            letter-spacing: 0.05em;
            color: #004481;
            color: #fff;
            border-radius: 4px;
            background-color: #004481;
            padding: 16px; }
            main.corporate-directors .container section.representative ul li .action a:before {
              content: "";
              display: block;
              height: 2px;
              flex: 1;
              background-color: #004481;
              border-radius: 9999px;
              transition: all ease .3s;
              transform-origin: 0 0;
              transform: scale(0, 1);
              background-color: #fff; }
            main.corporate-directors .container section.representative ul li .action a .arrow {
              position: relative;
              display: block;
              width: 40px;
              height: 24px;
              border-radius: 4px;
              background-color: #004481;
              overflow: hidden;
              background-color: #fff; }
              main.corporate-directors .container section.representative ul li .action a .arrow:before, main.corporate-directors .container section.representative ul li .action a .arrow:after {
                content: "";
                display: block;
                -webkit-mask-image: url("../images/common/more_arrow.svg");
                mask-image: url("../images/common/more_arrow.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                width: 17px;
                height: 8px;
                position: absolute;
                top: calc(50% - 4px);
                left: calc(50% - 8.5px);
                transition: all ease .3s;
                opacity: 1;
                background-color: #fff;
                background-color: #004481; }
              main.corporate-directors .container section.representative ul li .action a .arrow:after {
                transform: translateX(-40px);
                opacity: 0; }
            @media screen and (max-width: 1023px) {
              main.corporate-directors .container section.representative ul li .action a {
                font-size: 14px; } }
            @media screen and (min-width: 1024px) {
              main.corporate-directors .container section.representative ul li .action a:hover:before {
                transform: scale(1, 1); }
              main.corporate-directors .container section.representative ul li .action a:hover .arrow:before {
                transform: translateX(40px);
                opacity: 0; }
              main.corporate-directors .container section.representative ul li .action a:hover .arrow:after {
                transform: translateX(0px);
                opacity: 1; } }
    main.corporate-directors .container section.director,
    main.corporate-directors .container section.auditor,
    main.corporate-directors .container section.executive {
      margin-top: 40px; }
      main.corporate-directors .container section.director ul,
      main.corporate-directors .container section.auditor ul,
      main.corporate-directors .container section.executive ul {
        display: flex;
        gap: 64px 24px;
        flex-wrap: wrap; }
        @media screen and (max-width: 1023px) {
          main.corporate-directors .container section.director ul,
          main.corporate-directors .container section.auditor ul,
          main.corporate-directors .container section.executive ul {
            gap: 32px 24px; } }
        @media screen and (max-width: 767px) {
          main.corporate-directors .container section.director ul,
          main.corporate-directors .container section.auditor ul,
          main.corporate-directors .container section.executive ul {
            gap: 16px 8px; } }
        main.corporate-directors .container section.director ul + ul,
        main.corporate-directors .container section.auditor ul + ul,
        main.corporate-directors .container section.executive ul + ul {
          margin-top: 64px; }
          @media screen and (max-width: 1023px) {
            main.corporate-directors .container section.director ul + ul,
            main.corporate-directors .container section.auditor ul + ul,
            main.corporate-directors .container section.executive ul + ul {
              margin-top: 16px; } }
        main.corporate-directors .container section.director ul li,
        main.corporate-directors .container section.auditor ul li,
        main.corporate-directors .container section.executive ul li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.corporate-directors .container section.director ul li,
            main.corporate-directors .container section.auditor ul li,
            main.corporate-directors .container section.executive ul li {
              flex: 0 0 calc((100% - 8px * 1) / 2); } }
          main.corporate-directors .container section.director ul li a,
          main.corporate-directors .container section.auditor ul li a,
          main.corporate-directors .container section.executive ul li a {
            display: block;
            position: relative;
            padding: 32px;
            border: 1px solid #E8EFF6;
            background-color: #FAFAFA;
            border-radius: 8px;
            height: 100%;
            cursor: pointer;
            transition: all ease .3s; }
            @media screen and (max-width: 1023px) {
              main.corporate-directors .container section.director ul li a,
              main.corporate-directors .container section.auditor ul li a,
              main.corporate-directors .container section.executive ul li a {
                padding: 12px 12px 20px; } }
            main.corporate-directors .container section.director ul li a figure,
            main.corporate-directors .container section.auditor ul li a figure,
            main.corporate-directors .container section.executive ul li a figure {
              border-radius: 4px;
              overflow: hidden;
              margin-bottom: 12px; }
              @media screen and (max-width: 1023px) {
                main.corporate-directors .container section.director ul li a figure,
                main.corporate-directors .container section.auditor ul li a figure,
                main.corporate-directors .container section.executive ul li a figure {
                  margin-bottom: 8px; } }
            main.corporate-directors .container section.director ul li a .name,
            main.corporate-directors .container section.auditor ul li a .name,
            main.corporate-directors .container section.executive ul li a .name {
              font-weight: 700;
              font-size: 20px;
              line-height: 100%;
              color: #27333A;
              text-align: center;
              margin-bottom: 12px; }
              @media screen and (max-width: 1023px) {
                main.corporate-directors .container section.director ul li a .name,
                main.corporate-directors .container section.auditor ul li a .name,
                main.corporate-directors .container section.executive ul li a .name {
                  font-size: 16px;
                  margin-bottom: 8px; } }
            main.corporate-directors .container section.director ul li a .job,
            main.corporate-directors .container section.auditor ul li a .job,
            main.corporate-directors .container section.executive ul li a .job {
              font-weight: 500;
              font-size: 14px;
              line-height: 130%;
              text-align: center;
              color: #004481;
              margin: 0 -12px; }
              @media screen and (max-width: 1023px) {
                main.corporate-directors .container section.director ul li a .job,
                main.corporate-directors .container section.auditor ul li a .job,
                main.corporate-directors .container section.executive ul li a .job {
                  font-size: 10px;
                  margin: 0 0; } }
            main.corporate-directors .container section.director ul li a .arrow,
            main.corporate-directors .container section.auditor ul li a .arrow,
            main.corporate-directors .container section.executive ul li a .arrow {
              position: relative;
              display: block;
              width: 40px;
              height: 24px;
              border-radius: 4px;
              background-color: #004481;
              overflow: hidden;
              position: absolute;
              right: 32px;
              bottom: -12px; }
              main.corporate-directors .container section.director ul li a .arrow:before, main.corporate-directors .container section.director ul li a .arrow:after,
              main.corporate-directors .container section.auditor ul li a .arrow:before,
              main.corporate-directors .container section.auditor ul li a .arrow:after,
              main.corporate-directors .container section.executive ul li a .arrow:before,
              main.corporate-directors .container section.executive ul li a .arrow:after {
                content: "";
                display: block;
                -webkit-mask-image: url("../images/common/more_arrow.svg");
                mask-image: url("../images/common/more_arrow.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                width: 17px;
                height: 8px;
                position: absolute;
                top: calc(50% - 4px);
                left: calc(50% - 8.5px);
                transition: all ease .3s;
                opacity: 1;
                background-color: #fff; }
              main.corporate-directors .container section.director ul li a .arrow:after,
              main.corporate-directors .container section.auditor ul li a .arrow:after,
              main.corporate-directors .container section.executive ul li a .arrow:after {
                transform: translateX(-40px);
                opacity: 0; }
              @media screen and (max-width: 1023px) {
                main.corporate-directors .container section.director ul li a .arrow,
                main.corporate-directors .container section.auditor ul li a .arrow,
                main.corporate-directors .container section.executive ul li a .arrow {
                  right: 12px; } }
            @media screen and (min-width: 1024px) {
              main.corporate-directors .container section.director ul li a:hover,
              main.corporate-directors .container section.auditor ul li a:hover,
              main.corporate-directors .container section.executive ul li a:hover {
                background-color: #E8EFF6; }
                main.corporate-directors .container section.director ul li a:hover .arrow:before,
                main.corporate-directors .container section.auditor ul li a:hover .arrow:before,
                main.corporate-directors .container section.executive ul li a:hover .arrow:before {
                  transform: translateX(40px);
                  opacity: 0; }
                main.corporate-directors .container section.director ul li a:hover .arrow:after,
                main.corporate-directors .container section.auditor ul li a:hover .arrow:after,
                main.corporate-directors .container section.executive ul li a:hover .arrow:after {
                  transform: translateX(0px);
                  opacity: 1; } }
  main.corporate-directors .dialog {
    position: fixed;
    z-index: 1000000;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    pointer-events: none;
    background-color: rgba(0, 68, 129, 0.8);
    transition: all ease .3s;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: auto;
    padding: 24px 0; }
    main.corporate-directors .dialog.active {
      opacity: 1;
      pointer-events: auto; }
    main.corporate-directors .dialog .wrapper {
      position: relative;
      width: calc(100% - 64px * 2);
      max-width: 960px;
      margin: auto; }
      @media screen and (max-width: 1023px) {
        main.corporate-directors .dialog .wrapper {
          width: calc(100% - 24px * 2); } }
      main.corporate-directors .dialog .wrapper:has(section.message.active) {
        max-width: 1152px; }
      main.corporate-directors .dialog .wrapper .close {
        position: absolute;
        top: 32px;
        right: 32px; }
        @media screen and (max-width: 1023px) {
          main.corporate-directors .dialog .wrapper .close {
            top: 16px;
            right: 16px; } }
        main.corporate-directors .dialog .wrapper .close button {
          position: relative;
          width: 30px;
          height: 30px;
          border: 1px solid #004481;
          border-radius: 50%;
          text-indent: -9999px;
          overflow: hidden; }
          main.corporate-directors .dialog .wrapper .close button:before, main.corporate-directors .dialog .wrapper .close button:after {
            content: "";
            display: block;
            width: 15px;
            height: 1px;
            background-color: #004481;
            position: absolute;
            top: 50%;
            left: calc(50% - 7.5px); }
          main.corporate-directors .dialog .wrapper .close button:before {
            transform: rotate(45deg); }
          main.corporate-directors .dialog .wrapper .close button:after {
            transform: rotate(-45deg); }
      main.corporate-directors .dialog .wrapper section {
        display: none;
        background-color: #fff;
        border-radius: 8px; }
      main.corporate-directors .dialog .wrapper section.message {
        padding: 64px; }
        main.corporate-directors .dialog .wrapper section.message.active {
          display: block; }
        @media screen and (max-width: 1023px) {
          main.corporate-directors .dialog .wrapper section.message {
            padding: 62px 16px; } }
        @media screen and (max-width: 767px) {
          main.corporate-directors .dialog .wrapper section.message {
            padding: 62px 16px 32px; } }
        main.corporate-directors .dialog .wrapper section.message h2 {
          font-weight: 700;
          font-size: 24px;
          line-height: 180%;
          color: #004481;
          margin-bottom: 40px; }
          @media screen and (max-width: 1023px) {
            main.corporate-directors .dialog .wrapper section.message h2 {
              font-size: 18px;
              margin-bottom: 24px; } }
        main.corporate-directors .dialog .wrapper section.message p {
          font-weight: 500;
          font-size: 16px;
          line-height: 180%;
          color: #27333A;
          margin-top: 1.8em; }
          @media screen and (max-width: 1023px) {
            main.corporate-directors .dialog .wrapper section.message p {
              font-size: 15px; } }
        main.corporate-directors .dialog .wrapper section.message .signature {
          margin-top: 40px;
          display: flex;
          justify-content: flex-end;
          align-items: center;
          gap: 40px; }
          @media screen and (max-width: 1023px) {
            main.corporate-directors .dialog .wrapper section.message .signature {
              margin-top: 24px;
              gap: 24px; } }
          main.corporate-directors .dialog .wrapper section.message .signature p:nth-child(1) {
            font-weight: 500;
            font-size: 16px;
            line-height: 180%;
            color: #27333A; }
            @media screen and (max-width: 1023px) {
              main.corporate-directors .dialog .wrapper section.message .signature p:nth-child(1) {
                font-size: 15px; } }
          main.corporate-directors .dialog .wrapper section.message .signature p:nth-child(2) {
            width: 100px; }
      main.corporate-directors .dialog .wrapper section.profile {
        padding: 80px;
        gap: 64px; }
        main.corporate-directors .dialog .wrapper section.profile.active {
          display: flex; }
          @media screen and (max-width: 767px) {
            main.corporate-directors .dialog .wrapper section.profile.active {
              flex-wrap: wrap;
              flex-direction: column; } }
        @media screen and (max-width: 1023px) {
          main.corporate-directors .dialog .wrapper section.profile {
            padding: 62px 16px;
            gap: 24px; } }
        @media screen and (max-width: 767px) {
          main.corporate-directors .dialog .wrapper section.profile {
            padding: 62px 16px 32px;
            gap: 16px; } }
        main.corporate-directors .dialog .wrapper section.profile .content {
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.corporate-directors .dialog .wrapper section.profile .content {
              order: 2; } }
          main.corporate-directors .dialog .wrapper section.profile .content .job {
            font-weight: 700;
            font-size: 14px;
            line-height: 130%;
            color: #004481;
            margin-bottom: 12px; }
            @media screen and (max-width: 767px) {
              main.corporate-directors .dialog .wrapper section.profile .content .job {
                text-align: center;
                margin-bottom: 8px; } }
          main.corporate-directors .dialog .wrapper section.profile .content .name {
            font-weight: 700;
            font-size: 20px;
            line-height: 100%;
            color: #27333A;
            margin-bottom: 24px; }
            @media screen and (max-width: 767px) {
              main.corporate-directors .dialog .wrapper section.profile .content .name {
                text-align: center;
                margin-bottom: 16px; } }
          main.corporate-directors .dialog .wrapper section.profile .content .description {
            font-weight: 400;
            font-size: 16px;
            line-height: 180%;
            color: #27333A; }
        main.corporate-directors .dialog .wrapper section.profile figure {
          flex: 0 0 240px; }
          @media screen and (max-width: 767px) {
            main.corporate-directors .dialog .wrapper section.profile figure {
              order: 1;
              flex: initial;
              text-align: center; } }
          main.corporate-directors .dialog .wrapper section.profile figure img {
            border-radius: 4px;
            width: 100%;
            aspect-ratio: 240 / 280;
            object-fit: cover; }
            @media screen and (max-width: 767px) {
              main.corporate-directors .dialog .wrapper section.profile figure img {
                max-width: 240px; } }

main.business {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.business {
      padding: 72px 0 64px; } }
  main.business > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.business > header {
        height: 194px; } }
    main.business > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.business > header .container {
          width: calc(100% - 24px * 2); } }
      main.business > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.business > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.business > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.business > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.business > header .container > *.label span {
            top: 0; }
      main.business > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.business > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.business > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.business > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.business > header .container > *:not(.label) span {
            top: 0; }
  main.business .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.business .container {
        width: calc(100% - 24px * 2); } }
    main.business .container section.intro {
      padding: 0 58px;
      margin-bottom: 64px; }
      @media screen and (max-width: 1023px) {
        main.business .container section.intro {
          padding: 0; } }
      main.business .container section.intro h2 {
        font-weight: 700;
        font-size: 32px;
        line-height: 150%;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 24px; }
        @media screen and (max-width: 1023px) {
          main.business .container section.intro h2 {
            font-size: 18px;
            line-height: 180%; } }
      main.business .container section.intro > p {
        max-width: 720px;
        font-weight: 400;
        font-size: 18px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.business .container section.intro > p {
            font-size: 16px;
            line-height: 200%; } }
        main.business .container section.intro > p + p {
          margin-top: 1.8em; }
          @media screen and (max-width: 1023px) {
            main.business .container section.intro > p + p {
              margin-top: 2em; } }
      main.business .container section.intro > figure {
        border-radius: 8px;
        margin-top: 24px;
        overflow: hidden; }
    main.business .container section.purchase,
    main.business .container section.sales,
    main.business .container section.other {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      margin-top: 40px; }
      @media screen and (max-width: 1023px) {
        main.business .container section.purchase,
        main.business .container section.sales,
        main.business .container section.other {
          padding: 48px 16px; } }
      main.business .container section.purchase[data-inview],
      main.business .container section.sales[data-inview],
      main.business .container section.other[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.business .container section.purchase[data-inview][data-inview-active],
        main.business .container section.sales[data-inview][data-inview-active],
        main.business .container section.other[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.business .container section.purchase h2,
      main.business .container section.sales h2,
      main.business .container section.other h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.business .container section.purchase h2,
          main.business .container section.sales h2,
          main.business .container section.other h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.business .container section.purchase h2:before,
        main.business .container section.sales h2:before,
        main.business .container section.other h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.business .container section.purchase h2:before,
            main.business .container section.sales h2:before,
            main.business .container section.other h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
      main.business .container section.purchase div.intro,
      main.business .container section.sales div.intro,
      main.business .container section.other div.intro {
        display: flex; }
        @media screen and (max-width: 767px) {
          main.business .container section.purchase div.intro,
          main.business .container section.sales div.intro,
          main.business .container section.other div.intro {
            flex-direction: column; } }
        main.business .container section.purchase div.intro .content,
        main.business .container section.sales div.intro .content,
        main.business .container section.other div.intro .content {
          position: relative;
          flex: 1;
          padding-right: 160px;
          display: flex;
          align-items: center; }
          @media screen and (max-width: 1023px) {
            main.business .container section.purchase div.intro .content,
            main.business .container section.sales div.intro .content,
            main.business .container section.other div.intro .content {
              padding-right: 40px; } }
          @media screen and (max-width: 767px) {
            main.business .container section.purchase div.intro .content,
            main.business .container section.sales div.intro .content,
            main.business .container section.other div.intro .content {
              padding-right: 0;
              flex: initial;
              order: 2; } }
          main.business .container section.purchase div.intro .content:after,
          main.business .container section.sales div.intro .content:after,
          main.business .container section.other div.intro .content:after {
            content: "";
            display: block;
            width: 1px;
            background-color: #E8EFF6;
            position: absolute;
            top: 0;
            bottom: 0;
            right: 80px; }
            @media screen and (max-width: 1023px) {
              main.business .container section.purchase div.intro .content:after,
              main.business .container section.sales div.intro .content:after,
              main.business .container section.other div.intro .content:after {
                display: none; } }
          main.business .container section.purchase div.intro .content p,
          main.business .container section.sales div.intro .content p,
          main.business .container section.other div.intro .content p {
            font-weight: 400;
            font-size: 18px;
            line-height: 180%;
            text-align: justify;
            letter-spacing: 0.05em;
            color: #27333A; }
            @media screen and (max-width: 1023px) {
              main.business .container section.purchase div.intro .content p,
              main.business .container section.sales div.intro .content p,
              main.business .container section.other div.intro .content p {
                font-size: 14px;
                line-height: 200%; } }
        main.business .container section.purchase div.intro figure,
        main.business .container section.sales div.intro figure,
        main.business .container section.other div.intro figure {
          flex: 0 0 320px; }
          @media screen and (max-width: 767px) {
            main.business .container section.purchase div.intro figure,
            main.business .container section.sales div.intro figure,
            main.business .container section.other div.intro figure {
              margin-bottom: 10px;
              order: 1;
              flex: initial; } }
          main.business .container section.purchase div.intro figure img,
          main.business .container section.sales div.intro figure img,
          main.business .container section.other div.intro figure img {
            border-radius: 4px; }
      main.business .container section.purchase ul.service,
      main.business .container section.sales ul.service,
      main.business .container section.other ul.service {
        display: flex;
        flex-wrap: wrap;
        gap: 24px;
        margin-top: 40px; }
        main.business .container section.purchase ul.service > li,
        main.business .container section.sales ul.service > li,
        main.business .container section.other ul.service > li {
          flex: 0 0 100%;
          display: flex;
          align-items: center;
          gap: 40px;
          padding: 32px 40px; }
          @media screen and (max-width: 1023px) {
            main.business .container section.purchase ul.service > li,
            main.business .container section.sales ul.service > li,
            main.business .container section.other ul.service > li {
              padding: 16px;
              gap: 24px; } }
          @media screen and (max-width: 767px) {
            main.business .container section.purchase ul.service > li,
            main.business .container section.sales ul.service > li,
            main.business .container section.other ul.service > li {
              flex-wrap: wrap; } }
          main.business .container section.purchase ul.service > li figure,
          main.business .container section.sales ul.service > li figure,
          main.business .container section.other ul.service > li figure {
            flex: 0 0 240px;
            border: 1px solid #E8EFF6;
            border-radius: 4px;
            overflow: hidden;
            align-self: flex-start; }
            @media screen and (max-width: 767px) {
              main.business .container section.purchase ul.service > li figure,
              main.business .container section.sales ul.service > li figure,
              main.business .container section.other ul.service > li figure {
                flex: 0 0 100%; } }
            main.business .container section.purchase ul.service > li figure img,
            main.business .container section.sales ul.service > li figure img,
            main.business .container section.other ul.service > li figure img {
              width: 100%; }
          main.business .container section.purchase ul.service > li .content,
          main.business .container section.sales ul.service > li .content,
          main.business .container section.other ul.service > li .content {
            flex: 1; }
            @media screen and (max-width: 767px) {
              main.business .container section.purchase ul.service > li .content,
              main.business .container section.sales ul.service > li .content,
              main.business .container section.other ul.service > li .content {
                flex: 0 0 100%; } }
            main.business .container section.purchase ul.service > li .content .title,
            main.business .container section.sales ul.service > li .content .title,
            main.business .container section.other ul.service > li .content .title {
              font-weight: 700;
              font-size: 18px;
              line-height: 100%;
              letter-spacing: 0.05em;
              color: #27333A;
              margin-bottom: 24px; }
              @media screen and (max-width: 1023px) {
                main.business .container section.purchase ul.service > li .content .title,
                main.business .container section.sales ul.service > li .content .title,
                main.business .container section.other ul.service > li .content .title {
                  font-size: 15px;
                  margin-bottom: 16px; } }
            main.business .container section.purchase ul.service > li .content .description,
            main.business .container section.sales ul.service > li .content .description,
            main.business .container section.other ul.service > li .content .description {
              font-weight: 500;
              font-size: 16px;
              line-height: 150%;
              color: #27333A;
              margin-bottom: 24px; }
              @media screen and (max-width: 1023px) {
                main.business .container section.purchase ul.service > li .content .description,
                main.business .container section.sales ul.service > li .content .description,
                main.business .container section.other ul.service > li .content .description {
                  font-size: 14px;
                  line-height: 200%;
                  margin-bottom: 16px; } }
            main.business .container section.purchase ul.service > li .content .action,
            main.business .container section.sales ul.service > li .content .action,
            main.business .container section.other ul.service > li .content .action {
              display: flex;
              gap: 24px; }
              @media screen and (max-width: 1023px) {
                main.business .container section.purchase ul.service > li .content .action,
                main.business .container section.sales ul.service > li .content .action,
                main.business .container section.other ul.service > li .content .action {
                  gap: 16px; } }
              @media screen and (max-width: 767px) {
                main.business .container section.purchase ul.service > li .content .action,
                main.business .container section.sales ul.service > li .content .action,
                main.business .container section.other ul.service > li .content .action {
                  flex-wrap: wrap; } }
              main.business .container section.purchase ul.service > li .content .action li,
              main.business .container section.sales ul.service > li .content .action li,
              main.business .container section.other ul.service > li .content .action li {
                flex: 0 0 calc((100% - 24px) / 2); }
                @media screen and (max-width: 767px) {
                  main.business .container section.purchase ul.service > li .content .action li,
                  main.business .container section.sales ul.service > li .content .action li,
                  main.business .container section.other ul.service > li .content .action li {
                    flex: 0 0 100%; } }
                main.business .container section.purchase ul.service > li .content .action li a,
                main.business .container section.sales ul.service > li .content .action li a,
                main.business .container section.other ul.service > li .content .action li a {
                  display: flex;
                  justify-content: center;
                  align-items: center;
                  gap: 10px;
                  padding: 10px;
                  background-color: #E8EFF6;
                  border-radius: 4px;
                  font-weight: 700;
                  font-size: 14px;
                  line-height: 100%;
                  letter-spacing: 0.05em;
                  color: #004481;
                  transition: all ease .3s; }
                  main.business .container section.purchase ul.service > li .content .action li a:after,
                  main.business .container section.sales ul.service > li .content .action li a:after,
                  main.business .container section.other ul.service > li .content .action li a:after {
                    content: "";
                    -webkit-mask-image: url("../images/common/icon_blank.svg");
                    mask-image: url("../images/common/icon_blank.svg");
                    -webkit-mask-size: 100% 100%;
                    mask-size: 100% 100%;
                    width: 20px;
                    height: 20px;
                    display: inline-block;
                    vertical-align: center;
                    background-color: #004481;
                    transition: all ease .3s; }
                  main.business .container section.purchase ul.service > li .content .action li a:hover,
                  main.business .container section.sales ul.service > li .content .action li a:hover,
                  main.business .container section.other ul.service > li .content .action li a:hover {
                    background-color: #004481;
                    color: #fff; }
                    main.business .container section.purchase ul.service > li .content .action li a:hover:after,
                    main.business .container section.sales ul.service > li .content .action li a:hover:after,
                    main.business .container section.other ul.service > li .content .action li a:hover:after {
                      background-color: #fff; }

main.strategy-technology {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.strategy-technology {
      padding: 72px 0 64px; } }
  main.strategy-technology > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.strategy-technology > header {
        height: 194px; } }
    main.strategy-technology > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.strategy-technology > header .container {
          width: calc(100% - 24px * 2); } }
      main.strategy-technology > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.strategy-technology > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.strategy-technology > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.strategy-technology > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.strategy-technology > header .container > *.label span {
            top: 0; }
      main.strategy-technology > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-technology > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.strategy-technology > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.strategy-technology > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.strategy-technology > header .container > *:not(.label) span {
            top: 0; }
  main.strategy-technology .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.strategy-technology .container {
        width: calc(100% - 24px * 2); } }
    main.strategy-technology .container section.intro {
      padding: 0 58px; }
      @media screen and (max-width: 1023px) {
        main.strategy-technology .container section.intro {
          padding: 0; } }
      main.strategy-technology .container section.intro h2 {
        font-weight: 700;
        font-size: 32px;
        line-height: 150%;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 24px; }
        @media screen and (max-width: 1023px) {
          main.strategy-technology .container section.intro h2 {
            font-size: 18px;
            line-height: 180%; } }
      main.strategy-technology .container section.intro p {
        max-width: 720px;
        font-weight: 400;
        font-size: 18px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-technology .container section.intro p {
            font-size: 16px;
            line-height: 200%; } }
    main.strategy-technology .container section.cosmos,
    main.strategy-technology .container section.ddm,
    main.strategy-technology .container section.ai {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      margin-top: 40px; }
      @media screen and (max-width: 1023px) {
        main.strategy-technology .container section.cosmos,
        main.strategy-technology .container section.ddm,
        main.strategy-technology .container section.ai {
          padding: 48px 16px; } }
      main.strategy-technology .container section.cosmos[data-inview],
      main.strategy-technology .container section.ddm[data-inview],
      main.strategy-technology .container section.ai[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.strategy-technology .container section.cosmos[data-inview][data-inview-active],
        main.strategy-technology .container section.ddm[data-inview][data-inview-active],
        main.strategy-technology .container section.ai[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.strategy-technology .container section.cosmos h2,
      main.strategy-technology .container section.ddm h2,
      main.strategy-technology .container section.ai h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.strategy-technology .container section.cosmos h2,
          main.strategy-technology .container section.ddm h2,
          main.strategy-technology .container section.ai h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.strategy-technology .container section.cosmos h2:before,
        main.strategy-technology .container section.ddm h2:before,
        main.strategy-technology .container section.ai h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.strategy-technology .container section.cosmos h2:before,
            main.strategy-technology .container section.ddm h2:before,
            main.strategy-technology .container section.ai h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
      main.strategy-technology .container section.cosmos p,
      main.strategy-technology .container section.ddm p,
      main.strategy-technology .container section.ai p {
        font-weight: 400;
        font-size: 18px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-technology .container section.cosmos p,
          main.strategy-technology .container section.ddm p,
          main.strategy-technology .container section.ai p {
            font-size: 14px;
            line-height: 200%; } }
      main.strategy-technology .container section.cosmos figure,
      main.strategy-technology .container section.ddm figure,
      main.strategy-technology .container section.ai figure {
        margin-top: 40px; }
    main.strategy-technology .container section.ai section.initiative {
      border-top: 1px solid #E8EFF6;
      margin-top: 40px;
      padding-top: 40px; }
      main.strategy-technology .container section.ai section.initiative h3 {
        font-weight: 700;
        font-size: 18px;
        line-height: 100%;
        text-align: justify;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 40px; }
      main.strategy-technology .container section.ai section.initiative ul {
        display: flex;
        gap: 24px; }
        @media screen and (max-width: 1023px) {
          main.strategy-technology .container section.ai section.initiative ul {
            gap: 16px; } }
        @media screen and (max-width: 767px) {
          main.strategy-technology .container section.ai section.initiative ul {
            flex-direction: column;
            gap: 24px; } }
        main.strategy-technology .container section.ai section.initiative ul li {
          flex: 0 0 calc((100% - 24px * 2) / 3);
          background-color: #FAFAFA;
          border-radius: 8px;
          padding: 32px; }
          @media screen and (max-width: 1023px) {
            main.strategy-technology .container section.ai section.initiative ul li {
              padding: 32px 16px; } }
          @media screen and (max-width: 767px) {
            main.strategy-technology .container section.ai section.initiative ul li {
              flex: initial;
              padding: 32px; } }
          main.strategy-technology .container section.ai section.initiative ul li .title {
            height: 64px;
            display: flex;
            justify-content: center;
            align-items: center;
            font-weight: 700;
            font-size: 24px;
            line-height: 130%;
            text-align: center;
            color: #004481;
            margin-bottom: 16px; }
          main.strategy-technology .container section.ai section.initiative ul li figure {
            width: 100px;
            margin: 0 auto;
            margin-bottom: 16px; }
          main.strategy-technology .container section.ai section.initiative ul li p {
            font-weight: 400;
            font-size: 15px;
            line-height: 150%;
            color: #27333A; }

main.strategy-compliance {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.strategy-compliance {
      padding: 72px 0 64px; } }
  main.strategy-compliance > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.strategy-compliance > header {
        height: 194px; } }
    main.strategy-compliance > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.strategy-compliance > header .container {
          width: calc(100% - 24px * 2); } }
      main.strategy-compliance > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.strategy-compliance > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.strategy-compliance > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.strategy-compliance > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.strategy-compliance > header .container > *.label span {
            top: 0; }
      main.strategy-compliance > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-compliance > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.strategy-compliance > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.strategy-compliance > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.strategy-compliance > header .container > *:not(.label) span {
            top: 0; }
  main.strategy-compliance .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.strategy-compliance .container {
        width: calc(100% - 24px * 2); } }
    main.strategy-compliance .container section.intro {
      padding: 0 58px;
      margin-bottom: 96px; }
      @media screen and (max-width: 1023px) {
        main.strategy-compliance .container section.intro {
          padding: 0; } }
      main.strategy-compliance .container section.intro h2 {
        font-weight: 700;
        font-size: 32px;
        line-height: 150%;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 24px; }
        @media screen and (max-width: 1023px) {
          main.strategy-compliance .container section.intro h2 {
            font-size: 18px;
            line-height: 180%; } }
      main.strategy-compliance .container section.intro > p {
        max-width: 720px;
        font-weight: 400;
        font-size: 18px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-compliance .container section.intro > p {
            font-size: 16px;
            line-height: 200%; } }
      main.strategy-compliance .container section.intro section.activity {
        max-width: 880px;
        margin: 0 auto; }
        main.strategy-compliance .container section.intro section.activity ul {
          position: relative;
          margin-top: 40px;
          display: flex;
          gap: 24px; }
          @media screen and (max-width: 767px) {
            main.strategy-compliance .container section.intro section.activity ul {
              flex-wrap: wrap;
              gap: 16px; } }
          main.strategy-compliance .container section.intro section.activity ul:before {
            content: "";
            position: absolute;
            top: 38px;
            left: 0;
            right: 0;
            bottom: 0;
            display: block;
            background-color: #E8EFF6; }
            @media screen and (max-width: 767px) {
              main.strategy-compliance .container section.intro section.activity ul:before {
                left: 50px;
                right: 50px; } }
          main.strategy-compliance .container section.intro section.activity ul:after {
            position: absolute;
            bottom: -47px;
            left: 0;
            right: 0;
            content: "";
            background-image: url("../images/strategy/compliance/intro_activity_decor.svg");
            background-position: 50% 100%;
            height: 67px; }
            @media screen and (max-width: 767px) {
              main.strategy-compliance .container section.intro section.activity ul:after {
                left: 50px;
                right: 50px; } }
          main.strategy-compliance .container section.intro section.activity ul li {
            position: relative;
            z-index: 1;
            flex: 0 0 calc((100% - 24px * 2) / 3);
            padding: 24px;
            background: #FFFFFF;
            border: 1px solid #E8EFF6;
            box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
            border-radius: 8px; }
            @media screen and (max-width: 1023px) {
              main.strategy-compliance .container section.intro section.activity ul li {
                padding: 16px 24px; } }
            @media screen and (max-width: 767px) {
              main.strategy-compliance .container section.intro section.activity ul li {
                display: flex;
                align-items: center;
                flex: 0 0 100%;
                gap: 24px; } }
            main.strategy-compliance .container section.intro section.activity ul li p {
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              text-align: center;
              letter-spacing: 0.05em;
              color: #004481;
              margin-bottom: 24px; }
              @media screen and (max-width: 767px) {
                main.strategy-compliance .container section.intro section.activity ul li p {
                  font-size: 18px;
                  flex: 1;
                  margin-bottom: 0;
                  text-align: left;
                  order: 2; } }
            main.strategy-compliance .container section.intro section.activity ul li figure {
              width: 120px;
              margin: 0 auto; }
              @media screen and (max-width: 767px) {
                main.strategy-compliance .container section.intro section.activity ul li figure {
                  flex: 0 0 64px;
                  order: 1; } }
        main.strategy-compliance .container section.intro section.activity > p {
          margin-top: 48px;
          font-weight: 700;
          font-size: 26px;
          line-height: 150%;
          text-align: center;
          letter-spacing: 0.05em;
          color: #004481; }
          @media screen and (max-width: 1023px) {
            main.strategy-compliance .container section.intro section.activity > p {
              margin-top: 64px;
              font-size: 20px;
              line-height: 180%; } }
  main.strategy-compliance section.operation,
  main.strategy-compliance section.illegal,
  main.strategy-compliance section.security {
    padding: 80px 56px;
    background: #FFFFFF;
    border: 1px solid #E8EFF6;
    box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    position: relative;
    margin-top: 80px; }
    @media screen and (max-width: 1023px) {
      main.strategy-compliance section.operation,
      main.strategy-compliance section.illegal,
      main.strategy-compliance section.security {
        padding: 48px 16px; } }
    main.strategy-compliance section.operation[data-inview],
    main.strategy-compliance section.illegal[data-inview],
    main.strategy-compliance section.security[data-inview] {
      opacity: 0;
      transform: translateX(40px);
      transition: all ease 1s .3s; }
      main.strategy-compliance section.operation[data-inview][data-inview-active],
      main.strategy-compliance section.illegal[data-inview][data-inview-active],
      main.strategy-compliance section.security[data-inview][data-inview-active] {
        opacity: 1;
        transform: translateX(0); }
    @media screen and (max-width: 1023px) {
      main.strategy-compliance section.operation,
      main.strategy-compliance section.illegal,
      main.strategy-compliance section.security {
        margin-top: 100px; } }
    main.strategy-compliance section.operation:before,
    main.strategy-compliance section.illegal:before,
    main.strategy-compliance section.security:before {
      content: "";
      display: block;
      width: 200px;
      height: 200px;
      background-size: 100% 100%;
      position: absolute;
      top: -40px;
      right: 58px; }
      @media screen and (max-width: 1023px) {
        main.strategy-compliance section.operation:before,
        main.strategy-compliance section.illegal:before,
        main.strategy-compliance section.security:before {
          width: 120px;
          height: 120px;
          top: -60px;
          right: auto;
          left: calc(50% - 60px); } }
    main.strategy-compliance section.operation h2,
    main.strategy-compliance section.illegal h2,
    main.strategy-compliance section.security h2 {
      position: relative;
      font-style: normal;
      font-weight: 700;
      font-size: 32px;
      line-height: 100%;
      color: #27333A;
      margin-bottom: 64px;
      margin-bottom: 80px; }
      @media screen and (max-width: 1023px) {
        main.strategy-compliance section.operation h2,
        main.strategy-compliance section.illegal h2,
        main.strategy-compliance section.security h2 {
          font-weight: 700;
          font-size: 18px;
          line-height: 150%;
          letter-spacing: 0.05em;
          padding-left: 16px;
          margin-bottom: 48px; } }
      main.strategy-compliance section.operation h2:before,
      main.strategy-compliance section.illegal h2:before,
      main.strategy-compliance section.security h2:before {
        content: "";
        display: block;
        background-color: #004481;
        width: 40px;
        height: 4px;
        position: absolute;
        top: 14px;
        left: -56px; }
        @media screen and (max-width: 1023px) {
          main.strategy-compliance section.operation h2:before,
          main.strategy-compliance section.illegal h2:before,
          main.strategy-compliance section.security h2:before {
            top: 10px;
            left: -16px;
            width: 24px; } }
      @media screen and (max-width: 1023px) {
        main.strategy-compliance section.operation h2,
        main.strategy-compliance section.illegal h2,
        main.strategy-compliance section.security h2 {
          margin-bottom: 48px; } }
    main.strategy-compliance section.operation > dl,
    main.strategy-compliance section.illegal > dl,
    main.strategy-compliance section.security > dl {
      display: flex;
      flex-wrap: wrap; }
      @media screen and (max-width: 1023px) {
        main.strategy-compliance section.operation > dl,
        main.strategy-compliance section.illegal > dl,
        main.strategy-compliance section.security > dl {
          display: block; } }
      main.strategy-compliance section.operation > dl > dt,
      main.strategy-compliance section.illegal > dl > dt,
      main.strategy-compliance section.security > dl > dt {
        flex: 0 0 38%;
        padding-right: 48px;
        border-top: 1px solid #E8EFF6;
        font-weight: 700;
        font-size: 18px;
        line-height: 100%;
        text-align: justify;
        letter-spacing: 0.05em;
        color: #004481;
        margin-top: 40px;
        padding-top: 40px; }
        @media screen and (max-width: 1023px) {
          main.strategy-compliance section.operation > dl > dt,
          main.strategy-compliance section.illegal > dl > dt,
          main.strategy-compliance section.security > dl > dt {
            font-size: 16px;
            margin-bottom: 24px;
            padding: 0;
            padding-top: 40px;
            margin-top: 40px; } }
        main.strategy-compliance section.operation > dl > dt:first-child,
        main.strategy-compliance section.illegal > dl > dt:first-child,
        main.strategy-compliance section.security > dl > dt:first-child {
          border: none;
          margin-top: 0;
          padding-top: 0; }
          main.strategy-compliance section.operation > dl > dt:first-child + dd,
          main.strategy-compliance section.illegal > dl > dt:first-child + dd,
          main.strategy-compliance section.security > dl > dt:first-child + dd {
            border: none;
            margin-top: 0;
            padding-top: 0; }
      main.strategy-compliance section.operation > dl > dd,
      main.strategy-compliance section.illegal > dl > dd,
      main.strategy-compliance section.security > dl > dd {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        flex: 0 0 62%;
        border-top: 1px solid #E8EFF6;
        letter-spacing: 0.05em;
        color: #27333A;
        margin-top: 40px;
        padding-top: 40px; }
        @media screen and (max-width: 1023px) {
          main.strategy-compliance section.operation > dl > dd,
          main.strategy-compliance section.illegal > dl > dd,
          main.strategy-compliance section.security > dl > dd {
            font-size: 14px;
            line-height: 200%; } }
        @media screen and (max-width: 1023px) {
          main.strategy-compliance section.operation > dl > dd,
          main.strategy-compliance section.illegal > dl > dd,
          main.strategy-compliance section.security > dl > dd {
            padding: 0;
            margin: 0; } }
        main.strategy-compliance section.operation > dl > dd > dl,
        main.strategy-compliance section.illegal > dl > dd > dl,
        main.strategy-compliance section.security > dl > dd > dl {
          margin-top: 24px; }
          @media screen and (max-width: 1023px) {
            main.strategy-compliance section.operation > dl > dd > dl,
            main.strategy-compliance section.illegal > dl > dd > dl,
            main.strategy-compliance section.security > dl > dd > dl {
              margin-top: 16px; } }
          main.strategy-compliance section.operation > dl > dd > dl dt,
          main.strategy-compliance section.illegal > dl > dd > dl dt,
          main.strategy-compliance section.security > dl > dd > dl dt {
            font-weight: bold; }
          main.strategy-compliance section.operation > dl > dd > dl dd ul li,
          main.strategy-compliance section.illegal > dl > dd > dl dd ul li,
          main.strategy-compliance section.security > dl > dd > dl dd ul li {
            position: relative;
            padding-left: 1em; }
            main.strategy-compliance section.operation > dl > dd > dl dd ul li:before,
            main.strategy-compliance section.illegal > dl > dd > dl dd ul li:before,
            main.strategy-compliance section.security > dl > dd > dl dd ul li:before {
              content: "・";
              position: absolute;
              top: 0;
              left: 0; }
        main.strategy-compliance section.operation > dl > dd p + p,
        main.strategy-compliance section.illegal > dl > dd p + p,
        main.strategy-compliance section.security > dl > dd p + p {
          margin-top: 24px; }
          @media screen and (max-width: 1023px) {
            main.strategy-compliance section.operation > dl > dd p + p,
            main.strategy-compliance section.illegal > dl > dd p + p,
            main.strategy-compliance section.security > dl > dd p + p {
              margin-top: 16px; } }
        main.strategy-compliance section.operation > dl > dd .more,
        main.strategy-compliance section.illegal > dl > dd .more,
        main.strategy-compliance section.security > dl > dd .more {
          margin-top: 24px; }
          @media screen and (max-width: 1023px) {
            main.strategy-compliance section.operation > dl > dd .more,
            main.strategy-compliance section.illegal > dl > dd .more,
            main.strategy-compliance section.security > dl > dd .more {
              margin-top: 16px;
              text-align: right; } }
          main.strategy-compliance section.operation > dl > dd .more a,
          main.strategy-compliance section.illegal > dl > dd .more a,
          main.strategy-compliance section.security > dl > dd .more a {
            display: inline-flex;
            align-items: center;
            gap: 16px;
            font-weight: 700;
            font-size: 14px;
            line-height: 100%;
            letter-spacing: 0.05em;
            color: #004481; }
            main.strategy-compliance section.operation > dl > dd .more a .arrow,
            main.strategy-compliance section.illegal > dl > dd .more a .arrow,
            main.strategy-compliance section.security > dl > dd .more a .arrow {
              position: relative;
              display: block;
              width: 40px;
              height: 24px;
              border-radius: 4px;
              background-color: #004481;
              overflow: hidden; }
              main.strategy-compliance section.operation > dl > dd .more a .arrow:before, main.strategy-compliance section.operation > dl > dd .more a .arrow:after,
              main.strategy-compliance section.illegal > dl > dd .more a .arrow:before,
              main.strategy-compliance section.illegal > dl > dd .more a .arrow:after,
              main.strategy-compliance section.security > dl > dd .more a .arrow:before,
              main.strategy-compliance section.security > dl > dd .more a .arrow:after {
                content: "";
                display: block;
                -webkit-mask-image: url("../images/common/more_arrow.svg");
                mask-image: url("../images/common/more_arrow.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                width: 17px;
                height: 8px;
                position: absolute;
                top: calc(50% - 4px);
                left: calc(50% - 8.5px);
                transition: all ease .3s;
                opacity: 1;
                background-color: #fff; }
              main.strategy-compliance section.operation > dl > dd .more a .arrow:after,
              main.strategy-compliance section.illegal > dl > dd .more a .arrow:after,
              main.strategy-compliance section.security > dl > dd .more a .arrow:after {
                transform: translateX(-40px);
                opacity: 0; }
            @media screen and (min-width: 1024px) {
              main.strategy-compliance section.operation > dl > dd .more a:hover .arrow:before,
              main.strategy-compliance section.illegal > dl > dd .more a:hover .arrow:before,
              main.strategy-compliance section.security > dl > dd .more a:hover .arrow:before {
                transform: translateX(40px);
                opacity: 0; }
              main.strategy-compliance section.operation > dl > dd .more a:hover .arrow:after,
              main.strategy-compliance section.illegal > dl > dd .more a:hover .arrow:after,
              main.strategy-compliance section.security > dl > dd .more a:hover .arrow:after {
                transform: translateX(0px);
                opacity: 1; } }
  main.strategy-compliance section.operation:before {
    background-image: url("../images/strategy/compliance/operation_decor.png"); }
  main.strategy-compliance section.illegal:before {
    background-image: url("../images/strategy/compliance/illegal_img.png"); }
  main.strategy-compliance section.security:before {
    background-image: url("../images/strategy/compliance/security_decor.png"); }

main.strategy-human-capital {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.strategy-human-capital {
      padding: 72px 0 64px; } }
  main.strategy-human-capital > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.strategy-human-capital > header {
        height: 194px; } }
    main.strategy-human-capital > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.strategy-human-capital > header .container {
          width: calc(100% - 24px * 2); } }
      main.strategy-human-capital > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.strategy-human-capital > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.strategy-human-capital > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.strategy-human-capital > header .container > *.label span {
            top: 0; }
      main.strategy-human-capital > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.strategy-human-capital > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.strategy-human-capital > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.strategy-human-capital > header .container > *:not(.label) span {
            top: 0; }
  main.strategy-human-capital .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.strategy-human-capital .container {
        width: calc(100% - 24px * 2); } }
    main.strategy-human-capital .container section.intro {
      padding: 0 58px; }
      @media screen and (max-width: 1023px) {
        main.strategy-human-capital .container section.intro {
          padding: 0; } }
      main.strategy-human-capital .container section.intro h2 {
        font-weight: 700;
        font-size: 32px;
        line-height: 150%;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 24px; }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital .container section.intro h2 {
            font-size: 18px;
            line-height: 180%; } }
      main.strategy-human-capital .container section.intro p {
        max-width: 720px;
        font-weight: 400;
        font-size: 18px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital .container section.intro p {
            font-size: 16px;
            line-height: 200%; } }
    main.strategy-human-capital .container section.policy,
    main.strategy-human-capital .container section.provide,
    main.strategy-human-capital .container section.cycle,
    main.strategy-human-capital .container section.other {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      margin-top: 40px; }
      @media screen and (max-width: 1023px) {
        main.strategy-human-capital .container section.policy,
        main.strategy-human-capital .container section.provide,
        main.strategy-human-capital .container section.cycle,
        main.strategy-human-capital .container section.other {
          padding: 48px 16px; } }
      main.strategy-human-capital .container section.policy[data-inview],
      main.strategy-human-capital .container section.provide[data-inview],
      main.strategy-human-capital .container section.cycle[data-inview],
      main.strategy-human-capital .container section.other[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.strategy-human-capital .container section.policy[data-inview][data-inview-active],
        main.strategy-human-capital .container section.provide[data-inview][data-inview-active],
        main.strategy-human-capital .container section.cycle[data-inview][data-inview-active],
        main.strategy-human-capital .container section.other[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.strategy-human-capital .container section.policy h2,
      main.strategy-human-capital .container section.provide h2,
      main.strategy-human-capital .container section.cycle h2,
      main.strategy-human-capital .container section.other h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital .container section.policy h2,
          main.strategy-human-capital .container section.provide h2,
          main.strategy-human-capital .container section.cycle h2,
          main.strategy-human-capital .container section.other h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.strategy-human-capital .container section.policy h2:before,
        main.strategy-human-capital .container section.provide h2:before,
        main.strategy-human-capital .container section.cycle h2:before,
        main.strategy-human-capital .container section.other h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.strategy-human-capital .container section.policy h2:before,
            main.strategy-human-capital .container section.provide h2:before,
            main.strategy-human-capital .container section.cycle h2:before,
            main.strategy-human-capital .container section.other h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
    main.strategy-human-capital .container section.policy .copy {
      margin-bottom: 40px; }
      main.strategy-human-capital .container section.policy .copy p:nth-child(1) {
        font-weight: 700;
        font-size: 80px;
        line-height: 100%;
        text-align: center;
        color: #004481;
        margin-bottom: 16px; }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital .container section.policy .copy p:nth-child(1) {
            font-size: 28px; } }
      main.strategy-human-capital .container section.policy .copy p:nth-child(2) {
        font-weight: 700;
        font-size: 22px;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.1em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital .container section.policy .copy p:nth-child(2) {
            font-size: 16px;
            letter-spacing: 0.05em; } }
    main.strategy-human-capital .container section.policy > p {
      max-width: 720px;
      margin: 0 auto;
      font-weight: 400;
      font-size: 18px;
      line-height: 180%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #27333A; }
      @media screen and (max-width: 1023px) {
        main.strategy-human-capital .container section.policy > p {
          font-size: 14px;
          line-height: 200%; } }
    main.strategy-human-capital .container section.provide ul {
      display: flex;
      gap: 32px;
      padding-top: 60px; }
      @media screen and (max-width: 1023px) {
        main.strategy-human-capital .container section.provide ul {
          gap: 16px; } }
      @media screen and (max-width: 767px) {
        main.strategy-human-capital .container section.provide ul {
          padding-top: 50px;
          gap: 80px;
          flex-wrap: wrap; } }
      main.strategy-human-capital .container section.provide ul li {
        position: relative;
        flex: 0 0 calc((100% - 32px * 2) / 3);
        background-color: #004481;
        border-radius: 8px;
        padding: 80px 24px 32px; }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital .container section.provide ul li {
            flex: 0 0 calc((100% - 16px * 2) / 3); } }
        @media screen and (max-width: 767px) {
          main.strategy-human-capital .container section.provide ul li {
            flex: 0 0 100%; } }
        main.strategy-human-capital .container section.provide ul li figure {
          position: absolute;
          top: -60px;
          left: 50%;
          width: 120px;
          transform: translateX(-50%);
          border: 2px solid #004481;
          border-radius: 50%;
          overflow: hidden; }
          @media screen and (max-width: 1023px) {
            main.strategy-human-capital .container section.provide ul li figure {
              width: 100px;
              top: -50px; } }
        main.strategy-human-capital .container section.provide ul li p.title {
          font-weight: 700;
          font-size: 32px;
          line-height: 100%;
          text-align: center;
          letter-spacing: 0.1em;
          color: #FFFFFF;
          margin-bottom: 16px; }
        main.strategy-human-capital .container section.provide ul li p.lead {
          font-weight: 700;
          font-size: 16px;
          line-height: 100%;
          text-align: center;
          letter-spacing: 0.05em;
          color: #FFFFFF;
          margin-bottom: 24px; }
          main.strategy-human-capital .container section.provide ul li p.lead:before {
            content: "−\00a0"; }
          main.strategy-human-capital .container section.provide ul li p.lead:ater {
            content: "\00a0−"; }
        main.strategy-human-capital .container section.provide ul li p {
          font-weight: 500;
          font-size: 16px;
          line-height: 150%;
          text-align: center;
          color: #FFFFFF; }
    main.strategy-human-capital .container section.cycle > p,
    main.strategy-human-capital .container section.other > p {
      font-weight: 400;
      font-size: 18px;
      line-height: 180%;
      letter-spacing: 0.05em;
      color: #27333A; }
      @media screen and (max-width: 1023px) {
        main.strategy-human-capital .container section.cycle > p,
        main.strategy-human-capital .container section.other > p {
          font-size: 14px;
          line-height: 200%; } }
    main.strategy-human-capital .container section.cycle > figure,
    main.strategy-human-capital .container section.other > figure {
      margin-top: 64px; }
      @media screen and (max-width: 1023px) {
        main.strategy-human-capital .container section.cycle > figure,
        main.strategy-human-capital .container section.other > figure {
          margin-top: 48px; } }
    main.strategy-human-capital .container section.cycle ul,
    main.strategy-human-capital .container section.other ul {
      display: flex;
      flex-wrap: wrap;
      gap: 44px 48px;
      margin-top: 64px; }
      @media screen and (max-width: 1023px) {
        main.strategy-human-capital .container section.cycle ul,
        main.strategy-human-capital .container section.other ul {
          margin-top: 48px;
          gap: 48px; } }
      main.strategy-human-capital .container section.cycle ul li,
      main.strategy-human-capital .container section.other ul li {
        display: flex;
        gap: 24px;
        flex: 0 0 calc((100% - 48px) / 2); }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital .container section.cycle ul li,
          main.strategy-human-capital .container section.other ul li {
            display: grid;
            grid-template-columns: 64px 1fr;
            grid-template-rows: auto auto;
            gap: 16px 24px; } }
        @media screen and (max-width: 767px) {
          main.strategy-human-capital .container section.cycle ul li,
          main.strategy-human-capital .container section.other ul li {
            flex: 0 0 100%; } }
        main.strategy-human-capital .container section.cycle ul li figure,
        main.strategy-human-capital .container section.other ul li figure {
          flex: 0 0 80px; }
          @media screen and (max-width: 1023px) {
            main.strategy-human-capital .container section.cycle ul li figure,
            main.strategy-human-capital .container section.other ul li figure {
              grid-column: 1 / 1;
              grid-row: 1 / 2; } }
          main.strategy-human-capital .container section.cycle ul li figure img,
          main.strategy-human-capital .container section.other ul li figure img {
            border-radius: 4px; }
        main.strategy-human-capital .container section.cycle ul li .content,
        main.strategy-human-capital .container section.other ul li .content {
          flex: 1; }
          @media screen and (max-width: 1023px) {
            main.strategy-human-capital .container section.cycle ul li .content,
            main.strategy-human-capital .container section.other ul li .content {
              display: contents; } }
          main.strategy-human-capital .container section.cycle ul li .content .title,
          main.strategy-human-capital .container section.other ul li .content .title {
            font-weight: 700;
            font-size: 20px;
            line-height: 180%;
            letter-spacing: 0.05em;
            color: #004481;
            margin-bottom: 10px; }
            @media screen and (max-width: 1023px) {
              main.strategy-human-capital .container section.cycle ul li .content .title,
              main.strategy-human-capital .container section.other ul li .content .title {
                grid-column: 2 / 3;
                grid-row: 1 / 2;
                align-self: center;
                font-size: 18px;
                margin-bottom: 0; } }
          main.strategy-human-capital .container section.cycle ul li .content p,
          main.strategy-human-capital .container section.other ul li .content p {
            font-weight: 400;
            font-size: 16px;
            line-height: 180%;
            color: #27333A; }
            @media screen and (max-width: 1023px) {
              main.strategy-human-capital .container section.cycle ul li .content p,
              main.strategy-human-capital .container section.other ul li .content p {
                font-size: 14px;
                line-height: 200%; } }
            @media screen and (max-width: 1023px) {
              main.strategy-human-capital .container section.cycle ul li .content p,
              main.strategy-human-capital .container section.other ul li .content p {
                grid-column: 1 / 3;
                grid-row: 2 / 3; } }
    main.strategy-human-capital .container section.cycle section,
    main.strategy-human-capital .container section.other section {
      margin-top: 64px; }
      @media screen and (max-width: 1023px) {
        main.strategy-human-capital .container section.cycle section,
        main.strategy-human-capital .container section.other section {
          margin-top: 48px; } }
      main.strategy-human-capital .container section.cycle section h3,
      main.strategy-human-capital .container section.other section h3 {
        font-weight: 700;
        font-size: 16px;
        line-height: 180%;
        color: #004481;
        padding-bottom: 4px;
        border-bottom: 1px solid #004481;
        margin-bottom: 48px; }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital .container section.cycle section h3,
          main.strategy-human-capital .container section.other section h3 {
            font-size: 16px;
            margin-bottom: 24px; } }
      main.strategy-human-capital .container section.cycle section > ul,
      main.strategy-human-capital .container section.other section > ul {
        margin-top: 48px; }
        @media screen and (max-width: 1023px) {
          main.strategy-human-capital .container section.cycle section > ul,
          main.strategy-human-capital .container section.other section > ul {
            margin-top: 24px; } }

main.strategy-ma {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.strategy-ma {
      padding: 72px 0 64px; } }
  main.strategy-ma > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.strategy-ma > header {
        height: 194px; } }
    main.strategy-ma > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.strategy-ma > header .container {
          width: calc(100% - 24px * 2); } }
      main.strategy-ma > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.strategy-ma > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.strategy-ma > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.strategy-ma > header .container > *.label span {
            top: 0; }
      main.strategy-ma > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.strategy-ma > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.strategy-ma > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.strategy-ma > header .container > *:not(.label) span {
            top: 0; }
  main.strategy-ma .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.strategy-ma .container {
        width: calc(100% - 24px * 2); } }
    main.strategy-ma .container section.intro {
      padding: 0 56px; }
      @media screen and (max-width: 1023px) {
        main.strategy-ma .container section.intro {
          padding: 0; } }
      main.strategy-ma .container section.intro h2 {
        font-weight: 700;
        font-size: 32px;
        line-height: 150%;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 24px; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.intro h2 {
            font-size: 18px;
            line-height: 180%; }
            main.strategy-ma .container section.intro h2 br {
              display: none; } }
      main.strategy-ma .container section.intro p {
        max-width: 720px;
        font-weight: 400;
        font-size: 18px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.intro p {
            font-size: 16px;
            line-height: 200%; } }
    main.strategy-ma .container section.vision {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      position: relative;
      z-index: 1;
      margin-top: 64px; }
      @media screen and (max-width: 1023px) {
        main.strategy-ma .container section.vision {
          padding: 48px 16px; } }
      main.strategy-ma .container section.vision[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.strategy-ma .container section.vision[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.strategy-ma .container section.vision h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.vision h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.strategy-ma .container section.vision h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.vision h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
      main.strategy-ma .container section.vision p.copy {
        font-weight: 700;
        font-size: 32px;
        line-height: 180%;
        text-align: justify;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 24px; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.vision p.copy {
            font-size: 18px;
            margin-bottom: 24px; } }
      main.strategy-ma .container section.vision .body {
        display: flex;
        align-items: center;
        gap: 40px; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.vision .body {
            flex-wrap: wrap; } }
        main.strategy-ma .container section.vision .body .content {
          flex: 1;
          font-weight: 400;
          font-size: 16px;
          line-height: 180%;
          color: #27333A; }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.vision .body .content {
              font-size: 14px;
              line-height: 200%; } }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.vision .body .content {
              flex: 0 0 100%; } }
        main.strategy-ma .container section.vision .body figure {
          flex: 0 0 calc(420 / 1038 * 100%); }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.vision .body figure {
              flex: 0 0 100%;
              text-align: center; }
              main.strategy-ma .container section.vision .body figure img {
                width: 100%;
                max-width: 560px; } }
    main.strategy-ma .container section.case {
      position: relative;
      padding: 240px 56px;
      background-color: #E8EFF6;
      margin-top: -160px; }
      @media screen and (max-width: 1023px) {
        main.strategy-ma .container section.case {
          padding: 208px 24px; } }
      main.strategy-ma .container section.case:before, main.strategy-ma .container section.case:after {
        content: "";
        display: block;
        position: absolute;
        background-color: #E8EFF6;
        width: calc(50vw - 50%);
        top: 0;
        bottom: 0; }
      main.strategy-ma .container section.case:before {
        left: 100%; }
      main.strategy-ma .container section.case:after {
        right: 100%; }
      main.strategy-ma .container section.case h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.case h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.strategy-ma .container section.case h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.case h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
      main.strategy-ma .container section.case ul {
        display: flex;
        flex-wrap: wrap;
        gap: 16px; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.case ul {
            margin: 0 -24px; } }
        main.strategy-ma .container section.case ul li {
          position: relative;
          flex: 0 0 100%;
          display: flex;
          align-items: flex-start;
          gap: 40px;
          padding-left: 220px;
          padding-bottom: 40px; }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.case ul li {
              gap: 24px;
              flex-direction: column;
              padding-left: 70px;
              padding-bottom: 24px; } }
          main.strategy-ma .container section.case ul li:before {
            content: "";
            position: absolute;
            top: 40px;
            left: 109px;
            bottom: 0;
            display: block;
            width: 2px;
            background-color: #FFFFFF;
            border-radius: 2px; }
            @media screen and (max-width: 1023px) {
              main.strategy-ma .container section.case ul li:before {
                top: 30px;
                left: 26px; } }
          main.strategy-ma .container section.case ul li .date {
            position: absolute;
            background-color: #E8EFF6;
            top: 0;
            left: 0;
            width: 220px;
            font-weight: 700;
            font-size: 24px;
            line-height: 100%;
            letter-spacing: 0.05em;
            color: #004481;
            text-align: center; }
            @media screen and (max-width: 1023px) {
              main.strategy-ma .container section.case ul li .date {
                font-size: 14px;
                width: 70px;
                text-align: left;
                letter-spacing: 0; } }
          main.strategy-ma .container section.case ul li .content {
            flex: 1;
            position: relative; }
            @media screen and (max-width: 1023px) {
              main.strategy-ma .container section.case ul li .content {
                order: 2; } }
            main.strategy-ma .container section.case ul li .content .title {
              font-weight: 500;
              font-size: 20px;
              line-height: 100%;
              text-align: justify;
              color: #27333A;
              margin-bottom: 16px; }
              @media screen and (max-width: 1023px) {
                main.strategy-ma .container section.case ul li .content .title {
                  font-size: 16px; } }
            main.strategy-ma .container section.case ul li .content .description {
              font-weight: 400;
              font-size: 15px;
              line-height: 180%;
              text-align: justify;
              letter-spacing: 0.05em;
              color: #27333A; }
              @media screen and (max-width: 1023px) {
                main.strategy-ma .container section.case ul li .content .description {
                  font-size: 14px;
                  line-height: 200%; } }
          main.strategy-ma .container section.case ul li figure {
            flex: 0 0 240px;
            border-radius: 4px;
            overflow: hidden; }
            @media screen and (max-width: 1023px) {
              main.strategy-ma .container section.case ul li figure {
                order: 1;
                flex: initial;
                width: 160px; } }
    main.strategy-ma .container section.policy {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      margin-top: -160px;
      z-index: 1;
      position: relative; }
      @media screen and (max-width: 1023px) {
        main.strategy-ma .container section.policy {
          padding: 48px 16px; } }
      main.strategy-ma .container section.policy[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.strategy-ma .container section.policy[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.strategy-ma .container section.policy h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.policy h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.strategy-ma .container section.policy h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.policy h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
      main.strategy-ma .container section.policy dl {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 0; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.policy dl {
            display: block; } }
        main.strategy-ma .container section.policy dl dt {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          flex: 0 0 calc(420 / 1040 * 100%);
          border-bottom: 1px solid #E8EFF6;
          padding-bottom: 40px;
          padding-right: 40px; }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.policy dl dt {
              font-size: 16px;
              border: none;
              padding-bottom: 0;
              padding-right: 0;
              margin-bottom: 24px; } }
        main.strategy-ma .container section.policy dl dd {
          font-weight: 400;
          font-size: 16px;
          line-height: 180%;
          flex: 0 0 calc(620 / 1040 * 100%);
          padding-bottom: 40px;
          border-bottom: 1px solid #E8EFF6;
          letter-spacing: 0.05em;
          color: #27333A; }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.policy dl dd {
              font-size: 14px;
              line-height: 200%; } }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.policy dl dd {
              margin-bottom: 40px; }
              main.strategy-ma .container section.policy dl dd:last-child {
                margin-bottom: 0; } }
    main.strategy-ma .container section.framework {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      margin-top: 40px; }
      @media screen and (max-width: 1023px) {
        main.strategy-ma .container section.framework {
          padding: 48px 16px; } }
      main.strategy-ma .container section.framework[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.strategy-ma .container section.framework[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.strategy-ma .container section.framework h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.framework h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.strategy-ma .container section.framework h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.framework h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
      main.strategy-ma .container section.framework > p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.framework > p {
            font-size: 14px;
            line-height: 200%; } }
      main.strategy-ma .container section.framework ul {
        display: flex;
        gap: 24px;
        margin-top: 40px; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container section.framework ul {
            gap: 16px; } }
        @media screen and (max-width: 767px) {
          main.strategy-ma .container section.framework ul {
            flex-wrap: wrap;
            gap: 24px; } }
        main.strategy-ma .container section.framework ul li {
          flex: 1;
          padding: 32px;
          background: #FAFAFA;
          border-radius: 8px; }
          @media screen and (max-width: 767px) {
            main.strategy-ma .container section.framework ul li {
              flex: 0 0 100%; } }
          main.strategy-ma .container section.framework ul li .title {
            font-weight: 700;
            font-size: 24px;
            line-height: 100%;
            text-align: center;
            color: #004481;
            margin-bottom: 16px; }
          main.strategy-ma .container section.framework ul li .lead {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            text-align: center;
            color: #004481;
            margin-bottom: 16px; }
          main.strategy-ma .container section.framework ul li figure {
            width: 100px;
            margin: 0 auto;
            margin-bottom: 16px; }
          main.strategy-ma .container section.framework ul li .description {
            font-weight: 400;
            font-size: 15px;
            line-height: 150%;
            color: #27333A; }
      main.strategy-ma .container section.framework section.growth {
        margin-top: 64px; }
        main.strategy-ma .container section.framework section.growth h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 40px; }
        main.strategy-ma .container section.framework section.growth > p {
          font-weight: 400;
          font-size: 16px;
          line-height: 180%;
          letter-spacing: 0.05em;
          color: #27333A; }
          @media screen and (max-width: 1023px) {
            main.strategy-ma .container section.framework section.growth > p {
              font-size: 14px;
              line-height: 200%; } }
        main.strategy-ma .container section.framework section.growth figure {
          margin-top: 40px; }
          main.strategy-ma .container section.framework section.growth figure .note {
            font-weight: 500;
            font-size: 12px;
            line-height: 100%;
            text-align: right;
            letter-spacing: 0.05em;
            color: #27333A;
            margin-bottom: 16px; }
            @media screen and (max-width: 1023px) {
              main.strategy-ma .container section.framework section.growth figure .note {
                font-size: 10px;
                margin-bottom: 8px; } }
    main.strategy-ma .container nav.cta {
      margin-top: 80px; }
      @media screen and (max-width: 1023px) {
        main.strategy-ma .container nav.cta {
          margin-top: 56px; } }
      main.strategy-ma .container nav.cta .copy {
        font-weight: 700;
        font-size: 18px;
        line-height: 180%;
        text-align: center;
        letter-spacing: 0.05em;
        color: #004481; }
      main.strategy-ma .container nav.cta .action {
        margin-top: 24px;
        display: flex;
        justify-content: center; }
        @media screen and (max-width: 1023px) {
          main.strategy-ma .container nav.cta .action {
            margin-top: 48px; } }
        main.strategy-ma .container nav.cta .action a {
          position: relative;
          display: flex;
          justify-content: center;
          align-items: center;
          width: 100%;
          max-width: 640px;
          height: 80px;
          border-radius: 8px;
          font-weight: 700;
          font-size: 24px;
          line-height: 100%;
          text-align: center;
          letter-spacing: 0.05em;
          color: #FFFFFF;
          background-color: #004481; }
          main.strategy-ma .container nav.cta .action a .arrow {
            position: relative;
            display: block;
            width: 40px;
            height: 24px;
            border-radius: 4px;
            background-color: #004481;
            overflow: hidden;
            background-color: #fff;
            position: absolute;
            top: 50%;
            right: 28px;
            transform: translateY(-50%); }
            main.strategy-ma .container nav.cta .action a .arrow:before, main.strategy-ma .container nav.cta .action a .arrow:after {
              content: "";
              display: block;
              -webkit-mask-image: url("../images/common/more_arrow.svg");
              mask-image: url("../images/common/more_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              width: 17px;
              height: 8px;
              position: absolute;
              top: calc(50% - 4px);
              left: calc(50% - 8.5px);
              transition: all ease .3s;
              opacity: 1;
              background-color: #fff;
              background-color: #004481; }
            main.strategy-ma .container nav.cta .action a .arrow:after {
              transform: translateX(-40px);
              opacity: 0; }
          main.strategy-ma .container nav.cta .action a:hover .arrow:before {
            transform: translateX(40px);
            opacity: 0; }
          main.strategy-ma .container nav.cta .action a:hover .arrow:after {
            transform: translateX(0px);
            opacity: 1; }

main.ir {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir {
      padding: 72px 0 64px; } }
  main.ir .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir .eir {
        font-size: 15px; } }
    main.ir .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir .eir ul.s_eirList li .content,
        main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir .eir ul.s_eirList li .content,
            main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir .eir ul.s_eirList li .content .title,
          main.ir .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir .eir ul.s_eirList li .content .title a,
            main.ir .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir .eir ul.s_eirList li .content .title a:hover,
                main.ir .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir .eir ul.s_eirList li .content .eirItem_type,
          main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir .eir ul.s_eirList li .content .size,
          main.ir .eir ul.s_eirList li .content .eirItem_size,
          main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir .eir ul.s_eirList li.pdf a::after, main.ir .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir .qir {
        font-size: 15px; } }
    main.ir .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir > header {
        height: 194px; } }
    main.ir > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir > header .container > *.label span {
            top: 0; }
      main.ir > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir > header .container > *:not(.label) span {
            top: 0; }
  main.ir > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir > .container {
        width: calc(100% - 24px * 2); } }
    main.ir > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir > .container > .wrapper p {
            font-size: 15px; } }
      main.ir > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir > .container > .wrapper nav.tab ul li.active a, main.ir > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir .container .wrapper .cols {
    display: flex;
    gap: 48px; }
    @media screen and (max-width: 767px) {
      main.ir .container .wrapper .cols {
        flex-direction: column; } }
    main.ir .container .wrapper .cols .col {
      flex: 1; }
      @media screen and (max-width: 767px) {
        main.ir .container .wrapper .cols .col {
          flex: initial; } }
  main.ir .container .wrapper section > header {
    position: relative;
    margin-bottom: 24px;
    padding: 15px 16px;
    background: #E8EFF6;
    border-radius: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px; }
    main.ir .container .wrapper section > header h2 {
      font-weight: 700;
      font-size: 18px;
      line-height: 100%;
      letter-spacing: 0.05em;
      padding: 0;
      color: #004481;
      margin-bottom: 0; }
    main.ir .container .wrapper section > header p {
      margin-left: auto; }
      main.ir .container .wrapper section > header p a {
        display: flex;
        gap: 16px;
        align-items: center;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #004481; }
        main.ir .container .wrapper section > header p a .arrow {
          position: relative;
          display: block;
          width: 40px;
          height: 24px;
          border-radius: 4px;
          background-color: #004481;
          overflow: hidden; }
          main.ir .container .wrapper section > header p a .arrow:before, main.ir .container .wrapper section > header p a .arrow:after {
            content: "";
            display: block;
            -webkit-mask-image: url("../images/common/more_arrow.svg");
            mask-image: url("../images/common/more_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            width: 17px;
            height: 8px;
            position: absolute;
            top: calc(50% - 4px);
            left: calc(50% - 8.5px);
            transition: all ease .3s;
            opacity: 1;
            background-color: #fff; }
          main.ir .container .wrapper section > header p a .arrow:after {
            transform: translateX(-40px);
            opacity: 0; }
        @media screen and (min-width: 1024px) {
          main.ir .container .wrapper section > header p a:hover .arrow:before {
            transform: translateX(40px);
            opacity: 0; }
          main.ir .container .wrapper section > header p a:hover .arrow:after {
            transform: translateX(0px);
            opacity: 1; } }
  main.ir .container .wrapper section.category h2 {
    padding: 15px 16px;
    background: #E8EFF6;
    border-radius: 4px;
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.05em;
    color: #004481;
    margin-bottom: 40px; }
  main.ir .container .wrapper section.award {
    padding: 0 18px; }
    main.ir .container .wrapper section.award a {
      display: flex;
      align-items: center;
      gap: 24px; }
      main.ir .container .wrapper section.award a figure {
        flex: 0 0 64px; }
      main.ir .container .wrapper section.award a .content {
        flex: 1; }
        main.ir .container .wrapper section.award a .content p:after {
          content: "";
          -webkit-mask-image: url("../images/common/icon_blank.svg");
          mask-image: url("../images/common/icon_blank.svg");
          -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
          width: 20px;
          height: 20px;
          display: inline-block;
          vertical-align: center;
          background-color: #004481;
          transition: all ease .3s;
          vertical-align: text-bottom;
          margin-left: 8px; }

main.ir-message {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-message {
      padding: 72px 0 64px; } }
  main.ir-message .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-message .eir {
        font-size: 15px; } }
    main.ir-message .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-message .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-message .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-message .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-message .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-message .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-message .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-message .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-message .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-message .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-message .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-message .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-message .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-message .eir ul.s_eirList li .content,
        main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-message .eir ul.s_eirList li .content,
            main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-message .eir ul.s_eirList li .content .title,
          main.ir-message .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-message .eir ul.s_eirList li .content .title a,
            main.ir-message .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-message .eir ul.s_eirList li .content .title a:hover,
                main.ir-message .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-message .eir ul.s_eirList li .content .eirItem_type,
          main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-message .eir ul.s_eirList li .content .size,
          main.ir-message .eir ul.s_eirList li .content .eirItem_size,
          main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-message .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-message .eir ul.s_eirList li.pdf a::after, main.ir-message .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-message .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-message .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-message .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-message .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-message .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-message .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-message .qir {
        font-size: 15px; } }
    main.ir-message .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-message .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-message .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-message .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-message .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-message > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-message > header {
        height: 194px; } }
    main.ir-message > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-message > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-message > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-message > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-message > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-message > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-message > header .container > *.label span {
            top: 0; }
      main.ir-message > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-message > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-message > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-message > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-message > header .container > *:not(.label) span {
            top: 0; }
  main.ir-message > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-message > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-message > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-message > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-message > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-message > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-message > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-message > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-message > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-message > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-message > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-message > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-message > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-message > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-message > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-message > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-message > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-message > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-message > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-message > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-message > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-message > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-message > .container > .wrapper nav.tab ul li.active a, main.ir-message > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-message > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-message > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-message > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-message > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-message > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-message > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-message > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-message > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-message > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-message > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-message > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-message > .container section.message > p {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A;
    margin: 1.8em 0; }
    @media screen and (max-width: 1023px) {
      main.ir-message > .container section.message > p {
        font-size: 15px; } }
    main.ir-message > .container section.message > p:first-child {
      margin-top: 0; }
    main.ir-message > .container section.message > p:last-child {
      margin-bottom: 0; }
  main.ir-message > .container section.message ul.signature {
    margin-top: 48px; }
    main.ir-message > .container section.message ul.signature li {
      display: flex;
      gap: 1em;
      justify-content: flex-end;
      align-items: baseline;
      margin-top: 16px; }
      main.ir-message > .container section.message ul.signature li p:nth-child(1) {
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        color: #27333A; }
      main.ir-message > .container section.message ul.signature li p:nth-child(2) {
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        color: #27333A; }

main.ir-governance {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-governance {
      padding: 72px 0 64px; } }
  main.ir-governance .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-governance .eir {
        font-size: 15px; } }
    main.ir-governance .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-governance .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-governance .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-governance .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-governance .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-governance .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-governance .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-governance .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-governance .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-governance .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-governance .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-governance .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-governance .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-governance .eir ul.s_eirList li .content,
        main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-governance .eir ul.s_eirList li .content,
            main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-governance .eir ul.s_eirList li .content .title,
          main.ir-governance .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-governance .eir ul.s_eirList li .content .title a,
            main.ir-governance .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-governance .eir ul.s_eirList li .content .title a:hover,
                main.ir-governance .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-governance .eir ul.s_eirList li .content .eirItem_type,
          main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-governance .eir ul.s_eirList li .content .size,
          main.ir-governance .eir ul.s_eirList li .content .eirItem_size,
          main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-governance .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-governance .eir ul.s_eirList li.pdf a::after, main.ir-governance .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-governance .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-governance .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-governance .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-governance .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-governance .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-governance .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-governance .qir {
        font-size: 15px; } }
    main.ir-governance .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-governance .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-governance .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-governance .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-governance .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-governance > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-governance > header {
        height: 194px; } }
    main.ir-governance > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-governance > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-governance > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-governance > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-governance > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-governance > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-governance > header .container > *.label span {
            top: 0; }
      main.ir-governance > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-governance > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-governance > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-governance > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-governance > header .container > *:not(.label) span {
            top: 0; }
  main.ir-governance > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-governance > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-governance > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-governance > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-governance > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-governance > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-governance > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-governance > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-governance > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-governance > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-governance > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-governance > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-governance > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-governance > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-governance > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-governance > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-governance > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-governance > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-governance > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-governance > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-governance > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-governance > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-governance > .container > .wrapper nav.tab ul li.active a, main.ir-governance > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-governance > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-governance > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-governance > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-governance > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-governance > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-governance > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-governance > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-governance > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-governance > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-governance > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-governance > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-governance .eir[class*="area_governance"] {
    margin-top: 1.8rem; }
    main.ir-governance .eir[class*="area_governance"] .s_eirList_item {
      text-align: left; }

main.ir-performance {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-performance {
      padding: 72px 0 64px; } }
  main.ir-performance .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-performance .eir {
        font-size: 15px; } }
    main.ir-performance .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-performance .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-performance .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-performance .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-performance .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-performance .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-performance .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-performance .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-performance .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-performance .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-performance .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-performance .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-performance .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-performance .eir ul.s_eirList li .content,
        main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-performance .eir ul.s_eirList li .content,
            main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-performance .eir ul.s_eirList li .content .title,
          main.ir-performance .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-performance .eir ul.s_eirList li .content .title a,
            main.ir-performance .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-performance .eir ul.s_eirList li .content .title a:hover,
                main.ir-performance .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-performance .eir ul.s_eirList li .content .eirItem_type,
          main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-performance .eir ul.s_eirList li .content .size,
          main.ir-performance .eir ul.s_eirList li .content .eirItem_size,
          main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-performance .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-performance .eir ul.s_eirList li.pdf a::after, main.ir-performance .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-performance .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-performance .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-performance .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-performance .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-performance .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-performance .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-performance .qir {
        font-size: 15px; } }
    main.ir-performance .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-performance .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-performance .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-performance .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-performance .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-performance > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-performance > header {
        height: 194px; } }
    main.ir-performance > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-performance > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-performance > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-performance > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-performance > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-performance > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-performance > header .container > *.label span {
            top: 0; }
      main.ir-performance > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-performance > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-performance > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-performance > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-performance > header .container > *:not(.label) span {
            top: 0; }
  main.ir-performance > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-performance > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-performance > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-performance > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-performance > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-performance > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-performance > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-performance > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-performance > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-performance > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-performance > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-performance > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-performance > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-performance > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-performance > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-performance > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-performance > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-performance > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-performance > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-performance > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-performance > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-performance > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-performance > .container > .wrapper nav.tab ul li.active a, main.ir-performance > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-performance > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-performance > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-performance > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-performance > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-performance > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-performance > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-performance > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-performance > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-performance > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-performance > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-performance > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }

main.ir-finance {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-finance {
      padding: 72px 0 64px; } }
  main.ir-finance .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-finance .eir {
        font-size: 15px; } }
    main.ir-finance .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-finance .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-finance .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-finance .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-finance .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-finance .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-finance .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-finance .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-finance .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-finance .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-finance .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-finance .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-finance .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-finance .eir ul.s_eirList li .content,
        main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-finance .eir ul.s_eirList li .content,
            main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-finance .eir ul.s_eirList li .content .title,
          main.ir-finance .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-finance .eir ul.s_eirList li .content .title a,
            main.ir-finance .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-finance .eir ul.s_eirList li .content .title a:hover,
                main.ir-finance .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-finance .eir ul.s_eirList li .content .eirItem_type,
          main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-finance .eir ul.s_eirList li .content .size,
          main.ir-finance .eir ul.s_eirList li .content .eirItem_size,
          main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-finance .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-finance .eir ul.s_eirList li.pdf a::after, main.ir-finance .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-finance .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-finance .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-finance .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-finance .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-finance .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-finance .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-finance .qir {
        font-size: 15px; } }
    main.ir-finance .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-finance .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-finance .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-finance .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-finance .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-finance > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-finance > header {
        height: 194px; } }
    main.ir-finance > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-finance > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-finance > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-finance > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-finance > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-finance > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-finance > header .container > *.label span {
            top: 0; }
      main.ir-finance > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-finance > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-finance > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-finance > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-finance > header .container > *:not(.label) span {
            top: 0; }
  main.ir-finance > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-finance > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-finance > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-finance > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-finance > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-finance > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-finance > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-finance > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-finance > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-finance > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-finance > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-finance > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-finance > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-finance > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-finance > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-finance > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-finance > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-finance > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-finance > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-finance > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-finance > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-finance > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-finance > .container > .wrapper nav.tab ul li.active a, main.ir-finance > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-finance > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-finance > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-finance > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-finance > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-finance > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-finance > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-finance > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-finance > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-finance > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-finance > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-finance > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }

main.ir-cashflow {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-cashflow {
      padding: 72px 0 64px; } }
  main.ir-cashflow .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-cashflow .eir {
        font-size: 15px; } }
    main.ir-cashflow .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-cashflow .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-cashflow .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-cashflow .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-cashflow .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-cashflow .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-cashflow .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-cashflow .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-cashflow .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-cashflow .eir ul.s_eirList li .content,
        main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-cashflow .eir ul.s_eirList li .content,
            main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-cashflow .eir ul.s_eirList li .content .title,
          main.ir-cashflow .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-cashflow .eir ul.s_eirList li .content .title a,
            main.ir-cashflow .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-cashflow .eir ul.s_eirList li .content .title a:hover,
                main.ir-cashflow .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-cashflow .eir ul.s_eirList li .content .eirItem_type,
          main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-cashflow .eir ul.s_eirList li .content .size,
          main.ir-cashflow .eir ul.s_eirList li .content .eirItem_size,
          main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-cashflow .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-cashflow .eir ul.s_eirList li.pdf a::after, main.ir-cashflow .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-cashflow .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-cashflow .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-cashflow .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-cashflow .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-cashflow .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-cashflow .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-cashflow .qir {
        font-size: 15px; } }
    main.ir-cashflow .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-cashflow .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-cashflow .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-cashflow .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-cashflow .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-cashflow > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-cashflow > header {
        height: 194px; } }
    main.ir-cashflow > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-cashflow > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-cashflow > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-cashflow > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-cashflow > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-cashflow > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-cashflow > header .container > *.label span {
            top: 0; }
      main.ir-cashflow > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-cashflow > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-cashflow > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-cashflow > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-cashflow > header .container > *:not(.label) span {
            top: 0; }
  main.ir-cashflow > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-cashflow > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-cashflow > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-cashflow > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-cashflow > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-cashflow > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-cashflow > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-cashflow > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-cashflow > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-cashflow > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-cashflow > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-cashflow > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-cashflow > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-cashflow > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-cashflow > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-cashflow > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-cashflow > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-cashflow > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-cashflow > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-cashflow > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-cashflow > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-cashflow > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-cashflow > .container > .wrapper nav.tab ul li.active a, main.ir-cashflow > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-cashflow > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-cashflow > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-cashflow > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-cashflow > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-cashflow > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-cashflow > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-cashflow > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-cashflow > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-cashflow > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-cashflow > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-cashflow > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }

main.ir-settlement {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-settlement {
      padding: 72px 0 64px; } }
  main.ir-settlement .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-settlement .eir {
        font-size: 15px; } }
    main.ir-settlement .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-settlement .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-settlement .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-settlement .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-settlement .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-settlement .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-settlement .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-settlement .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-settlement .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-settlement .eir ul.s_eirList li .content,
        main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-settlement .eir ul.s_eirList li .content,
            main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-settlement .eir ul.s_eirList li .content .title,
          main.ir-settlement .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-settlement .eir ul.s_eirList li .content .title a,
            main.ir-settlement .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-settlement .eir ul.s_eirList li .content .title a:hover,
                main.ir-settlement .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-settlement .eir ul.s_eirList li .content .eirItem_type,
          main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-settlement .eir ul.s_eirList li .content .size,
          main.ir-settlement .eir ul.s_eirList li .content .eirItem_size,
          main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-settlement .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-settlement .eir ul.s_eirList li.pdf a::after, main.ir-settlement .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-settlement .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-settlement .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-settlement .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-settlement .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-settlement .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-settlement .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-settlement .qir {
        font-size: 15px; } }
    main.ir-settlement .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-settlement .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-settlement .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-settlement .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-settlement .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-settlement > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-settlement > header {
        height: 194px; } }
    main.ir-settlement > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-settlement > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-settlement > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-settlement > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-settlement > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-settlement > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-settlement > header .container > *.label span {
            top: 0; }
      main.ir-settlement > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-settlement > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-settlement > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-settlement > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-settlement > header .container > *:not(.label) span {
            top: 0; }
  main.ir-settlement > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-settlement > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-settlement > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-settlement > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-settlement > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-settlement > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-settlement > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-settlement > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-settlement > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-settlement > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-settlement > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-settlement > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-settlement > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-settlement > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-settlement > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-settlement > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-settlement > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-settlement > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-settlement > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-settlement > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-settlement > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-settlement > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-settlement > .container > .wrapper nav.tab ul li.active a, main.ir-settlement > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-settlement > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-settlement > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-settlement > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-settlement > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-settlement > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-settlement > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-settlement > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-settlement > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-settlement > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-settlement > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-settlement > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-settlement > .wrapper section h3 {
    display: none; }

main.ir-meeting {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-meeting {
      padding: 72px 0 64px; } }
  main.ir-meeting .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-meeting .eir {
        font-size: 15px; } }
    main.ir-meeting .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-meeting .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-meeting .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-meeting .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-meeting .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-meeting .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-meeting .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-meeting .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-meeting .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-meeting .eir ul.s_eirList li .content,
        main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-meeting .eir ul.s_eirList li .content,
            main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-meeting .eir ul.s_eirList li .content .title,
          main.ir-meeting .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-meeting .eir ul.s_eirList li .content .title a,
            main.ir-meeting .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-meeting .eir ul.s_eirList li .content .title a:hover,
                main.ir-meeting .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-meeting .eir ul.s_eirList li .content .eirItem_type,
          main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-meeting .eir ul.s_eirList li .content .size,
          main.ir-meeting .eir ul.s_eirList li .content .eirItem_size,
          main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-meeting .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-meeting .eir ul.s_eirList li.pdf a::after, main.ir-meeting .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-meeting .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-meeting .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-meeting .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-meeting .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-meeting .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-meeting .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-meeting .qir {
        font-size: 15px; } }
    main.ir-meeting .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-meeting .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-meeting .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-meeting .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-meeting .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-meeting > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-meeting > header {
        height: 194px; } }
    main.ir-meeting > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-meeting > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-meeting > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-meeting > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-meeting > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-meeting > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-meeting > header .container > *.label span {
            top: 0; }
      main.ir-meeting > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-meeting > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-meeting > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-meeting > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-meeting > header .container > *:not(.label) span {
            top: 0; }
  main.ir-meeting > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-meeting > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-meeting > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-meeting > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-meeting > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-meeting > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-meeting > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-meeting > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-meeting > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-meeting > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-meeting > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-meeting > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-meeting > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-meeting > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-meeting > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-meeting > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-meeting > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-meeting > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-meeting > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-meeting > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-meeting > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-meeting > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-meeting > .container > .wrapper nav.tab ul li.active a, main.ir-meeting > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-meeting > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-meeting > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-meeting > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-meeting > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-meeting > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-meeting > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-meeting > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-meeting > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-meeting > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-meeting > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-meeting > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }

main.ir-sponsored_report {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-sponsored_report {
      padding: 72px 0 64px; } }
  main.ir-sponsored_report .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-sponsored_report .eir {
        font-size: 15px; } }
    main.ir-sponsored_report .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-sponsored_report .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-sponsored_report .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-sponsored_report .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-sponsored_report .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-sponsored_report .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-sponsored_report .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-sponsored_report .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-sponsored_report .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-sponsored_report .eir ul.s_eirList li .content,
        main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-sponsored_report .eir ul.s_eirList li .content,
            main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-sponsored_report .eir ul.s_eirList li .content .title,
          main.ir-sponsored_report .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-sponsored_report .eir ul.s_eirList li .content .title a,
            main.ir-sponsored_report .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-sponsored_report .eir ul.s_eirList li .content .title a:hover,
                main.ir-sponsored_report .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-sponsored_report .eir ul.s_eirList li .content .eirItem_type,
          main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-sponsored_report .eir ul.s_eirList li .content .size,
          main.ir-sponsored_report .eir ul.s_eirList li .content .eirItem_size,
          main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-sponsored_report .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-sponsored_report .eir ul.s_eirList li.pdf a::after, main.ir-sponsored_report .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-sponsored_report .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-sponsored_report .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-sponsored_report .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-sponsored_report .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-sponsored_report .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-sponsored_report .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-sponsored_report .qir {
        font-size: 15px; } }
    main.ir-sponsored_report .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-sponsored_report .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-sponsored_report .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-sponsored_report .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-sponsored_report .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-sponsored_report > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-sponsored_report > header {
        height: 194px; } }
    main.ir-sponsored_report > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-sponsored_report > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-sponsored_report > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-sponsored_report > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-sponsored_report > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-sponsored_report > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-sponsored_report > header .container > *.label span {
            top: 0; }
      main.ir-sponsored_report > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-sponsored_report > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-sponsored_report > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-sponsored_report > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-sponsored_report > header .container > *:not(.label) span {
            top: 0; }
  main.ir-sponsored_report > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-sponsored_report > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-sponsored_report > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-sponsored_report > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-sponsored_report > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-sponsored_report > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-sponsored_report > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-sponsored_report > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-sponsored_report > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-sponsored_report > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-sponsored_report > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-sponsored_report > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-sponsored_report > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-sponsored_report > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-sponsored_report > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-sponsored_report > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-sponsored_report > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-sponsored_report > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-sponsored_report > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-sponsored_report > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-sponsored_report > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-sponsored_report > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-sponsored_report > .container > .wrapper nav.tab ul li.active a, main.ir-sponsored_report > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-sponsored_report > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-sponsored_report > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-sponsored_report > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-sponsored_report > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-sponsored_report > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-sponsored_report > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-sponsored_report > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-sponsored_report > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-sponsored_report > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-sponsored_report > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-sponsored_report > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }

main.ir-plan {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-plan {
      padding: 72px 0 64px; } }
  main.ir-plan .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-plan .eir {
        font-size: 15px; } }
    main.ir-plan .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-plan .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-plan .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-plan .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-plan .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-plan .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-plan .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-plan .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-plan .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-plan .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-plan .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-plan .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-plan .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-plan .eir ul.s_eirList li .content,
        main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-plan .eir ul.s_eirList li .content,
            main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-plan .eir ul.s_eirList li .content .title,
          main.ir-plan .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-plan .eir ul.s_eirList li .content .title a,
            main.ir-plan .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-plan .eir ul.s_eirList li .content .title a:hover,
                main.ir-plan .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-plan .eir ul.s_eirList li .content .eirItem_type,
          main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-plan .eir ul.s_eirList li .content .size,
          main.ir-plan .eir ul.s_eirList li .content .eirItem_size,
          main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-plan .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-plan .eir ul.s_eirList li.pdf a::after, main.ir-plan .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-plan .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-plan .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-plan .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-plan .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-plan .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-plan .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-plan .qir {
        font-size: 15px; } }
    main.ir-plan .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-plan .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-plan .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-plan .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-plan .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-plan > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-plan > header {
        height: 194px; } }
    main.ir-plan > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-plan > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-plan > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-plan > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-plan > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-plan > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-plan > header .container > *.label span {
            top: 0; }
      main.ir-plan > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-plan > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-plan > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-plan > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-plan > header .container > *:not(.label) span {
            top: 0; }
  main.ir-plan > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-plan > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-plan > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-plan > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-plan > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-plan > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-plan > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-plan > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-plan > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-plan > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-plan > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-plan > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-plan > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-plan > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-plan > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-plan > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-plan > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-plan > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-plan > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-plan > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-plan > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-plan > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-plan > .container > .wrapper nav.tab ul li.active a, main.ir-plan > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-plan > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-plan > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-plan > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-plan > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-plan > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-plan > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-plan > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-plan > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-plan > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-plan > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-plan > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-plan > .container > .wrapper section p + p {
    margin-top: 1.8em; }
  main.ir-plan > .container > .wrapper section figure {
    margin-top: 40px; }
  main.ir-plan > .container > .wrapper section ul {
    border-top: 1px solid #E8EFF6; }
    main.ir-plan > .container > .wrapper section ul li {
      display: flex;
      justify-content: flex-start;
      border: none;
      border-bottom: 1px solid #E8EFF6;
      margin: 0;
      padding: 32px 0;
      font-size: 16px;
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        main.ir-plan > .container > .wrapper section ul li {
          gap: 8px 0; } }
      main.ir-plan > .container > .wrapper section ul li:last-child {
        margin-bottom: 0; }
      main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_date {
        flex: 0 0 104px;
        font-style: normal;
        font-weight: 700;
        font-size: 14px;
        line-height: 26px;
        color: #004481; }
        @media screen and (max-width: 767px) {
          main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_date {
            flex: 0 0 84px; } }
      main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_category {
        flex: 0 0 80px; }
        main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_category .s_eirList_item_category_icon {
          padding: 2px 6px;
          border: 1px solid #004481;
          border-radius: 5px;
          text-align: center;
          font-size: 12px;
          white-space: nowrap;
          color: #004481;
          font-weight: 700;
          background: none;
          width: 75px; }
      main.ir-plan > .container > .wrapper section ul li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
        color: #fff;
        background-color: #004481;
        border: 1px solid #004481; }
      main.ir-plan > .container > .wrapper section ul li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
        color: #f03636;
        border: 1px solid #f03636; }
      main.ir-plan > .container > .wrapper section ul li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
        color: #004481;
        border: 1px solid #004481; }
      main.ir-plan > .container > .wrapper section ul li .content,
      main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox {
        margin-top: 0;
        flex: 1; }
        @media screen and (max-width: 767px) {
          main.ir-plan > .container > .wrapper section ul li .content,
          main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox {
            flex: 0 0 100%; } }
        main.ir-plan > .container > .wrapper section ul li .content .title,
        main.ir-plan > .container > .wrapper section ul li .content .s_titleBox_title,
        main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox .title,
        main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox .s_titleBox_title {
          display: inline; }
          main.ir-plan > .container > .wrapper section ul li .content .title a,
          main.ir-plan > .container > .wrapper section ul li .content .s_titleBox_title a,
          main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox .title a,
          main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox .s_titleBox_title a {
            transition: all ease .3s; }
            @media screen and (min-width: 1024px) {
              main.ir-plan > .container > .wrapper section ul li .content .title a:hover,
              main.ir-plan > .container > .wrapper section ul li .content .s_titleBox_title a:hover,
              main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox .title a:hover,
              main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                color: #004481; } }
        main.ir-plan > .container > .wrapper section ul li .content .eirItem_type,
        main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox .eirItem_type {
          display: none; }
        main.ir-plan > .container > .wrapper section ul li .content .size,
        main.ir-plan > .container > .wrapper section ul li .content .eirItem_size,
        main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox .size,
        main.ir-plan > .container > .wrapper section ul li div.s_eirList_item_titleBox .eirItem_size {
          display: inline; }
      main.ir-plan > .container > .wrapper section ul li.pdf a::after, main.ir-plan > .container > .wrapper section ul li.s_eirList_item-pdf a::after {
        content: "";
        position: relative;
        display: inline-block;
        top: 1px;
        margin-left: 4px;
        width: 15px;
        height: 15px;
        background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }

main.ir-stock {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-stock {
      padding: 72px 0 64px; } }
  main.ir-stock .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-stock .eir {
        font-size: 15px; } }
    main.ir-stock .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-stock .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-stock .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-stock .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-stock .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-stock .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-stock .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-stock .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-stock .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-stock .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-stock .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-stock .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-stock .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-stock .eir ul.s_eirList li .content,
        main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-stock .eir ul.s_eirList li .content,
            main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-stock .eir ul.s_eirList li .content .title,
          main.ir-stock .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-stock .eir ul.s_eirList li .content .title a,
            main.ir-stock .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-stock .eir ul.s_eirList li .content .title a:hover,
                main.ir-stock .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-stock .eir ul.s_eirList li .content .eirItem_type,
          main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-stock .eir ul.s_eirList li .content .size,
          main.ir-stock .eir ul.s_eirList li .content .eirItem_size,
          main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-stock .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-stock .eir ul.s_eirList li.pdf a::after, main.ir-stock .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-stock .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-stock .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-stock .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-stock .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-stock .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-stock .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-stock .qir {
        font-size: 15px; } }
    main.ir-stock .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-stock .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-stock .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-stock .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-stock .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-stock > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-stock > header {
        height: 194px; } }
    main.ir-stock > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-stock > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-stock > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-stock > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-stock > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-stock > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-stock > header .container > *.label span {
            top: 0; }
      main.ir-stock > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-stock > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-stock > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-stock > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-stock > header .container > *:not(.label) span {
            top: 0; }
  main.ir-stock > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-stock > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-stock > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-stock > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-stock > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-stock > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-stock > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-stock > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-stock > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-stock > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-stock > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-stock > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-stock > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-stock > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-stock > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-stock > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-stock > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-stock > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-stock > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-stock > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-stock > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-stock > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-stock > .container > .wrapper nav.tab ul li.active a, main.ir-stock > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-stock > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-stock > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-stock > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-stock > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-stock > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-stock > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-stock > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-stock > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-stock > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-stock > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-stock > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-stock > .container > .wrapper section p a {
    color: #004481;
    text-decoration: underline;
    word-break: break-word; }
    main.ir-stock > .container > .wrapper section p a[target]:after {
      content: "";
      -webkit-mask-image: url("../images/common/icon_blank.svg");
      mask-image: url("../images/common/icon_blank.svg");
      -webkit-mask-size: 100% 100%;
      mask-size: 100% 100%;
      width: 20px;
      height: 20px;
      display: inline-block;
      vertical-align: center;
      background-color: #004481;
      transition: all ease .3s;
      vertical-align: text-bottom; }
    @media screen and (min-width: 1024px) {
      main.ir-stock > .container > .wrapper section p a:hover {
        text-decoration: none; } }
  main.ir-stock > .container > .wrapper section dl.table {
    display: flex;
    flex-wrap: wrap;
    gap: 0 48px;
    overflow: hidden; }
    main.ir-stock > .container > .wrapper section dl.table dt {
      font-weight: 700;
      font-size: 16px;
      line-height: 130%;
      letter-spacing: 0.05em;
      color: #004481;
      gap: 10px;
      padding: 8px 24px;
      flex: 0 0 300px;
      background: #E8EFF6;
      border-radius: 4px;
      margin-top: 32px;
      height: 100%; }
      @media screen and (max-width: 1023px) {
        main.ir-stock > .container > .wrapper section dl.table dt {
          flex: 0 0 100%;
          margin-top: 16px;
          padding: 8px 16px; } }
      main.ir-stock > .container > .wrapper section dl.table dt:first-child {
        margin-top: 0; }
        main.ir-stock > .container > .wrapper section dl.table dt:first-child + dd {
          padding-top: 4px; }
    main.ir-stock > .container > .wrapper section dl.table dd {
      position: relative;
      flex: 0 0 calc(100% - 48px - 300px);
      padding: 36px 0 32px;
      font-weight: 500;
      font-size: 15px;
      line-height: 150%;
      color: #27333A;
      align-self: center; }
      @media screen and (max-width: 1023px) {
        main.ir-stock > .container > .wrapper section dl.table dd {
          flex: 0 0 100%;
          font-size: 14px;
          padding: 8px 0 16px 16px !important; } }
      main.ir-stock > .container > .wrapper section dl.table dd > a {
        color: #004481;
        text-decoration: underline;
        word-break: break-word; }
        main.ir-stock > .container > .wrapper section dl.table dd > a[target]:after {
          content: "";
          -webkit-mask-image: url("../images/common/icon_blank.svg");
          mask-image: url("../images/common/icon_blank.svg");
          -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
          width: 20px;
          height: 20px;
          display: inline-block;
          vertical-align: center;
          background-color: #004481;
          transition: all ease .3s;
          vertical-align: text-bottom; }
        @media screen and (min-width: 1024px) {
          main.ir-stock > .container > .wrapper section dl.table dd > a:hover {
            text-decoration: none; } }
      main.ir-stock > .container > .wrapper section dl.table dd:after {
        content: "";
        position: absolute;
        bottom: 0;
        right: 0;
        display: block;
        width: 100vw;
        height: 1px;
        background-color: #E8EFF6; }

main.ir-calendar {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-calendar {
      padding: 72px 0 64px; } }
  main.ir-calendar .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-calendar .eir {
        font-size: 15px; } }
    main.ir-calendar .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-calendar .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-calendar .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-calendar .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-calendar .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-calendar .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-calendar .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-calendar .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-calendar .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-calendar .eir ul.s_eirList li .content,
        main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-calendar .eir ul.s_eirList li .content,
            main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-calendar .eir ul.s_eirList li .content .title,
          main.ir-calendar .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-calendar .eir ul.s_eirList li .content .title a,
            main.ir-calendar .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-calendar .eir ul.s_eirList li .content .title a:hover,
                main.ir-calendar .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-calendar .eir ul.s_eirList li .content .eirItem_type,
          main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-calendar .eir ul.s_eirList li .content .size,
          main.ir-calendar .eir ul.s_eirList li .content .eirItem_size,
          main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-calendar .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-calendar .eir ul.s_eirList li.pdf a::after, main.ir-calendar .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-calendar .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-calendar .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-calendar .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-calendar .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-calendar .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-calendar .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-calendar .qir {
        font-size: 15px; } }
    main.ir-calendar .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-calendar .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-calendar .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-calendar .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-calendar .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-calendar > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-calendar > header {
        height: 194px; } }
    main.ir-calendar > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-calendar > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-calendar > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-calendar > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-calendar > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-calendar > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-calendar > header .container > *.label span {
            top: 0; }
      main.ir-calendar > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-calendar > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-calendar > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-calendar > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-calendar > header .container > *:not(.label) span {
            top: 0; }
  main.ir-calendar > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-calendar > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-calendar > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-calendar > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-calendar > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-calendar > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-calendar > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-calendar > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-calendar > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-calendar > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-calendar > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-calendar > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-calendar > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-calendar > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-calendar > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-calendar > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-calendar > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-calendar > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-calendar > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-calendar > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-calendar > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-calendar > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-calendar > .container > .wrapper nav.tab ul li.active a, main.ir-calendar > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-calendar > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-calendar > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-calendar > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-calendar > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-calendar > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-calendar > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-calendar > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-calendar > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-calendar > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-calendar > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-calendar > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-calendar .container .wrapper figure {
    margin-bottom: 64px; }

main.ir-analyst {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-analyst {
      padding: 72px 0 64px; } }
  main.ir-analyst .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-analyst .eir {
        font-size: 15px; } }
    main.ir-analyst .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-analyst .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-analyst .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-analyst .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-analyst .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-analyst .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-analyst .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-analyst .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-analyst .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-analyst .eir ul.s_eirList li .content,
        main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-analyst .eir ul.s_eirList li .content,
            main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-analyst .eir ul.s_eirList li .content .title,
          main.ir-analyst .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-analyst .eir ul.s_eirList li .content .title a,
            main.ir-analyst .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-analyst .eir ul.s_eirList li .content .title a:hover,
                main.ir-analyst .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-analyst .eir ul.s_eirList li .content .eirItem_type,
          main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-analyst .eir ul.s_eirList li .content .size,
          main.ir-analyst .eir ul.s_eirList li .content .eirItem_size,
          main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-analyst .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-analyst .eir ul.s_eirList li.pdf a::after, main.ir-analyst .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-analyst .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-analyst .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-analyst .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-analyst .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-analyst .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-analyst .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-analyst .qir {
        font-size: 15px; } }
    main.ir-analyst .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-analyst .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-analyst .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-analyst .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-analyst .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-analyst > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-analyst > header {
        height: 194px; } }
    main.ir-analyst > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-analyst > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-analyst > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-analyst > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-analyst > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-analyst > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-analyst > header .container > *.label span {
            top: 0; }
      main.ir-analyst > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-analyst > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-analyst > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-analyst > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-analyst > header .container > *:not(.label) span {
            top: 0; }
  main.ir-analyst > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-analyst > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-analyst > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-analyst > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-analyst > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-analyst > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-analyst > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-analyst > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-analyst > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-analyst > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-analyst > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-analyst > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-analyst > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-analyst > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-analyst > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-analyst > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-analyst > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-analyst > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-analyst > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-analyst > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-analyst > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-analyst > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-analyst > .container > .wrapper nav.tab ul li.active a, main.ir-analyst > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-analyst > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-analyst > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-analyst > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-analyst > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-analyst > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-analyst > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-analyst > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-analyst > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-analyst > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-analyst > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-analyst > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-analyst .container .wrapper section .date {
    text-align: right;
    margin-bottom: 8px; }
    @media screen and (max-width: 1023px) {
      main.ir-analyst .container .wrapper section .date {
        font-size: 14px; } }
  main.ir-analyst .container .wrapper section table {
    width: 100%;
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-analyst .container .wrapper section table {
        font-size: 14px;
        line-height: 1.5; } }
    main.ir-analyst .container .wrapper section table th {
      border: 1px solid #E8EFF6;
      background-color: #004481;
      color: #fff;
      width: 50%;
      padding: 16px 16px;
      text-align: center; }
      @media screen and (max-width: 1023px) {
        main.ir-analyst .container .wrapper section table th {
          padding: 12px; } }
    main.ir-analyst .container .wrapper section table td {
      border: 1px solid #E8EFF6;
      padding: 16px 16px; }
      @media screen and (max-width: 1023px) {
        main.ir-analyst .container .wrapper section table td {
          padding: 12px; } }
  main.ir-analyst .container .wrapper section .note {
    font-size: 14px;
    margin-top: 8px; }
    @media screen and (max-width: 1023px) {
      main.ir-analyst .container .wrapper section .note {
        font-size: 12pz; } }

main.ir-faq {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-faq {
      padding: 72px 0 64px; } }
  main.ir-faq .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-faq .eir {
        font-size: 15px; } }
    main.ir-faq .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-faq .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-faq .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-faq .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-faq .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-faq .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-faq .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-faq .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-faq .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-faq .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-faq .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-faq .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-faq .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-faq .eir ul.s_eirList li .content,
        main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-faq .eir ul.s_eirList li .content,
            main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-faq .eir ul.s_eirList li .content .title,
          main.ir-faq .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-faq .eir ul.s_eirList li .content .title a,
            main.ir-faq .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-faq .eir ul.s_eirList li .content .title a:hover,
                main.ir-faq .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-faq .eir ul.s_eirList li .content .eirItem_type,
          main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-faq .eir ul.s_eirList li .content .size,
          main.ir-faq .eir ul.s_eirList li .content .eirItem_size,
          main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-faq .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-faq .eir ul.s_eirList li.pdf a::after, main.ir-faq .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-faq .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-faq .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-faq .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-faq .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-faq .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-faq .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-faq .qir {
        font-size: 15px; } }
    main.ir-faq .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-faq .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-faq .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-faq .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-faq .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-faq > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-faq > header {
        height: 194px; } }
    main.ir-faq > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-faq > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-faq > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-faq > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-faq > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-faq > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-faq > header .container > *.label span {
            top: 0; }
      main.ir-faq > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-faq > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-faq > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-faq > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-faq > header .container > *:not(.label) span {
            top: 0; }
  main.ir-faq > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-faq > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-faq > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-faq > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-faq > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-faq > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-faq > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-faq > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-faq > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-faq > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-faq > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-faq > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-faq > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-faq > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-faq > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-faq > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-faq > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-faq > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-faq > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-faq > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-faq > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-faq > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-faq > .container > .wrapper nav.tab ul li.active a, main.ir-faq > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-faq > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-faq > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-faq > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-faq > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-faq > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-faq > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-faq > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-faq > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-faq > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-faq > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-faq > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-faq > .container > .wrapper section ul {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 16px; }
    @media screen and (max-width: 1023px) {
      main.ir-faq > .container > .wrapper section ul {
        gap: 16px; } }
    @media screen and (max-width: 767px) {
      main.ir-faq > .container > .wrapper section ul {
        gap: 16px; } }
    main.ir-faq > .container > .wrapper section ul li {
      flex: 0 0 calc((100% - 16px * 2) / 3); }
      @media screen and (max-width: 1023px) {
        main.ir-faq > .container > .wrapper section ul li {
          flex: 0 0 calc((100% - 16px * 1) / 2); } }
      @media screen and (max-width: 767px) {
        main.ir-faq > .container > .wrapper section ul li {
          flex: 0 0 100%; } }
      main.ir-faq > .container > .wrapper section ul li a {
        position: relative;
        display: flex;
        align-items: center;
        padding: 4px 36px 4px 24px;
        font-weight: 700;
        font-size: 16px;
        line-height: 150%;
        letter-spacing: 0.05em;
        color: #004481;
        border: 1px solid #E8EFF6;
        border-radius: 4px;
        min-height: 66px; }
        @media screen and (max-width: 1023px) {
          main.ir-faq > .container > .wrapper section ul li a {
            font-size: 14px; } }
        @media screen and (max-width: 767px) {
          main.ir-faq > .container > .wrapper section ul li a {
            padding: 8px 44px 8px 16px;
            min-height: 40px; } }
        main.ir-faq > .container > .wrapper section ul li a:after {
          content: "";
          background-image: url("../images/ir/faq/jump_arrow.svg");
          background-size: 100% 100%;
          display: block;
          width: 24px;
          height: 12px;
          position: absolute;
          right: 12px;
          top: 50%;
          transform: translateY(-50%); }
  main.ir-faq > .container > .wrapper section dl dt {
    position: relative;
    padding: 20px 64px 20px 80px;
    border: 1px solid #E8EFF6;
    border-radius: 4px;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: #004481;
    margin-top: 16px; }
    @media screen and (max-width: 1023px) {
      main.ir-faq > .container > .wrapper section dl dt {
        padding: 20px 48px 20px 56px; } }
    main.ir-faq > .container > .wrapper section dl dt .marker {
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 700;
      font-size: 16px;
      line-height: 100%;
      color: #FFFFFF;
      width: 40px;
      height: 40px;
      background-color: #004481;
      border-radius: 50%;
      position: absolute;
      top: 12px;
      left: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-faq > .container > .wrapper section dl dt .marker {
          width: 32px;
          height: 32px;
          top: 16px;
          left: 16px; } }
    main.ir-faq > .container > .wrapper section dl dt .toggle:before, main.ir-faq > .container > .wrapper section dl dt .toggle:after {
      content: "";
      display: block;
      width: 16px;
      height: 2px;
      background-color: #004481;
      position: absolute;
      top: 50%;
      right: 24px;
      transition: all ease .3s; }
      @media screen and (max-width: 1023px) {
        main.ir-faq > .container > .wrapper section dl dt .toggle:before, main.ir-faq > .container > .wrapper section dl dt .toggle:after {
          right: 16px; } }
    main.ir-faq > .container > .wrapper section dl dt .toggle:after {
      transform: rotate(90deg); }
    main.ir-faq > .container > .wrapper section dl dt.active {
      border-radius: 4px 4px 0 0; }
      main.ir-faq > .container > .wrapper section dl dt.active .toggle:before {
        transform: rotate(180deg); }
      main.ir-faq > .container > .wrapper section dl dt.active .toggle:after {
        transform: rotate(360deg); }
  main.ir-faq > .container > .wrapper section dl dd {
    position: relative;
    border: 1px solid #E8EFF6;
    border-top: none;
    border-radius: 0 0 4px 4px;
    font-weight: 500;
    font-size: 14px;
    line-height: 150%;
    color: #27333A;
    padding: 0 64px 0 80px;
    background-color: #FAFAFA;
    display: none; }
    @media screen and (max-width: 1023px) {
      main.ir-faq > .container > .wrapper section dl dd {
        padding: 0 16px 0 64px; } }
    main.ir-faq > .container > .wrapper section dl dd .marker {
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 700;
      font-size: 16px;
      line-height: 100%;
      color: #004481;
      width: 40px;
      height: 40px;
      background-color: #E8EFF6;
      border-radius: 50%;
      position: absolute;
      top: 12px;
      left: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-faq > .container > .wrapper section dl dd .marker {
          width: 32px;
          height: 32px;
          top: 12px;
          left: 16px; } }
    main.ir-faq > .container > .wrapper section dl dd:before, main.ir-faq > .container > .wrapper section dl dd:after {
      content: "";
      display: block;
      height: 24px; }
    @media screen and (max-width: 1023px) {
      main.ir-faq > .container > .wrapper section dl dd:before {
        height: 18px; } }

main.ir-policy {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-policy {
      padding: 72px 0 64px; } }
  main.ir-policy .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-policy .eir {
        font-size: 15px; } }
    main.ir-policy .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-policy .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-policy .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-policy .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-policy .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-policy .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-policy .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-policy .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-policy .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-policy .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-policy .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-policy .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-policy .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-policy .eir ul.s_eirList li .content,
        main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-policy .eir ul.s_eirList li .content,
            main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-policy .eir ul.s_eirList li .content .title,
          main.ir-policy .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-policy .eir ul.s_eirList li .content .title a,
            main.ir-policy .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-policy .eir ul.s_eirList li .content .title a:hover,
                main.ir-policy .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-policy .eir ul.s_eirList li .content .eirItem_type,
          main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-policy .eir ul.s_eirList li .content .size,
          main.ir-policy .eir ul.s_eirList li .content .eirItem_size,
          main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-policy .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-policy .eir ul.s_eirList li.pdf a::after, main.ir-policy .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-policy .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-policy .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-policy .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-policy .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-policy .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-policy .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-policy .qir {
        font-size: 15px; } }
    main.ir-policy .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-policy .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-policy .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-policy .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-policy .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-policy > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-policy > header {
        height: 194px; } }
    main.ir-policy > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-policy > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-policy > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-policy > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-policy > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-policy > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-policy > header .container > *.label span {
            top: 0; }
      main.ir-policy > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-policy > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-policy > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-policy > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-policy > header .container > *:not(.label) span {
            top: 0; }
  main.ir-policy > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-policy > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-policy > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-policy > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-policy > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-policy > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-policy > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-policy > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-policy > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-policy > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-policy > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-policy > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-policy > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-policy > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-policy > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-policy > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-policy > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-policy > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-policy > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-policy > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-policy > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-policy > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-policy > .container > .wrapper nav.tab ul li.active a, main.ir-policy > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-policy > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-policy > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-policy > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-policy > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-policy > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-policy > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-policy > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-policy > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-policy > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-policy > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-policy > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-policy > .container > .wrapper section p {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    margin: 1.8em 0;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-policy > .container > .wrapper section p {
        font-size: 15px; } }
    main.ir-policy > .container > .wrapper section p:first-child {
      margin-top: 0; }
    main.ir-policy > .container > .wrapper section p:last-child {
      margin-bottom: 0; }

main.ir-disclaimer {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-disclaimer {
      padding: 72px 0 64px; } }
  main.ir-disclaimer .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-disclaimer .eir {
        font-size: 15px; } }
    main.ir-disclaimer .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-disclaimer .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-disclaimer .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-disclaimer .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-disclaimer .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-disclaimer .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-disclaimer .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-disclaimer .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-disclaimer .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-disclaimer .eir ul.s_eirList li .content,
        main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-disclaimer .eir ul.s_eirList li .content,
            main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-disclaimer .eir ul.s_eirList li .content .title,
          main.ir-disclaimer .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-disclaimer .eir ul.s_eirList li .content .title a,
            main.ir-disclaimer .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-disclaimer .eir ul.s_eirList li .content .title a:hover,
                main.ir-disclaimer .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-disclaimer .eir ul.s_eirList li .content .eirItem_type,
          main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-disclaimer .eir ul.s_eirList li .content .size,
          main.ir-disclaimer .eir ul.s_eirList li .content .eirItem_size,
          main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-disclaimer .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-disclaimer .eir ul.s_eirList li.pdf a::after, main.ir-disclaimer .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-disclaimer .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-disclaimer .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-disclaimer .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-disclaimer .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-disclaimer .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-disclaimer .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-disclaimer .qir {
        font-size: 15px; } }
    main.ir-disclaimer .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-disclaimer .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-disclaimer .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-disclaimer .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-disclaimer .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-disclaimer > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-disclaimer > header {
        height: 194px; } }
    main.ir-disclaimer > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-disclaimer > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-disclaimer > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-disclaimer > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-disclaimer > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-disclaimer > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-disclaimer > header .container > *.label span {
            top: 0; }
      main.ir-disclaimer > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-disclaimer > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-disclaimer > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-disclaimer > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-disclaimer > header .container > *:not(.label) span {
            top: 0; }
  main.ir-disclaimer > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-disclaimer > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-disclaimer > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-disclaimer > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-disclaimer > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-disclaimer > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-disclaimer > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-disclaimer > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-disclaimer > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-disclaimer > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-disclaimer > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-disclaimer > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-disclaimer > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-disclaimer > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-disclaimer > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-disclaimer > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-disclaimer > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-disclaimer > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-disclaimer > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-disclaimer > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-disclaimer > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-disclaimer > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-disclaimer > .container > .wrapper nav.tab ul li.active a, main.ir-disclaimer > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-disclaimer > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-disclaimer > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-disclaimer > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-disclaimer > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-disclaimer > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-disclaimer > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-disclaimer > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-disclaimer > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-disclaimer > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-disclaimer > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-disclaimer > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-disclaimer > .container > .wrapper section p {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    margin: 1.8em 0;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-disclaimer > .container > .wrapper section p {
        font-size: 15px; } }
    main.ir-disclaimer > .container > .wrapper section p:first-child {
      margin-top: 0; }
    main.ir-disclaimer > .container > .wrapper section p:last-child {
      margin-bottom: 0; }

main.ir-news {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.ir-news {
      padding: 72px 0 64px; } }
  main.ir-news .eir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-news .eir {
        font-size: 15px; } }
    main.ir-news .eir .s_eirHeading {
      padding: 12px 16px;
      background: #E8EFF6;
      border-radius: 4px;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      text-align: justify;
      letter-spacing: 0.05em;
      color: #004481;
      margin-bottom: 24px; }
      @media screen and (max-width: 1023px) {
        main.ir-news .eir .s_eirHeading {
          font-size: 16px; } }
    main.ir-news .eir ul.s_eirList {
      border-top: 1px solid #E8EFF6; }
      main.ir-news .eir ul.s_eirList li {
        display: flex;
        justify-content: flex-start;
        border: none;
        border-bottom: 1px solid #E8EFF6;
        margin: 0;
        padding: 32px 0;
        font-size: 16px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          main.ir-news .eir ul.s_eirList li {
            gap: 8px 0; } }
        main.ir-news .eir ul.s_eirList li:last-child {
          margin-bottom: 0; }
        main.ir-news .eir ul.s_eirList li div.s_eirList_item_date {
          flex: 0 0 104px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 26px;
          color: #004481; }
          @media screen and (max-width: 767px) {
            main.ir-news .eir ul.s_eirList li div.s_eirList_item_date {
              flex: 0 0 84px; } }
        main.ir-news .eir ul.s_eirList li div.s_eirList_item_category {
          flex: 0 0 80px; }
          main.ir-news .eir ul.s_eirList li div.s_eirList_item_category .s_eirList_item_category_icon {
            padding: 2px 6px;
            border: 1px solid #004481;
            border-radius: 5px;
            text-align: center;
            font-size: 12px;
            white-space: nowrap;
            color: #004481;
            font-weight: 700;
            background: none;
            width: 75px; }
        main.ir-news .eir ul.s_eirList li.cat-num-0 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #fff;
          background-color: #004481;
          border: 1px solid #004481; }
        main.ir-news .eir ul.s_eirList li.cat-num-1 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #f03636;
          border: 1px solid #f03636; }
        main.ir-news .eir ul.s_eirList li.cat-num-2 div.s_eirList_item_category .s_eirList_item_category_icon {
          color: #004481;
          border: 1px solid #004481; }
        main.ir-news .eir ul.s_eirList li .content,
        main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox {
          margin-top: 0;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.ir-news .eir ul.s_eirList li .content,
            main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox {
              flex: 0 0 100%; } }
          main.ir-news .eir ul.s_eirList li .content .title,
          main.ir-news .eir ul.s_eirList li .content .s_titleBox_title,
          main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox .title,
          main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title {
            display: inline; }
            main.ir-news .eir ul.s_eirList li .content .title a,
            main.ir-news .eir ul.s_eirList li .content .s_titleBox_title a,
            main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox .title a,
            main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a {
              transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-news .eir ul.s_eirList li .content .title a:hover,
                main.ir-news .eir ul.s_eirList li .content .s_titleBox_title a:hover,
                main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox .title a:hover,
                main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox .s_titleBox_title a:hover {
                  color: #004481; } }
          main.ir-news .eir ul.s_eirList li .content .eirItem_type,
          main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_type {
            display: none; }
          main.ir-news .eir ul.s_eirList li .content .size,
          main.ir-news .eir ul.s_eirList li .content .eirItem_size,
          main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox .size,
          main.ir-news .eir ul.s_eirList li div.s_eirList_item_titleBox .eirItem_size {
            display: inline; }
        main.ir-news .eir ul.s_eirList li.pdf a::after, main.ir-news .eir ul.s_eirList li.s_eirList_item-pdf a::after {
          content: "";
          position: relative;
          display: inline-block;
          top: 1px;
          margin-left: 4px;
          width: 15px;
          height: 15px;
          background: center left/15px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-2" d="M13.77,3.58L10.9,.71c-.13-.13-.31-.21-.5-.21h-.18v3.75h3.75v-.18c0-.19-.07-.36-.21-.49Z" fill="%23004482"/><path class="cls-2" d="M9.29,4.48V.5H2.73c-.39,0-.7,.31-.7,.7V14.8c0,.39,.31,.7,.7,.7H13.27c.39,0,.7-.31,.7-.7V5.19h-3.98c-.39,0-.7-.31-.7-.7Z" fill="%23004482"/></svg>') no-repeat; }
    main.ir-news .eir .s_eirQuarterBlock + .s_eirQuarterBlock {
      margin-top: 64px; }
    main.ir-news .eir .s_eirQuarterBlock .s_eirQuarter {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 24px; }
    main.ir-news .eir .s_yearController {
      position: relative;
      margin-bottom: 24px;
      width: fit-content; }
      main.ir-news .eir .s_yearController::after {
        content: '';
        display: inline-block;
        width: 15px !important;
        height: 15px !important;
        z-index: 0;
        position: absolute;
        top: calc(25px - 7.5px);
        right: 15px;
        background-image: url("../images/common/eir_icon_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 15px 15px;
        transform: rotate(90deg); }
      main.ir-news .eir .s_yearController .s_eirSelect {
        font-size: 16px;
        width: 250px;
        height: 50px;
        padding: 13px 15px;
        appearance: none;
        border-radius: 5px;
        border: 1px solid #EEEEEE;
        background-color: #fff;
        line-height: 1.0; }
  main.ir-news .qir {
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.05em;
    color: #27333A; }
    @media screen and (max-width: 1023px) {
      main.ir-news .qir {
        font-size: 15px; } }
    main.ir-news .qir .qirSection_wrapper {
      gap: 24px; }
      main.ir-news .qir .qirSection_wrapper .qirContent {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 767px) {
          main.ir-news .qir .qirSection_wrapper .qirContent {
            flex: 0 0 100%; } }
        main.ir-news .qir .qirSection_wrapper .qirContent .qirContent_table table thead th {
          background-color: #004481; }
        main.ir-news .qir .qirSection_wrapper .qirContent .qirContent_table table tbody th {
          background-color: #004481; }
  main.ir-news > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.ir-news > header {
        height: 194px; } }
    main.ir-news > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.ir-news > header .container {
          width: calc(100% - 24px * 2); } }
      main.ir-news > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.ir-news > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.ir-news > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.ir-news > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.ir-news > header .container > *.label span {
            top: 0; }
      main.ir-news > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-news > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.ir-news > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.ir-news > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.ir-news > header .container > *:not(.label) span {
            top: 0; }
  main.ir-news > .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.ir-news > .container {
        width: calc(100% - 24px * 2); } }
    main.ir-news > .container > .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 58px; }
      @media screen and (max-width: 1023px) {
        main.ir-news > .container > .wrapper {
          padding: 48px 16px; } }
      main.ir-news > .container > .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.ir-news > .container > .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.ir-news > .container > .wrapper + .wrapper {
        margin-top: 40px; }
      main.ir-news > .container > .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.ir-news > .container > .wrapper p {
            font-size: 15px; } }
      main.ir-news > .container > .wrapper section {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.ir-news > .container > .wrapper section {
            margin-top: 48px; } }
        main.ir-news > .container > .wrapper section:first-child {
          margin-top: 0; }
        main.ir-news > .container > .wrapper section h2 {
          padding: 8px 16px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 20px;
          line-height: 140%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.ir-news > .container > .wrapper section h2 {
              font-size: 16px; } }
        main.ir-news > .container > .wrapper section h3 {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 24px; }
      main.ir-news > .container > .wrapper nav.tab {
        margin-bottom: 48px; }
        main.ir-news > .container > .wrapper nav.tab ul {
          display: flex;
          gap: 8px;
          border-bottom: 2px solid #004481; }
          @media screen and (max-width: 767px) {
            main.ir-news > .container > .wrapper nav.tab ul {
              gap: 8px;
              border: none;
              flex-wrap: wrap; } }
          main.ir-news > .container > .wrapper nav.tab ul li {
            flex: 1;
            border: none; }
            @media screen and (max-width: 767px) {
              main.ir-news > .container > .wrapper nav.tab ul li {
                flex-wrap: wrap;
                flex: 0 0 calc((100% - 8px) / 2);
                min-height: 48px; } }
            main.ir-news > .container > .wrapper nav.tab ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              border-radius: 4px 4px 0px 0px;
              font-weight: 700;
              font-size: 16px;
              line-height: 150%;
              color: #004481;
              background-color: #E8EFF6;
              padding: 8px 12px;
              height: 100%; }
              @media screen and (max-width: 767px) {
                main.ir-news > .container > .wrapper nav.tab ul li a {
                  font-size: 14px;
                  line-height: 120%;
                  border-radius: 4px;
                  padding: 4px 12px;
                  height: 100%; } }
            main.ir-news > .container > .wrapper nav.tab ul li.active a, main.ir-news > .container > .wrapper nav.tab ul li.current a {
              background: #004481;
              color: #FFFFFF; }
        main.ir-news > .container > .wrapper nav.tab + section {
          margin-top: 0; }
      main.ir-news > .container > .wrapper nav.ir > ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 24px; }
        @media screen and (max-width: 767px) {
          main.ir-news > .container > .wrapper nav.ir > ul {
            flex-direction: column;
            gap: 32px; } }
        main.ir-news > .container > .wrapper nav.ir > ul > li {
          flex: 0 0 calc((100% - 24px * 2) / 3); }
          @media screen and (max-width: 767px) {
            main.ir-news > .container > .wrapper nav.ir > ul > li {
              flex: initial; } }
          main.ir-news > .container > .wrapper nav.ir > ul > li > p {
            font-weight: 700;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            margin-bottom: 16px; }
          main.ir-news > .container > .wrapper nav.ir > ul > li > ul > li {
            margin-top: 16px; }
            main.ir-news > .container > .wrapper nav.ir > ul > li > ul > li a {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #27333A;
              padding: 11px 16px;
              border-bottom: 1px solid #E8EFF6; }
              main.ir-news > .container > .wrapper nav.ir > ul > li > ul > li a[target]:after {
                content: "";
                background-image: url("../images/common/icon_blank.svg");
                display: block;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 8px;
                right: 16px; }
              main.ir-news > .container > .wrapper nav.ir > ul > li > ul > li a:before {
                content: "";
                position: absolute;
                left: 0;
                bottom: -1px;
                display: block;
                width: 0;
                height: 1px;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.ir-news > .container > .wrapper nav.ir > ul > li > ul > li a:hover:before {
                  width: 100%; } }
  main.ir-news > .container > .wrapper .newsTypeController {
    margin-bottom: 48px; }
    main.ir-news > .container > .wrapper .newsTypeController ul {
      display: flex;
      gap: 8px;
      border-bottom: 2px solid #004481; }
      @media screen and (max-width: 767px) {
        main.ir-news > .container > .wrapper .newsTypeController ul {
          gap: 8px;
          border: none;
          flex-wrap: wrap; } }
      main.ir-news > .container > .wrapper .newsTypeController ul li {
        flex: 1;
        border: none; }
        @media screen and (max-width: 767px) {
          main.ir-news > .container > .wrapper .newsTypeController ul li {
            flex-wrap: wrap;
            flex: 0 0 calc((100% - 8px) / 2);
            min-height: 48px; } }
        main.ir-news > .container > .wrapper .newsTypeController ul li a {
          display: flex;
          justify-content: center;
          align-items: center;
          text-align: center;
          border-radius: 4px 4px 0px 0px;
          font-weight: 700;
          font-size: 16px;
          line-height: 150%;
          color: #004481;
          background-color: #E8EFF6;
          padding: 8px 12px;
          height: 100%; }
          @media screen and (max-width: 767px) {
            main.ir-news > .container > .wrapper .newsTypeController ul li a {
              font-size: 14px;
              line-height: 120%;
              border-radius: 4px;
              padding: 4px 12px;
              height: 100%; } }
        main.ir-news > .container > .wrapper .newsTypeController ul li.active a, main.ir-news > .container > .wrapper .newsTypeController ul li.current a {
          background: #004481;
          color: #FFFFFF; }

main.news {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.news {
      padding: 72px 0 64px; } }
  main.news > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.news > header {
        height: 194px; } }
    main.news > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.news > header .container {
          width: calc(100% - 24px * 2); } }
      main.news > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.news > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.news > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.news > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.news > header .container > *.label span {
            top: 0; }
      main.news > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.news > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.news > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.news > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.news > header .container > *:not(.label) span {
            top: 0; }
  main.news .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.news .container {
        width: calc(100% - 24px * 2); } }
    main.news .container section.important {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 32px 56px;
      background-color: #E8EFF6;
      display: flex;
      gap: 32px;
      align-items: center; }
      @media screen and (max-width: 1023px) {
        main.news .container section.important {
          padding: 48px 16px; } }
      main.news .container section.important[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.news .container section.important[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      @media screen and (max-width: 1023px) {
        main.news .container section.important {
          padding: 16px;
          gap: 16px; } }
      @media screen and (max-width: 767px) {
        main.news .container section.important {
          padding: 16px;
          flex-direction: column;
          gap: 16px; } }
      main.news .container section.important h2 {
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 700;
        font-size: 16px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #004481;
        border-radius: 4px;
        padding: 8px 24px;
        flex: 0 0 240px;
        height: 72px;
        background: #FFFFFF;
        border-radius: 4px; }
        @media screen and (max-width: 767px) {
          main.news .container section.important h2 {
            flex: initial;
            width: 100%; } }
      main.news .container section.important ul {
        flex: 1;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        gap: 12px; }
        @media screen and (max-width: 767px) {
          main.news .container section.important ul {
            flex: initial; } }
        main.news .container section.important ul li {
          flex: 0 0 100%; }
          main.news .container section.important ul li a {
            display: flex;
            align-items: center;
            gap: 10px;
            font-weight: 500;
            font-size: 16px;
            line-height: 100%;
            color: #004481;
            text-decoration: underline; }
            @media screen and (max-width: 767px) {
              main.news .container section.important ul li a {
                font-size: 14px; } }
            main.news .container section.important ul li a:before {
              content: "";
              display: block;
              background-image: url("../images/news/icon_important.svg");
              background-size: 100% 100%;
              width: 24px;
              height: 21px; }
    main.news .container .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding: 56px 56px;
      margin-top: 40px; }
      @media screen and (max-width: 1023px) {
        main.news .container .wrapper {
          padding: 48px 16px; } }
      main.news .container .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.news .container .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      @media screen and (max-width: 1023px) {
        main.news .container .wrapper {
          padding: 48px 16px; } }
      main.news .container .wrapper nav.category {
        margin-bottom: 32px; }
        main.news .container .wrapper nav.category ul {
          display: flex;
          gap: 24px; }
          @media screen and (max-width: 1023px) {
            main.news .container .wrapper nav.category ul {
              gap: 16px;
              flex-wrap: wrap; } }
          main.news .container .wrapper nav.category ul li {
            flex: 0 0 calc((100% - 24px * 3) / 4); }
            @media screen and (max-width: 767px) {
              main.news .container .wrapper nav.category ul li {
                flex: 0 0 calc((100% - 16px * 1) / 2); } }
            main.news .container .wrapper nav.category ul li a {
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              letter-spacing: 0.05em;
              color: #004481;
              display: flex;
              flex-direction: row;
              justify-content: center;
              align-items: center;
              padding: 8px 24px;
              height: 30px;
              background: #E8EFF6;
              border-radius: 4px; }
              main.news .container .wrapper nav.category ul li a.active {
                background-color: #004481;
                color: #fff; }
      main.news .container .wrapper > ul {
        border-top: 1px solid #E8EFF6; }
        main.news .container .wrapper > ul li {
          border-bottom: 1px solid #E8EFF6; }
          main.news .container .wrapper > ul li a {
            display: flex;
            padding: 32px 0; }
            @media screen and (max-width: 767px) {
              main.news .container .wrapper > ul li a {
                flex-wrap: wrap;
                gap: 16px; } }
            main.news .container .wrapper > ul li a p.date {
              flex: 0 0 104px;
              font-weight: 700;
              font-size: 14px;
              line-height: 28px;
              color: #004481; }
              @media screen and (max-width: 767px) {
                main.news .container .wrapper > ul li a p.date {
                  flex: 0 0 96px; } }
            main.news .container .wrapper > ul li a .category {
              font-weight: 700;
              font-size: 12px;
              line-height: 100%;
              letter-spacing: 0.05em;
              color: #004481;
              display: flex;
              flex-direction: row;
              justify-content: center;
              align-items: center;
              flex: 0 0 120px;
              height: 28px;
              background: #E8EFF6;
              border-radius: 4px; }
            main.news .container .wrapper > ul li a .title {
              padding: 2px 0;
              padding-left: 24px;
              flex: 1;
              font-weight: 500;
              font-size: 16px;
              line-height: 150%;
              color: #27333A; }
              @media screen and (max-width: 767px) {
                main.news .container .wrapper > ul li a .title {
                  flex: 0 0 100%;
                  padding: 0; } }
      main.news .container .wrapper nav.pagination {
        margin-top: 40px; }
        main.news .container .wrapper nav.pagination .nav-links {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 20px; }
          main.news .container .wrapper nav.pagination .nav-links .prev {
            display: block;
            background-image: url("../images/common/arrow_prev.svg");
            background-size: 100% 100%;
            width: 20px;
            height: 20px;
            text-indent: -9999px;
            overflow: hidden; }
          main.news .container .wrapper nav.pagination .nav-links .next {
            display: block;
            background-image: url("../images/common/arrow_next.svg");
            background-size: 100% 100%;
            width: 20px;
            height: 20px;
            text-indent: -9999px;
            overflow: hidden; }
          main.news .container .wrapper nav.pagination .nav-links .page-numbers:not(.prev):not(.next) {
            font-weight: 700;
            font-size: 18px;
            line-height: 100%;
            text-align: center;
            flex: 0 0 20px;
            color: #004481; }
            main.news .container .wrapper nav.pagination .nav-links .page-numbers:not(.prev):not(.next).current {
              border-bottom: 1px solid #000; }

main.news-detail {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.news-detail {
      padding: 72px 0 64px; } }
  main.news-detail > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.news-detail > header {
        height: 194px; } }
    main.news-detail > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.news-detail > header .container {
          width: calc(100% - 24px * 2); } }
      main.news-detail > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.news-detail > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.news-detail > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.news-detail > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.news-detail > header .container > *.label span {
            top: 0; }
      main.news-detail > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.news-detail > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.news-detail > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.news-detail > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.news-detail > header .container > *:not(.label) span {
            top: 0; }
  main.news-detail .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.news-detail .container {
        width: calc(100% - 24px * 2); } }
    main.news-detail .container .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px; }
      @media screen and (max-width: 1023px) {
        main.news-detail .container .wrapper {
          padding: 48px 16px; } }
      main.news-detail .container .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.news-detail .container .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.news-detail .container .wrapper .meta {
        display: flex;
        align-items: center;
        gap: 40px;
        margin-bottom: 40px; }
        @media screen and (max-width: 1023px) {
          main.news-detail .container .wrapper .meta {
            gap: 16px;
            margin-bottom: 24px; } }
        main.news-detail .container .wrapper .meta .date {
          font-weight: 700;
          font-size: 14px;
          line-height: 100%;
          color: #004481; }
        main.news-detail .container .wrapper .meta .category {
          display: flex;
          flex-direction: row;
          justify-content: center;
          align-items: center;
          padding: 8px 8px;
          gap: 10px;
          min-width: 120px;
          height: 28px;
          background: #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 12px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481; }
      main.news-detail .container .wrapper h1 {
        font-weight: 700;
        font-size: 24px;
        line-height: 180%;
        color: #004481;
        padding-bottom: 40px;
        border-bottom: 1px solid #E8EFF6;
        margin-bottom: 40px; }
        @media screen and (max-width: 1023px) {
          main.news-detail .container .wrapper h1 {
            font-size: 20px; } }
      main.news-detail .container .wrapper .content {
        display: flex;
        flex-direction: column;
        gap: 24px;
        font-size: 16px;
        line-height: 200%; }
        @media screen and (max-width: 1023px) {
          main.news-detail .container .wrapper .content {
            font-size: 14px; } }
        main.news-detail .container .wrapper .content small {
          font-size: 14px; }
          @media screen and (max-width: 1023px) {
            main.news-detail .container .wrapper .content small {
              font-size: 12px; } }
        main.news-detail .container .wrapper .content h2 {
          display: flex;
          flex-direction: row;
          justify-content: center;
          align-items: center;
          padding: 16px 24px;
          background: #FAFAFA;
          border: 1px solid #E8EFF6;
          border-radius: 4px;
          font-weight: 700;
          font-size: 16px;
          line-height: 180%;
          color: #27333A; }
          @media screen and (max-width: 1023px) {
            main.news-detail .container .wrapper .content h2 {
              padding: 16px; } }
        main.news-detail .container .wrapper .content h3,
        main.news-detail .container .wrapper .content h4 {
          padding-top: 20px;
          font-weight: 400;
          font-size: 16px;
          line-height: 200%;
          font-weight: bold;
          color: #27333A; }
          @media screen and (max-width: 1023px) {
            main.news-detail .container .wrapper .content h3,
            main.news-detail .container .wrapper .content h4 {
              font-size: 14px; } }
        main.news-detail .container .wrapper .content .link_box,
        main.news-detail .container .wrapper .content p {
          font-weight: 400;
          font-size: 16px;
          line-height: 200%;
          color: #27333A; }
          @media screen and (max-width: 1023px) {
            main.news-detail .container .wrapper .content .link_box,
            main.news-detail .container .wrapper .content p {
              font-size: 14px; } }
          main.news-detail .container .wrapper .content .link_box a,
          main.news-detail .container .wrapper .content p a {
            color: #004481;
            text-decoration: underline;
            word-break: break-word; }
            @media screen and (min-width: 1024px) {
              main.news-detail .container .wrapper .content .link_box a:hover,
              main.news-detail .container .wrapper .content p a:hover {
                text-decoration: none; } }
      main.news-detail .container .wrapper nav.pager {
        margin-top: 40px;
        border-top: 1px solid #E8EFF6;
        position: relative;
        padding-top: 40px; }
        main.news-detail .container .wrapper nav.pager .back {
          font-weight: 700;
          font-size: 16px;
          line-height: 20px;
          letter-spacing: 0.05em;
          color: #004481;
          text-align: center; }
        main.news-detail .container .wrapper nav.pager .prev,
        main.news-detail .container .wrapper nav.pager .next {
          position: absolute;
          display: flex;
          align-items: center;
          gap: 4px;
          top: 40px;
          font-weight: 700;
          font-size: 16px;
          line-height: 20px;
          letter-spacing: 0.05em;
          color: #004481; }
        main.news-detail .container .wrapper nav.pager .prev {
          left: 0; }
          main.news-detail .container .wrapper nav.pager .prev:before {
            content: "";
            display: block;
            background-image: url("../images/common/arrow_prev.svg");
            background-size: 100% 100%;
            width: 20px;
            height: 20px; }
        main.news-detail .container .wrapper nav.pager .next {
          right: 0; }
          main.news-detail .container .wrapper nav.pager .next:after {
            content: "";
            display: block;
            background-image: url("../images/common/arrow_next.svg");
            background-size: 100% 100%;
            width: 20px;
            height: 20px; }

main.iimono-pj {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.iimono-pj {
      padding: 72px 0 64px; } }
  main.iimono-pj > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.iimono-pj > header {
        height: 194px; } }
    main.iimono-pj > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.iimono-pj > header .container {
          width: calc(100% - 24px * 2); } }
      main.iimono-pj > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.iimono-pj > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.iimono-pj > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.iimono-pj > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.iimono-pj > header .container > *.label span {
            top: 0; }
      main.iimono-pj > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.iimono-pj > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.iimono-pj > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.iimono-pj > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.iimono-pj > header .container > *:not(.label) span {
            top: 0; }
  main.iimono-pj .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.iimono-pj .container {
        width: calc(100% - 24px * 2); } }
    main.iimono-pj .container section.intro {
      position: relative; }
      @media screen and (max-width: 1023px) {
        main.iimono-pj .container section.intro {
          padding-top: calc(16 / 390 * 100vw); } }
      main.iimono-pj .container section.intro h2 {
        position: absolute;
        top: min(64px, 64 / 1280 * 100vw);
        left: 0;
        z-index: 1; }
        @media screen and (max-width: 1023px) {
          main.iimono-pj .container section.intro h2 {
            top: 0; } }
        main.iimono-pj .container section.intro h2 span {
          display: flex;
          align-items: center;
          width: fit-content;
          font-weight: 500;
          font-size: min(36px, 36 / 1280 * 100vw);
          height: min(62px, 62 / 1280 * 100vw);
          line-height: 100%;
          color: #FFFFFF;
          padding: 0 min(24px, 24 / 1280 * 100vw) 0;
          background-color: #004481; }
          @media screen and (max-width: 1023px) {
            main.iimono-pj .container section.intro h2 span {
              font-size: calc(16 / 390 * 100vw);
              line-height: calc(29 / 390 * 100vw);
              height: calc(29 / 390 * 100vw);
              padding: 0 calc(8 / 390 * 100vw); } }
      main.iimono-pj .container section.intro figure {
        position: relative;
        text-align: right;
        aspect-ratio: 1160 / 460; }
        @media screen and (max-width: 1023px) {
          main.iimono-pj .container section.intro figure {
            aspect-ratio: 1160 / 536;
            margin-bottom: 24px; } }
        main.iimono-pj .container section.intro figure:before {
          content: ""; }
        main.iimono-pj .container section.intro figure img:nth-child(1) {
          width: calc(800 / 1152 * 100%);
          border-radius: 8px; }
        main.iimono-pj .container section.intro figure div:nth-child(2) {
          position: absolute;
          top: calc(252 / 460 * 100%);
          left: 0;
          width: calc(480 / 1152 * 100%); }
          @media screen and (max-width: 1023px) {
            main.iimono-pj .container section.intro figure div:nth-child(2) {
              top: auto;
              bottom: 0; } }
          main.iimono-pj .container section.intro figure div:nth-child(2):before {
            content: "";
            display: block;
            position: absolute;
            top: max(8px * -1, 8 / 1280 * 100vw * -1);
            left: max(8px * -1, 8 / 1280 * 100vw * -1);
            right: max(8px * -1, 8 / 1280 * 100vw * -1);
            bottom: max(8px * -1, 8 / 1280 * 100vw * -1);
            background-color: #fff;
            border-radius: min(14px, 14 / 1280 * 100vw); }
          main.iimono-pj .container section.intro figure div:nth-child(2) img {
            position: relative;
            width: 100%;
            border-radius: 8px; }
      main.iimono-pj .container section.intro p {
        width: calc(640 / 1152 * 100%);
        margin: 24px 0 0 auto;
        font-weight: 500;
        font-size: 16px;
        line-height: 180%;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.iimono-pj .container section.intro p {
            font-size: 16px;
            line-height: 200%;
            width: auto; } }
    main.iimono-pj .container section.eligible,
    main.iimono-pj .container section.case,
    main.iimono-pj .container section.flow {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      margin-top: 40px; }
      @media screen and (max-width: 1023px) {
        main.iimono-pj .container section.eligible,
        main.iimono-pj .container section.case,
        main.iimono-pj .container section.flow {
          padding: 48px 16px; } }
      main.iimono-pj .container section.eligible[data-inview],
      main.iimono-pj .container section.case[data-inview],
      main.iimono-pj .container section.flow[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.iimono-pj .container section.eligible[data-inview][data-inview-active],
        main.iimono-pj .container section.case[data-inview][data-inview-active],
        main.iimono-pj .container section.flow[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.iimono-pj .container section.eligible h2,
      main.iimono-pj .container section.case h2,
      main.iimono-pj .container section.flow h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.iimono-pj .container section.eligible h2,
          main.iimono-pj .container section.case h2,
          main.iimono-pj .container section.flow h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.iimono-pj .container section.eligible h2:before,
        main.iimono-pj .container section.case h2:before,
        main.iimono-pj .container section.flow h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.iimono-pj .container section.eligible h2:before,
            main.iimono-pj .container section.case h2:before,
            main.iimono-pj .container section.flow h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
    main.iimono-pj .container section.eligible ul li {
      margin-top: 16px;
      position: relative;
      font-weight: 700;
      font-size: 16px;
      line-height: 150%;
      color: #27333A;
      padding-left: 24px; }
      main.iimono-pj .container section.eligible ul li:before {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        background-color: #004481;
        position: absolute;
        top: 5px;
        left: 0; }
    main.iimono-pj .container section.eligible .note {
      font-weight: 400;
      font-size: 14px;
      line-height: 180%;
      text-align: justify;
      color: #27333A;
      margin-top: 40px; }
    main.iimono-pj .container section.case ul {
      display: flex;
      flex-wrap: wrap;
      gap: 40px; }
      main.iimono-pj .container section.case ul li {
        position: relative;
        flex: 0 0 calc((100% - 40px) / 2); }
        @media screen and (max-width: 767px) {
          main.iimono-pj .container section.case ul li {
            flex: 0 0 100%; } }
        main.iimono-pj .container section.case ul li .marker {
          position: absolute;
          top: 0;
          left: 0;
          display: flex;
          justify-content: center;
          align-items: center;
          width: 80px;
          height: 64px;
          background: #004481;
          border-radius: 4px 0px 4px 0;
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.iimono-pj .container section.case ul li .marker {
              width: 80px;
              height: 40px;
              font-size: 16px; } }
        main.iimono-pj .container section.case ul li figure {
          overflow: hidden;
          border-radius: 4px;
          margin-bottom: 24px; }
        main.iimono-pj .container section.case ul li .title {
          margin-bottom: 16px; }
          main.iimono-pj .container section.case ul li .title a {
            display: flex;
            gap: 8px;
            align-items: center;
            font-weight: 700;
            font-size: 18px;
            line-height: 100%;
            letter-spacing: 0.05em;
            padding-right: 28px; }
            main.iimono-pj .container section.case ul li .title a[href] {
              color: #004481; }
            @media screen and (max-width: 1023px) {
              main.iimono-pj .container section.case ul li .title a {
                font-size: 14px; } }
            main.iimono-pj .container section.case ul li .title a[target]:after {
              content: "";
              -webkit-mask-image: url("../images/common/icon_blank.svg");
              mask-image: url("../images/common/icon_blank.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              width: 20px;
              height: 20px;
              display: inline-block;
              vertical-align: center;
              background-color: #004481;
              transition: all ease .3s; }
        main.iimono-pj .container section.case ul li .description {
          font-weight: 400;
          font-size: 14px;
          line-height: 180%;
          color: #27333A; }
    main.iimono-pj .container section.flow ol {
      display: flex;
      gap: 37px; }
      @media screen and (max-width: 1023px) {
        main.iimono-pj .container section.flow ol {
          flex-direction: column; } }
      main.iimono-pj .container section.flow ol li {
        position: relative;
        flex: 0 0 calc((100% - 37px * 3) / 4);
        background-color: #FAFAFA;
        border-radius: 8px;
        padding: 32px; }
        @media screen and (max-width: 1023px) {
          main.iimono-pj .container section.flow ol li {
            flex: initial; } }
        main.iimono-pj .container section.flow ol li::after {
          content: "";
          background-image: url("../images/iimono-pj/flow_arrow.svg");
          background-size: 100% 100%;
          width: 16px;
          height: 19px;
          position: absolute;
          top: 50%;
          left: calc(100% + 10px);
          transform: translateY(-50%); }
          @media screen and (max-width: 1023px) {
            main.iimono-pj .container section.flow ol li::after {
              background-image: url("../images/iimono-pj/flow_arrow@mobile.svg");
              width: 19px;
              height: 16px;
              top: calc(100% + 12px);
              left: calc(50%);
              transform: translateX(-50%); } }
        main.iimono-pj .container section.flow ol li:last-child::after {
          display: none; }
        main.iimono-pj .container section.flow ol li .marker {
          font-weight: 700;
          font-size: 24px;
          line-height: 100%;
          display: block;
          text-align: center;
          color: #004481;
          margin-bottom: 16px; }
        main.iimono-pj .container section.flow ol li .title {
          font-weight: 700;
          font-size: 18px;
          line-height: 100%;
          display: block;
          text-align: center;
          color: #004481;
          margin-bottom: 16px; }
        main.iimono-pj .container section.flow ol li figure {
          width: 100px;
          margin: 0 auto;
          margin-bottom: 16px; }
        main.iimono-pj .container section.flow ol li .description {
          font-weight: 400;
          font-size: 15px;
          line-height: 150%;
          color: #27333A;
          width: fit-content;
          margin: 0 auto; }
    main.iimono-pj .container section.flow .contact {
      margin-top: 64px; }
      @media screen and (max-width: 1023px) {
        main.iimono-pj .container section.flow .contact {
          margin-top: 48px; } }
      main.iimono-pj .container section.flow .contact p.copy {
        font-weight: 700;
        font-size: 18px;
        line-height: 180%;
        text-align: center;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 16px; }
      main.iimono-pj .container section.flow .contact .action {
        display: flex;
        justify-content: center; }
        main.iimono-pj .container section.flow .contact .action a {
          position: relative;
          display: flex;
          justify-content: center;
          align-items: center;
          padding: 0px;
          width: 100%;
          max-width: 640px;
          height: 80px;
          background: #004481;
          border-radius: 8px;
          font-weight: 700;
          font-size: 24px;
          line-height: 100%;
          text-align: center;
          letter-spacing: 0.05em;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.iimono-pj .container section.flow .contact .action a {
              font-size: 20px; } }
          main.iimono-pj .container section.flow .contact .action a .arrow {
            position: relative;
            display: block;
            width: 40px;
            height: 24px;
            border-radius: 4px;
            background-color: #004481;
            overflow: hidden;
            background-color: #fff;
            position: absolute;
            right: 28px;
            top: 50%;
            transform: translateY(-50%); }
            main.iimono-pj .container section.flow .contact .action a .arrow:before, main.iimono-pj .container section.flow .contact .action a .arrow:after {
              content: "";
              display: block;
              -webkit-mask-image: url("../images/common/more_arrow.svg");
              mask-image: url("../images/common/more_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              width: 17px;
              height: 8px;
              position: absolute;
              top: calc(50% - 4px);
              left: calc(50% - 8.5px);
              transition: all ease .3s;
              opacity: 1;
              background-color: #fff;
              background-color: #004481; }
            main.iimono-pj .container section.flow .contact .action a .arrow:after {
              transform: translateX(-40px);
              opacity: 0; }
          @media screen and (min-width: 1024px) {
            main.iimono-pj .container section.flow .contact .action a:hover .arrow:before {
              transform: translateX(40px);
              opacity: 0; }
            main.iimono-pj .container section.flow .contact .action a:hover .arrow:after {
              transform: translateX(0px);
              opacity: 1; } }

main.recruit {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.recruit {
      padding: 72px 0 64px; } }
  main.recruit > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.recruit > header {
        height: 194px; } }
    main.recruit > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.recruit > header .container {
          width: calc(100% - 24px * 2); } }
      main.recruit > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.recruit > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.recruit > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.recruit > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.recruit > header .container > *.label span {
            top: 0; }
      main.recruit > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.recruit > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.recruit > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.recruit > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.recruit > header .container > *:not(.label) span {
            top: 0; }
  main.recruit .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.recruit .container {
        width: calc(100% - 24px * 2); } }
    main.recruit .container section.intro {
      padding: 0 56px;
      margin-bottom: 64px; }
      @media screen and (max-width: 1023px) {
        main.recruit .container section.intro {
          padding: 0;
          margin-bottom: 32px; } }
      main.recruit .container section.intro p {
        max-width: 720px;
        font-weight: 400;
        font-size: 18px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
@inclue tablet {
  main.recruit .container section.intro p {
    font-size: 16px;
    line-height: 200%; } }
    main.recruit .container section.graduate,
    main.recruit .container section.career,
    main.recruit .container section.engineer {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      margin-top: 40px; }
      @media screen and (max-width: 1023px) {
        main.recruit .container section.graduate,
        main.recruit .container section.career,
        main.recruit .container section.engineer {
          padding: 48px 16px; } }
      main.recruit .container section.graduate[data-inview],
      main.recruit .container section.career[data-inview],
      main.recruit .container section.engineer[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.recruit .container section.graduate[data-inview][data-inview-active],
        main.recruit .container section.career[data-inview][data-inview-active],
        main.recruit .container section.engineer[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.recruit .container section.graduate h2,
      main.recruit .container section.career h2,
      main.recruit .container section.engineer h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.recruit .container section.graduate h2,
          main.recruit .container section.career h2,
          main.recruit .container section.engineer h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.recruit .container section.graduate h2:before,
        main.recruit .container section.career h2:before,
        main.recruit .container section.engineer h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.recruit .container section.graduate h2:before,
            main.recruit .container section.career h2:before,
            main.recruit .container section.engineer h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
        @media screen and (max-width: 767px) {
          main.recruit .container section.graduate h2,
          main.recruit .container section.career h2,
          main.recruit .container section.engineer h2 {
            margin-bottom: 48px; } }
      main.recruit .container section.graduate .intro,
      main.recruit .container section.career .intro,
      main.recruit .container section.engineer .intro {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 40px; }
        @media screen and (max-width: 1023px) {
          main.recruit .container section.graduate .intro,
          main.recruit .container section.career .intro,
          main.recruit .container section.engineer .intro {
            gap: 20px; } }
        @media screen and (max-width: 767px) {
          main.recruit .container section.graduate .intro,
          main.recruit .container section.career .intro,
          main.recruit .container section.engineer .intro {
            flex-direction: column;
            gap: 12px; } }
        main.recruit .container section.graduate .intro .content,
        main.recruit .container section.career .intro .content,
        main.recruit .container section.engineer .intro .content {
          flex: 1;
          max-width: 560px; }
          @media screen and (max-width: 767px) {
            main.recruit .container section.graduate .intro .content,
            main.recruit .container section.career .intro .content,
            main.recruit .container section.engineer .intro .content {
              flex: initial; } }
          main.recruit .container section.graduate .intro .content p,
          main.recruit .container section.career .intro .content p,
          main.recruit .container section.engineer .intro .content p {
            margin: 0 auto;
            font-weight: 500;
            font-size: 18px;
            line-height: 200%;
            letter-spacing: 0.05em;
            color: #27333A; }
            @media screen and (max-width: 767px) {
              main.recruit .container section.graduate .intro .content p,
              main.recruit .container section.career .intro .content p,
              main.recruit .container section.engineer .intro .content p {
                font-size: 16px; } }
        main.recruit .container section.graduate .intro figure,
        main.recruit .container section.career .intro figure,
        main.recruit .container section.engineer .intro figure {
          flex: 0 0 320px; }
          @media screen and (max-width: 767px) {
            main.recruit .container section.graduate .intro figure,
            main.recruit .container section.career .intro figure,
            main.recruit .container section.engineer .intro figure {
              flex: initial; } }
      main.recruit .container section.graduate .more,
      main.recruit .container section.career .more,
      main.recruit .container section.engineer .more {
        margin-top: 24px; }
        main.recruit .container section.graduate .more a,
        main.recruit .container section.career .more a,
        main.recruit .container section.engineer .more a {
          display: flex;
          align-items: center;
          gap: 16px;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          color: #fff;
          background-color: #004481;
          padding: 16px;
          border-radius: 4px; }
          main.recruit .container section.graduate .more a:before,
          main.recruit .container section.career .more a:before,
          main.recruit .container section.engineer .more a:before {
            content: "";
            display: block;
            height: 2px;
            flex: 1;
            background-color: #004481;
            border-radius: 9999px;
            transition: all ease .3s;
            transform-origin: 0 0;
            transform: scale(0, 1);
            background-color: #fff; }
          main.recruit .container section.graduate .more a .arrow,
          main.recruit .container section.career .more a .arrow,
          main.recruit .container section.engineer .more a .arrow {
            position: relative;
            display: block;
            width: 40px;
            height: 24px;
            border-radius: 4px;
            background-color: #004481;
            overflow: hidden;
            background-color: #fff; }
            main.recruit .container section.graduate .more a .arrow:before, main.recruit .container section.graduate .more a .arrow:after,
            main.recruit .container section.career .more a .arrow:before,
            main.recruit .container section.career .more a .arrow:after,
            main.recruit .container section.engineer .more a .arrow:before,
            main.recruit .container section.engineer .more a .arrow:after {
              content: "";
              display: block;
              -webkit-mask-image: url("../images/common/more_arrow.svg");
              mask-image: url("../images/common/more_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              width: 17px;
              height: 8px;
              position: absolute;
              top: calc(50% - 4px);
              left: calc(50% - 8.5px);
              transition: all ease .3s;
              opacity: 1;
              background-color: #fff;
              background-color: #004481; }
            main.recruit .container section.graduate .more a .arrow:after,
            main.recruit .container section.career .more a .arrow:after,
            main.recruit .container section.engineer .more a .arrow:after {
              transform: translateX(-40px);
              opacity: 0; }
          @media screen and (max-width: 1023px) {
            main.recruit .container section.graduate .more a,
            main.recruit .container section.career .more a,
            main.recruit .container section.engineer .more a {
              font-size: 14px; } }
          @media screen and (min-width: 1024px) {
            main.recruit .container section.graduate .more a:hover:before,
            main.recruit .container section.career .more a:hover:before,
            main.recruit .container section.engineer .more a:hover:before {
              transform: scale(1, 1); }
            main.recruit .container section.graduate .more a:hover .arrow:before,
            main.recruit .container section.career .more a:hover .arrow:before,
            main.recruit .container section.engineer .more a:hover .arrow:before {
              transform: translateX(40px);
              opacity: 0; }
            main.recruit .container section.graduate .more a:hover .arrow:after,
            main.recruit .container section.career .more a:hover .arrow:after,
            main.recruit .container section.engineer .more a:hover .arrow:after {
              transform: translateX(0px);
              opacity: 1; } }

main.contact {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.contact {
      padding: 72px 0 64px; } }
  main.contact > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.contact > header {
        height: 194px; } }
    main.contact > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.contact > header .container {
          width: calc(100% - 24px * 2); } }
      main.contact > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.contact > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.contact > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.contact > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.contact > header .container > *.label span {
            top: 0; }
      main.contact > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.contact > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.contact > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.contact > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.contact > header .container > *:not(.label) span {
            top: 0; }
  main.contact .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.contact .container {
        width: calc(100% - 24px * 2); } }
    main.contact .container section {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px; }
      @media screen and (max-width: 1023px) {
        main.contact .container section {
          padding: 48px 16px; } }
      main.contact .container section[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.contact .container section[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.contact .container section > p {
        font-weight: 400;
        font-size: 18px;
        line-height: 180%;
        text-align: justify;
        letter-spacing: 0.05em;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.contact .container section > p {
            font-size: 16px;
            margin-bottom: 48px; } }
      main.contact .container section ul + ul {
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.contact .container section ul + ul {
            margin-top: 48px; } }
      main.contact .container section ul li a {
        position: relative;
        display: block;
        padding: 24px 40px;
        border-bottom: 2px solid #E8EFF6; }
        @media screen and (max-width: 1023px) {
          main.contact .container section ul li a {
            padding: 24px 0; } }
        main.contact .container section ul li a p:nth-child(1) {
          font-weight: 700;
          font-size: 18px;
          line-height: 150%;
          text-align: justify;
          letter-spacing: 0.05em;
          color: #004481; }
          @media screen and (max-width: 1023px) {
            main.contact .container section ul li a p:nth-child(1) {
              font-size: 15px; } }
        main.contact .container section ul li a p:nth-child(2) {
          font-weight: 500;
          font-size: 14px;
          line-height: 150%;
          text-align: justify;
          color: #27333A;
          margin-top: 4px; }
          @media screen and (max-width: 1023px) {
            main.contact .container section ul li a p:nth-child(2) {
              font-size: 10px; } }
        main.contact .container section ul li a:before {
          content: "";
          position: absolute;
          left: 0;
          bottom: -2px;
          height: 2px;
          display: block;
          background-color: #004481;
          width: 0;
          transition: all ease .3s; }
        main.contact .container section ul li a[target]:after {
          content: "";
          -webkit-mask-image: url("../images/common/icon_blank.svg");
          mask-image: url("../images/common/icon_blank.svg");
          -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
          width: 20px;
          height: 20px;
          display: inline-block;
          vertical-align: center;
          background-color: #004481;
          transition: all ease .3s;
          position: absolute;
          right: 40px;
          top: 50%;
          transform: translateY(-50%); }
          @media screen and (max-width: 1023px) {
            main.contact .container section ul li a[target]:after {
              right: 0; } }
        main.contact .container section ul li a .arrow {
          position: relative;
          display: block;
          width: 40px;
          height: 24px;
          border-radius: 4px;
          background-color: #004481;
          overflow: hidden;
          position: absolute;
          right: 40px;
          top: 50%;
          transform: translateY(-50%); }
          main.contact .container section ul li a .arrow:before, main.contact .container section ul li a .arrow:after {
            content: "";
            display: block;
            -webkit-mask-image: url("../images/common/more_arrow.svg");
            mask-image: url("../images/common/more_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            width: 17px;
            height: 8px;
            position: absolute;
            top: calc(50% - 4px);
            left: calc(50% - 8.5px);
            transition: all ease .3s;
            opacity: 1;
            background-color: #fff; }
          main.contact .container section ul li a .arrow:after {
            transform: translateX(-40px);
            opacity: 0; }
          @media screen and (max-width: 1023px) {
            main.contact .container section ul li a .arrow {
              right: 0; } }
        @media screen and (min-width: 1024px) {
          main.contact .container section ul li a:hover:before {
            width: 100%; }
          main.contact .container section ul li a:hover .arrow:before {
            transform: translateX(40px);
            opacity: 0; }
          main.contact .container section ul li a:hover .arrow:after {
            transform: translateX(0px);
            opacity: 1; } }

main.contact-form {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.contact-form {
      padding: 72px 0 64px; } }
  main.contact-form > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.contact-form > header {
        height: 194px; } }
    main.contact-form > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.contact-form > header .container {
          width: calc(100% - 24px * 2); } }
      main.contact-form > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.contact-form > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.contact-form > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.contact-form > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.contact-form > header .container > *.label span {
            top: 0; }
      main.contact-form > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.contact-form > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.contact-form > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.contact-form > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.contact-form > header .container > *:not(.label) span {
            top: 0; }
  main.contact-form .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.contact-form .container {
        width: calc(100% - 24px * 2); } }
    main.contact-form .container section {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      padding-bottom: 0 !important; }
      @media screen and (max-width: 1023px) {
        main.contact-form .container section {
          padding: 48px 16px; } }
      main.contact-form .container section[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.contact-form .container section[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.contact-form .container section h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.contact-form .container section h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.contact-form .container section h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.contact-form .container section h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }

main.privacy {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.privacy {
      padding: 72px 0 64px; } }
  main.privacy > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.privacy > header {
        height: 194px; } }
    main.privacy > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.privacy > header .container {
          width: calc(100% - 24px * 2); } }
      main.privacy > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.privacy > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.privacy > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.privacy > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.privacy > header .container > *.label span {
            top: 0; }
      main.privacy > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.privacy > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.privacy > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.privacy > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.privacy > header .container > *:not(.label) span {
            top: 0; }
  main.privacy .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.privacy .container {
        width: calc(100% - 24px * 2); } }
    main.privacy .container section.policy,
    main.privacy .container section.handling {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      margin-top: 40px; }
      @media screen and (max-width: 1023px) {
        main.privacy .container section.policy,
        main.privacy .container section.handling {
          padding: 48px 16px; } }
      main.privacy .container section.policy[data-inview],
      main.privacy .container section.handling[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.privacy .container section.policy[data-inview][data-inview-active],
        main.privacy .container section.handling[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.privacy .container section.policy h2,
      main.privacy .container section.handling h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.policy h2,
          main.privacy .container section.handling h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.privacy .container section.policy h2:before,
        main.privacy .container section.handling h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.privacy .container section.policy h2:before,
            main.privacy .container section.handling h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
      main.privacy .container section.policy p,
      main.privacy .container section.handling p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.policy p,
          main.privacy .container section.handling p {
            font-size: 14px;
            line-height: 200%; } }
        main.privacy .container section.policy p + p,
        main.privacy .container section.handling p + p {
          margin-top: 1.8em; }
          @media screen and (max-width: 1023px) {
            main.privacy .container section.policy p + p,
            main.privacy .container section.handling p + p {
              margin-top: 2em; } }
      main.privacy .container section.policy .signature,
      main.privacy .container section.policy .date,
      main.privacy .container section.handling .signature,
      main.privacy .container section.handling .date {
        margin-top: 40px;
        text-align: right; }
    main.privacy .container section.policy ol {
      margin-top: 40px; }
      main.privacy .container section.policy ol li {
        position: relative;
        padding-left: 24px;
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        color: #27333A;
        margin-top: 24px; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.policy ol li {
            font-size: 14px; } }
        main.privacy .container section.policy ol li .marker {
          position: absolute;
          top: 0;
          left: 0; }
    main.privacy .container section.handling section {
      margin-top: 40px; }
      main.privacy .container section.handling section h3 {
        font-style: normal;
        font-weight: 700;
        font-size: 18px;
        line-height: 180%;
        color: #004481;
        margin-bottom: 24px; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.handling section h3 {
            font-size: 16px; } }
    main.privacy .container section.handling section.purpose dl.table {
      display: flex;
      flex-wrap: wrap; }
      main.privacy .container section.handling section.purpose dl.table dt {
        flex: 0 0 calc(400 / 1040 * 100%);
        border: 1px solid #E8EFF6;
        margin-top: -1px;
        padding: 24px; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.handling section.purpose dl.table dt {
            padding: 8px; } }
        main.privacy .container section.handling section.purpose dl.table dt p {
          position: relative;
          padding-left: 24px;
          font-weight: 400;
          font-size: 14px;
          line-height: 180%;
          color: #27333A; }
          @media screen and (max-width: 1023px) {
            main.privacy .container section.handling section.purpose dl.table dt p {
              font-size: 10px; } }
          main.privacy .container section.handling section.purpose dl.table dt p .marker {
            position: absolute;
            top: 0;
            left: 0; }
      main.privacy .container section.handling section.purpose dl.table dd {
        flex: 0 0 calc(640 / 1040 * 100%);
        border: 1px solid #E8EFF6;
        border-left: none;
        margin-top: -1px;
        padding: 24px; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.handling section.purpose dl.table dd {
            padding: 8px; } }
        main.privacy .container section.handling section.purpose dl.table dd ol li {
          position: relative;
          padding-left: 16px;
          font-weight: 400;
          font-size: 14px;
          line-height: 150%;
          color: #27333A;
          margin-top: 8px; }
          @media screen and (max-width: 1023px) {
            main.privacy .container section.handling section.purpose dl.table dd ol li {
              font-size: 10px; } }
          main.privacy .container section.handling section.purpose dl.table dd ol li:first-child {
            margin-top: 0; }
          main.privacy .container section.handling section.purpose dl.table dd ol li .marker {
            position: absolute;
            top: 0;
            left: 0; }
    main.privacy .container section.handling section.sharing ol li {
      font-weight: 400;
      font-size: 16px;
      line-height: 180%;
      position: relative;
      padding-left: 16px;
      color: #27333A;
      margin-top: 16px; }
      @media screen and (max-width: 1023px) {
        main.privacy .container section.handling section.sharing ol li {
          font-size: 14px;
          line-height: 200%; } }
      @media screen and (max-width: 1023px) {
        main.privacy .container section.handling section.sharing ol li {
          padding-left: 14px; } }
      main.privacy .container section.handling section.sharing ol li .marker {
        position: absolute;
        top: 0;
        left: 0; }
      main.privacy .container section.handling section.sharing ol li a {
        text-decoration: underline; }
    main.privacy .container section.handling section.analytics section {
      margin-top: 24px; }
      main.privacy .container section.handling section.analytics section h4 {
        font-style: normal;
        font-weight: 700;
        font-size: 16px;
        line-height: 180%;
        color: #27333A;
        margin-bottom: 24px; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.handling section.analytics section h4 {
            font-size: 14px;
            margin-bottom: 12px; } }
      main.privacy .container section.handling section.analytics section dl dt {
        border-left: 2px solid #004481;
        padding-left: 16px;
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        color: #27333A;
        margin-top: 24px; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.handling section.analytics section dl dt {
            font-size: 14px; } }
      main.privacy .container section.handling section.analytics section dl dd {
        border-left: 2px solid #004481;
        padding-left: 16px;
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        color: #27333A;
        margin-bottom: 24px;
        word-break: break-all; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.handling section.analytics section dl dd {
            font-size: 14px; } }
        main.privacy .container section.handling section.analytics section dl dd a {
          display: inline;
          align-items: center; }
          main.privacy .container section.handling section.analytics section dl dd a:after {
            content: "";
            -webkit-mask-image: url("../images/common/icon_blank.svg");
            mask-image: url("../images/common/icon_blank.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            width: 20px;
            height: 20px;
            display: inline-block;
            vertical-align: center;
            background-color: #004481;
            transition: all ease .3s;
            margin-left: 8px; }
    main.privacy .container section.handling section.measures dl {
      display: flex;
      flex-wrap: wrap;
      margin-top: 16px; }
      main.privacy .container section.handling section.measures dl dt {
        flex: 0 0 calc(320 / 1040 * 100%);
        padding: 24px;
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        color: #27333A;
        border: 1px solid #E8EFF6;
        margin-top: -1px; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.handling section.measures dl dt {
            padding: 8px;
            font-size: 10px; } }
      main.privacy .container section.handling section.measures dl dd {
        flex: 0 0 calc(720 / 1040 * 100%);
        padding: 24px;
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        color: #27333A;
        border: 1px solid #E8EFF6;
        border-left: none;
        margin-top: -1px; }
        @media screen and (max-width: 1023px) {
          main.privacy .container section.handling section.measures dl dd {
            padding: 8px;
            font-size: 10px; } }
    main.privacy .container section.handling section.change section.contact {
      margin-top: 16px;
      background-color: #E8EFF6;
      padding: 48px;
      border-radius: 8px;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 767px) {
        main.privacy .container section.handling section.change section.contact {
          padding: 24px 16px;
          display: block; } }
      main.privacy .container section.handling section.change section.contact .content {
        flex: 1; }
        main.privacy .container section.handling section.change section.contact .content h4 {
          font-weight: 400;
          font-size: 16px;
          line-height: 180%;
          color: #27333A;
          font-weight: bold; }
        main.privacy .container section.handling section.change section.contact .content p {
          margin-top: 24px; }
      main.privacy .container section.handling section.change section.contact figure {
        flex: 0 0 200px; }
        @media screen and (max-width: 767px) {
          main.privacy .container section.handling section.change section.contact figure {
            text-align: center;
            margin-top: 24px; }
            main.privacy .container section.handling section.change section.contact figure img {
              width: 80px; } }

main.terms {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.terms {
      padding: 72px 0 64px; } }
  main.terms > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.terms > header {
        height: 194px; } }
    main.terms > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.terms > header .container {
          width: calc(100% - 24px * 2); } }
      main.terms > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.terms > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.terms > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.terms > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.terms > header .container > *.label span {
            top: 0; }
      main.terms > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.terms > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.terms > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.terms > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.terms > header .container > *:not(.label) span {
            top: 0; }
  main.terms .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.terms .container {
        width: calc(100% - 24px * 2); } }
    main.terms .container .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px; }
      @media screen and (max-width: 1023px) {
        main.terms .container .wrapper {
          padding: 48px 16px; } }
      main.terms .container .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.terms .container .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.terms .container .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.terms .container .wrapper p {
            font-size: 14px;
            line-height: 200%; } }
      main.terms .container .wrapper p.note {
        margin-top: 24px;
        font-weight: 400;
        font-size: 12px;
        line-height: 180%;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.terms .container .wrapper p.note {
            line-height: 200%; } }
      main.terms .container .wrapper section {
        margin-top: 40px; }
        main.terms .container .wrapper section h2 {
          font-style: normal;
          font-weight: 700;
          font-size: 18px;
          line-height: 180%;
          color: #004481;
          margin-bottom: 24px; }
      main.terms .container .wrapper ol li {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        margin-top: 16px;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.terms .container .wrapper ol li {
            font-size: 14px;
            line-height: 200%; } }

main.presskit {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.presskit {
      padding: 72px 0 64px; } }
  main.presskit > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.presskit > header {
        height: 194px; } }
    main.presskit > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.presskit > header .container {
          width: calc(100% - 24px * 2); } }
      main.presskit > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.presskit > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.presskit > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.presskit > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.presskit > header .container > *.label span {
            top: 0; }
      main.presskit > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.presskit > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.presskit > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.presskit > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.presskit > header .container > *:not(.label) span {
            top: 0; }
  main.presskit .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.presskit .container {
        width: calc(100% - 24px * 2); } }
    main.presskit .container section.corporate,
    main.presskit .container section.service {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px; }
      @media screen and (max-width: 1023px) {
        main.presskit .container section.corporate,
        main.presskit .container section.service {
          padding: 48px 16px; } }
      main.presskit .container section.corporate[data-inview],
      main.presskit .container section.service[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.presskit .container section.corporate[data-inview][data-inview-active],
        main.presskit .container section.service[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.presskit .container section.corporate h2,
      main.presskit .container section.service h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.presskit .container section.corporate h2,
          main.presskit .container section.service h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.presskit .container section.corporate h2:before,
        main.presskit .container section.service h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.presskit .container section.corporate h2:before,
            main.presskit .container section.service h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
      main.presskit .container section.corporate ul li,
      main.presskit .container section.service ul li {
        padding: 32px 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 40px; }
        @media screen and (max-width: 767px) {
          main.presskit .container section.corporate ul li,
          main.presskit .container section.service ul li {
            flex-direction: column;
            gap: 24px;
            padding: 0; }
            main.presskit .container section.corporate ul li + li,
            main.presskit .container section.service ul li + li {
              margin-top: 48px; } }
        @media screen and (max-width: 767px) {
          main.presskit .container section.corporate ul li .content,
          main.presskit .container section.service ul li .content {
            order: 2;
            width: 100%; } }
        main.presskit .container section.corporate ul li .content .title,
        main.presskit .container section.service ul li .content .title {
          font-weight: 700;
          font-size: 20px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #27333A;
          margin-bottom: 24px; }
          @media screen and (max-width: 1023px) {
            main.presskit .container section.corporate ul li .content .title,
            main.presskit .container section.service ul li .content .title {
              font-size: 18px;
              line-height: 150%;
              margin-bottom: 16px; } }
          @media screen and (max-width: 767px) {
            main.presskit .container section.corporate ul li .content .title,
            main.presskit .container section.service ul li .content .title {
              text-align: center; } }
        main.presskit .container section.corporate ul li .content .action,
        main.presskit .container section.service ul li .content .action {
          margin-top: 24px; }
          main.presskit .container section.corporate ul li .content .action a,
          main.presskit .container section.service ul li .content .action a {
            display: flex;
            gap: 10px;
            justify-content: center;
            align-items: center;
            width: 240px;
            font-weight: 700;
            font-size: 14px;
            line-height: 100%;
            letter-spacing: 0.05em;
            color: #004481;
            padding: 8px;
            border-radius: 4px;
            background-color: #E8EFF6;
            transition: all ease .3s; }
            @media screen and (max-width: 767px) {
              main.presskit .container section.corporate ul li .content .action a,
              main.presskit .container section.service ul li .content .action a {
                width: 100%; } }
            main.presskit .container section.corporate ul li .content .action a:after,
            main.presskit .container section.service ul li .content .action a:after {
              content: "";
              display: block;
              -webkit-mask-image: url("../images/presskit/icon_download.svg");
              mask-image: url("../images/presskit/icon_download.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              width: 24px;
              height: 24px;
              background-color: #004481;
              transition: all ease .3s; }
            @media screen and (min-width: 1024px) {
              main.presskit .container section.corporate ul li .content .action a:hover,
              main.presskit .container section.service ul li .content .action a:hover {
                background-color: #004481;
                color: #fff; }
                main.presskit .container section.corporate ul li .content .action a:hover:after,
                main.presskit .container section.service ul li .content .action a:hover:after {
                  background-color: #fff; } }
        main.presskit .container section.corporate ul li figure,
        main.presskit .container section.service ul li figure {
          flex: 0 0 400px; }
          @media screen and (max-width: 767px) {
            main.presskit .container section.corporate ul li figure,
            main.presskit .container section.service ul li figure {
              flex: initial;
              order: 1; } }
          main.presskit .container section.corporate ul li figure img,
          main.presskit .container section.service ul li figure img {
            border: 1px solid #E8EFF6;
            border-radius: 4px; }
    main.presskit .container section.service {
      margin-top: 40px; }

main.security {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.security {
      padding: 72px 0 64px; } }
  main.security > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.security > header {
        height: 194px; } }
    main.security > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.security > header .container {
          width: calc(100% - 24px * 2); } }
      main.security > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.security > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.security > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.security > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.security > header .container > *.label span {
            top: 0; }
      main.security > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.security > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.security > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.security > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.security > header .container > *:not(.label) span {
            top: 0; }
  main.security .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.security .container {
        width: calc(100% - 24px * 2); } }
    main.security .container section.intro {
      margin-bottom: 64px; }
      main.security .container section.intro > p {
        max-width: 720px;
        font-weight: 400;
        font-size: 18px;
        line-height: 180%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.security .container section.intro > p {
            font-size: 16px;
            line-height: 200%; } }
    main.security .container section.policy,
    main.security .container section.system,
    main.security .container section.isms,
    main.security .container section.privacy {
      margin-top: 40px;
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px; }
      @media screen and (max-width: 1023px) {
        main.security .container section.policy,
        main.security .container section.system,
        main.security .container section.isms,
        main.security .container section.privacy {
          padding: 48px 16px; } }
      main.security .container section.policy[data-inview],
      main.security .container section.system[data-inview],
      main.security .container section.isms[data-inview],
      main.security .container section.privacy[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.security .container section.policy[data-inview][data-inview-active],
        main.security .container section.system[data-inview][data-inview-active],
        main.security .container section.isms[data-inview][data-inview-active],
        main.security .container section.privacy[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.security .container section.policy h2,
      main.security .container section.system h2,
      main.security .container section.isms h2,
      main.security .container section.privacy h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.security .container section.policy h2,
          main.security .container section.system h2,
          main.security .container section.isms h2,
          main.security .container section.privacy h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.security .container section.policy h2:before,
        main.security .container section.system h2:before,
        main.security .container section.isms h2:before,
        main.security .container section.privacy h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.security .container section.policy h2:before,
            main.security .container section.system h2:before,
            main.security .container section.isms h2:before,
            main.security .container section.privacy h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
      main.security .container section.policy p,
      main.security .container section.system p,
      main.security .container section.isms p,
      main.security .container section.privacy p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.security .container section.policy p,
          main.security .container section.system p,
          main.security .container section.isms p,
          main.security .container section.privacy p {
            font-size: 14px;
            line-height: 200%; } }
      main.security .container section.policy figure,
      main.security .container section.system figure,
      main.security .container section.isms figure,
      main.security .container section.privacy figure {
        margin: 40px 0; }
        main.security .container section.policy figure:last-child,
        main.security .container section.system figure:last-child,
        main.security .container section.isms figure:last-child,
        main.security .container section.privacy figure:last-child {
          margin-bottom: 0; }
    main.security .container section.policy ol {
      margin-top: 40px; }
      main.security .container section.policy ol li {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        position: relative;
        padding-left: 24px;
        color: #27333A;
        margin-top: 24px; }
        @media screen and (max-width: 1023px) {
          main.security .container section.policy ol li {
            font-size: 14px;
            line-height: 200%; } }
        main.security .container section.policy ol li .marker {
          position: absolute;
          top: 0;
          left: 0; }
    main.security .container section.policy .signature {
      text-align: right;
      margin-top: 40px; }
    @media screen and (max-width: 767px) {
      main.security .container section.isms figure {
        text-align: center; } }
    main.security .container section.isms figure img {
      width: 258px; }
    main.security .container section.privacy .action {
      margin-top: 16px; }
      main.security .container section.privacy .action a {
        display: flex;
        align-items: center;
        gap: 16px;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #004481; }
        main.security .container section.privacy .action a .arrow {
          position: relative;
          display: block;
          width: 40px;
          height: 24px;
          border-radius: 4px;
          background-color: #004481;
          overflow: hidden; }
          main.security .container section.privacy .action a .arrow:before, main.security .container section.privacy .action a .arrow:after {
            content: "";
            display: block;
            -webkit-mask-image: url("../images/common/more_arrow.svg");
            mask-image: url("../images/common/more_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            width: 17px;
            height: 8px;
            position: absolute;
            top: calc(50% - 4px);
            left: calc(50% - 8.5px);
            transition: all ease .3s;
            opacity: 1;
            background-color: #fff; }
          main.security .container section.privacy .action a .arrow:after {
            transform: translateX(-40px);
            opacity: 0; }
        main.security .container section.privacy .action a:hover .arrow:before {
          transform: translateX(40px);
          opacity: 0; }
        main.security .container section.privacy .action a:hover .arrow:after {
          transform: translateX(0px);
          opacity: 1; }
    @media screen and (max-width: 767px) {
      main.security .container section.privacy figure {
        text-align: center; } }
    main.security .container section.privacy figure img {
      width: 158px; }

main.sustainability {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.sustainability {
      padding: 72px 0 64px; } }
  main.sustainability > header {
    display: flex;
    height: 210px;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.sustainability > header {
        height: 194px; } }
    main.sustainability > header .container {
      width: calc(100% - 64px * 2);
      max-width: 1152px;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.sustainability > header .container {
          width: calc(100% - 24px * 2); } }
      main.sustainability > header .container > *.label {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        min-width: 70px;
        height: 26px;
        background: #004481;
        border-radius: 4px;
        background-color: #004481;
        font-weight: 700;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 0 28px;
        margin-bottom: 16px;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
        transition: all ease .5s;
        transform-origin: 100% 0; }
        @media screen and (max-width: 1023px) {
          main.sustainability > header .container > *.label {
            font-size: 12px;
            padding: 0 16px;
            margin-bottom: 12px;
            height: 24px;
            min-width: 0; } }
        main.sustainability > header .container > *.label span {
          position: relative;
          top: 150%;
          transition: all ease .5s .5s; }
        .is-loaded main.sustainability > header .container > *.label {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          .is-loaded main.sustainability > header .container > *.label span {
            top: 0; }
      main.sustainability > header .container > *:not(.label) {
        overflow: hidden;
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.sustainability > header .container > *:not(.label) {
            font-size: 20px;
            line-height: 150%; } }
        main.sustainability > header .container > *:not(.label) span {
          position: relative;
          display: block;
          transition: all ease .5s .5s;
          top: 60px; }
          @media screen and (max-width: 1023px) {
            main.sustainability > header .container > *:not(.label) span {
              top: 45px; } }
          .is-loaded main.sustainability > header .container > *:not(.label) span {
            top: 0; }
  main.sustainability .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.sustainability .container {
        width: calc(100% - 24px * 2); } }
    @media screen and (max-width: 1023px) {
      main.sustainability .container section.intro {
        margin-bottom: 80px; } }
    main.sustainability .container section.intro figure {
      max-width: 800px;
      margin: 0 auto; }
    main.sustainability .container section.intro p {
      font-weight: 700;
      font-size: 16px;
      line-height: 180%;
      text-align: center;
      letter-spacing: 0.05em;
      color: #27333A; }
      @media screen and (max-width: 1023px) {
        main.sustainability .container section.intro p {
          line-height: 200%; } }
    main.sustainability .container section.circular,
    main.sustainability .container section.system,
    main.sustainability .container section.diversity {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      margin-top: 40px; }
      @media screen and (max-width: 1023px) {
        main.sustainability .container section.circular,
        main.sustainability .container section.system,
        main.sustainability .container section.diversity {
          padding: 48px 16px; } }
      main.sustainability .container section.circular[data-inview],
      main.sustainability .container section.system[data-inview],
      main.sustainability .container section.diversity[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.sustainability .container section.circular[data-inview][data-inview-active],
        main.sustainability .container section.system[data-inview][data-inview-active],
        main.sustainability .container section.diversity[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.sustainability .container section.circular h2,
      main.sustainability .container section.system h2,
      main.sustainability .container section.diversity h2 {
        position: relative;
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 100%;
        color: #27333A;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.sustainability .container section.circular h2,
          main.sustainability .container section.system h2,
          main.sustainability .container section.diversity h2 {
            font-weight: 700;
            font-size: 18px;
            line-height: 150%;
            letter-spacing: 0.05em;
            padding-left: 16px;
            margin-bottom: 48px; } }
        main.sustainability .container section.circular h2:before,
        main.sustainability .container section.system h2:before,
        main.sustainability .container section.diversity h2:before {
          content: "";
          display: block;
          background-color: #004481;
          width: 40px;
          height: 4px;
          position: absolute;
          top: 14px;
          left: -56px; }
          @media screen and (max-width: 1023px) {
            main.sustainability .container section.circular h2:before,
            main.sustainability .container section.system h2:before,
            main.sustainability .container section.diversity h2:before {
              top: 10px;
              left: -16px;
              width: 24px; } }
      main.sustainability .container section.circular ul.goals,
      main.sustainability .container section.system ul.goals,
      main.sustainability .container section.diversity ul.goals {
        display: flex;
        gap: 20px; }
        @media screen and (max-width: 1023px) {
          main.sustainability .container section.circular ul.goals,
          main.sustainability .container section.system ul.goals,
          main.sustainability .container section.diversity ul.goals {
            gap: 16px; } }
        main.sustainability .container section.circular ul.goals li,
        main.sustainability .container section.system ul.goals li,
        main.sustainability .container section.diversity ul.goals li {
          flex: 0 0 120px; }
          @media screen and (max-width: 1023px) {
            main.sustainability .container section.circular ul.goals li,
            main.sustainability .container section.system ul.goals li,
            main.sustainability .container section.diversity ul.goals li {
              flex: 0 0 80px; } }
      main.sustainability .container section.circular section,
      main.sustainability .container section.system section,
      main.sustainability .container section.diversity section {
        display: flex;
        gap: 40px;
        margin-top: 64px; }
        @media screen and (max-width: 1023px) {
          main.sustainability .container section.circular section,
          main.sustainability .container section.system section,
          main.sustainability .container section.diversity section {
            margin-top: 48px; } }
        @media screen and (max-width: 767px) {
          main.sustainability .container section.circular section,
          main.sustainability .container section.system section,
          main.sustainability .container section.diversity section {
            gap: 24px;
            flex-direction: column; } }
        main.sustainability .container section.circular section .content,
        main.sustainability .container section.system section .content,
        main.sustainability .container section.diversity section .content {
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.sustainability .container section.circular section .content,
            main.sustainability .container section.system section .content,
            main.sustainability .container section.diversity section .content {
              flex: initial;
              order: 2; } }
          main.sustainability .container section.circular section .content h3,
          main.sustainability .container section.system section .content h3,
          main.sustainability .container section.diversity section .content h3 {
            font-weight: 700;
            font-size: 18px;
            line-height: 100%;
            letter-spacing: 0.05em;
            color: #004481;
            margin-bottom: 32px; }
            @media screen and (max-width: 1023px) {
              main.sustainability .container section.circular section .content h3,
              main.sustainability .container section.system section .content h3,
              main.sustainability .container section.diversity section .content h3 {
                font-size: 16px;
                margin-bottom: 24px; } }
          main.sustainability .container section.circular section .content p,
          main.sustainability .container section.system section .content p,
          main.sustainability .container section.diversity section .content p {
            font-weight: 400;
            font-size: 14px;
            line-height: 180%;
            color: #27333A; }
            @media screen and (max-width: 767px) {
              main.sustainability .container section.circular section .content p,
              main.sustainability .container section.system section .content p,
              main.sustainability .container section.diversity section .content p {
                line-height: 200%; } }
          main.sustainability .container section.circular section .content .more,
          main.sustainability .container section.system section .content .more,
          main.sustainability .container section.diversity section .content .more {
            margin-top: 32px; }
            @media screen and (max-width: 1023px) {
              main.sustainability .container section.circular section .content .more,
              main.sustainability .container section.system section .content .more,
              main.sustainability .container section.diversity section .content .more {
                margin-top: 24px; } }
            main.sustainability .container section.circular section .content .more a:not([target]),
            main.sustainability .container section.system section .content .more a:not([target]),
            main.sustainability .container section.diversity section .content .more a:not([target]) {
              display: block;
              display: flex;
              align-items: center;
              gap: 16px;
              font-style: normal;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              letter-spacing: 0.05em;
              color: #004481;
              color: #fff;
              padding: 16px;
              background-color: #004481;
              border-radius: 4px; }
              main.sustainability .container section.circular section .content .more a:not([target]):before,
              main.sustainability .container section.system section .content .more a:not([target]):before,
              main.sustainability .container section.diversity section .content .more a:not([target]):before {
                content: "";
                display: block;
                height: 2px;
                flex: 1;
                background-color: #004481;
                border-radius: 9999px;
                transition: all ease .3s;
                transform-origin: 0 0;
                transform: scale(0, 1);
                background-color: #fff; }
              main.sustainability .container section.circular section .content .more a:not([target]) .arrow,
              main.sustainability .container section.system section .content .more a:not([target]) .arrow,
              main.sustainability .container section.diversity section .content .more a:not([target]) .arrow {
                position: relative;
                display: block;
                width: 40px;
                height: 24px;
                border-radius: 4px;
                background-color: #004481;
                overflow: hidden;
                background-color: #fff; }
                main.sustainability .container section.circular section .content .more a:not([target]) .arrow:before, main.sustainability .container section.circular section .content .more a:not([target]) .arrow:after,
                main.sustainability .container section.system section .content .more a:not([target]) .arrow:before,
                main.sustainability .container section.system section .content .more a:not([target]) .arrow:after,
                main.sustainability .container section.diversity section .content .more a:not([target]) .arrow:before,
                main.sustainability .container section.diversity section .content .more a:not([target]) .arrow:after {
                  content: "";
                  display: block;
                  -webkit-mask-image: url("../images/common/more_arrow.svg");
                  mask-image: url("../images/common/more_arrow.svg");
                  -webkit-mask-size: 100% 100%;
                  mask-size: 100% 100%;
                  width: 17px;
                  height: 8px;
                  position: absolute;
                  top: calc(50% - 4px);
                  left: calc(50% - 8.5px);
                  transition: all ease .3s;
                  opacity: 1;
                  background-color: #fff;
                  background-color: #004481; }
                main.sustainability .container section.circular section .content .more a:not([target]) .arrow:after,
                main.sustainability .container section.system section .content .more a:not([target]) .arrow:after,
                main.sustainability .container section.diversity section .content .more a:not([target]) .arrow:after {
                  transform: translateX(-40px);
                  opacity: 0; }
              @media screen and (min-width: 1024px) {
                main.sustainability .container section.circular section .content .more a:not([target]):hover:before,
                main.sustainability .container section.system section .content .more a:not([target]):hover:before,
                main.sustainability .container section.diversity section .content .more a:not([target]):hover:before {
                  transform: scale(1, 1); }
                main.sustainability .container section.circular section .content .more a:not([target]):hover .arrow:before,
                main.sustainability .container section.system section .content .more a:not([target]):hover .arrow:before,
                main.sustainability .container section.diversity section .content .more a:not([target]):hover .arrow:before {
                  transform: translateX(40px);
                  opacity: 0; }
                main.sustainability .container section.circular section .content .more a:not([target]):hover .arrow:after,
                main.sustainability .container section.system section .content .more a:not([target]):hover .arrow:after,
                main.sustainability .container section.diversity section .content .more a:not([target]):hover .arrow:after {
                  transform: translateX(0px);
                  opacity: 1; } }
              @media screen and (max-width: 1023px) {
                main.sustainability .container section.circular section .content .more a:not([target]),
                main.sustainability .container section.system section .content .more a:not([target]),
                main.sustainability .container section.diversity section .content .more a:not([target]) {
                  font-size: 14px; } }
            main.sustainability .container section.circular section .content .more a[target],
            main.sustainability .container section.system section .content .more a[target],
            main.sustainability .container section.diversity section .content .more a[target] {
              display: flex;
              justify-content: center;
              align-items: center;
              gap: 10px;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              letter-spacing: 0.05em;
              color: #004481;
              padding: 10px;
              background-color: #E8EFF6;
              border-radius: 4px;
              width: 100%;
              max-width: 326px;
              transition: all ease .3s; }
              @media screen and (max-width: 767px) {
                main.sustainability .container section.circular section .content .more a[target],
                main.sustainability .container section.system section .content .more a[target],
                main.sustainability .container section.diversity section .content .more a[target] {
                  max-width: none;
                  padding: 13px 0; } }
              main.sustainability .container section.circular section .content .more a[target]:after,
              main.sustainability .container section.system section .content .more a[target]:after,
              main.sustainability .container section.diversity section .content .more a[target]:after {
                content: "";
                -webkit-mask-image: url("../images/common/icon_blank.svg");
                mask-image: url("../images/common/icon_blank.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                width: 20px;
                height: 20px;
                display: inline-block;
                vertical-align: center;
                background-color: #004481;
                transition: all ease .3s; }
              @media screen and (min-width: 1024px) {
                main.sustainability .container section.circular section .content .more a[target]:hover,
                main.sustainability .container section.system section .content .more a[target]:hover,
                main.sustainability .container section.diversity section .content .more a[target]:hover {
                  background-color: #004481;
                  color: #fff; }
                  main.sustainability .container section.circular section .content .more a[target]:hover:after,
                  main.sustainability .container section.system section .content .more a[target]:hover:after,
                  main.sustainability .container section.diversity section .content .more a[target]:hover:after {
                    background-color: #fff; } }
        main.sustainability .container section.circular section figure,
        main.sustainability .container section.system section figure,
        main.sustainability .container section.diversity section figure {
          flex: 0 0 calc(400 / 1038 * 100%); }
          @media screen and (max-width: 1023px) {
            main.sustainability .container section.circular section figure,
            main.sustainability .container section.system section figure,
            main.sustainability .container section.diversity section figure {
              flex: 0 0 40%; } }
          @media screen and (max-width: 767px) {
            main.sustainability .container section.circular section figure,
            main.sustainability .container section.system section figure,
            main.sustainability .container section.diversity section figure {
              flex: initial;
              order: 1; } }
          main.sustainability .container section.circular section figure img,
          main.sustainability .container section.system section figure img,
          main.sustainability .container section.diversity section figure img {
            border-radius: 4px; }

main.en {
  padding: 151px 0 80px; }
  @media screen and (max-width: 1023px) {
    main.en {
      padding: 64px 0 64px; } }
  main.en .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.en .container {
        width: calc(100% - 24px * 2); } }
    main.en .container section.corporate {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      max-width: 1120px;
      margin-top: 24px;
      padding: 58px 40px; }
      @media screen and (max-width: 1023px) {
        main.en .container section.corporate {
          padding: 48px 16px; } }
      main.en .container section.corporate[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.en .container section.corporate[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      @media screen and (max-width: 1023px) {
        main.en .container section.corporate {
          padding: 48px 16px;
          margin-top: 32px; } }
      main.en .container section.corporate h2 {
        font-weight: 700;
        font-size: 40px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 64px; }
        @media screen and (max-width: 1023px) {
          main.en .container section.corporate h2 {
            font-size: 32px;
            line-height: 120%;
            margin-bottom: 48px; } }
      main.en .container section.corporate ul {
        display: flex;
        flex-wrap: wrap;
        gap: 24px; }
        main.en .container section.corporate ul li {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          background: #FAFAFA;
          border: 1px solid #E8EFF6;
          box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.05);
          border-radius: 8px;
          padding: 24px;
          flex: 1; }
          @media screen and (max-width: 767px) {
            main.en .container section.corporate ul li {
              flex: 0 0 100%; } }
          main.en .container section.corporate ul li p.title {
            font-weight: 700;
            font-size: 24px;
            line-height: 130%;
            letter-spacing: 0.05em;
            color: #004481; }
            @media screen and (max-width: 1023px) {
              main.en .container section.corporate ul li p.title {
                font-size: 20px; } }
          main.en .container section.corporate ul li p.more {
            margin-top: 43px; }
            @media screen and (max-width: 1023px) {
              main.en .container section.corporate ul li p.more {
                margin-top: 24px; } }
            main.en .container section.corporate ul li p.more a {
              display: flex;
              align-items: center;
              gap: 16px;
              font-style: normal;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              letter-spacing: 0.05em;
              color: #004481;
              color: #fff;
              padding: 16px;
              background-color: #004481;
              border-radius: 4px; }
              main.en .container section.corporate ul li p.more a:before {
                content: "";
                display: block;
                height: 2px;
                flex: 1;
                background-color: #004481;
                border-radius: 9999px;
                transition: all ease .3s;
                transform-origin: 0 0;
                transform: scale(0, 1);
                background-color: #fff; }
              main.en .container section.corporate ul li p.more a .arrow {
                position: relative;
                display: block;
                width: 40px;
                height: 24px;
                border-radius: 4px;
                background-color: #004481;
                overflow: hidden;
                background-color: #fff; }
                main.en .container section.corporate ul li p.more a .arrow:before, main.en .container section.corporate ul li p.more a .arrow:after {
                  content: "";
                  display: block;
                  -webkit-mask-image: url("../images/common/more_arrow.svg");
                  mask-image: url("../images/common/more_arrow.svg");
                  -webkit-mask-size: 100% 100%;
                  mask-size: 100% 100%;
                  width: 17px;
                  height: 8px;
                  position: absolute;
                  top: calc(50% - 4px);
                  left: calc(50% - 8.5px);
                  transition: all ease .3s;
                  opacity: 1;
                  background-color: #fff;
                  background-color: #004481; }
                main.en .container section.corporate ul li p.more a .arrow:after {
                  transform: translateX(-40px);
                  opacity: 0; }
              @media screen and (min-width: 1024px) {
                main.en .container section.corporate ul li p.more a:hover:before {
                  transform: scale(1, 1); }
                main.en .container section.corporate ul li p.more a:hover .arrow:before {
                  transform: translateX(40px);
                  opacity: 0; }
                main.en .container section.corporate ul li p.more a:hover .arrow:after {
                  transform: translateX(0px);
                  opacity: 1; } }
    main.en .container section.business,
    main.en .container section.ir {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px;
      max-width: 1120px;
      padding: 0;
      margin-top: 24px;
      overflow: hidden; }
      @media screen and (max-width: 1023px) {
        main.en .container section.business,
        main.en .container section.ir {
          padding: 48px 16px; } }
      main.en .container section.business[data-inview],
      main.en .container section.ir[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.en .container section.business[data-inview][data-inview-active],
        main.en .container section.ir[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      @media screen and (max-width: 1023px) {
        main.en .container section.business,
        main.en .container section.ir {
          padding: 0;
          margin-top: 40px; } }
      main.en .container section.business a,
      main.en .container section.ir a {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 300px;
        padding: 24px; }
        @media screen and (max-width: 1023px) {
          main.en .container section.business a,
          main.en .container section.ir a {
            height: 220px; } }
        main.en .container section.business a figure,
        main.en .container section.ir a figure {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; }
          main.en .container section.business a figure img,
          main.en .container section.ir a figure img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        main.en .container section.business a .content,
        main.en .container section.ir a .content {
          position: relative; }
          main.en .container section.business a .content h2,
          main.en .container section.ir a .content h2 {
            font-weight: 700;
            font-size: 40px;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.05em;
            color: #004481;
            margin-bottom: 16px; }
            @media screen and (max-width: 1023px) {
              main.en .container section.business a .content h2,
              main.en .container section.ir a .content h2 {
                font-size: 32px;
                line-height: 120%; } }
    main.en .container section.business a .content .arrow {
      position: relative;
      display: block;
      width: 40px;
      height: 24px;
      border-radius: 4px;
      background-color: #004481;
      overflow: hidden;
      margin: 0 auto; }
      main.en .container section.business a .content .arrow:before, main.en .container section.business a .content .arrow:after {
        content: "";
        display: block;
        -webkit-mask-image: url("../images/common/more_arrow.svg");
        mask-image: url("../images/common/more_arrow.svg");
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
        width: 17px;
        height: 8px;
        position: absolute;
        top: calc(50% - 4px);
        left: calc(50% - 8.5px);
        transition: all ease .3s;
        opacity: 1;
        background-color: #fff; }
      main.en .container section.business a .content .arrow:after {
        transform: translateX(-40px);
        opacity: 0; }
    main.en .container section.business a:hover .content .arrow:before {
      transform: translateX(40px);
      opacity: 0; }
    main.en .container section.business a:hover .content .arrow:after {
      transform: translateX(0px);
      opacity: 1; }
    main.en .container section.ir a .content h2 {
      color: #fff; }
    main.en .container section.ir a .content .arrow {
      position: relative;
      display: block;
      width: 40px;
      height: 24px;
      border-radius: 4px;
      background-color: #004481;
      overflow: hidden;
      background-color: #fff;
      margin: 0 auto; }
      main.en .container section.ir a .content .arrow:before, main.en .container section.ir a .content .arrow:after {
        content: "";
        display: block;
        -webkit-mask-image: url("../images/common/more_arrow.svg");
        mask-image: url("../images/common/more_arrow.svg");
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
        width: 17px;
        height: 8px;
        position: absolute;
        top: calc(50% - 4px);
        left: calc(50% - 8.5px);
        transition: all ease .3s;
        opacity: 1;
        background-color: #fff;
        background-color: #004481; }
      main.en .container section.ir a .content .arrow:after {
        transform: translateX(-40px);
        opacity: 0; }
    main.en .container section.ir a:hover .content .arrow:before {
      transform: translateX(40px);
      opacity: 0; }
    main.en .container section.ir a:hover .content .arrow:after {
      transform: translateX(0px);
      opacity: 1; }

main.error {
  padding: 88px 0 80px;
  background-color: #FAFAFA; }
  @media screen and (max-width: 1023px) {
    main.error {
      padding: 72px 0 64px; } }
  main.error > header .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto;
    padding: 64px 0; }
    @media screen and (max-width: 1023px) {
      main.error > header .container {
        width: calc(100% - 24px * 2); } }
    main.error > header .container p {
      font-weight: 600;
      font-size: 56px;
      line-height: 150%;
      text-align: center;
      color: #004481; }
      @media screen and (max-width: 1023px) {
        main.error > header .container p {
          font-size: 48px; } }
    main.error > header .container h1 {
      font-weight: 600;
      font-size: 32px;
      line-height: 150%;
      text-align: center;
      color: #004481; }
      @media screen and (max-width: 1023px) {
        main.error > header .container h1 {
          font-size: 24px; } }
  main.error .container {
    width: calc(100% - 64px * 2);
    max-width: 1152px;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.error .container {
        width: calc(100% - 24px * 2); } }
    main.error .container .wrapper {
      padding: 80px 56px;
      background: #FFFFFF;
      border: 1px solid #E8EFF6;
      box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.05);
      border-radius: 8px; }
      @media screen and (max-width: 1023px) {
        main.error .container .wrapper {
          padding: 48px 16px; } }
      main.error .container .wrapper[data-inview] {
        opacity: 0;
        transform: translateX(40px);
        transition: all ease 1s .3s; }
        main.error .container .wrapper[data-inview][data-inview-active] {
          opacity: 1;
          transform: translateX(0); }
      main.error .container .wrapper p {
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        text-align: center;
        color: #27333A; }
        @media screen and (max-width: 1023px) {
          main.error .container .wrapper p {
            line-height: 200%;
            text-align: left; } }
      main.error .container .wrapper .action {
        margin-top: 40px;
        display: flex;
        justify-content: center; }
        main.error .container .wrapper .action a {
          display: flex;
          gap: 16px;
          align-items: center;
          font-weight: 700;
          font-size: 16px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481; }
          main.error .container .wrapper .action a .arrow {
            position: relative;
            display: block;
            width: 40px;
            height: 24px;
            border-radius: 4px;
            background-color: #004481;
            overflow: hidden; }
            main.error .container .wrapper .action a .arrow:before, main.error .container .wrapper .action a .arrow:after {
              content: "";
              display: block;
              -webkit-mask-image: url("../images/common/more_arrow.svg");
              mask-image: url("../images/common/more_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              width: 17px;
              height: 8px;
              position: absolute;
              top: calc(50% - 4px);
              left: calc(50% - 8.5px);
              transition: all ease .3s;
              opacity: 1;
              background-color: #fff; }
            main.error .container .wrapper .action a .arrow:after {
              transform: translateX(-40px);
              opacity: 0; }
          main.error .container .wrapper .action a:hover .arrow:before {
            transform: translateX(40px);
            opacity: 0; }
          main.error .container .wrapper .action a:hover .arrow:after {
            transform: translateX(0px);
            opacity: 1; }
