.is_pc {
  display: block;
}

.is_sp {
  display: none;
}

/* ==========================================================================
    history_index
========================================================================== */
/* videoContainer
   ========================================================================== */
.index .videoContainer {
  text-align: center;
  max-width: 560px;
  margin: 0 auto;
}
.index .videoContainer .img-caption {
  font-size: 1.8em;
  font-family: Serif;
  font-weight: bold;
  margin-top: 10px;
}

/* page-nav(index)
   ========================================================================== */
.index .page-nav {
  margin: 50px 0 100px;
  padding: 50px;
  background: #f1f2f6;
}
.index .page-nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.index .page-nav ul li {
  margin: 0;
  width: 270px;
}
.index .page-nav ul li.active {
  opacity: 0.5;
}
.index .page-nav ul li.active a {
  pointer-events: none;
  cursor: default;
}

/* m-anchor-nav
   ========================================================================== */
.index .m-anchor-nav {
  position: relative;
  margin: 0;
}
.index .m-anchor-nav::before {
  position: absolute;
  content: url(/company/history/img/index_arrow.png);
  right: 0;
  bottom: -14px;
}
.index .m-anchor-nav::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: #f1b300;
}
.index .m-anchor-nav ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.index .m-anchor-nav ul li {
  display: block;
  width: 25%;
  text-align: left;
  box-shadow: none;
}
.index .m-anchor-nav ul li a {
  padding-bottom: 15px;
}

/* history_list
   ========================================================================== */
.index .history-list {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 91.6666666667%;
  margin: 0 auto;
}
.index .history-list::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  left: 50%;
  top: 0;
  background: #000;
}
.index .history-list .history-item {
  width: 50%;
  padding-right: 10%;
  box-sizing: border-box;
}
.index .history-list .history-item h2 {
  position: relative;
  display: block;
  font-size: 4em;
  text-align: center;
}
.index .history-list .history-item h2::after {
  position: absolute;
  content: "";
  right: -25%;
  top: 50%;
  width: 60%;
  height: 1px;
  background: #000;
}
.index .history-list .history-item h2::before {
  position: absolute;
  content: "";
  right: 34%;
  top: calc(50% - 3px);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #000;
}
.index .history-list .history-item h3 {
  position: relative;
  display: block;
  font-size: 2.4em;
  padding-bottom: 5px;
  border-bottom: 1px solid #dbdce2;
}
.index .history-list .history-item h3::before {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100px;
  height: 3px;
  background: #f3be00;
  content: "";
}
.index .history-list .history-item .history-txt {
  font-size: 1.6em;
  margin: 15px 0;
}
.index .history-list .history-item figure {
  width: 86.3636363636%;
  margin: 0 auto 120px;
}
.index .history-list .history-item figure figcaption {
  font-size: 1.4em;
  text-align: center;
  margin-top: 5px;
}
.index .history-list .history-item .history-button {
  margin-bottom: 20px;
  max-width: 370px;
  margin-left: auto;
}
.index .history-list .history-item .history-button a {
  border: 0;
  background: #f1f2f6;
}
.index .history-list .history-item .history-button.button-l {
  margin-right: auto;
}
.index .history-list .history-item.item-r {
  padding-left: 10%;
  padding-right: 0;
}
.index .history-list .history-item.item-r h2::after {
  right: auto;
  left: -25%;
}
.index .history-list .history-item.item-r h2::before {
  right: auto;
  left: 34%;
}
.index .history-list.list-rev {
  flex-direction: row-reverse;
}
.index .history-list .list-mgt80m {
  margin-top: -80px;
}
.index .history-list .list-mgt160m {
  margin-top: -160px;
}
.index .history-list .list-mgt80 {
  margin-top: 80px;
}
.index .history-list .list-mgb10 {
  margin-bottom: 10px !important;
}
.index .history-list .list-mgb40 {
  margin-bottom: 40px !important;
}
.index .history-list .list-mgb50 {
  margin-bottom: 50px !important;
}
.index .history-list .list-mgb60 {
  margin-bottom: 60px !important;
}
.index .history-list .list-mgb70 {
  margin-bottom: 70px !important;
}
.index .history-list .list-mgb90 {
  margin-bottom: 90px !important;
}
.index .history-list .list-mgb100 {
  margin-bottom: 100px !important;
}
.index .history-list .list-mgb140 {
  margin-bottom: 140px !important;
}
.index .history-list .list-mgb170 {
  margin-bottom: 170px !important;
}
.index .history-list .list-mgb230 {
  margin-bottom: 230px !important;
}

/* ==========================================================================
    index.html
========================================================================== */
.roots section {
  max-width: 1000px;
  margin-top: 80px;
}
.roots .layout-content {
  position: relative;
}

/* head-breadcrumbs
   ========================================================================== */
.head-breadcrumbs {
  position: relative;
  width: 100%;
  padding: 16px 35px;
  background: #fff;
  border-top: 3px solid #eee;
  box-shadow: 0 3px 2px rgba(0, 0, 0, 0.08);
  z-index: 10;
}
.head-breadcrumbs ul {
  display: flex;
  justify-content: flex-start;
  gap: 35px;
}
.head-breadcrumbs a {
  font-size: 1.2em;
  color: #333;
  font-family: serif;
  font-weight: bold;
}

/* page-title.history
  ========================================================================== */
.page-title.history h1 {
  padding-top: 30px;
  padding-bottom: 0;
}
.page-title.history p {
  text-align: center;
  margin-top: 15px;
  padding-bottom: 30px;
}

/* page-nav-second(history)
   ========================================================================== */
.roots .page-nav-second {
  margin: 10px 0 0;
  padding: 50px;
  background: #f1f2f6;
}
.roots .page-nav-second > ul {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.roots .page-nav-second > ul li {
  margin: 0;
  width: 240px;
}
.roots .page-nav-second > ul li a::after {
  display: none;
}
.roots .page-nav-second > ul li.active {
  opacity: 0.5;
}
.roots .page-nav-second > ul li.active a {
  pointer-events: none;
  cursor: default;
}
.roots .page-nav-second .accordion-item {
  margin-bottom: 12px;
}
.roots .page-nav-second .accordion-icon {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  font-weight: bold;
  font-size: 20px;
  transition: transform 0.25s ease;
}
.roots .page-nav-second .accordion-body {
  width: 120%;
  max-height: 0;
  overflow: hidden;
  padding: 0;
  background: #fff;
  border-top: none;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05);
  transition: max-height 0.35s ease, padding 0.35s ease;
}
.roots .page-nav-second .accordion-body ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.roots .page-nav-second .accordion-body li {
  width: 100%;
  text-align: left;
  padding: 15px;
}
.roots .page-nav-second .accordion-body li:not(:last-of-type) {
  border-bottom: 1px solid #e2e2e2;
}
.roots .page-nav-second .accordion-body li a {
  display: inline-block;
  font-weight: normal;
  text-decoration: none;
  color: #333;
  padding-left: 3.5em;
  text-indent: -3.5em;
}
.roots .page-nav-second .accordion-head {
  background: #f1f2f6;
}
.roots .page-nav-second .accordion-head.active {
  color: #fff;
  background: #000;
}
.roots .page-nav-second + .block-title {
  margin-top: -70px;
}

/* block-title(history)
   ========================================================================== */
.roots .block-title,
.links .block-title {
  padding: 0;
}
.roots .block-title h2,
.links .block-title h2 {
  font-size: 3.4em;
  text-align: center;
}
.roots .block-title h2 .block-title-sub,
.links .block-title h2 .block-title-sub {
  position: relative;
  font-size: 0.8823529412em;
  font-weight: 500;
  padding: 0 0 0 50px;
}
.roots .block-title h2 .block-title-sub::before,
.links .block-title h2 .block-title-sub::before {
  position: absolute;
  top: 10%;
  left: 25px;
  content: "";
  width: 3px;
  height: 80%;
  background: #333;
}

.roots .block-title {
  padding: 160px 0 0;
}

/* sec-heading(history)
   ========================================================================== */
.roots .sec-heading {
  position: relative;
  padding-top: 50px;
  border-top: 2px solid #e7e7e7;
}
.roots .sec-heading::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 240px;
  height: 4px;
  background: #f1b300;
}
.roots .sec-heading h3 {
  font-size: 2.8em;
}

/* image-col(history)
   ========================================================================== */
.roots .image-col {
  margin-top: 40px;
}
.roots .image-col img {
  width: 100%;
}
.roots .image-col figcaption {
  font-size: 0.9333333333em;
  text-align: center;
  padding-top: 10px;
  line-height: 1.5714285714;
}
.roots .image-col.col1 ul {
  width: calc(50% - 15px);
  margin: 0 auto;
}
.roots .image-col.col2 ul {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.roots .image-col + p {
  margin-top: 50px;
}

/* footer-nav(history)
   ========================================================================== */
.roots .footer-nav {
  margin-top: 180px;
}
.roots .footer-nav ul {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
}
.roots .footer-nav li {
  margin-top: 0;
  max-width: unset;
}
.roots .footer-nav li:first-of-type a::after {
  right: auto;
  left: 15px;
  transform: scaleX(-1);
}

/* links(history)
   ========================================================================== */
.links .links-list {
  margin-bottom: 140px;
}
.links .links-list ul {
  display: flex;
  flex-wrap: wrap;
  column-gap: 27px;
  row-gap: 30px;
}
.links .links-list li {
  width: calc((100% - 81px) / 4);
  box-sizing: border-box;
  font-size: 1em;
}
.links .links-list li a {
  color: #333;
}
.links .links-list li a:hover {
  text-decoration: none;
}
.links .links-list li a[target=_blank]:after {
  display: none;
}
.links .links-list li .links-item {
  display: flex;
}
.links .links-list li .links-item figure {
  width: 35.5%;
}
.links .links-list li .links-item .links-txt {
  display: flex;
  align-items: center;
  width: 70%;
  padding: 0 15% 0 6%;
  background-color: #f1f2f6;
  background-image: url(/company/history/img/links/links_icon-window.svg);
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 13px auto;
}
.links .links-list li .links-item .links-txt p {
  font-size: min(1.4vw, 1.6em);
  font-weight: bold;
  line-height: 1.25;
}

@media (max-width: 768px) {
  .is_sp {
    display: block;
  }
  .is_pc {
    display: none;
  }
  /* ==========================================================================
      history_index
  ========================================================================== */
  /* page-nav
   ========================================================================== */
  .index .page-nav {
    margin-bottom: 50px;
  }
  .index .page-nav ul {
    display: block;
  }
  .index .page-nav ul li {
    width: 100%;
    max-width: 100%;
  }
  .index .page-nav ul li:not(:last-of-type) {
    margin-bottom: 10px;
  }
  /* m-anchor-nav
   ========================================================================== */
  .index .m-anchor-nav::before {
    right: auto;
    left: 0;
    bottom: -7px;
    transform: rotate(90deg);
  }
  .index .m-anchor-nav::after {
    width: 4px;
    height: 100%;
    left: 7px;
  }
  .index .m-anchor-nav ul {
    display: block;
  }
  .index .m-anchor-nav ul li {
    width: 100%;
    border: 0;
    padding-left: 30px;
  }
  .index .m-anchor-nav ul li:first-child {
    border: 0;
  }
  /* history_list
   ========================================================================== */
  .index .history-list {
    width: 100%;
    display: block;
  }
  .index .history-list::before {
    display: none;
  }
  .index .history-list .list-mgt80m,
  .index .history-list .list-mgt160m,
  .index .history-list .list-mgt80,
  .index .history-list .list-mgb10,
  .index .history-list .list-mgb40,
  .index .history-list .list-mgb50,
  .index .history-list .list-mgb60,
  .index .history-list .list-mgb70,
  .index .history-list .list-mgb90,
  .index .history-list .list-mgb100,
  .index .history-list .list-mgb140,
  .index .history-list .list-mgb170,
  .index .history-list .list-mgb230 {
    margin: 0 !important;
  }
  .index .history-list .history-item {
    width: 100%;
    padding: 0 !important;
    margin-bottom: 80px !important;
  }
  .index .history-list .history-item h2::after {
    width: 55%;
  }
  .index .history-list .history-item h2::before {
    right: 30%;
  }
  .index .history-list .history-item h3 {
    font-size: 2em;
  }
  .index .history-list .history-item figure {
    margin-bottom: 0 !important;
  }
  .index .history-list .history-item .history-button {
    width: 86.3636363636%;
    margin: 30px auto;
  }
  .index .history-list .history-item.item-r h2::before {
    left: 30%;
  }
  /* ==========================================================================
      index.html
  ========================================================================== */
  /* head-breadcrumbs
    ========================================================================== */
  .head-breadcrumbs {
    padding: 10px 15px;
  }
  .head-breadcrumbs ul {
    gap: 20px;
  }
  .head-breadcrumbs a {
    font-size: 1em;
  }
  /* page-title.history
    ========================================================================== */
  .page-title.history p {
    font-size: 1.2rem;
    margin-top: 10px;
  }
  /* page-nav-second(history)
      ========================================================================== */
  .roots .page-nav-second {
    padding: 20px;
  }
  .roots .page-nav-second > ul {
    display: block;
  }
  .roots .page-nav-second > ul li {
    width: 100%;
  }
  .roots .page-nav-second .accordion-body {
    width: 100%;
  }
  .roots .page-nav-second + .block-title {
    margin-top: -30px;
  }
  /* block-title(history)
      ========================================================================== */
  .roots .block-title,
  .links .block-title {
    padding-top: 0;
  }
  .roots .block-title h2,
  .links .block-title h2 {
    font-size: 2.4em;
    text-align: left;
    line-height: 1.4;
  }
  .roots .block-title h2 .block-title-sub,
  .links .block-title h2 .block-title-sub {
    display: block;
    font-size: 0.8em;
    padding: 0;
    margin-top: 10px;
  }
  .roots .block-title h2 .block-title-sub::before,
  .links .block-title h2 .block-title-sub::before {
    display: none;
  }
  .roots .block-title {
    padding-top: 80px;
  }
  /* sec-heading(history)
      ========================================================================== */
  .roots .sec-heading {
    padding-top: 30px;
  }
  .roots .sec-heading::before {
    width: 100px;
  }
  .roots .sec-heading h3 {
    font-size: 2em;
  }
  /* image-col(history)
      ========================================================================== */
  .roots .image-col {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .roots .image-col.col1 ul {
    width: 100%;
  }
  .roots .image-col.col2 ul {
    display: block;
  }
  .roots .image-col.col2 ul li + li {
    margin-top: 20px;
  }
  .roots .image-col + p {
    margin-top: 30px;
  }
  /* footer-nav(history)
      ========================================================================== */
  .roots .footer-nav {
    margin-top: 90px;
  }
  .roots .footer-nav ul {
    display: block;
  }
  .roots .footer-nav li:nth-of-type(2) {
    margin: 15px 0;
  }
  /* links(history)
      ========================================================================== */
  .links .links-list {
    margin-bottom: 0;
  }
  .links .links-list ul {
    row-gap: 20px;
  }
  .links .links-list li {
    width: 100%;
  }
  .links .links-list li .links-item .links-txt p {
    font-size: 1.6em;
  }
}