@charset "UTF-8";

/*テキスト用mixin*/

/*フォントカラー*/

/*基本的な背景色*/

/*その他ポイントカラー*/

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: 16px;
  scroll-behavior: smooth;
}

* {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  letter-spacing: 0;
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}

a,
button {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover,
button:hover {
  opacity: 0.7;
  cursor: pointer;
}

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */

*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[type=number] {
  -moz-appearance: textfield;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

/*** 以下、ボタンエリアのCSS ***/

.c-btn {
  display: block;
  width: 22.3125rem;
  height: 4.5rem;
  margin: 0 auto;
  background-color: #0A378E;
  color: #FFFFFF;
  border: solid 2px #FFFFFF;
  border-radius: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 4.5rem;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: bold;
  text-decoration: none;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.c-btn::before,
.c-btn::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.c-btn::before {
  right: 1.4375rem;
  width: 1rem;
  height: 1px;
  background: #FFFFFF;
}

.c-btn::after {
  right: 1.4375rem;
  width: 0.3125rem;
  height: 0.3125rem;
  border-top: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-btn:hover {
  background-color: #FFFFFF;
  color: #0A378E;
  border: solid 2px #0A378E;
}

.c-btn:hover::before {
  background: #D20B1D;
}

.c-btn:hover::after {
  border-top: 1px solid #D20B1D;
  border-right: 1px solid #D20B1D;
}

.c-btn--aboutUs {
  width: 17.8125rem;
  height: 4.375rem;
  margin: 3.5rem auto 0 0;
  line-height: 4.375rem;
}

.c-btn--short {
  width: 17.4375rem;
}

.c-btn--small {
  width: 11.75rem;
  height: 2.875rem;
  line-height: 2.875rem;
}

.c-btn--mid {
  width: 15.8125rem;
  height: 4.375rem;
  margin: 0 auto 0 0;
}

.c-btn--small::before {
  right: 1.375rem;
}

.c-btn--small::after {
  right: 1.375rem;
}

.c-btn__history {
  margin: 0 auto 0 0;
  width: 24.625rem;
}

.c-btn__contact {
  width: 19.5625rem;
  height: 4.5rem;
  margin-top: 2.1875rem;
}

.c-btn__recruit {
  width: 24.6875rem;
  height: 10.4375rem;
  line-height: 10.4375rem;
  border: none;
}

.c-btn__recruit span {
  border-bottom: 0.0625rem solid #FFFFFF;
  color: #FFFFFF;
  font-size: 1.1875rem;
}

.c-btn__recruit--blue {
  background-color: #4CC2D2;
}

.c-btn__recruit--blue:hover span {
  color: #4CC2D2;
  border-bottom: 0.0625rem solid #4CC2D2;
}

.c-btn__recruit--blue:hover {
  border: 0.125rem solid #4CC2D2;
  opacity: 1;
}

.c-btn__recruit--red {
  background-color: #DF0019;
}

.c-btn__recruit--red:hover span {
  color: #DF0019;
  border-bottom: 0.0625rem solid #DF0019;
}

.c-btn__recruit--red:hover {
  border: 0.125rem solid #DF0019;
  opacity: 1;
}

.c-page__top {
  width: 5.5rem;
  height: 5.5rem;
  position: fixed;
  right: 3%;
  bottom: 10%;
  z-index: 100;
  display: none;
  /* 最初は非表示 */
  opacity: 0;
  /* 最初は透明に設定 */
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  /* トランジションを追加 */
}

.c-page__top__wrapper {
  mix-blend-mode: color;
}

.c-page__top img {
  width: 100%;
  height: 100%;
}

.c-page__top__nut {
  margin-top: -1.5625rem;
}

.p-header__hamburger {
  display: none;
}

.c-hamburger[aria-expanded=true] {
  background-color: #FFFFFF;
}

.c-hamburger {
  position: relative;
  cursor: pointer;
  display: none;
}

.c-hamburger span {
  display: block;
  position: relative;
  background-color: #FFFFFF;
  left: 50%;
  width: 1.5rem;
  height: 2px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.c-hamburger span:nth-of-type(1) {
  top: -0.5rem;
}

.c-hamburger span:nth-of-type(2) {
  top: 0;
}

.c-hamburger span:nth-of-type(3) {
  top: 0.375rem;
}

.c-hamburger .c-hamburger__text {
  display: block;
  top: 0.75rem;
  background: transparent;
  color: #fff;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}

.c-hamburger[aria-expanded=true] span:nth-of-type(2) {
  opacity: 0;
}

.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1260px;
  padding-right: 5.625rem;
  padding-left: 5.625rem;
}

.l-inner__max {
  max-width: 90rem;
  padding-left: 0;
  padding-right: 0;
}

.l-inner__small {
  max-width: 62.25rem;
  padding-left: 5.625rem;
  padding-right: 5.625rem;
}

.p-footer {
  background: #FFFFFF;
}

.p-footer__inner {
  padding: 6.25rem 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 68.75rem;
  margin-inline: auto;
  gap: 13.8125rem;
  font-size: 1.0625rem;
}

.p-footer__logo {
  width: 18.4375rem;
  height: auto;
}

.p-footer__logo img {
  width: 100%;
  height: 100%;
}

.p-footer__address {
  margin-top: 1.625rem;
}

.p-footer__tell {
  padding-top: 1rem;
}

.p-footer__addressText,
.p-footer__tellText {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.4705882353;
}

.p-footer__contactForm-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 2.9375rem;
  font-weight: 500;
  color: #0A378E;
}

.p-footer__contactForm-link img {
  width: 2rem;
  height: 2rem;
  margin-right: 0.25rem;
}

.p-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 7.8125rem;
     -moz-column-gap: 7.8125rem;
          column-gap: 7.8125rem;
}

.p-footer__item:not(:first-child) {
  padding-top: 1.5rem;
}

.p-footer__item {
  width: 100%;
  font-weight: 700;
  color: #0A378E;
  line-height: 1.4444444444;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.25rem;
  letter-spacing: 0.04em;
}

.p-footer__subItems {
  padding-left: 1.5rem;
}

.p-footer__subItem {
  font-size: 1rem;
  line-height: 1.4375;
  font-weight: 500;
  line-height: normal;
  padding-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-footer__item::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.0625rem;
  background-color: #0A378E;
  margin-right: 0.8125rem;
}

.p-footer__subItem::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.0625rem;
  background-color: #333333;
  margin-right: 0.8125rem;
}

.copy-right {
  color: #CFD1D4;
  font-size: 0.75rem;
  margin-bottom: 1.5rem;
  text-align: center;
}

.copy-right span {
  color: #CFD1D4;
}

.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6.25rem;
  z-index: 101;
  -webkit-transition: top 0.5s, background-color 0.5s;
  transition: top 0.5s, background-color 0.5s;
  /* トランジションを追加して滑らかな移動と背景色変更にする */
  background-color: transparent;
  /* 初期状態では透明 */
}

.l-header.is-visible {
  position: fixed;
  top: 0;
  background-color: #fff;
  /* スクロールが1000px以上のときの背景色を白に変更 */
}

.l-header.is-visible .p-header__inner .p-header__nav .p-nav__inner .p-nav__items .p-nav__item--contact {
  color: white;
  /* テキストの色を白に設定 */
}

.p-header__inner {
  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;
  width: 100%;
  height: 100%;
  padding-left: 5.625rem;
}

.p-header__logo {
  width: 14.25rem;
  position: relative;
  z-index: 11;
}

.p-header__logo a img {
  opacity: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-header.is-visible .p-header__logo a img {
  opacity: 1;
}

.l-header.is-visible .p-header__logo a::before {
  opacity: 0;
}

.p-header__logo a::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/top/logo.svg);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  background-position: top;
  background-size: cover;
}

#contact.p-header {
  position: absolute;
}

.modal {
  display: none;
}

.modal.is-open {
  display: block;
  position: relative;
  z-index: 1000;
}

video {
  width: 100%;
  height: 100%;
  max-width: 37.5rem;
  /* 最大でも600px以下に */
}

/**************************\
  Basic Modal Styles
\**************************/

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.modal__container {
  background-color: #fff;
  padding: 30px;
  max-width: 37.5rem;
  max-height: 100vh;
  border-radius: 4px;
  overflow-y: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

.modal__title {
  margin-top: 0;
  margin-bottom: 2rem;
  margin-right: auto;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.25;
  color: #00449e;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.modal__close {
  background: transparent;
  border: 0;
}

.modal__header .modal__close:before {
  content: "✕";
}

.modal__content {
  margin-top: 2rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.8);
}

.modal__btn {
  font-size: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform 0.25s ease-out;
  -webkit-transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}

.modal__btn:focus,
.modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

.modal-text {
  font-size: 1rem;
  padding-top: 1rem;
  font-weight: 400;
}

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

/**************************\
  Demo Animation Style
\**************************/

@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@-webkit-keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }

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

@keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }

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

@-webkit-keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }

  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}

@keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }

  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
  -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal__container {
  -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
  -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__container {
  -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

.p-history__event {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-history__event--padding {
  padding-top: 5rem;
}

.p-history__event--2003 {
  padding-top: 5rem;
  padding-left: 11.6875rem;
}

.p-history__event--2020 {
  padding-left: 11.125rem;
}

.p-history__event__year {
  width: 11.4375rem;
  height: 100%;
  display: block;
  margin-right: 2rem;
}

.p-history__event__year img {
  width: 100%;
  height: 100%;
}

.p-history__event__text {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.45;
}

.p-history__event__text--small {
  font-size: 1.0625rem;
  max-width: 25rem;
  font-weight: 400;
}

.p-history__event__text--Medium {
  font-weight: 500;
  padding-top: 0.375rem;
  display: inline-block;
}

.p-history__event__text--superBig {
  font-size: 3rem;
  color: #D20B1D;
}

.p-history__event__text--accent {
  color: #D20B1D;
}

.p-history__event__text--wrapper {
  padding-right: 3.125rem;
}

.p-history__event__text--future {
  width: 33.75rem;
}

.p-history__event__text--2019 {
  width: 45.625rem;
}

.p-history__event__text--marTop {
  margin-top: 2rem;
  display: inline-block;
  max-width: 26.875rem;
}

.p-history__event__text--Top {
  margin-top: 2rem;
  display: inline-block;
  max-width: inherit;
}

.p-history__event__text--smallTop {
  margin-top: 1rem;
  display: inline-block;
}

.p-history__event__text--marBold {
  font-weight: 700;
}

.p-history__event__text--width {
  margin-top: 1rem;
  display: inline-block;
  max-width: inherit;
}

.p-history__event__text--border {
  text-decoration: underline;
  margin-bottom: 1.25rem;
}

.p-history__event__text--2001Top {
  padding-top: 0.5rem;
}

.p-history__event__text.p-history__event__text--border {
  font-size: 1.0625rem;
}

.p-history__event__text--future .p-history__event__text.p-history__event__text--border {
  padding-top: 4.5rem;
}

.p-history__event__text--2001Bottom {
  padding-top: 2.5rem;
  max-width: inherit;
}

.p-history__event__machine {
  font-size: 0.9375rem;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-history__event__machine::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: #D20B1D;
  margin-right: 0.3125rem;
}

.p-history__event__img {
  width: 12.0625rem;
  margin-top: 1rem;
  height: auto;
  position: relative;
  z-index: 2;
}

.p-history__event__img--mid {
  width: 15.5rem;
  height: auto;
  display: block;
}

.p-history__event__img--big {
  width: 20.875rem;
  height: auto;
}

.p-history__event__img--exBig {
  width: 23.625rem;
  height: auto;
}

.p-history__event--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.l-history__detail--top-padding {
  padding-top: 3rem;
}

.c-to-movie-btn {
  font-size: 0.9375rem;
  border: 1px solid #0A378E;
  display: block;
  padding: 0.75rem 3.375rem 0.75rem 0.8125rem;
  border-radius: 1.25rem;
  background-color: #0A378E;
  color: #FFFFFF;
  position: relative;
}

.c-to-movie-btn::before,
.c-to-movie-btn::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.c-to-movie-btn::before {
  right: 1.4375rem;
  width: 1rem;
  height: 1px;
  background: #FFFFFF;
}

.c-to-movie-btn::after {
  right: 1.4375rem;
  width: 0.3125rem;
  height: 0.3125rem;
  border-top: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-to-movie-btn:hover::before {
  background: #D20B1D;
}

.c-to-movie-btn:hover::after {
  border-top: 1px solid #D20B1D;
  border-right: 1px solid #D20B1D;
}

.c-movie-icon {
  width: 1.125rem;
  height: 1.125rem;
  margin-right: 0.8125rem;
}

.p-history__future__img--wrapper {
  position: relative;
  width: 35.6875rem;
  height: auto;
}

.p-history__event__contents--flex--gap {
  gap: 3.4375rem;
}

.p-history__future__img {
  position: absolute;
}

.p-history__future__imgTop {
  width: 26.5rem;
  height: auto;
  right: 0;
  top: 0;
}

.p-history__future__imgMiddle {
  right: 1.375rem;
  top: 14.25rem;
  width: 14.125rem;
  height: auto;
}

.p-history__future__imgBottom {
  left: 0;
  top: 20.125rem;
  width: 17.125rem;
  height: auto;
}

.p-header__nav[aria-expanded=true] {
  position: fixed;
  opacity: 1;
  visibility: visible;
  background-image: url(../images/top-SP/SPdrawer.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top;
  height: 100vh;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 100;
}

.p-nav__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-subNav:hover .p-subNav__wrapper,
.p-subNav__wrapper:hover .p-subNav__wrapper,
.p-subNav__wrapper:hover .p-nav__link {
  opacity: 1;
  visibility: visible;
}

.p-nav__item {
  text-align: center;
  color: #FFFFFF;
}

.p-subNav {
  position: relative;
}

.p-subNav::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4px;
  margin: 0 auto;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-top: 7px solid #FFFFFF;
  opacity: 1;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

.p-subNav:hover::after {
  border-top-color: #D20B1D;
}

.p-subNav__wrapper {
  position: absolute;
  right: 50%;
  z-index: 999;
  display: block;
  padding: 0.5rem 2rem;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  opacity: 0;
  visibility: hidden;
  background-color: #0A378E;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  z-index: 101;
  top: 92%;
}

.p-subNav__item {
  color: #FFFFFF;
  white-space: nowrap;
}

.p-subNav__link {
  padding-top: 1rem;
  padding-bottom: 1rem;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  color: #fff;
  text-align: center;
  display: block;
}

.p-nav__link:hover {
  color: #0A378E;
}

.p-nav__link::after {
  display: none;
}

.p-subNav__item:not(:last-child) {
  border-bottom: 0.0625rem solid #D9D9D9;
}

.p-nav__link {
  padding: 2.4375rem 2.1875rem;
  text-transform: capitalize;
  display: inline-block;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.4444444444;
  position: relative;
  white-space: nowrap;
  color: #FFFFFF;
}

.p-nav__item:first-child .p-nav__link {
  text-transform: uppercase;
}

.p-nav__item:hover {
  color: #0A378E;
}

.p-nav__item:last-child .p-nav__link::after {
  display: none;
}

.p-nav__link--red {
  background-color: #D20B1D;
  color: #FFFFFF;
  padding: 1.75rem 1.25rem 1.75rem 1.25rem;
  width: 100%;
}

.p-nav__item--entry {
  width: 9.25rem;
}

.p-nav__item--contact {
  height: 6.25rem;
  width: 9.25rem;
}

.p-nav__link--contact {
  background-color: #FFFFFF;
  color: #0A378E;
  padding: 1.35rem 1.25rem;
  margin-bottom: auto;
  height: 100%;
  width: 100%;
}

.l-header.is-visible .p-nav__items > .p-nav__item--contact > a {
  color: #FFFFFF;
  background-color: #0A378E;
}

.l-header.is-visible .p-nav__items > .p-nav__item--entry > a {
  color: #FFFFFF;
}

.p-nav__link--contact img {
  display: block;
  opacity: 0;
  margin: 0 auto;
  position: relative;
  top: 5%;
  width: 2rem;
  height: auto;
}

.p-nav__link--contact {
  position: relative;
}

.p-nav__link--contact::before {
  content: "";
  position: absolute;
  top: 40%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 2rem;
  height: 2rem;
  background-image: url(../images/top/header-mail-icon.svg);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  background-position: top;
  background-size: cover;
}

.l-header.is-visible .p-nav__link--contact::before {
  opacity: 0;
}

.l-header.is-visible .p-nav__link--contact img {
  opacity: 1;
  position: relative;
  top: 5%;
  width: 2rem;
  height: auto;
}
.p-nav__link--contact--text{
  color: #033671;
}
.l-header.is-visible .p-nav__link--contact--text {
  color: white;
}

.l-header.is-visible .p-subNav::after {
  border-top: 7px solid #D20B1D;
}

.p-nav__link.showing {
  color: #0A378E;
}

.l-header.is-visible .p-nav__link {
  color: #333333;
}

.l-header.is-visible .p-nav__link:hover {
  color: #0A378E;
}

.drawer-logo {
  display: none;
}

.c-btn--drawer {
  display: none;
}

.c-btn--drawer:hover {
  border: 0.125rem solid #D20B1D;
  background-color: inherit;
}

.p-header.is-drawer-open .p-header__hamburger {
  position: relative;
  /* または適切なポジションに戻すスタイルを指定 */
}

.p-subNav__link.current-menu-item {
  color: #0A378E;
}

.p-page__title {
  width: 100%;
  height: 15.5625rem;
  background-color: #0A378E;
  margin-top: 6.25rem;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

.p-page__main-title {
  color: #FFFFFF;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.4;
}

.p-page__sub-title {
  color: #FFFFFF;
  font-size: 1.5rem;
  font-weight: regular;
}

.parts {
  background-color: #D9D9D9;
}

.c-section__ttl {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-section__ttl--en {
  font-size: 8.125rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #DEE6EE;
  line-height: 100%;
  padding-right: 13.4375rem;
  white-space: nowrap;
}

.c-section__ttl--enMiddle {
  padding-right: 0;
}

.c-section__ttl--jp {
  font-size: 2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  margin-top: auto;
  position: absolute;
  right: 0;
  bottom: 25%;
  color: #033671;
}

.c-section__ttlAdjust {
  right: 12.3125rem;
  bottom: -1.0625rem;
}

.c-section__ttl--jpblock {
  position: inherit;
  display: block;
  text-align: center;
  padding-top: 0.625rem;
}

.c-section__ttl--jp::before {
  content: "";
  background-image: url(../images/top/gear-icon.svg);
  vertical-align: middle;
  margin-right: 0.6875rem;
  display: inline-block;
  background-size: contain;
  width: 2rem;
  height: 2rem;
}

.c-section__ttl--jpMiddle::before {
  vertical-align: text-top;
}

.c-section__ttl--middle {
  margin: 0 auto;
}

.c-section__ttl--big {
  font-size: 3rem;
  color: #033671;
}

.c-page__ttl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.c-page__ttl--en {
  font-size: 6.5rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #DEE6EE;
  line-height: 100%;
}

.c-page__ttl--jp {
  font-size: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: 0.08em;
  font-style: normal;
  padding-top: 1.5rem;
}

.c-feature__NumberWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-feature__ttlNumber {
  color: #D20B1D;
  font-family: "Josefin Sans", sans-serif;
  font-size: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-style: italic;
}

.c-feature__ttlNumber::after {
  content: "";
  width: 1.875rem;
  border-top: 0.0625rem solid;
  background-color: #D20B1D;
  margin-left: 0.75rem;
  margin-right: 0.5rem;
  display: inline-block;
}

.c-feature__ttlNumberWord {
  color: #D20B1D;
  font-size: 1rem;
  font-style: italic;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 500;
}

.c-feature__ttl {
  font-size: 3rem;
  line-height: 1.4583333333;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.04em;
  font-weight: 700;
  padding-top: 1rem;
}

.c-feature__subTtl {
  font-size: 1.5rem;
  line-height: 1.7;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #0A378E;
  padding-top: 2rem;
}

.c-feature__text {
  font-size: 1.0625rem;
  line-height: 2;
  letter-spacing: 0.04em;
  padding-top: 1rem;
}

.p-feature__step__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-stepWord {
  font-size: 1rem;
  line-height: 1;
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 0.04em;
  color: #D20B1D;
  font-style: italic;
  padding-bottom: 0.25rem;
}

.c-stepNum {
  font-size: 1.25rem;
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 0.04em;
  color: #D20B1D;
  font-style: italic;
}

.sp-only {
  display: none;
}

.p-news__category {
  padding: 0.25rem 0.875rem;
  background-color: #08719E;
  color: #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 2.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  line-height: 1.5;
}

.news__lists__wrapper {
  background-image: url(../images/others/news-bg.webp);
  background-size: cover;
  background-position: top;
  background-repeat: repeat-y;
  padding-bottom: 7.5rem;
}

#news-archive .p-news__lists {
  margin: 0 auto;
  padding-top: 7.5rem;
  padding-bottom: 4.5rem;
  width: 100%;
}

#news-archive .p-news__list {
  width: 100%;
  background-color: #FFFFFF;
  border-bottom: none;
  grid-auto-flow: column;
  gap: 1.5rem;
}

#news-archive .p-news__link {
  gap: 1.5rem;
  padding: 1.5rem 3.625rem;
}

#news-archive .p-news__list:not(:first-child) {
  margin-top: 1rem;
}

#news-archive .p-news__article-ttl {
  max-width: 100%;
  letter-spacing: 0.04em;
}

#news-archive .navigation.pagination {
  text-align: center;
}

#news-archive .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
}

#news-archive .page-numbers {
  display: inline-block;
  border-radius: 0.625rem;
  width: 3rem;
  height: 3rem;
  border: 0.0625rem solid #033671;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#news-archive .page-numbers.current {
  color: #FFFFFF;
  background-color: #033671;
}

.container_404 {
  background-color: #0A378E;
  height: 31.25rem;
  width: 100%;
  color: #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.error-message {
  font-size: 1.5rem;
  color: white;
}

#thanks h2 {
  font-size: 1.125rem;
  text-decoration: underline;
}

#thanks p {
  font-size: 0.875rem;
  line-height: 1.7;
}

.l-top__about {
  padding-top: 9.375rem;
  padding-bottom: 7.5rem;
  background: linear-gradient(-52deg, #F5F5F7 0%, #F5F5F7 55%, #FFFFFF 55%, #FFFFFF 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  overflow: hidden;
}

.p-top__about__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-top__about__wrapper {
  width: 65%;
}

.p-top__about__subTtl {
  font-size: 2.5rem;
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.04em;
  line-height: 1.45;
  padding-top: 5.5rem;
  white-space: nowrap;
}

.p-top__about__text {
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 2;
  padding-top: 3.75rem;
}

.p-top__about__text p {
  letter-spacing: 0.04em;
}

.p-top__about__text p:not(:first-child) {
  padding-top: 2.125rem;
}

.p-top__about__imgs {
  position: relative;
  width: 100%;
  top: 10.375rem;
  right: -4.9375rem;
}

.p-top__about__imgs img {
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top__about__img--top {
  top: 0;
  left: 8%;
  width: 20.25rem;
  height: 25rem;
}

.p-top__about__img--middle {
  top: 34%;
  right: -40%;
  width: 20.0625rem;
  height: 12.25rem;
}

.p-top__about__img--bottom {
  bottom: 15%;
  left: -56%;
  width: 29.0625rem;
  height: auto;
}

.l-top__company {
  padding-top: 8rem;
  padding-bottom: 7.5rem;
  position: relative;
  background-image: linear-gradient(135deg, #C5D6E9, #7394BA);
}

.bg-gear-company {
  position: absolute;
  bottom: 0;
  left: 0;
}

.p-top__company__wrapperTop {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5rem;
}

.p-top__company__card {
  width: 100%;
  height: 14.1875rem;
  background-color: #FFFFFF;
  padding: 2rem 0 1.5625rem 1.9375rem;
  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;
  position: relative;
  overflow: hidden;
}

.p-top__company__card:nth-of-type(6) {
  -webkit-box-pack: unset;
      -ms-flex-pack: unset;
          justify-content: unset;
}

.c-top__company__cardCategory {
  font-size: 1.5rem;
  padding: 0 0.8125rem;
  line-height: 1.4583333333;
  background-color: #08719E;
  color: #FFFFFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
}

.c-top__company__text {
  font-size: 2rem;
  vertical-align: bottom;
  position: relative;
  color: #033671;
  z-index: 1;
  top: 0.9375rem;
}

.c-top__company__text--semiBig {
  font-size: 4.5rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 500;
  color: #033671;
  padding-right: 0.375rem;
}

.c-top__company__text--big {
  font-size: 5.5rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 500;
  color: #033671;
  padding-right: 0.375rem;
}

.c-top__company__word {
  font-size: 1.5rem;
  vertical-align: bottom;
  line-height: 1.5;
  color: #033671;
  position: relative;
  z-index: 1;
}

.c-top__company__word--middle {
  font-size: 2.375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #033671;
}

.c-top__company__word--small {
  color: #033671;
  font-size: 1rem;
}
.c-top__company__word--2023 {
  color: #033671;
  font-size: 1rem;
  text-align: right;
  padding-top: 4.9375rem;
  padding-bottom: 0.3rem;
}
.c-top__company__word--big {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #033671;
}

.c-top__company__word--exBig {
  font-size: 3.625rem;
  color: #033671;
  letter-spacing: 0.1em;
}

.p-top__company__icon {
  width: 5.625rem;
  height: 5.625rem;
  position: absolute;
  top: 2rem;
  right: 1.9375rem;
}

.p-top__company__icon img {
  height: 100%;
  width: 100%;
}

.p-top__company__iconMember {
  width: 6.625rem;
  height: auto;
}

.p-top__company__iconChart {
  width: 5.4375rem;
  height: auto;
  top: inherit;
  bottom: 2rem;
}

.p-top__company__iconIos {
  width: 6.4375rem;
  height: auto;
}

.p-top__company__iconWorld {
  right: 0;
  width: 11.6875rem;
  height: auto;
}

.p-top__company__iconNoLimit {
  top: 50%;
  right: 3.75rem;
  width: 7.6875rem;
  height: auto;
}

.p-top__company__wrapperBottom {
  padding-top: 3rem;
  padding-bottom: 3.5rem;
}

.c-section__subTtl--jp {
  font-size: 2rem;
  border-bottom: 0.0625rem solid #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #FFFFFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.c-section__subTtl--jp::before {
  content: "";
  background-image: url(../images/top/gear-icon-white.svg);
  vertical-align: center;
  margin-right: 0.4375rem;
  display: inline-block;
  background-size: contain;
  height: 2rem;
  width: 2rem;
}

.p-top__company__subWrapperBottom {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5rem;
  padding-top: 2rem;
}

.p-top__company__textCard {
  background-color: #FFFFFF;
  padding: 2rem;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  height: 10.5625rem;
  line-height: 1.5;
}

.p-top__company__textCard--strong {
  color: #08719E;
  font-weight: 700;
}

.l-top__product {
  padding-top: 7.8125rem;
  padding-bottom: 9.375rem;
}

.p-section__ttl--padding {
  padding-right: 5.9375rem;
}

.p-top__product__text {
  padding-top: 2.6875rem;
  font-size: 1.0625rem;
  line-height: 2;
  text-align: center;
}

.p-top__product__links {
  padding-top: 4rem;
  padding-bottom: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.p-top__product__btn {
  position: relative;
  overflow: hidden;
}

.p-top__product__btnInner {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-top__product__btnTtl {
  font-size: 2rem;
  border-bottom: 0.0625rem solid #FFFFFF;
  color: #FFFFFF;
  z-index: 10;
  white-space: nowrap;
}

.p-top__product__btnArrow {
  width: 1.9375rem;
  height: 1.9375rem;
  display: inline-block;
  position: relative;
  border-radius: 50%;
  -webkit-transition: color 0.3s ease, border-color 0.3s ease;
  transition: color 0.3s ease, border-color 0.3s ease;
  margin-left: 2rem;
}

.p-top__product__btnLink {
  display: block;
  width: 100%;
  height: 100%;
}

.p-top__product__btnArrow::before {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
  background-color: #FFFFFF;
  z-index: 1;
  border-radius: 50%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s 0.1s ease, visibility 0.2s 0.1s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.2s 0.1s ease, visibility 0.2s 0.1s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.2s 0.1s ease, visibility 0.2s 0.1s ease, transform 0.3s ease;
  transition: opacity 0.2s 0.1s ease, visibility 0.2s 0.1s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-top__product__btnLink picture img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  display: block;
  width: 100%;
  height: auto;
}

.p-top__product__btnLink picture img:hover {
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  opacity: 1;
}

.l-top__history {
  width: 100%;
  height: 100%;
  position: relative;
  padding-bottom: 9.375rem;
  max-width: 90rem;
  margin: 0 auto;
  padding-left: 5.5rem;
}

.p-top__history__box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #333333;
  background-color: #FFFFFF;
  font-size: 30px;
  width: 67.375rem;
  height: 44.4375rem;
  -webkit-box-shadow: 0.25rem 0.25rem 1.875rem 0 rgba(6, 22, 53, 0.12);
          box-shadow: 0.25rem 0.25rem 1.875rem 0 rgba(6, 22, 53, 0.12);
  margin-right: 19.5rem;
  margin-left: auto;
  padding: 5.625rem 8.125rem;
  position: relative;
  border-top: 0.375rem solid #033671;
}

.p-top__history__imgArrow {
  position: absolute;
  bottom: 3%;
  left: 0;
  width: 45.125rem;
  height: auto;
}

.p-section__ttl--paddingWide {
  padding-right: 20rem;
}

.p-top__history__img {
  position: absolute;
  right: 0;
  top: 45%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  width: 31.25rem;
  height: auto;
}

.p-top__history__imgMachine {
  position: absolute;
  right: 19%;
  top: 50%;
  z-index: 11;
  width: 22.5rem;
  height: auto;
}

.p-top__history__texts {
  padding-top: 4.1875rem;
}

.p-top__history__text {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 0.09em;
}

.p-top__history__text--strong {
  color: #D20B1D;
  font-family: "Zen Old Mincho", serif;
}

.p-top__history__text--small {
  font-family: "Zen Old Mincho", serif;
  line-height: 2;
  font-size: 1.0625rem;
  padding-top: 4.1875rem;
  padding-bottom: 1rem;
}

.l-top__news {
  background-image: url(../images/top/top-news-bg.webp);
  background-size: cover;
  width: 100%;
  height: 100%;
  position: relative;
}

.bg-gear-news {
  position: absolute;
  bottom: 0;
  right: 0;
}

.p-top__news__wrapper {
  padding: 4.375rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6.6875rem;
  position: relative;
  z-index: 10;
}

.p-top__news__left {
  height: 100%;
  padding-top: 2.5rem;
}

.c-section__ttl--jp--individual {
  position: static;
  margin-bottom: 2.5rem;
}

.p-news__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6rem;
}

#top__news .p-news__link {
  gap: 1.5rem;
}

.p-news__link:hover .p-multiline {
  text-decoration: underline;
  background-position: 0 100%;
  background-size: 100% 1px;
  text-decoration: none;
}

.p-news__date {
  color: #999;
}

.p-news__lists {
  width: 71%;
}

.p-news__list {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 0.0625rem solid #CDCDCD;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
}

.l-btn--news {
  margin-top: 2.5rem;
}

.p-news__article-ttl {
  line-height: 1.5;
  font-size: 1.0625rem;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#1a1a1a), to(#1a1a1a));
  background-image: linear-gradient(#1a1a1a, #1a1a1a);
  padding-bottom: 0.25em;
  background-position: 100% 100%;
  background-size: 0% 1px;
  background-repeat: no-repeat;
  text-decoration: none;
  text-decoration: none;
  -webkit-transition: background-size 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: background-size 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.p-multiline {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#1a1a1a), to(#1a1a1a));
  background-image: linear-gradient(#1a1a1a, #1a1a1a);
  padding-bottom: 0.25em;
  background-position: 100% 100%;
  background-size: 0% 1px;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: background-size 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  letter-spacing: 0.04em;
}

.l-top__recruit__imgWrapper {
  width: 100%;
  position: relative;
}

.l-top__recruit img {
  width: 100%;
  height: 100%;
}

.p-flow__words {
  position: absolute;
  bottom: -2.1875rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #EEF0F3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  z-index: 1;
}

.p-flow__words ul {
  -webkit-animation: flowing 30s linear infinite;
          animation: flowing 30s linear infinite;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.p-flow__words ul li {
  display: inline-block;
  padding-right: 2.5rem;
  font-size: 8.125rem;
  color: #D9D9D9;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0.08em;
}

@-webkit-keyframes flowing {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes flowing {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

.p-top__recruitWrapper {
  padding: 5rem 0;
  background-image: url(../images/top/top-recruit-bg.webp);
  background-size: cover;
}

.p-top__recruit__textWrapper {
  position: relative;
  z-index: 10;
}

.p-top__recruit__ttl {
  font-size: 2.5rem;
  letter-spacing: 0.08em;
  line-height: 1.45;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
}

.p-top__recruit__text {
  font-size: 1.0625rem;
  letter-spacing: 0.04em;
  line-height: 2;
  font-weight: 700;
  color: #FFFFFF;
  padding-top: 3rem;
}

.p-top__recruit__btnWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 2.5rem;
}

.l-company__greeting {
  background-color: #F5F5F7;
}

.l-greeting-inner {
  margin-right: 0;
  max-width: 84.375rem;
}

.p-company__greetingTtl {
  padding-top: 8.125rem;
}

.p-company__greetingWrapper {
  background-image: url(../images/company/greeting-bgLogo.svg);
  background-position: left top;
  background-size: 53.125rem;
  background-repeat: no-repeat;
}

.p-company__greetingBody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.375rem;
  padding: 3.5rem 0 7.5rem 0;
}

.p-company__greetingText {
  width: 62%;
}

.p-company__greetingText p {
  font-size: 1.0625rem;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.p-company__sign {
  width: 100%;
  height: auto;
  text-align: right;
  padding-top: 0.5rem;
}

.p-company__sign p {
  font-size: 1.0625rem;
  line-height: 1.7;
}

.p-company__sign img {
  width: 21.1875rem;
  height: auto;
  padding-top: 0.5rem;
}

.p-company__greetingText--blue {
  color: #08719E;
}

.p-company__greetingImg {
  width: 25rem;
  height: 30.375rem;
}

.p-company__greetingImg img {
  width: 100%;
  height: 100%;
}

.l-company__coreValue {
  padding-top: 8.125rem;
  padding-bottom: 7.5rem;
}

.p-coreValue__body {
  text-align: center;
  padding-top: 4rem;
}

.p-coreValue__Ttl {
  font-size: 2.5rem;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #033671;
}

.p-coreValue__logo {
  margin-top: 4rem;
  width: 19.4375rem;
  height: auto;
}

.p-coreValue__textWrapper {
  padding-top: 2rem;
  width: 80%;
  margin: 0 auto;
}

.p-coreValue__subTtl {
  font-size: 2rem;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #033671;
}

.p-coreValue__text {
  font-size: 1.0625rem;
  letter-spacing: 0.04em;
  font-weight: 700;
  line-height: 2;
  padding-top: 1rem;
  font-weight: 400;
}

.l-company__profile {
  background-color: #F5F5F7;
  background-image: url(../images/company/profile-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom right;
}

.job-info__contents {
  max-width: 50rem;
  margin: 0 auto;
  padding-top: 4rem;
  padding-bottom: 7.5rem;
}

.job-info__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.job-info__term {
  width: 25%;
  border-bottom: 0.125rem solid #0A378E;
  padding: 2rem 0 1.5rem 0;
  font-size: 1rem;
  font-weight: 700;
}

.job-info__description {
  width: 75%;
  border-bottom: 0.125rem solid #CFD1D4;
  padding: 2rem 0 1.5rem 0;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

dd {
  margin-left: 0;
}

.l-company__history {
  padding-top: 8.125rem;
  padding-bottom: 7.5rem;
}

.p-company-historyTable {
  margin: 0 auto;
  margin-top: 4rem;
  position: relative;
}

.company-historyImg {
  width: 90rem;
  height: auto;
}

.company-historyImg img {
  width: 100%;
  height: auto;
}

.p-company-historyTable::after {
  content: "";
  display: block;
  position: absolute;
  top: 3rem;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  z-index: -1;
  width: 4rem;
  height: 98%;
  background-color: #F5F5F7;
}

th {
  font-size: 1.5rem;
  font-weight: 500;
  color: #033671;
  text-decoration: underline;
}

tr > th:nth-child(1) {
  padding-right: 4rem;
  text-align: right;
}

tr > th:nth-child(3) {
  padding-left: 4rem;
  text-align: left;
}

/* td1番目 */

tr > td:nth-child(1) {
  text-align: right;
  line-height: 2;
  letter-spacing: 0.04em;
  vertical-align: middle;
  width: 42%;
}

/* td2番目 */

tr {
  margin-top: 2rem;
}

tr > td:nth-child(2) {
  font-size: 3rem;
  color: #033671;
  font-family: "Josefin Sans", sans-serif;
  padding: 2rem 2.625rem 0 2.625rem;
  vertical-align: middle;
}

/* td3番目 */

tr > td:nth-child(3) {
  text-align: left;
  line-height: 2;
  letter-spacing: 0.04em;
  vertical-align: middle;
  width: 39%;
}

td {
  padding-top: 2rem;
}

.l-company__access {
  padding-top: 8.125rem;
  padding-bottom: 7.5rem;
  background-image: linear-gradient(135deg, #AEDCEF, #146696);
}

.p-access__wrapper {
  margin: 0 auto;
  padding-top: 1.5rem;
  width: 54.6875rem;
  height: 100%;
}

.p-company__address {
  text-align: center;
  padding-top: 5rem;
  color: #FFFFFF;
  font-weight: 500;
  font-size: 1.0625rem;
}

.p-access__wrapper iframe {
  width: 100%;
  height: 31.1875rem;
}

.p-company__accessInfo {
  padding-top: 1.5rem;
}

.p-company__howToCome {
  font-size: 1.5rem;
  line-height: 2;
  color: #FFFFFF;
  font-weight: 700;
}

.p-company__nearStation {
  font-size: 1.0625rem;
  color: #FFFFFF;
}

.p-company__nearStation::before {
  content: "";
  background-image: url(../images/company/blue-gear.svg);
  vertical-align: middle;
  margin-right: 1rem;
  display: inline-block;
  background-size: contain;
  width: 1rem;
  height: 1rem;
}

.p-page__ttlWrapper__contact {
  height: 26rem;
  width: 100%;
  background-image: url(../images/page-contact-fv.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right bottom;
}

#contactBody .p-page__ttlInner {
  top: 58%;
}

.p-page__fv__textWrapper {
  width: 100%;
  height: 19.375rem;
  background-color: #FFFFFF;
  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;
}

.p-page__fv__text {
  text-align: center;
  font-size: 1.0625rem;
  line-height: 2;
}

/*ContactForm7カスタマイズ*/

.contact-form {
  width: 100%;
  height: 100%;
  background-color: #F5F5F7;
  padding: 7.5rem 0;
}

form {
  padding: 3.4375rem 5.75rem 4rem 5.75rem;
  margin: 0 auto;
  background-color: #FFFFFF;
  border-radius: 1.25rem;
}

.form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.5rem 0;
  border-bottom: 1px solid #F5F5F7;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.form-row--align {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.form-row:last-child {
  border-bottom: none;
}

.form-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 17.5rem;
}

.form-label p label {
  font-weight: 500;
  font-size: 1.0625rem;
  padding-left: 1.0625rem;
  line-height: 2;
}

.form-label p span {
  padding: 0.125rem 0.3125rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  background-color: #D20B1D;
}

.form-label p span.norequir {
  background-color: #CDCDCD;
}

.form-input {
  border-radius: 0.3125rem;
  width: 70%;
  height: 2.625rem;
  border: 0.0625rem solid #CDCDCD;
}

.form-input p,
.form-input p span,
.form-input p span input {
  width: 100%;
  height: 100%;
  display: block;
}

.form-textarea {
  border-radius: 0.3125rem;
  width: 70%;
  height: 14.25rem;
  border: 0.0625rem solid #CDCDCD;
}
.form-textarea p,
.form-textarea span,
.form-textarea textarea{
  display: block;
  width: 100%;
  height: 100%;

}
.form-label p span{
  margin-right: 1rem;
}

#csr .p-page__ttlWrapper--csr {
  background-image: url(../images/product/csr-bg.webp);
}

#csr-content .c-section__ttl--middle {
  white-space: nowrap;
}

.l-csr {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  background: linear-gradient(-52deg, #F5F5F7 0%, #F5F5F7 55%, #FFFFFF 55%, #FFFFFF 100%);
}

.p-csr__message {
  padding-top: 5rem;
  text-align: center;
}

.p-csr__messageTtl {
  font-size: 2rem;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.08em;
  line-height: 1.7;
  font-weight: 500;
}

.p-csr__messageText {
  font-size: 1.0625rem;
  letter-spacing: 0.04em;
  line-height: 2;
  padding-top: 2rem;
}

.p-csr__bodyWrapper {
  padding-top: 5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}

.p-csr__item {
  width: 100%;
  -webkit-box-shadow: 0.25rem 0.25rem 1.5625rem 0 rgba(6, 22, 53, 0.12);
          box-shadow: 0.25rem 0.25rem 1.5625rem 0 rgba(6, 22, 53, 0.12);
}

.p-csr__itemTtl {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 11.875rem;
  width: 100%;
  gap: 1.5rem;
  background-color: #FFFFFF;
}

.p-csr__itemImg {
  width: 100%;
  height: auto;
}

.p-csr__itemTtl p {
  font-size: 1.5rem;
  font-weight: 500;
  color: #033671;
}

.l-historyPage__inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1330px;
  padding-right: 24px;
  padding-left: 24px;
  position: relative;
}

.p-page__ttlWrapper__history {
  width: 100%;
  height: 30.25rem;
  background-image: url(../images/history-page-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.p-page__sub-title--small {
  font-size: 0.9375rem;
  color: #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-page__sub-title--small::before {
  content: "";
  background-color: #FFFFFF;
  display: inline-block;
  width: 4.5rem;
  height: 0.0625rem;
  margin-right: 1rem;
}

.c-page__ttl--jp--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.125rem;
}

.p-history__fv {
  height: 55rem;
  width: 100%;
  background-image: url(../images/history-fv-bg.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top;
}

.p-history__fv__contain {
  padding-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}

.p-history__fv__left {
  position: relative;
  height: 100%;
  margin-top: 13%;
}

.p-history__fv__middle {
  margin-top: 6.25rem;
  margin-left: -13%;
  position: relative;
  height: 100%;
}

.p-history__fv__right {
  position: relative;
  height: 100%;
}

a.p-history__fv__part {
  display: block;
}

.p-history__fv__part {
  position: relative;
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.8125rem 1.25rem 1rem 1.25rem;
  font-size: 0.875rem;
}

.p-history__fv__part::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: white;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  opacity: 0.5;
}

.p-history__fv__part--02 {
  left: 35%;
  margin-top: 50%;
}

.p-history__fv__part--03 {
  position: relative;
}

a.p-history__fv__part--04 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: -30%;
}

.p-history__fv__part--05 {
  text-align: center;
  margin-left: auto;
  margin-top: 10%;
}

.p-history__fv__part--06 {
  right: 0;
}

.p-history__fv__part > h4,
.p-history__fv__part > p,
.p-history__fv__part > img,
.p-history__fv__part > div {
  position: relative;
  z-index: 3;
}

.p-history__fv__part img {
  width: 8.75rem;
  height: 3.3125rem;
}

.p-history__fv__part--right {
  margin-left: 0.5rem;
}

.p-history__fv__SPflex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-history__part__title {
  font-size: 2.5rem;
  font-weight: 500;
  color: #D20B1D;
  line-height: 1.2;
  padding: 0.125rem 0 0.125rem 0;
  white-space: nowrap;
}

.p-history__part__title--middle {
  font-size: 2rem;
}

.p-history__part__title--small {
  font-size: 1.25rem;
  color: #333333;
  line-height: 1.2;
}

.p-history__part__title--blue {
  color: #0A378E;
}

.p-history__part__comment--bold {
  font-weight: 500;
}

.p-history__part__title--regular {
  font-size: 1.9375rem;
  font-weight: 400;
}

.p-line--layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-line {
  background-color: #333333;
  -webkit-transform: rotate(-24deg);
          transform: rotate(-24deg);
  display: inline-block;
  width: 0.0625rem;
  height: 2.375rem;
  position: relative;
  top: 0;
  right: 0;
  margin-left: 1rem;
  margin-right: 0.5rem;
}

.c-line--right {
  -webkit-transform: rotate(24deg);
          transform: rotate(24deg);
  margin-left: 0.5rem;
  margin-right: 1rem;
}

.p-history__fv__img {
  width: 5.75rem;
  height: 5.125rem;
  display: block;
}

.p-history__fv__img img {
  width: 100%;
  height: 100%;
}

.p-history__fv__imgs {
  position: relative;
  margin-left: 8.125rem;
  margin-bottom: 8.125rem;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 10px;
  grid-auto-rows: 100px;
  grid-template-areas: "a a a a b b b b" "c c c c d d d d" "e e e e f f f f" "g g g g h h h h";
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.p-history__fv__img--02 {
  grid-area: a;
  align-self: end;
  justify-self: end;
}

.p-history__fv__img--03 {
  grid-area: b;
  align-self: start;
  justify-self: end;
}

.p-history__fv__img--04 {
  grid-area: c;
  align-self: end;
  justify-self: start;
}

.p-history__fv__img--05 {
  grid-area: d;
  align-self: start;
  justify-self: start;
}

.p-history__fv__img--06 {
  grid-area: e;
  align-self: end;
  justify-self: end;
}

.p-history__fv__img--07 {
  grid-area: f;
  align-self: center;
  justify-self: end;
}

.p-history__fv__imgs--right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 12.5rem;
}

.p-history__fv__img--09 {
  position: relative;
  top: -2rem;
  left: 2rem;
}

.p-taler-maid__description {
  max-width: 78.75rem;
  margin: 0 auto;
  font-size: 0.875rem;
  padding: 0 1.5rem;
}

.p-history__body {
  position: relative;
}

.p-history__body__start {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 5.625rem;
}

.p-1985__year {
  width: 12.875rem;
  height: 100%;
  margin-right: 2.8125rem;
}

.p-1985__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-1985__gear {
  width: 2.6875rem;
  height: auto;
  margin-right: 0.875rem;
}

.p-history__body__title {
  font-size: 1.5rem;
  font-weight: 500;
}

.l-arrow01 {
  margin-top: 6rem;
}

.p-big-arrow {
  width: 100%;
  background-image: url(../images/history-arrow.webp);
  background-position: right;
  background-size: cover;
  background-repeat: no-repeat;
  height: 6.4375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 5.625rem;
}

.p-semi-big-arrow {
  width: 100%;
  height: 100%;
  display: block;
}

.p-semi-big-arrow img {
  width: 100%;
  height: 100%;
}

.p-history__year--white {
  width: 11.4375rem;
  height: auto;
  margin-right: 3rem;
}

.p-big-arrow__text {
  font-size: 2rem;
  color: #FFFFFF;
}

.p-big-arrow__text--big {
  font-size: 2.5rem;
  color: #FFFFFF;
}

.p-afterBigArrow {
  display: none;
}

.p-afterBigArrow::before {
  content: "";
  position: absolute;
  top: -0.3125rem;
  bottom: -0.3125rem;
  left: -0.3125rem;
  right: -0.3125rem;
  border: solid 0.0625rem #08719E;
  z-index: -1;
}

.p-afterBigArrow::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 90%;
  height: 3.5rem;
  width: 0.0625rem;
  background-color: #08719E;
}

.l-history__body--second {
  position: relative;
}

.background-line {
  background-image: url(../images/history-whole-bg.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: -3%;


}

.history-bg-machine {
  position: absolute;
  z-index: 1;
}

.history-bg-machine01 {
  width: 33rem;
  height: auto;
  right: 0;
  top: 4%;
}

.history-bg-machine02 {
  width: 40.5rem;
  height: auto;
  right: 0;
  top: 20%;
}

.history-bg-machine03 {
  width: 32.8125rem;
  height: auto;
  right: 0;
  top: 0;
}

.history-bg-machine04 {
  width: 45.9375rem;
  height: auto;
  left: 0;
  top: 0;
}

.l-history__event__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 6.5rem;
  padding-bottom: 4.0625rem;
  gap: 1.25rem;
}

.l-history__event__wrapper--2010 {
  padding-left: 5.8125rem;
  gap: 1.375rem;
  padding-top: 4.0625rem;
}

.l-history__event__wrapper--no-flex {
  padding-top: 6rem;
  padding-bottom: 4.0625rem;
}

.l-history__event__wrapper--padTopSmall {
  padding-top: 4.0625rem;
  padding-bottom: 0;
}

.p-history__event__left {
  width: 50%;
}

.p-history__event--2015 {
  width: 38.1875rem;
}

.l-history__event__right {
  padding-top: 6rem;
}

.p-history__event__wrapper.p-history__event__wrapper--grid.l-history__detail--top-padding {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.l-history__event-padding {
  padding-top: 8.5rem;
}

.p-history__event__contents--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-history__event__machine--padding {
  padding-top: 1.3125rem;
}

.p-history__event__details--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.25rem;
  padding-top: 2rem;
}

.p-history__event__details--padding {
  margin-left: 8.5625rem;
}

.p-history__event__detail--padding {
  padding-top: 2rem;
}

.l-to-movie-btn {
  margin-top: 1rem;
}

.p-history__event--column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-left: 8.5625rem;
}

.p-history__event__details--flex--noMargin {
  margin-left: 0;
}

.p-future__btn {
  padding-top: 3.5rem;
}

.client {
  width: 10.5625rem;
  height: auto;
  margin-top: 2.5rem;
}

.l-page__fv {
  width: 100%;
}

.p-page__ttlWrapper {
  width: 100%;
  height: 30.25rem;
  background-image: url(../images/performance/page-performance-fv.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

.p-page__ttlLogo {
  position: absolute;
  z-index: 1;
  width: 1rem;
  height: auto;
  right: 4.3125rem;
  bottom: 0.6875rem;
}

.p-page__ttlInner {
  padding-left: 11.3125rem;
  position: relative;
  top: 63%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-section__anchors {
  width: 100%;
  height: 4rem;
  background-color: #FFFFFF;
  -webkit-transition: top 0.5s, background-color 0.5s;
  transition: top 0.5s, background-color 0.5s;
}

.p-section__anchors.is-fixed {
  position: fixed;
  top: 6.25rem;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: #CDCDCD;
}

.p-section__anchors__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  gap: 8.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-section__anchors__link {
  position: relative;
}

.p-section__anchors__link::after {
  content: "";
  top: 50%;
  right: -1.1875rem;
  border: 0.25rem solid transparent;
  border-top: 0.3125rem solid #D20B1D;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  position: absolute;
}

.l-performance__features {
  width: 100%;
  height: 100%;
  padding-top: 8.25rem;
  background-color: #F5F5F7;
}

.p-feature__ttlContents {
  position: relative;
}

.p-feature__img03--machine {
  position: absolute;
  right: -6%;
  bottom: 10px;
  z-index: 11;
  width: 12.5625rem;
  height: auto;
}

.c-section__ttl--noPadding {
  padding-right: 0;
}

.c-section__ttl--jpMiddle {
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}

.c-section__ttl--jp .c-section__ttl--featureSub {
  right: 51%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  top: 49%;
  font-size: 1.125rem;
}

.p-features__paral {
  position: relative;
  z-index: 2;
  width: 32rem;
  height: 4rem;
  text-align: center;
  margin: 1.5625rem auto 0 auto;
}

.p-features__paral img {
  position: absolute;
  right: -45%;
  top: -0.625rem;
  width: 16.8125rem;
  height: auto;
}

.p-features__paralText {
  position: relative;
  top: 13%;
  font-size: 1.5rem;
  z-index: 10;
  color: #FFFFFF;
  letter-spacing: 0.05em;
}

.p-features__paralText--big {
  font-size: 2.5rem;
  font-weight: 500;
  position: relative;
  z-index: 10;
  color: #FFFFFF;
  letter-spacing: 0.04em;
  padding-right: 0.5rem;
}

.p-features__paral::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transform: skewX(-34deg);
          transform: skewX(-34deg);
  content: "";
  background-image: linear-gradient(135deg, #033671, #156A99);
}

.p-features__box__wrapper {
  padding: 4.25rem 0 6.5rem 0;
  margin-top: 4.3125rem;
  position: relative;
}

.p-features__box__wrapper::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 51.5%;
  height: 100%;
  background: linear-gradient(147.97deg, #AEDCEF 0%, #146696 100%);
  content: "";
}

.p-features__box {
  padding: 6rem;
  margin-left: auto;
  background-color: #FFFFFF;
  width: 87.5%;
  position: relative;
  z-index: 10;
}

.p-features__box__wrapper--02 {
  position: relative;
  padding: 4.25rem 0 7.9375rem 0;
  margin-top: 2.5rem;
}

.p-feature__imgContent {
  position: absolute;
  z-index: 11;
  right: 0;
  top: 23%;
  width: 33.125rem;
  height: auto;
}

.p-features__box__wrapper--02::after {
  left: initial;
  right: 0;
  width: 61%;
  height: 92%;
}

.p-feature__box--02 {
  margin-left: 0;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  padding: 6rem 23.75rem 6.0625rem 11.3125rem;
}

.p-feature__steps {
  padding-top: 3.5rem;
  width: 52.5rem;
}

.p-feature__steps__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-feature__step__icon {
  position: relative;
}

.p-feature__step__icon img {
  width: 5.5rem;
  height: auto;
}

.p-feature__steps__item:not(:last-child) .p-feature__step__icon::after {
  content: "";
  position: absolute;
  top: 73%;
  left: 50%;
  display: block;
  width: 0.0625rem;
  height: 5rem;
  background-color: #CDCDCD;
}

.p-feature__step__body {
  padding-left: 3rem;
}

.p-feature__step__ttl {
  font-size: 1.5rem;
  color: #0A378E;
  letter-spacing: 0.04em;
}

.p-feature__step__text {
  font-size: 1.0625rem;
  color: #333333;
  line-height: 2;
  letter-spacing: 0.04em;
  padding-top: 1.25rem;
}

.p-feature__steps__item:not(:first-child) {
  padding-top: 3.25rem;
}

.p-features__box__wrapper--03 {
  margin-top: -1.375rem;
  padding: 5.25rem 0 6.5rem 0;
}

.p-features__box__wrapper--03::after {
  width: 35%;
  height: 102%;
}

.p-feature__text--bottom {
  width: 76.5%;
  margin-left: auto;
  padding-top: 2rem;
  letter-spacing: 0.04em;
}

.p-feature__text--bottom--04 {
  width: 72%;
}

.p-feature__text--contents {
  font-size: 1.0625rem;
  line-height: 2;
}

.p-feature__text--bottom p:nth-child(2) {
  padding-top: 1rem;
}

.p-feature__img03 {
  width: 28rem;
  height: 16.125rem;
  position: absolute;
  z-index: 11;
  bottom: 18%;
  left: 0;
}

.p-features__box--03 {
  padding: 6rem 10% 6.875rem 6rem;
}

.c-feature__subTtl--03 {
  width: 80%;
}

.p-feature__text--03 {
  width: 80%;
}

.c-feature__secondTtl {
  padding-top: 2.5rem;
  font-size: 1.25rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-feature__secondTtl::before {
  content: "";
  height: 2.5rem;
  width: 0.25rem;
  display: inline-block;
  background-color: #333333;
  margin-right: 0.625rem;
}

.c-feature__secondTtl02 {
  padding-top: 1rem;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
}

.c-feature__secondTtl03 {
  padding-top: 3rem;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
}

.p-feature__text--bottom--04.p-feature__text--bottom p:nth-child(2) {
  padding-top: 1.25rem;
}

.c-feature__secondSubTtl {
  font-size: 1.0625rem;
  font-weight: 700;
  padding-top: 1.5rem;
  line-height: 2;
}

.c-feature__text--red {
  color: #D20B1D;
  font-weight: 700;
}

.p-feature__text--04:nth-child(2) {
  padding-top: 1.25rem;
}

.p-feature__box--04 {
  margin-right: auto;
  margin-left: inherit;
}

.p-feature__box--04 {
  padding: 6rem 6rem 6rem 11.25rem;
}

.p-features__box__wrapper--04::after {
  left: initial;
  right: 0;
  width: 33.5%;
}

.p-features__box__wrapper--04 {
  margin-top: 3.5rem;
  position: relative;
  padding: 4rem 0 6.5rem 0;
}

.p-feature__text--04 {
  font-size: 1.0625rem;
  line-height: 2;
  letter-spacing: 0.04em;
  padding-top: 1.4375rem;
}

.p-feature__img04 {
  position: absolute;
  width: 22.125rem;
  height: 22.75rem;
  z-index: 11;
  bottom: 14%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.p-feature__text--short04 {
  width: 71%;
}

.p-feature__img04-02 {
  position: absolute;
  width: 28.5625rem;
  height: auto;
  z-index: 11;
  top: 26%;
  right: 0;
}

.p-features__box--05 .p-feature__ttlContents {
  padding-bottom: 1.875rem;
}

.p-features__box__wrapper--05 {
  padding-bottom: 0;
  margin-top: 2rem;
  padding: 3.5rem 0 0 0;
}

.p-features__box__wrapper--05::after {
  width: 60%;
}

.p-features__box--05 .c-feature__subTtl {
  padding-top: 1.875rem;
}

.p-features__05Imgs {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2.5rem;
  padding-top: 2.8125rem;
}

.p-feature__05Img {
  width: 100%;
  height: auto;
  margin-top: 2rem;
}

.-feature__05Img.p-feature__05Img--01 {
  display: block;
}

.p-feature__05Img.p-feature__05Img--02 {
  width: 9.375rem;
  height: 9.5rem;
  float: right;
  right: -0.9375rem;
  position: relative;
}

.p-feature__img05 {
  width: 87%;
  height: auto;
  display: block;
}

.p-feature__img05 img {
  width: 100%;
  height: 100%;
}

.l-proposal {
  padding-bottom: 10rem;
  background-image: url(../images/performance/proposal-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.l-proposal__body {
  padding-top: 7.375rem;
  position: relative;
}

.c-section__ttl--secondSec {
  right: 51%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  top: 59%;
  white-space: nowrap;
}

.p-proposal__illust {
  width: 9rem;
  height: auto;
  position: absolute;
  top: 5.87rem;
  left: -5%;
}

.p-proposal__illust2 {
  width: 10.1875rem;
  height: auto;
  position: absolute;
  top: 42%;
  left: inherit;
  right: 0;
}

.p-proposal__illust--question {
  width: 8.5625rem;
  height: auto;
  position: absolute;
  top: 6.5rem;
  right: -5%;
}

.p-proposal__illust--screwdryber {
  width: 7.9375rem;
  height: auto;
  position: absolute;
  bottom: -8%;
  left: -8%;
}

.p-proposal__faq {
  padding-top: 3.9375rem;
}

.p-proposal__question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.p-proposal__answer--border {
  text-decoration: underline;
  letter-spacing: 0.04em;
}

.p-proposal__question:not(:first-child) {
  padding-top: 3.5rem;
}

.p-proposal__question img {
  width: 5.5rem;
  height: auto;
}

.p-proposal__answer__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 1.5rem;
  gap: 1.5rem;
}

.p-proposal__answer__wrapper img {
  width: 5.5rem;
  height: 4.375rem;
}

.p-proposal__answer {
  font-size: 1.0625rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 2;
}

.p-proposal__answer--strong {
  font-weight: 700;
}

.p-proposal__answer--red {
  color: #D20B1D;
}

.l-product__device {
  padding-top: 7.5rem;
  background-color: #F5F5F7;
}

.p-product__description {
  margin-top: 5rem;
  padding: 3.5rem 6.375rem;
  background-color: #FFFFFF;
  width: 87%;
  margin-left: auto;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  line-height: 1.9;
  font-weight: 500;
}

.p-product__description--blue {
  color: #0A378E;
  font-weight: 700;
}

.c-section__ttl--product {
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}

.p-product__body {
  margin-top: 5rem;
  background-color: #FFFFFF;
  padding-top: 5rem;
  overflow: hidden;
}

.p-product__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.375rem;
}

.p-product__flex:not(:first-of-type) {
  padding-top: 7.5rem;
}

.product__name {
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: translateX(-15%);
          transform: translateX(-15%);
  white-space: nowrap;
}

.product__nameSec {
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
}

.product__name::before {
  content: "";
  display: inline-block;
  background-color: #4CC2D2;
  width: 3rem;
  height: 0.1875rem;
  margin-right: 1.5rem;
}

.product__text {
  font-size: 1.0625rem;
  line-height: 1.6;
  padding-top: 2.25rem;
}

.product__point {
  padding: 1.5rem;
  border: 0.0625rem solid #4CC2D2;
  border-radius: 0.625rem;
}

.product__point--Ttl {
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  color: #0A378E;
  font-weight: 500;
}

.product__point--text {
  font-size: 1.0625rem;
  padding-top: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.p-product__textLeft {
  font-size: 1.0625rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  width: 34.5625rem;
}

.p-product__images {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.6875rem;
  padding: 4rem 0 5.4375rem 0;
  position: relative;
}

.p-product__images img {
  width: 100%;
  height: auto;
  z-index: 1;
}

.p-product__images::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 80vw;
  margin-left: calc(50% - 50vw);
  height: 16.1875rem;
  background: linear-gradient(147.97deg, #AEDCEF 0%, #146696 100%);
  content: "";
}

.p-page__ttlWrapper--mobility {
  background-image: url(../images/product/mobility-bg.webp);
}

.p-product__left--mobility {
  width: 35.625rem;
}

.p-product__right--img {
  padding-bottom: 2.5rem;
  padding-left: 2.5rem;
  width: 40.875rem;
  height: auto;
  margin-right: calc(50% - 50vw);
  position: relative;
  z-index: 1;
}

.p-product__right--img img {
  width: 100%;
  height: auto;
}

.p-product__right--img::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  margin-right: calc(50% - 50vw);
  height: 16.1875rem;
  background: linear-gradient(147.97deg, #AEDCEF 0%, #146696 100%);
  content: "";
  display: block;
  z-index: -1;
}

.p-product__flex:nth-of-type(2) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.p-product__flex:nth-of-type(2) .p-product__right--img {
  margin-left: calc(50% - 50vw);
  padding-left: inherit;
  padding-right: 2.5rem;
  width: 40.875rem;
  height: 100%;
  margin-right: auto;
}

.p-product__flex:nth-of-type(2) .p-product__right--img img {
  width: 100%;
}

.p-product__flex:nth-of-type(2) .p-product__right--img::after {
  width: 100%;
  background: linear-gradient(147.97deg, #146696 0%, #AEDCEF 100%);
}

.p-product__imgSmall--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.25rem;
  padding-top: 2rem;
}

.p-product__img--small {
  width: 17.75rem;
  height: auto;
  margin-top: 1rem;
}

.p-product__imgSmall--machine {
  font-size: 0.9375rem;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-product__imgSmall--machine::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: #D20B1D;
  margin-right: 0.3125rem;
}

#product__mobility .p-product__img--small {
  margin-top: 0.75rem;
}

.p-page__ttlWrapper--device {
  background-image: url(../images/product/device-bg.webp);
}

.p-page__ttlWrapper--medical {
  background-image: url(../images/product/medical-bg.webp);
}

.p-page__ttlWrapper--food {
  background-image: url(../images/product/food-bg.webp);
}

.privacy-policy__content {
  width: 100%;
  height: 100%;
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
  line-height: 1.7;
}

.privacy-policy__content h3 {
  padding-top: 2.5rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.privacy-policy__content p {
  padding-top: 1rem;
}

.article__wrapper {
  background-image: url(../images/others/news-bg.webp);
  background-size: cover;
  background-position: top center;
  background-repeat: repeat-y;
}

.article {
  padding: 7.5rem 0;
}

#article h1 {
  font-size: 1.75rem;
  font-weight: 700;
  padding-top: 2rem;
}

#article .p-news__category a {
  padding: 0.25rem 0.875rem;
  background-color: #08719E;
  color: #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 2.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  text-decoration: none;
}

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

h2.wp-block-heading {
  font-size: 1.5rem;
  font-weight: 700;
  width: 100%;
  border-bottom: 0.125rem solid #A6A5A5;
  padding-top: 2.5rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

#article p {
  font-size: 1.0625rem;
  letter-spacing: 0.04em;
  line-height: 2;
  padding-top: 1rem;
}

#article a {
  text-decoration: underline;
  color: #034495;
}

#article .wp-block-image {
  padding-top: 2.5rem;
}

#article .wp-block-image img {
  width: 100%;
}

.moveArticle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.375rem;
  padding-top: 5rem;
}

#article .page-toArchive {
  border-radius: 0.625rem;
  height: 3rem;
  border: 0.0625rem solid #033671;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#article a.post-link-prev,
#article a.post-link-next,
#article a.post-link-all {
  text-decoration: none;
  padding: 0.4375rem 1rem;
  border: 0.0625rem solid #033671;
  border-radius: 0.625rem;
  display: inline-block;
  line-height: 2;
  color: #000;
}

#article a.post-link-prev:hover,
#article a.post-link-next:hover,
#article a.post-link-all:hover {
  opacity: 0.5;
}

.l-fv {
  height: 100%;
  position: relative;
  width: 100%;
}

.p-top__fv__blue {
  position: absolute;
  right: 0;
  height: auto;
  /* 親要素と同じ高さに設定 */
  width: 90rem;
  z-index: 10;
}

.p-top__fv__blue img {
  height: 100%;
  width: 100%;
}

.p-fv__wrapper {
  position: absolute;
  z-index: 10;
  top: 59%;
  right: 3%;
}

.p-fv__catchCopy--small {
  font-size: 1.5rem;
  color: #FFFFFF;
  letter-spacing: 0.08em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  text-decoration: underline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-fv__catchCopy {
  font-size: 4rem;
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  line-height: 1.453125;
  padding-top: 1.5625rem;
  letter-spacing: 0.1em;
}

.p-fv__catchCopy--big {
  font-size: 4.5rem;
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
}

.p-fv__description {
  padding-top: 2.0625rem;
}

.p-fv__description p {
  font-size: 1rem;
  color: #FFFFFF;
  line-height: 2;
  letter-spacing: 0.08em;
}

.p-fv__description p:not(:first-child) {
  padding-top: 1rem;
}

.swiper {
  width: 100%;
}

.swiper-wrapper {
  width: 100%;
  height: 50rem;
}

.swiper-slide {
  width: 100%;
  height: 100%;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 1260px) {
  html {
    font-size: 1.2698412698vw;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 4.2666666667vw;
  }

  a:hover,
  button:hover {
    opacity: 1;
  }

  .c-btn {
    width: 18.875rem;
    height: 4.25rem;
    line-height: 4.25rem;
    font-size: 0.875rem;
  }

  .c-btn--aboutUs {
    margin: 2rem auto;
  }

  .c-btn--mid {
    margin: 0 auto;
  }

  .c-btn__history {
    width: 19.0625rem;
    margin: 0 auto;
  }

  .c-btn__contact {
    width: 100%;
    margin-top: 1.5625rem;
  }

  .c-btn__recruit {
    width: 20.3125rem;
    height: 6rem;
    line-height: 6rem;
  }

  .c-btn__recruit span {
    font-size: 0.9375rem;
  }

  .c-page__top {
    width: 3.5rem;
    height: 3.5rem;
    bottom: 0.3125rem;
    right: 0.1875rem;
  }

  .p-header__hamburger {
    width: 4rem;
    height: 100%;
    background-color: #0A378E;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 1000;
  }

  .c-hamburger {
    width: 100%;
    display: block;
    height: 100%;
    position: relative;
    z-index: 11;
  }

  .c-hamburger span {
    width: 1.5rem;
  }

  .c-hamburger span:nth-of-type(3) {
    top: 0.5rem;
  }

  .c-hamburger[aria-expanded=true] span:nth-of-type(1) {
    top: 2px;
    -webkit-transform: translateX(-50%) rotate(150deg);
            transform: translateX(-50%) rotate(150deg);
    background-color: #0A378E;
  }

  .c-hamburger[aria-expanded=true] span:nth-of-type(3) {
    top: -2px;
    -webkit-transform: translateX(-50%) rotate(-150deg);
            transform: translateX(-50%) rotate(-150deg);
    background-color: #0A378E;
  }

  .l-inner {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }

  .l-inner__small {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .p-footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 3.5rem 2.125rem;
    gap: 2.3125rem;
  }

  .p-footer__addressText,
  .p-footer__tellText {
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.4615384615;
  }

  .p-footer__contactForm-link {
    padding-top: 1.5rem;
  }

  .p-footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .p-footer__item:not(:first-child) {
    padding-top: 1rem;
  }

  .p-footer__item {
    font-size: 0.9375rem;
  }

  .p-footer__subItem {
    font-size: 0.8125rem;
    padding-top: 0.5rem;
  }

  .l-header {
    height: 4rem;
    position: relative;
  }

  .l-header.is-visible .p-header__inner .p-header__nav .p-nav__inner .p-nav__items .p-nav__item--contact {
    margin-top: 2.5rem;
  }

  .p-header__inner {
    padding-left: 0.8125rem;
  }

  .p-header__logo {
    max-width: 10rem;
  }

  .p-header__logo a img {
    opacity: 1;
  }

  .p-header__logo a::before {
    background-image: none;
  }

  .modal__container {
    max-width: 90%;
    max-height: 90vh;
  }

  .modal__title {
    font-size: 1rem;
    margin-bottom: 1rem;
  }

  .modal__content {
    margin-top: 0.875rem;
  }

  .modal-text {
    font-size: 0.875rem;
    padding-top: 0.5rem;
  }

  .p-history__event {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .p-history__event--padding {
    padding-top: 4rem;
  }

  .p-history__event--2003 {
    padding-left: 0;
    gap: 1.5rem;
  }

  .p-history__event--2020 {
    padding-left: 0;
  }

  .p-history__event__year {
    width: 5.1875rem;
    margin-bottom: 1.5rem;
  }

  .p-history__event__text {
    font-size: 1.25rem;
  }

  .p-history__event__text--superBig {
    font-size: 1.375rem;
  }

  .p-history__event__text--wrapper {
    padding-right: 0;
  }

  .p-history__event__text--future {
    width: 100%;
  }

  .p-history__event__text--2019 {
    width: 100%;
  }

  .p-history__event__text--marTop {
    font-size: 0.875rem;
    margin-top: 1rem;
  }

  .p-history__event__text--accent.p-history__event__text--marTop {
    font-size: 1.25rem;
  }

  .p-history__event__text--trade {
    font-size: 0.875rem;
  }

  .p-history__event__text--2001 {
    font-size: 1.0625rem;
  }

  .p-history__event__text--2001Top {
    font-size: 0.875rem;
  }

  .p-history__event__text--2001Bottom {
    font-size: 1.125rem;
    padding-top: 1.5rem;
  }

  .p-history__event__text--small.p-history__event__text--Top {
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.04em;
  }

  .p-history__event__text.p-history__event__text--smallTop {
    font-size: 1.375rem;
  }

  .p-history__event__text-14 {
    font-size: 0.875rem;
    font-weight: 400;
  }

  .p-history__event__machine {
    font-size: 0.75rem;
  }

  .p-history__event__machine::before {
    width: 0.625rem;
    height: 0.625rem;
  }

  .p-history__event__img {
    width: 10.3125rem;
  }

  .p-history__event__img--mid {
    width: 100%;
  }

  .p-history__event__img--big {
    width: 100%;
  }

  .p-history__event__img--exBig {
    width: 100%;
    height: 16.25rem;
    margin-bottom: 1rem;
  }

  .l-history__detail--top-padding {
    padding-top: 1rem;
  }

  .p-history__future__img--wrapper {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    height: 23.125rem;
    margin-bottom: 5rem;
    margin-top: 2.125rem;
  }

  .p-history__future__imgTop {
    width: 18.0625rem;
  }

  .p-history__future__imgMiddle {
    width: 8.8125rem;
    right: 0.375rem;
    top: 9.25rem;
  }

  .p-history__future__imgBottom {
    width: 12.375rem;
    top: 13.125rem;
  }

  .p-header__nav {
    z-index: 10;
    position: absolute;
    top: 0%;
    right: 0;
    visibility: hidden;
    width: 100%;
    height: 100vh;
    opacity: 0;
    -webkit-transition: 0.3s ease-in-out all;
    transition: 0.3s ease-in-out all;
  }

  .p-nav {
    overflow: scroll;
  }

  .p-nav__items {
    padding: 4.875rem 1.25rem 5.25rem 1.25rem;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .p-nav__item {
    width: 100%;
  }

  .p-subNav::after {
    display: none;
  }

  .p-subNav__wrapper {
    right: inherit;
    -webkit-transform: inherit;
            transform: inherit;
    width: 100%;
    background-color: inherit;
    position: inherit;
    opacity: 1;
    visibility: visible;
    display: none;
    padding: 0.75rem 0 2.25rem 2.3125rem;
  }

  .p-subNav__link {
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .p-nav__link:hover {
    color: #08719E;
  }

  .p-nav__link::after {
    content: url(../images/top-SP/drawer-arrow.svg);
    display: inline-block;
    position: absolute;
    right: 0;
    margin-right: 0.3125rem;
  }

  .p-subNav__link::after {
    content: url(../images/top-SP/drawer-arrow.svg);
    display: inline-block;
    position: absolute;
    right: 0;
    margin-right: 0.3125rem;
  }

  .p-nav__link.add-plusBtn::after {
    content: url(../images/top-SP/drawer-plus.svg);
    display: inline-block;
    position: absolute;
    right: 0;
    margin-right: 0.3125rem;
  }

  .p-nav__link.add-plusBtn.is-open::after {
    content: url(../images/top-SP/drawer-minus.svg);
  }

  .p-subNav__link::before {
    content: "";
    width: 0.75rem;
    height: 0.0625rem;
    background-color: #FFFFFF;
    display: block;
    margin-right: 0.75rem;
  }

  .p-subNav__item:not(:last-child) {
    border-bottom: none;
  }

  .p-nav__link {
    display: block;
    width: 100%;
    padding: 1.5rem 0;
    text-align: left;
    color: #FFFFFF;
    border-bottom: 0.0625rem solid #08719E;
  }

  .l-header.is-visible .p-nav__items > .p-nav__item--contact > a {
    background-color: inherit;
    border: 0.125rem solid #FFFFFF;
  }

  .l-header.is-visible .p-nav__items > .p-nav__item--contact > a:hover {
    border: 0.125rem solid #D20B1D;
  }

  .l-header.is-visible .p-nav__link {
    color: #FFFFFF;
  }

  .drawer-logo {
    display: inline-block;
    width: 10.0625rem;
    height: auto;
    position: relative;
    z-index: 1000;
    margin-top: 0.9375rem;
    margin-left: 0.8125rem;
  }

  .c-btn--drawer {
    display: inline-block;
    position: relative;
    background-color: inherit;
    margin-top: 1.5rem;
  }

  .c-btn--drawer img {
    width: 2rem;
    height: auto;
    vertical-align: middle;
    -webkit-transform: translateX(-5.75rem);
            transform: translateX(-5.75rem);
  }

  .p-drawerEn.sp-only {
    display: inline-block;
    padding-left: 1.5rem;
    font-size: 0.8125rem;
    font-weight: 700;
    font-family: "Josefin Sans", sans-serif;
    color: #08719E;
  }

  .p-drawerEn.sp-only.p-drawerEn__contact {
    position: absolute;
    right: 50%;
    top: -15%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    padding-left: 0;
  }

  .p-drawerJP {
    display: inline-block;
    right: 50%;
    top: 15%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    color: #FFFFFF;
    position: absolute;
  }

  .c-section__ttl {
    text-align: center;
    width: 100%;
  }

  .c-section__ttl--en {
    font-size: 3.5rem;
    padding-right: 0;
  }

  .c-section__ttl--jp {
    font-size: 1.125rem;
    display: block;
    position: initial;
  }

  .c-section__ttl--jp::before {
    width: 1rem;
    height: 1rem;
    margin-right: 0.25rem;
  }

  .c-section__ttl--big {
    font-size: 1.125rem;
  }

  .c-page__ttl--en {
    font-size: 1.75rem;
  }

  .c-page__ttl--jp {
    font-size: 1rem;
    padding-top: 0.875rem;
  }

  .c-feature__NumberWrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .c-feature__ttlNumber {
    font-size: 1rem;
  }

  .c-feature__ttlNumber::after {
    width: 1.125rem;
    margin-left: 0.125rem;
    margin-right: 0.125rem;
  }

  .c-feature__ttlNumberWord {
    font-size: 1rem;
    letter-spacing: -0.05em;
  }

  .c-feature__ttl {
    font-size: 2rem;
    text-align: center;
    line-height: 1.3;
  }

  .c-feature__subTtl {
    font-size: 1.125rem;
    line-height: 1.5;
    padding-top: 1.5rem;
  }

  .c-feature__text {
    font-size: 0.875rem;
    line-height: 1.7;
  }

  .c-stepWord {
    font-size: 0.8125rem;
    white-space: nowrap;
    padding-bottom: 0.0625rem;
  }

  .c-stepNum {
    font-size: 1rem;
  }

  .pc-only {
    display: none;
  }

  .sp-only {
    display: block;
  }

  .p-news__category {
    grid-area: 1/2/2/3;
  }

  .news__lists__wrapper {
    background-image: url(../images/others/news-bgSP.webp);
    padding-bottom: 3.5rem;
  }

  #news-archive .p-news__lists {
    padding-top: 3.5rem;
    padding-bottom: 3rem;
  }

  #news-archive .p-news__list {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }

  #news-archive .p-news__link {
    display: grid;
    grid-auto-flow: column;
    gap: 1.5rem;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1.5rem 1fr;
    grid-column-gap: 1rem;
    grid-row-gap: 0.5rem;
    padding: 1.25rem 0.9375rem;
  }

  #news-archive .p-news__list {
    border-top: none;
  }

  #thanks p {
    font-size: 0.75rem;
  }

  .l-top__about {
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-image: url(../images/top-SP/top-aboutUs-bgSP.webp);
    background-size: cover;
    background-repeat: no-repeat;
  }

  .p-top__about__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .p-top__about__wrapper {
    width: 100%;
  }

  .p-top__about__subTtl {
    font-size: 1.25rem;
    padding-top: 2rem;
  }

  .p-top__about__text {
    padding-top: 1rem;
    font-size: 0.875rem;
  }

  .p-top__about__imgs {
    height: 29.375rem;
    top: 0;
    right: 0;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }

  .p-top__about__img--top {
    width: 16.0625rem;
    height: 12.5625rem;
    top: 20%;
    left: 0;
  }

  .p-top__about__img--middle {
    top: 0;
    right: 0;
    width: 9.3125rem;
    height: 8.875rem;
  }

  .p-top__about__img--bottom {
    bottom: 0;
    left: inherit;
    right: 0;
    width: 16rem;
    height: auto;
  }

  .l-top__company {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .bg-gear-company {
    width: 14.875rem;
    height: 14.5rem;
  }

  .p-top__company__wrapperTop {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .p-top__company__card {
    padding: 1rem 0;
    text-align: center;
    height: 11.4375rem;
  }

  .p-top__company__card:nth-of-type(6) .c-top__company__cardCategory {
    font-size: 0.875rem;
  }

  .c-top__company__cardCategory {
    font-size: 1rem;
    margin: 0 auto;
  }

  .c-top__company__text {
    font-size: 1.5rem;
  }

  .c-top__company__text--semiBig {
    font-size: 2.375rem;
  }

  .c-top__company__text--big {
    font-size: 3rem;
  }

  .c-top__company__word {
    font-size: 0.8125rem;
  }

  .c-top__company__word--middle {
    font-size: 1.3125rem;
    letter-spacing: 0.03em;
  }

  .c-top__company__word--small {
    font-size: 0.6875rem;

  }
  .c-top__company__word--2023 {
    font-size: 0.6875rem;
    padding-top: 1.5rem;

  }

  .c-top__company__word--big {
    font-size: 1.625rem;
  }

  .c-top__company__word--exBig {
    font-size: 2rem;
  }

  .p-top__company__icon {
    width: 3.375rem;
    height: 3.375rem;
    position: inherit;
    margin: 0 auto;
    top: 0;
    right: 0;
  }

  .p-top__company__iconMember {
    width: 4.0625rem;
  }

  .p-top__company__iconChart {
    width: 3.4375rem;
    bottom: 0;
  }

  .p-top__company__iconIos {
    width: 5rem;
    height: auto;
  }

  .p-top__company__iconWorld {
    width: 11rem;
    height: auto;
    position: absolute;
  }

  .p-top__company__iconNoLimit {
    width: 4.9375rem;
    height: auto;
    right: inherit;
    top: 0.625rem;
  }

  .p-top__company__wrapperBottom {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }

  .c-section__subTtl--jp {
    font-size: 1.125rem;
  }

  .c-section__subTtl--jp::before {
    height: 1rem;
    width: 1rem;
  }

  .p-top__company__subWrapperBottom {
    padding-top: 1rem;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .p-top__company__textCard {
    font-size: 1rem;
    height: 6.875rem;
  }

  .l-top__product {
    padding-top: 3rem;
    padding-bottom: 4.0625rem;
  }

  .p-section__ttl--padding {
    padding-right: 0;
  }

  .p-top__product__text {
    padding-top: 1.5rem;
  }

  .p-top__product__links {
    padding-top: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.25rem;
  }

  .p-top__product__btnTtl {
    font-size: 1.5rem;
  }

  .p-top__product__btnArrow {
    width: 1.5rem;
    height: 1.5rem;
  }

  .l-top__history {
    padding: 0 1.25rem 15.5625rem 1.25rem;
  }

  .p-top__history__box {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding: 2.625rem 0.9375rem;
    height: 35.0625rem;
  }

  .p-top__history__imgArrow {
    width: 21.9375rem;
    bottom: 5%;
  }

  .p-section__ttl--paddingWide {
    padding-right: 0;
  }

  .p-top__history__img {
    top: inherit;
    bottom: 2.8125rem;
    right: 0;
    -webkit-transform: inherit;
            transform: inherit;
    width: 19.375rem;
  }

  .p-top__history__imgMachine {
    width: 10rem;
    right: inherit;
    top: inherit;
    bottom: 1.25rem;
  }

  .p-top__history__texts {
    padding-top: 1.5rem;
  }

  .p-top__history__text {
    font-size: 1.0625rem;
    text-align: center;
  }

  .p-top__history__text--small {
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
  }

  .l-top__news {
    background-image: url(../images/top-SP/top-news-bgSP.webp);
  }

  .p-top__news__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    padding: 2.5rem 0;
  }

  .p-top__news__left {
    padding-top: 0;
    text-align: center;
  }

  .c-section__ttl--jp--individual {
    margin-bottom: 2rem;
  }

  .p-news__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.375rem;
  }

  #top__news .p-news__link {
    gap: 0.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .p-news__category {
    font-size: 0.75rem;
  }

  .p-news__date {
    grid-area: 1/1/2/2;
  }

  .p-news__lists {
    width: 100%;
  }

  .article-arrow {
    grid-area: 1/3/3/4;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    justify-self: end;
  }

  .p-news__list {
    padding: 0;
  }

  .p-news__list:first-child {
    border-top: 0.0625rem solid #CDCDCD;
  }

  .p-news__article-ttl {
    font-size: 0.875rem;
    grid-area: 2/1/3/4;
  }

  .p-top__recruitWrapper {
    padding: 3rem 0;
  }

  .p-top__recruit__ttl {
    font-size: 1.5rem;
  }

  .p-top__recruit__text {
    font-size: 0.875rem;
  }

  .p-top__recruit__btnWrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 1.5rem;
    gap: 1rem;
  }

  .p-company__greetingTtl {
    padding-top: 3.5rem;
  }

  .p-company__greetingWrapper {
    background-size: 28.125rem;
    background-position: left center;
  }

  .p-company__greetingBody {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 2rem;
    padding: 3rem 0 3.5rem 0;
  }

  .p-company__greetingText {
    width: 100%;
  }

  .p-company__greetingText p {
    font-size: 0.875rem;
  }

  .p-company__sign img {
    width: 10.9375rem;
  }

  .p-company__greetingImg {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    height: auto;
  }

  .l-company__coreValue {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  #coreValue .c-section__ttl--en {
    font-size: 3rem;
  }

  .p-coreValue__body {
    padding-top: 3rem;
  }

  .p-coreValue__Ttl {
    font-size: 1.25rem;
  }

  .p-coreValue__logo {
    margin-top: 1.5rem;
    width: 12.8125rem;
  }

  .p-coreValue__textWrapper {
    width: 100%;
  }

  .p-coreValue__subTtl {
    font-size: 1.125rem;
  }

  .p-coreValue__text {
    font-size: 0.875rem;
    line-height: 1.7;
  }

  .l-company__profile {
    background-image: url(../images/company/profile-bgSP.webp);
  }

  .job-info__contents {
    padding-top: 3rem;
    padding-bottom: 3.5rem;
  }

  .job-info__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .job-info__term {
    border-bottom: none;
    padding: 1.375rem 0 0 0;
  }

  .job-info__description {
    width: 100%;
    font-size: 0.875rem;
    padding: 0.5rem 0 1.5rem 0;
  }

  .l-company__history {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .company-historyImg {
    width: 100%;
  }

  .p-company__historySP {
    padding-top: 3rem;
    text-align: center;
  }

  .p-company__history__wrapper::before {
    content: "";
    display: block;
    position: absolute;
    right: 50%;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    z-index: -1;
    width: 2rem;
    height: 98%;
    background-color: #F5F5F7;
  }

  .p-company__history__topWrapper {
    padding-top: 2.5rem;
  }

  .p-company-historyArrow {
    content: "";
    background-image: url(../images/company/company-history-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-align: center;
    color: white;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.5rem;
    line-height: 1.2;
    padding-right: 4.0625rem;
    padding-top: 0.25rem;
  }

  .p-company__history__item:not(:first-of-type) {
    padding-top: 3.5rem;
  }

  .p-historySP__machineName {
    font-size: 0.875rem;
    font-weight: 500;
    padding-top: 1.5rem;
  }

  .p-historySP__incident {
    font-size: 0.875rem;
    padding: 1.5rem 0.75rem;
    background-color: #FFFFFF;
    -webkit-box-shadow: 0.25rem 0.25rem 1.5625rem 0 rgba(6, 22, 53, 0.12);
            box-shadow: 0.25rem 0.25rem 1.5625rem 0 rgba(6, 22, 53, 0.12);
    border-radius: 0.625rem;
    margin-top: 1rem;
  }

  .p-company__history__wrapper {
    position: relative;
    height: auto;
    max-height: 35rem;
    overflow: hidden;
    -webkit-transition: max-height 1s;
    transition: max-height 1s;
  }

  .p-company__history__wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transition: 1s;
    transition: 1s;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), to(#ffffff));
    background: linear-gradient(to bottom, transparent 70%, #ffffff 100%);
  }

  .p-company__history__wrapper.open:after {
    z-index: -1;
    opacity: 0;
  }

  .history-open {
    margin-top: 1.875rem;
  }

  .l-company__access {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .p-access__wrapper {
    width: 20.3125rem;
  }

  .p-company__address {
    padding-top: 3rem;
    font-size: 0.875rem;
  }

  .p-access__wrapper iframe {
    height: 11.9375rem;
  }

  .p-company__howToCome {
    font-size: 0.875rem;
  }

  .p-company__nearStation {
    font-size: 0.875rem;
  }

  .p-page__ttlWrapper__contact {
    height: 15.1875rem;
    background-image: url(../images/SP-page-contact-fv.webp);
  }

  #contactBody .p-page__ttlInner {
    top: 63%;
  }

  #contactBody .c-page__ttl--jp {
    font-size: 1.125rem;
    padding-top: 1.0625rem;
  }

  .p-page__fv__textWrapper {
    height: 14.5rem;
  }

  .p-page__fv__text {
    font-size: 0.875rem;
  }

  .contact-form {
    padding: 2rem 0;
  }

  form {
    padding: 0.375rem 1.875rem 1.5rem 1.875rem;
    width: 100%;
  }

  .form-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1rem 0;
  }

  .form-label {
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }

  .form-label p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .form-label p label {
    font-size: 0.875rem;
    padding-left: 0;
  }

  .form-label p span {
    font-size: 0.625rem;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }

  .form-input {
    width: 100%;
    height: 2.1875rem;
  }

  .form-textarea {
    height: 8rem;
    width: 100%;
  }

  button[type=submit] {
    width: 100%;
  }

  #csr .p-page__ttlWrapper--csr {
    background-image: url(../images/product/csr-bgSP.webp);
  }

  .l-csr {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    background: linear-gradient(-52deg, #F5F5F7 0%, #F5F5F7 84%, #FFFFFF 84%, #FFFFFF 100%);
  }

  .p-csr__message {
    padding-top: 3rem;
    text-align: left;
  }

  .p-csr__messageTtl {
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    font-weight: 700;
  }

  .p-csr__messageText {
    padding-top: 1rem;
    font-size: 0.875rem;
  }

  .p-csr__bodyWrapper {
    padding-top: 2.5rem;
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .p-csr__itemTtl {
    height: 7.375rem;
  }

  .p-csr__itemTtl p {
    font-size: 0.9375rem;
  }

  .p-page__ttlWrapper__history {
    background-image: url(../images/SP-history-page-bg.webp);
    height: 12rem;
  }

  .p-page__sub-title--small {
    font-size: 0.625rem;
  }

  .p-page__sub-title--small::before {
    display: none;
  }

  .c-page__ttl--jp--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;
    gap: 0.125rem;
  }

  .p-history__fv {
    background-image: url(../images/SP-history-fv-bg.webp);
    height: 34.4375rem;
  }

  .p-history__fv__contain {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-top: 2.0625rem;
  }

  .p-history__fv__left {
    width: 33%;
  }

  .p-history__fv__middle {
    width: 33%;
    margin-left: 0;
  }

  .p-history__fv__right {
    width: 33%;
  }

  a.p-history__fv__part {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .p-history__fv__part {
    padding: 0.25rem 0.4375rem 0.375rem 0.5rem;
  }

  .p-history__fv__part--01 {
    top: 58%;
  }

  .p-history__fv__part--02 {
    margin-top: 0;
    top: 68%;
    left: 30%;
  }

  .p-history__fv__part--03 {
    left: -65%;
    top: 28%;
  }

  a.p-history__fv__part--04 {
    left: -74%;
    top: 20%;
  }

  .p-history__fv__part--05 {
    top: -23%;
    left: -2rem;
    margin-top: 0;
  }

  .p-history__fv__part--06 {
    top: 23%;
    left: -29%;
    right: inherit;
  }

  .p-history__fv__part img {
    width: 3.4375rem;
    height: 1.25rem;
  }

  .p-history__fv__part--right {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .p-history__part__title {
    font-size: 0.9375rem;
  }

  .p-history__part__title--middle {
    font-size: 0.75rem;
  }

  .p-history__part__title--small {
    font-size: 0.59375rem;
  }

  .p-history__part__text {
    font-size: 0.375rem;
  }

  .p-history__part__comment {
    font-size: 0.34375rem;
  }

  .p-history__part__title--regular {
    font-size: 0.75rem;
  }

  .c-line {
    height: 0.9375rem;
    width: 0.03125rem;
    margin-left: 0rem;
    margin-right: 0.25rem;
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
  }

  .c-line--right {
    margin-left: 0rem;
    margin-right: 0.25rem;
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
  }

  .p-history__fv__img {
    width: 3.8125rem;
    height: 3.3125rem;
  }

  .p-history__fv__img--01 {
    position: absolute;
    top: 71%;
    left: 67%;
  }

  .p-history__fv__imgs {
    display: contents;
  }

  .p-history__fv__img--02 {
    position: absolute;
    top: 15%;
    left: -65%;
  }

  .p-history__fv__img--03 {
    position: absolute;
    top: 15%;
    left: -6%;
  }

  .p-history__fv__img--04 {
    position: absolute;
    top: 36%;
    left: -72%;
  }

  .p-history__fv__img--05 {
    position: absolute;
    top: 36%;
    left: -6%;
  }

  .p-history__fv__img--06 {
    position: absolute;
    top: 52%;
    left: 47%;
  }

  .p-history__fv__img--07 {
    position: absolute;
    top: 52%;
    left: 106%;
  }

  .p-history__fv__imgs--right {
    padding-left: 0;
    position: relative;
    right: 141%;
    top: -18px;
  }

  .p-history__fv__img--09 {
    top: 0;
    left: 1rem;
  }

  .p-taler-maid__description {
    font-size: 0.625rem;
  }

  .p-history__body__start {
    padding-top: 3.75rem;
    -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;
  }

  .p-1985__year {
    width: 7.75rem;
  }

  .p-1985__wrapper {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 1.625rem;
  }

  .p-1985__gear {
    width: 0.75rem;
  }

  .p-history__body__title {
    font-size: 1.0625rem;
  }

  .l-arrow01 {
    margin-top: 4.5rem;
  }

  .p-big-arrow {
    height: 3.4375rem;
    padding-left: 0.9375rem;
  }

  .p-semi-big-arrow {
    margin-top: 3rem;
  }

  .p-history__year--white {
    width: 5.1875rem;
  }

  .p-afterBigArrow {
    font-size: 1.0625rem;
    letter-spacing: 0.04em;
    line-height: 1.3;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 4rem;
    padding: 0 0.3125rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: solid 0.03125rem #4682b4;
    margin-top: 1.5rem;
  }
  .background-line{
    background-image: url(../images/history-whole-bgSP.webp);
    background-repeat: repeat-y;
    top: 0;
    background-position: top;

  }
  .history-bg-machine01 {
    width: 100%;
  }

  .history-bg-machine04 {
    width: 100%;
  }

  .l-history__event__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    padding-top: 4.5rem;
    padding-bottom: 0;
  }

  .l-history__afterSmallArrow {
    padding-top: 3rem;
  }

  .l-history__event__wrapper--2010 {
    padding-left: 0;
    padding-top: 3rem;
    gap: 0;
  }

  .l-history__event__wrapper--no-flex {
    padding-bottom: 0;
    padding-top: 3rem;
  }

  .l-history__event__wrapper--padTopSmall {
    padding-top: 3rem;
  }

  .p-history__event__left {
    width: 100%;
  }

  .l-history__event__wrapper--2010 .p-history__event__left {
    display: contents;
  }

  .p-history__event--2015 {
    width: 100%;
  }

  .l-history__event__right {
    padding-top: 4rem;
  }

  .p-history__event__wrapper.p-history__event__wrapper--grid.l-history__detail--top-padding {
    display: block;
  }

  .l-history__event-padding {
    padding-top: 4rem;
  }

  .p-history__event__contents--flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .p-history__event__machine--padding {
    padding-top: 0.75rem;
  }

  .p-history__event__details--flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 1.5rem;
  }

  .p-history__event__details--padding {
    margin-left: 0;
  }

  .p-history__event--column {
    padding-left: 0;
  }

  .client {
    width: 6.25rem;
    margin-top: 1.5rem;
  }

  .p-page__ttlWrapper {
    background-image: url(../images/performance/SP-page-performance-fv.webp);
    height: 12rem;
  }

  .p-page__ttlLogo {
    width: 0.5625rem;
    right: 1.5rem;
    bottom: 1rem;
  }

  .p-page__ttlInner {
    padding-left: 0.9375rem;
    top: 53%;
  }

  .p-section__anchors {
    overflow-x: auto;
  }

  .p-section__anchors.is-fixed {
    top: 3.75rem;
  }

  .p-section__anchors__lists {
    gap: 2.9375rem;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 0 1.25rem;
  }

  .p-section__anchors__link {
    font-size: 0.875rem;
  }

  .p-section__anchors__link::after {
    right: -0.625rem;
  }

  .l-performance__features {
    padding-top: 3.5rem;
    padding-bottom: 5.5rem;
  }

  .p-feature__img03--machine {
    position: static;
    float: right;
    width: 7.8125rem;
  }

  .p-features__paral {
    width: 19rem;
    height: 2.3125rem;
    margin: 1.0625rem auto 0 auto;
  }

  .p-features__paral img {
    width: 6.875rem;
    right: -1.4375rem;
    top: -1.1875rem;
  }

  .p-features__paralText {
    font-size: 0.9375rem;
  }

  .p-features__paralText--big {
    font-size: 1.5rem;
  }

  .p-features__box__wrapper {
    padding: 0 0 3rem 0;
    margin-top: 3rem;
  }

  .p-features__box__wrapper::after {
    width: 100%;
    top: inherit;
    bottom: 0;
    height: 3rem;
  }

  .p-features__box {
    margin-left: inherit;
    width: 100%;
    padding: 2.6875rem 0.9375rem;
  }

  .p-features__box--01::before {
    content: "";
    display: block;
    width: 0.0625rem;
    height: 2.5rem;
    position: absolute;
    left: 50%;
    top: -1.25rem;
    background-color: #033671;
  }

  .p-features__box__wrapper--02 {
    margin-top: 0;
    padding: 3.5rem 0 11.6875rem 0;
  }

  .p-feature__imgContent {
    top: inherit;
    bottom: 2rem;
    width: 100%;
    padding: 0 0.9375rem;
  }

  .p-feature__box--02 {
    padding: 3.125rem 0.9375rem 6.6875rem 0.9375rem;
  }

  .p-feature__steps {
    padding-top: 2.3125rem;
    width: 100%;
  }

  .p-feature__step__icon img {
    width: 3.5rem;
  }

  .p-feature__steps__item:not(:last-child) .p-feature__step__icon::after {
    height: 7.5rem;
    top: 50%;
  }

  .p-feature__step__body {
    padding-left: 0.5625rem;
  }

  .p-feature__step__ttl {
    font-size: 1.125rem;
  }

  .p-feature__step__text {
    font-size: 0.875rem;
    padding-top: 0.4375rem;
    line-height: 1.7;
  }

  .p-feature__steps__item:not(:first-child) {
    padding-top: 4rem;
  }

  .p-features__box__wrapper--03 {
    padding: 0 0 12.25rem 0;
    margin-top: 3.5rem;
  }

  .p-features__box__wrapper--03::after {
    width: 18.5625rem;
    height: 12.25rem;
  }

  .p-feature__text--bottom {
    width: 100%;
    margin-left: 0;
  }

  .p-feature__text--bottom--04 {
    width: 100%;
  }

  .p-feature__text--contents {
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.04em;
  }

  .p-feature__text--bottom p:nth-child(2) {
    padding-top: 2.25rem;
  }

  .p-feature__img03 {
    bottom: 2.5rem;
    width: 100%;
    height: 14.375rem;
    padding: 0 0.9375rem;
  }

  .p-features__box--03 {
    padding: 4.25rem 0.9375rem 6.625rem 0.9375rem;
  }

  .c-feature__subTtl--03 {
    width: 100%;
    padding-top: 2rem;
  }

  .p-feature__text--03 {
    width: 100%;
  }

  .c-feature__secondTtl {
    font-size: 1.125rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }

  .c-feature__secondTtl-04 {
    padding-top: 2rem;
  }

  .c-feature__subTtl-04 {
    padding-top: 1.8125rem;
  }

  .c-feature__secondTtl::before {
    height: 1.25rem;
    margin-right: 0.375rem;
  }

  .c-feature__secondTtl02 {
    font-size: 1.125rem;
    padding-top: 0.5rem;
    letter-spacing: 0.04em;
    line-height: 1.3;
  }

  .c-feature__secondTtl03 {
    padding-top: 2.0625rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }

  .p-feature__box--04 {
    padding: 2.8125rem 0.9375rem 4.75rem 0.9375rem;
  }

  .p-features__box__wrapper--04::after {
    width: 18.3125rem;
    height: 12.6875rem;
  }

  .p-features__box__wrapper--04 {
    padding: 0 0 12.6875rem 0;
    margin-top: 3.5rem;
  }

  .p-feature__text--04 {
    line-height: 1.7;
    font-size: 0.875rem;
  }

  .p-feature__img04 {
    width: 100%;
    padding: 0 0.9375rem;
    height: 12.9375rem;
    bottom: 2.5rem;
  }

  .p-feature__text--short04 {
    width: 100%;
  }

  .p-feature__img04-02 {
    position: static;
    width: 100%;
    margin-top: 2rem;
  }

  .p-features__box__wrapper--05 {
    margin-top: 0;
    padding: 0;
    margin-bottom: 12.5rem;
  }

  .p-features__box__wrapper--05::after {
    width: 19.0625rem;
    height: 10.6875rem;
    bottom: -25%;
  }

  .p-feature__text--05 {
    padding-top: 2rem;
  }

  .p-features__box--05 {
    padding: 3rem 0.9375rem 0 0.9375rem;
    margin-top: 3.125rem;
  }

  .p-features__05Imgs {
    display: contents;
  }

  .p-feature__05Img--bottom {
    width: 17.875rem;
    position: absolute;
    left: 0;
    margin-top: 0;
  }

  .p-feature__img05 {
    width: 100%;
    height: 14.125rem;
    -o-object-fit: cover;
       object-fit: cover;
  }

  .l-proposal {
    padding-bottom: 3.5rem;
    background-image: url(../images/performance/SP-proposal-bg.svg);
  }

  .c-section__ttl--secondSec {
    -webkit-transform: none;
            transform: none;
  }

  .p-proposal__illust {
    width: 2.9375rem;
    left: 50%;
    top: 3.125rem;
    -webkit-transform: rotate(8deg) translateX(-50%);
            transform: rotate(8deg) translateX(-50%);
  }

  .p-proposal__illust--question {
    width: 2.1875rem;
    top: 10.25rem;
    right: 0.25rem;
  }

  .p-proposal__illust--screwdryber {
    width: 3.125rem;
    bottom: -1.875rem;
    left: 0;
  }

  .p-proposal__faq {
    padding-top: 3.125rem;
    line-height: 1.5;
  }

  .p-proposal__question {
    font-size: 0.9375rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 0.25rem;
  }

  .p-proposal__question:not(:first-child) {
    padding-top: 2.1875rem;
  }

  .p-proposal__question img {
    width: 2.0625rem;
    margin-left: -0.3125rem;
  }

  .p-proposal__answer__wrapper {
    gap: 0.25rem;
    padding-top: 1.375rem;
  }

  .p-proposal__answer__wrapper img {
    width: 2.0625rem;
    height: 1.625rem;
    margin-left: -0.3125rem;
  }

  .p-proposal__answer {
    font-size: 0.9375rem;
    line-height: 1.7;
    letter-spacing: -0.04em;
  }

  .p-proposal__answer--strong {
    font-size: 0.9375rem;
    line-height: 1.7;
    letter-spacing: -0.04em;
  }

  .l-product__device {
    padding-top: 3.5rem;
  }

  .p-product__description {
    margin-top: 2.625rem;
    width: 100%;
    font-size: 1.0625rem;
    padding: 1.5rem 1.5625rem;
    line-height: 1.7;
  }

  .c-section__ttl--product {
    -webkit-transform: inherit;
            transform: inherit;
  }

  .p-product__body {
    margin-top: 2rem;
    padding-top: 3.5rem;
  }

  .p-product__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
  }

  .p-product__flex:not(:first-of-type) {
    padding-top: 3rem;
  }

  .product__name {
    font-size: 1.5rem;
    -webkit-transform: inherit;
            transform: inherit;
  }

  .product__nameSec {
    font-size: 1.5rem;
    padding-left: 2rem;
  }

  .product__name::before {
    width: 1.5rem;
    margin-right: 0.5rem;
  }

  .product__text {
    font-size: 0.875rem;
    padding-top: 0.875rem;
  }

  .product__point {
    padding: 1rem;
  }

  .product__point--Ttl {
    font-size: mre(18);
  }

  .product__point--text {
    font-size: 0.875rem;
  }

  .p-product__textLeft {
    width: 100%;
    font-size: 0.875rem;
  }

  .p-product__images {
    grid-template-columns: 1fr;
    padding: 4rem 0 2rem 0;
    gap: 1rem;
  }

  .p-product__images::after {
    width: 100vw;
    margin: calc(50% - 50vw);
    bottom: inherit;
    top: 3rem;
    left: inherit;
    height: 100%;
  }

  .p-product__left--mobility {
    width: 100%;
  }

  .p-product__right--img {
    width: 100%;
    padding-bottom: 1.6875rem;
    margin-right: inherit;
    padding-left: 0;
  }

  .p-product__right--img::after {
    height: 7rem;
    margin-right: inherit;
    margin: calc(50% - 50vw);
  }

  .p-product__flex:nth-of-type(2) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .p-product__flex:nth-of-type(2) .p-product__right--img {
    width: 100%;
    padding-right: inherit;
    margin-left: inherit;
  }

  .p-product__flex:nth-of-type(2) .p-product__right--img::after {
    width: 100vw;
    background: linear-gradient(147.97deg, #AEDCEF 0%, #146696 100%);
  }

  .p-product__imgSmall--flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 1.5rem;
    gap: 1.5rem;
  }

  .p-product__img--small {
    width: 100%;
  }

  .p-product__imgSmall--machine::before {
    width: 0.625rem;
    height: 0.625rem;
  }

  #product__mobility .p-history__event__machine {
    font-size: 0.875rem;
  }

  .p-page__ttlWrapper--device {
    background-image: url(../images/product/device-bgSP.webp);
  }

  .p-page__ttlWrapper--medical {
    background-image: url(../images/product/medical-bgSP.webp);
  }

  .p-page__ttlWrapper--food {
    background-image: url(../images/product/food-bgSP.webp);
  }

  .p-page__ttlWrapper--mobility {
    background-image: url(../images/product/mobility-bgSP.webp);
  }

  .article__wrapper {
    background-image: url(../images/others/news-bgSP.webp);
  }

  .article {
    padding: 3.5rem 0;
  }

  #article h1 {
    font-size: 1.125rem;
    padding-top: 1rem;
  }

  #article .p-news__category a {
    padding: 0.25rem 0.5rem;
  }

  h2.wp-block-heading {
    font-size: 1rem;
    line-height: 1.2;
    padding-bottom: 0.5rem;
  }

  #article p {
    font-size: 0.875rem;
    line-height: 1.7;
  }

  .moveArticle {
    padding-top: 3rem;
  }

  #article a.post-link-prev,
  #article a.post-link-next,
  #article a.post-link-all {
    font-size: 0.875rem;
    line-height: 100%;
  }

  #article a.post-link-all {
    padding: 0.625rem 1.625rem;
  }

  .p-top__fv__blue {
    bottom: 0;
    height: auto;
    width: 100%;
  }

  .p-fv__wrapper {
    text-align: center;
    top: 50%;
    /* right: inherit; */
  }

  .p-fv__catchCopy--small {
    font-size: 0.875rem;
    margin: 0 auto;
    line-height: 2.3;
  }

  .p-fv__catchCopy {
    font-size: 1.6875rem;
    letter-spacing: 0.05em;
  }

  .p-fv__catchCopy--big {
    font-size: 1.9375rem;
  }

  .p-fv__description {
    padding-top: 1rem;
  }

  .p-fv__description p {
    font-size: 0.8125rem;
  }

  .p-fv__description p:not(:first-child) {
    padding-top: 0;
  }

  .swiper-wrapper {
    height: 35.625rem;
  }
}


.grecaptcha-badge { 
	visibility: hidden; 
}

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