@charset "UTF-8";

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul,
ol {
  padding: 0;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

ul,
ol {
  list-style: none;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

img:not([alt]) {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

input,
button,
select,
textarea {
  font: inherit;
  border: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  resize: vertical;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* ==========================================
    お問い合わせフォーム用
   ========================================== */

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #fff;
  /* フォントのアンチエイリアスを滑らかに表示（主にMac向け） */
  -webkit-font-smoothing: antialiased;
  /* Chrome, Safari（WebKit系） */
  -moz-osx-font-smoothing: grayscale;
  /* Firefox on macOS */
}

a[href^="tel:"] {
  pointer-events: auto;
}

a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: none;
  /* デフォルトで非表示 */
}

body:not(.using-mouse) a:focus-visible,
body:not(.using-mouse) button:focus-visible,
body:not(.using-mouse) input:focus-visible,
body:not(.using-mouse) select:focus-visible {
  outline: 2px solid #1468b1;
  /* キーボード操作時に表示 */
  outline-offset: 3px;
}

body:not(.using-mouse) textarea:focus-visible {
  outline: 2px solid #1468b1;
  outline-offset: -1px;
}

iframe {
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.ie-warning {
  background-color: #ffcc00;
  color: #000;
  padding: 10px 20px;
  text-align: center;
  font-size: 16px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* WordPress 管理バーを下方に移動 */

#wpadminbar {
  position: fixed;
  bottom: 0;
  top: auto;
  /* 上部からの固定を無効化 */
  z-index: 9999;
  /* 他の要素の上に表示 */
  visibility: hidden;
}

/* 管理バーがある場合のみ適用 */

html {
  margin-top: 0 !important;
  /* 上部余白をリセット */
}

body.admin-bar {
  margin-bottom: 32px;
  /* 管理バーの高さ分の余白を追加 */
  margin-bottom: 0;
}

.splide__slide {
  -webkit-text-size-adjust: 100%;
}

html.is-fixed,
body.is-fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
}

.breadcrumbs--hidden {
  display: none;
}

.inner {
  max-width: 650px;
  padding-inline: 1.25rem;
  margin-inline: auto;
}

.hide-xl2 {
  display: block;
}

.hide-lg {
  display: block;
}

.show-lg {
  display: none;
}

.hide-md {
  display: block;
}

.show-md {
  display: none;
}

.lg-md-only {
  display: none;
}

.md-sm-none {
  display: none;
}

.hide-xl {
  display: block;
}

.hide-sm {
  display: block;
}

.hide-sp {
  display: block;
}

/* ==========================================
    カラー・フォント表示位置・テキストスタイル等
   ========================================== */

.uppercase {
  text-transform: uppercase;
}

.red {
  color: red;
}

.black {
  color: #000;
}

.white {
  color: #fff;
}

.center {
  text-align: center;
}

.center-left {
  text-align: center;
}

.left {
  text-align: left;
}

.justify-left {
  text-align: justify;
}

.justify-center {
  text-align: justify;
}

.bold {
  font-weight: 700;
}

.medium {
  font-weight: 500;
}

.normal {
  font-weight: 400;
}

.mt30-50 {
  margin-top: 1.875rem;
}

.mt20-40 {
  margin-top: 1.25rem;
}

.section-title__text-en {
  font-size: 1.3125rem;
  letter-spacing: 0.12em;
  line-height: 1.4285714286;
  color: #1468b1;
}

.section-title__text-en--large {
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.0714285714;
  color: #000;
}

.section-title__text-en--medium {
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.4464285714;
  color: #000;
}

.section-title__text-en--small {
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.4464285714;
  color: #000;
}

.section-title__text-en--small02 {
  font-size: 1.25rem;
}

.section-title__text-ja {
  margin-top: 0.9375rem;
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.4285714286;
  color: #fff;
}

.section-title__text-ja--black {
  color: #000;
}

.section-title__text-ja--small {
  margin-top: 0.5rem;
  font-size: 1.5625rem;
  line-height: 1.6;
}

.section-title__text-ja--cta {
  margin-top: 0.625rem;
  color: #fff;
}

.section-title__text-en--cta {
  color: #0047a4;
  color: #1468b1;
}

.section-title__text-en--cta02 {
  color: #006fde;
  color: #1468b1;
}

.section-subtitle {
  font-size: 1.1875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.5789473684;
}

.header {
  padding: 0.71875rem 0;
  background-color: transparent;
  position: absolute;
  z-index: 1000;
  width: 100%;
}

.header__inner {
  padding: 0 1.321875rem 0 1.134375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  z-index: 1000;
}

.header__logo-wrapper {
  width: 10.953125rem;
}

.header__logo-link {
  display: block;
  height: inherit;
}

.header__logo {
  height: inherit;
}

.header__right {
  display: none;
}

.header__nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.625rem;
  width: 100%;
  height: 1px;
  background-color: #fff;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.header__menu-button {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.75rem;
  height: 2.75rem;
  z-index: 1001;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: none;
  cursor: pointer;
  padding: 0;
  row-gap: 0.25rem;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.header__menu-bar {
  display: block;
  width: 0.875rem;
  width: 1.375rem;
  height: 0.125rem;
  background-color: #fff;
  border-radius: 0.125rem;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  position: absolute;
  left: 0.625rem;
  transition: transform 0.3s;
}

.header__menu-button.is-active {
  background-color: #353535;
}

.header__menu-button .header__menu-bar:first-child {
  top: 1rem;
}

.header__menu-button .header__menu-bar:nth-child(2) {
  top: 1.375rem;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.header__menu-button .header__menu-bar:nth-child(3) {
  top: 1.75rem;
}

.header__menu-button.is-active .header__menu-bar:first-child {
  top: 1.375rem;
  left: 0.625rem;
  width: 1.375rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.header__menu-button.is-active .header__menu-bar:nth-child(2) {
  opacity: 0;
}

.header__menu-button.is-active .header__menu-bar:nth-child(3) {
  top: 1.375rem;
  left: 0.625rem;
  width: 1.375rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.header__drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  max-height: 100svh;
  min-height: 35.75rem;
  visibility: hidden;
  opacity: 0;
  z-index: 1000;
  overflow: hidden;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  background-color: #0b0b0b;
}

.header__drawer.is-open {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
}

.header__drawer-content {
  margin-top: 2.8125rem;
  border-top: 0.03125rem solid #fbfbfb;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: calc(100svh - 2.8125rem);
  overflow-y: auto;
}

.header__drawer-inner {
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.header__drawer-list {
  padding-top: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.9375rem;
}

.header__drawer-nav {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.header__drawer-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header__drawer-label {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4666666667;
  color: #fff;
}

.header__drawer-arrow {
  width: 0.5rem;
}

.header__drawer-ctas {
  margin-top: 1.875rem;
  width: 18.75rem;
  margin-inline: auto;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.header__drawer-cta-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 1.25rem;
  width: 100%;
}

.header__drawer-cta-item {
  width: 100%;
}

.header__drawer-cta-link {
  width: 100%;
  height: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.840625rem;
     -moz-column-gap: 1.840625rem;
          column-gap: 1.840625rem;
}

.header__drawer-cta-link--primary {
  background: linear-gradient(50deg, #0b80e5 0%, #0b80e5 60%, #0a2f53 110%);
}

.header__drawer-cta-text {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.4666666667;
  color: #fff;
}

.header__drawer-cta-icon {
  width: 0.5rem;
  position: relative;
  top: 0.125rem;
}

.header__drawer-cta-link--secondary {
  background-color: transparent;
  border: 1px solid #fff;
}

.header__drawer-bottom {
  margin-top: 1.25rem;
  padding: 0.8125rem 0 2.5rem;
  background-color: #353535;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.header__drawer-subnav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 13px;
}

.header__drawer-subnav-link {
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4666666667;
  color: #fff;
}

.header--black {
  position: relative;
  background-color: #0b0b0b;
}

.cta__list {
  display: grid;
  grid-template-columns: 1fr;
}

.cta__link {
  position: relative;
  display: block;
  height: 100%;
  border-bottom: 0.03125rem solid #e2e2e2;
}

.cta__img-wrapper {
  position: relative;
  z-index: 0;
}

.cta__img-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(53, 53, 53, 0.6);
  -webkit-transition: background-color 0.3s, backdrop-filter 0.3s;
  transition: background-color 0.3s, backdrop-filter 0.3s;
  background-blend-mode: multiply;
}

.cta__img {
  aspect-ratio: 375/185;
}

.cta__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
}

.footer {
  position: relative;
  color: #fff;
  border-top: 0.0625rem solid #e2e2e2;
}

.footer__top {
  position: relative;
  padding: 2.19375rem 0 1.89375rem;
  background-color: #0b0b0b;
}

.footer__logo {
  width: 12.5rem;
}

.footer__logo-link {
  display: block;
}

.footer__logo-img {
  aspect-ratio: 200/25.825;
}

.footer__nav {
  margin-top: 1.8125rem;
}

.footer__nav-list {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
  -webkit-column-gap: 5.9375rem;
     -moz-column-gap: 5.9375rem;
          column-gap: 5.9375rem;
}

.footer__nav-item {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  /* liを列途中で分割しない */
  -webkit-column-break-inside: avoid;
  font-size: 0.875rem;
  line-height: 1.7857142857;
}

.footer__nav-item + .footer__nav-item {
  margin-top: 0.5rem;
}

.footer__nav-link {
  display: block;
  position: relative;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.footer__nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.3125rem;
  width: 100%;
  height: 1px;
  background-color: #fff;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.footer__info {
  margin-top: 1.5625rem;
  font-style: normal;
}

.footer__info-text {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.footer__partners {
  margin-top: 1.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.39375rem;
     -moz-column-gap: 1.39375rem;
          column-gap: 1.39375rem;
}

.footer__partners-link {
  display: block;
}

.footer__partners-img-wrapper01 {
  width: 5.475625rem;
}

.footer__partners-img01 {
  aspect-ratio: 87.61/43.805;
}

.footer__partners-img-wrapper02 {
  width: 3.5978125rem;
}

.footer__partners-img02 {
  aspect-ratio: 57.565/43.805;
}

.footer__bottom {
  padding: 0.578125rem 0 0.953125rem;
  background-color: #353535;
}

.footer__subnav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.9375rem;
     -moz-column-gap: 0.9375rem;
          column-gap: 0.9375rem;
}

.footer__subnav-link {
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  color: #fff;
}

.footer__copyright {
  display: block;
  margin-top: 1.8125rem;
  text-align: center;
  font-size: 0.625rem;
  letter-spacing: 0;
  line-height: 1.2;
}

/* ==========================================
    ページトップへ戻るボタン
   ========================================== */

.footer__page-top {
  position: absolute;
  top: 0.490625rem;
  right: 1.34375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 0.421875rem;
}

.footer__page-top-icon {
  width: 1rem;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.footer__page-top-label {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.05;
  color: #fff;
}

.floating-menu-sp {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 0s 0.3s, opacity 0.3s;
  transition: visibility 0s 0.3s, opacity 0.3s;
  background: linear-gradient(50deg, #0b80e5 0%, #0b80e5 60%, #0a2f53 110%);
}

.floating-menu-sp.is-active {
  visibility: visible;
  opacity: 1;
  -webkit-transition: visibility 0s 0s, opacity 0.3s;
  transition: visibility 0s 0s, opacity 0.3s;
}

.floating-menu-sp__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.floating-menu-sp__link {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.4666666667;
  color: #fff;
  height: 3.125rem;
  display: grid;
  place-items: center;
}

.floating-menu-sp__item:last-of-type {
  border-left: 0.0625rem solid rgba(255, 255, 255, 0.5);
}

.button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.button__link {
  position: relative;
  width: 12.5rem;
  height: 3.125rem;
  display: grid;
  place-items: center;
  color: #000;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.button__link--wide {
  width: 15.625rem;
}

.button__link--white {
  background-color: #fff;
}

.button__link--black {
  background-color: #353535;
  color: #fff;
}

.button__link--white::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 100%;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  z-index: 0;
}

.button__label {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.4666666667;
  position: relative;
  left: 0.125rem;
  z-index: 2;
}

.button__arrow {
  position: absolute;
  top: 53%;
  right: 1.275rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.375rem;
  z-index: 1;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.button__link--green {
  background-color: #7ab926;
}

.button__label--black {
  position: relative;
  left: -0.625rem;
  color: #000;
}

.button__arrow-wide {
  right: 1.96875rem;
}

.page-fv {
  position: relative;
  height: 60vw;
  overflow: hidden;
}

.page-fv__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  z-index: 1;
}

.page-fv__img-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page-fv__img-wrapper::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(53, 53, 53, 0.6);
}

.page-fv__img {
  aspect-ratio: 375/225;
}

.safari .page-fv__img {
  height: 100%;
}

.page-fv__title {
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.45;
  color: #fff;
}

/* ==========================================
    productsページのFVアニメーション
   ========================================== */

.page-fv__robot {
  position: absolute;
  right: -2.4375rem;
  bottom: -0.25rem;
  width: 19.3125rem;
}

/* 参照用 <img> は高さ確保のため残す（透明） */

.page-fv__robot-img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
}

/* スライスの土台（中身はJSで生成） */

.page-fv__robot-slices {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}

.page-fv__robot-slices.is-play {
  opacity: 1;
}

.page-fv__robot-slices.is-fading {
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
  opacity: 0;
}

.page-fv__robot-slice {
  position: relative;
  height: 16.6666666667%;
  overflow: hidden;
}

.page-fv__robot-slice > img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  max-width: none;
  -webkit-transform: translateY(var(--distance, 120%));
          transform: translateY(var(--distance, 120%));
  opacity: 0.001;
  -webkit-animation: fvRobotSliceUp var(--duration, 0.9s) var(--easing, cubic-bezier(0.2, 0.7, 0.2, 1)) forwards, fvRobotFadeIn calc(var(--duration, 0.9s) * 0.7) ease-out forwards;
          animation: fvRobotSliceUp var(--duration, 0.9s) var(--easing, cubic-bezier(0.2, 0.7, 0.2, 1)) forwards, fvRobotFadeIn calc(var(--duration, 0.9s) * 0.7) ease-out forwards;
  -webkit-animation-delay: var(--delay, 0s);
          animation-delay: var(--delay, 0s);
}

@-webkit-keyframes fvRobotSliceUp {
  from {
    -webkit-transform: translateY(var(--distance, 120%));
            transform: translateY(var(--distance, 120%));
  }

  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fvRobotSliceUp {
  from {
    -webkit-transform: translateY(var(--distance, 120%));
            transform: translateY(var(--distance, 120%));
  }

  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@-webkit-keyframes fvRobotFadeIn {
  from {
    opacity: 0.001;
  }

  to {
    opacity: 1;
  }
}

@keyframes fvRobotFadeIn {
  from {
    opacity: 0.001;
  }

  to {
    opacity: 1;
  }
}

/* ==========================================
    FV横バージョン（改善版）
   ========================================== */

/* 横スライスの土台（中身はJSで生成） */

.page-fv__robot-slices-yoko {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  overflow: hidden;
  /* ← ここに transition を常時持たせる */
  opacity: 1;
  -webkit-transition: opacity var(--fade, 0.6s) ease;
  transition: opacity var(--fade, 0.6s) ease;
}

.page-fv__robot-slices-yoko.is-play {
  opacity: 1;
}

.page-fv__robot-slices-yoko.is-fading {
  opacity: 0;
}

.page-fv__robot-slice-x {
  position: relative;
  width: 16.6666666667%;
  overflow: hidden;
}

.page-fv__robot-slice-x > img {
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  height: 100%;
  max-width: none;
  -webkit-transform: translateX(var(--distance, -120%));
          transform: translateX(var(--distance, -120%));
  opacity: 0.001;
  -webkit-animation: fvRobotSliceRight var(--duration, 0.9s) var(--easing, cubic-bezier(0.2, 0.7, 0.2, 1)) forwards, fvRobotFadeInX calc(var(--duration, 0.9s) * 0.7) ease-out forwards;
          animation: fvRobotSliceRight var(--duration, 0.9s) var(--easing, cubic-bezier(0.2, 0.7, 0.2, 1)) forwards, fvRobotFadeInX calc(var(--duration, 0.9s) * 0.7) ease-out forwards;
  -webkit-animation-delay: var(--delay, 0s);
          animation-delay: var(--delay, 0s);
}

@-webkit-keyframes fvRobotSliceRight {
  from {
    -webkit-transform: translateX(var(--distance, -120%));
            transform: translateX(var(--distance, -120%));
  }

  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fvRobotSliceRight {
  from {
    -webkit-transform: translateX(var(--distance, -120%));
            transform: translateX(var(--distance, -120%));
  }

  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@-webkit-keyframes fvRobotFadeInX {
  from {
    opacity: 0.001;
  }

  to {
    opacity: 1;
  }
}

@keyframes fvRobotFadeInX {
  from {
    opacity: 0.001;
  }

  to {
    opacity: 1;
  }
}

.custom-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.5rem;
}

.custom-pagination__list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.3125rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.custom-pagination__link,
.custom-pagination__dots {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 1.875rem;
  height: 1.875rem;
  border: 0.0625rem solid #fff;
  color: #fff;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}

.custom-pagination__item.is-current .custom-pagination__link {
  background: #fff;
  color: #0b0b0b;
}

.custom-pagination__item--arrow .custom-pagination__link {
  border: none;
}

.custom-pagination__item--arrow .custom-pagination__link {
  width: 1.875rem;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.custom-pagination__item.is-disabled .custom-pagination__link {
  opacity: 0.4;
  cursor: not-allowed;
}

.custom-pagination__item--dots {
  width: 1.875rem;
  height: 1.875rem;
}

.custom-pagination__dots {
  border: none;
}

.custom-pagination__arrow {
  width: 0.349375rem;
}

/* ==========================================
    FV
   ========================================== */

.fv {
  position: relative;
  overflow: hidden;
  height: 100svh;
}

.fv__slide {
  position: relative;
  overflow: hidden;
  height: 100svh;
}

.fv__inner,
.fv__slide-inner {
  position: relative;
  width: 100%;
  height: 100vh;
}

.fv__copy-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  width: 19.46875rem;
}

.fv__bg-wrapper,
.fv__slide-bg-wrapper,
.fv__slide__bg-img01 {
  position: absolute;
  top: 0;
  left: 0;
  height: 100svh;
  width: 100%;
}

.fv__bg,
.fv__slide-bg {
  height: 100%;
}

.fv__slide .fv__slide-bg,
.fv__slide02 .fv__slide__bg-img01 {
  -webkit-transition: 8s ease-out;
  transition: 8s ease-out;
}

.fv__slide.is-active .fv__slide-bg,
.fv__slide02.fv__slide.is-active .fv__slide__bg-img01 {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

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

.fv__slide-link {
  display: block;
}

.fv__slide__content01 {
  position: absolute;
  top: 73.5%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 1.4375rem;
  z-index: 3;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.fv__slide__link-text01 {
  width: 17.625rem;
  width: clamp(282px, calc(282px + 56.4 * ((100vw - 375px) / 393)), 338.4px);
}

.fv__slide__links {
  margin-top: 1.15625rem;
  position: relative;
  left: 0.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  row-gap: 1.1875rem;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.fv__slide__link01 {
  position: relative;
  width: 13.59375rem;
  width: clamp(217.5px, calc(217.5px + 43.5 * ((100vw - 375px) / 393)), 261px);
  height: 2.375rem;
  height: clamp(45.6px, calc(45.6px + -7.6 * ((100vw - 375px) / 393)), 38px);
  display: grid;
  place-items: center;
}

.fv__slide__link01-label {
  font-size: 1.125rem;
  font-size: clamp(18px, calc(18px + 3.6 * ((100vw - 375px) / 393)), 21.6px);
  line-height: 1.2655555556;
  letter-spacing: 0.05em;
  position: relative;
  top: -0.01875rem;
  z-index: 3;
  color: #000;
}

.fv__slide__link01-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.fv__slide__content01 {
  overflow: hidden;
}

.fv__slide__content01::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fbfbfb;
  -webkit-animation: shine_animation 3s ease-in-out infinite;
          animation: shine_animation 3s ease-in-out infinite;
}

@-webkit-keyframes shine_animation {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

@keyframes shine_animation {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

.fv__slide__content01::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 80%);
  -webkit-transition: 0.75s;
  transition: 0.75s;
}

.fv__slide__link-text02 {
  position: relative;
  left: 0.1875rem;
  z-index: 2;
  width: 14.25rem;
  width: clamp(228px, calc(228px + 45.6 * ((100vw - 375px) / 393)), 273.6px);
}

.fv__slide__line-img {
  position: absolute;
  top: 47%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  z-index: 1;
}

.fv__slide__robot-img01 {
  position: absolute;
  top: 3rem;
  right: -4.375rem;
  z-index: 2;
  width: 100%;
}

/* ==========================================
    Visiton
   ========================================== */

.vision {
  position: relative;
  padding: 6.28125rem 0 3.125rem;
  background-color: #0b0b0b;
}

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

.vision__title {
  margin-top: 0;
  mix-blend-mode: screen;
}

.vision__description {
  margin-top: 1.375rem;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.vision__img-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  width: 10.9375rem;
}

.vision__img {
  aspect-ratio: 175/194;
}

/* ==========================================
    Support
   ========================================== */

.support {
  position: relative;
  padding: 3.125rem 0 3.75rem;
  background-color: #0b0b0b;
}

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

.support__list {
  margin-top: 2.1875rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.771875rem 0.6625rem;
}

.support__link {
  display: block;
  position: relative;
}

.support__card-img-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 161.5/101;
}

.support__card-img-wrapper::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(1, 127, 255, 0.3);
  z-index: 1;
}

.support__card-img {
  aspect-ratio: 161.5/101;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.support__card-img--default {
  opacity: 1;
}

.support__card-img--hover {
  opacity: 0;
}

.support__caption {
  margin-top: 0.328125rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4230769231;
  color: #fff;
}

.support__button {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.support__bg {
  position: absolute;
  top: 1.5rem;
  right: 0;
  width: 21.625rem;
}

/* ==========================================
    バナー
   ========================================== */

.banners {
  padding: 3.75rem 0 1.5625rem;
  background-color: #e2e2e2;
  overflow: hidden;
}

.banners__inner {
  max-width: 100%;
  padding-inline: 0;
}

.banners__list {
  display: grid;
  grid-template-columns: 1fr;
}

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

.banners__content01 {
  position: absolute;
  top: 40.5%;
  left: 0.9125rem;
  width: 100%;
}

.banners__item01 a,
.banners__item02 a {
  overflow: hidden;
}

.banners__link-text01 {
  width: 18.375rem;
}

.banners__links {
  margin-top: 0.5625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  margin-left: 0.8125rem;
  row-gap: 0.75rem;
}

.banners__link01 {
  position: relative;
  width: 12.5rem;
  height: 3.125rem;
  display: grid;
  place-items: center;
  margin-left: 0.1875rem;
}

.banners__link01-label {
  font-size: 0.9375rem;
  line-height: 1.4666666667;
  letter-spacing: 0.14em;
  position: relative;
  top: -0.01875rem;
  z-index: 1;
  color: #000;
}

.banners__link01-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.banners__link-text02 {
  width: 15rem;
}

.banners__line-img {
  position: absolute;
  top: 33%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
}

.banners__robot-img01 {
  position: absolute;
  bottom: initial;
  top: -0.1875rem;
  right: -5.3125rem;
  width: 23.125rem;
}

.banners__bg-img01 {
  aspect-ratio: 375/511;
}

.banners__item02 {
  position: relative;
}

.banners__text02 {
  font-size: 1.5625rem;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.05em;
  color: #7cbb27;
}

.banners__text02 .left01 {
  margin-left: -0.5625rem;
}

.banners__text02 .left02 {
  margin-left: -0.5rem;
}

.banners__content02 {
  position: absolute;
  top: 3rem;
  left: 1.375rem;
}

.banners__link02 {
  margin-top: 1.0625rem;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.1em;
  width: 12.5rem;
  height: 3.125rem;
  display: grid;
  place-items: center;
  color: #fff;
  border: 0.0625rem solid #fff;
}

.banners__robot-img02 {
  position: absolute;
  bottom: 1rem;
  right: 0.6875rem;
  width: 15.65625rem;
}

.banners__bg-img02 {
  aspect-ratio: 375/575;
}

/* ==========================================
    Movie
   ========================================== */

.movie {
  padding: 1.5625rem 0 1.5625rem;
  background-color: #e2e2e2;
}

.movie__title {
  margin-left: 4.5px;
}

.movie-cards {
  margin-top: 2.209375rem;
}

.movie-cards__link {
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.movie-cards__slider-track {
  visibility: visible;
}

.movie-cards__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.09375rem 1.25rem;
}

.movie-cards__item .yt-embed iframe {
  aspect-ratio: 16/9;
}

.movie-cards__link {
  display: block;
}

.movie-cards__thumb {
  aspect-ratio: 16/9;
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.movie-cards__title {
  margin-top: 0.653125rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  color: #000;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  padding-left: 0.28125rem;
}

.movie__button {
  margin-top: 3rem;
}

/* ==========================================
    News
   ========================================== */

.news {
  padding: 1.5625rem 0 1.5625rem;
  background-color: #e2e2e2;
  overflow: hidden;
}

.news__title,
.news__x-title {
  margin-left: 0.28125rem;
}

.news__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.1625rem;
}

.news__list-wrapper {
  margin-top: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.5125rem;
}

.news__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.86875rem;
     -moz-column-gap: 0.86875rem;
          column-gap: 0.86875rem;
  padding: 1.15rem 0 0.66875rem 0.24375rem;
  border-bottom: 0.0625rem solid #707070;
}

.news__link-icon {
  width: 0.28125rem;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.news__item-title {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  color: #3a3a3a;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.news__x-embed {
  margin-top: 0.828125rem;
  width: 100%;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* ==========================================
    アニメーション準備
   ========================================== */

/*========================================
  FV①のアニメーション準備
========================================*/

.fv__copy-wrapper {
  position: relative;
  display: inline-block;
  overflow: clip;
  --shineX: -120;
  /* GSAPで移動％を制御 */
}

/* キャッチ画像（ふわっと登場） */

.fv__copy {
  display: block;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

/* シャイン（斜めのハイライト） */

.fv__copy-wrapper::before {
  content: "";
  position: absolute;
  inset: -10% -30%;
  background: linear-gradient(105deg, rgba(255, 255, 255, 0) 45%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0) 55%);
  -webkit-transform: translateX(calc(var(--shineX) * 1%));
          transform: translateX(calc(var(--shineX) * 1%));
  mix-blend-mode: screen;
  pointer-events: none;
}

/* 低モーション環境：最終状態を即時適用 */

/* ==========================================
    FV②のアニメーション準備
   ========================================== */

/* ==========================================
    Visionのアニメーション準備
   ========================================== */

.vision__img-wrapper {
  overflow: clip;
  /* リビール用クリップ（位置指定は既存のまま） */
}

/* 画像：JS制御のため初期状態はCSSでは設定しない */

.vision__img {
  -webkit-transform-origin: center;
          transform-origin: center;
}

/* タイトル：JS制御のため初期状態はCSSでは設定しない */

.vision__title {
  -webkit-transform: skewX(0deg);
          transform: skewX(0deg);
}

/* 説明文：JS制御のため初期状態はCSSでは設定しない */

.vision__description {
  /* JavaScript で制御 */
}

/* 低モーション環境 */

/* ==========================================
    Supportのアニメーション準備
   ========================================== */

.support__card-img-wrapper {
  position: relative;
  /* 既存にない場合の保険 */
  overflow: clip;
  /* 画像のリビール用にクリップ */
}

/* hover画像を上に重ねてフェード */

.support__card-img--hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
  -webkit-transition: opacity 0.35s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.35s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.35s ease, transform 0.6s ease;
  transition: opacity 0.35s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}

/* ホバー時はやり過ぎないクロスフェード＋微ズームアウト */

.support__link:hover .support__card-img--hover,
.support__link:focus-visible .support__card-img--hover {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* 低モーション環境：アニメなしで即表示 */

/*========================================
  Support：タイトルアニメーション
========================================*/

.support__title-en {
  /* JavaScript で制御 */
}

.support__title-ja {
  -webkit-transform: skewX(0deg);
          transform: skewX(0deg);
}

/* 低モーション環境：静的表示 */

/*==============================
  Banners（item01 専用 演出差分）のアニメーション準備
==============================*/

/* CTA内の背景画像に少し弾みをつけたい時の土台（任意） */

.banners__link01-img {
  -webkit-transform-origin: center;
          transform-origin: center;
}

/* ロボット腕：回転の支点はカスタムプロパティで調整可能
   デフォは「画像やや下の付け根」想定（必要に応じて調整） */

.banners__robot-img01 {
  -webkit-transform-origin: var(--arm-origin, 65% 85%);
          transform-origin: var(--arm-origin, 65% 85%);
}

/* 衝撃フラッシュ：item01のリンク全体に一瞬の光を走らせる */

.banners__item01 > a {
  position: relative;
  display: block;
}

.banners__item01 > a::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: var(--impact, 0);
  /* 放射状に広がる白フラッシュ（背景混色するなら調整可） */
  background: radial-gradient(ellipse at 70% 60%, rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.15) 40%, rgba(255, 255, 255, 0) 65%);
  -webkit-transition: opacity 0.18s ease;
  transition: opacity 0.18s ease;
}

/* 低モーション環境：即表示（静的） */

/*==============================
  Banners item02のアニメーション準備
==============================*/

/* 強調ライン（left01/left02）：横にスッと伸びる */

.banners__text02 .left01,
.banners__text02 .left02 {
  position: relative;
  display: inline-block;
}

.banners__text02 .left01::after,
.banners__text02 .left02::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.2em;
  height: 2px;
  /* ラインの太さ */
  background: currentColor;
  /* 文字色に追従（必要なら固定色に） */
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  opacity: 0.9;
}

/* ロボ像：わずかに傾き&ズームから“スッ”と */

.banners__robot-img02 {
  -webkit-transform-origin: var(--robot2-origin, 50% 80%);
          transform-origin: var(--robot2-origin, 50% 80%);
}

/* 低モーション：静的表示 */

/* 親は相対配置（フラッシュ／衝撃波用の疑似要素を載せる） */

.banners__item02 > a {
  position: relative;
  overflow: clip;
  /* 衝撃波を内側に収める */
  display: block;
}

/* ロボ像：色ずれ（クロマティック）＆影量をCSS変数で制御 */

.banners__robot-img02 {
  display: block;
  -webkit-transform-origin: var(--robot2-origin, 52% 76%);
          transform-origin: var(--robot2-origin, 52% 76%);
  /* 色ずれのオフセット（--dx/--dy）と影ぼかし（--shadowBlur） */
  --dx: 0px;
  --dy: 0px;
  --shadowBlur: 20px;
  /* 2色の残像を drop-shadow で表現 + 床影 */
  -webkit-filter: drop-shadow(var(--dx) var(--dy) 0 rgba(255, 50, 50, 0.35)) drop-shadow(calc(var(--dx) * -1) calc(var(--dy) * -1) 0 rgba(50, 140, 255, 0.35)) drop-shadow(0 18px var(--shadowBlur) rgba(0, 0, 0, 0.26));
          filter: drop-shadow(var(--dx) var(--dy) 0 rgba(255, 50, 50, 0.35)) drop-shadow(calc(var(--dx) * -1) calc(var(--dy) * -1) 0 rgba(50, 140, 255, 0.35)) drop-shadow(0 18px var(--shadowBlur) rgba(0, 0, 0, 0.26));
  /* 床影 */
}

/* 着地ショックウェーブ（円環が広がる） */

.banners__item02 > a::before {
  content: "";
  position: absolute;
  left: 62%;
  top: 72%;
  /* 衝撃中心（必要に応じ調整） */
  width: 60px;
  height: 60px;
  /* 初期半径（アニメで拡大） */
  border: 2px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  -webkit-transform: translate(-50%, -50%) scale(var(--shockScale, 0.2));
          transform: translate(-50%, -50%) scale(var(--shockScale, 0.2));
  opacity: var(--shockAlpha, 0);
  pointer-events: none;
}

/* 低モーション：静的表示 */

/*==============================
  Movie：タイトルのアニメーション準備
==============================*/

.movie__title {
  /* JavaScript で制御 */
}

/*==============================
  Movie：カード演出のアニメーション準備
==============================*/

.movie__title {
  opacity: 0;
  -webkit-transform: translateY(14px);
          transform: translateY(14px);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}

.movie-cards__item--top {
  opacity: 0;
  -webkit-transform: translateY(16px);
          transform: translateY(16px);
}

/* Splideクローン要素はアニメーション対象外 */

.movie-cards__item--top.is-clone .movie-cards__thumb {
  -webkit-transform: none !important;
          transform: none !important;
  -webkit-filter: none !important;
          filter: none !important;
  clip-path: none !important;
}

.movie-cards__title--top {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}

.movie__button {
  opacity: 0;
  -webkit-transform: translateY(12px);
          transform: translateY(12px);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}

/* アニメーション完了時の状態 */

.movie.is-animated .movie__title,
.movie.is-animated .movie-cards__item--top,
.movie.is-animated .movie-cards__title--top,
.movie.is-animated .movie__button {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-filter: none;
          filter: none;
}

.movie.is-animated .movie-cards__thumb {
  -webkit-transform: none;
          transform: none;
  -webkit-filter: none;
          filter: none;
}

/* 低モーション */

/*==============================
  News：演出用のアニメーション準備
==============================*/

.news__title {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}

.news__list .news__item {
  opacity: 0;
  -webkit-transform: translateY(12px);
          transform: translateY(12px);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}

.news__button {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}

/* 右側：Xブロックごと軽く */

.news__x-title,
.news__x-embed {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}

/* 低モーション：静的表示 */

/* ==========================================
    フェードインアニメーションの準備
   ========================================== */

.js-fade-in {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
  transition: opacity 0.8s ease, -webkit-transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1), -webkit-transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.js-fade-in.is-visible {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* ==========================================
    技術革新と品質へのこだわり
   ========================================== */

.about-innovation {
  padding: 1.875rem 0 0.625rem;
  background-color: #0b0b0b;
  overflow: hidden;
}

.about-innovation__inner {
  color: #fff;
}

.about-innovation__text {
  margin-top: 0.625rem;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.about-innovation__img-wrapper {
  margin-top: 1.4375rem;
}

.about-innovation__img {
  aspect-ratio: 335/175;
}

.about-innovation__accordion {
  margin-top: 0.25rem;
}

.about-innovation__item {
  border-bottom: 0.0625rem solid #fff;
}

.about-innovation__toggle {
  background: transparent;
  border: none;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #fff;
  width: 100%;
  padding: 0.5rem 0.75rem 0.84375rem 0;
  min-height: 2.90625rem;
}

.about-innovation__label {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  color: #fff;
  display: block;
  -webkit-transition: opacity 0.3s ease, height 0.35s ease;
  transition: opacity 0.3s ease, height 0.35s ease;
  overflow: hidden;
}

.about-innovation__icon-group {
  width: 0.3125rem;
  display: block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.about-innovation__close-group {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.25rem;
     -moz-column-gap: 0.25rem;
          column-gap: 0.25rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.about-innovation__close-text {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  line-height: 1.4166666667;
  color: #1468b1;
  text-decoration: underline;
}

.about-innovation__icon--blue {
  width: 0.3125rem;
}

.about-innovation__panel {
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 0.35s ease, padding 0.35s ease;
  transition: max-height 0.35s ease, padding 0.35s ease;
  padding: 0;
}

.about-innovation__panel-title,
.about-innovation__panel-text {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.about-innovation__panel.is-open .about-innovation__panel-text {
  opacity: 1;
}

.about-innovation__panel-text {
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.875;
  padding: 0 0 0.625rem;
}

/* ==========================================
    設備実績
   ========================================== */

.about-equipment {
  padding: 2.5rem 0 3.95625rem;
  background-color: #0b0b0b;
  overflow: hidden;
}

.about-equipment__inner {
  position: relative;
  z-index: 1;
}

.about-equipment__title-ja {
  margin-top: 0.5rem;
}

.about-equipment__list {
  color: #fff;
}

.about-equipment__item {
  margin-top: 1.5625rem;
}

.about-equipment__body {
  margin-top: 1.8125rem;
}

.about-equipment__heading {
  font-size: 1.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.6;
}

.about-equipment__img-wrapper--01 {
  margin-top: 1rem;
  width: 20.9375rem;
}

.about-equipment__img-wrapper--02 {
  margin-top: 1.834375rem;
  width: 12.5rem;
  margin-inline: auto;
}

.about-equipment__img-wrapper--03 {
  margin-top: 1.78125rem;
  width: 15.625rem;
  margin-inline: auto;
}

.about-equipment__img--01 {
  aspect-ratio: 335/175;
}

.about-equipment__img--02 {
  aspect-ratio: 200/250;
}

.about-equipment__item-list {
  margin-top: 0.3125rem;
}

.about-equipment__item-item {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  padding-left: 1em;
  text-indent: -1em;
}

.about-equipment__item-item--no-indent {
  text-indent: 0;
  padding-left: 0;
}

.about-equipment__item-item--mt {
  margin-top: 0.9375rem;
}

.about-equipment__bg-img {
  position: absolute;
  top: 3.125rem;
  right: 0;
  width: 33.0625rem;
  z-index: 0;
}

/* ==========================================
    主要設備／設計環境
   ========================================== */

.about-machine {
  padding: 2.29375rem 0 3.125rem;
  background-color: #e2e2e2;
  overflow: hidden;
}

.about-machine__inner {
  color: #000;
}

.about-machine__title-ja {
  margin-top: 0.625rem;
}

.about-machine__heading {
  margin-top: 0.8125rem;
  width: 16.25rem;
}

.about-machine__type {
  margin-top: 0.6875rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.875;
}

.about-machine__slider {
  margin-top: 1.75rem;
  width: 100vw;
  margin-right: calc(50% - 50vw);
}

.about-machine__img {
  aspect-ratio: 239.5/160.5;
}

.about-machine__caption {
  margin-top: 0.303125rem;
  font-size: min(0.875rem, 19px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  text-align: center;
}

.about-machine__environment {
  margin-top: 1.625rem;
}

.about-machine__environment-heading {
  margin-left: 0.375rem;
}

.about-machine__environment-list {
  margin-top: 1.28125rem;
}

.about-machine__environment-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.about-machine__environment-item + .about-machine__environment-item {
  margin-top: 0.296875rem;
}

.about-machine__environment-name {
  width: 15.6875rem;
  padding: 0.75rem 0.9375rem;
  height: 3.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background-color: #353535;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.3636363636;
}

.about-machine__environment-license {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0.9375rem 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 3.6875rem;
  color: #fff;
  background-color: #000;
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.2222222222;
}

.about-machine__environment-images {
  margin-top: 2.140625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.about-machine__environment-left-wrapper {
  margin-top: 5rem;
  width: 13.09375rem;
  -webkit-box-shadow: 0rem 0.625rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0rem 0.625rem 0.375rem rgba(0, 0, 0, 0.16);
}

.about-machine__environment-left {
  aspect-ratio: 209.5/154.5;
}

.about-machine__environment-right-wrapper {
  width: 10.46875rem;
  margin-left: -2.6875rem;
  -webkit-box-shadow: 0rem 0.625rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0rem 0.625rem 0.375rem rgba(0, 0, 0, 0.16);
}

.about-machine__environment-right {
  aspect-ratio: 167.5/123.5;
}

/* ==========================================
    アニメーション準備
   ========================================== */

/* スクロールイン演出の初期値 */

.about-innovation__accordion .about-innovation__item {
  opacity: 0;
  -webkit-transform: translateY(12px);
          transform: translateY(12px);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}

/* パネルのアニメーション時に高さを隠してはみ出し防止 */

.about-innovation__panel.__animating {
  overflow: hidden;
}

/* 低モーション配慮 */

/* ==========================================
    アコーディオンの画像用
   ========================================== */

/* メイン画像のフェード用 */

.about-innovation__img {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  opacity: 1;
}

.about-innovation__img.is-fading {
  opacity: 0;
}

/* 固定ヘッダー + 余白の補正は CSS で管理（JSが --headerH を更新） */

.about-innovation__content.ai-large {
  /* 画面高 >= 850px の時、常に上端から20px（+ ヘッダー高） */
  scroll-margin-top: calc(var(--headerH, 0px) + 20px);
}

.about-innovation__item {
  /* 小画面時：各アイテムに 12px（+ ヘッダー高） */
  scroll-margin-top: calc(var(--headerH, 0px) + 12px);
}

/* アコーディオンの非表示は確実に display:none に（アクセシビリティ維持） */

.about-innovation__panel[hidden] {
  display: none !important;
}

/*========================================
  PC（769px〜）では必ずグリッド表示に戻す（保険）
  Splideの初期化/破棄タイミングで残るdisplayやvisibilityを上書き
========================================*/

/* ==========================================
    Products
   ========================================== */

.tm-robot-products {
  padding: 1.88125rem 0 1.25rem;
  background-color: #e2e2e2;
}

.tm-robot-products__inner {
  color: #000;
}

.tm-robot-products__title-ja {
  margin-top: 0.375rem;
}

.tm-robot-products__text {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.tm-robot-products__video-wrapper {
  margin-top: 1.5625rem;
}

.tm-robot-products__video {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}

/* ==========================================
    Features
   ========================================== */

.tm-robot-features {
  padding: 1.0625rem 0 1.5625rem;
  background-color: #e2e2e2;
}

.tm-robot-features__inner {
  color: #000;
}

.tm-robot-features__title-ja {
  margin-top: 0.625rem;
}

.tm-robot-features__checks {
  margin-top: 1.5625rem;
}

.tm-robot-features__check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.71875rem;
     -moz-column-gap: 0.71875rem;
          column-gap: 0.71875rem;
}

.tm-robot-features__check + .tm-robot-features__check {
  margin-top: 0.5rem;
}

.tm-robot-features__check-icon {
  width: 1.515625rem;
}

.tm-robot-features__check-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.40625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.6666666667;
}

.tm-robot-features__list {
  margin-top: 1.9375rem;
}

.tm-robot-features__item {
  text-align: center;
}

.tm-robot-features__item + .tm-robot-features__item {
  margin-top: 1.875rem;
}

.tm-robot-features__item-title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.925;
}

.tm-robot-features__img-wrapper {
  margin-top: 0.934375rem;
  position: relative;
  width: 20.0828125rem;
  margin-inline: auto;
}

.tm-robot-features__img-wrapper::after {
  position: absolute;
  content: "";
  top: 0.853125rem;
  left: 0.853125rem;
  width: 100%;
  height: 100%;
  border: 0.0625rem solid #1468b1;
  z-index: 0;
}

.tm-robot-features__img {
  position: relative;
  z-index: 1;
  aspect-ratio: 321.325/244.07;
}

.tm-robot-features__caption {
  margin-top: 1.584375rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

/* ==========================================
    Purpose
   ========================================== */

.tm-robot-purpose {
  padding: 3.421875rem 0 1.58125rem;
  background-color: #0b0b0b;
}

.tm-robot-purpose__title-ja {
  margin-top: 0.625rem;
}

.tm-robot-purpose__list {
  margin-top: 1.5625rem;
}

.tm-robot-purpose__item + .tm-robot-purpose__item {
  margin-top: 0.9375rem;
}

.tm-robot-purpose__img {
  aspect-ratio: 67/35;
}

.tm-robot-purpose__caption {
  margin-top: 0.653125rem;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

/* ==========================================
    無料体験セミナー受付中！
   ========================================== */

.tm-robot-seminar {
  padding: 3.48125rem 0 1.25rem;
  background-color: #fff;
  overflow: hidden;
}

.tm-robot-seminar__inner {
  padding-inline: 0;
  color: #000;
}

.tm-robot-seminar__badge {
  padding: 0.73125rem 0.625rem 0.6125rem;
  background-color: #0b0b0b;
  color: #7ab926;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  text-align: center;
  font-size: 1.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.36;
}

.tm-robot-seminar__lead {
  margin-top: 1.625rem;
  padding-left: 0.875rem;
}

.tm-robot-seminar__title {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2857142857;
  text-align: center;
}

.tm-robot-seminar__title .kerning {
  display: inline-block;
}

.tm-robot-seminar__title-small {
  display: inline-block;
  font-size: 1.5625rem;
  letter-spacing: 0.12em;
  line-height: 1.44;
  text-wrap: nowrap;
}

.tm-robot-seminar__em {
  color: #7ab926;
}

.tm-robot-seminar__voice {
  margin-top: 0.875rem;
  font-size: 0.9375rem;
  letter-spacing: 0.12em;
  line-height: 1.6333333333;
  text-align: center;
  text-wrap: nowrap;
}

.tm-robot-seminar__voice:first-of-type {
  position: relative;
  left: -0.3125rem;
}

.tm-robot-seminar__voice:nth-of-type(2) {
  margin-top: 0;
  position: relative;
  left: -0.75rem;
}

.tm-robot-seminar__voice:nth-of-type(3) {
  margin-top: 0.5rem;
}

.tm-robot-seminar__video-wrapper {
  margin-top: 0.9375rem;
  position: relative;
  width: 20.9375rem;
  margin-inline: auto;
}

.tm-robot-seminar__video {
  aspect-ratio: 16/9;
  display: block;
  width: 100%;
  height: auto;
}

.tm-robot-seminar__box {
  margin-top: 2.36875rem;
  position: relative;
  padding-right: 1.25rem;
}

.tm-robot-seminar__robot-img-wrapper {
  position: absolute;
  top: -1.996875rem;
  left: 0;
  width: 6.71875rem;
}

.tm-robot-seminar__note {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  text-align: center;
}

.tm-robot-seminar__button {
  margin-top: 2.3625rem;
}

/* ==========================================
    FAQ
   ========================================== */

.tm-robot-faq {
  padding: 1.3125rem 0 5.3125rem;
  background-color: #fff;
}

.tm-robot-faq__title-ja {
  margin-top: 0.6875rem;
}

.tm-robot-faq__list {
  margin-top: 2.6875rem;
}

.tm-robot-faq__item + .tm-robot-faq__item {
  margin-top: 1.875rem;
}

.tm-robot-faq__q,
.tm-robot-faq__a-text {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  color: #000;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.tm-robot-faq__q span {
  display: block;
  margin-top: 0.9375rem;
  padding-left: 0;
  text-indent: 0;
}

.tm-robot-faq__a {
  margin-top: 0.625rem;
}

.tm-robot-faq__a-text {
  letter-spacing: 0.12em;
  color: #1468b1;
}

.tm-robot-faq__a-text span {
  padding-left: 1.5em;
}

.tm-robot-faq__a-text span.inline-block {
  display: inline-block;
  padding-left: 0;
  text-indent: 0;
}

.tm-robot-faq__a-text + .tm-robot-faq__a-text {
  margin-top: 1.5625rem;
}

/* ==========================================
    代表挨拶
   ========================================== */

.company-greetings {
  padding: 2.50625rem 0 1.25rem;
  background-color: #e2e2e2;
}

.company-greetings__inner {
  color: #000;
}

.company-greetings__title-ja {
  margin-top: 0.625rem;
}

.company-greetings__content {
  margin-top: 1.5625rem;
  display: grid;
  grid-template-areas: "content" "image" "signature";
}

.company-greetings__img-wrapper {
  margin-top: 1.221875rem;
  width: 100%;
  grid-area: image;
}

.company-greetings__img {
  aspect-ratio: 335/390.5;
}

.company-greetings__body {
  grid-area: content;
}

.company-greetings__heading {
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4444444444;
  padding-left: 0.1375rem;
}

.company-greetings__text {
  margin-top: 0.71875rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.company-greetings__signature {
  margin-top: 0.953125rem;
  grid-area: signature;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  text-align: right;
}

.company-greetings__company {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.6666666667;
}

.company-greetings__info {
  margin-top: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
}

.company-greetings__role {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
}

.company-greetings__name {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3888888889;
}

/* ==========================================
    会社概要
   ========================================== */

.company-company {
  padding: 1.25rem 0 1.25rem;
  background-color: #e2e2e2;
}

.company-company__inner {
  color: #000;
}

.company-company__title-ja {
  margin-top: 0.625rem;
}

.company-company__content {
  margin-top: 1.5625rem;
}

.company-company__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.115625rem;
     -moz-column-gap: 1.115625rem;
          column-gap: 1.115625rem;
  border-bottom: 0.0625rem solid #0b0b0b;
  padding: 0.9375rem 0.9375rem 0.9375rem 0;
}

.company-company__row:first-of-type {
  border-top: 0.0625rem solid #0b0b0b;
}

.company-company__term {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  width: 6rem;
}

.company-company__term span {
  display: inline-block;
}

.company-company__desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 0.875rem;
  line-height: 1.7857142857;
}

.company-company__desc span {
  display: block;
  padding-left: 0em;
  text-indent: -1em;
}

.company-company__img-wrapper {
  display: none;
}

/* ==========================================
    アクセス
   ========================================== */

.company-access {
  padding: 1.25rem 0 1.25rem;
  background-color: #e2e2e2;
}

.company-access__title-ja {
  margin-top: 0.625rem;
}

.company-access__map {
  margin-top: 1.5625rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.company-access__map iframe {
  aspect-ratio: 375/165;
  height: auto;
}

/* ==========================================
    沿革
   ========================================== */

.company-history {
  padding: 2.5rem 0 2.5rem;
  background-color: #e2e2e2;
}

.company-history__inner {
  color: #000;
}

.company-history__title-ja {
  margin-top: 0.625rem;
}

.company-history__timeline {
  margin-top: 1.25625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 0.78125rem;
     -moz-column-gap: 0.78125rem;
          column-gap: 0.78125rem;
}

.company-history__timeline-img-wrapper {
  width: 2.34375rem;
}

.company-history__timeline-img {
  aspect-ratio: 75/5799;
}

.company-history__periods {
  margin-top: 0.46875rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.company-history__period + .company-history__period {
  margin-top: 0.9375rem;
}

.company-history__item + .company-history__item {
  margin-top: 0.625rem;
}

.company-history__item + .company-history__item--large {
  margin-top: 0.875rem;
}

.company-history__item--large + .company-history__item--large {
  margin-top: 1.125rem;
}

.company-history__text {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.company-history__text--large {
  font-size: 1.1875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3157894737;
  color: #1468b1;
}

.company-history__text-year {
  display: block;
}

.company-history__text-year--large {
  padding-bottom: 0.4375rem;
}

.company-history__img-wrapper {
  margin: 0.9375rem 0 1.6875rem 0.5rem;
  position: relative;
  width: 16.875rem;
  opacity: 0;
  -webkit-transform: translate(-3.75rem, 3.75rem);
          transform: translate(-3.75rem, 3.75rem);
}

.company-history__img-wrapper::after {
  content: "";
  position: absolute;
  top: 0.8875rem;
  left: 0.8875rem;
  width: 100%;
  height: 100%;
  border: 0.03125rem solid #1468b1;
}

.company-history__img {
  position: relative;
  z-index: 1;
  aspect-ratio: 270/177.5;
}

/* ==========================================
    採用情報
   ========================================== */

.company-recruit {
  padding: 0 0 3.125rem;
  background-color: #0b0b0b;
}

.company-recruit__kv-img {
  aspect-ratio: 375/200;
}

.company-recruit__inner {
  color: #fff;
  scroll-margin-top: 1.5rem;
}

.company-recruit__title-en {
  margin-top: 2.4375rem;
}

.company-recruit__title-ja {
  margin-top: 0.625rem;
}

.company-recruit__content {
  margin-top: 1.25rem;
}

.company-recruit__heading {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.6111111111;
}

.company-recruit__box {
  margin-top: 0.9375rem;
}

.company-recruit__box + .company-recruit__box {
  margin-top: 0.9375rem;
}

.company-recruit__subheading {
  font-size: 1.03125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4545454545;
}

.company-recruit__text {
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.company-recruit__section {
  margin-top: 1.25rem;
}

.company-recruit__section-heading {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.6111111111;
}

.company-recruit__definition {
  margin-top: 0.9375rem;
}

.company-recruit__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.625rem;
  border-bottom: 0.0625rem solid #fff;
  padding: 0.625rem 0;
}

.company-recruit__row:first-of-type {
  border-top: 0.0625rem solid #fff;
}

.company-recruit__row + .company-recruit__row {
  margin-top: 0.25rem;
}

.company-recruit__term {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4666666667;
}

.company-recruit__desc {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.company-recruit__desc .indent {
  display: block;
  padding-left: 3em;
  text-indent: -3em;
}

.company-recruit__text-link {
  text-decoration: underline;
  color: #fff;
}

.company-recruit__apply-text {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.news-archive {
  padding: 1.696875rem 0 2.5rem;
  background-color: #0b0b0b;
  overflow: hidden;
}

.news-archive__inner {
  color: #fff;
}

.news-archive__title-ja {
  margin-top: 0.625rem;
}

.news-archive__list {
  margin-top: 0.625rem;
}

.news-archive__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 1.4375rem;
  padding: 0.9375rem 0 0.9375rem;
  border-bottom: 0.03125rem solid #e5e5e5;
}

.news-archive__card-title {
  font-size: 1.03125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3939393939;
}

.news-archive__card-body {
  margin-top: 0.75rem;
}

.news-archive__card-body p {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.news-archive__card-body p + p {
  margin-top: 0.625rem;
}

.news-archive__card-body a {
  color: #fff;
  text-decoration: underline;
}

.news-archive__thumb-img-wrapper {
  width: 9.375rem;
}

.news-archive__thumb-img {
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  margin-right: auto;
}

/* ==========================================
    スクロール調整
   ========================================== */

.news-archive__item {
  scroll-margin-top: 1.5rem;
}

.movie-archive {
  padding: 1.875rem 0 4.6875rem;
  background-color: #0b0b0b;
}

.movie-archive__title-ja {
  margin-top: 0.625rem;
}

.movie-archive__cards {
  margin-top: 0.9375rem;
}

.movie-cards__title--archive {
  color: #fff;
}

.movie-cards__item--archive {
  cursor: pointer;
}

/*========================================
  追加CSS（最低限）
  ・動画の右上に×ボタン
========================================*/

.yt-embed {
  position: relative;
}

.yt-embed__close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 55)), 16px);
  line-height: 1.1;
  cursor: pointer;
}

.yt-embed__close:focus {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.sitemap-list {
  padding: 1.875rem 0 4.6875rem;
  background-color: #0b0b0b;
}

.sitemap-list__title-ja {
  margin-top: 0.625rem;
}

.sitemap-list__items-wrapper {
  margin-top: 1.875rem;
}

.sitemap-list__items + .sitemap-list__items {
  margin-top: 1.25rem;
}

.sitemap-list__item + .sitemap-list__item {
  margin-top: 1.25rem;
}

.sitemap-list__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
}

.sitemap-list__link span {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
  color: #fff;
}

.sitemap-list__arrow {
  width: 0.375rem;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.privacy {
  padding: 1.875rem 0 4.6875rem;
  background-color: #0b0b0b;
}

.privacy__title-ja {
  margin-top: 0.625rem;
}

.privacy-content {
  margin-top: 30px;
}

.privacy-content__list {
  margin-top: 1.25rem;
}

.privacy-content__item + .privacy-content__item {
  margin-top: 1.25rem;
}

.privacy-content__heading {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5625;
}

.privacy-content__text {
  margin-top: 0.4375rem;
}

.privacy-content__sublist {
  margin-top: 0.4375rem;
}

.privacy-content__text,
.privacy-content__subitem,
.privacy-content__address {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}

.privacy-content__subitem + .privacy-content__subitem {
  margin-top: 0.3125rem;
}

.privacy-content__address {
  margin-top: 1.25rem;
  font-style: normal;
}

.privacy-content__address a {
  color: #fff;
}

/* ==========================================
    お問い合わせ
   ========================================== */

.contact,
.form-section {
  padding: 2.125rem 0 5rem;
  background-color: #0b0b0b;
}

.contact__title-ja {
  margin-top: 0.625rem;
}

/* ==========================================
    お問い合わせフォーム
   ========================================== */

.wpcf7 {
  padding-top: 1.25rem;
  color: #fff;
}

fieldset.contact-form__group {
  padding: 0;
  border: none;
}

.contact-form__row + .contact-form__row {
  margin-top: 1.1875rem;
}

.contact-form__row + .contact-form__row--mt02 {
  margin-top: 1.375rem;
}

.contact-form__label {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4285714286;
  text-align: left;
  pointer-events: none;
}

.contact-form__required {
  font-size: 0.75rem;
  line-height: 1.375;
  color: #fff;
  letter-spacing: 0;
  font-weight: 500;
  display: inline-block;
  padding: 0.0625rem 0.125rem;
  background-color: #1468b1;
  margin-left: 0.3125rem;
}

.safari .contact-form__required {
  padding-top: 0.125rem;
  padding-bottom: 0.0625rem;
}

.contact-form__label .small {
  margin-top: 0.3125rem;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4583333333;
}

.contact-form__input::-webkit-input-placeholder, .contact-form__textarea::-webkit-input-placeholder {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.3);
}

.contact-form__input::-moz-placeholder, .contact-form__textarea::-moz-placeholder {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.3);
}

.contact-form__input:-ms-input-placeholder, .contact-form__textarea:-ms-input-placeholder {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.3);
}

.contact-form__input::-ms-input-placeholder, .contact-form__textarea::-ms-input-placeholder {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.3);
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.3);
}

.wpcf7-form-control-wrap {
  width: 100%;
}

.contact-form__input,
.contact-form__textarea {
  width: 100%;
  padding: 0.375rem 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4285714286;
  margin-top: 0.3125rem;
  background-color: #fff;
  color: #000;
}

.contact-form__textarea {
  margin-top: 0.625rem;
  line-height: 1.7;
}

.contact-form__count {
  font-size: 0.75rem;
  margin-top: 0.375rem;
  padding-right: 0.5rem;
  text-align: right;
}

.contact-form__textarea {
  width: 100%;
  resize: none;
  height: 8.3125rem;
}

/* ==========================================
    ラジオボタン
   ========================================== */

.contact-form__radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.6875rem;
}

.contact-form__options {
  margin-top: 0.9375rem;
}

.contact-form__options label {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
}

.contact-form__options input + span::before {
  position: relative;
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  border: 0.0625rem solid #000;
  border-radius: 100%;
  background: #fff;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.contact-form__options input + span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 100vh;
  background-color: #1468b1;
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.safari .contact-form__options input + span::after {
  left: 0.649375rem;
  margin-top: -0.125rem;
}

.contact-form__options input:checked + span::after {
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
}

.contact-form__note {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  color: #1468b1;
  padding-left: 1.25rem;
}

/* ==========================================
    チェックボックス・プライバシーチェック関係
   ========================================== */

.contact-form__checkbox,
.contact-form__checkbox02 {
  margin-top: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.71875rem;
     -moz-column-gap: 1.71875rem;
          column-gap: 1.71875rem;
}

.contact-form__checkbox02 {
  margin-top: 1.25rem;
  -webkit-column-gap: 0rem;
     -moz-column-gap: 0rem;
          column-gap: 0rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.contact-form__checkbox label,
.contact-form__checkbox02 label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.95;
  display: inline-block;
  cursor: pointer;
}

.contact-form__checkbox02 label {
  font-size: 0.75rem;
  line-height: 1.4583333333;
}

span.wpcf7-list-item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.contact-form__checkbox02 .wpcf7-form-control-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}

.contact-form__checkbox02 span.wpcf7-list-item-label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.contact-form__checkbox02 .contact-form__required {
  position: relative;
  top: -0.125rem;
}

.contact-form__checkbox input,
.contact-form__checkbox02 input {
  position: absolute;
  /* “視覚的に”隠すが、フォーカスは可能にするテクニック */
  opacity: 0;
  width: 1px;
  width: 0.0625rem;
  height: 1px;
  height: 0.0625rem;
  margin: -1px;
  margin: -0.0625rem;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

/* キーボード操作時のフォーカス見える化 */

.contact-form__checkbox input:focus-visible + span::before,
.contact-form__checkbox02 input:focus-visible + span::before {
  outline: 0.125rem solid #1468b1;
  outline-offset: 0.125rem;
}

.contact-form__checkbox input + span::before {
  content: "";
  width: 1.471875rem;
  height: 1.471875rem;
  position: relative;
  border: 0.0625rem solid #9e9e9e;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.contact-form__checkbox input + span::after {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  -webkit-transform: scale(0);
          transform: scale(0);
  width: 0.9375rem;
  height: 0.9375rem;
  background-image: url("../img/check-icon.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.contact-form__checkbox input:checked + span::after {
  -webkit-transform: scale(1);
          transform: scale(1);
}

input.contact-form__acceptance + span::before {
  content: "";
  width: 1.46875rem;
  height: 1.46875rem;
  position: relative;
  background-color: #fff;
  border: 0.0625rem solid #707070;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

input.contact-form__acceptance + span::after {
  content: "";
  position: absolute;
  top: 0.3125rem;
  left: 0.3125rem;
  -webkit-transform: scale(0);
          transform: scale(0);
  width: 0.9375rem;
  height: 0.9375rem;
  background-image: url("../img/check-icon.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

input.contact-form__acceptance:checked + span::after {
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* ==========================================
    送信ボタン
   ========================================== */

.contact-form__submit-box {
  position: relative;
  width: 10.9375rem;
  margin-inline: auto;
  margin-top: 1.1875rem;
}

.contact-form__submit-box::before {
  position: absolute;
  content: "";
  background-image: url("../img/contact-arrow.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  top: 50%;
  right: 1.4375rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.26875rem;
  height: 0.53125rem;
  z-index: 1;
  -webkit-transition: background-image 0.3s;
  transition: background-image 0.3s;
}

.contact-form__submit-box:has(.confirm-button:disabled)::before {
  display: none;
}

.contact-form__submit-box--confirm::before {
  display: none;
}

.contact-form__submit {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 1.875rem;
  background-color: #1468b1;
  cursor: pointer;
  margin-inline: auto;
  -webkit-transition: opacity 0.3s, background-color 0.3s;
  transition: opacity 0.3s, background-color 0.3s;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4285714286;
  color: #fff;
  border: none;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin-left: 0;
}

.wpcf7-list-item {
  margin: 0;
}

.confirm-button:disabled {
  background-color: #ccc;
  color: #707070;
  border-color: #707070;
  cursor: not-allowed;
}

/* ==========================================
    確認画面・完了画面
   ========================================== */

.thanks-info {
  padding-bottom: 1.875rem;
}

.contact-form__group--confirm .contact-form__label {
  padding-right: 0.625rem;
}

.contact-form__group--confirm .contact-form__requiblue {
  display: none;
}

.contact-form__group--confirm span {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0.375rem;
  display: block;
}

.confirm-page .contact-form__label {
  display: block;
  margin-bottom: 0.125rem;
}

.confirm-page .contact-form__options {
  margin-top: 0.125rem;
}

.contact-form__confirm-company,
.contact-form__confirm-department,
.contact-form__confirm-email,
.contact-form__confirm-tel,
.contact-form__confirm-about,
.contact-form__confirm-product,
.contact-form__confirm-product-interest,
.contact-form__confirm-message {
  display: block;
}

.contact-form__privacy .privacy-policy__box:last-of-type {
  margin-bottom: 1.25rem;
}

.thanks-page .thanks__title {
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  text-align: center;
}

.thanks-page .thanks__text {
  line-height: 2;
}

.thanks-page .thanks__text {
  margin-top: 1.5625rem;
  margin-inline: auto;
}

.thanks-page .thanks__text + .thanks__text {
  margin-top: 0.9375rem;
}

.grecaptcha-badge {
  visibility: hidden;
}

.recaptcha {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 0.75rem;
  font-size: max(12px, 0.75rem);
  line-height: 1.5;
  margin-top: 2.1875rem;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0;
}

.recaptcha a {
  text-decoration: underline;
  color: #fff;
}

/* ==========================================
    お問い合わせフォーム（確認ページ）
   ========================================== */

/*確認画面と完了画面を非表示*/

.contact-form__group--confirm,
.contact-form__title--confirm {
  display: none;
}

/*デフォルトのサンクスメッセージを非表示*/

.wpcf7-response-output {
  display: none;
}

.confirm_input {
  display: block;
  margin-top: 0.5rem;
}

.contact-form__confirm-acceptance {
  display: none;
}

.contact-form__confirm-name {
  margin-top: 0.5rem;
}

.contact-form__confirm-inquiry_type {
  margin-top: -0.5rem;
}

.contact-form__submit-box--confirm {
  margin-top: 1.875rem;
}

.contact-form__submit-back {
  margin-top: 0rem;
  font-size: 0.875rem;
  line-height: 1.5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  text-decoration: underline;
  display: block;
  color: #fff;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

/* ==========================================
    お問い合わせフォーム（サンクスページ）
   ========================================== */

.contact-thanks {
  padding: 2.125rem 0 5rem;
  background-color: #0b0b0b;
}

.contact-thanks__inner {
  color: #fff;
}

.contact-thanks__title {
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

.contact-thanks__text,
.contact-thanks__pdf-link {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.7142857143;
}

.contact-thanks__text + .contact-thanks__text {
  margin-top: 1.25rem;
}

.contact-thanks__pdf-link {
  display: block;
  color: #1468b1;
  text-decoration: underline;
}

/* ==========================================
    セミナー申し込みフォーム
   ========================================== */

.contact-form__input-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.form-input {
  width: 100%;
  padding: 0.375rem 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4285714286;
  margin-top: 0.3125rem;
  background-color: #fff;
  color: #000;
}

.form-input::-webkit-input-placeholder {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.3);
}

.form-input::-moz-placeholder {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.3);
}

.form-input:-ms-input-placeholder {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.3);
}

.form-input::-ms-input-placeholder {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.3);
}

.form-input::placeholder {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.3);
}

.contact-form__input-wrapper::after {
  content: "";
  position: absolute;
  top: 55%;
  right: 0.890625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.9375rem;
  height: 0.9375rem;
  background: url("../img/calendar-icon.svg") no-repeat center;
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}

.flatpickr-day {
  border-radius: 0 !important;
  background: #f0f3f5 !important;
}

.flatpickr-day.selected {
  background: #1468b1 !important;
  color: #fff !important;
  border: none;
}

.dayContainer {
  gap: 0.1875rem 0.0625rem !important;
}

.flatpickr-day.today {
  border-color: #1468b1 !important;
}

.contact__seminar-title {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.5;
  color: #fff;
}

.contact__text {
  margin-top: 0.8125rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  color: #fff;
}

.contact__text .highlight {
  border-bottom: 0.0625rem solid #fff;
}

/* ==========================================
    セミナー日程テーブル
   ========================================== */

.contact__seminar-schedule {
  margin-top: 0.625rem;
}

.contact__seminar-schedule__table {
  width: 100%;
  max-width: 25rem;
  border-collapse: collapse;
  background-color: rgba(255, 255, 255, 0.05);
  border: 0.0625rem solid rgba(255, 255, 255, 0.2);
  overflow: hidden;
}

.contact__seminar-schedule__table thead {
  background-color: #1468b1;
}

.contact__seminar-schedule__table th {
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4285714286;
  color: #fff;
  text-align: center;
  border-right: 0.0625rem solid rgba(255, 255, 255, 0.2);
}

.contact__seminar-schedule__table th:last-child {
  border-right: none;
}

.contact__seminar-schedule__table td {
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
  color: #fff;
  text-align: center;
  border-right: 0.0625rem solid rgba(255, 255, 255, 0.2);
  border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.2);
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.contact__seminar-schedule__table td:last-child {
  border-right: none;
}

.contact__seminar-schedule__table tbody tr:last-child td {
  border-bottom: none;
}

.contact__seminar-schedule__table tbody tr:hover td {
  background-color: rgba(20, 104, 177, 0.1);
}

/* ==========================================
    セミナー申し込みフォームのPDF埋め込み
   ========================================== */

.form-pdf {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 90%;
  row-gap: 1.25rem;
  margin-inline: auto;
}

.not-found-message {
  padding: 2.125rem 0 5rem;
  background-color: #0b0b0b;
}

.not-found-message__title-ja {
  text-align: center;
}

.not-found-message__description {
  margin-top: 1.875rem;
  font-size: 0.9375rem;
}

.not-found-message__description + .not-found-message__description {
  margin-top: 0.9375rem;
}

.not-found-message__button {
  margin-top: 1.875rem;
}

@media screen and (min-width: 414px) {
  .hide-sp {
    display: none;
  }
}

@media screen and (min-width: 524px) {
  .md-sm-none {
    display: block;
  }

  .hide-sm {
    display: none;
  }

  .page-fv__robot {
    bottom: clamp(0px, calc(0px + 50 * ((100vw - 524px) / 244)), 50px);
    width: 18.125rem;
  }

  .fv {
    min-height: 550px;
  }

  .fv__slide {
    min-height: 550px;
  }

  .fv__inner,
  .fv__slide-inner {
    min-height: 550px;
  }

  .fv__bg-wrapper,
  .fv__slide-bg-wrapper,
  .fv__slide__bg-img01 {
    min-height: 550px;
  }

  .fv__slide__robot-img01 {
    width: 80%;
  }

  .movie-cards {
    overflow: hidden;
    width: 100%;
    max-width: 100vw;
  }

  .movie-cards:not(.splide) .movie-cards__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.9375rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }

  .movie-cards:not(.splide) .movie-cards__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 21.4375rem;
            flex: 0 0 21.4375rem;
    max-width: 21.4375rem;
    width: 21.4375rem;
  }

  .movie-cards__thumb {
    width: 100%;
    max-width: 21.4375rem;
  }

  .about-machine__environment-images {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .tm-robot-seminar__box {
    padding-right: clamp(30px, calc(30px + 80 * ((100vw - 525px) / 243)), 110px);
  }
}

@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }

  .inner {
    max-width: 65rem;
    padding-inline: 1.25rem;
  }

  .hide-md {
    display: none;
  }

  .show-md {
    display: block;
  }

  .lg-md-only {
    display: block;
  }

  .md-sm-none {
    display: none;
  }

  .center-left {
    text-align: left;
  }

  .justify-left {
    text-align: left;
  }

  .justify-center {
    text-align: center;
  }

  .mt30-50 {
    margin-top: 3.125rem;
  }

  .mt20-40 {
    margin-top: 2.5rem;
  }

  .section-title__text-en {
    font-size: 1.875rem;
  }

  .section-title__text-en--large {
    font-size: 2.75rem;
    line-height: 1.3636363636;
  }

  .section-title__text-en--medium {
    font-size: 2.4375rem;
    line-height: 1.358974359;
  }

  .section-title__text-en--small {
    font-size: 2.375rem;
    line-height: 1.3684210526;
  }

  .section-title__text-en--small02 {
    font-size: 1.875rem;
    line-height: 2;
  }

  .section-title__text-ja {
    margin-top: 2.5625rem;
    font-size: 2.75rem;
    line-height: 1.3636363636;
  }

  .section-title__text-ja--small {
    margin-top: 0.875rem;
  }

  .section-title__text-ja--cta {
    margin-top: 0.4375rem;
  }

  .section-subtitle {
    font-size: 1.875rem;
    line-height: 2;
  }

  .header {
    padding: 0;
  }

  .header__inner {
    padding: 0 0 0 4.5px;
    padding: 0 0 0 clamp(3.15px, calc(3.15px + 1.35 * ((100vw - 768px) / 672)), 4.5px);
  }

  .header__logo-wrapper {
    width: 11.5675rem;
    width: clamp(129.556px, calc(129.556px + 55.524 * ((100vw - 768px) / 672)), 185.08px);
  }

  .header__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: clamp(11.2px, calc(11.2px + 16.8 * ((100vw - 768px) / 672)), 28px);
       -moz-column-gap: clamp(11.2px, calc(11.2px + 16.8 * ((100vw - 768px) / 672)), 28px);
            column-gap: clamp(11.2px, calc(11.2px + 16.8 * ((100vw - 768px) / 672)), 28px);
    padding: 0 0 0 clamp(3.15px, calc(3.15px + 1.35 * ((100vw - 768px) / 672)), 4.5px);
  }

  .header__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .header__nav-link {
    position: relative;
    display: block;
    font-size: clamp(10.5px, calc(10.5px + 4.5 * ((100vw - 768px) / 672)), 15px);
    letter-spacing: 0;
    line-height: 1.0666666667;
    color: #fff;
    padding: clamp(15.75px, calc(15.75px + 6.75 * ((100vw - 768px) / 672)), 22.5px) 0;
    margin: 0 clamp(8.4px, calc(8.4px + 12.6 * ((100vw - 768px) / 672)), 21px);
  }

  .header__contact-link {
    display: block;
    background: linear-gradient(60deg, #0789d9 40%, #004069 140%);
    padding: clamp(14px, calc(14px + 6 * ((100vw - 768px) / 672)), 20px) clamp(27.5px, calc(27.5px + 27.5 * ((100vw - 768px) / 672)), 55px) clamp(11.9px, calc(11.9px + 5.1 * ((100vw - 768px) / 672)), 17px) clamp(28.5px, calc(28.5px + 28.5 * ((100vw - 768px) / 672)), 57px);
  }

  .header__contact-label {
    font-size: clamp(12.6px, calc(12.6px + 5.4 * ((100vw - 768px) / 672)), 18px);
    letter-spacing: 0;
    line-height: 1;
    color: #fff;
  }

  .header__menu-button {
    display: none;
  }

  .header__drawer {
    display: none;
  }

  .cta__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .cta__link {
    border-bottom: 0px;
  }

  .cta__item:last-of-type .cta__link {
    border-left: 0.0625rem solid #e2e2e2;
    border-bottom: none;
  }

  .cta__img {
    aspect-ratio: 720/354;
  }

  .footer__top {
    padding: 2.79375rem 0 2.4375rem;
  }

  .footer__top-inner {
    position: relative;
    max-width: 76.25rem;
    display: grid;
    grid-template-columns: 17.3125rem 25.1875rem;
    -webkit-column-gap: 8.625rem;
       -moz-column-gap: 8.625rem;
            column-gap: 8.625rem;
    grid-template-areas: "logo nav" "info nav";
  }

  .footer__logo {
    width: 11.41125rem;
    grid-area: logo;
  }

  .footer__logo-img {
    aspect-ratio: 182.58/23.58;
  }

  .footer__nav {
    grid-area: nav;
    margin-top: 0.76875rem;
  }

  .footer__nav-list {
    -webkit-column-count: initial;
       -moz-column-count: initial;
            column-count: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.9375rem 2.6875rem;
  }

  .footer__nav-item {
    font-size: 0.9375rem;
    line-height: 1.0666666667;
  }

  .footer__nav-item + .footer__nav-item {
    margin-top: 0;
  }

  .footer__nav-link {
    font-size: 0.9375rem;
    letter-spacing: 0;
    line-height: 1.0666666667;
  }

  .footer__info {
    grid-area: info;
    margin-top: 0.8875rem;
  }

  .footer__info-text {
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 2;
  }

  .footer__partners {
    margin-top: 0;
    position: absolute;
    right: 1.25rem;
    bottom: -0.96875rem;
    -webkit-column-gap: 1.9125rem;
       -moz-column-gap: 1.9125rem;
            column-gap: 1.9125rem;
  }

  .footer__partners-img-wrapper01 {
    width: 7.5rem;
  }

  .footer__partners-img01 {
    aspect-ratio: 2/1;
  }

  .footer__partners-img-wrapper02 {
    width: 4.928125rem;
  }

  .footer__partners-img02 {
    aspect-ratio: 78.85/60;
  }

  .footer__bottom {
    padding: 1.125rem 0 1.8125rem;
  }

  .footer__bottom-inner {
    max-width: 76.25rem;
  }

  .footer__content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 8.5625rem;
       -moz-column-gap: 8.5625rem;
            column-gap: 8.5625rem;
  }

  .footer__subnav-list {
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
  }

  .footer__subnav-link {
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.0666666667;
  }

  .footer__copyright {
    margin-top: 0;
    font-size: 0.75rem;
    line-height: 1.1666666667;
  }

  .footer__page-top {
    top: 0.86875rem;
    right: 2.91875rem;
    row-gap: 0.64375rem;
  }

  .footer__page-top-icon {
    width: 2.4375rem;
  }

  .footer__page-top-label {
    font-size: 1.125rem;
    line-height: 1.0555555556;
  }

  .floating-menu-sp {
    display: none;
  }

  .button__link {
    width: 12.5rem;
    height: 2.6875rem;
  }

  .button__link--wide {
    width: 20.125rem;
    height: 3.3125rem;
  }

  .button__arrow {
    width: 0.474375rem;
    right: 2.01875rem;
  }

  .button__label--black {
    left: -0.1875rem;
  }

  .button__label--large {
    font-size: 1.125rem;
    line-height: 1.4444444444;
  }

  .button__arrow-wide {
    right: 2.5625rem;
  }

  .page-fv {
    height: 30.5555555556vw;
  }

  .page-fv__img {
    aspect-ratio: 72/23;
  }

  .safari .page-fv__img {
    height: 100%;
  }

  .page-fv__title {
    font-size: 3.75rem;
    line-height: 1.45;
  }

  .page-fv__robot {
    right: 3.125rem;
    right: clamp(50px, calc(50px + 150 * ((100vw - 1100px) / 340)), 200px);
    bottom: -3.4375rem;
    width: 31.25rem;
    width: clamp(350px, calc(350px + 312 * ((100vw - 768px) / 672)), 662px);
  }

  .custom-pagination {
    margin-top: 9.375rem;
  }

  .custom-pagination__list {
    gap: 0.625rem;
  }

  .custom-pagination__link,
  .custom-pagination__dots {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1rem;
    line-height: 1.5;
  }

  .custom-pagination__item--arrow .custom-pagination__link {
    width: 2.5rem;
  }

  .custom-pagination__item--dots {
    width: 2.5rem;
    height: 2.5rem;
  }

  .custom-pagination__arrow {
    width: 0.4375rem;
  }

  .fv {
    height: 100vh;
  }

  .fv__slide {
    height: 100vh;
  }

  .fv__inner,
  .fv__slide-inner {
    max-width: 76.25rem;
    padding-inline: 1.25rem;
    margin-inline: auto;
  }

  .fv__copy-wrapper {
    top: 52%;
    left: 1.25rem;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    width: 46.6875rem;
  }

  .fv__bg-wrapper,
  .fv__slide-bg-wrapper,
  .fv__slide__bg-img01 {
    height: 100vh;
  }

  .fv__slide__content01 {
    top: 55%;
    left: 0.9125rem;
  }

  .fv__slide__link-text01 {
    width: 59.375rem;
    width: clamp(475px, calc(475px + 475 * ((100vw - 769px) / 671)), 950px);
  }

  .fv__slide__links {
    left: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 1.5624rem;
    -webkit-column-gap: 2.934rem;
       -moz-column-gap: 2.934rem;
            column-gap: 2.934rem;
    margin-top: clamp(12.4992px, calc(12.4992px + 12.4992 * ((100vw - 769px) / 671)), 24.9984px);
    -webkit-column-gap: clamp(23.472px, calc(23.472px + 23.472 * ((100vw - 769px) / 671)), 46.944px);
       -moz-column-gap: clamp(23.472px, calc(23.472px + 23.472 * ((100vw - 769px) / 671)), 46.944px);
            column-gap: clamp(23.472px, calc(23.472px + 23.472 * ((100vw - 769px) / 671)), 46.944px);
  }

  .fv__slide__link01 {
    width: 27rem;
    width: clamp(216px, calc(216px + 216 * ((100vw - 769px) / 671)), 432px);
    height: 4.5rem;
    height: clamp(36px, calc(36px + 36 * ((100vw - 769px) / 671)), 72px);
  }

  .fv__slide__link01-label {
    font-size: 2.25rem;
    font-size: clamp(18px, calc(18px + 18 * ((100vw - 769px) / 671)), 36px);
    letter-spacing: 0.05em;
    line-height: 1.2655555556;
    top: -0.09rem;
  }

  .fv__slide__link-text02 {
    left: 0;
    width: 28.494rem;
    width: clamp(227.952px, calc(227.952px + 227.952 * ((100vw - 769px) / 671)), 455.904px);
  }

  .fv__slide__line-img {
    top: 43%;
  }

  .fv__slide__robot-img01 {
    top: 47%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 58.878rem;
    width: clamp(471.024px, calc(471.024px + 471.024 * ((100vw - 769px) / 671)), 942.048px);
  }

  .vision {
    padding: 9.9375rem 0 15rem;
    overflow: hidden;
  }

  .vision__content {
    width: 33.8125rem;
    margin-left: auto;
    position: relative;
    left: 0.25rem;
  }

  .safari .vision__content,
  .firefox .vision__content {
    width: 34.375rem;
  }

  .vision__title {
    margin-top: 0;
  }

  .vision__description {
    margin-top: 1.875rem;
    font-size: 1rem;
    line-height: 1.875;
  }

  .vision__img-wrapper {
    top: 0.5625rem;
    left: -7.8125rem;
    right: initial;
    width: 61.4375rem;
  }

  .vision__img {
    aspect-ratio: 983/656;
  }

  .support {
    padding: 12.625rem 0 4.15rem;
  }

  .support__list {
    margin-top: 5.46875rem;
    width: 56.25rem;
    margin-inline: auto;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.65625rem 1.18125rem;
  }

  .support__card-img-wrapper {
    aspect-ratio: 287.43/180;
  }

  .support__card-img {
    aspect-ratio: 287.43/180;
  }

  .support__caption {
    margin-top: 1.03125rem;
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .support__button {
    margin-top: 4.475rem;
  }

  .support__bg {
    top: 6.375rem;
    width: 54.375rem;
  }

  .banners {
    padding: 10.625rem 0 4.425rem;
  }

  .banners__inner {
    max-width: 65rem;
  }

  .banners__content01 {
    top: initial;
    bottom: 8.8125rem;
    left: 2.8125rem;
  }

  .banners__link-text01 {
    width: 41.25rem;
  }

  .banners__links {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 1.085rem;
    -webkit-column-gap: 2.0375rem;
       -moz-column-gap: 2.0375rem;
            column-gap: 2.0375rem;
  }

  .banners__link01 {
    width: 18.75rem;
    height: 3.125rem;
  }

  .banners__link01-label {
    font-size: 1.5625rem;
    line-height: 1.25;
    top: -0.0625rem;
  }

  .banners__link-text02 {
    width: 19.7875rem;
  }

  .banners__line-img {
    top: 47%;
  }

  .banners__robot-img01 {
    bottom: 1.9375rem;
    top: initial;
    right: 0;
    width: 40.8875rem;
  }

  .banners__bg-img01 {
    aspect-ratio: 1440/895;
  }

  .banners__text02 {
    font-size: 2.16875rem;
    line-height: 1.1988472622;
    letter-spacing: 0.01em;
  }

  .banners__text02 .left01 {
    margin-left: -0.9375rem;
  }

  .banners__text02 .left02 {
    margin-left: -0.625rem;
  }

  .banners__content02 {
    top: 8.25rem;
    left: 5.75rem;
  }

  .banners__link02 {
    margin-top: 1.4375rem;
    font-size: 1.3rem;
    line-height: 2;
    width: 22.4375rem;
    height: 2.775rem;
    border: 0.125rem solid #fff;
  }

  .banners__robot-img02 {
    bottom: 4.15rem;
    right: 8.16875rem;
    width: 20.125rem;
  }

  .banners__bg-img02 {
    aspect-ratio: 1440/942;
  }

  .movie {
    padding: 10.675rem 0 4.375rem;
  }

  .movie__inner {
    max-width: 65rem;
  }

  .movie__title {
    margin-left: 0;
  }

  .movie-cards {
    margin-top: 3.85rem;
    width: 56.25rem;
    margin-inline: auto;
  }

  .movie-cards.splide .movie-cards__list,
  .movie-cards:not(.splide) .movie-cards__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.025rem 1.125rem;
  }

  .movie-cards.splide .movie-cards__item,
  .movie-cards:not(.splide) .movie-cards__item {
    width: auto;
    max-width: none;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }

  .movie-cards__slider-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.025rem 1.125rem;
  }

  .movie-cards__list {
    width: 56.25rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.025rem 1.125rem;
  }

  .movie-cards__title {
    margin-top: 1.25rem;
    font-size: 1rem;
    letter-spacing: 0.14em;
    line-height: 2;
    padding-left: 0;
  }

  .movie__button {
    margin-top: 3.9375rem;
  }

  .news {
    padding: 6.5rem 0 11.25rem;
  }

  .news__title,
  .news__x-title {
    margin-left: 0;
  }

  .news__inner {
    max-width: 58.75rem;
  }

  .news__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 3.36875rem;
       -moz-column-gap: 3.36875rem;
            column-gap: 3.36875rem;
  }

  .news__left {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }

  .news__list-wrapper {
    margin-top: 0.59375rem;
    row-gap: 3.18125rem;
  }

  .news__link {
    -webkit-column-gap: 1.075rem;
       -moz-column-gap: 1.075rem;
            column-gap: 1.075rem;
    padding: 0.96875rem 1.25rem 0.96875rem 0.2875rem;
  }

  .news__link-icon {
    width: 0.314375rem;
  }

  .news__item-title {
    font-size: 1rem;
    letter-spacing: 0.14em;
    line-height: 2;
  }

  .news__button {
    position: relative;
    left: -0.625rem;
  }

  .news__x-embed {
    margin-top: 1.90625rem;
    width: 21.633125rem;
  }

  .about-innovation {
    padding: 7.04375rem 0 6.25rem;
  }

  .about-innovation__text {
    margin-top: 1.75rem;
    width: 34.3125rem;
    font-size: 1rem;
    letter-spacing: 0.14em;
    line-height: 2;
  }

  .about-innovation__content {
    margin-top: 1.875rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 2.6875rem;
       -moz-column-gap: 2.6875rem;
            column-gap: 2.6875rem;
  }

  .about-innovation__img-wrapper {
    margin-top: 0;
    width: 28.125rem;
  }

  .about-innovation__img {
    aspect-ratio: 549/528;
  }

  .about-innovation__accordion {
    margin-top: -1.90625rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }

  .about-innovation__toggle {
    padding: 1.53125rem 1.75rem 1.78125rem 0;
    min-height: 5.8125rem;
  }

  .about-innovation__label {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 2;
  }

  .about-innovation__icon-group {
    width: 0.349375rem;
  }

  .about-innovation__close-group {
    -webkit-column-gap: 0.50625rem;
       -moz-column-gap: 0.50625rem;
            column-gap: 0.50625rem;
  }

  .about-innovation__icon--blue {
    width: 0.349375rem;
  }

  .about-innovation__panel-text {
    font-size: 1rem;
    padding: 0.5rem 0 1.25rem;
  }

  .about-equipment {
    position: relative;
    padding: 6.25rem 0 10.2375rem;
  }

  .about-equipment__title-ja {
    margin-top: 1.125rem;
  }

  .about-equipment__list {
    margin-top: 4.1875rem;
  }

  .about-equipment__item {
    margin-top: 1.875rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 4.4375rem;
       -moz-column-gap: 4.4375rem;
            column-gap: 4.4375rem;
  }

  .about-equipment__body {
    width: 34.3125rem;
  }

  .about-equipment__heading {
    font-size: 2.25rem;
    line-height: 1.6666666667;
  }

  .about-equipment__img-wrapper {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }

  .about-equipment__img {
    aspect-ratio: 38/35;
  }

  .about-equipment__item-list {
    margin-top: 1.4375rem;
  }

  .about-equipment__item-item {
    font-size: 1rem;
    line-height: 1.875;
  }

  .about-machine {
    padding: 7.29375rem 0 11.575rem;
  }

  .about-machine__inner {
    max-width: 65rem;
  }

  .about-machine__title-ja {
    margin-top: 1.5625rem;
  }

  .about-machine__heading {
    margin-top: 5.64375rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .about-machine__type {
    margin-top: 2.0625rem;
    font-size: 1.25rem;
    line-height: 1.45;
  }

  .about-machine__slider {
    margin-top: 2.21875rem;
    width: 100%;
    margin-right: 0;
  }

  .about-machine__track {
    visibility: visible;
    overflow: visible;
  }

  .about-machine__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.8125rem 1.25rem;
  }

  .about-machine__img {
    aspect-ratio: 350/234;
  }

  .about-machine__caption {
    margin-top: 1.0625rem;
    font-size: 1rem;
    line-height: 1.5;
  }

  .about-machine__environment {
    margin-top: 5.76875rem;
  }

  .about-machine__environment-heading {
    margin-left: 0.625rem;
  }

  .about-machine__environment-content {
    margin-top: 2.20625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
  }

  .about-machine__environment-list {
    margin-top: 0;
  }

  .about-machine__environment-item + .about-machine__environment-item {
    margin-top: 0.48125rem;
  }

  .about-machine__environment-name {
    width: 25.393125rem;
    padding: 1.5rem 1.6875rem;
    height: 6rem;
    font-size: 1.125rem;
    line-height: 1.3333333333;
  }

  .about-machine__environment-license {
    padding: 1.5625rem 1.5625rem;
    height: 6rem;
    font-size: 0.9375rem;
    line-height: 1.2;
  }

  .about-machine__environment-images {
    margin-top: -5.5rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }

  .about-machine__environment-left-wrapper {
    margin-top: 7.75rem;
    width: 21.0625rem;
  }

  .about-machine__environment-left {
    aspect-ratio: 362/267;
  }

  .about-machine__environment-right-wrapper {
    width: 17.1875rem;
    margin-left: -11.625rem;
  }

  .about-machine__environment-right {
    aspect-ratio: 290/214;
  }

  .tm-robot-products {
    padding: 6.8125rem 0 5.3125rem;
  }

  .tm-robot-products__title-ja {
    margin-top: 1rem;
  }

  .tm-robot-products__text {
    margin-top: 2.25rem;
    font-size: 1rem;
    letter-spacing: 0.14em;
    line-height: 2;
  }

  .tm-robot-products__video-wrapper {
    margin-top: 3.9375rem;
  }

  .tm-robot-products__video {
    width: 100%;
  }

  .tm-robot-features {
    padding: 4.9375rem 0 8.05625rem;
  }

  .tm-robot-features__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }

  .tm-robot-features__title-block {
    width: 12.5rem;
  }

  .tm-robot-features__title-ja {
    margin-top: 1.4375rem;
  }

  .tm-robot-features__checks {
    margin-top: 0;
    margin-right: 1.4375rem;
    width: 33.75rem;
  }

  .safari .tm-robot-features__checks,
  .firefox .tm-robot-features__checks {
    width: 35rem;
  }

  .tm-robot-features__check {
    -webkit-column-gap: 1.1875rem;
       -moz-column-gap: 1.1875rem;
            column-gap: 1.1875rem;
  }

  .tm-robot-features__check + .tm-robot-features__check {
    margin-top: 0.875rem;
  }

  .tm-robot-features__check-icon {
    width: 2.405rem;
  }

  .tm-robot-features__check-text {
    font-size: 2.25rem;
    line-height: 1.6666666667;
  }

  .tm-robot-features__list {
    margin-top: 8.5625rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5.5rem 2.5rem;
  }

  .tm-robot-features__item + .tm-robot-features__item {
    margin-top: 0;
  }

  .tm-robot-features__item-title {
    font-size: 1.5rem;
    line-height: 1.4583333333;
  }

  .tm-robot-features__img-wrapper {
    margin-top: 1.875rem;
    width: 28.75rem;
  }

  .tm-robot-features__img-wrapper::after {
    top: 1.25rem;
    left: 1.25rem;
    border: 0.125rem solid #1468b1;
  }

  .tm-robot-features__img {
    aspect-ratio: 470/357;
  }

  .tm-robot-features__caption {
    margin-top: 2.25rem;
    font-size: 1.125rem;
    letter-spacing: 0.12em;
    line-height: 2;
  }

  .tm-robot-purpose {
    padding: 7.56875rem 0 8.24375rem;
  }

  .tm-robot-purpose__title-ja {
    margin-top: 1.4375rem;
  }

  .tm-robot-purpose__list {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6rem 2.5rem;
  }

  .tm-robot-purpose__item + .tm-robot-purpose__item {
    margin-top: 0;
  }

  .tm-robot-purpose__img {
    aspect-ratio: 48/40;
  }

  .tm-robot-purpose__caption {
    margin-top: 0.875rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }

  .tm-robot-seminar {
    padding: 7.38125rem 0 5.3125rem;
  }

  .tm-robot-seminar__inner {
    position: relative;
    z-index: 1;
  }

  .tm-robot-seminar__badge {
    padding: 1.75rem 1.5625rem 1.6875rem 1.8125rem;
    font-size: 2.75rem;
    line-height: 1.3636363636;
  }

  .tm-robot-seminar__lead {
    margin-top: 4.4375rem;
    padding-left: 1.625rem;
  }

  .tm-robot-seminar__title {
    position: relative;
    z-index: 1;
    font-size: 3rem;
    line-height: 1.5;
  }

  .tm-robot-seminar__title-small {
    font-size: 2.75rem;
    line-height: 1.6363636364;
  }

  .tm-robot-seminar__voice {
    margin-top: 2.0625rem;
    font-size: 1.375rem;
    line-height: 1.8181818182;
  }

  .tm-robot-seminar__voice:nth-of-type(2) {
    margin-top: -0.1875rem;
    left: -0.875rem;
  }

  .tm-robot-seminar__voice:nth-of-type(3) {
    margin-top: 0.6875rem;
  }

  .tm-robot-seminar__video-wrapper {
    margin-top: 2.93125rem;
    width: 100%;
  }

  .tm-robot-seminar__box {
    margin-top: 0;
    padding-right: 0;
  }

  .tm-robot-seminar__robot-img-wrapper {
    top: clamp(96px, 230px + (100vw - 768px) * -134 / 672, 230px);
    left: clamp(-298px, (100vw - 768px) * -0.443452381, 0px);
    width: clamp(319.6px, calc(319.6px + 479.4 * ((100vw - 768px) / 672)), 799px);
  }

  .tm-robot-seminar__note {
    margin-top: 3.75625rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 2;
    margin-inline: auto;
  }

  .tm-robot-seminar__button {
    margin-top: 3.875rem;
  }

  .tm-robot-faq {
    padding: 5.3125rem 0 11.25rem;
  }

  .tm-robot-faq__title-ja {
    margin-top: 1.5rem;
  }

  .tm-robot-faq__list {
    margin-top: 5.5rem;
  }

  .tm-robot-faq__item + .tm-robot-faq__item {
    margin-top: 3.25rem;
  }

  .tm-robot-faq__q,
  .tm-robot-faq__a-text {
    font-size: 1.375rem;
    letter-spacing: 0.12em;
    line-height: 1.8181818182;
  }

  .tm-robot-faq__q span {
    margin-top: 0;
  }

  .tm-robot-faq__a {
    margin-top: 0.6875rem;
  }

  .tm-robot-faq__a-text + .tm-robot-faq__a-text {
    margin-top: 2.5625rem;
  }

  .company-greetings {
    padding: 7.4875rem 0 5.3125rem;
  }

  .company-greetings__inner {
    max-width: 70.625rem;
  }

  .company-greetings__title-ja {
    margin-top: 0.8125rem;
  }

  .company-greetings__content {
    margin-top: 2.75rem;
    grid-template-areas: "image content" "image signature";
    -webkit-column-gap: 4.0625rem;
       -moz-column-gap: 4.0625rem;
            column-gap: 4.0625rem;
  }

  .company-greetings__img-wrapper {
    margin-top: 0;
    width: 23.75rem;
  }

  .company-greetings__img {
    aspect-ratio: 420/617;
  }

  .company-greetings__body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }

  .company-greetings__heading {
    font-size: 1.875rem;
    line-height: 1.4666666667;
    padding-left: 0.25rem;
  }

  .company-greetings__text {
    margin-top: 1.25rem;
    font-size: 1.125rem;
    letter-spacing: 0.12em;
    line-height: 2.2222222222;
  }

  .company-greetings__signature {
    margin-top: 3.56875rem;
    width: 15.625rem;
    text-align: left;
  }

  .company-greetings__company {
    text-align: right;
    padding-right: 1.125rem;
    font-size: 1.25rem;
    line-height: 1.45;
  }

  .company-greetings__info {
    margin-top: 0;
    -webkit-column-gap: 0.4375rem;
       -moz-column-gap: 0.4375rem;
            column-gap: 0.4375rem;
  }

  .company-greetings__role {
    font-size: 0.9375rem;
    line-height: 1.4666666667;
  }

  .company-greetings__name {
    font-size: 1.5rem;
    line-height: 1.4583333333;
  }

  .company-company {
    padding: 5.3125rem 0 3.125rem;
  }

  .company-company__inner {
    max-width: 70.625rem;
  }

  .company-company__title-ja {
    margin-top: 0.8125rem;
  }

  .company-company__content {
    margin-top: 3.15625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 3.7125rem;
       -moz-column-gap: 3.7125rem;
            column-gap: 3.7125rem;
  }

  .company-company__table {
    width: 34.875rem;
  }

  .company-company__row {
    padding: 0.90625rem 1.4375rem 0.90625rem 0;
    -webkit-column-gap: 3.7125rem;
       -moz-column-gap: 3.7125rem;
            column-gap: 3.7125rem;
  }

  .company-company__term {
    font-size: 0.9375rem;
    letter-spacing: 0;
    line-height: 2.4;
    width: 10rem;
  }

  .company-company__desc {
    font-size: 0.9375rem;
    letter-spacing: 0;
    line-height: 2.4;
  }

  .company-company__img-wrapper {
    display: block;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }

  .company-company__img {
    aspect-ratio: 474/578;
  }

  .company-access {
    padding: 3.125rem 0 3.125rem;
  }

  .company-access__inner {
    max-width: 70.625rem;
  }

  .company-access__title-ja {
    margin-top: 0.8125rem;
  }

  .company-access__map {
    margin-top: 3.18125rem;
    width: 100%;
    margin-left: 0;
  }

  .company-access__map iframe {
    aspect-ratio: 1090/460;
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
    -webkit-transition: -webkit-filter 0.35s ease;
    transition: -webkit-filter 0.35s ease;
    transition: filter 0.35s ease;
    transition: filter 0.35s ease, -webkit-filter 0.35s ease;
  }

  .company-access__map:hover iframe,
  .company-access__map:focus-within iframe {
    -webkit-filter: grayscale(0%);
            filter: grayscale(0%);
  }

  .company-history {
    padding: 3.125rem 0 3.8125rem;
  }

  .company-history__inner {
    max-width: 70.625rem;
  }

  .company-history__title-ja {
    margin-top: 0.8125rem;
  }

  .company-history__timeline {
    margin-top: 3.1375rem;
    -webkit-column-gap: 0rem;
       -moz-column-gap: 0rem;
            column-gap: 0rem;
  }

  .company-history__timeline-img-wrapper {
    width: 6.25rem;
  }

  .company-history__timeline-img {
    aspect-ratio: 100/1980;
  }

  .company-history__periods {
    margin-top: 2.4375rem;
    margin-left: 0.78125rem;
  }

  .company-history__period + .company-history__period {
    margin-top: 1.9375rem;
  }

  .company-history__item + .company-history__item {
    margin-top: 1.75rem;
  }

  .company-history__item + .company-history__item--large {
    margin-top: 1.875rem;
  }

  .company-history__item--large + .company-history__item--large {
    margin-top: 1.875rem;
  }

  .company-history__text {
    font-size: 0.9375rem;
    letter-spacing: 0;
    line-height: 1.4;
  }

  .company-history__text--large {
    font-size: 1.375rem;
    letter-spacing: 0;
    line-height: 1.5909090909;
  }

  .company-history__text-year {
    padding-bottom: 0.625rem;
  }

  .company-history__text-year--large {
    padding-bottom: 0.4375rem;
  }

  .company-history__img-wrapper {
    margin: 0;
    width: 19.375rem;
  }

  .company-history__img-wrapper--05 {
    margin-top: 3.125rem;
  }

  .company-history__img-wrapper--06 {
    margin-top: 5.625rem;
  }

  .company-history__img-wrapper::after {
    top: 1.25rem;
    left: 1.25rem;
    border: 0.0625rem solid #1468b1;
  }

  .company-history__img {
    aspect-ratio: 33/25;
  }

  .company-history__timeline-images {
    width: 20.625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 3.75rem;
    margin-left: 0.9375rem;
  }

  .company-recruit {
    padding: 0 0 11.25rem;
  }

  .company-recruit__kv-img {
    aspect-ratio: 1440/463;
  }

  .company-recruit__inner {
    max-width: 65.875rem;
    scroll-margin-top: 3rem;
  }

  .company-recruit__title-en {
    margin-top: 9.375rem;
  }

  .company-recruit__title-ja {
    margin-top: 0.8125rem;
  }

  .company-recruit__content {
    margin-top: 3.125rem;
  }

  .company-recruit__heading {
    font-size: 1.625rem;
    line-height: 2.2307692308;
  }

  .company-recruit__box {
    margin-top: 1.25rem;
  }

  .company-recruit__box + .company-recruit__box {
    margin-top: 1.875rem;
  }

  .company-recruit__subheading {
    font-size: 1.25rem;
    line-height: 1.45;
  }

  .company-recruit__text {
    margin-top: 1.25rem;
    font-size: 1rem;
    letter-spacing: 0.14em;
    line-height: 2;
  }

  .company-recruit__section {
    margin-top: 2.5rem;
  }

  .company-recruit__section-heading {
    font-size: 1.625rem;
    line-height: 1.4230769231;
  }

  .company-recruit__definition {
    margin-top: 1.875rem;
  }

  .company-recruit__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 6.125rem;
       -moz-column-gap: 6.125rem;
            column-gap: 6.125rem;
    padding: 1.0625rem 0.9375rem;
  }

  .company-recruit__row + .company-recruit__row {
    margin-top: 0;
  }

  .company-recruit__term {
    width: 7.5rem;
    font-size: 1.25rem;
    line-height: 1.35;
  }

  .company-recruit__desc {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6875;
  }

  .company-recruit__desc .indent {
    padding: 0;
    text-indent: 0;
  }

  .company-recruit__apply-text {
    font-size: 1rem;
    letter-spacing: 0.14em;
    line-height: 2;
  }

  .news-archive {
    padding: 7.5rem 0 12.125rem;
  }

  .news-archive__title-ja {
    margin-top: 0.8125rem;
  }

  .news-archive__list {
    margin-top: 1.85625rem;
  }

  .news-archive__card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
    padding: 3.625rem 0 1.75rem;
  }

  .news-archive__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }

  .news-archive__card-title {
    font-size: 1.5rem;
    line-height: 1.4583333333;
  }

  .news-archive__card-body {
    margin-top: 0.8125rem;
    margin-left: 0.375rem;
  }

  .news-archive__card-body p {
    font-size: 0.9375rem;
    letter-spacing: 0;
    line-height: 2.3333333333;
  }

  .news-archive__card-body p + p {
    margin-top: 1.25rem;
  }

  .news-archive__thumb-img-wrapper {
    width: 18.75rem;
    height: 16.125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }

  .news-archive__thumb-img {
    margin-right: 0;
    margin-left: auto;
    -o-object-position: center right;
       object-position: center right;
  }

  .news-archive__item {
    scroll-margin-top: 3rem;
  }

  .movie-archive {
    padding: 7.5rem 0 9.375rem;
  }

  .movie-archive__title-ja {
    margin-top: 1rem;
  }

  .movie-archive__cards {
    margin-top: 2.6625rem;
    width: 56.25rem;
    margin-inline: auto;
  }

  .movie-cards__list--archive {
    gap: 3.65rem 1.125rem;
  }

  .sitemap-list {
    padding: 7.5rem 0 9.375rem;
  }

  .sitemap-list__title-ja {
    margin-top: 1rem;
  }

  .sitemap-list__items-wrapper {
    margin-top: 4.0625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 8.025rem;
       -moz-column-gap: 8.025rem;
            column-gap: 8.025rem;
  }

  .sitemap-list__items + .sitemap-list__items {
    margin-top: 0;
  }

  .sitemap-list__item + .sitemap-list__item {
    margin-top: 2.4375rem;
  }

  .sitemap-list__link {
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
  }

  .sitemap-list__link span {
    font-size: 1rem;
    line-height: 1.5;
  }

  .sitemap-list__arrow {
    width: 0.375rem;
  }

  .privacy {
    padding: 7.5rem 0 9.375rem;
  }

  .privacy__title-ja {
    margin-top: 1rem;
    font-size: 2.375rem;
  }

  .privacy-content {
    margin-top: 60px;
  }

  .privacy-content__list {
    margin-top: 1.875rem;
  }

  .privacy-content__item + .privacy-content__item {
    margin-top: 1.875rem;
  }

  .privacy-content__heading {
    font-size: 1.125rem;
    line-height: 1.6666666667;
  }

  .privacy-content__text {
    margin-top: 0.625rem;
  }

  .privacy-content__sublist {
    margin-top: 0.625rem;
  }

  .privacy-content__text,
  .privacy-content__subitem,
  .privacy-content__address {
    font-size: 1rem;
    line-height: 1.875;
  }

  .privacy-content__subitem + .privacy-content__subitem {
    margin-top: 0.625rem;
  }

  .privacy-content__address {
    margin-top: 1.875rem;
  }

  .contact,
  .form-section {
    padding: 7.5rem 0 12.5rem;
  }

  .contact__title-ja {
    margin-top: 1rem;
  }

  .contact__inner {
    max-width: 65rem;
  }

  .wpcf7 {
    padding-top: 5.875rem;
  }

  .page-template-page-form .wpcf7 {
    padding-top: 4.375rem;
  }

  .contact-form__row + .contact-form__row {
    margin-top: 1.5rem;
  }

  .contact-form__row + .contact-form__row--mt01 {
    margin-top: 1.75rem;
  }

  .contact-form__row + .contact-form__row--mt02 {
    margin-top: 2.875rem;
  }

  .contact-form__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 3.5625rem;
       -moz-column-gap: 3.5625rem;
            column-gap: 3.5625rem;
  }

  .contact-form__label {
    width: 21.1875rem;
    font-size: 0.9375rem;
    line-height: 1.6;
  }

  .contact-form__required {
    margin-left: 0.625rem;
    position: relative;
    top: -0.125rem;
  }

  .safari .contact-form__required {
    padding-top: 0.1875rem;
  }

  .contact-form__label .small {
    margin-top: 0;
    font-size: 0.9375rem;
    line-height: 1.6;
  }

  .contact-form__input::-webkit-input-placeholder, .contact-form__textarea::-webkit-input-placeholder {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .contact-form__input::-moz-placeholder, .contact-form__textarea::-moz-placeholder {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .contact-form__input:-ms-input-placeholder, .contact-form__textarea:-ms-input-placeholder {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .contact-form__input::-ms-input-placeholder, .contact-form__textarea::-ms-input-placeholder {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .contact-form__input::placeholder,
  .contact-form__textarea::placeholder {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .wpcf7-form-control-wrap {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }

  .contact-form__input,
  .contact-form__textarea {
    padding: 0.75rem 1.125rem;
    height: 3.125rem;
    font-size: 0.9375rem;
    line-height: 1.6;
  }

  .contact-form__textarea {
    margin-top: 0;
    line-height: 1.8;
  }

  .contact-form__count {
    margin-top: 0.5rem;
    padding-right: 0.625rem;
    font-size: 0.9375rem;
  }

  .contact-form__textarea {
    margin-top: 0.5rem;
    height: 8.75rem;
  }

  .contact-form__options {
    margin-top: 1.25rem;
  }

  .contact-form__options label {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .contact-form__options input + span::before {
    width: 1.5rem;
    height: 1.5rem;
  }

  .contact-form__options input + span::after {
    left: 0.75rem;
    width: 0.875rem;
    height: 0.875rem;
  }

  .safari .contact-form__options input + span::after {
    left: 0.774375rem;
    margin-top: -0.0625rem;
  }

  .contact-form__note {
    font-size: 0.9375rem;
    line-height: 1.4;
    padding-left: 1.875rem;
  }

  .contact-form__checkbox,
  .contact-form__checkbox02 {
    margin-top: 0;
    -webkit-column-gap: 2.875rem;
       -moz-column-gap: 2.875rem;
            column-gap: 2.875rem;
  }

  .contact-form__checkbox02 {
    margin-top: 1.875rem;
    margin-left: 24.75rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-column-gap: 0rem;
       -moz-column-gap: 0rem;
            column-gap: 0rem;
  }

  .contact-form__checkbox label,
  .contact-form__checkbox02 label {
    font-size: 0.9375rem;
    line-height: 1.8;
  }

  span.wpcf7-list-item-label {
    -webkit-column-gap: 0.4375rem;
       -moz-column-gap: 0.4375rem;
            column-gap: 0.4375rem;
  }

  .contact-form__checkbox02 .wpcf7-form-control-wrap {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
  }

  .contact-form__checkbox input + span::before {
    width: 1.875rem;
    height: 1.875rem;
  }

  .contact-form__checkbox input + span::after {
    top: 0.4375rem;
    left: 0.4375rem;
    width: 1rem;
    height: 1rem;
  }

  input.contact-form__acceptance + span::before {
    width: 1.875rem;
    height: 1.875rem;
  }

  input.contact-form__acceptance + span::after {
    top: 0.4375rem;
    left: 0.4375rem;
    width: 1rem;
    height: 1rem;
  }

  .contact-form__submit-box {
    margin-top: 3.125rem;
    width: 18.75rem;
  }

  .contact-form__submit-box::before {
    right: 2.75rem;
    width: 0.5rem;
    height: 1rem;
  }

  .contact-form__submit {
    font-size: 1.125rem;
    line-height: 1.4444444444;
    height: 3.75rem;
  }

  .contact-form__confirm-text {
    width: 37.5rem;
  }

  .thanks-info {
    padding-bottom: 5rem;
  }

  .contact-form__group--confirm span {
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 0.5rem;
  }

  .contact-form__privacy .privacy-policy__box:last-of-type {
    margin-bottom: 1.875rem;
  }

  .thanks-page .thanks__title {
    font-size: 2.1875rem;
    line-height: 1.7142857143;
  }

  .thanks-page .thanks__text {
    margin-top: 2.5rem;
    max-width: 50rem;
  }

  .thanks-page .thanks__text + .thanks__text {
    margin-top: 1.5625rem;
  }

  .recaptcha {
    margin-top: 3.0625rem;
    font-size: max(12px, 0.875rem);
    line-height: 1.5;
  }

  .safari .recaptcha {
    font-size: 0.8125rem;
  }

  .contact-form__submit-box--confirm {
    margin-top: 3.125rem;
  }

  .contact-form__submit-back {
    margin-top: 0.625rem;
    font-size: 1rem;
    line-height: 1.5;
  }

  .contact-thanks {
    padding: 6.9375rem 0 7.5rem;
  }

  .contact-thanks__inner {
    max-width: 58.125rem;
  }

  .contact-thanks__title {
    font-size: 2.75rem;
    line-height: 1.3636363636;
  }

  .contact-thanks__text,
  .contact-thanks__pdf-link {
    margin-top: 5.1875rem;
    font-size: 0.9375rem;
    line-height: 2.3333333333;
    max-width: 33.75rem;
    margin-inline: auto;
  }

  .contact-thanks__text + .contact-thanks__text {
    margin-top: 1.875rem;
  }

  .contact-thanks__pdf-link {
    margin-top: 3.125rem;
    text-decoration: underline;
  }

  .contact-form__input-wrapper {
    width: 21.25rem;
  }

  .form-input {
    padding: 0.75rem 1.125rem;
    height: 3.125rem;
    font-size: 0.9375rem;
    line-height: 1.6;
  }

  .form-input::-webkit-input-placeholder {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .form-input::-moz-placeholder {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .form-input:-ms-input-placeholder {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .form-input::-ms-input-placeholder {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .form-input::placeholder {
    font-size: 0.9375rem;
    line-height: 1.4;
  }

  .contact-form__input-wrapper::after {
    right: 1rem;
    width: 1rem;
    height: 1rem;
  }

  .contact__seminar-title {
    margin-top: 1.5625rem;
    font-size: 1rem;
    line-height: 1.5;
  }

  .contact__text {
    margin-top: 27px;
    font-size: 1rem;
    line-height: 1.875;
  }

  .contact__seminar-schedule {
    margin-top: 0.9375rem;
  }

  .contact__seminar-schedule__table {
    max-width: 31.25rem;
  }

  .contact__seminar-schedule__table th {
    padding: 1rem 1.5rem;
    font-size: 1rem;
    line-height: 1.5;
  }

  .contact__seminar-schedule__table td {
    padding: 1rem 1.5rem;
    font-size: 0.9375rem;
    line-height: 1.4666666667;
  }

  .form-pdf-wrapper {
    width: 100%;
    position: relative;
  }

  .form-pdf {
    position: relative;
    margin-top: 1.875rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 22rem;
    margin-left: 0;
    margin-right: auto;
  }

  .form-pdf .pdfemb-viewer:last-of-type {
    position: absolute;
    top: 0;
    left: 1.875rem;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }

  .not-found-message {
    padding: 7.5rem 0 12.5rem;
  }

  .not-found-message__description {
    margin-top: 5rem;
    font-size: 1rem;
    max-width: 43.75rem;
    margin-inline: auto;
  }

  .not-found-message__description + .not-found-message__description {
    margin-top: 1.875rem;
  }

  .not-found-message__button {
    margin-top: 3.125rem;
  }
}

@media screen and (min-width: 769px) and (max-height: 1000px) {
  .fv__slide__robot-img01 {
    width: clamp(350px, calc(350px + 350 * ((100vw - 769px) / 671)), 700px);
    bottom: 4.375rem;
  }
}

@media screen and (min-width: 769px) and (min-width: 1440px) {
  .about-machine__environment-content {
    width: 68.125rem;
    margin-right: -5.625rem;
    -webkit-column-gap: 5.10625rem;
       -moz-column-gap: 5.10625rem;
            column-gap: 5.10625rem;
  }
}

@media (min-width: 769px) {
  .about-machine__slider .splide__track {
    visibility: visible !important;
  }

  .about-machine__slider .splide__list {
    display: grid !important;
  }
}

@media screen and (min-width: 1025px) {
  .hide-lg {
    display: none;
  }

  .show-lg {
    display: block;
  }

  .lg-md-only {
    display: none;
  }

  .fv__slide__content01 {
    top: 59%;
    left: 4.3%;
    scale: 0.9;
  }

  .fv__slide__line-img {
    top: 44%;
  }

  .fv__slide__robot-img01 {
    top: 50%;
  }
}

@media screen and (min-width: 1201px) {
  .fv__slide__robot-img01 {
    top: 55%;
  }

  .vision__img-wrapper {
    left: 0;
  }

  .company-history__img-wrapper {
    width: 20.625rem;
  }

  .company-history__timeline-images {
    width: 21.875rem;
    margin-left: 0;
  }
}

@media screen and (min-width: 1440px) {
  .hide-xl {
    display: none;
  }

  .page-fv__robot {
    right: clamp(96px, calc(96px + 154 * ((100vw - 1440px) / 480)), 250px);
    bottom: -3.9375rem;
    width: 41.375rem;
  }

  .fv__slide__content01 {
    scale: 0.8;
  }

  .fv__slide__robot-img01 {
    scale: 1.1;
    top: 62%;
  }

  .about-innovation__content {
    -webkit-column-gap: 5.375rem;
       -moz-column-gap: 5.375rem;
            column-gap: 5.375rem;
  }

  .about-innovation__img-wrapper {
    width: 34.3125rem;
  }

  .about-innovation__accordion {
    width: calc(100% - 34.3125rem - 5.375rem + 5.625rem);
    margin-right: -5.625rem;
  }

  .about-machine__list {
    width: 68.125rem;
    margin-right: -5.625rem;
  }

  .about-machine__environment-list {
    width: 33.8125rem;
    scale: 1;
  }

  .about-machine__environment-images {
    scale: 1;
  }

  .about-machine__environment-left-wrapper {
    width: 22.625rem;
  }

  .about-machine__environment-right-wrapper {
    width: 18.125rem;
  }

  .tm-robot-features__list {
    gap: 5.5rem 3.75rem;
  }

  .tm-robot-features__img-wrapper {
    width: 29.375rem;
  }

  .tm-robot-seminar__robot-img-wrapper {
    top: 6rem;
    left: -18.625rem;
    width: 49.9375rem;
  }

  .company-greetings__img-wrapper {
    width: 26.25rem;
  }

  .company-greetings__body {
    width: 37.8125rem;
  }
}

@media screen and (min-width: 1601px) {
  .hide-xl2 {
    display: none;
  }
}

@media (min-width: 1921px) {
  html {
    font-size: min(0.8333333333vw, 19.2px);
  }
}

@media screen and (min-width: 1921px) {
  .header__inner {
    padding: 0 0 0 0.28125rem;
  }

  .header__logo-wrapper {
    width: 11.5675rem;
  }

  .header__right {
    -webkit-column-gap: 1.75rem;
       -moz-column-gap: 1.75rem;
            column-gap: 1.75rem;
    padding: 0 0 0 0.28125rem;
  }

  .header__nav-link {
    font-size: 0.9375rem;
    padding: 1.40625rem 0;
    margin: 0 1.3125rem;
  }

  .header__contact-link {
    padding: 1.25rem 3.4375rem 1.0625rem 3.5625rem;
  }

  .header__contact-label {
    font-size: 1.125rem;
  }

  .page-fv__robot {
    right: 15.625rem;
    width: 47.5rem;
  }

  .fv__slide__content01 {
    scale: 1;
  }
}

@media screen and (max-width: 782px) {
  /* モバイル用の管理バー */

  body.admin-bar {
    margin-bottom: 46px;
    /* モバイル用の管理バーの高さ分 */
    margin-bottom: 0;
  }
}

@media (max-width: 768px) {
  html {
    font-size: min(4.2666666667vw, 24px);
  }
}

@media screen and (max-width: 350px) {
  .news__x-embed {
    margin-inline: 0;
  }
}

@media (min-width: 769px) and (max-width: 1040px) {
  html {
    font-size: 1.5384615385vw;
  }
}

@media (min-width: 1040px) and (max-width: 1920px) {
  html {
    font-size: 16px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1200px) {
  .tm-robot-seminar__robot-img-wrapper {
    /* 769pxで -48px、1200pxで -135px */
    left: clamp(-135px, -48px + -87 * (100vw - 769px) / 431, -48px);
    width: clamp(300px, calc(300px + 220 * ((100vw - 769px) / 431)), 520px);
  }
}

@media screen and (min-width: 769px) and (max-width: 850px) {
  .tm-robot-seminar__robot-img-wrapper {
    /* 769pxで 255px、1200pxで 200px */
    top: clamp(200px, 255px + -55 * (100vw - 769px) / 431, 255px);
  }
}

@media screen and (min-width: 851px) and (max-width: 1200px) {
  .tm-robot-seminar__robot-img-wrapper {
    /* 769pxで 300px、1200pxで 250px */
    top: clamp(250px, 300px + -50 * (100vw - 851px) / 349, 300px);
  }
}

@media (any-hover: hover) {
  a:hover {
    opacity: 0.8;
  }

  .header__nav-link:hover {
    opacity: 1;
  }

  .header__nav-link:hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }

  .header__contact-link:hover {
    opacity: 0.7;
  }

  .cta__link:hover .cta__img-wrapper::after {
    background: transparent;
    backdrop-filter: blur(5.9044699669px);
    --webkit-backdrop-filter: blur(5.904469966888428px);
    background-color: rgba(255, 255, 255, 0.18);
    background-blend-mode: screen;
  }

  .cta__link:hover .section-title__text-ja--cta {
    color: #000;
  }

  .cta__link:hover .section-title__text-en--cta {
    color: #043e78;
    color: #1468b1;
  }

  .cta__link:hover .section-title__text-en--cta02 {
    color: #006fde;
    color: #1468b1;
  }

  .footer__nav-link:hover {
    opacity: 1;
  }

  .footer__nav-link:hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }

  .footer__page-top:hover .footer__page-top-icon {
    -webkit-transform: translateY(-0.1875rem);
            transform: translateY(-0.1875rem);
  }

  .button__link:hover {
    opacity: 1;
  }

  .button__link:hover .button__arrow {
    -webkit-transform: translate(10px, -50%);
            transform: translate(10px, -50%);
  }

  .custom-pagination__item:not(.custom-pagination__item--arrow) .custom-pagination__link:hover {
    background-color: #fff;
    color: #0b0b0b;
    opacity: 1;
  }

  .fv__slide-link:hover {
    opacity: 1;
  }

  .fv__slide__content01:hover {
    opacity: 1;
  }

  .fv__slide__content01:hover::before {
    display: none;
  }

  .fv__slide__content01:hover::after {
    top: 0;
    left: 100%;
  }

  .support__link:hover {
    opacity: 1;
  }

  .support__link:hover .support__card-img--default {
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }

  .support__link:hover .support__card-img--hover {
    opacity: 1;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }

  .banners__item01 a.animation-complete:hover,
  .banners__item02 a.animation-complete:hover {
    opacity: 0.85;
  }

  .banners__item01 a.animation-complete:hover::before,
  .banners__item02 a.animation-complete:hover::after {
    -webkit-transform: translateX(350%) skewX(-25deg);
            transform: translateX(350%) skewX(-25deg);
  }

  .movie-cards__link:hover {
    opacity: 0.75;
  }

  .news__link:hover .news__link-icon {
    -webkit-transform: translateX(0.3125rem) scale(1.5);
            transform: translateX(0.3125rem) scale(1.5);
  }

  .sitemap-list__link:hover .sitemap-list__arrow {
    -webkit-transform: translateX(5px) scale(1.2);
            transform: translateX(5px) scale(1.2);
  }

  .confirm-button:disabled:hover {
    opacity: 1;
    background-color: #ccc;
    border-color: #707070;
  }

  .contact-form__submit-back:hover {
    opacity: 0.7;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-fv__robot-slice > img {
    -webkit-animation: none !important;
            animation: none !important;
    -webkit-transform: none !important;
            transform: none !important;
    opacity: 1 !important;
  }

  .page-fv__robot-slice-x > img {
    -webkit-animation: none !important;
            animation: none !important;
    -webkit-transform: none !important;
            transform: none !important;
    opacity: 1 !important;
  }

  .fv__copy {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .fv__copy-wrapper {
    --shineX: 140;
  }

  .vision__img {
    clip-path: inset(0 0 0 0) !important;
    -webkit-transform: none !important;
            transform: none !important;
    opacity: 1 !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .vision__title {
    clip-path: inset(0 0 0 0) !important;
    -webkit-transform: none !important;
            transform: none !important;
    opacity: 1 !important;
  }

  .vision__description {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .support__card-img--hover {
    -webkit-transition: none;
    transition: none;
  }

  .support__title-en {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .support__title-ja {
    opacity: 1 !important;
    clip-path: inset(0 0 0 0) !important;
    -webkit-transform: none !important;
            transform: none !important;
  }

  .banners__text01,
  .banners__link01,
  .banners__link-text02 {
    opacity: 1 !important;
    clip-path: inset(0 0 0 0) !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .banners__robot-img01 {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .banners__item01 > a::after {
    opacity: 0 !important;
  }

  .banners__text02 {
    clip-path: inset(0 0 0 0) !important;
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .banners__text02 .left01::after,
  .banners__text02 .left02::after {
    -webkit-transform: scaleX(1) !important;
            transform: scaleX(1) !important;
  }

  .banners__link02 {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .banners__robot-img02 {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .banners__robot-img02 {
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
    opacity: 1 !important;
  }

  .banners__item02 > a::before {
    opacity: 0 !important;
  }

  .movie__title,
  .movie-cards__item,
  .movie-cards__thumb,
  .movie-cards__title,
  .movie__button {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .news__title,
  .news__list .news__item,
  .news__button,
  .news__x-title,
  .news__x-embed {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }

  .about-innovation__accordion .about-innovation__item {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }
}

@media (hover: hover) {
  .contact-form__submit:hover {
    opacity: 0.8;
  }

  /* .confirm-button が disabled の場合は hover状態でも元画像にする */
}
/*# sourceMappingURL=style.css.map */