@charset "UTF-8";
@import url(../fonts/fonts.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/* Mixins */
@import url(../css/swiper-bundle.min.css);
:root {
  --fs-14: max(1.4rem, 1.4rem);
  --fs-16: max(1.6rem, 1.6rem);
  --fs-18: max(1.8rem, 1.8rem);
  --fs-19: max(1.9rem, 1.9rem);
  --fs-20: max(2rem, 2rem);
  --fs-22: max(2.2rem, 2.2rem);
  --fs-23: max(2.3rem, 2.3rem);
  --fs-24: max(2.4rem, 2.4rem);
  --fs-25: max(2.5rem, 2.5rem);
  --fs-26: max(2.6rem, 2.6rem);
  --fs-27: max(2.7rem, 2.7rem);
  --fs-30: max(3rem, 3rem);
  --fs-35: max(3.5rem, 3.5rem);
  --fs-36: max(3.6rem, 3.6rem);
  --fs-40: max(4rem, 4rem);
  --fs-42: max(4.2rem, 4.2rem);
  --fs-60: max(6rem, 6rem);
  --fs-70: max(7rem, 7rem);
  --fs-73: max(7.3rem, 7.3rem);
  --fs-80: max(8rem, 8rem);
  --fs-90: max(9rem, 9rem);
  --fs-99: max(9.9rem, 9.9rem);
  --fs-130: max(13rem, 13rem);
  --fs-150: max(15rem, 15rem);
  --fs-164: max(16.4rem, 16.4rem); }

.grid-950,
.l-grid-950 {
  max-width: 98rem; }
.grid-980,
.l-grid-980 {
  max-width: 101rem; }
.grid-990,
.l-grid-990 {
  max-width: 102rem; }
.grid-1000,
.l-grid-1000 {
  max-width: 103rem; }
.grid-1100,
.l-grid-1100 {
  max-width: 113rem; }
.grid-1110,
.l-grid-1110 {
  max-width: 114rem; }
.grid-1200,
.l-grid-1200 {
  max-width: 123rem; }
.grid-1300,
.l-grid-1300 {
  max-width: 133rem; }
.grid-1456,
.l-grid-1456 {
  max-width: 148.6rem; }
.grid-1615,
.l-grid-1615 {
  max-width: 164.5rem; }
.grid-1666,
.l-grid-1666 {
  max-width: 169.6rem; }
.grid-1720,
.l-grid-1720 {
  max-width: 175rem; }

html {
  font-size: 0.521vw; }
  @media (max-width: 1440px) and (min-width: 961px) {
    html {
      font-size: 0.694444vw; } }
  @media (max-width: 960px) and (min-width: 768px) {
    html {
      font-size: 1.30208vw; } }
  @media (max-width: 767px) {
    html {
      font-size: 2.66667vw; } }

:root {
  --header-h-desktop: 10rem;
  --header-h-desktop-xm: 10.7rem;
  --header-h-mobile: 6.7rem;
  --font-default: max(1.6rem, 14px);
  --txt-25: max(2.5rem, 16px);
  --txt-20: max(2.0rem, 17px);
  --txt-17: max(1.7rem, 15px);
  --txt-15: max(1.5rem, 14px);
  --txt-14: max(1.4rem, 14px);
  --txt-13: max(1.3rem, 13px); }

*,
:after,
:before {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

body,
p {
  font-size: var(--fs-16);
  letter-spacing: 0;
  line-height: 140%;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  color: #000000; }

.anchor_fixtop_1,
.anchor_fixtop {
  display: block;
  position: relative;
  top: -12rem;
  width: 100%;
  visibility: hidden; }

.anchor_fixtop_1 {
  top: -25rem; }

.wow_custom {
  opacity: 0;
  -webkit-transform: translate(0, 35px);
  transform: translate(0, 35px);
  transition: all 0.5s ease; }
  .wow_custom.show {
    opacity: 1;
    -webkit-transform: none;
    transform: none; }
  .wow_custom.right_to_left {
    -webkit-transform: translate(35px, 0);
    transform: translate(35px, 0); }

.cs-fadein {
  opacity: 0;
  transform: translate(0, 35px);
  transition: all 0.5s ease; }
  .cs-fadein.show {
    opacity: 1;
    transform: none; }

[class*="dflex"] {
  display: flex;
  flex-wrap: wrap; }

[class*="aic"] {
  align-items: center; }

[class*="aie"] {
  align-items: flex-end; }

[class*="ais"] {
  align-items: flex-start; }

[class*="jcc"] {
  justify-content: center; }

[class*="jcsb"] {
  justify-content: space-between; }

[class*="jcfe"] {
  justify-content: flex-end; }

[class*="fcolumn"] {
  flex-flow: column; }

a[href^="tel:"] {
  cursor: default;
  pointer-events: none; }
  @media (max-width: 1024px) {
    a[href^="tel:"] {
      cursor: pointer;
      pointer-events: all; } }

[class*="grid"] {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%; }

.l-container {
  max-width: 172rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%; }

.txt__center {
  text-align: center; }
.txt__right {
  text-align: right; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  overflow-clip-margin: inherit; }

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

input,
textarea,
button,
select {
  outline: none;
  resize: none; }

.hv-o {
  transition: ease all 0.5s; }
  .hv-o:hover {
    opacity: 0.8; }

.u-sp {
  display: none; }

ul,
ol {
  list-style: none; }

@media (max-width: 960px) {
  [class*="grid"] {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }

  .u-pc {
    display: none; }

  .u-sp {
    display: block; } }
.btn-hv {
  position: relative; }
  .btn-hv::after {
    top: 0;
    content: "";
    height: 100%;
    width: 0%;
    position: absolute;
    left: 0;
    background: linear-gradient(to right, #0071bc 30.837%, rgba(183, 184, 189, 0.97) 70.3125%, rgba(0, 113, 188, 0.9) 100%);
    z-index: 1;
    transition: ease all 0.35s; }
  .btn-hv:hover::after {
    width: 100%; }
  .btn-hv__txt {
    position: relative;
    z-index: 2; }

@keyframes scroll-left {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
.scroll-infinity {
  position: relative;
  overflow: hidden; }
  .scroll-infinity__wrap {
    display: flex;
    width: 400%;
    gap: 0; }
  .scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0;
    animation: scroll-left 30s linear infinite;
    animation-delay: 0.1s; }
  .scroll-infinity__item {
    flex-shrink: 0; }
    .scroll-infinity__item img {
      display: block;
      width: 42.2rem;
      height: 36.2rem;
      object-fit: cover;
      pointer-events: none;
      user-select: none; }
  @media (max-width: 960px) {
    .scroll-infinity__item {
      width: 20rem !important; } }

.br-sp {
  display: none; }
.br-pc {
  display: inline-block; }

.po01 {
  position: relative;
  z-index: 1; }

.u-h__sp {
  display: none; }
.u-h__pc {
  display: inline-block; }

@media (max-width: 767px) {
  .u-h__sp {
    display: inline-block; }
  .u-h__pc {
    display: none; } }
/*anime*/
.all_fade_up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease; }

.all_fade_up.anime {
  transform: translateY(0);
  opacity: 1; }

.all_fade_right {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.8s ease, transform 0.8s ease; }

.all_fade_right.anime {
  transform: translateX(0);
  opacity: 1; }

.all_fade_left {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.8s ease, transform 0.8s ease; }

.all_fade_left.anime {
  transform: translateX(0);
  opacity: 1; }

.l-container {
  width: 100%;
  max-width: 123rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  .l-container--narrow {
    max-width: 96rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }

@media (max-width: 768px) {
  .l-container {
    padding-inline: 15px; } }
.l-grid {
  display: grid;
  gap: 3rem; }
  .l-grid--2 {
    grid-template-columns: repeat(2, 1fr); }
  .l-grid--3 {
    grid-template-columns: repeat(3, 1fr); }
  .l-grid--reverse {
    direction: rtl; }
    .l-grid--reverse .l-grid__inner {
      direction: ltr; }
  .l-grid__inner {
    min-width: 0; }

@media (max-width: 768px) {
  .l-grid {
    gap: 2rem; }

  .l-grid--2 {
    grid-template-columns: 1fr; } }
.l-header {
  position: relative; }
  .l-header__banner {
    height: 63rem;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    isolation: isolate;
    width: 100%;
    padding-bottom: 21rem; }
    .l-header__banner::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 12rem;
      background: linear-gradient(180deg, #00405b, #fff);
      z-index: 2;
      pointer-events: none;
      mix-blend-mode: multiply;
      inset: 0; }
  .l-header__product {
    background-image: url(../images/product/product-bg-00.jpg); }

.p-header {
  height: 12rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  transition: padding 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
  background: transparent; }
  .p-header::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    background: linear-gradient(90deg, #004095, #0072d1);
    opacity: 0;
    transition: ease all 0.35s;
    z-index: -1;
    pointer-events: none; }
  .p-header__title {
    position: relative;
    z-index: 2;
    width: 100%; }
    .p-header__title-en {
      font-size: var(--fs-150);
      color: #fff;
      opacity: 0.7;
      line-height: 100%;
      position: absolute;
      top: 62.5%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-family: "M53_CHAINSAW KISSED THE OUT";
      font-weight: 400;
      pointer-events: none;
      z-index: 1;
      width: 100%;
      mix-blend-mode: overlay;
      text-align: center; }
      @media (max-width: 1440px) {
        .p-header__title-en {
          --fs-150: max(12rem, 12rem); } }
      @media (max-width: 960px) {
        .p-header__title-en {
          --fs-150: max(6.5rem, 6.5rem); } }
      @media (max-width: 767px) {
        .p-header__title-en {
          --fs-150: max(4rem, 4rem); } }
    .p-header__title-jp {
      color: #fff;
      font-size: var(--fs-40);
      font-weight: 700;
      line-height: 200%;
      letter-spacing: 0; }
  .p-header__inner {
    width: 100%; }
    .p-header__inner .menu {
      padding-right: 4.8rem; }
  .p-header.is-active::before {
    opacity: 0.6; }
  .p-header .logo-humbar img {
    width: 28rem; }
  @media (min-width: 960.5px) {
    .p-header .logo-humbar {
      display: flex;
      align-items: center; }
      .p-header .logo-humbar .menu {
        display: none; }
      .p-header .logo-humbar .logo__link {
        padding: 0 4rem 0 4rem; }
      .p-header .logo-humbar .logo-desc {
        display: inline;
        margin-left: 2.7rem;
        color: #fff;
        font-size: var(--txt-25);
        font-weight: 400;
        line-height: 150%;
        letter-spacing: 0; } }

.p-header__menu-list .p-menu__contact {
  padding-left: 5.8rem;
  padding-right: 0; }
  .p-header__menu-list .p-menu__contact-link {
    width: 25.8rem;
    height: 7.9rem;
    line-height: 7.9rem;
    padding: 0 0 0 3.5rem;
    font-size: var(--fs-18);
    background-color: #fff;
    font-weight: 500;
    position: relative;
    border-radius: 3.95rem;
    z-index: 0;
    transition: all 0.35s ease; }
    .p-header__menu-list .p-menu__contact-link::before {
      content: "";
      position: absolute;
      inset: 0;
      padding: 1px;
      border-radius: inherit;
      background: linear-gradient(90deg, #004095, #0072d1);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
      z-index: -1; }
    .p-header__menu-list .p-menu__contact-link::before {
      transition: opacity 0.35s ease; }
    .p-header__menu-list .p-menu__contact-link span {
      display: inline-block;
      background: linear-gradient(90deg, #004095, #0072d1);
      background-size: 100% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      transition: all 0.35s ease; }
.p-header__menu-list .p-menu__icon {
  display: inline-block;
  vertical-align: middle;
  margin-right: 1.6rem;
  transition: all 0.3s ease;
  padding-bottom: 0.4rem; }
.p-header__menu-list .p-menu__arrow {
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.6rem;
  transition: all 0.3s ease; }

.p-header__menu-list li {
  position: relative;
  padding: 0 3rem; }
  .p-header__menu-list li:not(:last-child) a:hover::after {
    left: 0;
    width: 100%;
    transform-origin: center right;
    right: auto; }
  .p-header__menu-list li:not(:last-child) a::after {
    content: "";
    position: absolute;
    width: 0;
    height: 1px;
    right: 0;
    background-color: #fff;
    bottom: 0;
    transition: 0.4s ease; }
  .p-header__menu-list li::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 1.4rem;
    background-color: #fff;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1; }
  .p-header__menu-list li a {
    color: #fff;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    position: relative;
    display: inline-block;
    transition: all 0.35s ease; }
    .p-header__menu-list li a.active::after {
      left: 0;
      width: 100%;
      transform-origin: center right;
      right: auto; }
    @media (min-width: 960.5px) {
      .p-header__menu-list li a {
        padding: 1.6rem 2.7rem; } }
    .p-header__menu-list li a.p-menu__contact-link {
      overflow: hidden; }
      .p-header__menu-list li a.p-menu__contact-link::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        inset: 0;
        position: absolute;
        background: linear-gradient(90deg, #004095, #0072d1);
        z-index: -1;
        pointer-events: none;
        transition: opacity 0.35s ease;
        opacity: 0;
        border: 1px solid #fff;
        border-radius: inherit; }
      .p-header__menu-list li a.p-menu__contact-link.active span, .p-header__menu-list li a.p-menu__contact-link:hover span {
        color: #fff;
        background: transparent;
        -webkit-text-fill-color: #fff; }
      .p-header__menu-list li a.p-menu__contact-link.active img, .p-header__menu-list li a.p-menu__contact-link:hover img {
        filter: brightness(0) invert(1); }
      .p-header__menu-list li a.p-menu__contact-link.active::before, .p-header__menu-list li a.p-menu__contact-link:hover::before {
        opacity: 0; }
      .p-header__menu-list li a.p-menu__contact-link.active::after, .p-header__menu-list li a.p-menu__contact-link:hover::after {
        opacity: 1; }
  .p-header__menu-list li ul {
    position: absolute;
    z-index: 10;
    top: 100%;
    padding-top: 1.8rem;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    pointer-events: none; }
    @media (min-width: 961px) {
      .p-header__menu-list li ul {
        transition: all 0.35s; } }
    .p-header__menu-list li ul li {
      margin-left: 0;
      margin-bottom: 1rem; }
      .p-header__menu-list li ul li:last-child {
        margin-bottom: 0; }
      .p-header__menu-list li ul li a {
        background: #fff;
        width: 18rem;
        padding: 2.1rem 0;
        text-align: center;
        border-radius: 0.3rem;
        border: #0072d1 solid 0.1rem; }
        .p-header__menu-list li ul li a::before {
          content: none; }
      @media (min-width: 961px) {
        .p-header__menu-list li ul li.is-active a, .p-header__menu-list li ul li:hover a {
          color: #fff !important;
          background: #0072d1; } }
  @media (min-width: 961px) {
    .p-header__menu-list li:hover ul {
      opacity: 1;
      pointer-events: all; } }

@media (max-width: 960px) {
  header {
    position: relative; }

  .p-header .logo-humbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-right: 1.5rem; }
    .p-header .logo-humbar img {
      width: 24.5rem; }

  #menu {
    display: block;
    position: relative;
    top: 0.3rem; }
    #menu > div {
      width: 3.25rem;
      height: 2.625rem;
      position: relative;
      display: flex; }
    #menu span {
      background: #fff;
      -webkit-transform: translateY(-50%) rotate(0deg);
      transform: translateY(-50%) rotate(0deg);
      position: absolute;
      width: 3.25rem;
      height: 2px;
      -webkit-transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;
      transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;
      transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s;
      transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s, -webkit-transform 0.3s ease; }
      #menu span:nth-child(1) {
        top: -0.1rem; }
      #menu span:nth-child(2) {
        top: calc(50% - 0.2rem); }
      #menu span:nth-child(3) {
        bottom: 0.1rem; }
    #menu .change span {
      -webkit-transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;
      transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;
      transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease;
      transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease, -webkit-transform 0.3s ease 0.1s; }
      #menu .change span:nth-child(1) {
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(315deg);
        transform: translateY(-50%) rotate(315deg); }
      #menu .change span:nth-child(2) {
        -webkit-transform: translateY(-50%) rotate(405deg);
        transform: translateY(-50%) rotate(405deg);
        display: none; }
      #menu .change span:nth-child(3) {
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(405deg);
        transform: translateY(-50%) rotate(405deg); }

  .chane-x {
    display: inline-block;
    position: relative;
    cursor: pointer; }

  .menu {
    display: none;
    width: 100%;
    position: absolute;
    background: linear-gradient(90deg, #004095, #0072d1);
    top: 8rem;
    left: 0;
    padding: 0;
    z-index: -1; }
    .menu-gp {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      padding-top: 1rem; }
    .menu__container {
      width: 100%;
      margin-bottom: 1.5rem; }
    .menu .p-header__menu-list {
      display: block; }
      .menu .p-header__menu-list li {
        margin: 0;
        position: relative;
        padding: 0; }
        .menu .p-header__menu-list li::before {
          content: none; }
        .menu .p-header__menu-list li:not(:last-child) a {
          padding: 1.7rem 0;
          display: block;
          text-align: center;
          border-bottom: 1px solid #fff; }
          .menu .p-header__menu-list li:not(:last-child) a::before {
            content: none; }
          .menu .p-header__menu-list li:not(:last-child) a::after {
            content: none; }
          .menu .p-header__menu-list li:not(:last-child) a.active {
            color: #ff0; }
        .menu .p-header__menu-list li.is-active a::before {
          height: 100% !important;
          bottom: 0; }
        .menu .p-header__menu-list li .menu-sub {
          position: absolute;
          background: #0072d1;
          width: 3rem;
          height: 3rem;
          top: 1.4rem;
          z-index: 1;
          right: 0;
          border-radius: 100%; }
          .menu .p-header__menu-list li .menu-sub::before {
            content: "";
            position: absolute;
            width: 1.3rem;
            height: 0.9rem;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: url(../img/common/page-top.png) no-repeat center;
            background-size: contain;
            transition: all 0.35s; }
          .menu .p-header__menu-list li .menu-sub.active::before {
            transform: rotate(180deg) translate(50%, 50%); }
        .menu .p-header__menu-list li ul {
          display: none;
          position: relative;
          opacity: 1;
          pointer-events: all;
          background: #ccc;
          padding: 1.5rem; }
          .menu .p-header__menu-list li ul li {
            margin-bottom: 1.5rem; }
            .menu .p-header__menu-list li ul li:last-child {
              margin-bottom: 0; }
            .menu .p-header__menu-list li ul li a {
              width: 100%; }
    .menu-contact a {
      width: 14rem;
      height: 5rem;
      font-size: 1.8rem; }
    .menu-tel {
      font-size: 2.4rem; } }
@media (max-width: 1680px) and (min-width: 1440.1px) {
  .logo-desc {
    font-size: 1.9rem;
    margin-left: 3rem !important; }

  .menu-list li a {
    padding: 2rem;
    font-size: 1.9rem; } }
@media (max-width: 1440px) and (min-width: 960.5px) {
  .menu-list li a {
    font-size: 2.5rem; } }
@media (max-width: 1680px) {
  .menu-list li:last-child a {
    padding-right: 0; } }
@media (max-width: 1440px) {
  .logo-desc {
    display: none; }

  .p-header__inner .menu {
    padding-right: 1.5rem; }

  .p-header .logo-humbar .logo__link {
    padding: 0 1.5rem 0 1.5rem; } }
@media (max-width: 960px) {
  .menu-list li:hover a::before {
    content: none; }

  .l-header__banner {
    height: 45rem;
    padding-bottom: 14.5rem; }

  .p-header {
    height: 8rem; }
    .p-header__title-en {
      top: 64%; }
    .p-header__inner .menu {
      padding-right: 0; }
    .p-header__menu-list .p-menu__item:last-child {
      padding-top: 1.7rem; }
    .p-header__menu-list .p-menu__contact-link {
      display: block;
      margin: 0 auto;
      height: 6rem;
      line-height: 6rem; } }
@media (max-width: 767px) {
  .p-header .logo-humbar img {
    width: 18.5rem; }

  .l-header__banner {
    height: 30rem;
    padding-bottom: 13.5rem; }

  .p-header__title-en {
    top: 50%; } }
.l-footer {
  position: relative;
  z-index: 1;
  background: #fff; }
  .l-footer::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: url(../images/common/footer-bg-00.png) top center no-repeat;
    transform: rotate(-180deg);
    bottom: 0;
    left: 0; }

.p-footer__top-bg {
  background: #fff;
  position: relative;
  border-radius: 8px;
  z-index: 0;
  padding: 6.2rem 7rem 5.5rem;
  border-radius: 2.9rem;
  margin-bottom: -27rem;
  box-shadow: 0.7rem 0.7rem 2rem rgba(12, 51, 119, 0.2);
  z-index: 3; }
  .p-footer__top-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(90deg, #004095, #0072d1);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1; }
.p-footer__top-title--en {
  display: inline-block;
  background: linear-gradient(90deg, #004095, #0072d1);
  background-size: 100% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-size: var(--fs-27);
  font-family: "M53_CHAINSAW KISSED THE OUT";
  line-height: 100%;
  font-weight: 400; }
.p-footer__top-title--jp {
  display: block;
  color: #1a1a1a;
  font-size: var(--fs-40);
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0;
  padding-top: 1.2rem; }
.p-footer__top-row {
  padding-top: 7rem; }
.p-footer__top-item {
  flex: 0 0 50%;
  align-items: stretch; }
  @media (max-width: 960px) {
    .p-footer__top-item--inner {
      max-width: 27.5rem;
      width: 100%;
      margin-left: auto;
      margin-right: 0; } }
  .p-footer__top-item:first-child {
    border-right: 1px solid #e5e5e5;
    padding-right: 4.5rem;
    padding-left: 8.9rem; }
  .p-footer__top-item:last-child {
    padding-left: 4.5rem; }
  .p-footer__top-item--title {
    color: #1a1a1a;
    font-size: var(--fs-18);
    font-weight: 500;
    line-height: 170%;
    letter-spacing: 0;
    position: relative;
    z-index: 1;
    padding-left: 2.5rem;
    padding-bottom: 2.5rem; }
    .p-footer__top-item--title::before {
      content: "";
      position: absolute;
      width: 1.7rem;
      height: 1.7rem;
      background: linear-gradient(90deg, #004095, #0072d1);
      transform: rotate(90deg);
      top: 0.8rem;
      left: 0; }
  .p-footer__top-item--tel {
    color: #000000;
    font-size: var(--fs-42);
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0; }
    .p-footer__top-item--tel img {
      max-width: 4.9rem;
      width: 100%;
      display: inline-block;
      vertical-align: middle;
      margin-right: 1.9rem;
      margin-top: -0.5rem; }
  .p-footer__top-item--desc {
    padding-left: 7.5rem;
    padding-top: 1rem;
    color: #1a1a1a;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 180%;
    letter-spacing: 0; }
  .p-footer__top-item--link {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    max-width: 43.8rem;
    width: 100%;
    height: 8.9rem;
    border-radius: 4.45rem;
    padding-left: 4rem;
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    transition: ease all 0.35s;
    overflow: hidden; }
    .p-footer__top-item--link::after {
      background: linear-gradient(90deg, #004095, #0072d1);
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      inset: 0;
      z-index: -1;
      transition: opacity 0.35s ease; }
    .p-footer__top-item--link::before {
      content: "";
      position: absolute;
      inset: 0;
      padding: 1px;
      border-radius: inherit;
      background: linear-gradient(90deg, #004095, #0072d1);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
      z-index: -1; }
    .p-footer__top-item--link:hover .p-footer__top-item--txt {
      display: inline-block;
      background: linear-gradient(90deg, #004095, #0072d1);
      background-size: 100% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent; }
    .p-footer__top-item--link:hover .p-footer__top-item--mail {
      filter: brightness(0) saturate(100%) invert(18%) sepia(98%) saturate(1887%) hue-rotate(203deg) brightness(93%) contrast(101%); }
    .p-footer__top-item--link:hover::after {
      opacity: 0; }
    .p-footer__top-item--link:hover .p-footer__top-item--arrow img {
      filter: none; }
    .p-footer__top-item--link img {
      display: inline-block;
      vertical-align: middle; }
  .p-footer__top-item--mail {
    margin-right: 1.2rem; }
  .p-footer__top-item--arrow {
    position: absolute;
    top: 3.2rem;
    right: 4rem;
    pointer-events: none; }
    .p-footer__top-item--arrow img {
      filter: brightness(0) invert(1); }
.p-footer__bottom {
  position: relative;
  z-index: 1;
  background: linear-gradient(90deg, #004095, #0072d1);
  padding: 37.5rem 0 10rem;
  mix-blend-mode: multiply; }
  .p-footer__bottom::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    border-bottom: 4rem solid transparent;
    border-left: 4rem solid white; }
  .p-footer__bottom::after {
    content: "";
    position: absolute;
    top: -1px;
    right: -1px;
    border-bottom: 4rem solid transparent;
    border-right: 4rem solid white; }
  .p-footer__bottom-row {
    gap: 8rem; }
  .p-footer__bottom-left {
    flex: 51rem; }
  .p-footer__bottom-right {
    flex: calc(100% - (51rem + 8rem)); }
  .p-footer__bottom-logo img {
    max-width: 27.8rem;
    width: 100%; }
  .p-footer__bottom-desc {
    color: #fff;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 175%;
    letter-spacing: 0;
    padding-top: 2.8rem; }
  .p-footer__bottom-spac {
    display: inline-block;
    width: 1.8rem; }
  .p-footer__bottom-nav li {
    display: inline-block; }
    .p-footer__bottom-nav li:last-child a, .p-footer__bottom-nav li:nth-last-of-type(2) a {
      border-right: 1px solid #fff; }
    .p-footer__bottom-nav li:last-child {
      display: none; }
    .p-footer__bottom-nav li a {
      display: inline-block;
      padding: 0 5.5rem;
      color: #fff;
      font-size: var(--fs-16);
      font-weight: 400;
      line-height: 100%;
      letter-spacing: 0;
      border-left: 1px solid #fff;
      transition: ease all 0.35s; }
      .p-footer__bottom-nav li a:hover {
        text-decoration: underline; }
  .p-footer__bottom-recruit {
    margin-top: 6rem;
    max-width: 51.6rem;
    height: 15.2rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-radius: 1.4rem;
    padding-left: 4.2rem;
    background: url(../images/common/footer-img-03.png) right center no-repeat;
    background-size: 51.6rem; }
    .p-footer__bottom-recruit span {
      display: block; }
    .p-footer__bottom-recruit--en {
      display: inline-block;
      background: linear-gradient(90deg, #004095, #0072d1);
      background-size: 100% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      font-weight: 400;
      font-size: var(--fs-27);
      font-family: "M53_CHAINSAW KISSED THE OUT";
      line-height: 100%; }
    .p-footer__bottom-recruit--jp {
      color: #1a1a1a;
      font-size: var(--fs-40);
      font-weight: 700;
      line-height: 160%;
      letter-spacing: 0; }
  .p-footer__bottom-rows {
    justify-content: space-between;
    align-items: center;
    padding-top: 5.8rem; }
  .p-footer__bottom-copyright {
    color: #fff;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 175%;
    letter-spacing: 0; }
  .p-footer__bottom-pri a {
    color: #fff;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    text-decoration: underline; }

.js-backtop {
  opacity: 0;
  width: 11.4rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 11.4rem;
  border: 1px solid #fff;
  border-radius: 100%;
  position: fixed;
  bottom: 3rem;
  right: 17rem;
  z-index: 9;
  text-align: center;
  background-color: #0072d1; }
  .js-backtop img {
    max-width: 4rem;
    width: 100%; }
  .js-backtop.show {
    opacity: 1; }

@media (max-width: 1440px) {
  .js-backtop {
    width: 6.4rem;
    height: 6.4rem;
    bottom: 2rem;
    right: 5rem; }
    .js-backtop img {
      max-width: 3rem;
      width: 100%; } }
@media (max-width: 960px) {
  .p-footer__top-bg {
    padding: 5rem 2rem 5rem; }
  .p-footer__top-row {
    padding-top: 3rem; }
  .p-footer__top-item:first-child {
    padding-left: 0;
    padding-right: 2rem; }
  .p-footer__top-item:last-child {
    padding-left: 2rem; }
  .p-footer__top-item--desc {
    padding-left: 6.5rem; }
  .p-footer__top-item--link {
    height: 7.4rem;
    max-width: 90%;
    padding-left: 2.5rem; }
  .p-footer__top-item--arrow {
    top: 2.8rem;
    right: 2rem; }
  .p-footer__bottom {
    padding: 33rem 0 5rem; }
    .p-footer__bottom::before {
      top: -1px;
      left: -1px; }
    .p-footer__bottom::after {
      right: -1px;
      top: -1px; }
    .p-footer__bottom-row {
      gap: 3rem; }
    .p-footer__bottom-left {
      flex: 100%;
      text-align: center; }
    .p-footer__bottom-right {
      flex: 100%;
      text-align: center; }
    .p-footer__bottom-recruit {
      margin-top: 3rem;
      margin-left: auto;
      margin-right: auto; }
    .p-footer__bottom-pri {
      display: none; }
    .p-footer__bottom-nav li:last-child {
      display: inline-block; }
    .p-footer__bottom-nav li:nth-last-of-type(2) a {
      border-right: 0; }
    .p-footer__bottom-nav li a {
      padding: 0 2rem; }
    .p-footer__bottom-rows {
      justify-content: center;
      padding-top: 3rem; } }
@media (max-width: 767px) {
  br.u-br__sp {
    display: inline-block; }

  .p-footer__top-bg {
    padding: 3rem 2rem 3rem; }
  .p-footer__top-row {
    padding-top: 1.5rem;
    gap: 1.5rem; }
  .p-footer__top-item {
    flex: 100%; }
    .p-footer__top-item:first-child {
      border: none;
      padding-right: 0; }
    .p-footer__top-item:last-child {
      padding-left: 0; }
  .p-footer__top-item--mail {
    margin-right: 0.5rem;
    max-width: 1.5rem;
    width: 100%; }
  .p-footer__top-item--link {
    height: 5.4rem;
    margin: 0 auto;
    padding-left: 1.5rem; }
    .p-footer__top-item--link .ow {
      width: 100%; }
  .p-footer__top-item--arrow {
    top: 1.8rem; }
    .p-footer__top-item--arrow img {
      max-width: 1.8rem;
      width: 100%; }
  .p-footer__top-item--tel img {
    max-width: 3.9rem;
    margin-right: 1rem; }
  .p-footer__top-item--desc {
    padding-left: 4.5rem; }
  .p-footer__bottom {
    padding-top: 31rem;
    padding-bottom: 2rem; }
    .p-footer__bottom-nav li {
      margin-bottom: 0.8rem; }
    .p-footer__bottom-recruit {
      text-align: left;
      margin-top: 1rem;
      padding-left: 2.2rem;
      height: 11.5rem; }
    .p-footer__bottom-copyright {
      text-align: center; }

  .js-backtop {
    width: 4.4rem;
    height: 4.4rem;
    bottom: 1rem;
    right: 3rem; }
    .js-backtop img {
      max-width: 2rem; } }
.c-heading__title {
  padding-bottom: 3rem; }
  .c-heading__title-en {
    color: var(--color-primary);
    font-size: var(--fs-20);
    font-weight: 900;
    line-height: 175%;
    letter-spacing: 0.02rem;
    position: relative;
    display: inline-flex;
    gap: .5rem; }
    .c-heading__title-en::before {
      content: "";
      position: absolute;
      width: 1.3rem;
      height: 1.3rem;
      background: var(--color-primary);
      position: relative;
      display: inline-block;
      border-radius: 50%; }
  .c-heading__title-ja {
    color: var(--color-text-black);
    font-size: var(--fs-50);
    font-weight: 700;
    line-height: 174%;
    letter-spacing: 0.02rem; }
  @media (min-width: 960.5px) {
    .c-heading__title {
      padding-bottom: 5rem; } }

.c-text-block p {
  margin-bottom: 1.7em; }
  .c-text-block p:last-child {
    margin-bottom: 0; }

@media (max-width: 960px) {
  .marquee {
    white-space: nowrap;
    box-sizing: border-box;
    margin-bottom: -0.8rem;
    animation: continuousMarquee 20s linear infinite; }
    .marquee::after {
      content: attr(data-text);
      display: inline-block;
      padding-left: 2.5rem; }

  @keyframes continuousMarquee {
    0% {
      transform: translateX(0); }
    100% {
      transform: translateX(-50%); } } }
@keyframes scrollLineSmooth {
  0% {
    transform: translateY(-2rem); }
  50% {
    transform: translateY(0); }
  100% {
    transform: translateY(-2rem); } }
.l-footer-top::before {
  transform: none; }
.l-home-about {
  background: url(../images/top/home-about-bg-00.png) top right no-repeat;
  padding: 10rem 0 12rem; }
.l-home-product {
  background: url(../images/top/home-product-bg-00.jpg) center center no-repeat;
  background-size: cover;
  padding: 15.4rem 0 11.5rem; }
.l-home-strength {
  padding-top: 14.5rem; }
  @media (max-width: 960px) {
    .l-home-strength {
      padding-top: 7rem; } }
  @media (max-width: 767px) {
    .l-home-strength {
      padding-top: 5rem; } }
.l-home-case {
  background: url(../images/top/top-case-img-00.jpg) center center no-repeat;
  background-size: cover;
  padding: 29.5rem 0 13rem; }
.l-home-faq {
  padding: 11.6rem 0 13.7rem; }

.u-br__sp960 {
  display: none; }

.p-title__style01 {
  font-size: var(--fs-99);
  font-family: "M53_CHAINSAW KISSED THE OUT";
  font-weight: 400;
  line-height: 175%;
  text-transform: uppercase; }
  .p-title__style01-grad {
    opacity: 0.4;
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent; }
  .p-title__style01-whi {
    color: #fff; }
.p-title__style02 {
  position: relative;
  z-index: 1;
  margin-bottom: 9rem; }
  .p-title__style02-whi .p-title__style02-jp {
    color: #fff;
    background: transparent;
    -webkit-text-fill-color: #fff; }
  .p-title__style02-whi .p-title__style02-en {
    color: #99b3d5;
    background: transparent;
    -webkit-text-fill-color: #99b3d5;
    opacity: 1; }
  .p-title__style02-jp {
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: var(--fs-40);
    font-weight: 700;
    line-height: 160%; }
    .p-title__style02-jp strong {
      font-size: var(--fs-90); }
  .p-title__style02-en {
    font-size: var(--fs-164);
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    opacity: 0.2;
    position: absolute;
    top: 73%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    pointer-events: none;
    width: 100%;
    line-height: 100%;
    font-family: "M53_CHAINSAW KISSED THE OUT";
    font-weight: 400; }
.p-btn__style01 {
  width: 33.5rem;
  height: 8.4rem;
  border-radius: 4.2rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 4.5rem;
  overflow: hidden;
  transition: ease all 0.35s;
  font-size: var(--fs-20);
  position: relative;
  z-index: 1; }
  .p-btn__style01-icon {
    display: inline-block;
    width: 2.2rem;
    height: 2.2rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3.5rem;
    pointer-events: none;
    transition: ease all 0.35s; }
  .p-btn__style01-grad {
    transition: ease all 0.35s; }
    .p-btn__style01-grad .p-btn__style01-icon {
      background: url(../images/common/btn-icon-img-00.png) center no-repeat;
      background-size: 2.2rem; }
    .p-btn__style01-grad span {
      color: #fff;
      transition: ease all 0.35s; }
    .p-btn__style01-grad:hover .p-btn__style01-icon {
      background: url(../images/common/btn-icon-img-00-hv.png) center no-repeat;
      background-size: 2.2rem; }
    .p-btn__style01-grad:hover span {
      display: inline-block;
      background: linear-gradient(90deg, #004095, #0072d1);
      background-size: 100% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent; }
    .p-btn__style01-grad:hover::after {
      opacity: 0; }
    .p-btn__style01-grad::after {
      background: linear-gradient(90deg, #004095, #0072d1);
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      inset: 0;
      z-index: -1;
      transition: opacity 0.35s ease; }
    .p-btn__style01-grad::before {
      content: "";
      position: absolute;
      inset: 0;
      padding: 1px;
      border-radius: inherit;
      background: linear-gradient(90deg, #004095, #0072d1);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
      z-index: -1; }
  .p-btn__style01-whi {
    background: #fff; }
    .p-btn__style01-whi:hover {
      background: transparent; }
      .p-btn__style01-whi:hover::after {
        opacity: 1; }
      .p-btn__style01-whi:hover .p-btn__style01-txt {
        color: #fff;
        background: transparent;
        -webkit-text-fill-color: #fff; }
      .p-btn__style01-whi:hover .p-btn__style01-icon {
        background: url(../images/common/btn-icon-img-00.png) center no-repeat;
        background-size: 2.2rem; }
    .p-btn__style01-whi .p-btn__style01-txt {
      display: inline-block;
      display: inline-block;
      background: linear-gradient(90deg, #004095, #0072d1);
      background-size: 100% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent; }
    .p-btn__style01-whi .p-btn__style01-icon {
      background: url(../images/common/btn-icon-img-00-hv.png) center no-repeat;
      background-size: 2.2rem; }
    .p-btn__style01-whi::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      inset: 0;
      background: linear-gradient(90deg, #004095, #0072d1);
      transition: ease all 0.35s;
      z-index: -1;
      pointer-events: none;
      border: 1px solid #fff;
      border-radius: inherit;
      opacity: 0; }
.p-slider {
  isolation: isolate; }
  .p-slider::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 12rem;
    background: linear-gradient(180deg, #00405b, #fff);
    z-index: 2;
    pointer-events: none;
    mix-blend-mode: multiply;
    inset: 0; }
  .p-slider__img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: left; }
  .p-slider__txt {
    position: absolute;
    top: 62.5%;
    left: 0;
    transform: translateY(-50%);
    z-index: 1;
    width: 100%; }
  .p-slider__title {
    color: #fff;
    font-size: var(--fs-73);
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0;
    transition: opacity 2s 0.7s ease,filter 0.4s 1s ease;
    opacity: 0;
    padding-bottom: 6.5rem; }
    @media (max-width: 767px) {
      .p-slider__title {
        opacity: 1 !important; } }
    .p-slider__title strong {
      font-size: var(--fs-90); }
  .p-slider__bg {
    display: inline-block;
    position: relative;
    z-index: 1;
    isolation: isolate; }
    .p-slider__bg::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 77%;
      background-color: rgba(0, 19, 81, 0.72);
      mix-blend-mode: multiply;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      top: 58%;
      transform: translateY(-50%); }
  .p-slider__desc {
    color: #fff;
    font-size: var(--fs-23);
    font-weight: 500;
    line-height: 170%;
    letter-spacing: 0;
    opacity: 0;
    transform: translateY(10px); }
    @media (max-width: 767px) {
      .p-slider__desc {
        opacity: 1 !important; } }
  .p-slider__scroll {
    display: inline-block;
    position: absolute;
    bottom: -15.6rem;
    right: 14.2rem;
    z-index: 1;
    color: #fff;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    font-family: "M53_CHAINSAW KISSED THE OUT"; }
    .p-slider__scroll-line {
      display: block;
      width: 1px;
      margin: 3rem auto 0;
      height: 28.2rem;
      background-color: #fff;
      animation: scrollLineSmooth 4s ease-in-out infinite; }
      .p-slider__scroll-line::before {
        content: "";
        position: absolute;
        width: 1.4rem;
        height: 1.4rem;
        border-radius: 100%;
        background-color: #fff;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1; }
.p-home-about__row {
  gap: 12rem; }
.p-home-about__left {
  flex: 60rem; }
.p-home-about__right {
  flex: calc(100% - (60rem + 12rem));
  margin-top: -2.8rem; }
.p-home-about__intro {
  color: #1a1a1a;
  font-size: var(--fs-60);
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 0; }
  .p-home-about__intro:before {
    content: "自動化　第一歩　\A経験　技術";
    white-space: pre;
    position: absolute;
    inset: 0;
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    pointer-events: none; }
.p-home-about__desc {
  color: #000000;
  font-size: var(--fs-19);
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0;
  padding: 4.2rem 0 5rem; }
.p-home-about__list {
  gap: 0.5rem 2.8rem;
  justify-content: center; }
  .p-home-about__list-sp {
    display: none; }
.p-home-about__item {
  flex: calc((100% - 5.6rem) / 3);
  height: 22.3rem;
  max-width: 22.3rem;
  padding: 1rem;
  position: relative;
  border-radius: 100%;
  z-index: 0; }
  .p-home-about__item::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(90deg, #004095, #0072d1);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1; }
  .p-home-about__item:first-child .p-home-about__item-img {
    max-width: 9.7rem;
    width: 100%; }
  .p-home-about__item:nth-child(2) .p-home-about__item-img {
    max-width: 9.7rem;
    width: 100%; }
  .p-home-about__item:nth-child(2) .p-home-about__item-img {
    max-width: 9.6rem;
    width: 100%; }
  .p-home-about__item:nth-child(3) .p-home-about__item-img {
    max-width: 8.1rem;
    width: 100%; }
  .p-home-about__item:nth-child(4) .p-home-about__item-img {
    max-width: 9rem;
    width: 100%; }
  .p-home-about__item:nth-child(5) .p-home-about__item-img {
    max-width: 8.7rem;
    width: 100%; }
  .p-home-about__item-inner {
    background: linear-gradient(90deg, #004095, #0072d1);
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: inherit; }
    .p-home-about__item-inner .ow {
      width: 100%;
      text-align: center; }
  .p-home-about__item-desc {
    color: #fff;
    font-size: var(--fs-22);
    font-weight: 500;
    line-height: 135%;
    letter-spacing: 0;
    margin-top: 1.5rem; }
.p-home-product__desc {
  color: #fff;
  font-size: var(--fs-40);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
  padding-bottom: 6.5rem; }
.p-home-product__title {
  line-height: 100%;
  padding-bottom: 1.7rem; }
.p-home-product .p-btn__style01 {
  margin: 0 auto; }
.p-home-strength__list {
  margin-bottom: -12rem; }
.p-home-strength__arrow {
  max-width: 58.5rem;
  width: 100%;
  position: absolute;
  margin: 0 auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1; }
  .p-home-strength__arrow img {
    max-width: 2.7rem;
    width: 100%; }
    @media (max-width: 420px) {
      .p-home-strength__arrow img {
        max-width: 1.5rem; } }
  @media (max-width: 767px) {
    .p-home-strength__arrow {
      max-width: 29.5rem; } }
  @media (max-width: 767px) and (max-width: 420px) {
    .p-home-strength__arrow {
      max-width: 31.5rem; } }

.p-home-strength .swiper-wrapper {
  transition-timing-function: linear; }
.p-home-strength .swiper-slide {
  padding-top: 3.3rem;
  width: 39.6rem;
  margin: 0 1.6rem; }
  @media (max-width: 767px) {
    .p-home-strength .swiper-slide {
      width: 20rem; } }
.p-home-strength .slick-active {
  margin-left: 15.8rem;
  margin-right: 15.8rem; }
  @media (max-width: 767px) {
    .p-home-strength .slick-active {
      margin-left: 5rem;
      margin-right: 5rem; } }
@media (max-width: 767px) {
  .p-home-strength .swiper-slide-active {
    margin-left: 5rem !important;
    margin-right: 5rem !important; } }
.p-home-strength__item {
  background-color: #fff;
  position: relative;
  border-radius: 8px;
  z-index: 0;
  border-radius: 3.05rem;
  padding: 3rem;
  box-shadow: 0.7rem 0.7rem 2rem rgba(12, 51, 119, 0.2);
  height: 42.4rem; }
  .p-home-strength__item::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(90deg, #004095, #0072d1);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1; }
  @media (max-width: 767px) {
    .p-home-strength__item {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
      height: 39rem; } }
  .p-home-strength__item-01 .p-home-strength__img img {
    max-width: 11.3rem;
    width: 100%; }
    @media (max-width: 767px) {
      .p-home-strength__item-01 .p-home-strength__img img {
        max-width: 7rem; } }
  .p-home-strength__item-02 .p-home-strength__img img {
    max-width: 9.5rem;
    width: 100%; }
    @media (max-width: 767px) {
      .p-home-strength__item-02 .p-home-strength__img img {
        max-width: 7rem; } }
  .p-home-strength__item-03 .p-home-strength__img img {
    max-width: 16.4rem;
    width: 100%; }
    @media (max-width: 767px) {
      .p-home-strength__item-03 .p-home-strength__img img {
        max-width: 9rem; } }
  .p-home-strength__item-04 .p-home-strength__img img {
    max-width: 10.5rem;
    width: 100%; }
    @media (max-width: 767px) {
      .p-home-strength__item-04 .p-home-strength__img img {
        max-width: 7rem; } }
  .p-home-strength__item-05 .p-home-strength__img img {
    max-width: 25.6rem;
    width: 100%; }
    @media (max-width: 767px) {
      .p-home-strength__item-05 .p-home-strength__img img {
        max-width: 12rem; } }
.p-home-strength__number {
  font-size: var(--fs-70);
  display: inline-block;
  background: linear-gradient(90deg, #004095, #0072d1);
  background-size: 100% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-weight: 400;
  font-family: "M53_CHAINSAW KISSED THE OUT";
  line-height: 100%;
  text-align: center;
  display: block;
  position: absolute;
  top: -2.5rem;
  width: 100%;
  left: 50%;
  transform: translateX(-50%); }
  @media (max-width: 767px) {
    .p-home-strength__number {
      top: -1.5rem; } }
.p-home-strength__img {
  height: 17rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media (max-width: 767px) {
    .p-home-strength__img {
      height: 10rem; } }
.p-home-strength__title {
  color: #000000;
  font-size: var(--fs-30);
  font-weight: 500;
  line-height: 133%;
  letter-spacing: -0.05rem;
  text-align: center;
  padding-bottom: 3rem; }
  @media (max-width: 767px) {
    .p-home-strength__title {
      padding-bottom: 1.5rem;
      font-size: 2rem; } }
.p-home-strength__desc {
  text-align: center;
  color: #000000;
  font-size: var(--fs-16);
  font-weight: 500;
  line-height: 175%;
  letter-spacing: 0; }
.p-home-case__item {
  background: #fff;
  border-radius: 3rem;
  padding: 2.5rem 5rem 4rem; }
  .p-home-case__item:not(:last-child) {
    margin-bottom: 3.5rem; }
.p-home-case__head {
  justify-content: space-between;
  align-items: center; }
.p-home-case__title {
  color: #000000;
  font-size: var(--fs-40);
  font-weight: 500;
  line-height: 175%;
  letter-spacing: 0;
  position: relative;
  z-index: 1; }
  .p-home-case__title::before {
    content: "";
    position: absolute;
    width: 3.9rem;
    height: 1.1rem;
    top: 54%;
    left: -5rem;
    transform: translateY(-50%);
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, #004095, #0072d1); }
  .p-home-case__title-child {
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: var(--fs-23);
    font-weight: 500;
    line-height: 100%;
    position: relative;
    z-index: 1;
    padding-left: 1.2rem;
    padding-bottom: 1.2rem; }
    .p-home-case__title-child::before {
      content: "";
      position: absolute;
      width: 0.3rem;
      height: 1.7rem;
      background: linear-gradient(90deg, #004095, #0072d1);
      inset: 0;
      top: 0.4rem; }
.p-home-case__number {
  display: inline-block;
  background: linear-gradient(90deg, #004095, #0072d1);
  background-size: 100% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-family: "M53_CHAINSAW KISSED THE OUT";
  opacity: 0.1;
  font-weight: 400;
  font-size: var(--fs-80);
  line-height: 100%; }
.p-home-case__row {
  align-items: stretch;
  padding-top: 1rem; }
  .p-home-case__row-item {
    flex: 1; }
    .p-home-case__row-item:first-child {
      padding-right: 3.5rem;
      position: relative;
      z-index: 1; }
      .p-home-case__row-item:first-child::after {
        content: "";
        position: absolute;
        width: 1px;
        height: 100%;
        background: linear-gradient(90deg, #004095, #0072d1);
        top: 0;
        right: 0;
        z-index: 1;
        pointer-events: none;
        opacity: 0.5; }
    .p-home-case__row-item:last-child {
      padding-left: 3.5rem; }
.p-home-case__tags {
  font-size: 0;
  margin-left: -0.25rem;
  padding-bottom: 2.2rem; }
  .p-home-case__tags-link {
    display: inline-block;
    position: relative;
    border-radius: 8px;
    z-index: 0;
    border-radius: 1.4rem;
    color: #1a1a1a;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 175%;
    letter-spacing: 0;
    padding: 0 1.7rem;
    margin: 0 0.25rem 0.5rem; }
    .p-home-case__tags-link::before {
      content: "";
      position: absolute;
      inset: 0;
      padding: 1px;
      border-radius: inherit;
      background: linear-gradient(90deg, #004095, #0072d1);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
      z-index: -1; }
.p-home-case__intro {
  color: #000000;
  font-size: var(--fs-23);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0;
  padding: 1.2rem 0 2rem; }
.p-home-case__desc {
  color: #000000;
  font-size: var(--fs-16);
  font-weight: 400;
  line-height: 175%;
  letter-spacing: -0.035rem; }
.p-home-case__img {
  max-width: 46rem;
  width: 100%; }
.p-home-faq .p-title__style02-en {
  color: #fff;
  opacity: 0.4;
  background: transparent;
  -webkit-text-fill-color: #fff; }
.p-home-faq__item {
  background-color: #fff;
  border-radius: 1.5rem;
  position: relative;
  border-radius: 8px;
  z-index: 0;
  padding: 1.7rem 3rem 1.5rem 2.7rem;
  transition: padding 0.35s ease; }
  .p-home-faq__item::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(90deg, #004095, #0072d1);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1; }
  .p-home-faq__item:not(:last-child) {
    margin-bottom: 2rem; }
  .p-home-faq__item.active {
    padding-bottom: 8rem; }
    .p-home-faq__item.active .p-home-faq__item04 {
      padding-bottom: 4.8rem; }
    .p-home-faq__item.active .p-home-faq__arrow::after {
      transform: scaleY(0); }
.p-home-faq__a {
  display: none;
  color: #000000;
  font-size: var(--fs-16);
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
  padding-left: 2.8rem;
  margin-top: 2.5rem; }
  .p-home-faq__a:before {
    content: "A.";
    color: #0072d1;
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    font-size: var(--fs-23);
    font-weight: 500;
    top: -0.2rem; }
.p-home-faq__q {
  color: #000000;
  font-size: var(--fs-23);
  font-weight: 500;
  line-height: 170%;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
  padding-left: 3.2rem;
  cursor: pointer; }
  .p-home-faq__q:before {
    content: "Q.";
    color: #0072d1;
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    font-size: var(--fs-23);
    font-weight: 500; }
.p-home-faq__arrow {
  display: inline-block;
  width: 2.9rem;
  height: 2.9rem;
  position: absolute;
  top: 0.7rem;
  right: 0;
  z-index: 1;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1); }
  .p-home-faq__arrow::after, .p-home-faq__arrow::before {
    content: "";
    position: absolute;
    background: #0072d1;
    transition: ease all 0.35s; }
  .p-home-faq__arrow::before {
    width: 2.9rem;
    height: 0.3rem;
    left: 0;
    top: 1.3rem; }
  .p-home-faq__arrow::after {
    width: 0.3rem;
    height: 2.9rem;
    top: 0;
    left: 1.3rem; }

.swiper-button-next::after,
.swiper-button-prev::after {
  content: none; }

.u-br__sp {
  display: none; }

.u-br__767 {
  display: none; }

@media (min-width: 960.5px) {
  #wrapper.anime .p-slider__title {
    opacity: 1; }

  #wrapper.anime_end .p-slider__title {
    transition: 0s; }

  #wrapper.anime .p-slider__desc {
    opacity: 1;
    transform: translateY(0);
    transition: 2s 0.7s ease; } }
@media (max-width: 1440px) {
  .p-home-about__item {
    height: 21.3rem; } }
@media (max-width: 960px) {
  :root {
    --fs-164: max(8rem, 8rem);
    --fs-99: max(7rem, 7rem);
    --fs-90: max(6rem, 6rem);
    --fs-80: max(4.5rem, 4.5rem);
    --fs-73: max(4.3rem, 4.3rem);
    --fs-60: max(3.5rem, 3.5rem);
    --fs-42: max(2.8rem, 2.8rem);
    --fs-40: max(2.5rem, 2.5rem);
    --fs-30: max(2.2rem, 2.2rem);
    --fs-27: max(1.9rem, 1.9rem);
    --fs-23: max(1.8rem, 1.8rem); }

  .l-home-about {
    padding: 5rem 0 5rem;
    background-size: cover; }
  .l-home-product {
    padding: 7rem 0 7rem; }
  .l-home-case {
    padding: 20rem 0 7rem; }
  .l-home-faq {
    padding: 7rem 0 7rem; }

  .u-br__sp960 {
    display: inline-block; }

  .p-title__style02 {
    margin-bottom: 5rem; }
  .p-btn__style01 {
    width: 29.5rem;
    height: 7.4rem; }
  .p-slider__title {
    padding-bottom: 2.5rem; }
  .p-slider__scroll {
    right: 2.2rem; }
  .p-home-about__row {
    gap: 3rem; }
  .p-home-about__left {
    flex: 100%; }
    .p-home-about__left .p-home-about__list {
      display: flex;
      padding-top: 2rem; }
  .p-home-about__right {
    flex: 100%;
    order: -1;
    display: none; }
  .p-home-about .p-title__style01 {
    width: 100%;
    text-align: center;
    margin-bottom: 0; }
  .p-home-about__intro {
    text-align: center; }
    .p-home-about__intro::before {
      content: none; }
    .p-home-about__intro span {
      display: inline-block;
      background: linear-gradient(90deg, #004095, #0072d1);
      background-size: 100% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent; }
  .p-home-about__desc {
    text-align: center;
    padding: 2rem 0 3rem; }
  .p-home-about .p-btn__style01 {
    margin: 0 auto; }
  .p-home-product__desc {
    padding-bottom: 2rem; }
  .p-home-case__intro .u-br__pc {
    display: none; }
  .p-home-case__row-item:first-child {
    padding-right: 1.5rem; }
  .p-home-case__row-item:last-child {
    padding-left: 1.5rem; }
  .p-home-case__desc .u-br__pc {
    display: none; }
  .p-home-faq__arrow {
    width: 1.6rem;
    height: 1.6rem;
    top: 0.7rem; }
    .p-home-faq__arrow::before {
      width: 1.6rem;
      height: 0.2rem;
      left: 0;
      top: 0.7rem; }
    .p-home-faq__arrow::after {
      width: 0.2rem;
      height: 1.6rem;
      top: 0;
      left: 0.7rem; }
  .p-home-faq__item {
    padding: 1.7rem 2.3rem 1.5rem 1.7rem; }
    .p-home-faq__item.active {
      padding-bottom: 4rem; } }
@media (max-width: 767px) {
  .u-br__767 {
    display: inline-block; }

  :root {
    --fs-164: max(4.5rem, 4.5rem);
    --fs-99: max(4.8rem, 4.8rem);
    --fs-80: max(2.2rem, 2.2rem);
    --fs-70: max(3.8rem, 3.8rem);
    --fs-60: max(3.2rem, 3.2rem);
    --fs-40: max(2rem, 2rem);
    --fs-36: max(2rem, 2rem);
    --fs-23: max(1.8rem, 1.8rem);
    --fs-20: max(1.8rem, 1.8rem); }

  .l-home-about {
    background-position: center center; }
  .l-home-product {
    padding: 5rem 0; }
  .l-home-case {
    padding-bottom: 5rem; }
  .l-home-faq {
    padding: 5rem 0; }

  .p-btn__style01 {
    width: 23.5rem;
    height: 5.4rem;
    padding: 0 2rem; }
    .p-btn__style01-icon {
      width: 1.8rem;
      height: 1.8rem;
      right: 1.5rem; }
    .p-btn__style01-grad .p-btn__style01-icon, .p-btn__style01-whi .p-btn__style01-icon {
      background-size: 1.8rem; }
  .p-title__style02 {
    margin-bottom: 3rem; }
    .p-title__style02-en {
      top: 69%; }
  .p-slider__title {
    font-size: 2rem; }
    .p-slider__title strong {
      font-size: 3rem; }
  .p-slider__desc {
    font-size: 1.8rem; }
    .p-slider__desc br {
      display: none; }
  .p-slider__scroll {
    right: 1rem;
    bottom: -12.6rem; }
    .p-slider__scroll-line {
      height: 18rem; }
  .p-home-about__list {
    gap: 0.5rem 1.5rem; }
  .p-home-about__item {
    flex: calc((100% - 1.5rem) / 2);
    padding: 0.3rem;
    height: 16.5rem;
    max-width: 16.5rem; }
    .p-home-about__item:nth-child(1) .p-home-about__item-img {
      max-width: 4.7rem; }
    .p-home-about__item:nth-child(2) .p-home-about__item-img {
      max-width: 4.6rem; }
    .p-home-about__item:nth-child(3) .p-home-about__item-img {
      max-width: 4.1rem; }
    .p-home-about__item:nth-child(4) .p-home-about__item-img {
      max-width: 4rem; }
    .p-home-about__item:nth-child(5) .p-home-about__item-img {
      max-width: 4.7rem; }
  .p-home-about__intro br {
    display: none; }
  .p-home-about__desc br {
    display: none; }
  .p-home-case__item {
    padding: 2.5rem 2rem; }
    .p-home-case__item:not(:last-child) {
      margin-bottom: 2rem; }
  .p-home-case__title::before {
    width: 1.5rem;
    height: 0.5rem;
    left: -2rem; }
  .p-home-case__row {
    gap: 1.5rem; }
    .p-home-case__row-item {
      flex: 100%; }
      .p-home-case__row-item:first-child {
        padding-right: 0; }
        .p-home-case__row-item:first-child::after {
          content: none; }
      .p-home-case__row-item:last-child {
        padding-left: 0; }
  .p-home-case__tags {
    padding-bottom: 1.2rem; }
  .p-home-case__intro {
    padding: 0 0 0.5rem; }
  .p-home-faq__item {
    padding: 1.5rem 1rem; }
  .p-home-faq__q {
    padding-left: 2rem;
    padding-right: 2rem; }
  .p-home-faq__a {
    padding-left: 1.8rem;
    margin-top: 1rem; }
    .p-home-faq__a br {
      display: none; } }
.l-product {
  background: url(../images/product/product-bg-01.png) top right no-repeat;
  border-top-right-radius: 2.7rem;
  border-top-left-radius: 2.7rem;
  margin-top: -4.7rem;
  position: relative;
  z-index: 1;
  background-color: #f8f8f8;
  padding-top: 19.5rem; }

.l-footer.l-product__bottom {
  background-color: #f8f8f8; }

.p-product__title {
  color: #1a1a1a;
  font-size: var(--fs-35);
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
  padding-bottom: 4.8rem; }
  .p-product__title::before {
    content: "技術　　現場　　　　　製品";
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    position: absolute;
    inset: 0;
    left: 0;
    pointer-events: none; }
.p-product__spac {
  display: inline-block;
  width: 36px; }
.p-product__desc {
  color: #000000;
  font-size: var(--fs-16);
  font-weight: 400;
  line-height: 175%;
  letter-spacing: 0;
  max-width: 85rem;
  width: 100%;
  margin: 0 auto; }
.p-product__list {
  padding-top: 5.5rem;
  padding-bottom: 15.8rem; }
.p-product__item {
  flex: 1; }
  .p-product__item img {
    height: 29rem;
    width: 100%;
    object-fit: cover; }
.p-product__bottom-row {
  gap: 11rem;
  padding-bottom: 23.3rem; }
.p-product__bottom-left {
  flex: 41.9rem;
  padding-left: 1.5rem;
  padding-top: 3rem;
  position: relative;
  z-index: 1; }
.p-product__bottom-right {
  flex: calc(100% - (41.9rem + 11rem)); }
  .p-product__bottom-right--item:not(:last-child) {
    margin-bottom: 20rem; }
.p-product__bottom-list {
  max-width: 28rem;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
  position: sticky;
  top: 14rem; }
  .p-product__bottom-list .p-btn__style01 {
    width: 100%;
    height: 8rem; }
.p-product__bottom-item:not(:last-child) {
  margin-bottom: 2rem; }
.p-product__bottom-item.is-active .p-btn__style01::after {
  opacity: 1; }
.p-product__bottom-item.is-active .p-btn__style01 .p-btn__style01-txt {
  color: #fff;
  background: transparent;
  -webkit-text-fill-color: #fff; }
.p-product__bottom-item.is-active .p-btn__style01 .p-btn__style01-icon {
  background: url(../images/common/btn-icon-img-00.png) center no-repeat;
  background-size: 2.2rem; }
.p-product__bottom-inner {
  max-width: 103rem;
  width: 100%; }
.p-product__bottom-parent {
  position: relative;
  border-radius: 8px;
  z-index: 0;
  border-radius: 1rem;
  background-color: #fff;
  padding: 2rem 5rem;
  align-items: stretch; }
  .p-product__bottom-parent::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(90deg, #004095, #0072d1);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1; }
  .p-product__bottom-parent--left {
    flex: 1;
    padding-right: 5.2rem;
    padding-top: 4rem;
    position: relative;
    z-index: 1; }
    .p-product__bottom-parent--left::after {
      content: "";
      position: absolute;
      width: 1px;
      height: 100%;
      background: linear-gradient(90deg, #004095, #0072d1);
      opacity: 0.5;
      top: 0;
      right: 0;
      pointer-events: none; }
  .p-product__bottom-parent--right {
    flex: 1;
    padding: 1rem 0 1rem 3.5rem; }
    .p-product__bottom-parent--right img {
      max-width: 43.3rem;
      height: 27.7rem;
      object-fit: cover; }
.p-product__bottom-title {
  color: #000000;
  font-size: var(--fs-30);
  font-weight: 500;
  line-height: 173%;
  letter-spacing: 0;
  position: relative;
  z-index: 1; }
  .p-product__bottom-title:before {
    content: "";
    position: absolute;
    width: 3.9rem;
    height: 1.1rem;
    background: linear-gradient(90deg, #004095, #0072d1);
    left: -5rem;
    top: 2rem;
    pointer-events: none; }
.p-product__bottom-desc {
  color: #000000;
  font-size: var(--fs-16);
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0; }
.p-product__bottom-child {
  padding-top: 8rem; }
  .p-product__bottom-child--title {
    font-size: var(--fs-23);
    font-weight: 700;
    line-height: 170%;
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    position: relative;
    z-index: 1;
    width: 100%;
    padding-left: 1rem;
    padding-bottom: 1rem; }
    .p-product__bottom-child--title::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, #004095, #0072d1);
      bottom: 0;
      left: 0;
      opacity: 0.5; }
    .p-product__bottom-child--title::before {
      content: "";
      position: absolute;
      width: 0.3rem;
      height: 1.7rem;
      background: linear-gradient(90deg, #004095, #0072d1);
      inset: 0;
      pointer-events: none;
      top: 1.2rem; }
  .p-product__bottom-child--row {
    gap: 6.4rem 3.5rem;
    padding-top: 2.8rem; }
  .p-product__bottom-child--item {
    flex: calc((100% - 7rem) / 3); }
  .p-product__bottom-child--img {
    height: 20rem;
    position: relative;
    border-radius: 8px;
    z-index: 0;
    border-radius: 0;
    background: #fff; }
    .p-product__bottom-child--img::before {
      content: "";
      position: absolute;
      inset: 0;
      padding: 1px;
      border-radius: inherit;
      background: linear-gradient(90deg, #004095, #0072d1);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
      z-index: -1; }
    .p-product__bottom-child--img::before {
      z-index: 1; }
    .p-product__bottom-child--img img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .p-product__bottom-child--desc {
    color: #000000;
    font-size: var(--fs-20);
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0;
    padding-left: 0.8rem;
    padding-top: 1rem; }

@media (max-width: 1440px) {
  .l-product {
    padding-top: 10rem; }

  .p-product__title::before {
    content: none; }
  .p-product__title .p-product__grad {
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent; }
  .p-product__bottom-row {
    gap: 5rem;
    max-width: 140rem;
    width: 100%;
    margin: 0 auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
  .p-product__bottom-left {
    padding-left: 0;
    flex: 30rem; }
  .p-product__bottom-right {
    flex: calc(100% - (30rem + 5rem)); } }
@media (max-width: 960px) {
  :root {
    --fs-150: max(6.5rem, 6.5rem);
    --fs-20: max(1.6rem, 1.6rem); }

  .l-product {
    padding-top: 5rem; }

  .p-product__title {
    padding-bottom: 1.5rem; }
  .p-product__list {
    padding-top: 2rem;
    padding-bottom: 3rem; }
  .p-product__item img {
    height: 18rem; }
  .p-product__bottom-row {
    padding-bottom: 7rem; }
  .p-product__bottom-left {
    padding-top: 0;
    flex: 100%; }
  .p-product__bottom-right--item:not(:last-child) {
    margin-bottom: 5rem; }
  .p-product__bottom-list {
    margin: 0 auto;
    max-width: 100rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 1.5rem;
    justify-content: center; }
    .p-product__bottom-list .p-btn__style01 {
      height: 7.4rem; }
  .p-product__bottom-item {
    flex: 0 0 calc((100% - 1.5rem) / 2); }
    .p-product__bottom-item:not(:last-child) {
      margin-bottom: 0; }
  .p-product__bottom-parent--left {
    flex: 0 0 50%;
    padding-top: 0;
    padding-right: 3rem; }
  .p-product__bottom-parent--right {
    flex: 0 0 50%;
    padding-left: 3rem; }
    .p-product__bottom-parent--right img {
      max-width: 100%; }
  .p-product__bottom-child {
    padding-top: 3rem; }
    .p-product__bottom-child--row {
      gap: 1.5rem 1.5rem; }
    .p-product__bottom-child--item {
      flex: calc((100% - 4.5rem) / 3); } }
@media (max-width: 767px) {
  :root {
    --fs-150: max(3.5rem, 3.5rem);
    --fs-35: max(2.6rem, 2.6rem);
    --fs-30: max(2.2rem, 2.2rem); }

  .l-product {
    background-size: contain; }

  .p-product__desc {
    text-align: center; }
  .p-product__item img {
    height: 8rem; }
  .p-product__bottom-title {
    padding-bottom: 1.5rem; }
    .p-product__bottom-title::before {
      width: 1.9rem;
      height: 0.5rem;
      left: -2rem;
      top: 1.8rem; }
  .p-product__bottom-desc {
    padding-top: 1.5rem; }
  .p-product__bottom-list {
    gap: 0.5rem; }
    .p-product__bottom-list .p-btn__style01 {
      height: 5.4rem; }
  .p-product__bottom-right--item:not(:last-child) {
    margin-bottom: 2rem; }
  .p-product__bottom-item {
    flex: 0 0 calc((100% - 0.5rem) / 2); }
    .p-product__bottom-item.is-active .p-btn__style01 .p-btn__style01-icon {
      background-size: 1.8rem; }
    .p-product__bottom-item:nth-child(2) .p-btn__style01-txt {
      letter-spacing: -0.2rem; }
  .p-product__bottom-row {
    gap: 3rem; }
  .p-product__bottom-parent {
    padding: 2rem;
    gap: 1.5rem; }
    .p-product__bottom-parent--left {
      flex: 100%;
      padding-right: 0; }
      .p-product__bottom-parent--left::after {
        content: none; }
    .p-product__bottom-parent--right {
      flex: 100%;
      padding-left: 0;
      display: none; }
      .p-product__bottom-parent--right img {
        height: 20rem; }
  .p-product__bottom-child--row {
    padding-top: 1.5rem;
    gap: 1rem; }
  .p-product__bottom-child--img {
    height: 8rem; }
  .p-product__bottom-child--desc {
    font-size: 1.4rem;
    padding-left: 0; }
  .p-product__bottom-child--item {
    flex: calc((100% - 2rem) / 3); } }
.l-header__about {
  background-image: url(../images/about/about-bg-00.png); }
.l-message {
  background-image: url(../images/about/about-bg-01.png);
  background-position: top right;
  background-repeat: no-repeat;
  background-color: #fff;
  border-top-left-radius: 2.7rem;
  border-top-right-radius: 2.7rem;
  margin-top: -6rem;
  position: relative;
  z-index: 1;
  padding-top: 21.2rem;
  padding-bottom: 18.5rem; }
.l-philosophy {
  background: url(../images/about/about-bg-02.jpg) center center no-repeat;
  background-size: cover;
  padding-top: 13.2rem; }
.l-profile {
  padding-top: 36.5rem; }
.l-access {
  padding-top: 19.5rem; }

.u-spac {
  display: inline-block;
  width: 1.8rem; }

.p-table__row {
  gap: 9rem;
  border-top: 1px solid rgba(0, 0, 0, 0.5);
  padding: 2.8rem 0 1.8rem; }
  .p-table__row:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, 0.5); }
    .p-table__row:last-child .p-table__th::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 3px;
      background: linear-gradient(90deg, #004095, #0072d1);
      bottom: -2rem;
      left: 0;
      pointer-events: none; }
.p-table__th {
  flex: 24.8rem;
  padding-left: 7.5rem;
  line-height: 200%;
  position: relative;
  z-index: 1; }
  .p-table__th::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #004095, #0072d1);
    top: -3rem;
    left: 0;
    pointer-events: none; }
.p-table__td {
  flex: calc(100% - (24.8rem + 9rem));
  line-height: 200%; }
.p-title__style03 {
  position: relative;
  z-index: 1; }
  .p-title__style03-en {
    font-size: var(--fs-130);
    font-family: "M53_CHAINSAW KISSED THE OUT";
    opacity: 0.2;
    line-height: 100%;
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    position: absolute;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    pointer-events: none;
    width: 100%; }
  .p-title__style03-jp {
    font-size: var(--fs-40);
    font-weight: 700;
    line-height: 200%;
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent; }
.p-message__inner {
  padding-top: 6.5rem; }
.p-message__desc {
  color: #000000;
  font-size: var(--fs-16);
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0; }
.p-message__sin {
  padding-top: 7.5rem; }
  .p-message__sin span {
    display: inline-block;
    vertical-align: bottom; }
  .p-message__sin-txt01 {
    color: #000000;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    padding-right: 0.8rem; }
  .p-message__sin-txt02 {
    color: #000000;
    font-size: var(--fs-20);
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0; }
.p-philosophy .p-title__style02 {
  margin-bottom: 14rem; }
.p-philosophy__inner {
  background: #fff;
  border-radius: 3rem;
  padding: 9.5rem 8.5rem;
  box-shadow: 0.7rem 0.7rem 2rem rgba(12, 51, 119, 0.2);
  position: relative;
  z-index: 1;
  transform: translateY(17rem);
  margin-top: -17rem; }
.p-philosophy__item {
  position: relative;
  z-index: 1;
  font-size: var(--fs-26);
  font-weight: 700;
  display: inline-block;
  background: linear-gradient(90deg, #004095, #0072d1);
  background-size: 100% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  line-height: 172%;
  flex: 100%;
  padding-left: 2rem;
  letter-spacing: 0.25rem; }
  .p-philosophy__item:not(:last-child) {
    margin-bottom: 2.5rem; }
  .p-philosophy__item::before {
    content: "";
    position: absolute;
    width: 0.4rem;
    height: 1.8rem;
    background: linear-gradient(90deg, #004095, #0072d1);
    top: 1.5rem;
    left: 0;
    z-index: 0; }
.p-profile .p-title__style03 {
  margin-bottom: 9.5rem; }
.p-access .p-title__style03 {
  margin-bottom: 10rem; }
.p-access__row {
  gap: 4rem;
  margin-bottom: 2rem; }
.p-access__left {
  flex: 36rem;
  padding-left: 4.5rem; }
.p-access__right {
  flex: calc(100% - (4rem + 36rem)); }
.p-access__title {
  color: #000000;
  font-size: var(--fs-23);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0;
  padding-bottom: 2rem; }
.p-access__desc {
  line-height: 200%; }
  @media (max-width: 767px) {
    .p-access__desc {
      text-align: center; } }
.p-access__maps iframe {
  width: 100%;
  height: 34rem; }
.p-works {
  padding-top: 19rem;
  padding-bottom: 24.7rem; }
  .p-works .p-title__style03 {
    margin-bottom: 8.7rem; }
  .p-works__desc {
    text-align: right;
    padding-top: 1.5rem; }
  .p-works__inner {
    background: #fff;
    border-radius: 2rem;
    box-shadow: 0.7rem 0.7rem 2rem rgba(12, 51, 119, 0.2);
    padding: 8.5rem 9rem; }
  .p-works__list {
    gap: 3.5rem 4.5rem; }
  .p-works__item {
    flex: 0 0 calc((100% - 9rem) / 3);
    position: relative;
    z-index: 1;
    padding-left: 2.2rem; }
    .p-works__item::before {
      content: "";
      position: absolute;
      width: 0.3rem;
      height: 1.7rem;
      background: linear-gradient(90deg, #004095, #0072d1);
      top: 0.4rem;
      left: 0;
      pointer-events: none; }

@media (max-width: 960px) {
  :root {
    --fs-130: max(8rem, 8rem);
    --fs-26: max(2rem, 2rem); }

  .l-message {
    padding: 7rem 0; }
  .l-philosophy {
    padding-top: 7rem; }
  .l-profile {
    padding-top: 15rem; }
  .l-access {
    padding-top: 7rem; }

  .p-message__inner {
    padding-top: 3rem; }
  .p-message__sin {
    padding-top: 3rem; }
  .p-philosophy__inner {
    padding: 3rem;
    transform: translateY(9rem); }
  .p-philosophy__item {
    letter-spacing: 0;
    padding-left: 1rem; }
    .p-philosophy__item::before {
      top: 1rem; }
    .p-philosophy__item:not(:last-child) {
      margin-bottom: 1.5rem; }
  .p-profile .p-title__style03 {
    margin-bottom: 5rem; }
  .p-access .p-title__style03 {
    margin-bottom: 5rem; }
  .p-works {
    padding: 7rem 0; }
    .p-works .p-title__style03 {
      margin-bottom: 5rem; }
    .p-works__inner {
      padding: 3rem; }
    .p-works__list {
      gap: 2rem; }
    .p-works__item {
      flex: calc((100% - 4rem) / 3);
      padding-left: 1.5rem; } }
@media (max-width: 767px) {
  :root {
    --fs-130: max(6rem, 6rem); }

  .l-message {
    padding: 5rem 0; }
  .l-philosophy {
    padding-top: 5rem; }
  .l-access {
    padding-top: 5rem; }

  .p-message .p-title__style03-en {
    font-size: 4rem;
    top: 59%; }
  .p-message__inner {
    padding-top: 1.5rem;
    padding-left: 0;
    padding-right: 0; }
  .p-message__sin {
    padding-top: 1.5rem; }
  .p-philosophy .p-title__style02 {
    margin-bottom: 12rem; }
  .p-philosophy .p-title__style02-en {
    overflow: hidden; }
  .p-philosophy__content {
    padding-left: 0;
    padding-right: 0; }
  .p-access__row {
    gap: 2rem; }
  .p-access__left {
    flex: 100%;
    padding-left: 0; }
  .p-access__right {
    flex: 100%; }
  .p-access__title {
    padding-bottom: 0; } }
  @media (max-width: 767px) and (max-width: 767px) {
    .p-access__title {
      text-align: center; } }
@media (max-width: 767px) {
  .p-access__maps iframe {
    height: 15rem; }
  .p-works {
    padding: 5rem 0; }
    .p-works__inner {
      padding: 1.5rem; }
    .p-works__list {
      gap: 1.5rem; }
    .p-works__item {
      flex: calc((100% - 1.5rem) / 2);
      padding-left: 1rem; }
      .p-works__item br {
        display: none; }
      .p-works__item .u-br__767 {
        display: inline-block; }
  .p-table__row {
    gap: 2rem;
    padding: 1.5rem 0; }
    .p-table__row:last-child .p-table__th::after {
      bottom: -1.65rem; }
  .p-table__th {
    padding-left: 0;
    flex: 10rem; }
    .p-table__th::before {
      top: -1.7rem; }
  .p-table__td {
    flex: calc(100% - (2rem + 10rem)); } }
.l-header__recruit {
  background-image: url(../images/recruit/recruit-bg-00.jpg); }
  @media (max-width: 767px) {
    .l-header__recruit {
      background-position: right -10rem center; } }
.l-recruit {
  position: relative;
  z-index: 1;
  padding-top: 2.6rem;
  padding-bottom: 19rem; }
  @media (max-width: 960px) {
    .l-recruit {
      padding-bottom: 7rem; } }
  @media (max-width: 767px) {
    .l-recruit {
      padding-bottom: 5rem; } }
  .l-recruit::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 61.203%;
    background: linear-gradient(180deg, #004095, #0072d1);
    z-index: -1;
    inset: 0;
    pointer-events: none; }
    @media (max-width: 960px) {
      .l-recruit::before {
        height: 82%; } }
  .l-recruit-profile {
    background: url(../images/recruit/recruit-bg-01.jpg) top center no-repeat;
    background-size: cover;
    padding: 12rem 0; }
    @media (max-width: 960px) {
      .l-recruit-profile {
        padding: 7rem 0; } }
    @media (max-width: 767px) {
      .l-recruit-profile {
        padding: 5rem 0; } }
  .l-recruit-requirements {
    padding: 21rem 0 25rem; }
    @media (max-width: 960px) {
      .l-recruit-requirements {
        padding: 7rem 0; } }
    @media (max-width: 767px) {
      .l-recruit-requirements {
        padding: 5rem 0; } }
.l-flow {
  background-color: #f8f8f8; }

.p-recruit__row {
  gap: 8rem; }
  @media (max-width: 960px) {
    .p-recruit__row {
      gap: 3rem; } }
  @media (max-width: 767px) {
    .p-recruit__row {
      gap: 1.5rem; } }
.p-recruit-left {
  flex: 47.5rem; }
  @media (max-width: 960px) {
    .p-recruit-left {
      flex: 100%; } }
.p-recruit-right {
  flex: calc(100% - (47.5rem + 8rem)); }
  @media (max-width: 960px) {
    .p-recruit-right {
      flex: 100%; } }
.p-recruit__title {
  color: #fff;
  font-size: var(--fs-36);
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0;
  padding-left: 4rem; }
  @media (max-width: 960px) {
    .p-recruit__title {
      padding-left: 0;
      text-align: left; } }
  @media (max-width: 767px) {
    .p-recruit__title {
      font-size: 2.8rem; } }
.p-recruit__desc {
  color: #fff;
  font-size: var(--fs-16);
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0; }
.p-recruit__gallery {
  padding-top: 8rem; }
  @media (max-width: 960px) {
    .p-recruit__gallery {
      padding-top: 3rem; } }
  .p-recruit__gallery .scroll-infinity__list {
    gap: 3rem; }
    @media (max-width: 960px) {
      .p-recruit__gallery .scroll-infinity__list {
        gap: 1.5rem; } }
  .p-recruit__gallery .scroll-infinity__wrap {
    gap: 3rem; }
    @media (max-width: 960px) {
      .p-recruit__gallery .scroll-infinity__wrap {
        gap: 1.5rem; } }
  .p-recruit__gallery .scroll-infinity__item img {
    width: 54rem;
    height: 40rem; }
    @media (max-width: 960px) {
      .p-recruit__gallery .scroll-infinity__item img {
        height: 20rem; } }
.p-recruit-profile .p-title__style02 {
  padding-left: 4.8rem; }
  @media (max-width: 960px) {
    .p-recruit-profile .p-title__style02 {
      text-align: center;
      padding-left: 0; } }
  .p-recruit-profile .p-title__style02-en {
    color: #99b3d5;
    background: transparent;
    -webkit-text-fill-color: #99b3d5;
    opacity: 1;
    font-size: var(--fs-130);
    margin-left: -6.5rem; }
    @media (max-width: 1440px) {
      .p-recruit-profile .p-title__style02-en {
        margin-left: -5.5rem; } }
    @media (max-width: 960px) {
      .p-recruit-profile .p-title__style02-en {
        margin-left: 0; } }
.p-recruit-profile__content {
  background: #fff;
  border-radius: 3rem;
  box-shadow: 0.7rem 0.7rem 2rem rgba(12, 51, 119, 0.2);
  padding: 3.5rem 0; }
.p-recruit-profile__row {
  gap: 9rem; }
  @media (max-width: 960px) {
    .p-recruit-profile__row {
      gap: 3rem; } }
.p-recruit-profile__left {
  flex: 55.5rem; }
  @media (max-width: 960px) {
    .p-recruit-profile__left {
      display: none; } }
  .p-recruit-profile__left img {
    max-width: 52.5rem;
    width: 100%;
    margin: 0 auto; }
.p-recruit-profile__right {
  flex: calc(100% - (55.5rem + 9rem)); }
  @media (max-width: 960px) {
    .p-recruit-profile__right {
      flex: 100%; } }
.p-recruit-profile__title {
  color: #000000;
  font-size: var(--fs-30);
  font-weight: 500;
  line-height: 173%;
  letter-spacing: 0;
  padding-bottom: 2.5rem; }
  @media (max-width: 960px) {
    .p-recruit-profile__title {
      text-align: center; } }
.p-recruit-profile__desc {
  color: #000000;
  font-size: var(--fs-16);
  font-weight: 400;
  line-height: 175%;
  letter-spacing: 0;
  max-width: 51rem;
  width: 100%; }
  @media (max-width: 960px) {
    .p-recruit-profile__desc {
      max-width: 100%;
      padding-top: 2rem;
      text-align: center; } }
.p-recruit-requirements .p-title__style02 {
  margin-bottom: 10.8rem; }
  @media (max-width: 960px) {
    .p-recruit-requirements .p-title__style02 {
      margin-bottom: 5rem; } }
  @media (max-width: 767px) {
    .p-recruit-requirements .p-title__style02 {
      margin-bottom: 3rem; } }
  .p-recruit-requirements .p-title__style02-en {
    font-size: var(--fs-130); }
    @media (max-width: 767px) {
      .p-recruit-requirements .p-title__style02-en {
        font-size: 3.8rem;
        top: 60%; } }
@media (max-width: 767px) {
  .p-recruit-requirements .l-grid-1100 {
    padding-left: 0;
    padding-right: 0; } }
.p-recruit-requirements__item {
  padding: 1.5rem 3rem 1.4rem 5.5rem;
  position: relative;
  border-radius: 1.5rem;
  z-index: 0; }
  .p-recruit-requirements__item::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(90deg, #004095, #0072d1);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1; }
  @media (max-width: 960px) {
    .p-recruit-requirements__item {
      padding-left: 3.5rem; } }
  @media (max-width: 767px) {
    .p-recruit-requirements__item {
      padding: 1rem 1rem 1rem 2rem; } }
  .p-recruit-requirements__item:not(:last-child) {
    margin-bottom: 2rem; }
  .p-recruit-requirements__item.active .p-home-faq__arrow::after {
    transform: scale(0); }
.p-recruit-requirements__content {
  display: none;
  padding: 0 2.5rem; }
  @media (max-width: 767px) {
    .p-recruit-requirements__content {
      padding: 0; } }
.p-recruit-requirements__title {
  position: relative;
  z-index: 1;
  cursor: pointer;
  color: #000000;
  font-size: var(--fs-30);
  font-weight: 500;
  line-height: 170%;
  letter-spacing: 0; }
  .p-recruit-requirements__title:before {
    content: "";
    position: absolute;
    width: 3.9rem;
    height: 1.1rem;
    background: linear-gradient(90deg, #004095, #0072d1);
    top: 2.2rem;
    left: -5.4rem;
    z-index: -1;
    pointer-events: none; }
    @media (max-width: 960px) {
      .p-recruit-requirements__title:before {
        width: 2.9rem;
        height: 0.5rem;
        top: 1.6rem;
        left: -3.5rem; } }
    @media (max-width: 767px) {
      .p-recruit-requirements__title:before {
        width: 1rem;
        top: 1.6rem;
        left: -2rem; } }
.p-recruit-requirements .p-table {
  padding: 7rem 0 6.2rem; }
  @media (max-width: 767px) {
    .p-recruit-requirements .p-table {
      padding: 3rem 0; } }
  .p-recruit-requirements .p-table .p-table__row:last-child .p-table__th::after {
    height: 4px; }
  @media (max-width: 960px) {
    .p-recruit-requirements .p-table .p-table__row {
      gap: 5rem; } }
  @media (max-width: 767px) {
    .p-recruit-requirements .p-table .p-table__row {
      gap: 2rem; } }
  .p-recruit-requirements .p-table__th {
    flex: 24rem; }
    .p-recruit-requirements .p-table__th::before {
      height: 4px; }
    @media (max-width: 767px) {
      .p-recruit-requirements .p-table__th {
        flex: 10rem; } }
  .p-recruit-requirements .p-table__td {
    flex: calc(100% - (24rem + 9rem)); }
    @media (max-width: 767px) {
      .p-recruit-requirements .p-table__td {
        flex: calc(100% - (2rem + 10rem)); } }
.p-charm {
  padding-bottom: 19.8rem; }
  @media (max-width: 960px) {
    .p-charm {
      padding-bottom: 5rem; } }
  .p-charm .p-title__style02 {
    margin-bottom: 13.8rem; }
    @media (max-width: 960px) {
      .p-charm .p-title__style02 {
        margin-bottom: 5rem; } }
    @media (max-width: 767px) {
      .p-charm .p-title__style02 {
        margin-bottom: 3rem; } }
    .p-charm .p-title__style02-en {
      font-size: var(--fs-130); }
  .p-charm__row {
    gap: 8.3rem;
    align-items: center; }
    @media (max-width: 960px) {
      .p-charm__row {
        gap: 3rem; } }
    .p-charm__row:not(:last-child) {
      margin-bottom: 8rem; }
      @media (max-width: 960px) {
        .p-charm__row:not(:last-child) {
          margin-bottom: 5rem; } }
      @media (max-width: 767px) {
        .p-charm__row:not(:last-child) {
          margin-bottom: 3rem; } }
    .p-charm__row:nth-child(2n) .p-charm__right {
      order: -1;
      padding-left: 4.5rem; }
      @media (max-width: 960px) {
        .p-charm__row:nth-child(2n) .p-charm__right {
          order: 1;
          padding-left: 0; } }
      @media (max-width: 767px) {
        .p-charm__row:nth-child(2n) .p-charm__right .p-charm__title-jp br {
          display: inline-block; } }
  .p-charm__left {
    flex: 55.5rem; }
    @media (max-width: 960px) {
      .p-charm__left {
        flex: 100%;
        display: none; } }
  .p-charm__right {
    flex: calc(100% - (55.5rem + 8.3rem)); }
    @media (max-width: 960px) {
      .p-charm__right {
        flex: 100%; } }
    @media (max-width: 767px) {
      .p-charm__right .u-br__767 {
        display: inline-block; } }
  .p-charm__title {
    position: relative;
    z-index: 1;
    padding-bottom: 2rem; }
    @media (max-width: 960px) {
      .p-charm__title {
        text-align: center; }
        .p-charm__title br {
          display: none; } }
    .p-charm__title-jp {
      color: #000000;
      font-size: var(--fs-30);
      font-weight: 500;
      line-height: 170%;
      letter-spacing: 0; }
    .p-charm__title-en {
      position: absolute;
      left: -4rem;
      top: -2.5rem;
      z-index: -1;
      pointer-events: none;
      display: inline-block;
      background: linear-gradient(90deg, #004095, #0072d1);
      background-size: 100% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      font-size: var(--fs-80);
      font-family: "M53_CHAINSAW KISSED THE OUT";
      line-height: 100%;
      opacity: 0.1;
      width: 100%; }
      @media (max-width: 960px) {
        .p-charm__title-en {
          left: 50%;
          transform: translateX(-50%);
          top: unset; } }
      @media (max-width: 767px) {
        .p-charm__title-en {
          top: 0.5rem;
          font-size: 3.5rem; } }
  .p-charm__desc {
    color: #000000;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 175%;
    letter-spacing: 0;
    max-width: 46.5rem;
    width: 100%; }
    @media (max-width: 960px) {
      .p-charm__desc {
        text-align: center;
        padding-top: 1rem;
        margin: 0 auto; } }
    @media (max-width: 767px) {
      .p-charm__desc br {
        display: none; } }
.p-flow {
  padding: 16.6rem 0 20rem; }
  @media (max-width: 960px) {
    .p-flow {
      padding: 7rem 0; } }
  @media (max-width: 767px) {
    .p-flow {
      padding: 5rem 0; } }
  .p-flow .p-title__style02 {
    margin-bottom: 7rem; }
    @media (max-width: 960px) {
      .p-flow .p-title__style02 {
        text-align: center; } }
    @media (max-width: 767px) {
      .p-flow .p-title__style02 {
        margin-bottom: 3rem; } }
    .p-flow .p-title__style02-en {
      font-size: var(--fs-130);
      margin-left: -11.5rem; }
      @media (max-width: 1440px) {
        .p-flow .p-title__style02-en {
          margin-left: -10.5rem; } }
      @media (max-width: 960px) {
        .p-flow .p-title__style02-en {
          margin-left: 0; } }
  .p-flow__row {
    gap: 6.2rem; }
    @media (max-width: 960px) {
      .p-flow__row {
        gap: 3rem; } }
  .p-flow__item {
    flex: 1;
    background: #fff;
    position: relative;
    border-radius: 2rem;
    z-index: 0;
    box-shadow: 0.7rem 0.7rem 2rem rgba(12, 51, 119, 0.2);
    padding: 2.7rem 2rem 5.5rem;
    position: relative;
    z-index: 1; }
    .p-flow__item::before {
      content: "";
      position: absolute;
      inset: 0;
      padding: 1px;
      border-radius: inherit;
      background: linear-gradient(90deg, #004095, #0072d1);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
      z-index: -1; }
    @media (max-width: 767px) {
      .p-flow__item {
        padding-bottom: 3rem; } }
    .p-flow__item:not(:last-child)::after {
      content: "";
      position: absolute;
      width: 2.9rem;
      height: 5.2rem;
      right: -4.5rem;
      top: 50%;
      transform: translateY(-50%);
      background: url(../images/recruit/recruit-icon-01.png) center right no-repeat;
      background-size: contain;
      pointer-events: none; }
      @media (max-width: 960px) {
        .p-flow__item:not(:last-child)::after {
          width: 0.9rem;
          height: 3.2rem;
          right: -2rem; } }
    .p-flow__item:nth-child(1) img {
      max-width: 6rem;
      width: 100%; }
    @media (max-width: 767px) {
      .p-flow__item:nth-child(2)::after {
        content: none; } }
    .p-flow__item:nth-child(2) img {
      max-width: 6rem;
      width: 100%; }
    .p-flow__item:nth-child(3) img {
      max-width: 7rem;
      width: 100%; }
    .p-flow__item:nth-child(4) img {
      max-width: 8rem;
      width: 100%; }
  .p-flow__number {
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: var(--fs-27);
    font-family: "M53_CHAINSAW KISSED THE OUT";
    line-height: 100%; }
  .p-flow__img {
    height: 13rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 3.2rem; }
    @media (max-width: 960px) {
      .p-flow__img {
        height: 10rem;
        margin-top: 2rem; } }
  .p-flow__title {
    color: #000000;
    font-size: var(--fs-30);
    font-weight: 500;
    line-height: 173%;
    letter-spacing: 0; }
  .p-flow__txt {
    padding-top: 8rem; }
    @media (max-width: 960px) {
      .p-flow__txt {
        padding-top: 3rem; } }
  .p-flow__desc {
    line-height: 175%; }
    @media (max-width: 960px) {
      .p-flow__desc {
        max-width: 85%;
        width: 100%;
        margin: 0 auto; } }
    @media (max-width: 960px) {
      .p-flow__desc {
        max-width: 100%;
        text-align: left; } }
  .p-flow .p-footer__top-item--link {
    margin: 6rem auto 0 auto; }
    @media (max-width: 960px) {
      .p-flow .p-footer__top-item--link {
        max-width: 30rem; } }
    @media (max-width: 767px) {
      .p-flow .p-footer__top-item--link {
        margin-top: 3rem; } }

@media (max-width: 767px) {
  .p-home-faq__arrow {
    top: 1.2rem; } }
.l-header__privacy {
  background-image: url(../images/privacy/privacy-bg-00.jpg); }
  @media (max-width: 767px) {
    .l-header__privacy .p-header__title-en .p-header__title-sp01 {
      display: inline-block;
      position: absolute;
      top: 2rem;
      left: 5.5rem;
      z-index: 1; }
    .l-header__privacy .p-header__title-en .p-header__title-sp02 {
      display: inline-block;
      position: absolute;
      top: 2rem;
      right: 5.5rem;
      z-index: 1; } }
.l-privacy {
  padding-top: 20.3rem;
  margin-top: -5rem;
  border-top-left-radius: 2.7rem;
  border-top-right-radius: 2.7rem; }
  @media (max-width: 960px) {
    .l-privacy {
      padding-top: 7rem; } }
  @media (max-width: 767px) {
    .l-privacy {
      padding-top: 5rem; } }

.p-privacy {
  padding-bottom: 25rem; }
  @media (max-width: 960px) {
    .p-privacy {
      padding-bottom: 7rem; } }
  @media (max-width: 767px) {
    .p-privacy {
      padding-bottom: 5rem; } }
  .p-privacy__inner {
    padding-bottom: 9rem; }
    @media (max-width: 960px) {
      .p-privacy__inner {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 3rem; } }
  .p-privacy__title {
    color: #000000;
    font-size: var(--fs-35);
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 0;
    padding-bottom: 2rem; }
  .p-privacy__desc {
    line-height: 175%; }
  .p-privacy__item:not(:last-child) {
    margin-bottom: 9rem; }
    @media (max-width: 960px) {
      .p-privacy__item:not(:last-child) {
        margin-bottom: 3rem; } }
  .p-privacy__item-title {
    color: #000000;
    font-size: var(--fs-25);
    font-weight: 500;
    line-height: 170%;
    letter-spacing: 0;
    padding-bottom: 1.2rem; }
  .p-privacy__item-number {
    font-size: var(--fs-27);
    font-weight: 700;
    display: inline-block;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    padding-right: 1.2rem; }
  .p-privacy__item-desc {
    line-height: 175%; }
  .p-privacy__info {
    padding-top: 5rem; }
    @media (max-width: 767px) {
      .p-privacy__info {
        padding-top: 3rem; } }
  .p-privacy__company {
    color: #000000;
    font-size: var(--fs-20);
    font-weight: 500;
    line-height: 185%;
    letter-spacing: 0; }
  .p-privacy__address {
    padding-bottom: 2.5rem; }

.l-header__contact {
  background-image: url(../images/contact/contact_banner_00.png);
  position: relative; }
  .l-header__contact::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 5.3rem;
    background: #fff;
    bottom: 0;
    z-index: 1;
    border-top-left-radius: 2.7rem;
    border-top-right-radius: 2.7rem; }
.l-main-thanks .p-contact--title {
  padding-left: 0; }
  .l-main-thanks .p-contact--title::before {
    content: unset; }

.p-contact {
  position: relative; }
  .p-contact::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 263rem;
    left: 0;
    bottom: 0;
    background: url("../images/contact/contact_bg.png") center bottom/cover no-repeat;
    z-index: -1; }
  .p-contact.p-thanks::after {
    height: 163rem;
    background: url("../images/common/footer-bg-thanks.png") center bottom/cover no-repeat; }
    @media (max-width: 960px) {
      .p-contact.p-thanks::after {
        height: 130rem;
        background-position-y: top; } }
  .p-contact__header {
    position: relative;
    border-radius: 3rem;
    background: #fff;
    -webkit-box-shadow: 0.7rem 0.7rem 2rem rgba(12, 51, 119, 0.2);
    box-shadow: 0.7rem 0.7rem 2rem rgba(12, 51, 119, 0.2);
    padding-block: 3rem;
    margin-bottom: 6rem; }
    @media (min-width: 960.5px) {
      .p-contact__header {
        padding-block: 7.12rem;
        margin-bottom: 13.5rem; } }
    .p-contact__header::before {
      content: "";
      position: absolute;
      inset: 0;
      padding: 1px;
      border-radius: 3rem;
      background: linear-gradient(90deg, #004095, #0072d1);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none; }
    .p-contact__header-inner {
      display: flex;
      align-items: center;
      max-width: 113rem; }
      @media (max-width: 960px) {
        .p-contact__header-inner {
          flex-direction: column; } }
    .p-contact__header .p-footer__top-item {
      padding: 0;
      border-right: 0; }
      .p-contact__header .p-footer__top-item--tel {
        padding-left: 8.2rem; }
      .p-contact__header .p-footer__top-item--title {
        padding-bottom: 0; }
      .p-contact__header .p-footer__top-item--desc {
        padding-top: 0;
        padding-left: 4.8rem; }
  .p-contact .l-footer {
    background: transparent; }
    .p-contact .l-footer::before {
      content: unset; }
  .p-contact .p-footer__bottom {
    clip-path: shape(from 100% 100%, hline to 0%, vline to 5.03%, line to 2.4% 0%, hline to 97.6%, line by 2.4% 5.03%, close); }
    .p-contact .p-footer__bottom::after, .p-contact .p-footer__bottom::before {
      content: unset; }
  .p-contact--title {
    font-size: 2rem;
    line-height: 150%;
    color: var(--color-text);
    font-weight: 700;
    margin-bottom: 1.5rem;
    background: linear-gradient(90deg, #004095, #0072d1);
    background-size: 100% auto;
    display: inline-block;
    padding-left: 5.6rem;
    /* Standard */
    background-clip: text;
    color: transparent;
    /* Webkit (Chrome, Safari) */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative; }
    .p-contact--title::before {
      content: "";
      position: absolute;
      width: 3.9rem;
      height: 1.1rem;
      background: linear-gradient(90deg, #004095, #0072d1);
      left: 0;
      top: 50%;
      transform: translateY(-50%); }
    @media (min-width: 960.5px) {
      .p-contact--title {
        font-size: 3.5rem; } }
  .p-contact-section {
    padding-block: 6.5rem; }
    @media (min-width: 960.5px) {
      .p-contact-section {
        padding-top: 14rem;
        padding-bottom: 24.5rem; } }
  .p-contact-lead {
    font-size: var(--size-p);
    line-height: 200%;
    color: var(--color-text);
    font-weight: 500; }
  .p-contact-required {
    margin-left: 2.5rem;
    color: #fff;
    background: #c1272d;
    border-radius: 1.3rem;
    font-size: var(--fs-16);
    width: 7rem;
    height: 2.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 100%; }
  .p-contact-form {
    margin-top: 7rem;
    padding-top: 4.8rem;
    position: relative;
    border-radius: 3rem;
    background: #fff;
    -webkit-box-shadow: 0.7rem 0.7rem 2rem rgba(12, 51, 119, 0.2);
    box-shadow: 0.7rem 0.7rem 2rem rgba(12, 51, 119, 0.2);
    padding-bottom: 6rem; }
    @media (min-width: 960.5px) {
      .p-contact-form {
        padding-bottom: 13.3rem; } }
    .p-contact-form::before {
      content: "";
      position: absolute;
      inset: 0;
      padding: 1px;
      border-radius: 3rem;
      background: linear-gradient(90deg, #004095, #0072d1);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none; }
    .p-contact-form__box {
      width: 100%;
      max-width: 90.5rem;
      padding-inline: 1.5rem;
      margin: 0 auto; }
      .p-contact-form__box-text {
        text-align: center;
        word-break: auto-phrase;
        overflow-wrap: normal; }
        .p-contact-form__box-text a {
          display: inline-block;
          background: linear-gradient(90deg, #004095, #0072d1);
          background-size: 100% auto;
          -webkit-background-clip: text;
          background-clip: text;
          -webkit-text-fill-color: transparent;
          color: transparent;
          font-weight: 500;
          position: relative;
          margin: 0 0.4rem; }
          .p-contact-form__box-text a::before {
            content: "";
            position: absolute;
            width: 100%;
            height: 1px;
            background: linear-gradient(90deg, #004095, #0072d1);
            left: 0;
            bottom: 0;
            pointer-events: none; }
    .p-contact-form__table {
      width: 100%;
      max-width: 111.5rem;
      margin: 0 auto;
      padding-left: 1.5rem;
      padding-right: 1.5rem; }
    .p-contact-form__row {
      display: grid;
      grid-template-columns: 32.7rem 1fr;
      align-items: center;
      padding: 2.2rem 0;
      word-break: break-all; }
      @media (min-width: 960.5px) {
        .p-contact-form__row {
          padding-left: 2.5rem;
          padding-right: 5.5rem; } }
    .p-contact-form__label {
      font-size: var(--fs-18);
      font-weight: 500;
      color: var(--color-text);
      line-height: 150%;
      letter-spacing: 0.08rem; }
    .p-contact-form select {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      position: relative; }
    .p-contact-form__value {
      width: 100%; }
    .p-contact-form__input {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 550 60'%3E%3Cdefs%3E%3ClinearGradient id='g' y1='30' x2='550' y2='30' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23004095' stop-opacity='0.99'/%3E%3Cstop offset='1' stop-color='%230072d1' stop-opacity='0.99'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='550' height='60' rx='7' fill='url(%23g)' fill-opacity='0.4' opacity='0.1'/%3E%3C/svg%3E"); }
      .p-contact-form__input--select {
        padding: 0;
        position: relative;
        max-width: 55rem; }
        .p-contact-form__input--select::after {
          content: "";
          position: absolute;
          width: 100%;
          height: 100%;
          top: 57%;
          right: 1.5rem;
          transform: translateY(-50%);
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 11.21'%3E%3Cpolyline points='20.5 0.5 10.5 10.5 0.5 0.5' fill='none' stroke='%230072d1' stroke-linecap='round' stroke-miterlimit='10'/%3E%3C/svg%3E");
          background-repeat: no-repeat;
          background-position: right 2rem, center;
          background-size: 2rem;
          pointer-events: none; }
    .p-contact-form__textarea {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 300'%3E%3Cdefs%3E%3ClinearGradient id='g' y1='150' x2='700' y2='150' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23004095' stop-opacity='0.99'/%3E%3Cstop offset='1' stop-color='%230072d1' stop-opacity='0.99'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='700' height='300' rx='7' fill='url(%23g)' fill-opacity='0.4' opacity='0.1'/%3E%3C/svg%3E"); }
    .p-contact-form__textarea, .p-contact-form__input {
      border-radius: 0.7rem;
      width: 100%;
      padding: 1.5rem;
      font-size: var(--size-p);
      font-weight: 500;
      color: #000;
      border: none;
      font-family: inherit;
      background-repeat: repeat;
      background-size: cover; }
      .p-contact-form__textarea::placeholder, .p-contact-form__input::placeholder {
        color: rgba(0, 0, 0, 0.5); }
      .p-contact-form__textarea:autofill, .p-contact-form__textarea:-webkit-autofill, .p-contact-form__textarea:-internal-autofill-selected, .p-contact-form__input:autofill, .p-contact-form__input:-webkit-autofill, .p-contact-form__input:-internal-autofill-selected {
        color: #000 !important; }
      .p-contact-form__textarea.error, .p-contact-form__input.error {
        border: #ff0000 solid 1px; }
    .p-contact-form__input {
      height: 6rem; }
      .p-contact-form__input:not(.full) {
        max-width: 55rem; }
      .p-contact-form__input--postal {
        width: 20rem; }
    .p-contact-form__textarea {
      min-height: 15rem; }
      @media (min-width: 960.5px) {
        .p-contact-form__textarea {
          min-height: 30rem; } }
    .p-contact-form__postal {
      display: flex;
      align-items: center;
      gap: 1rem; }
    .p-contact-form__postal-mark {
      font-size: var(--size-p);
      font-weight: 500;
      color: var(--color-text); }
    .p-contact-form__note {
      font-size: Max(1.6rem, 14px);
      color: #999999;
      white-space: nowrap; }
    .p-contact-form__agree {
      margin-top: 3.4rem;
      display: flex;
      justify-content: center; }
    .p-contact-form__agree-label {
      display: flex;
      align-items: center;
      gap: 1.5rem;
      cursor: pointer;
      font-size: var(--size-p);
      font-weight: 500;
      color: var(--color-text);
      width: 100%;
      max-width: 30rem;
      justify-content: center; }
      .p-contact-form__agree-label span {
        font-size: var(--size-p); }
      .p-contact-form__agree-label.error {
        border: #ff0000 solid 1px; }
    .p-contact-form__agree-checkbox {
      appearance: none;
      -webkit-appearance: none;
      width: 2rem;
      height: 2rem;
      border: 1px solid #004095;
      border-radius: 0.3rem;
      cursor: pointer;
      position: relative;
      transition: all 0.2s ease; }
      .p-contact-form__agree-checkbox:hover {
        border-color: #002a62; }
      .p-contact-form__agree-checkbox:checked {
        background-color: #004095;
        border-color: #004095; }
        .p-contact-form__agree-checkbox:checked::after {
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%) rotate(45deg);
          width: 5px;
          height: 10px;
          border: solid #fff;
          border-width: 0 2px 2px 0; }
      .p-contact-form__agree-checkbox:focus-visible {
        outline: 2px solid rgba(0, 64, 149, 0.4);
        outline-offset: 2px; }
      .p-contact-form__agree-checkbox:disabled {
        opacity: 0.5;
        cursor: not-allowed; }
    .p-contact-form__agree-link {
      color: var(--color-primary-02);
      text-decoration: none;
      border-bottom: 1px solid var(--color-primary-02);
      font-size: var(--size-p); }
    .p-contact-form__confirm-text {
      margin-top: 4rem;
      max-width: 61rem;
      margin-left: auto;
      margin-right: auto; }
      .p-contact-form__confirm-text p {
        font-size: var(--size-p);
        line-height: 200%;
        color: var(--color-text); }
    .p-contact-form__submit {
      margin-top: 3.2rem;
      display: flex;
      justify-content: center; }
    .p-contact-form__btn {
      border: 0;
      cursor: pointer;
      font-family: inherit;
      position: relative;
      background: #fff; }
  .p-contact-confirm .p-contact-form__value {
    padding: 1.5rem;
    font-size: var(--size-p);
    border: none;
    font-weight: 500;
    color: #000;
    border-radius: 0.7rem;
    padding: 1.5rem;
    background: linear-gradient(90deg, rgba(11, 94, 168, 0.1) 0%, rgba(47, 128, 237, 0.1) 100%); }
  .p-contact-confirm .contact-btn-gp {
    display: flex; }
    @media (min-width: 960.5px) {
      .p-contact-confirm .contact-btn-gp {
        gap: 2rem; } }

.wrap__recaptcha {
  width: 100%;
  margin: 0 auto 2.5rem;
  max-width: 320px; }

.wrap__recaptcha-text {
  margin-bottom: 2rem; }

.g-recaptcha * {
  width: 100% !important;
  max-width: 320px;
  margin: 0 auto; }

.error_messe {
  color: red !important; }

@media (max-width: 960px) {
  .p-contact__header-inner {
    gap: 1.5rem; }
    .p-contact__header-inner * {
      width: 100%; }
    .p-contact__header-inner .p-footer__top-item--tel {
      display: flex;
      align-items: center;
      padding-left: 0; } }
@media (max-width: 767px) {
  .p-contact-form__row {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 2rem 0; }
    .p-contact-form__row.vs-02 {
      padding-top: 0; }
  .p-contact-form__input--postal {
    width: 60%; }
  .p-contact-form__postal {
    flex-wrap: wrap; }
  .p-contact-form__note {
    width: 100%;
    white-space: normal; }
  .p-contact-form__agree-label {
    padding: 2rem 3rem; }
  .p-contact-form__agree {
    margin-top: 0; }
  .p-contact-form__confirm-text {
    margin-top: 2rem; } }
.u-pc {
  display: block; }

.u-sp {
  display: none; }

@media (max-width: 960px) {
  .u-pc {
    display: none; }

  .u-sp {
    display: block; } }
.u-text-align-center {
  text-align: center; }
.u-text-align-right {
  text-align: right; }

.u-align-start {
  align-items: flex-start; }

.u-mt--0 {
  margin-top: -0rem !important; }

.u-mt-0 {
  margin-top: 0rem !important; }

.u-mb-0 {
  margin-bottom: 0rem; }

.u-pt-0 {
  padding-top: 0rem !important; }

.u-pb-0 {
  padding-bottom: 0rem !important; }

.u-py-0 {
  padding: 0rem !important; }

.u-mt--5 {
  margin-top: -0.5rem !important; }

.u-mt-5 {
  margin-top: 0.5rem !important; }

.u-mb-5 {
  margin-bottom: 0.5rem; }

.u-pt-5 {
  padding-top: 0.5rem !important; }

.u-pb-5 {
  padding-bottom: 0.5rem !important; }

.u-py-5 {
  padding: 0.5rem !important; }

.u-mt--10 {
  margin-top: -1rem !important; }

.u-mt-10 {
  margin-top: 1rem !important; }

.u-mb-10 {
  margin-bottom: 1rem; }

.u-pt-10 {
  padding-top: 1rem !important; }

.u-pb-10 {
  padding-bottom: 1rem !important; }

.u-py-10 {
  padding: 1rem !important; }

.u-mt--15 {
  margin-top: -1.5rem !important; }

.u-mt-15 {
  margin-top: 1.5rem !important; }

.u-mb-15 {
  margin-bottom: 1.5rem; }

.u-pt-15 {
  padding-top: 1.5rem !important; }

.u-pb-15 {
  padding-bottom: 1.5rem !important; }

.u-py-15 {
  padding: 1.5rem !important; }

.u-mt--20 {
  margin-top: -2rem !important; }

.u-mt-20 {
  margin-top: 2rem !important; }

.u-mb-20 {
  margin-bottom: 2rem; }

.u-pt-20 {
  padding-top: 2rem !important; }

.u-pb-20 {
  padding-bottom: 2rem !important; }

.u-py-20 {
  padding: 2rem !important; }

.u-mt--25 {
  margin-top: -2.5rem !important; }

.u-mt-25 {
  margin-top: 2.5rem !important; }

.u-mb-25 {
  margin-bottom: 2.5rem; }

.u-pt-25 {
  padding-top: 2.5rem !important; }

.u-pb-25 {
  padding-bottom: 2.5rem !important; }

.u-py-25 {
  padding: 2.5rem !important; }

.u-mt--30 {
  margin-top: -3rem !important; }

.u-mt-30 {
  margin-top: 3rem !important; }

.u-mb-30 {
  margin-bottom: 3rem; }

.u-pt-30 {
  padding-top: 3rem !important; }

.u-pb-30 {
  padding-bottom: 3rem !important; }

.u-py-30 {
  padding: 3rem !important; }

.u-mt--35 {
  margin-top: -3.5rem !important; }

.u-mt-35 {
  margin-top: 3.5rem !important; }

.u-mb-35 {
  margin-bottom: 3.5rem; }

.u-pt-35 {
  padding-top: 3.5rem !important; }

.u-pb-35 {
  padding-bottom: 3.5rem !important; }

.u-py-35 {
  padding: 3.5rem !important; }

.u-mt--40 {
  margin-top: -4rem !important; }

.u-mt-40 {
  margin-top: 4rem !important; }

.u-mb-40 {
  margin-bottom: 4rem; }

.u-pt-40 {
  padding-top: 4rem !important; }

.u-pb-40 {
  padding-bottom: 4rem !important; }

.u-py-40 {
  padding: 4rem !important; }

.u-mt--45 {
  margin-top: -4.5rem !important; }

.u-mt-45 {
  margin-top: 4.5rem !important; }

.u-mb-45 {
  margin-bottom: 4.5rem; }

.u-pt-45 {
  padding-top: 4.5rem !important; }

.u-pb-45 {
  padding-bottom: 4.5rem !important; }

.u-py-45 {
  padding: 4.5rem !important; }

.u-mt--50 {
  margin-top: -5rem !important; }

.u-mt-50 {
  margin-top: 5rem !important; }

.u-mb-50 {
  margin-bottom: 5rem; }

.u-pt-50 {
  padding-top: 5rem !important; }

.u-pb-50 {
  padding-bottom: 5rem !important; }

.u-py-50 {
  padding: 5rem !important; }

.u-mt--55 {
  margin-top: -5.5rem !important; }

.u-mt-55 {
  margin-top: 5.5rem !important; }

.u-mb-55 {
  margin-bottom: 5.5rem; }

.u-pt-55 {
  padding-top: 5.5rem !important; }

.u-pb-55 {
  padding-bottom: 5.5rem !important; }

.u-py-55 {
  padding: 5.5rem !important; }

.u-mt--60 {
  margin-top: -6rem !important; }

.u-mt-60 {
  margin-top: 6rem !important; }

.u-mb-60 {
  margin-bottom: 6rem; }

.u-pt-60 {
  padding-top: 6rem !important; }

.u-pb-60 {
  padding-bottom: 6rem !important; }

.u-py-60 {
  padding: 6rem !important; }

@media (max-width: 768px) {
  .u-sp-mt-0 {
    margin-top: 0rem !important; }

  .u-sp-mb-0 {
    margin-bottom: 0rem !important; }

  .u-sp-pt-0 {
    padding-top: 0rem !important; }

  .u-sp-pb-0 {
    padding-bottom: 0rem !important; }

  .u-sp-mt-5 {
    margin-top: 0.5rem !important; }

  .u-sp-mb-5 {
    margin-bottom: 0.5rem !important; }

  .u-sp-pt-5 {
    padding-top: 0.5rem !important; }

  .u-sp-pb-5 {
    padding-bottom: 0.5rem !important; }

  .u-sp-mt-10 {
    margin-top: 1rem !important; }

  .u-sp-mb-10 {
    margin-bottom: 1rem !important; }

  .u-sp-pt-10 {
    padding-top: 1rem !important; }

  .u-sp-pb-10 {
    padding-bottom: 1rem !important; }

  .u-sp-mt-15 {
    margin-top: 1.5rem !important; }

  .u-sp-mb-15 {
    margin-bottom: 1.5rem !important; }

  .u-sp-pt-15 {
    padding-top: 1.5rem !important; }

  .u-sp-pb-15 {
    padding-bottom: 1.5rem !important; }

  .u-sp-mt-20 {
    margin-top: 2rem !important; }

  .u-sp-mb-20 {
    margin-bottom: 2rem !important; }

  .u-sp-pt-20 {
    padding-top: 2rem !important; }

  .u-sp-pb-20 {
    padding-bottom: 2rem !important; }

  .u-sp-mt-25 {
    margin-top: 2.5rem !important; }

  .u-sp-mb-25 {
    margin-bottom: 2.5rem !important; }

  .u-sp-pt-25 {
    padding-top: 2.5rem !important; }

  .u-sp-pb-25 {
    padding-bottom: 2.5rem !important; }

  .u-sp-mt-30 {
    margin-top: 3rem !important; }

  .u-sp-mb-30 {
    margin-bottom: 3rem !important; }

  .u-sp-pt-30 {
    padding-top: 3rem !important; }

  .u-sp-pb-30 {
    padding-bottom: 3rem !important; }

  .u-sp-mt-35 {
    margin-top: 3.5rem !important; }

  .u-sp-mb-35 {
    margin-bottom: 3.5rem !important; }

  .u-sp-pt-35 {
    padding-top: 3.5rem !important; }

  .u-sp-pb-35 {
    padding-bottom: 3.5rem !important; }

  .u-sp-mt-40 {
    margin-top: 4rem !important; }

  .u-sp-mb-40 {
    margin-bottom: 4rem !important; }

  .u-sp-pt-40 {
    padding-top: 4rem !important; }

  .u-sp-pb-40 {
    padding-bottom: 4rem !important; }

  .u-sp-mt-45 {
    margin-top: 4.5rem !important; }

  .u-sp-mb-45 {
    margin-bottom: 4.5rem !important; }

  .u-sp-pt-45 {
    padding-top: 4.5rem !important; }

  .u-sp-pb-45 {
    padding-bottom: 4.5rem !important; }

  .u-sp-mt-50 {
    margin-top: 5rem !important; }

  .u-sp-mb-50 {
    margin-bottom: 5rem !important; }

  .u-sp-pt-50 {
    padding-top: 5rem !important; }

  .u-sp-pb-50 {
    padding-bottom: 5rem !important; }

  .u-sp-mt-55 {
    margin-top: 5.5rem !important; }

  .u-sp-mb-55 {
    margin-bottom: 5.5rem !important; }

  .u-sp-pt-55 {
    padding-top: 5.5rem !important; }

  .u-sp-pb-55 {
    padding-bottom: 5.5rem !important; }

  .u-sp-mt-60 {
    margin-top: 6rem !important; }

  .u-sp-mb-60 {
    margin-bottom: 6rem !important; }

  .u-sp-pt-60 {
    padding-top: 6rem !important; }

  .u-sp-pb-60 {
    padding-bottom: 6rem !important; } }
.u-letter-spacing p {
  letter-spacing: 0.23rem; }

/*# sourceMappingURL=style.min.css.map */
