@charset "UTF-8";
/***************************************
 *
 *denso ITLAB CSS
 *
 *2025/03
 *
 ****************************************** */
/*****************************
 *
 *settings
 *
 ***************************** */
.trans_txt_parent .inner {
  overflow: hidden; }
.trans_txt_parent s {
  display: inline-block;
  transform: translateY(50px); }

.scroll_fadein {
  transform: translateY(50px);
  opacity: 0; }

/***********************
 *
 *common
 *
 ********************** */
input[type="text"], textarea, select {
  appearance: none;
  -webkit-appearance: none; }

* {
  box-sizing: border-box; }

a {
  text-decoration: none;
  color: inherit; }
  a.pen {
    pointer-events: none; }

i, em {
  font-style: normal; }

body, html {
  margin: 0px;
  padding: 0px;
  font-family: YakuHanJP_Narrow, "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
  font-style: normal;
  color: #333;
  font-optical-sizing: auto; }

body {
  overflow-x: hidden; }

ul {
  margin: 0;
  padding: 0; }

h2, h3, h4, h5 {
  font-weight: bold; }

.ib {
  width: 1310px;
  margin: 0 auto;
  position: relative;
  max-width: 100%;
  height: 100%; }
  .ib.common_page {
    width: 1090px; }

table {
  border-collapse: collapse; }

#wpadminbar {
  display: none; }

.pc_content {
  display: block !important; }

.sp_content {
  display: none !important; }

::-webkit-scrollbar {
  width: 10px; }

::-webkit-scrollbar-track {
  background: #fff;
  border: none;
  border-radius: 10px;
  box-shadow: inset 0 0 2px #777; }

::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
  box-shadow: none; }

.btn_border {
  text-align: center;
  display: block;
  margin: 20px auto;
  position: relative;
  max-width: 300px;
  background: #f1f1f1; }
  .btn_border::before {
    right: 0;
    top: 0; }
  .btn_border::after {
    left: 0;
    bottom: 0; }
  .btn_border::before, .btn_border::after {
    content: "";
    width: 0;
    height: 1px;
    position: absolute;
    transition: all 0.2s linear;
    background: #000;
    transition-delay: 0s; }
  .btn_border:hover::before, .btn_border:hover::after {
    width: 100%;
    transition-delay: 0.2s; }
  .btn_border:hover span::before, .btn_border:hover span::after {
    height: 100%;
    transition-delay: 0s; }
  .btn_border span {
    display: block;
    padding: 15px;
    font-size: 16px;
    color: #000;
    position: relative; }
    .btn_border span::before {
      left: 0;
      top: 0; }
    .btn_border span::after {
      right: 0;
      bottom: 0; }
    .btn_border span::before, .btn_border span::after {
      content: "";
      width: 1px;
      height: 0;
      position: absolute;
      transition: all 0.2s linear;
      background: #000;
      transition-delay: 0.2s; }

/*************************************
 *
 *404
 *
 ************************************* */
#content.c404 {
  min-height: calc(100vh - 640px); }
  #content.c404 .ib {
    padding: 120px 0; }

p.p404 {
  padding: 100px 40px;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  background: #f1f1f1;
  margin: 40px 0; }

/***************************************
 *
 *header
 *
 ************************************* */
.grecaptcha-badge {
  z-index: 9999; }

.mgt0 {
  margin-top: 0 !important; }

s {
  text-decoration: none; }

.hov_udl {
  text-decoration: none;
  background-image: linear-gradient(#E6002D, #E6002D);
  background-size: 0% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 0.3s ease; }
  .hov_udl:hover {
    background-size: 100% 1px; }

a.btn, button[class*="smf"] {
  min-width: 230px;
  padding: 20px 40px;
  border-radius: 10px;
  position: relative;
  border: 1px solid #E6002D;
  color: #E6002D;
  font-size: 18px;
  font-weight: bold;
  background: #fff;
  align-items: center;
  justify-content: center;
  transition: 0.4s ease;
  display: flex; }
  a.btn.flr, button[class*="smf"].flr {
    float: right; }
  a.btn.large, button[class*="smf"].large {
    width: 440px !important;
    height: 82px;
    font-size: 18px;
    max-width: 100%; }
  a.btn.fixed, button[class*="smf"].fixed {
    bottom: 0;
    position: fixed;
    width: 182px;
    height: 64px !important;
    z-index: 9999;
    text-align: center;
    right: 32px;
    border-radius: 8px 8px 0 0;
    padding-left: 50px;
    opacity: 0;
    pointer-events: none;
    transition: 0.4s ease; }
    a.btn.fixed.tate, button[class*="smf"].fixed.tate {
      writing-mode: vertical-rl;
      width: 64px !important;
      height: 230px !important;
      right: 0;
      bottom: 32px;
      min-width: inherit;
      border-radius: 8px 0 0 8px;
      padding: 20px; }
      a.btn.fixed.tate:after, button[class*="smf"].fixed.tate:after {
        margin-left: 2px;
        margin-top: 16px; }
    a.btn.fixed:after, button[class*="smf"].fixed:after {
      margin-left: 30px; }
    a.btn.fixed.visible, button[class*="smf"].fixed.visible {
      opacity: 1;
      pointer-events: auto; }
    a.btn.fixed.yoko, button[class*="smf"].fixed.yoko {
      width: 64px !important;
      height: 230px !important;
      bottom: 60px;
      right: 0;
      min-width: inherit;
      padding: 16px;
      padding-right: 17px;
      flex-wrap: wrap;
      justify-content: center;
      border-radius: 8px 0 0 8px;
      background: #333; }
      a.btn.fixed.yoko:before, button[class*="smf"].fixed.yoko:before {
        display: none; }
      a.btn.fixed.yoko:hover, button[class*="smf"].fixed.yoko:hover {
        background: #E6002D; }
      a.btn.fixed.yoko em, button[class*="smf"].fixed.yoko em {
        width: 100%;
        writing-mode: vertical-rl; }
      a.btn.fixed.yoko:after, button[class*="smf"].fixed.yoko:after {
        margin-left: 10px; }
  a.btn.grad, button[class*="smf"].grad {
    background: none;
    color: #fff;
    height: 64px;
    overflow: hidden;
    border: none;
    transition: 0.4s ease;
    background: #fff; }
    a.btn.grad em, button[class*="smf"].grad em {
      position: relative;
      z-index: 2; }
    a.btn.grad:before, button[class*="smf"].grad:before {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 200%;
      bottom: 0;
      left: 0;
      background: linear-gradient(-90deg, #ED7836, #E6002D);
      transition: 0.4s ease; }
    a.btn.grad:hover, button[class*="smf"].grad:hover {
      background: #fff; }
      a.btn.grad:hover:before, button[class*="smf"].grad:hover:before {
        opacity: 0.7; }
  a.btn.auto, button[class*="smf"].auto {
    width: max-content;
    margin: 32px auto; }
  a.btn.black, button[class*="smf"].black {
    background: #333;
    border-color: #333;
    color: #fff; }
    a.btn.black.medium, button[class*="smf"].black.medium {
      height: 64px;
      width: 250px; }
  a.btn.border_black, button[class*="smf"].border_black {
    background: #fff;
    color: #333;
    border-color: #333; }
  a.btn.center, button[class*="smf"].center {
    margin: 40px auto; }
  a.btn.size_middle, button[class*="smf"].size_middle {
    width: 400px;
    max-width: 100%; }
  a.btn.clear, button[class*="smf"].clear {
    background: none; }
  a.btn.s, button[class*="smf"].s {
    width: 180px;
    font-size: 16px;
    padding: 14px 16px; }
    a.btn.s:after, button[class*="smf"].s:after {
      display: none; }
  a.btn:after, button[class*="smf"]:after {
    content: "";
    margin-left: 10px;
    font-family: "material icons";
    position: relative;
    top: 1px; }
  a.btn.arr_under:after, button[class*="smf"].arr_under:after {
    transform: rotate(90deg); }
  a.btn.external.note:hover svg path, button[class*="smf"].external.note:hover svg path {
    fill: #fff; }
  a.btn.external.note svg, button[class*="smf"].external.note svg {
    margin-left: 10px; }
  a.btn.external.note:after, button[class*="smf"].external.note:after {
    display: none; }
  a.btn.external:after, button[class*="smf"].external:after {
    display: block;
    content: url(../img/external.svg); }
  a.btn:hover, button[class*="smf"]:hover {
    background: #E6002D;
    color: #fff;
    border-color: #E6002D; }

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999999;
  height: 108px;
  background: #fff; }
  header .ib {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 42px 20px 52px;
    width: 100%; }
    header .ib .logo {
      width: 152px; }
      header .ib .logo img {
        display: block;
        width: 100%; }
    header .ib nav {
      display: flex;
      margin-right: 100px; }
      header .ib nav .inner {
        width: 100%;
        display: flex; }
      header .ib nav a, header .ib nav span.parent {
        font-weight: bold;
        font-size: 16px;
        margin-right: 32px;
        cursor: pointer;
        position: relative;
        padding: 16px 0;
        transition: 0.4s ease; }
        header .ib nav a:before, header .ib nav span.parent:before {
          content: "";
          height: 1px;
          width: 0;
          transition: 0.4s ease;
          background: #E6002D;
          position: absolute;
          bottom: 15px;
          left: 0; }
        header .ib nav a.active, header .ib nav span.parent.active {
          color: #E6002D; }
        header .ib nav a:hover, header .ib nav span.parent:hover {
          color: #E6002D; }
          header .ib nav a:hover:before, header .ib nav span.parent:hover:before {
            width: 100%; }
      header .ib nav a.parent_a {
        margin-right: 0; }
      header .ib nav span.parent {
        position: relative;
        margin-right: 50px; }
        header .ib nav span.parent.p2 .inner {
          left: calc(50% - 50px); }
        header .ib nav span.parent:after {
          content: "";
          position: absolute;
          color: #E6002D;
          transform: rotate(-90deg);
          right: -16px;
          font-size: 14px;
          bottom: calc(50% - 6px);
          font-family: "material icons";
          font-weight: normal; }
        header .ib nav span.parent .inner {
          display: block;
          position: absolute;
          top: 54px;
          left: calc(50% - 66px);
          width: max-content;
          background: #fff;
          border-radius: 10px;
          box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
          padding: 16px 20px;
          padding-right: 32px;
          display: none; }
          header .ib nav span.parent .inner.pt1 a:after {
            right: auto;
            left: 95px; }
          header .ib nav span.parent .inner.pt2 a:after {
            right: auto;
            left: 140px; }
          header .ib nav span.parent .inner.pt3 a:after {
            right: auto;
            left: 63px; }
          header .ib nav span.parent .inner a {
            color: #333;
            display: table;
            width: auto;
            padding: 5px 0;
            font-size: 15.6px;
            font-weight: normal;
            transition: 0.4s ease;
            font-weight: bold;
            margin-right: 0px; }
            header .ib nav span.parent .inner a:after {
              content: "";
              position: absolute;
              color: #E6002D;
              transform: rotate(180deg);
              right: -13px;
              font-size: 14px;
              bottom: calc(50% - 7px);
              font-family: "material icons";
              font-weight: normal; }
            header .ib nav span.parent .inner a:before {
              bottom: 5px;
              display: none; }
            header .ib nav span.parent .inner a:hover {
              color: #E6002D; }
    header .ib .lang_switch {
      position: absolute;
      z-index: 2;
      right: 42px;
      width: 66px;
      top: 40px;
      justify-content: space-between;
      display: flex; }
      header .ib .lang_switch .line {
        width: 0.5px;
        height: 24px;
        display: block;
        background: #333; }
      header .ib .lang_switch a {
        font-size: 16px;
        font-weight: bold;
        position: relative;
        opacity: 0.5; }
        header .ib .lang_switch a.active {
          opacity: 1; }
          header .ib .lang_switch a.active:before {
            content: "";
            position: absolute;
            width: 100%;
            height: 1px;
            display: block;
            background: #333;
            bottom: -1px;
            left: 0; }

@keyframes zoomUp {
  0% {
    transform: scale(1.15); }
  100% {
    transform: scale(1); } }
.top_slide .swiper-slide-active img,
.top_slide .swiper-slide-duplicate-active img,
.top_slide .swiper-slide-prev img {
  animation: zoomUp 7s linear 0s normal both; }

.top_slide .swiper-slide img {
  height: auto;
  width: 100%; }

.lity-close {
  min-width: inherit !important; }
  .lity-close:after {
    display: none !important; }

#first_view {
  position: relative;
  width: 100%;
  height: 840px; }
  #first_view .fv_material {
    width: 500px;
    position: absolute;
    bottom: -30px;
    right: calc(0px - calc(50vw - 50%));
    z-index: 3; }
  #first_view .ib {
    z-index: 2;
    padding-top: 130px;
    flex-wrap: wrap; }
    #first_view .ib .buttons {
      position: absolute;
      z-index: 4;
      display: flex;
      bottom: 28px; }
      #first_view .ib .buttons a {
        margin-right: 20px; }
    #first_view .ib .fv_slide {
      width: calc(50vw + 655px);
      margin-right: calc(0px - calc(50vw - 655px));
      background: #f1f1f1;
      border-radius: 12px 0 0 12px;
      overflow: hidden;
      height: 420px; }
      #first_view .ib .fv_slide .swiper {
        width: 100%;
        height: 100%; }
        #first_view .ib .fv_slide .swiper .swiper-slide {
          width: 100%;
          height: 100%; }
          #first_view .ib .fv_slide .swiper .swiper-slide[data-swiper-slide-index="0"] img {
            object-position: top; }
          #first_view .ib .fv_slide .swiper .swiper-slide img {
            object-fit: cover;
            width: 100%;
            height: 100%; }
            #first_view .ib .fv_slide .swiper .swiper-slide img.opt {
              object-position: top; }
            #first_view .ib .fv_slide .swiper .swiper-slide img.opt {
              object-position: auto 20%; }
    #first_view .ib h1 {
      font-size: 99px;
      font-weight: 600;
      line-height: 1;
      margin: 0;
      background: url(../img/title_bg_grad.png) 100% -10px no-repeat;
      background-size: 400%;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: bg_animation 3s ease forwards; }
@keyframes bg_animation {
  0% {
    background-position: 100% -10px; }
  100% {
    background-position: 0% -10px; } }
    #first_view .ib .tit_row {
      justify-content: space-between;
      display: flex;
      height: 230px;
      width: 100%;
      align-items: end;
      padding-bottom: 20px; }
      #first_view .ib .tit_row p {
        font-size: 26px;
        font-weight: bold;
        margin: 0; }
      #first_view .ib .tit_row h1 {
        font-family: "Open Sans", sans-serif; }

.tac {
  text-align: center !important; }

#content_wrap h2, #content_wrap2 h2 {
  line-height: 1.3; }
  #content_wrap h2.center, #content_wrap2 h2.center {
    text-align: center;
    font-size: 45px; }
    #content_wrap h2.center em, #content_wrap2 h2.center em {
      font-size: 45px; }
  #content_wrap h2 span, #content_wrap2 h2 span {
    font-size: 56px;
    font-weight: 600;
    color: #E6002D;
    display: block;
    font-family: "Open Sans", sans-serif; }
  #content_wrap h2 em, #content_wrap2 h2 em {
    font-size: 16px;
    font-weight: bold;
    line-height: 1; }
  #content_wrap h2.line, #content_wrap2 h2.line {
    margin: 0;
    line-height: 1;
    padding-left: 24px;
    border-left: solid 12px #E6002D;
    margin: 12px 0; }
    #content_wrap h2.line.medium em, #content_wrap2 h2.line.medium em {
      font-size: 36px; }
    #content_wrap h2.line em, #content_wrap2 h2.line em {
      font-size: 40px;
      display: block;
      font-weight: bold;
      color: #333; }
#content_wrap p, #content_wrap2 p {
  font-size: 18px;
  margin: 20px 0;
  line-height: 1.9;
  font-weight: normal; }
#content_wrap h3, #content_wrap2 h3 {
  font-size: 32px;
  font-weight: bold;
  margin: 30px 0;
  line-height: 1.6; }
  #content_wrap h3 span, #content_wrap2 h3 span {
    display: block;
    font-size: 16px;
    color: #E6002D;
    font-weight: 600; }

.red_txt {
  color: #E6002D;
  display: inline-block;
  font-weight: bold; }

#content_wrap .news_list.monograph .row, #content_wrap2 .news_list.monograph .row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 24px 0; }
  #content_wrap .news_list.monograph .row:last-child, #content_wrap2 .news_list.monograph .row:last-child {
    padding-bottom: 34px; }
  #content_wrap .news_list.monograph .row .index, #content_wrap2 .news_list.monograph .row .index {
    font-size: 24px;
    color: #E6002D;
    font-weight: bold;
    width: 50px; }
  #content_wrap .news_list.monograph .row p, #content_wrap2 .news_list.monograph .row p {
    width: calc(100% - 70px); }
#content_wrap .news_list .row, #content_wrap2 .news_list .row {
  padding: 24px 20px;
  border-bottom: 1px solid #8B8B8B; }
  #content_wrap .news_list .row:last-child, #content_wrap2 .news_list .row:last-child {
    border-bottom: none;
    padding-bottom: 0; }
  #content_wrap .news_list .row p, #content_wrap2 .news_list .row p {
    margin-bottom: 0; }
  #content_wrap .news_list .row .date, #content_wrap2 .news_list .row .date {
    display: block;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 600; }
  #content_wrap .news_list .row h3, #content_wrap2 .news_list .row h3 {
    font-size: 18px !important;
    margin: 18px 0 !important; }
  #content_wrap .news_list .row p, #content_wrap2 .news_list .row p {
    font-size: 15px;
    font-weight: 400;
    margin: 10px 0; }
    #content_wrap .news_list .row p a, #content_wrap2 .news_list .row p a {
      color: #E6002D; }
#content_wrap .top_news .ib, #content_wrap2 .top_news .ib {
  display: flex;
  justify-content: space-between; }
  #content_wrap .top_news .ib [class^="right"], #content_wrap2 .top_news .ib [class^="right"] {
    width: 980px; }
  #content_wrap .top_news .ib [class^="left"], #content_wrap2 .top_news .ib [class^="left"] {
    width: calc(100% - 1000px);
    min-width: 200px; }
#content_wrap .top_movie, #content_wrap2 .top_movie {
  max-width: 100%;
  width: 100%;
  position: relative; }
  #content_wrap .top_movie p, #content_wrap2 .top_movie p {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    z-index: 9;
    bottom: 146px;
    right: 16px;
    margin: 0;
    position: absolute;
    z-index: 99; }
  #content_wrap .top_movie .ib, #content_wrap2 .top_movie .ib {
    padding: 100px 0 130px;
    width: 100%; }
  #content_wrap .top_movie a, #content_wrap2 .top_movie a {
    display: block;
    width: 100%;
    height: 100%;
    height: 640px;
    position: relative;
    transition: 0.4s ease; }
    #content_wrap .top_movie a:hover, #content_wrap2 .top_movie a:hover {
      opacity: 0.8; }
    #content_wrap .top_movie a .start, #content_wrap2 .top_movie a .start {
      width: 134px;
      height: 134px;
      position: absolute;
      z-index: 4;
      top: calc(50% - 67px);
      left: calc(50% - 67px); }
    #content_wrap .top_movie a:before, #content_wrap2 .top_movie a:before {
      content: "";
      position: absolute;
      background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.25));
      mix-blend-mode: multiply;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 30%;
      z-index: 3; }
    #content_wrap .top_movie a video, #content_wrap2 .top_movie a video {
      position: relative;
      z-index: 2;
      object-fit: cover;
      width: 100%;
      height: 100%; }
#content_wrap .top_introduction, #content_wrap2 .top_introduction {
  width: 1440px;
  margin: 0 auto;
  position: relative;
  height: 940px;
  max-width: 100%; }
  #content_wrap .top_introduction.section2, #content_wrap2 .top_introduction.section2 {
    height: auto; }
    #content_wrap .top_introduction.section2 .ib, #content_wrap2 .top_introduction.section2 .ib {
      width: 100%;
      height: 100%;
      padding: 100px 0 112px; }
      #content_wrap .top_introduction.section2 .ib .row, #content_wrap2 .top_introduction.section2 .ib .row {
        height: 740px;
        position: relative;
        display: flex;
        margin-bottom: 40px; }
        #content_wrap .top_introduction.section2 .ib .row:nth-of-type(2n), #content_wrap2 .top_introduction.section2 .ib .row:nth-of-type(2n) {
          margin-bottom: 0;
          flex-direction: row-reverse; }
          #content_wrap .top_introduction.section2 .ib .row:nth-of-type(2n) [class^='left'] .image_box img, #content_wrap2 .top_introduction.section2 .ib .row:nth-of-type(2n) [class^='left'] .image_box img {
            right: auto;
            left: 0; }
          #content_wrap .top_introduction.section2 .ib .row:nth-of-type(2n) [class^='left'] .image_box:after, #content_wrap2 .top_introduction.section2 .ib .row:nth-of-type(2n) [class^='left'] .image_box:after {
            right: 0;
            left: auto; }
          #content_wrap .top_introduction.section2 .ib .row:nth-of-type(2n) [class^="right"], #content_wrap2 .top_introduction.section2 .ib .row:nth-of-type(2n) [class^="right"] {
            padding-left: 176px; }
        #content_wrap .top_introduction.section2 .ib .row [class^="left"], #content_wrap2 .top_introduction.section2 .ib .row [class^="left"] {
          width: 704px;
          position: relative;
          height: 100%; }
          #content_wrap .top_introduction.section2 .ib .row [class^="left"] .image_box, #content_wrap2 .top_introduction.section2 .ib .row [class^="left"] .image_box {
            position: relative;
            width: 100%;
            height: 100%; }
            #content_wrap .top_introduction.section2 .ib .row [class^="left"] .image_box img, #content_wrap2 .top_introduction.section2 .ib .row [class^="left"] .image_box img {
              width: 528px;
              height: 662px;
              position: absolute;
              z-index: 2;
              top: 0;
              right: 0; }
            #content_wrap .top_introduction.section2 .ib .row [class^="left"] .image_box:after, #content_wrap2 .top_introduction.section2 .ib .row [class^="left"] .image_box:after {
              position: absolute;
              content: "";
              display: block;
              background: #E6002D;
              border-radius: 10px;
              width: 480px;
              height: 662px;
              bottom: 0;
              left: 0; }
        #content_wrap .top_introduction.section2 .ib .row [class^="right"], #content_wrap2 .top_introduction.section2 .ib .row [class^="right"] {
          position: relative;
          width: 736px;
          padding-top: 80px;
          padding-left: 144px; }
          #content_wrap .top_introduction.section2 .ib .row [class^="right"] .inner, #content_wrap2 .top_introduction.section2 .ib .row [class^="right"] .inner {
            width: 416px; }
            #content_wrap .top_introduction.section2 .ib .row [class^="right"] .inner h3, #content_wrap2 .top_introduction.section2 .ib .row [class^="right"] .inner h3 {
              margin-top: 0; }
  #content_wrap .top_introduction img, #content_wrap2 .top_introduction img {
    position: absolute;
    z-index: 2; }
    #content_wrap .top_introduction img.img1, #content_wrap2 .top_introduction img.img1 {
      width: 555px;
      right: 0;
      top: 0; }
    #content_wrap .top_introduction img.img2, #content_wrap2 .top_introduction img.img2 {
      width: 458px;
      left: 0px;
      top: 160px; }
    #content_wrap .top_introduction img.img3, #content_wrap2 .top_introduction img.img3 {
      width: 160px;
      top: 500px;
      left: 64px; }
  #content_wrap .top_introduction .ib, #content_wrap2 .top_introduction .ib {
    height: 100%;
    padding: 0; }
    #content_wrap .top_introduction .ib .flow_title, #content_wrap2 .top_introduction .ib .flow_title {
      font-size: 48px;
      line-height: 1.5;
      text-align: center;
      position: relative;
      z-index: 2;
      font-weight: bold;
      margin: 0;
      margin-top: 150px; }
    #content_wrap .top_introduction .ib .math, #content_wrap2 .top_introduction .ib .math {
      display: block;
      position: relative;
      z-index: 2;
      margin: -10px auto 60px; }
    #content_wrap .top_introduction .ib h3, #content_wrap2 .top_introduction .ib h3 {
      position: relative;
      z-index: 2; }
    #content_wrap .top_introduction .ib p, #content_wrap2 .top_introduction .ib p {
      width: 864px;
      max-width: 100%;
      margin: 20px auto; }
#content_wrap .top_keyword, #content_wrap2 .top_keyword {
  background: url(../img/stripe1.png), #D8E2E9;
  background-size: 100px auto, cover;
  height: 860px; }
  #content_wrap .top_keyword .ib, #content_wrap2 .top_keyword .ib {
    padding: 64px 0 123px; }
    #content_wrap .top_keyword .ib h2, #content_wrap2 .top_keyword .ib h2 {
      margin: 0;
      margin-bottom: 64px; }
    #content_wrap .top_keyword .ib .keyword_container, #content_wrap2 .top_keyword .ib .keyword_container {
      height: 508px;
      display: flex;
      justify-content: space-between; }
      #content_wrap .top_keyword .ib .keyword_container .box, #content_wrap2 .top_keyword .ib .keyword_container .box {
        width: 640px;
        height: 476px;
        background: #fff;
        position: relative;
        border-radius: 8px;
        max-width: 100%; }
        #content_wrap .top_keyword .ib .keyword_container .box:nth-of-type(1), #content_wrap2 .top_keyword .ib .keyword_container .box:nth-of-type(1) {
          margin-right: 32px; }
        #content_wrap .top_keyword .ib .keyword_container .box a.btn, #content_wrap2 .top_keyword .ib .keyword_container .box a.btn {
          position: absolute;
          bottom: -32px;
          z-index: 9;
          left: calc(50% - 125px); }
#content_wrap .bottom_link.subpage, #content_wrap2 .bottom_link.subpage {
  background: #D8E2E9; }
#content_wrap .bottom_link .ib, #content_wrap2 .bottom_link .ib {
  padding: 112px 0 127px; }
  #content_wrap .bottom_link .ib .link_outer, #content_wrap2 .bottom_link .ib .link_outer {
    height: 300px;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden; }
    #content_wrap .bottom_link .ib .link_outer a, #content_wrap2 .bottom_link .ib .link_outer a {
      width: 50%;
      height: 100%;
      align-items: center;
      justify-content: center;
      display: flex;
      position: relative;
      transition: 0.4s ease; }
      #content_wrap .bottom_link .ib .link_outer a:hover:before, #content_wrap .bottom_link .ib .link_outer a.hover:before, #content_wrap2 .bottom_link .ib .link_outer a:hover:before, #content_wrap2 .bottom_link .ib .link_outer a.hover:before {
        opacity: 0; }
      #content_wrap .bottom_link .ib .link_outer a:hover img, #content_wrap .bottom_link .ib .link_outer a.hover img, #content_wrap2 .bottom_link .ib .link_outer a:hover img, #content_wrap2 .bottom_link .ib .link_outer a.hover img {
        transform: scale(1);
        opacity: 1; }
      #content_wrap .bottom_link .ib .link_outer a:before, #content_wrap .bottom_link .ib .link_outer a:after, #content_wrap2 .bottom_link .ib .link_outer a:before, #content_wrap2 .bottom_link .ib .link_outer a:after {
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: #E6002D;
        display: block;
        transition: 0.4s ease;
        z-index: 3; }
      #content_wrap .bottom_link .ib .link_outer a:after, #content_wrap2 .bottom_link .ib .link_outer a:after {
        z-index: 2;
        background: #8b8b8b;
        mix-blend-mode: multiply; }
      #content_wrap .bottom_link .ib .link_outer a:nth-of-type(1), #content_wrap2 .bottom_link .ib .link_outer a:nth-of-type(1) {
        border-right: 1px solid #fff; }
      #content_wrap .bottom_link .ib .link_outer a img, #content_wrap2 .bottom_link .ib .link_outer a img {
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        width: 100%;
        height: 100%;
        z-index: 1;
        opacity: 0;
        transition: 0.4s ease;
        transform: scale(0.9);
        transform-origin: center middle; }
      #content_wrap .bottom_link .ib .link_outer a h2, #content_wrap2 .bottom_link .ib .link_outer a h2 {
        position: relative;
        z-index: 4;
        text-align: center;
        color: #fff; }
        #content_wrap .bottom_link .ib .link_outer a h2 em, #content_wrap .bottom_link .ib .link_outer a h2 span, #content_wrap2 .bottom_link .ib .link_outer a h2 em, #content_wrap2 .bottom_link .ib .link_outer a h2 span {
          color: #fff; }

/*************************************
 *
 *subpage
 *
 *************************************** */
.lity {
  z-index: 9999999999 !important; }

.head_tit {
  height: 350px;
  margin-top: 80px;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center; }
  .head_tit.single:before {
    display: none; }
  .head_tit.single .df {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap; }
    .head_tit.single .df .r, .head_tit.single .df .l {
      width: 50%;
      height: 100%;
      display: flex;
      justify-content: flex-end; }
      .head_tit.single .df .r .inner, .head_tit.single .df .l .inner {
        width: 600px;
        padding: 50px; }
      .head_tit.single .df .r img, .head_tit.single .df .l img {
        object-fit: cover;
        width: 100%;
        height: 100%; }
    .head_tit.single .df .l {
      background: #f5f5f5;
      position: relative;
      z-index: 4; }
      .head_tit.single .df .l h1 {
        margin-top: 5px;
        color: #212121; }
      .head_tit.single .df .l .meta {
        font-size: 24px;
        color: #888;
        font-weight: bold; }
  .head_tit:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: url(../img/pattern10.png); }
  .head_tit h1 {
    width: 1100px;
    max-width: 100%;
    font-size: 46px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05rem;
    position: relative;
    z-index: 3; }
  .head_tit .bg_mov {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0; }
    .head_tit .bg_mov video {
      object-fit: cover;
      width: 100%;
      height: 100%; }

.panlist .ib {
  padding: 40px 0px 0;
  display: flex;
  flex-wrap: wrap; }
  .panlist .ib a, .panlist .ib span {
    font-size: 14px;
    color: #777;
    align-items: center;
    display: flex; }
    .panlist .ib a:not(.home):before, .panlist .ib span:not(.home):before {
      content: "";
      font-family: material icons;
      font-size: 26px;
      display: inline-block;
      padding: 0 10px; }
    .panlist .ib a.home:after, .panlist .ib span.home:after {
      content: "";
      font-family: material icons;
      font-size: 24px; }

#pager {
  margin: 50px 0;
  overflow: hidden; }
  #pager .wp-pagenavi {
    display: flex; }
    #pager .wp-pagenavi a, #pager .wp-pagenavi span {
      padding: 12px 20px;
      font-size: 16px;
      align-items: center;
      justify-content: center;
      display: flex;
      border: none;
      background: #f5f5f5;
      margin-right: 5px; }
      #pager .wp-pagenavi a.current, #pager .wp-pagenavi span.current {
        background: #333;
        color: #fff; }

/*************************************
 *
 *footer
 *
 ************************************** */
.buttons_row {
  flex-wrap: wrap;
  display: flex;
  align-items: center;
  margin-top: 64px; }
  .buttons_row a {
    margin-right: 32px;
    margin-bottom: 16px; }
    .buttons_row a:last-child {
      margin-right: 0; }

.breadcrumbs {
  position: relative;
  height: 86px;
  background: #eee; }
  .breadcrumbs .ib {
    display: flex;
    align-items: center; }
    .breadcrumbs .ib .inner {
      display: flex;
      align-items: center;
      padding-left: 24px; }
    .breadcrumbs .ib:after {
      z-index: 2;
      height: 1px;
      width: 100%;
      background: #d1d1d1;
      content: "";
      display: block;
      bottom: 0;
      left: calc(50% - 655px);
      position: absolute; }
    .breadcrumbs .ib a, .breadcrumbs .ib span {
      font-size: 15px; }
      .breadcrumbs .ib a a, .breadcrumbs .ib span a {
        color: #E6002D; }
        .breadcrumbs .ib a a.arrow:before, .breadcrumbs .ib span a.arrow:before {
          content: ">";
          display: inline-block;
          margin: 0 12px;
          color: #212121; }
      .breadcrumbs .ib a.home, .breadcrumbs .ib span.home {
        color: #E6002D;
        padding-right: 24px;
        border-right: 1px solid #d1d1d1; }
        .breadcrumbs .ib a.home + span, .breadcrumbs .ib span.home + span {
          margin-left: 24px; }
    .breadcrumbs .ib span {
      display: flex;
      align-items: center; }
      .breadcrumbs .ib span.middle:before, .breadcrumbs .ib span.no_arr:before {
        display: none; }
      .breadcrumbs .ib span:before {
        content: ">";
        display: inline-block;
        margin: 0 12px; }

.ovh {
  overflow: hidden; }

footer {
  background: #eee;
  position: relative;
  z-index: 2; }
  footer .footer_copyright {
    height: 80px;
    background: #fff; }
    footer .footer_copyright .ib {
      padding: 20px 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap; }
      footer .footer_copyright .ib p {
        margin: 0;
        font-size: 12px;
        font-family: "Open Sans", sans-serif; }
      footer .footer_copyright .ib nav.ff {
        flex-wrap: wrap;
        display: flex; }
        footer .footer_copyright .ib nav.ff a {
          margin-right: 24px;
          font-size: 15px;
          display: flex;
          align-items: center;
          font-weight: normal;
          transition: 0.4s ease; }
          footer .footer_copyright .ib nav.ff a:hover {
            color: #E6002D; }
          footer .footer_copyright .ib nav.ff a.external:after {
            content: url(../img/external_s.svg);
            margin-left: 5px;
            position: relative;
            top: 2px; }
          footer .footer_copyright .ib nav.ff a:last-child {
            margin-right: 0; }
  footer .ib {
    padding: 64px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    footer .ib nav.navigation {
      flex-wrap: wrap;
      display: flex; }
      footer .ib nav.navigation a, footer .ib nav.navigation span.parent {
        font-size: 18px;
        font-weight: bold;
        margin-right: 32px;
        transition: 0.4s ease;
        position: relative; }
        footer .ib nav.navigation a.parent_a, footer .ib nav.navigation span.parent.parent_a {
          margin-right: 0; }
        footer .ib nav.navigation a:hover, footer .ib nav.navigation span.parent:hover {
          color: #E6002D; }
          footer .ib nav.navigation a:hover:after, footer .ib nav.navigation span.parent:hover:after {
            width: 100%; }
        footer .ib nav.navigation a:after, footer .ib nav.navigation span.parent:after {
          transition: 0.4s ease;
          display: block;
          content: "";
          position: absolute;
          bottom: 0;
          left: 0;
          background: #E6002D;
          height: 1px;
          width: 0; }
        footer .ib nav.navigation a.mgr0, footer .ib nav.navigation span.parent.mgr0 {
          margin-right: 0; }
        footer .ib nav.navigation a .inner, footer .ib nav.navigation span.parent .inner {
          display: block;
          margin-top: 8px;
          width: 100%; }
          footer .ib nav.navigation a .inner a, footer .ib nav.navigation span.parent .inner a {
            display: block;
            width: auto;
            font-size: 16px;
            font-weight: 400;
            padding: 6px 0;
            margin-right: 0; }
            footer .ib nav.navigation a .inner a:after, footer .ib nav.navigation span.parent .inner a:after {
              bottom: 5px;
              display: none; }
      footer .ib nav.navigation span.parent:after {
        display: none; }
      footer .ib nav.navigation span.parent:hover {
        color: #333; }
    footer .ib .right {
      width: 782px;
      display: flex;
      flex-wrap: wrap; }
      footer .ib .right nav.navigation {
        width: 100%; }
        footer .ib .right nav.navigation .inner {
          display: flex;
          align-items: baseline; }
      footer .ib .right .buttons {
        display: flex;
        justify-content: flex-end;
        width: 100%;
        align-items: flex-end; }
        footer .ib .right .buttons a.s {
          margin-right: 20px;
          height: 52px;
          width: max-content;
          min-width: inherit;
          font-size: 16px;
          font-weight: bold;
          padding: 14px 28px;
          min-width: 100px; }
    footer .ib .left {
      width: 304px; }
      footer .ib .left .logo {
        width: 200px; }
      footer .ib .left p {
        font-size: 16px;
        margin: 16px 0; }
        footer .ib .left p:nth-of-type(2) {
          font-size: 15px; }
      footer .ib .left a.btn {
        margin-top: 32px; }

/*# sourceMappingURL=style.css.map */
