@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,600;0,700;1,600;1,700&display=swap");
@import url("../../common/css/reset.css");
@import url("../../common/css/base.css");
/*! =================================================================================

  "irrc.co.jp" Site Common Styles

================================================================================== */
html {
  scroll-behavior: smooth;
  overscroll-behavior: none;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  font-size: 18px;
  font-size: 1.8rem;
}

a:link, a:visited {
  color: inherit;
  text-decoration: none;
}

main.l-main a:link, main.l-main a:visited {
  color: #54aae1;
}

.page-hero__inner {
  position: relative;
  padding-bottom: 80px;
}
.page-hero__inner h1 {
  margin-top: 1em;
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: 700;
}
.page-hero__inner p {
  font-size: 18px;
  font-size: 1.8rem;
}
.page-hero__inner::after {
  content: attr(data-en);
  position: absolute;
  bottom: -13px;
  left: -6px;
  font-family: "Public Sans", sans-serif;
  font-size: 100px;
  font-size: 10rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.15);
  line-height: 1;
  pointer-events: none;
}
.page-hero__inner a:link, .page-hero__inner a:visited {
  color: black;
}

.page-hero {
  padding-top: 110px;
}

.breadcrumb {
  position: relative;
  max-width: 1448px;
  width: 100%;
  margin: auto;
  padding: 0 32px;
}
@media screen and (max-width: 927px) {
  .breadcrumb {
    padding-right: 5%;
    padding-left: 5%;
  }
}
.breadcrumb {
  font-size: 14px;
  font-size: 1.4rem;
  color: #2d4b7d;
}
.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}
.breadcrumb li + li::before {
  content: "›";
  margin: 0 0.5em;
  color: #2d4b7d;
  font-size: 1.5em;
  line-height: 1;
}
.breadcrumb a:link, .breadcrumb a:visited {
  color: #2d4b7d;
}
.business-page-hero .breadcrumb {
  color: white;
}
.business-page-hero .breadcrumb li + li::before {
  color: white;
}
.business-page-hero .breadcrumb a:link, .business-page-hero .breadcrumb a:visited {
  color: white;
}

.column-10 {
  max-width: 1201.3333333333px;
  margin: auto;
  padding-right: 32px;
  padding-left: 32px;
}
@media screen and (max-width: 1280px) {
  .column-10 {
    width: 80%;
    margin-right: 10%;
    margin-left: 10%;
  }
}
@media screen and (max-width: 640px) {
  .column-10 {
    width: 90%;
    margin-right: 5%;
    margin-left: 5%;
    padding-left: 12px;
    padding-right: 12px;
  }
}

.column-8 {
  max-width: 954.6666666667px;
  margin: auto;
  padding-right: 32px;
  padding-left: 32px;
}
@media screen and (max-width: 1060px) {
  .column-8 {
    width: 80%;
    margin-right: 10%;
    margin-left: 10%;
  }
}
@media screen and (max-width: 640px) {
  .column-8 {
    width: 90%;
    margin-right: 5%;
    margin-left: 5%;
    padding-left: 12px;
    padding-right: 12px;
  }
}

.l-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.l-container a:link, .l-container a:visited {
  color: #54aae1;
  text-decoration: none;
}

.inner {
  max-width: 954.6666666667px;
  width: 90%;
  margin: auto;
}

.img-full img,
img.img-full {
  width: 100%;
  height: auto;
}

.more-see {
  width: 100px;
  display: block;
  position: relative;
}
.more-see img {
  width: 100%;
  height: auto;
}
@media (hover: hover) and (pointer: fine) {
  .more-see:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .more-see:hover span:first-of-type {
    visibility: hidden;
    opacity: 0;
    filter: alpha(opacity=0);
  }
  .more-see:hover span.ov {
    z-index: 1;
    visibility: visible;
    opacity: 1;
    filter: alpha(opacity=100);
  }
}
.more-see span {
  position: relative;
  grid-area: 1/1;
  display: inline-block;
  transition: all 0.3s;
}
.more-see span.ov {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  filter: alpha(opacity=0);
}

.is-fixed {
  position: fixed;
}

.sp, .sp2 {
  display: none;
}

@media screen and (max-width: 1060px) {
  .page-hero {
    padding-top: 94px;
  }
  .page-hero__inner::after {
    font-size: 9vw;
    bottom: -8px;
    left: -4px;
  }
}
@media screen and (max-width: 927px) {
  body {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .breadcrumb {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .page-hero__inner h1 {
    font-size: 6vw;
  }
  .page-hero__inner p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .page-hero__inner p br {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .sp {
    display: inherit;
  }
  .pc {
    display: none;
  }
  .breadcrumb {
    font-size: 0.7em;
  }
  .page-hero {
    padding-top: 80px;
  }
  .page-hero__inner {
    padding-bottom: 12vw;
  }
  .page-hero__inner::after {
    font-size: 11vw;
  }
  .more-see {
    transform: scale(0.8);
  }
}
@media screen and (max-width: 414px) {
  .sp2 {
    display: inherit;
  }
}
/*!
  Header
================================================================================= */
.l-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 1060px;
  padding: 12px 15px;
}
.l-header .header-item {
  position: relative;
  z-index: 2;
  width: calc(100% - 12px);
  background-color: #ffffff;
  border-radius: 15px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.15);
}
.l-header .header-item .global-nav-unit {
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 0 40px;
  /*! Global Logo
  --------------------------------------------------------------------------------- */
}
.l-header .header-item .global-nav-unit .global-logo a {
  display: flex;
  align-items: flex-end;
  gap: 0 15px;
}
.l-header .header-item .global-nav-unit .global-logo a > img:first-of-type {
  height: 30px;
}
.l-header .header-item .global-nav-unit .global-logo a > img:last-of-type {
  height: 14px;
}
.l-header i {
  position: absolute;
  top: 12px;
  right: 15px;
  width: 68px;
  display: none;
}

@media screen and (max-width: 1280px) {
  .l-header .header-item .global-nav-unit .global-logo a {
    align-items: flex-start;
    flex-direction: column;
  }
  .l-header .header-item .global-nav-unit .global-logo a > img:first-of-type {
    height: 24px;
    transform-origin: 50% 50%;
    margin: 0 0 10px;
  }
  .l-header .header-item .global-nav-unit .global-logo a > img:last-of-type {
    height: 11.2px;
    transform-origin: 50% 50%;
  }
}
@media screen and (max-width: 1060px) {
  .l-header {
    min-width: initial;
  }
  .l-header .header-item {
    width: 100%;
    text-align: center;
  }
  .l-header .header-item .global-nav-unit {
    justify-content: center;
    height: 70px;
    padding: 0;
  }
  .l-header .header-item .global-nav-unit .global-logo a {
    flex-direction: row;
    align-items: flex-end;
  }
  .l-header .header-item .global-nav-unit .global-logo a > img:first-of-type {
    margin: 0;
  }
  .l-header i {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .l-header .header-item .global-nav-unit {
    justify-content: space-between;
    height: 60px;
    padding-left: 40px;
  }
  .l-header .header-item .global-nav-unit .global-logo {
    transform: scale(0.85);
    transform-origin: 0 50%;
  }
  .l-header .header-item .global-nav-unit .global-logo a > img:first-of-type {
    height: 26.6px;
  }
  .l-header .header-item .global-nav-unit .global-logo a > img:last-of-type {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .l-header .header-item .global-nav-unit {
    justify-content: flex-start;
    padding: 0 0 0 6%;
  }
}
@media screen and (max-width: 414px) {
  .l-header .header-item .global-nav-unit .global-logo {
    transform: scale(0.75);
  }
}
/*! Menu Trigger
--------------------------------------------------------------------------------- */
.l-header .menu-trigger {
  display: none;
}

@media screen and (max-width: 1060px) {
  .l-header .menu-trigger {
    position: fixed;
    z-index: 3;
    top: 30px;
    right: calc(15px + 4%);
    width: 50px;
    height: 34px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    -webkit-appearance: none;
    appearance: none;
    background: none;
    outline: 0;
    border: 0;
    padding: 0;
    margin: 0;
    transition: all 0.3s;
    cursor: pointer;
  }
  .l-header .menu-trigger span {
    width: 100%;
    height: 2px;
    background-color: #000000;
    display: inline-block;
    transition: all 0.3s;
  }
  .l-header .menu-trigger.is-toggled span:first-of-type {
    transform: translateY(16px) rotate(-45deg);
  }
  .l-header .menu-trigger.is-toggled span:nth-of-type(2) {
    opacity: 0;
    filter: alpha(opacity=0);
  }
  .l-header .menu-trigger.is-toggled span:last-of-type {
    transform: translateY(-16px) rotate(45deg);
  }
}
@media screen and (max-width: 640px) {
  .l-header .menu-trigger {
    top: 30px;
    width: 42px;
    height: 24px;
  }
  .l-header .menu-trigger.is-toggled span:first-of-type {
    transform: translateY(11px) rotate(-45deg);
  }
  .l-header .menu-trigger.is-toggled span:last-of-type {
    transform: translateY(-11px) rotate(45deg);
  }
}
/*! Global Navi
--------------------------------------------------------------------------------- */
.l-header .header-item .global-nav-unit .global-nav {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.l-header .header-item .global-nav-unit .global-nav > ul {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.l-header .header-item .global-nav-unit .global-nav > ul > li {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 70px 0 0;
  white-space: nowrap;
}
.l-header .header-item .global-nav-unit .global-nav > ul > li > a {
  position: relative;
  padding: 30px 0;
  color: #333333;
  text-decoration: none;
  display: block;
}
.l-header .header-item .global-nav-unit .global-nav > ul > li > a span {
  position: relative;
}
.l-header .header-item .global-nav-unit .global-nav > ul > li > a span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 3px;
  background-color: #005eae;
  transform: scaleX(0);
  transform-origin: 100% 0;
  transition: transform 0.3s;
}
.l-header .header-item .global-nav-unit .global-nav > ul > li > a.is-current span {
  color: #005eae;
}
.l-header .header-item .global-nav-unit .global-nav > ul > li > a:hover span {
  opacity: 1;
  filter: alpha(opacity=100);
}
.l-header .header-item .global-nav-unit .global-nav > ul > li > a:hover span::after {
  transform: scaleX(1);
  transform-origin: 0 0;
}
.l-header .header-item .global-nav-unit .global-nav > ul > li > a:hover + .sub-nav-unit {
  visibility: visible;
  opacity: 1;
}
.l-header .header-item .global-nav-unit .global-nav > ul > li:nth-of-type(4) > a:hover + .sub-nav-unit {
  visibility: hidden;
  opacity: 0;
}
.l-header .header-item .global-nav-unit .global-nav > ul + a {
  position: relative;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  width: 170px;
  height: 100%;
  color: #ffffff;
  background-color: #005eae;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
  border-bottom-left-radius: 0;
  display: grid;
  place-content: center;
  text-decoration: none;
}

@media screen and (max-width: 1280px) {
  .l-header .header-item .global-nav-unit .global-nav > ul > li {
    margin: 0 50px 0 0;
  }
}
@media screen and (max-width: 1060px) {
  .l-header .header-item .global-nav-unit .global-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 50vw;
    height: 100vh;
    text-align: left;
    background-color: #ffffff;
    padding: 3.5%;
    overflow-y: scroll;
    transition: all 0.3s;
    transform: translateX(50vw);
    display: block;
  }
  .l-header .header-item .global-nav-unit .global-nav.is-show {
    transform: translateX(0);
  }
  .l-header .header-item .global-nav-unit .global-nav > ul {
    height: auto;
    display: block;
  }
  .l-header .header-item .global-nav-unit .global-nav > ul > li {
    margin: 0;
  }
  .l-header .header-item .global-nav-unit .global-nav > ul > li > a {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    padding: 0;
    margin: 0 0 1.25em;
  }
  .l-header .header-item .global-nav-unit .global-nav > ul > li > a span::after {
    transform: scaleX(1);
  }
  .l-header .header-item .global-nav-unit .global-nav > ul > li:nth-of-type(3) > a {
    margin: 0 0 2em;
  }
  .l-header .header-item .global-nav-unit .global-nav > ul > li:not(:nth-of-type(3)) > a {
    pointer-events: none;
  }
  .l-header .header-item .global-nav-unit .global-nav > ul + a {
    width: 50%;
    height: auto;
    padding: 1em 0;
    border-radius: 40px;
  }
}
@media screen and (max-width: 835px) {
  .l-header .header-item .global-nav-unit .global-nav {
    width: 60vw;
    transform: translateX(60vw);
  }
  .l-header .header-item .global-nav-unit .global-nav > ul + a {
    font-size: 15px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .l-header .header-item .global-nav-unit .global-nav {
    width: 100vw;
    padding: 5%;
    transform: translateX(100vw);
  }
}
@media screen and (max-width: 640px) {
  .l-header .header-item .global-nav-unit .global-nav {
    top: 0;
    height: 100vh;
    padding: 70px 5%;
  }
}
@media screen and (max-width: 414px) {
  .l-header .header-item .global-nav-unit .global-nav > ul > li > a {
    font-size: 15px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 375px) {
  .l-header .header-item .global-nav-unit .global-nav > ul > li > a {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
/*! Sub Navi
--------------------------------------------------------------------------------- */
.global-nav-unit .global-nav ul li .sub-nav-unit {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  border-radius: 20px;
  background-color: #ffffff;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.15);
  padding: 115px 0 0;
  visibility: hidden;
  opacity: 0;
  filter: alpha(opacity=0);
  transition: all 0.3s;
}
.global-nav-unit .global-nav ul li .sub-nav-unit:hover {
  visibility: visible;
  opacity: 1;
  filter: alpha(opacity=100);
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav {
  border-top: solid 1px #dedede;
  padding: 40px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav figure {
  width: 27.6243093923vw;
  flex-shrink: 0;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav figure img {
  border-radius: 20px;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl {
  width: calc(100% - 27.6243093923vw);
  padding: 0 0 0 110px;
  display: flex;
  align-items: flex-start;
  font-weight: 400;
  color: #333333;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dt {
  width: fit-content;
  font-size: 22px;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 0 0.75em 0 0;
  white-space: nowrap;
  border-right: solid 3px #005eae;
  line-height: 1;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dt span {
  font-size: 0.7272727273em;
  color: #acacac;
  display: block;
  margin: 1em 0 0;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 0 0 70px;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul:not(:last-of-type) {
  margin: 0 100px 0 0;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li:not(:last-of-type) {
  margin: 0 0 30px;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li a {
  color: #333333;
  text-decoration: none;
  padding: 0;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li a span {
  position: relative;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li a span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 2px;
  background-color: #005eae;
  transform: scaleX(0);
  transform-origin: 100% 0;
  transition: transform 0.3s;
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li a:hover span {
  opacity: 1;
  filter: alpha(opacity=100);
}
.global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li a:hover span::after {
  transform: scaleX(1);
  transform-origin: 0 0;
}
.global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl {
  width: 100%;
  padding: 0;
}
.global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd {
  width: 100%;
  flex-wrap: nowrap;
  gap: 0 35px;
}
.global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul {
  width: 25%;
}
.global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul:not(:last-of-type) {
  margin: 0;
}
.global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul li a {
  display: block;
  overflow: hidden;
}
.global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul li a p {
  aspect-ratio: 350/208;
  overflow: hidden;
  border-radius: 20px;
  margin: 0 0 20px;
}
.global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul li a p img {
  width: 100%;
  height: auto;
  flex-shrink: 0;
  object-fit: cover;
}
.global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul li a:hover p img {
  transform: scale(1.15);
}

@media screen and (max-width: 1440px) {
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav {
    padding: 30px;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl {
    padding: 0 0 0 40px;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li:not(:last-of-type) {
    margin: 0 0 15px;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd {
    margin: 0 0 0 40px;
    gap: 0 20px;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul li a p {
    margin: 0 0 10px;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#ir .sub-nav dl dd ul:not(:nth-of-type(2)) {
    width: 27%;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#ir .sub-nav dl dd ul:nth-of-type(2) {
    width: 19%;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#ir .sub-nav dl dd ul:not(:last-of-type) {
    margin: 0;
  }
}
@media screen and (max-width: 1280px) {
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd {
    margin: 0 0 0 50px;
    flex-wrap: nowrap;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul:not(:last-of-type) {
    margin: 0 80px 0 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd {
    margin: 0 0 0 35px;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul li {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul li a p {
    border-radius: 15px;
    margin: 0 0 5px;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#ir .sub-nav dl dd ul:not(:nth-of-type(2)) {
    width: 50%;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#ir .sub-nav dl dd ul:nth-of-type(2) {
    width: 50%;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#ir .sub-nav dl dd ul:nth-of-type(3), .global-nav-unit .global-nav ul li .sub-nav-unit#ir .sub-nav dl dd ul:last-of-type {
    margin: 15px 0 0;
  }
}
@media screen and (max-width: 1060px) {
  .global-nav-unit .global-nav ul li .sub-nav-unit {
    position: static;
    border-radius: 0;
    padding: 0;
    background: none;
    box-shadow: none;
    visibility: visible;
    opacity: 1;
    filter: alpha(opacity=100);
    margin: 0 0 2.5em;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit:hover {
    visibility: visible;
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav {
    border-top: none;
    padding: 0;
    display: block;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav figure {
    display: none;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl {
    width: 100%;
    padding: 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dt {
    display: none;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd {
    width: 100%;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    column-gap: 3%;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li:not(:last-of-type) {
    margin: 0 0 0.75em;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd {
    justify-content: flex-start;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul {
    width: 47%;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul:last-of-type {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    column-gap: 3%;
    margin: 0.75em 0 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul:last-of-type li {
    width: 47%;
    margin: 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul:not(:last-of-type) {
    margin: 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd {
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul li a {
    overflow: visible;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul li a p {
    display: none;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul:nth-of-type(3), .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul:last-of-type {
    margin: 0.75em 0 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul {
    width: 48%;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#ir .sub-nav dl dd ul {
    width: 48% !important;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#ir .sub-nav dl:nth-of-type(3) ul, .global-nav-unit .global-nav ul li .sub-nav-unit#ir .sub-nav dl:last-of-type ul {
    margin: 0.75em 0 0;
  }
}
@media screen and (max-width: 835px) {
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dt {
    pointer-events: none;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li a span::after {
    content: none;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul:last-of-type {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul:last-of-type li {
    width: 50%;
    margin: 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul:not(:last-of-type) {
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul {
    width: 50%;
    margin: 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul:not(:last-of-type) {
    margin: 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul {
    width: 50%;
  }
}
@media screen and (max-width: 640px) {
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul {
    width: 48%;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd ul:last-of-type {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0.75em 0 0;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#corp .sub-nav dl dd:last-of-type ul li {
    width: 50%;
  }
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul:first-of-type, .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul:nth-of-type(2) {
    margin: 0;
  }
}
@media screen and (max-width: 414px) {
  .global-nav-unit .global-nav ul li .sub-nav-unit .sub-nav dl dd ul li {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 375px) {
  .global-nav-unit .global-nav ul li .sub-nav-unit#details .sub-nav dl dd ul li {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/*!
  Footer
================================================================================= */
.l-footer {
  position: relative;
  width: 100%;
}
.l-footer .inner {
  max-width: 1448px;
}

.x-twitter {
  width: 60px;
  height: 60px;
  background-color: #ffffff;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-decoration: none;
}
.x-twitter i {
  font-size: 36px;
  font-size: 3.6rem;
  color: #005eae;
  display: inline-block;
}
.x-twitter.sp {
  display: none;
}

/*! Provides
--------------------------------------------------------------------------------- */
.provides {
  padding: 85px 0 70px 0;
  background-color: #f3f3f3;
  text-align: center;
}
.provides dl {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.provides dl dd {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 45px;
  margin: 30px 0 60px;
}
.provides dl dd a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 360px;
  height: 80px;
  padding: 12px 20px;
  border-radius: 8px;
  background-color: white;
}
.provides dl dd a img {
  height: auto;
}
.provides dl dd:last-of-type {
  margin: 30px 0 0 0;
}
.provides dl dd:last-of-type a {
  background-color: transparent;
  padding: 0;
  height: auto;
}
.provides dl dd:last-of-type a.link-media {
  width: 270px;
  display: inline-block;
}
.provides dl .p-logo1 img {
  width: 269px;
}
.provides dl .p-logo2 img {
  width: 315px;
}
.provides dl .p-logo3 img {
  width: 250px;
}
.provides dl .media img {
  width: 240px;
  margin-top: 10px;
}
.provides dl .anshin img {
  width: 290px;
}

@media screen and (max-width: 835px) {
  .provides {
    padding: 10% 0;
  }
  .provides dl dd:first-of-type {
    grid-template-columns: 28.7% 26.8% 26.5%;
  }
  .provides dl dd:last-of-type span {
    width: 29.7%;
  }
  .provides dl {
    gap: 50px;
  }
}
@media screen and (max-width: 640px) {
  .provides dl {
    margin: 0 7vw;
    font-size: 3vw;
  }
  .provides dl dd {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 5vw;
    margin: 6vw 0 10vw 0;
  }
  .provides dl dd a {
    width: auto;
  }
  .provides dl dd span {
    max-width: 360px;
    width: 75%;
    height: 12.5%;
  }
  .provides dl dd:last-of-type {
    margin: 20px 0 0;
  }
  .provides dl dd:last-of-type span {
    width: 46.40625%;
  }
}
/*! Footer Navi
--------------------------------------------------------------------------------- */
/*! Footer Navi01 */
.fnav01 {
  color: #ffffff;
  padding: 80px 0 95px;
  background-color: #2d4b7d;
}
.fnav01 .inner {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 60px;
}
.fnav01 .inner dl dt {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin: 0 0 1.5em;
}
.fnav01 .inner dl dd {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-weight: 400;
}
.fnav01 .inner dl dd ul li {
  margin: 0 0 0.3em;
}
.fnav01 .inner dl dd ul li a {
  color: #ffffff;
  text-decoration: none;
}
.fnav01 .l-grid-2col {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  grid-template-areas: "left right" "left twitter";
  gap: 0 40px;
  align-items: start;
}
.fnav01 .l-grid-2col ul:first-child {
  grid-area: left;
}
.fnav01 .l-grid-2col ul:last-of-type {
  grid-area: right;
  align-self: start;
}
.fnav01 .l-grid-2col .x-twitter {
  grid-area: twitter;
  justify-self: start;
  align-self: end;
}

/*! Footer Navi02 */
.fnav02 {
  padding: 60px 0 45px;
  background-color: #f3f3f3;
}
.fnav02 .inner {
  position: relative;
}
.fnav02 .inner figure {
  text-align: center;
}
.fnav02 .inner ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 40px auto 0;
}
.fnav02 .inner ul li {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
.fnav02 .inner ul li:not(:last-of-type) {
  margin: 0.5em 0;
  border-right: 1px solid #333333;
}
.fnav02 .inner ul li a {
  padding: 0 1.2em;
  text-decoration: none;
  color: #333333;
  list-style: 1.8;
}
.fnav02 .inner .logo-jpx {
  width: 60px;
  margin-left: 110px;
  display: inline-block;
}

@media screen and (max-width: 1280px) {
  .fnav01 .x-twitter {
    right: 0;
  }
  .fnav01 .inner {
    justify-content: flex-start;
  }
  .fnav02 .inner .logo-unit {
    right: 0;
  }
}
@media screen and (max-width: 835px) {
  .fnav01 {
    padding: 7.5% 0;
  }
  .fnav01 .inner {
    display: block;
  }
  .fnav01 .inner dl {
    width: 100%;
  }
  .fnav01 .inner dl:not(:last-of-type) {
    margin: 0 0 1.5em;
  }
  .fnav01 .inner dl dt {
    margin: 0 0 0.5em;
  }
  .fnav01 .inner dl:nth-of-type(4) {
    margin: 0 0 1.5em;
  }
  .fnav01 .inner dl dd ul {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .fnav01 .inner dl dd ul li {
    margin: 0 0 0.5em;
  }
  .fnav01 .inner dl dd ul li:not(:last-of-type)::after {
    content: "｜";
    padding: 0 0.25em;
  }
  .fnav01 .x-twitter {
    display: none;
  }
  .fnav02 {
    padding: 9vw 0 11vw 0;
  }
  .fnav02 .inner ul li:nth-of-type(4)::after {
    content: none;
  }
  .fnav02 .inner .sns {
    display: block;
    margin-top: 40px;
  }
  .fnav02 .inner .sns .x-twitter {
    margin: auto;
  }
  .fnav02 .x-twitter {
    display: grid;
    margin: 5vw auto;
  }
}
@media screen and (max-width: 768px) {
  .fnav02 .inner figure {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }
  .fnav02 .inner figure img {
    width: auto;
    height: 12vw;
  }
  .fnav02 .inner .logo-jpx {
    width: auto;
    margin-left: 0;
    margin-bottom: 6vw;
  }
}
@media screen and (max-width: 640px) {
  /*! Footer Navi01 */
  .fnav01 {
    display: none;
  }
  /*! Footer Navi02 */
  .fnav02 {
    background-color: #E0E5E7;
  }
  .fnav02 .inner .sns {
    gap: 0 15px;
  }
  .fnav02 .inner .sns a {
    width: 10vw;
    height: 10vw;
  }
  .fnav02 .inner .sns a i {
    font-size: 6vw;
  }
}
@media screen and (max-width: 480px) {
  .fnav02 .inner ul li:nth-child(3),
  .fnav02 .inner ul li:nth-child(5) {
    padding: 0 0.5em;
  }
  .fnav02 .inner ul li:nth-child(3)::after,
  .fnav02 .inner ul li:nth-child(5)::after {
    content: none;
  }
  .x-twitter {
    width: 40px;
    height: 40px;
  }
  .x-twitter i {
    font-size: 2.5rem;
    line-height: 1.2;
  }
}
@media screen and (min-width: 0) and (max-width: 1181px) {
  .fnav02 .inner ul li:not(:last-of-type) {
    border-right: none;
  }
}
/*! Copyright
--------------------------------------------------------------------------------- */
.copy {
  padding: 30px 0;
  background-color: #2d4b7d;
}
.copy p {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff;
}

/*!
  Main
================================================================================= */
.l-main section {
  position: relative;
  width: 100%;
}
.l-main section .sec-heading {
  position: relative;
  width: fit-content;
  font-size: 43px;
  font-size: 4.3rem;
  letter-spacing: 0.05em;
  padding: 0 0 20px;
  line-height: 1;
}
.l-main section .sec-heading::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 3px;
  background-color: #005eae;
}
.l-main section .sec-heading::after {
  content: "";
  position: absolute;
  left: 65px;
  bottom: 1px;
  width: 0;
  height: 1px;
  background-color: #000000;
  transform: translateX(0);
}
.l-main section .sec-heading.line-before::before {
  animation: line-before 0.5s ease-in forwards;
}
.l-main section .sec-heading.line-before::after {
  animation: line-after 0.5s ease-in 0.5s forwards;
}
.l-main section .sec-heading span {
  position: absolute;
  left: 0;
  bottom: -35px;
  font-size: 0.4583333333em;
  font-weight: 400;
  letter-spacing: 0.05em;
  display: block;
}

@media screen and (max-width: 640px) {
  .l-main section .sec-heading {
    font-size: 36px;
    font-size: 3.6rem;
  }
  .l-main section .sec-heading span {
    bottom: -30px;
  }
}
@media screen and (max-width: 480px) {
  .l-main section .sec-heading {
    font-size: 5.8333333333vw;
    margin: auto;
    padding: 0 0 15px;
  }
  .l-main section .sec-heading::after {
    left: 35px;
  }
  .l-main section .sec-heading span {
    bottom: -20px;
  }
}
@keyframes line-before {
  from {
    width: 0;
  }
  to {
    width: 60px;
  }
}
@keyframes line-after {
  from {
    width: 0;
  }
  to {
    width: calc(100% - 65px);
  }
}
@media screen and (max-width: 480px) {
  @keyframes line-before {
    from {
      width: 0;
    }
    to {
      width: 30px;
    }
  }
  @keyframes line-after {
    from {
      width: 0;
    }
    to {
      width: calc(100% - 35px);
    }
  }
}
/*!
  Main Visual
================================================================================= */
.l-main section.mv figure {
  position: relative;
  width: 100%;
}
.l-main section.mv figure::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-image: url();
  background-repeat: "no-repeat";
  background-position: "center top";
  background-size: "cover";
}

@media screen and (max-width: 1060px) {
  .l-main section.mv figure::before {
    top: var(--mvfigPos);
  }
}

/*# sourceMappingURL=common.css.map */
