@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp");
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/* ---------- ---------- ---------- ---------- ---------- */
/* Layout */
body.gr {
  text-align: center;
  font-size: 90%;
  /*font-family: Meiryo, Helvetica, "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic Pro W3", sans-serif;*/
  line-height: 1.8;
  margin: 0px;
  color: #333;
  background: #ffffff url(/media_library/tkcnf/images/bg_body.gif) 0 0 repeat-x; }
  @media only screen and (max-width: 768px) {
    body.gr {
      font-size: 3.3816425121vw !important; } }
  body.gr * {
    box-sizing: border-box; }

.gr #wrap {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  text-align: left; }

.gr #contents {
  margin: 5px auto 0 auto;
  position: relative;
  padding: 0; }
  @media print, screen and (min-width: 769px) {
    .gr #contents {
      width: 950px; } }

.gr #main {
  background-image: none; }
  @media only screen and (max-width: 768px) {
    .gr #main {
      padding-bottom: 7.2463768116vw; } }

.section {
  margin-bottom: 60px; }
  @media only screen and (max-width: 768px) {
    .section {
      margin-bottom: 12.077294686vw; }
      .section:last-child {
        margin-bottom: 0; } }

.gr #main #pageTitle {
  border: none;
  border-top: 3px solid #005eb8;
  border-bottom: 1px solid #ccc;
  margin: 0 0 30px 0;
  position: relative;
  height: auto !important;
  height: 50px;
  padding: 15px 0px 10px 12px;
  background: none;
  line-height: 1.4;
  width: auto; }

.gr #main #pageTitle h1 {
  font-size: 24px;
  font-weight: normal;
  margin: 6px 0 0 0;
  padding: 0; }

.gr #main #pageTitle p {
  color: #005eb8;
  font-size: 16px;
  margin: 0;
  padding: 0;
  line-height: 1; }

.gr #main #pageTitle p.ttl {
  color: #333;
  font-size: 24px;
  font-weight: normal;
  margin: 6px 0 0 0;
  padding: 0; }

.gr #main h2 {
  margin: 20px 0 20px 0;
  border: 0;
  border-bottom: none;
  padding: 12px 0px 8px 10px;
  color: #333;
  background-color: #F8F8F8;
  font-size: 16px;
  border-left: 8px solid #005eb8;
  font-weight: bold; }

.gr #main .g-heading h2 {
  background: none;
  border: none;
  border-bottom: #e9e9e9 2px solid;
  font-weight: normal;
  font-size: 28px;
  padding: 12px 0px 8px 0;
  line-height: 1.1;
  position: relative;
  margin-bottom: 30px; }
  @media only screen and (max-width: 768px) {
    .gr #main .g-heading h2 {
      font-size: 4.347826087vw;
      padding: 2.8985507246vw 0vw 1.9323671498vw 0vw;
      margin-bottom: 4.8309178744vw; } }
  .gr #main .g-heading h2::after {
    content: '';
    border-bottom: #005eb8 2px solid;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100px;
    height: 2px; }

.gr #main h3 {
  padding: 9px 0px 7px 8px;
  background: none;
  background-color: #f5f5f5;
  clear: both;
  line-height: 1.1;
  margin: 20px 0 15px 0;
  border-left: none;
  border-bottom: 1px solid #e5e5e5; }

.gr #main h4 {
  margin: 25px 0 10px 0;
  padding: 3px 0px 1px 5px;
  background: none;
  clear: both;
  line-height: 1.1;
  border-left: 6px #87C4FF solid; }

.gr #globalHeader {
  width: 100%;
  height: auto; }

@media print, screen and (min-width: 769px) {
  .gr #globalHeader #siteHeader {
    display: flex;
    align-items: center; } }

.gr #globalHeader #siteName {
  position: static;
  font-size: 20px;
  font-weight: bold;
  height: auto; }
  .gr #globalHeader #siteName a {
    text-decoration: none; }
    .gr #globalHeader #siteName a:hover {
      color: #202020; }

.gr #globalNavi {
  position: relative;
  background-color: #005eb8;
  margin: 0 auto;
  min-width: 950px; }

.gr #globalNavi ul {
  margin: 0 auto;
  padding-left: 10px;
  list-style: none;
  width: 940px; }

.gr #globalNavi ul li {
  float: left;
  height: 48px; }

.gr #globalNavi ul li a {
  font-size: 13px;
  display: block;
  height: 48px;
  padding: 0 20px;
  text-align: center;
  color: #F1F1F1;
  line-height: 48px;
  font-weight: 900;
  text-decoration: none;
  overflow: hidden; }

.gr #globalNavi ul li a:hover,
.gr #globalNavi ul li.current a {
  background-color: #006bd2; }

.gr ul#topicPath {
  margin: 0px auto 3px auto;
  padding: 12px 0 10px 0;
  line-height: 1;
  height: auto;
  width: 950px; }

#footer {
  border-top: none; }

.footer {
  margin-top: 0; }

.footer-menu {
  background: #E9E9E9; }
  @media print, screen and (min-width: 769px) {
    .footer-menu__inner {
      width: 950px;
      margin: 0 auto;
      padding: 40px 0; } }
  @media only screen and (max-width: 768px) {
    .footer-menu__inner {
      padding: 7.2463768116vw 3.6231884058vw 7.2463768116vw 3.6231884058vw; } }
  .footer-menu .company-menu {
    margin-bottom: 0; }

/*********************************
widget
**********************************/
.gr #localNavi div.wg-gr-menu,
.gr #localNavi div.wg-gr-menu-category {
  margin-bottom: 20px; }

.gr #localNavi div.wg-gr-menu div.head,
.gr #localNavi div.wg-gr-menu-category div.head {
  background: #005eb8;
  margin-bottom: 0; }

#sp-subnav > .menu_box div.wg-gr-menu div.head, #sp-subnav > .menu_box div.wg-gr-menu-category div.head {
  background: #005eb8 !important; }

.gr #localNavi div.wg-gr-menu div.head a,
.gr #localNavi div.wg-gr-menu-category div.head a {
  padding: 8px 0;
  color: #FFF;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  display: block;
  text-decoration: none; }

.gr #localNavi div.wg-gr-menu ul,
.gr #localNavi div.wg-gr-menu-category ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.3; }

.gr #localNavi div.wg-gr-menu ul li a,
.gr #localNavi div.wg-gr-menu-category ul li a {
  text-decoration: none;
  display: block;
  padding: 10px 0 10px 14px;
  border-bottom: 1px dotted #ccc;
  color: #333; }

.gr #localNavi div.wg-gr-menu .level01, .gr .menu_box div.wg-gr-menu .level01 {
  font-size: 13px;
  font-weight: bold;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='3' viewBox='0 0 10 3'%3E%3Crect  width='10' height='3' fill='%23005eb8'/%3E%3C/svg%3E%0A") no-repeat center left;
  padding-left: 15px;
  margin-top: 15px;
  margin-bottom: 5px; }
  @media only screen and (max-width: 768px) {
    .gr #localNavi div.wg-gr-menu .level01, .gr .menu_box div.wg-gr-menu .level01 {
      background-position: left 10px center;
      padding-left: 25px;
      padding-right: 10px; } }
  .gr #localNavi div.wg-gr-menu .level01--link, .gr .menu_box div.wg-gr-menu .level01--link {
    background: none;
    font-size: 15px;
    padding-left: 0;
    font-weight: bold;
    margin: 15px 0; }
    @media only screen and (max-width: 768px) {
      .gr #localNavi div.wg-gr-menu .level01--link, .gr .menu_box div.wg-gr-menu .level01--link {
        padding-left: 10px;
        padding-right: 10px; } }

.gr #localNavi div.wg-gr-menu ul.level02 li a,
.gr #localNavi div.wg-gr-menu-category ul.level01 li a {
  background: url(/media_library/common/images/icon_arrow02_gr.png) no-repeat left; }

.gr #localNavi div.wg-gr-menu ul.level02 li a:hover,
.gr #localNavi div.wg-gr-menu-category ul.level01 li a:hover {
  color: #ef6316; }

.gr #localNavi div.wg-gr-menu ul.level02 li.current a,
.gr #localNavi div.wg-gr-menu-category ul.level01 li.current a {
  color: #ef6316; }

.gr #localNavi div.wg-gr-menu ul.level02 li ul.level01 li a,
.gr #localNavi div.wg-gr-menu-category ul.level01 li ul.level02 li a {
  background: url(/media_library/common/images/icon_arrow02_gr_s.png) no-repeat 5px center;
  padding: 10px 0 10px 19px; }

.gr #localNavi div.wg-gr-menu ul.level02 li.current ul.level01 li a,
.gr #localNavi div.wg-gr-menu-category ul.level01 li.current ul.level02 li a {
  color: #333; }

.gr #localNavi div.wg-gr-menu ul.level02 li.current ul.level01 li a:hover,
.gr #localNavi div.wg-gr-menu-category ul.level01 li.current ul.level02 li a:hover {
  color: #ef6316; }

.gr #localNavi div.wg-gr-menu ul.level02 li.current ul.level01 li.current a,
.gr #localNavi div.wg-gr-menu-category ul.level01 li.current ul.level02 li.current a {
  color: #ef6316; }

.gr #localNavi div.wg-gr-menu ul.level02 li ul.level03 li a,
.gr #localNavi div.wg-gr-menu-category ul.level01 li ul.level02 li a {
  background: url(/media_library/tkcnf/images/icon_arrow02_gr_s.png) no-repeat 5px center;
  padding: 10px 0 10px 19px; }

.gr #localNavi div.wg-gr-menu ul.level02 li.current ul.level03 li a,
.gr #localNavi div.wg-gr-menu-category ul.level01 li.current ul.level02 li a {
  color: #333; }

.gr #localNavi div.wg-gr-menu ul.level02 li.current ul.level03 li a:hover,
.gr #localNavi div.wg-gr-menu-category ul.level01 li.current ul.level02 li a:hover {
  color: #ef6316; }

.gr #localNavi div.wg-gr-menu ul.level02 li.current ul.level03 li.current a,
.gr #localNavi div.wg-gr-menu-category ul.level01 li.current ul.level02 li.current a {
  color: #ef6316; }

.gr:not(#column2) #main ul.archiveList {
  line-height: 1.5;
  margin: 0 0 40px;
  padding: 0; }
  @media only screen and (max-width: 768px) {
    .gr:not(#column2) #main ul.archiveList {
      margin-bottom: 7.2463768116vw; } }
  .gr:not(#column2) #main ul.archiveList li {
    border-bottom: 1px #E5E5E5 solid;
    padding-bottom: 15px; }
    @media only screen and (max-width: 768px) {
      .gr:not(#column2) #main ul.archiveList li {
        padding-bottom: 3.6231884058vw; } }
    .gr:not(#column2) #main ul.archiveList li:first-child {
      margin-top: 0; }
    .gr:not(#column2) #main ul.archiveList li::after {
      content: ".";
      display: block;
      visibility: hidden;
      height: 0.1px;
      font-size: 0.1em;
      line-height: 0;
      clear: both; }
    .gr:not(#column2) #main ul.archiveList li span.date {
      font-size: 13px;
      font-weight: bold;
      margin-top: 5px;
      color: #808080;
      position: static;
      width: auto;
      margin-right: 15px;
      box-sizing: border-box; }
      @media only screen and (max-width: 768px) {
        .gr:not(#column2) #main ul.archiveList li span.date {
          font-size: 3.1400966184vw; } }
    .gr:not(#column2) #main ul.archiveList li span.category {
      border-left: none;
      float: none;
      display: inline-flex;
      width: 126px;
      border-radius: 3px;
      margin-right: 30px;
      justify-content: center;
      align-content: center;
      position: static;
      box-sizing: border-box; }
      @media only screen and (max-width: 768px) {
        .gr:not(#column2) #main ul.archiveList li span.category {
          width: 30.4347826087vw; } }
      .gr:not(#column2) #main ul.archiveList li span.category a {
        font-size: 12px;
        width: 100%;
        padding: 2px 5px;
        height: 100%;
        color: #737373;
        text-align: center;
        box-sizing: border-box; }
        @media only screen and (max-width: 768px) {
          .gr:not(#column2) #main ul.archiveList li span.category a {
            font-size: 2.8985507246vw; } }
    .gr:not(#column2) #main ul.archiveList li span.txtLink {
      font-size: 15px;
      display: inline-block;
      background: none;
      padding-left: 0;
      box-sizing: border-box; }
      @media print, screen and (min-width: 769px) {
        .gr:not(#column2) #main ul.archiveList li span.txtLink {
          width: 680px !important; } }
      @media only screen and (max-width: 768px) {
        .gr:not(#column2) #main ul.archiveList li span.txtLink {
          font-size: 3.3816425121vw; } }
      .gr:not(#column2) #main ul.archiveList li span.txtLink a {
        padding-left: 0;
        background: none;
        text-decoration: none; }
  @media print, screen and (min-width: 769px) {
    .gr:not(#column2) #main ul.archiveList.col2 span.txtLink {
      width: 350px !important; } }
  .gr:not(#column2) #main ul.archiveList.noCategory li span.category {
    display: none; }
  .gr:not(#column2) #main ul.archiveList.noCategory li span.txtLink {
    left: 0 !important; }

.gr #main .pagenate li a {
  border: 1px solid #005eb8; }
.gr #main .pagenate li span {
  background: #005eb8;
  border: 1px solid #005eb8; }

/*********************************
common
**********************************/
#main .company-table, #main .about-table, #main .location-table {
  border-collapse: collapse;
  font-size: inherit; }
  #main .company-table th, #main .about-table th, #main .location-table th, #main .company-table td, #main .about-table td, #main .location-table td {
    border: 1px solid #DFE7EE;
    padding: 20px; }
    @media only screen and (max-width: 768px) {
      #main .company-table th, #main .about-table th, #main .location-table th, #main .company-table td, #main .about-table td, #main .location-table td {
        padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw; } }
  #main .company-table th, #main .about-table th, #main .location-table th {
    background: #F5F6F8; }

.js-scroll-fix {
  transition: top .4s; }
  .js-scroll-fix.active {
    position: fixed;
    top: 0;
    width: 100%; }

/*********************************
共通パーツ
**********************************/
.company-menu {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 40px;
  text-align: left; }
  @media only screen and (max-width: 768px) {
    .company-menu {
      flex-direction: column;
      margin-bottom: 7.2463768116vw; } }
  .company-menu__def {
    border: 1px solid #E3E3E3; }
    @media print, screen and (min-width: 769px) {
      .company-menu__def {
        width: calc((100% - 34px)/3); } }
    @media only screen and (max-width: 768px) {
      .company-menu__def {
        width: calc(100% - 7.2463768116vw);
        margin: 0vw auto 4vw auto; }
        .company-menu__def:last-child {
          margin-bottom: 0; } }
  .company-menu__tit {
    width: 100%;
    height: 190px;
    overflow: hidden;
    background: no-repeat top center/cover;
    /* 個別指定 */
    /* IR用個別指定 */ }
    @media only screen and (max-width: 768px) {
      .company-menu__tit {
        height: 28.9855072464vw;
        margin: 0 auto; } }
    .company-menu__tit--ir {
      height: 140px; }
      @media only screen and (max-width: 768px) {
        .company-menu__tit--ir {
          height: 33.8164251208vw; } }
    .company .company-menu__tit {
      background: url("/media_library/images/menu_company.png") center/cover no-repeat; }
      @media only screen and (max-width: 768px) {
        .company .company-menu__tit {
          background-position: bottom center;
          position: relative; }
          .company .company-menu__tit::before {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            mix-blend-mode: multiply;
            background: linear-gradient(#1B5D9C 0%, transparent 100%); } }
    .ir .company-menu__tit {
      background: url("/media_library/images/menu_ir.png") center/cover no-repeat; }
    .sustainability .company-menu__tit {
      background: url("/media_library/images/menu_sustainability.png") center/cover no-repeat; }
    .ir-business .company-menu__tit {
      background-image: url("/media_library/images/ir_menu01.png?202302"); }
    .ir-library .company-menu__tit {
      background-image: url("/media_library/images/ir_menu02.png"); }
    .ir-other .company-menu__tit {
      background-image: url("/media_library/images/ir_menu03.png"); }
    .company-menu__tit-link {
      display: block;
      width: 100%;
      height: 100%;
      padding: 15px 12px;
      text-decoration: none;
      position: relative; }
      @media only screen and (max-width: 768px) {
        .company-menu__tit-link {
          padding: 3.6231884058vw 2.8985507246vw 3.6231884058vw 2.8985507246vw; } }
      .company-menu__tit-link:hover {
        transition: opacity .4s;
        opacity: .7; }
      .company-menu__tit-link .item {
        background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='linkarrow' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='24px' height='24px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath fill='%23fff' d='M12,2C6.477,2,2,6.477,2,12s4.477,10,10,10s10-4.477,10-10S17.523,2,12,2z M10,18l-1.41-1.41L13.17,12 L8.59,7.41L10,6l6,6L10,18z'/%3E%3C/svg%3E") no-repeat left center;
        padding-left: 26px;
        line-height: 24px;
        font-size: 18px;
        color: #fff;
        font-weight: bold; }
        @media only screen and (max-width: 768px) {
          .company-menu__tit-link .item {
            position: relative;
            z-index: 1;
            font-size: 3.8647342995vw;
            padding-left: 6.2801932367vw;
            background-size: 4.8309178744vw 4.8309178744vw; } }
  .company-menu__data {
    padding: 15px 15px 10px 18px;
    background: #fff; }
    @media only screen and (max-width: 768px) {
      .company-menu__data {
        display: none; } }
    @media only screen and (max-width: 768px) {
      .footer-menu .company-menu__data, .ir-menu .company-menu__data {
        display: block; } }
  .company-menu__name {
    font-size: 18px;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .company-menu__name {
        font-size: 3.8647342995vw;
        margin-bottom: 2.4154589372vw; } }
  .company-menu__list, #main .company-menu__list {
    list-style: none;
    padding-left: 0;
    margin: 0; }
    .company-menu__list-link, #main .company-menu__list-link {
      display: block;
      padding: 0 0 0 10px;
      background: url(/media_library/common/images/icon_arrow_blue.png) no-repeat left 7px; }
  .company-menu__more {
    text-align: right; }
    .company-menu__more-link {
      font-weight: bold;
      font-size: 13px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.41' height='12' viewBox='0 0 7.41 12'%3E%3Cpath d='M10,6,8.59,7.41,13.17,12,8.59,16.59,10,18l6-6Z' transform='translate(-8.59 -6)' fill='%23005eb8'/%3E%3C/svg%3E%0A") right center no-repeat;
      padding-right: 18px;
      text-decoration: none; }
      @media only screen and (max-width: 768px) {
        .company-menu__more-link {
          font-size: 3.1400966184vw;
          padding-left: 4.347826087vw; } }

#main .company-banner__list, .company-banner__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
    #main .company-banner__list, .company-banner__list {
      width: calc(100% - 8vw);
      margin-left: auto;
      margin-right: auto; } }
  @media print, screen and (min-width: 769px) {
    #main .company-banner__list-item:not(:nth-child(2n)), .company-banner__list-item:not(:nth-child(2n)) {
      margin-right: 20px; }
    #main .company-banner__list-item:not(:nth-last-child(-n+2)), .company-banner__list-item:not(:nth-last-child(-n+2)) {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 768px) {
    #main .company-banner__list-item, .company-banner__list-item {
      margin: 0vw auto 0vw auto; }
      #main .company-banner__list-item:not(:last-child), .company-banner__list-item:not(:last-child) {
        margin-bottom: 3.6231884058vw; } }
.ft-wrap .company-banner__list {
  margin-top: 20px; }
  @media only screen and (max-width: 768px) {
    .ft-wrap .company-banner__list {
      margin-top: 3.6231884058vw; } }
.company-banner__link:hover:hover {
  opacity: 0.7;
  transition: opacity .4s; }

/*********************************
公式アカウント
**********************************/
.sns-banner {
  display: flex; }
  @media only screen and (max-width: 768px) {
    .sns-banner {
      flex-direction: column; } }
  .sns-banner__item {
    border: 1px solid #E3E3E3; }
    @media print, screen and (min-width: 769px) {
      .sns-banner__item {
        width: calc((100% - 60px)/4);
        margin-right: 20px; }
        .sns-banner__item:last-child {
          margin-right: 0; } }
    @media only screen and (max-width: 768px) {
      .sns-banner__item {
        width: 90% !important;
        border-radius: 5px;
        text-align: center;
        margin: 0vw auto 2.4154589372vw auto; } }
  .sns-banner__link:hover:hover {
    opacity: 0.7;
    transition: opacity .4s; }

/*********************************
株式会社TKCのご紹介 TOP
**********************************/
.company__mv {
  background: url("/media_library/images/company_mv.webp") center/cover no-repeat;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media print, screen and (min-width: 769px) {
    .company__mv {
      height: 50vh; } }
  @media only screen and (max-width: 768px) {
    .company__mv {
      height: 60vh;
      background-image: url("/media_library/images/company_mv_sp.webp"); } }
  .company__mv h1 {
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    color: #fff;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    letter-spacing: .1em; }
    @media only screen and (max-width: 768px) {
      .company__mv h1 {
        font-size: 5.7971014493vw; } }
.company__message {
  text-align: center;
  font-size: 17px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 600;
  line-height: 2;
  margin: 50px 0; }
  @media only screen and (max-width: 768px) {
    .company__message {
      padding: 0vw 1.2077294686vw 0vw 1.2077294686vw;
      font-size: 3.3816425121vw;
      margin: 9.6618357488vw 0vw 9.6618357488vw 0vw; } }
  #main .company__message p:not(:last-child) {
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px) {
      #main .company__message p:not(:last-child) {
        margin-bottom: 4.8309178744vw; } }

.company-saiyo {
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .company-saiyo {
      margin-bottom: 7.2463768116vw; } }
  #main .company-saiyo__list {
    list-style: none;
    padding-left: 0;
    margin: 0; }
    #main .company-saiyo__list::after {
      content: "";
      display: block;
      clear: both; }
    #main .company-saiyo__list li {
      float: left;
      margin-right: 2em; }

#main .company-news__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 0 30px; }
  @media only screen and (max-width: 768px) {
    #main .company-news__list {
      margin-bottom: 7.2463768116vw; } }
  @media print, screen and (min-width: 769px) {
    #main .company-news__list-item {
      width: 49%;
      margin-bottom: 30px; } }
  @media only screen and (max-width: 768px) {
    #main .company-news__list-item {
      margin-bottom: 3.6231884058vw; } }
.company-news__link {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  text-decoration: none; }
  .company-news__link img:hover {
    opacity: 0.7;
    transition: opacity .4s; }
.company-news__thumb {
  border: 1px solid #E3E3E3;
  line-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; }
  @media print, screen and (min-width: 769px) {
    .company-news__thumb {
      width: 170px;
      height: 90px; } }
  @media only screen and (max-width: 768px) {
    .company-news__thumb {
      width: 24.154589372vw;
      height: 12.9297101449vw; } }
  .company-news__thumb img {
    max-height: 100% !important; }
@media print, screen and (min-width: 769px) {
  .company-news__text {
    width: calc(100% - 180px); } }
@media only screen and (max-width: 768px) {
  .company-news__text {
    width: calc(100% - 26.5700483092vw); } }
.company-news__date {
  font-weight: bold;
  color: #9F9F9F; }
  @media print, screen and (min-width: 769px) {
    .company-news__date {
      margin-bottom: 5px; } }
.company-news__name {
  line-height: 1.4;
  width: 100%;
  position: relative;
  text-align: justify; }
  @media only screen and (max-width: 768px) {
    .company-news__name {
      height: 2.8em;
      overflow: hidden; } }
  .company-news__name .more {
    display: none; }
    .company-news__name .more::after {
      content: "...";
      bottom: 0;
      right: 3px;
      padding: 0 1px;
      background: #fff;
      display: inline-block; }
      @media only screen and (max-width: 768px) {
        .company-news__name .more::after {
          right: 0.7246376812vw; } }

.company-notice__inner {
  align-items: stretch; }
@media print, screen and (min-width: 769px) {
  .company-notice__item {
    width: 47.5%;
    display: flex;
    flex-direction: column; } }
@media only screen and (max-width: 768px) {
  .company-notice__item:first-child {
    margin-bottom: 12.077294686vw; } }
.company-notice__item .g-link__btn {
  margin-top: auto; }

#main .archive__list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  height: 100%; }
  @media only screen and (max-width: 768px) {
    #main .archive__list {
      margin-bottom: 7.2463768116vw; } }
  #main .archive__list-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px; }
    @media only screen and (max-width: 768px) {
      #main .archive__list-item {
        margin-bottom: 4.8309178744vw; } }
.archive__date {
  width: 7em;
  color: #9F9F9F;
  font-weight: bold; }
.archive__text {
  width: calc(100% - 7.5em);
  display: inline-block;
  background: url(/media_library/common/images/icon_arrow_blue.png) no-repeat left 7px;
  padding-left: 10px;
  line-height: 1.4; }

/*********************************
各TOPタイトル
**********************************/
.top-title {
  width: 100%;
  height: 160px;
  display: flex;
  align-items: center;
  padding-left: 40px;
  color: #fff;
  margin-bottom: 40px;
  background: no-repeat center; }
  @media print, screen and (min-width: 769px) {
    .top-title {
      margin-top: 20px; } }
  @media only screen and (max-width: 768px) {
    .top-title {
      padding: 3.6231884058vw 3.6231884058vw 3.6231884058vw 3.6231884058vw;
      height: 28.9855072464vw;
      margin-bottom: 7.2463768116vw;
      background-position: left bottom;
      background-size: cover; } }
  .top-title.company {
    background-image: url("/media_library/images/top-title_company.png"); }
  .top-title.ir {
    background-image: url("/media_library/images/top-title_ir.png"); }
  .top-title.sustainability {
    background-image: url("/media_library/images/top-title_sustainability.png"); }
  #main .top-title h1 {
    font-weight: bold;
    font-size: 30px;
    letter-spacing: .2em;
    background: none;
    padding: 0;
    margin: 0; }
    @media only screen and (max-width: 768px) {
      #main .top-title h1 {
        font-size: 5.7971014493vw; } }

/*********************************
会社案内
**********************************/
#main .ctop-menu__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin: 0 0 30px; }
  @media only screen and (max-width: 768px) {
    #main .ctop-menu__list {
      margin-bottom: 4.8309178744vw; } }
  @media print, screen and (min-width: 769px) {
    #main .ctop-menu__list-item {
      width: calc((100% - 40px)/3);
      height: 91px; }
      #main .ctop-menu__list-item:nth-child(-n+3) {
        margin-bottom: 20px; } }
  @media only screen and (max-width: 768px) {
    #main .ctop-menu__list-item {
      width: 48.5%;
      height: 14.4927536232vw;
      margin-bottom: 2.4154589372vw; }
      #main .ctop-menu__list-item:last-child {
        margin-bottom: 0; } }
.ctop-menu__link {
  display: flex;
  width: 100%;
  height: 100%;
  background: right center/contain no-repeat;
  align-items: center;
  padding: 15px;
  border: 1px solid #E3E3E3;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.4;
  /* 個別指定 */ }
  @media only screen and (max-width: 768px) {
    .ctop-menu__link {
      background-size: auto 10.6280193237vw;
      background-position: center right 1.4492753623vw;
      font-size: 3.3816425121vw;
      padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw;
      padding-right: 14.4927536232vw; } }
  .ctop-menu__link:hover {
    color: #202020; }
    .ctop-menu__link:hover:hover {
      opacity: 0.7;
      transition: opacity .4s; }
  .ctop-menu__link::before {
    content: "";
    background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='linkarrow' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='24px' height='24px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath fill='%23005eb8' d='M12,2C6.477,2,2,6.477,2,12s4.477,10,10,10s10-4.477,10-10S17.523,2,12,2z M10,18l-1.41-1.41L13.17,12 L8.59,7.41L10,6l6,6L10,18z'/%3E%3C/svg%3E") no-repeat left center;
    background-size: contain;
    width: 15px;
    height: 15px;
    display: inline-block;
    margin-right: .5em;
    flex-shrink: 0; }
  .about .ctop-menu__link {
    background-image: url("/media_library/images/company_icon_about.png"); }
  .concept .ctop-menu__link {
    background-image: url("/media_library/images/company_icon_concept.png"); }
  .location .ctop-menu__link {
    background-image: url("/media_library/images/company_icon_location.png"); }
  .founder .ctop-menu__link {
    background-image: url("/media_library/images/company_icon_founder.png"); }
  .history .ctop-menu__link {
    background-image: url("/media_library/images/company_icon_history.png"); }
  .news .ctop-menu__link {
    background-image: url("/media_library/images/company_icon_news.png"); }
  .subsidiary .ctop-menu__link {
    background-image: url("/media_library/images/company_icon_subsidiary.png"); }
#main .ctop-btmmenu__list {
  background: #F5F6F8;
  list-style: none;
  margin: 0; }
  @media print, screen and (min-width: 769px) {
    #main .ctop-btmmenu__list {
      display: flex;
      flex-wrap: wrap;
      padding: 15px; } }
  @media only screen and (max-width: 768px) {
    #main .ctop-btmmenu__list {
      padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw;
      column-count: 2; } }
  @media print, screen and (min-width: 769px) {
    #main .ctop-btmmenu__list-item {
      margin-right: 1.5em; } }

.numbers {
  display: grid;
  grid-template-rows: 210px 210px 210px 210px;
  grid-template-columns: 79px 1fr 1fr 1fr 79px 1fr 1fr 1fr 79px 1fr 1fr 1fr;
  grid-gap: 20px;
  /*--------------------------------------------
   各数字の個別調整
  --------------------------------------------*/ }
  @media only screen and (max-width: 768px) {
    .numbers {
      display: flex;
      flex-direction: column; } }
  @media only screen and (max-width: 768px) {
    .numbers__item {
      width: 85%;
      margin: 0 auto; } }
  .numbers__link {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: stretch;
    background: #fff;
    border-top: #005eb8 4px solid;
    box-shadow: 0 3px 10px rgba(0, 94, 184, 0.3);
    width: 100%;
    height: 100%;
    padding: 20px 0 10px;
    text-decoration: none;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .numbers__link {
        padding: 4.8309178744vw 0vw 2.4154589372vw 0vw; } }
    .numbers__link::before {
      content: "";
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: transparent;
      transition: background .4s; }
    .numbers__link:not(.disable)::after {
      content: attr(data-text) " →";
      display: inline-block;
      text-align: center;
      background: #3AB8EF;
      color: #fff;
      font-size: 15px;
      line-height: 1.2;
      border-radius: 35px;
      padding: 5px 15px;
      transition: transform .4s;
      box-shadow: 0 3px 6px rgba(87, 141, 193, 0.6); }
      @media print, screen and (min-width: 769px) {
        .numbers__link:not(.disable)::after {
          min-width: 150px;
          position: absolute;
          bottom: 20px;
          transform: translateY(calc(100% + 35px)); } }
      @media only screen and (max-width: 768px) {
        .numbers__link:not(.disable)::after {
          font-size: 3.6231884058vw;
          padding: 2.4154589372vw 3.6231884058vw 2.4154589372vw 3.6231884058vw;
          margin: 3.6231884058vw 0vw 3.6231884058vw 0vw;
          min-width: 48.309178744vw;
          background: #005eb8;
          max-width: 80%; } }
    .numbers__link.disable {
      pointer-events: none; }
    .numbers__link:hover {
      color: #202020; }
      .numbers__link:hover::before {
        background: rgba(158, 171, 183, 0.2);
        mix-blend-mode: multiply; }
      .numbers__link:hover::after {
        color: #fff;
        transform: translateY(0); }
  .numbers__inner {
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    padding: 0 15px; }
    @media only screen and (max-width: 768px) {
      .numbers__inner {
        flex-direction: column;
        padding: 0vw 2.4154589372vw 0vw 2.4154589372vw; } }
    .numbers__inner-item {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      height: 100%;
      text-align: center; }
      @media only screen and (max-width: 768px) {
        .numbers__inner-item {
          margin-bottom: 3.6231884058vw; }
          .numbers__inner-item:last-child {
            margin-bottom: 0; } }
  .numbers__name {
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 15px;
    line-height: 1.2;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .numbers__name {
        font-size: 4.347826087vw; } }
  .numbers__num {
    color: #005eb8;
    line-height: 1.4; }
    @media only screen and (max-width: 768px) {
      .numbers__num {
        margin-bottom: 2.4154589372vw;
        text-align: center;
        width: 100%;
        padding: 0vw 2.4154589372vw 0vw 2.4154589372vw; } }
    .numbers__num-title {
      background: #3AB8EF;
      color: #fff;
      padding: 3px;
      text-align: center;
      border-radius: 5px;
      opacity: 0;
      transition: opacity .4s;
      margin-bottom: 15px;
      font-size: 14px; }
      @media only screen and (max-width: 768px) {
        .numbers__num-title {
          margin-bottom: 2.4154589372vw; } }
    .numbers__num-before {
      font-size: 48px;
      font-family: senobi-gothic,sans-serif;
      font-style: normal;
      font-weight: 500;
      opacity: 0; }
      @media only screen and (max-width: 768px) {
        .numbers__num-before {
          font-size: 9.6618357488vw; } }
    .numbers__num-value {
      font-family: senobi-gothic,sans-serif;
      font-style: normal;
      font-weight: 700;
      font-size: 100px;
      letter-spacing: -.12em;
      line-height: 1;
      display: inline-block; }
      @media only screen and (max-width: 768px) {
        .numbers__num-value {
          font-size: 19.3236714976vw;
          display: inline-block;
          height: 1.1em; } }
      .medium .numbers__num-value {
        font-size: 80px;
        line-height: 1; }
        @media only screen and (max-width: 768px) {
          .medium .numbers__num-value {
            font-size: 16.9082125604vw; } }
      .small .numbers__num-value {
        font-size: 72px;
        line-height: 1; }
        @media only screen and (max-width: 768px) {
          .small .numbers__num-value {
            font-size: 16.9082125604vw; } }
      .smallest .numbers__num-value {
        font-size: 60px;
        line-height: 1; }
        @media only screen and (max-width: 768px) {
          .smallest .numbers__num-value {
            font-size: 16.9082125604vw; } }
    .numbers__num-unit {
      font-family: senobi-gothic,sans-serif;
      font-style: normal;
      font-weight: 700;
      opacity: 0;
      transition: opacity .4s;
      font-size: 48px;
      letter-spacing: -.12em;
      line-height: 1;
      display: inline-block; }
      @media only screen and (max-width: 768px) {
        .numbers__num-unit {
          font-size: 9.6618357488vw; } }
      .medium .numbers__num-unit {
        font-size: 28px; }
        @media only screen and (max-width: 768px) {
          .medium .numbers__num-unit {
            font-size: 9.6618357488vw; } }
      .small .numbers__num-unit {
        font-size: 24px; }
        @media only screen and (max-width: 768px) {
          .small .numbers__num-unit {
            font-size: 9.6618357488vw; } }
      .smallest .numbers__num-unit {
        font-size: 24px; }
        @media only screen and (max-width: 768px) {
          .smallest .numbers__num-unit {
            font-size: 9.6618357488vw; } }
    .numbers__num-text {
      opacity: 0;
      transition: opacity .4s;
      font-size: 18px;
      font-weight: normal;
      color: #202020; }
      @media only screen and (max-width: 768px) {
        .numbers__num-text {
          font-size: 4.347826087vw; } }
  .numbers__point {
    color: #005eb8;
    margin-top: auto;
    opacity: 0;
    transition: opacity .4s; }
  .numbers__compare {
    margin-top: auto;
    font-family: senobi-gothic,sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 19px;
    color: #005eb8;
    display: inline-flex;
    align-items: center; }
    @media only screen and (max-width: 768px) {
      .numbers__compare {
        font-size: 4.1062801932vw; } }
    .numbers__compare::after {
      font-family: 'Material Icons Round';
      font-weight: normal;
      font-size: 20px; }
      @media only screen and (max-width: 768px) {
        .numbers__compare::after {
          font-size: 4.1062801932vw; } }
    .numbers__compare.up::after {
      content: "\e5d8";
      color: #3AB8EF; }
    .numbers__compare.down::after {
      content: "\e5db";
      color: #FB9F00; }
    .numbers__compare sup {
      font-size: 0.7em; }
  @media print, screen and (min-width: 769px) {
    .numbers .history {
      grid-column: 1/5;
      grid-row: 1/2; } }
  .numbers .history .numbers__link {
    background: url("/media_library/images/number_bg_history.png") no-repeat center bottom 50px; }
    @media only screen and (max-width: 768px) {
      .numbers .history .numbers__link {
        background-size: 63.0434782609vw 17.3913043478vw; } }
  @media print, screen and (min-width: 769px) {
    .numbers .employee {
      grid-column: 5/9;
      grid-row: 1/2; } }
  @media print, screen and (min-width: 769px) {
    .numbers .sales {
      grid-column: 9/13;
      grid-row: 1/2; } }
  .numbers .sales .numbers__link {
    background: url("/media_library/images/number_bg_sales.png") no-repeat top 15px right 15px; }
    @media only screen and (max-width: 768px) {
      .numbers .sales .numbers__link {
        background-size: 17.8743961353vw 17.6328502415vw; } }
  @media print, screen and (min-width: 769px) {
    .numbers .zenkokukai {
      text-align: left;
      grid-column: 1/7;
      grid-row: 2/3; } }
  .numbers .zenkokukai__inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column; }
    @media print, screen and (min-width: 769px) {
      .numbers .zenkokukai__inner {
        padding-left: 20px; } }
    @media only screen and (max-width: 768px) {
      .numbers .zenkokukai__inner {
        align-items: center; } }
  .numbers .zenkokukai .numbers__name {
    text-align: left; }
  .numbers .zenkokukai .numbers__link {
    background: url("/media_library/images/number_bg_member.png") no-repeat right 20px top 20px; }
    @media only screen and (max-width: 768px) {
      .numbers .zenkokukai .numbers__link {
        background-size: 32.1256038647vw 34.7826086957vw; } }
  @media print, screen and (min-width: 769px) {
    .numbers .zenkokukai .numbers__num-value {
      font-size: 120px; } }
  @media print, screen and (min-width: 769px) {
    .numbers .zenkokukai .numbers__num-unit {
      font-size: 60px; } }
  @media print, screen and (min-width: 769px) {
    .numbers .user {
      grid-column: 7/10;
      grid-row: 2/3; } }
  @media print, screen and (min-width: 769px) {
    .numbers .jikeika {
      grid-column: 7/13;
      grid-row: 2/3; } }
  .numbers .jikeika .numbers__link {
    background: url("/media_library/images/number_bg_cc.png") no-repeat center bottom 35%/80% auto; }
    @media only screen and (max-width: 768px) {
      .numbers .jikeika .numbers__link {
        background-size: 44.2028985507vw 15.2173913043vw; } }
  @media print, screen and (min-width: 769px) {
    .numbers .renketsu {
      grid-column: 1/4;
      grid-row: 3/4; } }
  @media print, screen and (min-width: 769px) {
    .numbers .taskcloud {
      grid-column: 4/13;
      grid-row: 3/4; } }
  @media print, screen and (min-width: 769px) {
    .numbers .taskcloud .numbers__inner-item {
      width: calc(100%/3  - 10px); } }
  @media print, screen and (min-width: 769px) {
    .numbers .lg-user__num {
      margin-top: 25px; } }
  @media only screen and (max-width: 768px) {
    .numbers .lg-koukaikei {
      background-size: 37.922705314vw 22.4637681159vw; } }
  @media print, screen and (min-width: 769px) {
    .numbers .lg-koukaikei__num {
      margin-top: 25px; } }
  .numbers .lg-conveni__num {
    display: inline-block;
    text-align: left; }
  .numbers .lg-conveni__title {
    display: block;
    font-size: 18px; }
    @media only screen and (max-width: 768px) {
      .numbers .lg-conveni__title {
        font-size: 4.347826087vw; } }
  @media print, screen and (min-width: 769px) {
    .numbers .mis {
      grid-column: 1/7;
      grid-row: 4/5; } }
  @media only screen and (max-width: 768px) {
    .numbers .mis .numbers__link::after {
      content: "TKCモニタリング情報サービス\A製品ページへ →";
      white-space: pre; } }
  @media print, screen and (min-width: 769px) {
    .numbers .mis .numbers__inner-item {
      width: calc(100%/2 - 10px); } }
  @media print, screen and (min-width: 769px) {
    .numbers .law {
      grid-column: 7/13;
      grid-row: 4/5; } }
  @media print, screen and (min-width: 769px) {
    .numbers .law .numbers__inner-item {
      width: calc(100%/2  - 10px); } }
  .numbers .law-lawdb {
    background: url("/media_library/images/number_bg_lawdb.png") no-repeat top 40px right 10px; }
    @media only screen and (max-width: 768px) {
      .numbers .law-lawdb {
        background-size: 20.0483091787vw 16.1835748792vw; } }
  .numbers .law-library {
    background: url("/media_library/images/number_bg_library.png") no-repeat center bottom 15px; }
    @media only screen and (max-width: 768px) {
      .numbers .law-library {
        background-size: 22.9468599034vw 20.0483091787vw; } }

/* アンカー */
#about .g-heading, #purpose .g-heading, #business .g-heading {
  padding-top: 60px;
  margin-top: -60px; }

.about-menu {
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .about-menu {
      flex-direction: column;
      margin-bottom: 2.4154589372vw; } }
  .about-menu .fixed {
    background: #F5F6F8;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.2); }
    @media print, screen and (min-width: 769px) {
      .about-menu .fixed {
        padding: 10px 0; } }
    @media print, screen and (min-width: 769px) {
      .about-menu .fixed .about-menu__inner {
        margin: 0 auto;
        padding: 0 10px; } }
    @media only screen and (max-width: 768px) {
      .about-menu .fixed .about-menu__inner {
        padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw; } }
    .about-menu .fixed .about-menu__btn-item {
      font-size: 14px;
      padding: 5px; }
      @media only screen and (max-width: 768px) {
        .about-menu .fixed .about-menu__btn-item {
          font-size: 3.3816425121vw; } }
  .about-menu__inner {
    display: flex;
    justify-content: space-between;
    column-gap: 15px; }
    @media only screen and (max-width: 768px) {
      .about-menu__inner {
        padding: 2.4154589372vw 0vw 2.4154589372vw 0vw; } }
  @media print, screen and (min-width: 769px) {
    .about-menu__btn {
      flex: 1;
      font-size: 18px; } }
  @media only screen and (max-width: 768px) {
    .about-menu__btn {
      width: calc((100% - 14px)/3);
      font-size: 3.6231884058vw; } }
  .about-menu__btn-item {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10.679' height='6.107' viewBox='0 0 10.679 6.107'%3E%3Cg id='b' transform='translate(10.682 0.001) rotate(90)'%3E%3Cg id='c' transform='translate(-0.001 0.002)'%3E%3Cpath d='M4.263,5.336.207,1.289A.766.766,0,0,1,1.289.207L5.882,4.8A.753.753,0,0,1,5.9,5.854L1.3,10.474A.766.766,0,0,1,.216,9.392Z' transform='translate(0.001 -0.002)' fill='%23005eb8'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
    width: 100%; }
    @media only screen and (max-width: 768px) {
      .about-menu__btn-item {
        padding: 1.2077294686vw 3.6231884058vw 1.2077294686vw 2.4154589372vw;
        background-size: 1.9323671498vw 1.9323671498vw; } }

#main .about-table {
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    #main .about-table {
      margin-bottom: 7.2463768116vw; } }
  #main .about-table table {
    font-size: 16px; }
    @media only screen and (max-width: 768px) {
      #main .about-table table {
        font-size: 3.6231884058vw; } }
  @media only screen and (max-width: 768px) {
    #main .about-table {
      font-size: 3.6231884058vw; } }
  #main .about-table th {
    font-weight: bold;
    text-align: left; }
  @media only screen and (max-width: 768px) {
    #main .about-table .mt-image-right {
      float: none !important;
      clear: both;
      display: block;
      margin: 0 auto 10px !important; } }

.purpose {
  display: flex;
  justify-content: center; }
  .purpose__list {
    text-align: left;
    font-size: 18px; }
    @media only screen and (max-width: 768px) {
      .purpose__list {
        font-size: 3.6231884058vw; } }
    @media only screen and (max-width: 768px) {
      .purpose__list li {
        margin-bottom: 2.4154589372vw; } }

.business__detail {
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .business__detail {
      margin-bottom: 9.6618357488vw; } }
  #main .business__detail h3 {
    font-size: 18px;
    margin-bottom: 30px; }
    @media only screen and (max-width: 768px) {
      #main .business__detail h3 {
        font-size: 3.8647342995vw; } }
  #main .business__detail p {
    margin-bottom: 20px; }
    @media only screen and (max-width: 768px) {
      #main .business__detail p {
        margin-bottom: 4.8309178744vw; } }
.business__img {
  margin: 0 0 20px 30px; }
  @media print, screen and (min-width: 769px) {
    .business__img {
      float: right; } }
  @media only screen and (max-width: 768px) {
    .business__img {
      text-align: center;
      margin: 0vw 0vw 4.8309178744vw 0vw; } }

@media only screen and (max-width: 768px) {
  .catch__img {
    margin: 0vw auto 4.8309178744vw auto;
    text-align: center;
    width: 70%; } }
.catch__img img {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2); }
.catch__detail {
  flex-grow: 1;
  background: radial-gradient(#005EB8, #2375C5);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center; }
  @media print, screen and (min-width: 769px) {
    .catch__detail {
      margin-left: 30px; } }
  @media only screen and (max-width: 768px) {
    .catch__detail {
      padding: 3.6231884058vw 3.6231884058vw 3.6231884058vw 3.6231884058vw; } }
.catch__title {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 32px;
  line-height: 1.4;
  font-weight: bold; }
  @media only screen and (max-width: 768px) {
    .catch__title {
      font-size: 5.7971014493vw; } }
  .catch__title small {
    font-size: 22px; }
    @media only screen and (max-width: 768px) {
      .catch__title small {
        font-size: 3.8647342995vw; } }
.catch__text {
  font-size: 16px; }
  @media only screen and (max-width: 768px) {
    .catch__text {
      font-size: 3.3816425121vw; } }

.concept-box {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px; }
  @media print, screen and (min-width: 769px) {
    .concept-box {
      width: 760px; } }
  @media only screen and (max-width: 768px) {
    .concept-box {
      font-size: 3.8647342995vw;
      padding: 7.2463768116vw 4.8309178744vw 7.2463768116vw 4.8309178744vw; } }
  .concept-box__title {
    font-size: 32px;
    text-align: center;
    margin-bottom: 15px;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .concept-box__title {
        font-size: 5.7971014493vw;
        margin-bottom: 3.6231884058vw; } }
  .concept-box__text:not(:last-child) {
    margin-bottom: 15px !important; }
  #main .concept-box .listNumBlue li {
    text-indent: -2.5em;
    padding-left: 2.5em; }
  #main .concept-box .listNumBlue li::before {
    width: 2em; }

/* アンカー */
@media print, screen and (min-width: 769px) {
  #location .g-heading {
    padding-top: 75px;
    margin-top: -75px; } }

#main .location-menu__list {
  list-style: none;
  padding: 20px;
  margin: 0 0 40px;
  font-size: 18px; }
  @media print, screen and (min-width: 769px) {
    #main .location-menu__list {
      column-count: 2; } }
  @media only screen and (max-width: 768px) {
    #main .location-menu__list {
      padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw;
      font-size: 3.3816425121vw; } }
  #main .location-menu__list.fixed {
    padding: 15px 10px 6px;
    font-size: 14px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
    column-count: auto;
    display: flex;
    flex-wrap: wrap;
    line-height: 1.5; }
    @media only screen and (max-width: 768px) {
      #main .location-menu__list.fixed {
        padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw;
        font-size: 3.3816425121vw; } }
    #main .location-menu__list.fixed .location-menu__list-item {
      margin-right: 0.6em; }

.aed {
  margin-top: 30px;
  overflow: auto;
  border: #ff7d7d 1px solid;
  padding: 10px; }

#main .location-table table {
  font-size: 16px; }
#main .location-table th, #main .location-table td {
  padding: 10px 20px; }
#main .location-table__btn {
  text-align: center;
  display: inline-block;
  border: 1px solid #005eb8;
  padding: 5px 20px 5px 30px;
  border-radius: 5px;
  color: #005eb8;
  font-size: 14px;
  text-decoration: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4.43' height='7.74' viewBox='0 0 6.489 11.348'%3E%3Cpath d='M4.53,5.67.22,1.37A.814.814,0,0,1,1.37.22L6.25,5.1a.8.8,0,0,1,.02,1.12L1.38,11.13A.814.814,0,0,1,.23,9.98Z' transform='translate(0.001 -0.002)' fill='%23005eb8'/%3E%3C/svg%3E%0A") no-repeat left 9px center;
  white-space: nowrap; }
  #main .location-table__btn:hover {
    background-color: #F3F8FC;
    transition: background-color .4s; }
#main .location-table .tell {
  white-space: nowrap; }
#main .location-table__top-link {
  text-align: right; }
  #main .location-table__top-link a {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Cpath id='arrowtop' d='M9.5,2A7.5,7.5,0,1,0,17,9.5,7.5,7.5,0,0,0,9.5,2ZM8,14,6.942,12.942,10.377,9.5,6.942,6.057,8,5l4.5,4.5Z' transform='translate(-2 17) rotate(-90)' fill='%23005eb8'/%3E%3C/svg%3E%0A") no-repeat left center;
    padding-left: 20px; }

#main .history-menu__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 20px 30px;
  margin: 0;
  font-size: 18px; }
  @media only screen and (max-width: 768px) {
    #main .history-menu__list {
      justify-content: space-around;
      padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw;
      font-size: 3.3816425121vw; } }
  #main .history-menu__list.fixed {
    padding: 10px;
    font-size: 14px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2); }
    @media only screen and (max-width: 768px) {
      #main .history-menu__list.fixed {
        padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw;
        font-size: 3.3816425121vw; } }
  @media print, screen and (min-width: 769px) {
    #main .history-menu__list-item {
      margin-left: 1.5em; }
      #main .history-menu__list-item:first-child {
        margin-left: 0; } }
  @media only screen and (max-width: 768px) {
    #main .history-menu__list-item {
      margin: 0 0.4em; } }
#main .history-menu__link {
  font-weight: bold;
  color: #005eb8; }

.history-table__def {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  position: relative; }
  .history-table__def:first-child {
    padding-top: 50px; }
  .history-table__def::before {
    content: "";
    display: block;
    top: -100px;
    left: calc(120px - 2.5px);
    z-index: -1;
    position: absolute;
    border-left: 5px solid #E3E3E3;
    height: calc(100% + 100px);
    width: 5px; }
    @media only screen and (max-width: 768px) {
      .history-table__def::before {
        top: -14.4927536232vw;
        width: 1.2077294686vw;
        left: 21.1352657005vw; } }
  .history-table__def:last-child::after {
    content: "";
    position: absolute;
    bottom: 0;
    display: block;
    width: 17px;
    height: 17px;
    background: #E3E3E3;
    left: calc(120px - 8.5px); }
    @media only screen and (max-width: 768px) {
      .history-table__def:last-child::after {
        width: 4.1062801932vw;
        height: 4.1062801932vw;
        left: 19.6859903382vw; } }
.history-table__title {
  width: 120px;
  font-size: 24px;
  padding-left: 5px;
  font-weight: bold;
  color: #005eb8;
  padding-top: 50px;
  margin-top: -50px; }
  @media only screen and (max-width: 768px) {
    .history-table__title {
      font-size: 4.347826087vw;
      width: 21.7391304348vw;
      padding-top: 24.154589372vw;
      margin-top: -24.154589372vw; } }
  .history-table__title small {
    font-size: 0.7em; }
.history-table__data {
  width: calc(100% - 130px); }
  @media only screen and (max-width: 768px) {
    .history-table__data {
      width: calc(100% - 21.7391304348vw); } }
#main .history-table__list {
  list-style: none;
  margin: 0;
  padding: 0; }
  #main .history-table__list-item {
    padding-left: 22px;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-bottom: 5px; }
    #main .history-table__list-item::before {
      content: "";
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17'%3E%3Ccircle id='circle' data-name='circle' cx='8.5' cy='8.5' r='8.5' fill='%23005eb8'/%3E%3C/svg%3E%0A") no-repeat left center/17px 17px;
      width: 17px;
      height: 17px;
      display: block;
      top: 3px;
      left: -8.5px;
      position: absolute;
      color: #005eb8; }
.history-table__year {
  font-weight: bold;
  font-size: 16px;
  width: 120px; }
  .history-table__year small {
    font-size: 12px; }
@media print, screen and (min-width: 769px) {
  .history-table__event {
    width: calc(100% - 130px); } }

#main .history-event {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-left: 10px; }
  #main .history-event__list {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 17 17'%3E%3Ccircle id='circle' data-name='circle' cx='8.5' cy='8.5' r='8.5' fill='%23005eb8'/%3E%3C/svg%3E%0A") no-repeat left top 7px/8px 8px;
    padding-left: 13px; }

/*********************************
IR
**********************************/
.graph-container {
  width: 100%;
  margin-bottom: 30px; }
  @media print, screen and (min-width: 769px) {
    .graph-container {
      height: 550px; } }
  @media only screen and (max-width: 768px) {
    .graph-container {
      height: 120.7729468599vw; } }
  .graph-container #myChart {
    height: 100% !important; }

.ir-numbers {
  display: grid;
  grid-template-rows: 226px 190px;
  grid-template-columns: 79px 1fr 1fr 1fr 79px 1fr 1fr 1fr 79px 1fr 1fr 1fr;
  grid-gap: 20px; }
  @media only screen and (max-width: 768px) {
    .ir-numbers {
      display: flex;
      flex-direction: column;
      grid-gap: 4.8309178744vw; } }
  .ir-numbers .numbers__item:nth-child(1) {
    grid-column: 1/5;
    grid-row: 1/2; }
  .ir-numbers .numbers__item:nth-child(2) {
    grid-column: 5/9;
    grid-row: 1/2; }
  .ir-numbers .numbers__item:nth-child(3) {
    grid-column: 9/13;
    grid-row: 1/2; }
  .ir-numbers .numbers__item:nth-child(4) {
    grid-column: 1/5;
    grid-row: 2/3; }
  .ir-numbers .numbers__item:nth-child(5) {
    grid-column: 5/9;
    grid-row: 2/3; }
  .ir-numbers .numbers__item:nth-child(6) {
    grid-column: 9/13;
    grid-row: 2/3; }

.ir-message-img {
  position: relative; }
  .ir-message-img__bg {
    position: relative; }
    @media only screen and (max-width: 768px) {
      .ir-message-img__bg {
        background: url("/media_library/ir/message/images/ir_messege_izuka_bg_sp.png") no-repeat center bottom/contain, url("/media_library/ir/message/images/ir_messege_izuka_bg_loop_sp.png") top center/contain;
        height: 45.8937198068vw; } }
  .ir-message-img__txt {
    position: absolute;
    line-height: 2.2;
    font-family: ryo-gothic-plusn, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 15px;
    left: 225px;
    top: 25px; }
    @media print, screen and (min-width: 769px) {
      .ir-message-img__txt {
        width: calc(100% - 220px); } }
    @media only screen and (max-width: 768px) {
      .ir-message-img__txt {
        width: calc(100% - 28.9855072464vw);
        font-size: 2.8985507246vw;
        left: 28.9855072464vw;
        top: 4.8309178744vw;
        line-height: 1.8; } }
  .ir-message-img__name {
    text-align: right;
    position: relative;
    margin-top: 10px;
    right: 30px; }
    @media only screen and (max-width: 768px) {
      .ir-message-img__name {
        margin-top: 2.4154589372vw;
        right: 3.6231884058vw; }
        .ir-message-img__name img {
          width: 42.270531401vw; } }

/*********************************
sustainability
**********************************/
.gr #main .sdgs-policy {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  line-height: 1.6 !important; }
  .gr #main .sdgs-policy__title {
    text-align: center;
    font-weight: bold;
    font-size: 30px;
    margin-bottom: 40px;
    background: none;
    border: none; }
    @media only screen and (max-width: 768px) {
      .gr #main .sdgs-policy__title {
        font-size: 5.7971014493vw;
        margin-bottom: 7.2463768116vw; } }
  .gr #main .sdgs-policy__intro {
    margin-bottom: 40px;
    font-size: 18px;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .gr #main .sdgs-policy__intro {
        font-size: 3.8647342995vw;
        line-height: 1.8 !important; } }
  .gr #main .sdgs-policy__list {
    border: 10px #E3EBF2 solid;
    padding: 30px; }
    @media only screen and (max-width: 768px) {
      .gr #main .sdgs-policy__list {
        padding: 4.8309178744vw 4.8309178744vw 4.8309178744vw 4.8309178744vw; } }
    .gr #main .sdgs-policy__list-title {
      font-size: 24px;
      font-weight: bold;
      margin-bottom: 20px;
      background: none;
      border: none;
      padding: 0; }
      @media only screen and (max-width: 768px) {
        .gr #main .sdgs-policy__list-title {
          font-size: 4.347826087vw;
          margin-bottom: 3.6231884058vw;
          text-indent: -2em;
          padding-left: 2em; } }
    .gr #main .sdgs-policy__list p {
      margin-bottom: 40px;
      font-size: 16px; }
      @media only screen and (max-width: 768px) {
        .gr #main .sdgs-policy__list p {
          font-size: 3.3816425121vw;
          margin-bottom: 7.2463768116vw; } }
    .gr #main .sdgs-policy__list p:last-child {
      margin-bottom: 0; }

#main .col2box_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0; }

#main .col2box_wrap li {
  width: 48%; }

#main .col2box_wrap ol li {
  width: 100%; }

#s2_01 .col2box_wrap li:last-child {
  width: 100%; }

@media screen and (max-width: 768px) {
  #main .col2box_wrap {
    flex-direction: column; }

  #main .col2box_wrap li {
    width: 100%; } }
.heading_ttl {
  background-color: #3d98cc;
  text-align: center;
  padding: 25px 0;
  border-radius: 5px;
  color: #ffffff; }

.heading_ttl_txt {
  font-size: 1.1rem; }

.col3_box_wrap {
  display: flex; }

.col3_box {
  flex: 1;
  margin: 0px 30px 0 0; }

#main dl.col3_box:last-child {
  margin: 0; }

.col_list {
  margin: 10px 0;
  padding: 0; }

.col3_box li {
  list-style: none; }

.tac {
  text-align: center; }

.btnSecurity {
  display: flex;
  justify-content: space-evenly;
  margin: 30px 0; }

.btnSecurity_item {
  width: 30%;
  position: relative; }

.btnSecurity_item_inner {
  display: inline-block;
  background-color: #005eb8;
  text-align: center;
  padding: 20px 0;
  width: 100%;
  border-radius: 5px;
  text-decoration: none;
  font-size: 1.1em;
  transition: .3s; }

.btnSecurity_item_inner::after {
  content: "";
  background: url(/media_library/images/g2_arrow_white.svg) no-repeat;
  display: inline-block;
  position: absolute;
  right: 21px;
  width: 10px;
  height: 15px;
  top: 26px;
  background-size: contain; }

.btnSecurity_item_inner:hover::after {
  transform: translate(4px, 0);
  transition: all .4s; }

.btnSecurity_item a:hover {
  opacity: 0.6;
  color: #ffffff; }

@media only screen and (max-width: 768px) {
  .col3_box_wrap {
    flex-direction: column; }

  .col3_box {
    margin: 0;
    padding: 2VW 2VW 5VW 2VW; }

  .btnSecurity {
    flex-direction: column;
    padding: 4vw 4vw 4vw 4vw;
    margin: 0; }

  .btnSecurity_item {
    width: 100%;
    margin: 10px 0; }

  .btnSecurity_item_inner::after {
    top: 23px; }

  .spnone {
    display: none; } }
/*********************************
news
**********************************/
.news-tab {
  display: flex;
  justify-content: space-between;
  border-bottom: #E3E3E3 1px solid;
  margin-bottom: 40px; }
  .news-tab__item {
    width: calc((100% - 14px)/3); }
    @media print, screen and (min-width: 769px) {
      .news-tab__item {
        height: 68px; } }
    .news-tab__item-link {
      display: flex;
      width: 100%;
      height: 100%;
      align-items: center;
      justify-content: center;
      border-top: 4px solid #B7B7B7;
      text-decoration: none;
      font-size: 19px;
      background: #F5F6F8;
      border-left: #E3E3E3 1px solid;
      border-right: #E3E3E3 1px solid; }
      @media only screen and (max-width: 768px) {
        .news-tab__item-link {
          padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw;
          font-size: 3.3816425121vw; } }
      .news-tab__item-link.active {
        border-top: 4px solid #005eb8;
        background: #fff;
        height: calc(100% + 1px); }
      .news-tab__item-link:hover {
        color: #202020; }

.news-select {
  display: flex;
  align-items: center;
  border-radius: 10px;
  margin-bottom: 30px; }
  @media only screen and (max-width: 768px) {
    .news-select {
      padding: 3.6231884058vw 3.6231884058vw 3.6231884058vw 3.6231884058vw;
      margin-bottom: 7.2463768116vw; } }
  .news-select__tit {
    font-weight: bold;
    font-size: 15px;
    margin-right: 1em; }
    @media only screen and (max-width: 768px) {
      .news-select__tit {
        font-size: 3.3816425121vw; } }
  .news-select__select {
    width: 150px;
    border: 1px solid #E3EBF2;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='7' viewBox='0 0 8 7'%3E%3Cpath d='M4,0,8,7H0Z' transform='translate(8 7) rotate(180)' fill='%23414b54'/%3E%3C/svg%3E%0A") no-repeat right 10px center;
    padding: 10px 15px;
    appearance: none; }
    @media only screen and (max-width: 768px) {
      .news-select__select {
        padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw; } }

#main #news ul.archiveList li span.category.groupnews {
  background: #EEDFF6; }

/*********************************
saiyo
**********************************/
.saiyo_btn_wrap {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin-bottom: 30px; }
  @media only screen and (max-width: 768px) {
    .saiyo_btn_wrap {
      margin-bottom: 7.2463768116vw; } }

.saiyo_btn_wrap a {
  text-decoration: none; }
  @media print, screen and (min-width: 769px) {
    .saiyo_btn_wrap a {
      width: calc((100% - 30px)/3); } }
  .saiyo_btn_wrap a .flex-item {
    padding: 0px 45px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #dedede;
    position: relative; }
    .saiyo_btn_wrap a .flex-item i {
      position: absolute;
      right: 10px;
      top: calc(50% - 7px); }

.btn_wrap.saiyo {
  margin: 0; }

.btn_ps_center.saiyo {
  text-align: center; }

.saiyo .btn_detail {
  display: inline-block;
  background: #0078d7;
  box-sizing: border-box;
  color: #fff;
  padding: 12px 30px;
  transition: all 0.18s ease 0s;
  text-decoration: none; }

.saiyo .btn_detail:hover,
.btn_detail:visited {
  color: #fff;
  opacity: 0.8; }

@media screen and (max-width: 768px) {
  .gr .history_table .txtNoWrap {
    display: inline-block;
    width: 100%; }

  .saiyo_btn_wrap {
    flex-wrap: wrap;
    justify-content: space-between; }

  .saiyo_btn_wrap a {
    width: 48%;
    margin-bottom: 10px;
    font-size: 14px; }

  .saiyo_btn_wrap a .flex-item {
    padding: 0 15px 0 5px;
    position: relative; }

  .saiyo_btn_wrap a .flex-item i {
    position: absolute;
    right: 5px; } }
/*********************************
リリース
**********************************/
#main .l-sns {
  display: flex;
  justify-content: flex-end;
  list-style: none;
  padding: 0;
  margin: 0; }

/*********************************
JS用
**********************************/
.js-scroll-fix.fixed {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
  transition: all .2s; }
  @media print, screen and (min-width: 769px) {
    .js-scroll-fix.fixed {
      top: 0;
      width: 950px;
      padding: 15px;
      border-radius: 50px; } }
  @media only screen and (max-width: 768px) {
    .js-scroll-fix.fixed {
      top: 13.2850241546vw;
      width: 90%; } }



