@charset "UTF-8";
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 10px;
  font-size: clamp(6px, 0.6944vw, 10px);
  margin: 0;
  scroll-behavior: smooth; }
  @media only screen and (max-width: 768px) {
    html {
      font-size: 10px; } }
  @media only screen and (max-width: 576px) {
    html {
      font-size: clamp(6px, 2.6vw, 10px); } }

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #000000;
  word-break: break-word;
  margin: 0;
  padding: 0;
  border: 0; }

div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block; }

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

h1,
h2 {
  line-height: 1.2; }

h3,
h4 {
  line-height: 1.5; }

h5,
h6 {
  line-height: inherit; }

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

blockquote,
q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none; }

b,
strong {
  font-weight: bolder; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none; }

a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none; }

a {
  color: inherit;
  text-decoration: none; }

img {
  vertical-align: middle;
  border-style: none;
  height: auto; }

svg {
  overflow: hidden;
  vertical-align: middle; }

[role="button"] {
  cursor: pointer; }

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer; }

button {
  outline: none;
  border: none;
  cursor: pointer; }

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0; }

textarea {
  overflow: auto;
  resize: none; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

[hidden] {
  display: none !important; }

*:focus {
  outline: none; }

.clearfix::after {
  content: "";
  visibility: hidden;
  height: 0;
  display: block;
  font-size: 0;
  clear: both; }

* html .clearfix {
  zoom: 1; }

*:first-child + html .clearfix {
  zoom: 1; }

#wrapper {
  position: relative;
  width: 100%; }

@media print, screen and (min-width: 769px) {
  .pc-hide, .sp-only {
    display: none !important; } }
@media only screen and (max-width: 768px) {
  .sp-hide, .pc-only {
    display: none !important; } }
#wrapper {
  position: relative;
  width: 100%; }

main {
  position: relative; }

/* input */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
select,
textarea {
  position: relative;
  background: #FFFFFF;
  border: 1px solid #FFFFFF;
  box-sizing: border-box;
  padding: 1.6rem 1.6rem;
  width: 100%;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 2.4rem;
  text-align: left;
  color: #000000;
  outline: none;
  border-radius: 0;
  vertical-align: middle; }
  @media only screen and (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    select,
    textarea {
      padding: 1.2rem 1.6rem; } }
  input[type="text"]::placeholder,
  input[type="email"]::placeholder,
  input[type="tel"]::placeholder,
  input[type="number"]::placeholder,
  input[type="password"]::placeholder,
  select::placeholder,
  textarea::placeholder {
    color: #343434; }

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
select {
  height: 5.6rem; }
  @media only screen and (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    select {
      height: 4.8rem; } }

textarea {
  height: 25.0rem; }
  @media only screen and (max-width: 768px) {
    textarea {
      height: 20.0rem; } }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
  border-color: #FFFFFF; }

select {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url(../image/select-down.svg);
  background-position: calc(100% - 12px) 50%;
  background-size: 1.2rem 0.8rem;
  background-repeat: no-repeat;
  z-index: 0; }

.container,
.container-fluid {
  width: 100%;
  padding-right: 2.0rem;
  padding-left: 2.0rem;
  margin-right: auto;
  margin-left: auto; }
  @media only screen and (max-width: 768px) {
    .container,
    .container-fluid {
      padding-left: 2.0rem;
      padding-right: 2.0rem; } }

.container {
  max-width: 110.0rem; }

.md-container {
  max-width: 140rem;
  margin: auto;
  padding-left: 2rem;
  padding-right: 2rem; }

@media only screen and (max-width: 768px) {
  .container {
    max-width: 54.0rem; } }
.content-in {
  position: relative;
  max-width: 94.0rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto; }

picture,
figure {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  overflow: hidden; }
  picture img,
  figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center; }

.color-blue {
  color: #2CA6E0 !important; }

.color-yellow {
  color: #EE7D32 !important; }

@keyframes zoom {
  from {
    transform: scale(1); }
  to {
    transform: scale(1.2); } }
#wrapper {
  position: relative; }

.link-btn {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 24.0rem;
  max-width: 100%;
  height: 5.6rem;
  padding: 1.0rem 1.0rem 0.8rem;
  background: #FFFFFF;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  color: #022240;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
  border-radius: 0.5rem;
  cursor: pointer;
  box-sizing: border-box;
  border: none;
  z-index: 0;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .link-btn {
      font-size: 1.5rem;
      height: 5.0rem; } }
  .link-btn:hover {
    background: #022240;
    color: #FFFFFF; }

.section-title {
  position: relative;
  margin-bottom: 12.0rem;
  width: fit-content; }
  @media only screen and (max-width: 768px) {
    .section-title {
      margin-bottom: 4.0rem; } }
  .section-title .en {
    position: relative;
    font-size: 9.4rem;
    font-weight: 500;
    line-height: 1;
    color: #888888;
    text-align: left;
    text-indent: -0.3rem; }
    @media only screen and (max-width: 768px) {
      .section-title .en {
        font-size: 4rem;
        line-height: 1.3;
        text-indent: -0.1rem; } }
  .section-title .jp {
    position: relative;
    font-size: 3.4rem;
    font-weight: 500;
    line-height: 1.5;
    color: #888888;
    margin-top: 0.2rem; }
    @media only screen and (max-width: 768px) {
      .section-title .jp {
        font-size: 2.2rem;
        margin-top: 0.4rem; } }

.market-action {
  position: relative;
  margin-top: 2.0rem; }
  @media only screen and (max-width: 768px) {
    .market-action {
      width: 100%;
      max-width: 27.0rem;
      margin-top: 2.0rem;
      margin-left: auto;
      margin-right: auto; } }
  .market-action .market-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    height: 4.5rem;
    padding: 0.5rem 1.5rem 0.5rem 0.5rem;
    background: #FFFFFF;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 700;
    color: #091E3A;
    white-space: nowrap;
    text-align: center;
    text-decoration: none;
    border-radius: 0.3rem;
    border: none;
    transition: all 0.3s ease-in-out;
    overflow: hidden;
    z-index: 0; }
    .market-action .market-btn .text {
      position: relative;
      color: inherit;
      text-decoration: none;
      z-index: 3; }
    .market-action .market-btn .icon {
      position: absolute;
      top: calc(50% - 8px);
      right: 1.0rem;
      display: block;
      width: 1.6rem;
      margin: 0; }
    .market-action .market-btn:hover {
      opacity: 0.8; }

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: none;
  padding: 1.5rem 6.0rem;
  transition: all 0.2s ease-in-out;
  z-index: 996; }
  @media only screen and (max-width: 768px) {
    #header {
      padding: 1.0rem 2.0rem 0.6rem;
      height: 5.6rem; } }
  #header.header-hidden {
    transform: translateY(-100%); }
  #header .container {
    max-width: 124.0rem; }
  #header .header-wrapper {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin: 0; }
    #header .header-wrapper .header-logo {
      position: relative;
      padding: 0;
      width: fit-content;
      flex-shrink: 0; }
      #header .header-wrapper .header-logo a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        margin: 0;
        border: none;
        outline: none;
        white-space: nowrap;
        text-decoration: none;
        cursor: pointer;
        line-height: 1;
        width: 100%; }
        #header .header-wrapper .header-logo a.ja {
          max-width: 30rem; }
        #header .header-wrapper .header-logo a.en {
          max-width: 40rem; }
        @media only screen and (max-width: 768px) {
          #header .header-wrapper .header-logo a {
            width: calc(100% - 60px); } }
        #header .header-wrapper .header-logo a img {
          width: 100%;
          position: relative;
          display: block;
          flex-shrink: 0;
          margin: 0;
          border: none; }
    #header .header-wrapper .header-nav {
      position: relative;
      padding: 1.0rem 1.0rem;
      background: #FFFFFF;
      border-radius: 0.6rem; }
      @media only screen and (max-width: 768px) {
        #header .header-wrapper .header-nav {
          display: none; } }
      #header .header-wrapper .header-nav .nav-menu {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        max-width: 100%;
        column-gap: 2.0rem;
        line-height: 1; }
        #header .header-wrapper .header-nav .nav-menu > li {
          position: relative; }
          #header .header-wrapper .header-nav .nav-menu > li .menu-link {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 16.0rem;
            height: 4.8rem;
            max-width: 100%;
            font-size: 14px;
            font-weight: 500;
            line-height: 1.5;
            color: #122C48;
            margin: 0;
            white-space: nowrap;
            text-decoration: none;
            cursor: pointer;
            z-index: 0;
            transition: all 0.2s ease-in-out; }
            #header .header-wrapper .header-nav .nav-menu > li .menu-link:hover, #header .header-wrapper .header-nav .nav-menu > li .menu-link.active {
              background: #C20A19;
              color: #FFFFFF;
              border-radius: 0.5rem; }
            #header .header-wrapper .header-nav .nav-menu > li .menu-link.contact-link {
              height: 4.8rem;
              background: #C20A19;
              color: #FFFFFF;
              border-radius: 0.5rem;
              position: relative;
              display: flex;
              align-items: center; }
              #header .header-wrapper .header-nav .nav-menu > li .menu-link.contact-link:hover {
                opacity: 0.8; }
          #header .header-wrapper .header-nav .nav-menu > li .lang-switch {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            padding: 0 2rem;
            height: 4.8rem;
            border: 1px solid #122C48; }
            #header .header-wrapper .header-nav .nav-menu > li .lang-switch span {
              color: #97bce4; }

.mobile-nav-toggle {
  position: fixed;
  right: 0;
  top: 0;
  width: 5.6rem;
  height: 5.6rem;
  padding: 1.7rem 1.4rem;
  background: #C20A19;
  display: none;
  border: none;
  outline: none;
  cursor: pointer;
  z-index: 999;
  margin: 0;
  transition: all 0.4s ease-in-out; }
  @media only screen and (max-width: 768px) {
    .mobile-nav-toggle {
      display: inline-block; } }
  .mobile-nav-toggle .toggle-icon {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0; }
    .mobile-nav-toggle .toggle-icon span {
      display: inline-block;
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background: #FFFFFF;
      transition: all 0.4s ease-in-out;
      transform-origin: center center; }
      .mobile-nav-toggle .toggle-icon span:nth-child(1) {
        top: 0; }
      .mobile-nav-toggle .toggle-icon span:nth-child(2) {
        top: calc(50% - 1px); }
      .mobile-nav-toggle .toggle-icon span:nth-child(3) {
        bottom: 0; }
  .mobile-nav-toggle.toggle-active .toggle-icon span {
    background: #FFFFFF; }
    .mobile-nav-toggle.toggle-active .toggle-icon span:nth-child(1) {
      transform: translateY(1rem) rotate(-45deg); }
    .mobile-nav-toggle.toggle-active .toggle-icon span:nth-child(2) {
      opacity: 0;
      visibility: hidden; }
    .mobile-nav-toggle.toggle-active .toggle-icon span:nth-child(3) {
      transform: translateY(-1rem) rotate(45deg); }

#mobile-nav {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 998;
  right: -100%;
  width: 80%;
  max-width: 50.0rem;
  overflow-y: auto;
  transition: all 0.4s ease-in-out;
  background: #091E3A; }
  #mobile-nav .mobile-nav-container {
    position: relative;
    padding: 5.6rem 2.0rem 3.0rem; }
  #mobile-nav .mobile-nav-menu {
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0; }
    #mobile-nav .mobile-nav-menu > li {
      position: relative;
      display: block;
      border-bottom: 1px solid #FFFFFF; }
      #mobile-nav .mobile-nav-menu > li > a {
        position: relative;
        display: block;
        width: 100%;
        font-weight: 500;
        font-size: 14px;
        line-height: 2.4rem;
        letter-spacing: 0.05em;
        text-align: left;
        color: #FFFFFF;
        padding: 1.5rem 0;
        text-decoration: none;
        outline: none; }
      #mobile-nav .mobile-nav-menu > li .lang-switch {
        color: #FFFFFF;
        padding: 1.5rem 0; }
        #mobile-nav .mobile-nav-menu > li .lang-switch a {
          color: #C20A19; }
    #mobile-nav .mobile-nav-menu .drop-down > a::after {
      content: "";
      position: absolute;
      top: calc(50% - 3px);
      right: 0;
      display: inline-block;
      width: 10px;
      height: 6px;
      background-image: url(../img/common/icon-down.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      z-index: 2; }
    #mobile-nav .mobile-nav-menu .drop-down ul {
      display: none;
      overflow: hidden; }
    #mobile-nav .mobile-nav-menu .drop-down li {
      padding-left: 16px;
      border-bottom: 1px solid #323232; }
      #mobile-nav .mobile-nav-menu .drop-down li a {
        position: relative;
        display: block;
        width: 100%;
        font-weight: 700;
        font-size: 14px;
        line-height: 2.4rem;
        text-align: left;
        color: #323232;
        padding: 1.6rem 0;
        text-decoration: none;
        outline: none; }
    #mobile-nav .mobile-nav-menu .drop-down.active > a::after {
      transform: rotate(180deg);
      transform-origin: center center; }
  #mobile-nav .mobile-nav-social {
    position: relative;
    margin-top: 4.0rem; }
    #mobile-nav .mobile-nav-social .social-menu {
      position: relative;
      list-style: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 2.4rem;
      padding: 0;
      margin: 0; }
      #mobile-nav .mobile-nav-social .social-menu > li {
        position: relative;
        padding: 0;
        margin: 0; }
        #mobile-nav .mobile-nav-social .social-menu > li .social-link {
          position: relative;
          display: flex;
          align-items: center;
          justify-content: center;
          width: 3.0rem;
          background: none;
          border: none;
          outline: none;
          overflow: hidden;
          z-index: 0; }
          #mobile-nav .mobile-nav-social .social-menu > li .social-link img {
            display: block;
            width: 100%;
            height: 100%;
            margin: 0;
            border: none; }
    #mobile-nav .mobile-nav-social .market-action {
      position: relative;
      margin-top: 1.6rem; }
      #mobile-nav .mobile-nav-social .market-action .market-btn {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 100%;
        height: 4.4rem;
        padding: 0.5rem 1.5rem 0.5rem 0.5rem;
        background: #FFFFFF;
        font-size: 1.4rem;
        line-height: 1.5;
        font-weight: 700;
        color: #091E3A;
        white-space: nowrap;
        text-align: center;
        text-decoration: none;
        border-radius: 0.3rem;
        border: none;
        transition: all 0.3s ease-in-out;
        overflow: hidden;
        z-index: 0; }
        #mobile-nav .mobile-nav-social .market-action .market-btn .text {
          position: relative;
          color: inherit;
          text-decoration: none;
          z-index: 3; }
        #mobile-nav .mobile-nav-social .market-action .market-btn .icon {
          position: absolute;
          top: calc(50% - 8px);
          right: 1.0rem;
          display: block;
          width: 1.6rem;
          margin: 0; }
        #mobile-nav .mobile-nav-social .market-action .market-btn:hover {
          opacity: 0.8; }

.sp-phone-link {
  position: fixed;
  top: 0;
  right: 5.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.6rem;
  height: 5.6rem;
  background: #2543AE;
  z-index: 999; }
  @media print, screen and (min-width: 769px) {
    .sp-phone-link {
      display: none; } }
  .sp-phone-link img {
    display: block;
    width: 2.4rem; }

.mobile-nav-overly {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 997;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  overflow: hidden;
  transition: all 0.2s ease-in-out; }

/* Mobile Nav body classes */
@media only screen and (max-width: 768px) {
  body.mobile-nav-active {
    overflow: hidden; } }

body.mobile-nav-active #mobile-nav {
  right: 0; }

body.contact-page .mobile-nav-toggle {
  display: none; }
body.contact-page .sp-phone-link {
  right: 0; }

#footer {
  position: relative;
  padding: 12.0rem 0 3.0rem;
  background-image: url(../image/footer-background.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0; }
  @media only screen and (max-width: 768px) {
    #footer {
      padding: 7.0rem 0 2.4rem; } }
  #footer .container {
    position: relative;
    max-width: 108.0rem; }
  #footer .footer-wrappper {
    position: relative; }
    #footer .footer-wrappper::after {
      content: "";
      display: block;
      clear: both; }
  #footer .footer-headline {
    position: relative; }
    @media print, screen and (min-width: 769px) {
      #footer .footer-headline {
        float: left;
        width: 23.0rem; } }
    @media only screen and (max-width: 768px) {
      #footer .footer-headline {
        margin-bottom: 6.0rem; } }
    #footer .footer-headline .footer-logo {
      position: relative;
      display: block;
      width: fit-content;
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
      padding: 0;
      outline: none;
      text-decoration: none;
      border: none;
      background: none;
      overflow: hidden;
      z-index: 0; }
      #footer .footer-headline .footer-logo .logo {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 0;
        outline: none;
        border: none;
        background: none;
        overflow: hidden;
        margin: 0 auto;
        z-index: 0; }
        @media only screen and (max-width: 768px) {
          #footer .footer-headline .footer-logo .logo {
            width: 17rem; } }
        #footer .footer-headline .footer-logo .logo img {
          display: block;
          width: 100%; }
      #footer .footer-headline .footer-logo .name {
        position: relative;
        font-size: 4.8rem;
        font-weight: 500;
        line-height: 1.0;
        white-space: nowrap;
        text-align: center;
        text-decoration: none;
        color: #FFFFFF;
        margin-top: 1.6rem; }
        @media only screen and (max-width: 768px) {
          #footer .footer-headline .footer-logo .name {
            font-size: 2.4rem; } }
  #footer .footer-content {
    position: relative; }
    @media print, screen and (min-width: 769px) {
      #footer .footer-content {
        float: right;
        width: 68.0rem;
        max-width: 100%; } }
  #footer .footer-menu {
    position: relative;
    list-style: none;
    display: block;
    font-size: 2.2rem;
    line-height: 1.5;
    font-weight: 700;
    text-align: left;
    color: #FFFFFF;
    border-top: 1px solid #494949; }
    @media only screen and (max-width: 768px) {
      #footer .footer-menu {
        font-size: 1.8rem; } }
    #footer .footer-menu > li {
      position: relative;
      padding: 2.0rem 0 2.0rem 2.4rem;
      border-bottom: 1px solid #494949; }
      @media only screen and (max-width: 768px) {
        #footer .footer-menu > li {
          padding: 1.6rem 1.0rem; } }
      #footer .footer-menu > li .menu-link {
        position: relative;
        display: flex;
        align-items: center;
        gap: 1.2rem;
        white-space: nowrap;
        text-decoration: none;
        transition: opacity 0.3s ease-in-out; }
        #footer .footer-menu > li .menu-link .text {
          position: relative;
          font-size: inherit;
          color: inherit;
          text-decoration: none; }
        #footer .footer-menu > li .menu-link .icon {
          position: relative;
          display: block;
          width: 3.0rem;
          height: 3.0rem;
          background: #FFFFFF;
          border-radius: 50%;
          border: none;
          overflow: hidden;
          transition: all 0.3s ease-in-out;
          z-index: 0; }
          @media only screen and (max-width: 768px) {
            #footer .footer-menu > li .menu-link .icon {
              width: 2.8rem;
              height: 2.8rem; } }
          #footer .footer-menu > li .menu-link .icon::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            width: 1.2rem;
            height: 1.2rem;
            background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.69238 5.46124C1.26755 5.46124 0.923152 5.80563 0.923152 6.23047C0.923152 6.6553 1.26755 6.9997 1.69238 6.9997L1.69238 5.46124ZM11.4671 6.7744C11.7675 6.47399 11.7675 5.98694 11.4671 5.68654L6.57173 0.791186C6.27132 0.490782 5.78427 0.490782 5.48387 0.791186C5.18347 1.09159 5.18347 1.57864 5.48387 1.87904L9.8353 6.23047L5.48387 10.5819C5.18347 10.8823 5.18347 11.3693 5.48387 11.6698C5.78427 11.9702 6.27132 11.9702 6.57173 11.6698L11.4671 6.7744ZM1.69238 6.23047L1.69238 6.9997L10.9232 6.9997L10.9232 6.23047L10.9232 5.46124L1.69238 5.46124L1.69238 6.23047Z' fill='%23091E3A'/%3E%3C/svg%3E%0A");
            background-position: center;
            background-repeat: no-repeat;
            background-size: contain;
            transform: translate(-50%, -50%); }
        #footer .footer-menu > li .menu-link:hover .icon {
          transform: translateX(0.3rem); }
      #footer .footer-menu > li .menu-rows {
        position: relative;
        list-style: none;
        display: grid;
        grid-template-columns: minmax(0rem, 1fr) 21.1rem;
        gap: 1.0rem;
        padding: 0;
        margin: 0; }
        @media only screen and (max-width: 768px) {
          #footer .footer-menu > li .menu-rows {
            grid-template-columns: minmax(0rem, 1fr);
            gap: 3.0rem; } }
        #footer .footer-menu > li .menu-rows > li {
          position: relative;
          padding: 0;
          margin: 0; }
      #footer .footer-menu > li .menu-label {
        position: relative;
        display: flex;
        align-items: center;
        white-space: nowrap;
        text-decoration: none; }
      #footer .footer-menu > li .sub-menu {
        position: relative;
        list-style: none;
        display: block;
        font-size: 1.4rem;
        line-height: 2.4rem;
        font-weight: 500;
        text-align: left;
        color: #FFFFFF;
        padding: 0 0 0 1.0rem;
        margin: 2.4rem 0 0; }
        @media only screen and (max-width: 768px) {
          #footer .footer-menu > li .sub-menu {
            margin-top: 1.6rem; } }
        #footer .footer-menu > li .sub-menu > li {
          position: relative;
          padding: 0;
          margin: 0; }
          #footer .footer-menu > li .sub-menu > li:not(:last-child) {
            margin-bottom: 1.7rem; }
            @media only screen and (max-width: 768px) {
              #footer .footer-menu > li .sub-menu > li:not(:last-child) {
                margin-bottom: 1.6rem; } }
        #footer .footer-menu > li .sub-menu .sub-link {
          position: relative;
          color: inherit;
          text-decoration: none; }
          #footer .footer-menu > li .sub-menu .sub-link:hover {
            text-decoration: underline; }
      #footer .footer-menu > li .other-menu {
        position: relative;
        list-style: none;
        display: block;
        gap: 1.6rem;
        padding: 0; }
        @media only screen and (max-width: 768px) {
          #footer .footer-menu > li .other-menu {
            padding-bottom: 0.4rem; } }
        #footer .footer-menu > li .other-menu > li {
          position: relative;
          padding: 0;
          margin: 0; }
          #footer .footer-menu > li .other-menu > li:not(:last-child) {
            margin-bottom: 1.6rem; }
          #footer .footer-menu > li .other-menu > li #footer-banner {
            gap: 2.3rem;
            background-color: #ffffff;
            border-radius: 0.5rem;
            display: grid !important;
            grid-template-columns: 1fr;
            padding: 2rem 2.5rem; }
            #footer .footer-menu > li .other-menu > li #footer-banner a {
              transition: .3s ease; }
              #footer .footer-menu > li .other-menu > li #footer-banner a:hover {
                opacity: .7; }
              #footer .footer-menu > li .other-menu > li #footer-banner a:first-child {
                width: 80%; }
              #footer .footer-menu > li .other-menu > li #footer-banner a img {
                width: 100%; }
          #footer .footer-menu > li .other-menu > li .other-link {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            max-width: 100%;
            padding: 0;
            outline: none;
            border: none;
            background: none;
            overflow: hidden;
            transition: opacity 0.3s ease-in-out;
            z-index: 0; }
            #footer .footer-menu > li .other-menu > li .other-link img {
              display: block;
              width: 100%;
              height: auto;
              margin: 0;
              border: none; }
          #footer .footer-menu > li .other-menu > li a.other-link:hover {
            opacity: 0.8; }
  #footer .footer-social {
    position: relative;
    margin-top: 5.0rem; }
    @media print, screen and (min-width: 769px) {
      #footer .footer-social {
        float: left;
        width: 23.0rem; } }
    @media only screen and (max-width: 768px) {
      #footer .footer-social {
        margin-top: 4.0rem; } }
    #footer .footer-social .social-menu {
      position: relative;
      list-style: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 2.4rem;
      padding: 0;
      margin: 0; }
      #footer .footer-social .social-menu > li {
        position: relative;
        padding: 0;
        margin: 0; }
        #footer .footer-social .social-menu > li .social-link {
          position: relative;
          display: flex;
          align-items: center;
          justify-content: center;
          width: 3.0rem;
          background: none;
          border: none;
          outline: none;
          overflow: hidden;
          z-index: 0; }
          #footer .footer-social .social-menu > li .social-link img {
            display: block;
            width: 100%;
            height: auto;
            margin: 0;
            border: none; }
  #footer .footer-copy {
    position: relative;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2.4rem;
    color: #CACACA;
    text-align: center;
    margin-top: 6.0rem; }
    @media only screen and (max-width: 768px) {
      #footer .footer-copy {
        margin-top: 5.0rem;
        font-size: 1.2rem; } }
    #footer .footer-copy > p {
      margin: 0; }

.common-banner-section {
  position: relative;
  z-index: 1; }
  .common-banner-section .banner-rows {
    position: relative;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0rem, 1fr));
    padding: 0;
    margin: 0; }
    @media only screen and (max-width: 768px) {
      .common-banner-section .banner-rows {
        grid-template-columns: minmax(0rem, 1fr); } }
    .common-banner-section .banner-rows > li {
      position: relative;
      display: block;
      padding: 0; }
    .common-banner-section .banner-rows .banner {
      position: relative;
      display: block;
      width: 100%;
      height: 100%;
      height: 36.0rem;
      padding: 0;
      margin: 0;
      font-size: 7.2rem;
      font-weight: 500;
      line-height: 1.0;
      color: #FFFFFF;
      text-align: center;
      white-space: nowrap;
      text-decoration: none;
      border: none;
      overflow: hidden;
      z-index: 0; }
      @media only screen and (max-width: 768px) {
        .common-banner-section .banner-rows .banner {
          font-size: 3.6rem;
          height: 20.0rem; } }
      .common-banner-section .banner-rows .banner .back {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0; }
        .common-banner-section .banner-rows .banner .back img {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center;
          transform-origin: center center;
          transition: all 0.3s ease-in-out;
          z-index: 0; }
      .common-banner-section .banner-rows .banner .wrap {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5.0rem;
        width: 100%;
        height: 100%;
        z-index: 1; }
        @media only screen and (max-width: 768px) {
          .common-banner-section .banner-rows .banner .wrap {
            gap: 2.4rem; } }
        .common-banner-section .banner-rows .banner .wrap .text {
          position: relative;
          color: inherit;
          text-decoration: none; }
        .common-banner-section .banner-rows .banner .wrap .icon {
          position: relative;
          display: inline-block;
          width: 6.0rem;
          height: 6.0rem;
          background: #FFFFFF;
          border-radius: 50%;
          border: none;
          overflow: hidden;
          margin-top: 0.6rem;
          transform-origin: center center;
          transition: all 0.3s ease-in-out;
          z-index: 0; }
          @media only screen and (max-width: 768px) {
            .common-banner-section .banner-rows .banner .wrap .icon {
              width: 4.0rem;
              height: 4.0rem;
              margin-top: 0.3rem; } }
          .common-banner-section .banner-rows .banner .wrap .icon::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            width: 1.8rem;
            height: 1.2rem;
            background-image: url("data:image/svg+xml,%3Csvg width='18' height='12' viewBox='0 0 18 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.1543 5.11358C0.729462 5.11358 0.385066 5.45798 0.385066 5.88281C0.385066 6.30765 0.729462 6.65204 1.1543 6.65204L1.1543 5.11358ZM17.0828 6.42674C17.3832 6.12634 17.3832 5.63929 17.0828 5.33888L12.1875 0.443529C11.8871 0.143126 11.4 0.143126 11.0996 0.443529C10.7992 0.743932 10.7992 1.23098 11.0996 1.53139L15.4511 5.88281L11.0996 10.2342C10.7992 10.5346 10.7992 11.0217 11.0996 11.3221C11.4 11.6225 11.8871 11.6225 12.1875 11.3221L17.0828 6.42674ZM1.1543 5.88281L1.1543 6.65204L16.5389 6.65204L16.5389 5.88281L16.5389 5.11358L1.1543 5.11358L1.1543 5.88281Z' fill='%23091E3A'/%3E%3C/svg%3E%0A");
            background-position: center;
            background-repeat: no-repeat;
            background-size: contain;
            transform: translate(-50%, -50%); }
            @media only screen and (max-width: 768px) {
              .common-banner-section .banner-rows .banner .wrap .icon::before {
                width: 1.2rem;
                height: 1.2rem;
                background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.69238 5.46124C1.26755 5.46124 0.923152 5.80563 0.923152 6.23047C0.923152 6.6553 1.26755 6.9997 1.69238 6.9997L1.69238 5.46124ZM11.4671 6.7744C11.7675 6.47399 11.7675 5.98694 11.4671 5.68654L6.57173 0.791186C6.27132 0.490782 5.78427 0.490782 5.48387 0.791186C5.18347 1.09159 5.18347 1.57864 5.48387 1.87904L9.8353 6.23047L5.48387 10.5819C5.18347 10.8823 5.18347 11.3693 5.48387 11.6698C5.78427 11.9702 6.27132 11.9702 6.57173 11.6698L11.4671 6.7744ZM1.69238 6.23047L1.69238 6.9997L10.9232 6.9997L10.9232 6.23047L10.9232 5.46124L1.69238 5.46124L1.69238 6.23047Z' fill='%23091E3A'/%3E%3C/svg%3E%0A"); } }
        .common-banner-section .banner-rows .banner .wrap .content {
          position: relative;
          flex: 0 0 auto;
          width: 100%; }
          .common-banner-section .banner-rows .banner .wrap .content .content-title {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5.0rem; }
          @media only screen and (max-width: 768px) {
            .common-banner-section .banner-rows .banner .wrap .content {
              gap: 2.4rem; } }
          .common-banner-section .banner-rows .banner .wrap .content .text {
            position: relative;
            text-decoration: none; }
            .common-banner-section .banner-rows .banner .wrap .content .text .en {
              position: relative;
              color: inherit;
              transition: all 0.3s ease-in-out;
              z-index: 1; }
              @media only screen and (max-width: 768px) {
                .common-banner-section .banner-rows .banner .wrap .content .text .en {
                  display: block; } }
            .common-banner-section .banner-rows .banner .wrap .content .text .jp {
              font-size: 4.0rem;
              color: #2f80ed;
              transition: all 0.3s ease-in-out;
              z-index: 0; }
              @media print, screen and (min-width: 769px) {
                .common-banner-section .banner-rows .banner .wrap .content .text .jp {
                  position: absolute;
                  top: 50%;
                  left: 0;
                  transform: translateY(-50%);
                  opacity: 0; } }
              @media only screen and (max-width: 768px) {
                .common-banner-section .banner-rows .banner .wrap .content .text .jp {
                  display: block;
                  font-size: 1.8rem;
                  text-align: left;
                  color: #FFFFFF;
                  margin-top: 1.2rem; } }
          .common-banner-section .banner-rows .banner .wrap .content .icon {
            width: 5.0rem;
            height: 5.0rem;
            border-radius: 0.3rem; }
            @media only screen and (max-width: 768px) {
              .common-banner-section .banner-rows .banner .wrap .content .icon {
                width: 4.0rem;
                height: 4.0rem; } }
            .common-banner-section .banner-rows .banner .wrap .content .icon::before {
              content: "";
              position: absolute;
              top: 50%;
              left: 50%;
              width: 1.5rem;
              height: 1.2rem;
              mask-image: url(../image/business-arrow.svg);
              mask-position: center;
              mask-repeat: no-repeat;
              mask-size: contain;
              background: #091E3A;
              transform: translate(-50%, -50%);
              transition: all 0.3s ease-in-out; }
              @media only screen and (max-width: 768px) {
                .common-banner-section .banner-rows .banner .wrap .content .icon::before {
                  width: 1.2rem;
                  height: 1.2rem; } }
            .common-banner-section .banner-rows .banner .wrap .content .icon.ext-icon::before {
              transform: translate(-50%, -50%) rotate(-45deg); }
          .common-banner-section .banner-rows .banner .wrap .content .extlink-txt {
            position: absolute;
            left: 0;
            right: 0;
            bottom: -40px;
            font-size: 18px;
            margin-top: 20px; }
            @media only screen and (max-width: 768px) {
              .common-banner-section .banner-rows .banner .wrap .content .extlink-txt {
                font-size: 1.6rem; } }
      .common-banner-section .banner-rows .banner.engage .wrap .content .icon::before {
        transform: translate(-50%, -50%) rotate(-45deg); }
      .common-banner-section .banner-rows .banner.engage .wrap .content::before {
        content: "外部サイト（エンゲージ）へ遷移します。";
        position: absolute;
        left: 50%;
        bottom: -4.8rem;
        font-size: 1.8rem;
        transform: translateX(-50%);
        z-index: 1; }
        @media only screen and (max-width: 768px) {
          .common-banner-section .banner-rows .banner.engage .wrap .content::before {
            font-size: 1.5rem;
            bottom: -4.5rem; } }
      .common-banner-section .banner-rows .banner:hover .back img {
        transform: scale(1.1); }
      .common-banner-section .banner-rows .banner:hover .wrap .icon {
        transform: scale(1.1); }
      @media print, screen and (min-width: 769px) {
        .common-banner-section .banner-rows .banner:hover .wrap .content .text .en {
          opacity: 0; }
        .common-banner-section .banner-rows .banner:hover .wrap .content .text .jp {
          opacity: 1; } }
      .common-banner-section .banner-rows .banner:hover .wrap .content .icon {
        background: #2F80ED;
        transform: scale(1.2); }
        .common-banner-section .banner-rows .banner:hover .wrap .content .icon::before {
          background: #FFFFFF; }

main {
  position: relative;
  background-image: url("../image/site-bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed; }
  @media only screen and (max-width: 768px) {
    main {
      background-size: contain;
      background-repeat: repeat; } }

section {
  position: relative;
  overflow-x: clip; }

.front-page .mv {
  position: relative;
  background-image: url("../image/mv-background.png");
  background-size: cover;
  background-position: center;
  width: 100%;
  z-index: 0;
  overflow: hidden; }
  .front-page .mv .airplane {
    position: absolute;
    top: 10vw;
    right: 0;
    aspect-ratio: 873 / 788;
    width: 87rem;
    z-index: -1; }
    @media only screen and (max-width: 768px) {
      .front-page .mv .airplane {
        position: relative;
        width: 50rem;
        top: 0;
        margin-left: auto;
        transform: translateX(3rem); } }
  @media only screen and (max-width: 768px) {
    .front-page .mv .title-field {
      margin-top: 2rem; } }
  .front-page .mv .mv__inner {
    max-width: 1320px;
    margin: auto; }
    .front-page .mv .mv__inner .mv__container {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      color: #fff;
      padding: 7rem 2rem; }
      .front-page .mv .mv__inner .mv__container .mv__title {
        font-size: 5.5rem; }
        @media only screen and (max-width: 768px) {
          .front-page .mv .mv__inner .mv__container .mv__title {
            font-size: 4.3rem; } }
        @media only screen and (max-width: 576px) {
          .front-page .mv .mv__inner .mv__container .mv__title {
            font-size: 3.4rem; } }
      .front-page .mv .mv__inner .mv__container .mv__bottom .mv__copies .mv__copy-small {
        margin: 16px 0; }
      .front-page .mv .mv__inner .mv__container .mv__bottom .mv__copies .mv__copy {
        font-size: 4rem;
        line-height: 1.15;
        margin-top: 16px; }
        @media only screen and (max-width: 768px) {
          .front-page .mv .mv__inner .mv__container .mv__bottom .mv__copies .mv__copy {
            font-size: 2rem; } }
.front-page .company-news-section {
  position: relative;
  padding: 12.0rem 0 15.0rem;
  background-image: url(../image/news-backround.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  z-index: 1; }
  @media only screen and (max-width: 768px) {
    .front-page .company-news-section {
      padding: 7.0rem 0 8.0rem; } }
  .front-page .company-news-section .container {
    position: relative;
    z-index: 1; }
    .front-page .company-news-section .container::before {
      content: "NEWS";
      position: absolute;
      top: 13rem;
      left: -0.9em;
      font-size: 18.0rem;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.1);
      line-height: 1.0;
      writing-mode: vertical-lr;
      white-space: nowrap;
      z-index: 0; }
      @media only screen and (max-width: 768px) {
        .front-page .company-news-section .container::before {
          top: 0;
          left: unset;
          right: -4.0rem;
          font-size: 16.0rem; } }
  .front-page .company-news-section .section-wrapper {
    position: relative;
    width: 100%;
    margin-left: auto;
    margin-right: 0; }
    @media only screen and (max-width: 768px) {
      .front-page .company-news-section .section-wrapper {
        padding: 0; } }
  .front-page .company-news-section .section-title {
    position: relative;
    margin-bottom: 8.0rem; }
    @media only screen and (max-width: 768px) {
      .front-page .company-news-section .section-title {
        margin-bottom: 5.0rem; } }
    .front-page .company-news-section .section-title .en,
    .front-page .company-news-section .section-title .jp {
      color: #fff; }
  .front-page .company-news-section .section-content {
    position: relative; }
    .front-page .company-news-section .section-content .tabs-wrapper {
      position: relative; }
      .front-page .company-news-section .section-content .tabs-wrapper .tabs-nav {
        position: relative;
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 2.0rem;
        padding: 0; }
        @media only screen and (max-width: 768px) {
          .front-page .company-news-section .section-content .tabs-wrapper .tabs-nav {
            gap: 1.0rem;
            justify-content: flex-start; } }
        .front-page .company-news-section .section-content .tabs-wrapper .tabs-nav > li {
          position: relative;
          display: block;
          flex: 0 0 auto;
          width: fit-content; }
        .front-page .company-news-section .section-content .tabs-wrapper .tabs-nav .tab-link {
          position: relative;
          display: flex;
          align-items: center;
          justify-content: center;
          width: 19.6rem;
          height: 3.6rem;
          font-size: 1.6rem;
          font-weight: 700;
          line-height: 1.5;
          color: #000000;
          text-align: center;
          white-space: nowrap;
          background: #D1D1D1;
          border-radius: 0.8rem;
          transition: all 0.3s ease-in-out; }
          @media only screen and (max-width: 768px) {
            .front-page .company-news-section .section-content .tabs-wrapper .tabs-nav .tab-link {
              width: fit-content;
              padding: 0.5rem 1.6rem;
              min-width: 8.0rem;
              height: 4.0rem;
              font-size: 1.4rem; } }
          .front-page .company-news-section .section-content .tabs-wrapper .tabs-nav .tab-link span {
            position: relative;
            color: inherit;
            text-decoration: none; }
          .front-page .company-news-section .section-content .tabs-wrapper .tabs-nav .tab-link:hover, .front-page .company-news-section .section-content .tabs-wrapper .tabs-nav .tab-link.active {
            background: #C20A19;
            color: #FFFFFF; }
      .front-page .company-news-section .section-content .tabs-wrapper .tabs-content {
        position: relative;
        margin-top: 4.0rem; }
        @media only screen and (max-width: 768px) {
          .front-page .company-news-section .section-content .tabs-wrapper .tabs-content {
            margin-top: 5.0rem; } }
        .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content {
          display: none;
          position: relative;
          width: 100%;
          overflow: hidden;
          z-index: 0; }
          .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list {
            position: relative;
            list-style: none;
            font-size: 1.6rem;
            line-height: 2.0;
            font-weight: 500;
            letter-spacing: 0.025em;
            color: #fff;
            text-align: left;
            padding: 0;
            margin: 0; }
            @media only screen and (max-width: 768px) {
              .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list {
                font-size: 1.4rem;
                line-height: 2.25;
                letter-spacing: 0.02em; } }
            .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list > li {
              position: relative; }
              .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list > li:not(:last-child) {
                padding-bottom: 2.0rem;
                border-bottom: 1px solid rgba(99, 104, 119, 0.5);
                margin-bottom: 4.0rem; }
                @media only screen and (max-width: 768px) {
                  .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list > li:not(:last-child) {
                    padding-bottom: 1.5rem;
                    margin-bottom: 2.0rem; } }
            .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item {
              position: relative; }
              .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .meta {
                position: relative;
                display: flex;
                align-items: center;
                list-style: none;
                gap: 1.6rem;
                white-space: nowrap;
                padding: 0;
                margin: 0 0 1.6rem; }
                @media only screen and (max-width: 768px) {
                  .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .meta {
                    margin-bottom: 1.2rem; } }
                .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .meta > li {
                  position: relative;
                  display: block;
                  flex: 0 0 auto;
                  width: fit-content; }
                .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .meta .date {
                  position: relative;
                  display: inline-block; }
                .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .meta .category {
                  position: relative;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  width: 19.6rem;
                  height: 3.6rem;
                  font-size: 1.6rem;
                  font-weight: 700;
                  line-height: 1.5;
                  color: #FFFFFF;
                  text-align: center;
                  white-space: nowrap;
                  background: #184D93;
                  border-radius: 0.8rem; }
                  @media only screen and (max-width: 768px) {
                    .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .meta .category {
                      width: fit-content;
                      padding: 0.5rem 1.6rem;
                      min-width: 8.0rem;
                      font-size: 1.4rem;
                      height: 4.0rem; } }
                  .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .meta .category.notion, .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .meta .category.notion-ja {
                    background: #184D93; }
                  .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .meta .category.press, .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .meta .category.press-en {
                    background: #2A78E1; }
              .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .title {
                position: relative;
                display: block;
                font-size: inherit;
                line-height: 1.8;
                color: inherit; }
                .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .title a {
                  color: inherit;
                  text-decoration: none; }
                  @media only screen and (max-width: 768px) {
                    .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .title a {
                      font-size: 1.4rem;
                      font-weight: 500;
                      text-decoration: underline; } }
                  .front-page .company-news-section .section-content .tabs-wrapper .tabs-content .tab-content .news-list .news-item .title a:hover {
                    text-decoration: underline; }
.front-page section.about {
  padding: 11rem 0 10rem; }
  @media only screen and (max-width: 768px) {
    .front-page section.about {
      padding: 7.0rem 0 8.0rem; } }
  .front-page section.about .about__container.en {
    position: relative; }
  .front-page section.about .about__content {
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-top: 8rem;
    color: #000; }
    .front-page section.about .about__content::before {
      content: "ABOUT US";
      position: absolute;
      top: -8rem;
      left: -0.9em;
      font-size: 18.0rem;
      font-weight: 500;
      color: #63636310;
      line-height: 1.0;
      writing-mode: vertical-lr;
      white-space: nowrap;
      z-index: 0; }
      @media only screen and (max-width: 768px) {
        .front-page section.about .about__content::before {
          top: 0;
          left: unset;
          right: -4.0rem;
          font-size: 16.0rem; } }
    @media only screen and (max-width: 768px) {
      .front-page section.about .about__content {
        flex-direction: column;
        margin-top: 4rem; } }
    .front-page section.about .about__content.en {
      position: unset;
      display: block;
      margin-top: 18rem; }
      .front-page section.about .about__content.en::before {
        top: 15rem; }
      @media only screen and (max-width: 768px) {
        .front-page section.about .about__content.en {
          margin-top: 4rem; } }
    .front-page section.about .about__content .about__read {
      font-size: 4rem;
      font-weight: bold;
      line-height: 1.5;
      width: 60%; }
      .front-page section.about .about__content .about__read.en {
        width: 100%;
        max-width: 86.2rem;
        line-height: 1.4; }
      @media only screen and (max-width: 768px) {
        .front-page section.about .about__content .about__read {
          font-size: 2.2rem;
          width: 100%; } }
    .front-page section.about .about__content .about__imgs {
      margin-top: -25rem;
      position: relative;
      width: 50%; }
      @media only screen and (max-width: 768px) {
        .front-page section.about .about__content .about__imgs {
          width: 100%;
          margin-top: 6rem; } }
      .front-page section.about .about__content .about__imgs .about__img1 {
        aspect-ratio: 269/388;
        width: 26rem;
        margin-top: -3.1rem; }
        @media only screen and (max-width: 768px) {
          .front-page section.about .about__content .about__imgs .about__img1 {
            width: 48%;
            margin-top: 0; } }
      .front-page section.about .about__content .about__imgs .about__img2 {
        aspect-ratio: 373/245;
        position: absolute;
        top: -7rem;
        left: 34rem;
        width: 28rem; }
        @media only screen and (max-width: 768px) {
          .front-page section.about .about__content .about__imgs .about__img2 {
            width: 48%;
            left: unset;
            top: -3rem;
            right: -2rem; } }
      .front-page section.about .about__content .about__imgs .about__img3 {
        aspect-ratio: 328/226;
        bottom: -120px;
        position: absolute;
        width: 32rem;
        bottom: -10rem;
        left: 31rem; }
        @media only screen and (max-width: 768px) {
          .front-page section.about .about__content .about__imgs .about__img3 {
            width: 50%;
            right: -2rem;
            margin-top: 1rem;
            bottom: -4rem;
            left: unset;
            right: -2rem; } }
      .front-page section.about .about__content .about__imgs.en {
        position: absolute;
        top: 0;
        right: 0;
        margin-top: 0; }
        .front-page section.about .about__content .about__imgs.en .about__img1 {
          position: relative;
          margin-top: -5.5rem;
          width: 20rem;
          top: 4.5rem; }
          @media only screen and (max-width: 768px) {
            .front-page section.about .about__content .about__imgs.en .about__img1 {
              margin-top: 5rem;
              width: 40%; } }
        .front-page section.about .about__content .about__imgs.en .about__img2 {
          left: 30rem;
          width: 26rem;
          top: -6rem; }
          @media only screen and (max-width: 768px) {
            .front-page section.about .about__content .about__imgs.en .about__img2 {
              margin-top: 0;
              width: 45%;
              top: -4rem;
              left: 50%; } }
        .front-page section.about .about__content .about__imgs.en .about__img3 {
          left: 25rem;
          bottom: -14rem;
          width: 25rem; }
          @media only screen and (max-width: 768px) {
            .front-page section.about .about__content .about__imgs.en .about__img3 {
              margin-top: 0;
              width: 50%;
              left: 48%;
              bottom: -8rem; } }
          @media only screen and (max-width: 576px) {
            .front-page section.about .about__content .about__imgs.en .about__img3 {
              bottom: -6rem; } }
        @media only screen and (max-width: 768px) {
          .front-page section.about .about__content .about__imgs.en {
            position: relative; } }
  .front-page section.about .about__texts {
    margin-top: 8rem;
    width: 64%; }
    @media only screen and (max-width: 768px) {
      .front-page section.about .about__texts {
        width: 100%; } }
    .front-page section.about .about__texts .about__text {
      font-size: 16px;
      line-height: 1.8; }
      @media only screen and (max-width: 768px) {
        .front-page section.about .about__texts .about__text {
          font-size: 1.6rem; } }
    .front-page section.about .about__texts.en {
      width: 100%;
      margin-left: 10px; }
      @media only screen and (max-width: 768px) {
        .front-page section.about .about__texts.en {
          margin-top: 13rem; } }
      @media only screen and (max-width: 576px) {
        .front-page section.about .about__texts.en {
          margin-top: 7rem; } }
      .front-page section.about .about__texts.en .about__text {
        font-size: 16px;
        letter-spacing: 0.05em; }
        @media only screen and (max-width: 768px) {
          .front-page section.about .about__texts.en .about__text {
            font-size: 1.6rem; } }
.front-page section.business {
  position: relative;
  padding: 6.5rem 0; }
  .front-page section.business .business__inner {
    position: relative;
    display: flex;
    gap: 5.4rem; }
    .front-page section.business .business__inner::before {
      content: "BUSINESS";
      position: absolute;
      top: -8rem;
      left: -0.9em;
      font-size: 18.0rem;
      font-weight: 500;
      color: #63636310;
      line-height: 1.0;
      writing-mode: vertical-lr;
      white-space: nowrap;
      z-index: 0; }
      @media only screen and (max-width: 768px) {
        .front-page section.business .business__inner::before {
          top: 0;
          left: unset;
          right: -4.0rem;
          font-size: 16.0rem; } }
    @media only screen and (max-width: 768px) {
      .front-page section.business .business__inner {
        flex-direction: column; } }
    .front-page section.business .business__inner .business__items {
      max-width: 46rem;
      width: 100%;
      flex-shrink: 0; }
      .front-page section.business .business__inner .business__items .business-item {
        position: relative;
        width: 100%;
        aspect-ratio: 48/35;
        overflow: hidden;
        z-index: 0; }
        .front-page section.business .business__inner .business__items .business-item + .business-item {
          margin-top: 6rem; }
        .front-page section.business .business__inner .business__items .business-item::before {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: -1;
          background-color: rgba(44, 44, 44, 0.4); }
        .front-page section.business .business__inner .business__items .business-item .business-item__cover {
          position: absolute;
          width: 100%;
          height: 100%; }
          .front-page section.business .business__inner .business__items .business-item .business-item__cover img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        .front-page section.business .business__inner .business__items .business-item .business-item__texts {
          position: relative;
          width: 100%;
          height: 100%;
          padding: 3.5rem 2.5rem;
          display: flex;
          flex-direction: column;
          justify-content: flex-end;
          color: #fff;
          font-weight: 500;
          z-index: 2; }
          .front-page section.business .business__inner .business__items .business-item .business-item__texts .en-title {
            font-size: 6rem;
            line-height: 7.2rem;
            letter-spacing: -0.05em;
            word-break: break-word; }
            @media only screen and (max-width: 768px) {
              .front-page section.business .business__inner .business__items .business-item .business-item__texts .en-title {
                font-size: 4rem;
                line-height: 5rem; } }
          .front-page section.business .business__inner .business__items .business-item .business-item__texts .jp-title {
            font-size: 3.4rem;
            line-height: 1.1;
            margin-top: 1rem;
            word-break: break-word; }
            @media only screen and (max-width: 768px) {
              .front-page section.business .business__inner .business__items .business-item .business-item__texts .jp-title {
                font-size: 2.2rem; } }
    .front-page section.business .business__inner .business__texts {
      flex: auto;
      height: fit-content;
      position: sticky;
      top: 10rem;
      margin-top: 2rem;
      font-size: 16px;
      line-height: 1.8;
      color: #000; }
      @media only screen and (max-width: 768px) {
        .front-page section.business .business__inner .business__texts {
          font-size: 1.6rem; } }
      .front-page section.business .business__inner .business__texts.en {
        margin-top: -0.5em; }
.front-page section.strength {
  position: relative;
  padding: 6.5rem 0;
  overflow: clip; }
  .front-page section.strength .container {
    position: relative; }
    .front-page section.strength .container::before {
      content: "STRENGTH";
      position: absolute;
      top: 2rem;
      left: -0.9em;
      font-size: 18.0rem;
      font-weight: 500;
      color: #63636310;
      line-height: 1.0;
      writing-mode: vertical-lr;
      white-space: nowrap;
      z-index: 0; }
      @media only screen and (max-width: 768px) {
        .front-page section.strength .container::before {
          top: 0;
          left: unset;
          right: -4.0rem;
          font-size: 16.0rem; } }
  .front-page section.strength .strength__wrapper {
    position: relative;
    overflow: clip; }
    .front-page section.strength .strength__wrapper .strength__items {
      display: grid;
      grid-template-columns: repeat(3, 74rem);
      gap: 6rem;
      width: max-content;
      padding-left: calc((100vw - 110rem) / 2);
      padding-right: 50rem; }
      @media screen and (max-width: 900px) {
        .front-page section.strength .strength__wrapper .strength__items {
          grid-template-columns: repeat(3, 700px);
          padding-right: 10rem; } }
      @media only screen and (max-width: 768px) {
        .front-page section.strength .strength__wrapper .strength__items {
          margin: auto;
          padding: 0 2rem;
          display: block;
          width: 100%; } }
      .front-page section.strength .strength__wrapper .strength__items .strength-item {
        position: relative;
        background-color: #000912;
        width: 100%; }
        @media only screen and (max-width: 768px) {
          .front-page section.strength .strength__wrapper .strength__items .strength-item {
            margin: auto;
            margin-bottom: 20px; } }
        .front-page section.strength .strength__wrapper .strength__items .strength-item .img__field {
          position: relative;
          aspect-ratio: 37 / 20;
          overflow: hidden;
          z-index: 0; }
          @media only screen and (max-width: 768px) {
            .front-page section.strength .strength__wrapper .strength__items .strength-item .img__field {
              aspect-ratio: unset; } }
          .front-page section.strength .strength__wrapper .strength__items .strength-item .img__field::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(13, 71, 125, 0.3);
            z-index: -1; }
          .front-page section.strength .strength__wrapper .strength__items .strength-item .img__field .cover__thumbnail {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%; }
            .front-page section.strength .strength__wrapper .strength__items .strength-item .img__field .cover__thumbnail img {
              width: 100%;
              height: 100%;
              overflow: hidden; }
          .front-page section.strength .strength__wrapper .strength__items .strength-item .img__field .title {
            position: relative;
            padding: 3.4rem;
            z-index: 2;
            color: #ffff; }
            .front-page section.strength .strength__wrapper .strength__items .strength-item .img__field .title .number {
              font-size: 12rem;
              letter-spacing: -0.05em;
              line-height: 1.1; }
              @media only screen and (max-width: 768px) {
                .front-page section.strength .strength__wrapper .strength__items .strength-item .img__field .title .number {
                  font-size: 6rem; } }
            .front-page section.strength .strength__wrapper .strength__items .strength-item .img__field .title .t-text {
              font-size: 3.4rem;
              word-break: break-word;
              line-height: 1.3; }
              @media only screen and (max-width: 768px) {
                .front-page section.strength .strength__wrapper .strength__items .strength-item .img__field .title .t-text {
                  font-size: 2.2rem; } }
        .front-page section.strength .strength__wrapper .strength__items .strength-item .strength__text {
          padding: 3.4rem;
          font-size: 16px;
          line-height: 1.8;
          color: #fff;
          white-space: wrap; }
          .front-page section.strength .strength__wrapper .strength__items .strength-item .strength__text .market-action {
            max-width: 200px;
            margin-left: auto;
            margin-right: auto; }
          @media only screen and (max-width: 768px) {
            .front-page section.strength .strength__wrapper .strength__items .strength-item .strength__text {
              padding: 2rem;
              font-size: 1.6rem; } }
.front-page section.mission {
  padding: 13rem 0 8rem; }
  @media only screen and (max-width: 768px) {
    .front-page section.mission {
      padding: 6rem 0 2.5rem; } }
  .front-page section.mission .container {
    position: relative; }
    .front-page section.mission .container::before {
      content: "MISSION";
      position: absolute;
      top: 0;
      left: -0.9em;
      font-size: 18.0rem;
      font-weight: 500;
      color: #63636310;
      line-height: 1.0;
      writing-mode: vertical-lr;
      white-space: nowrap;
      z-index: 0; }
      @media only screen and (max-width: 768px) {
        .front-page section.mission .container::before {
          top: 0;
          left: unset;
          right: -4.0rem;
          font-size: 16.0rem; } }
  .front-page section.mission .mission__content {
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-top: 8rem;
    color: #000; }
    @media only screen and (max-width: 768px) {
      .front-page section.mission .mission__content {
        width: 100%;
        flex-direction: column;
        margin-top: 4rem; } }
    .front-page section.mission .mission__content .mission__read {
      font-size: 4rem;
      font-weight: bold;
      line-height: 1.5;
      width: 65%; }
      @media only screen and (max-width: 768px) {
        .front-page section.mission .mission__content .mission__read {
          font-size: 2.4rem;
          width: 100%; } }
    .front-page section.mission .mission__content .mission__imgs {
      display: flex;
      flex-direction: column;
      gap: 9rem;
      margin-top: -28rem;
      position: relative;
      width: 45%; }
      @media only screen and (max-width: 768px) {
        .front-page section.mission .mission__content .mission__imgs {
          width: 100%;
          margin-top: 3rem;
          gap: 4rem;
          align-items: flex-end; }
          .front-page section.mission .mission__content .mission__imgs img {
            width: 100%;
            height: 100%;
            object-fit: cover; } }
      .front-page section.mission .mission__content .mission__imgs .mission__img1 {
        aspect-ratio: 58 / 38;
        width: 100%;
        left: 0; }
        @media only screen and (max-width: 768px) {
          .front-page section.mission .mission__content .mission__imgs .mission__img1 {
            position: relative;
            right: -2rem;
            width: 80%; } }
  .front-page section.mission .mission__texts {
    margin-top: 53px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between; }
    @media only screen and (max-width: 768px) {
      .front-page section.mission .mission__texts {
        width: 100%;
        margin-top: 3rem;
        flex-direction: column;
        gap: 2rem; } }
    .front-page section.mission .mission__texts .mission__text {
      width: 58%;
      font-size: 16px;
      line-height: 1.8; }
      @media only screen and (max-width: 768px) {
        .front-page section.mission .mission__texts .mission__text {
          width: 100%; } }
    .front-page section.mission .mission__texts .mission__img2 {
      flex: auto;
      margin-top: 7px; }
      @media only screen and (max-width: 768px) {
        .front-page section.mission .mission__texts .mission__img2 {
          width: 60%;
          margin-left: auto; } }
      .front-page section.mission .mission__texts .mission__img2 img {
        margin-left: auto;
        aspect-ratio: 373/262;
        max-width: 37.3rem; }

.company-page {
  padding: 15rem 0 0; }
  @media only screen and (max-width: 768px) {
    .company-page {
      padding: 10rem 0 0; } }
  .company-page .company-top .title {
    position: relative; }
    .company-page .company-top .title .en {
      position: relative;
      font-size: 13.0rem;
      font-weight: 700;
      color: #B9BDC3;
      line-height: 1;
      text-align: left;
      text-indent: -1.0rem; }
      @media only screen and (max-width: 768px) {
        .company-page .company-top .title .en {
          font-size: 4.0rem;
          letter-spacing: -0.01em;
          text-indent: -0.2rem; } }
    .company-page .company-top .title .jp {
      position: relative;
      font-size: 3.4rem;
      font-weight: 500;
      line-height: 1.5;
      color: #000;
      text-align: left;
      margin-top: 1.0rem; }
      @media only screen and (max-width: 768px) {
        .company-page .company-top .title .jp {
          font-size: 2.2rem;
          margin-top: 0.6rem; } }
  .company-page .company-greeting-section {
    position: relative;
    padding: 10rem 0 10.0rem; }
    @media print, screen and (min-width: 769px) {
      .company-page .company-greeting-section.en {
        padding: 22.0rem 0 10rem; } }
    @media only screen and (max-width: 768px) {
      .company-page .company-greeting-section {
        padding: 0rem 0 4.0rem; } }
    .company-page .company-greeting-section .container {
      position: relative;
      max-width: 122.0rem;
      z-index: 1; }
    .company-page .company-greeting-section .section-wrapper {
      position: relative; }
    .company-page .company-greeting-section .section-title {
      position: relative;
      margin-bottom: 10.0rem; }
      @media only screen and (max-width: 768px) {
        .company-page .company-greeting-section .section-title {
          margin-bottom: 5.0rem; } }
    .company-page .company-greeting-section .section-content {
      position: relative; }
      .company-page .company-greeting-section .section-content::before {
        content: "GREETING";
        position: absolute;
        top: -5rem;
        left: -0.9em;
        font-size: 18.0rem;
        font-weight: 500;
        color: #63636310;
        line-height: 1.0;
        writing-mode: vertical-lr;
        white-space: nowrap;
        z-index: 0; }
        @media only screen and (max-width: 768px) {
          .company-page .company-greeting-section .section-content::before {
            top: 0;
            left: unset;
            right: -4.0rem;
            font-size: 16.0rem; } }
      .company-page .company-greeting-section .section-content::after {
        content: "";
        display: block;
        clear: both; }
      @media print, screen and (min-width: 769px) {
        .company-page .company-greeting-section .section-content .greeting-image__area {
          position: sticky;
          top: 14.0rem;
          right: 0;
          float: left;
          max-width: 45.5rem;
          width: 100%; } }
      .company-page .company-greeting-section .section-content .greeting-image__area .greeting-image {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        margin: 0;
        overflow: hidden;
        z-index: 0;
        aspect-ratio: 455/626; }
        .company-page .company-greeting-section .section-content .greeting-image__area .greeting-image img {
          position: relative;
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center;
          margin: 0;
          border: none;
          z-index: 0; }
      .company-page .company-greeting-section .section-content .greeting-image__area .pic-name {
        margin-top: 23px;
        font-size: 1.8rem; }
        .company-page .company-greeting-section .section-content .greeting-image__area .pic-name .name {
          font-size: 4rem;
          font-family: "Times New Roman";
          line-height: 1.25; }
      .company-page .company-greeting-section .section-content .greeting-desc {
        position: relative;
        font-size: 1.6rem;
        line-height: 2.5;
        font-weight: 400;
        letter-spacing: 0.05em;
        color: #000;
        text-align: left; }
        @media print, screen and (min-width: 769px) {
          .company-page .company-greeting-section .section-content .greeting-desc.jp {
            margin-top: 24rem; } }
        @media print, screen and (min-width: 769px) {
          .company-page .company-greeting-section .section-content .greeting-desc.en {
            margin-top: -7rem; } }
        .company-page .company-greeting-section .section-content .greeting-desc h4 {
          font-size: 4rem;
          font-weight: 500; }
          @media only screen and (max-width: 768px) {
            .company-page .company-greeting-section .section-content .greeting-desc h4 {
              font-size: 2.4rem; } }
        @media print, screen and (min-width: 769px) {
          .company-page .company-greeting-section .section-content .greeting-desc {
            float: right;
            width: 64.0rem;
            max-width: 100%; } }
        @media only screen and (max-width: 768px) {
          .company-page .company-greeting-section .section-content .greeting-desc {
            margin-top: 3.0rem;
            font-size: 1.4rem;
            letter-spacing: 0.02em;
            line-height: 2.5; } }
        .company-page .company-greeting-section .section-content .greeting-desc p {
          margin: 4rem 0 0;
          font-size: 16px;
          line-height: 1.8; }
          @media only screen and (max-width: 576px) {
            .company-page .company-greeting-section .section-content .greeting-desc p {
              font-size: 1.6rem; } }
        .company-page .company-greeting-section .section-content .greeting-desc .desc-bottom {
          text-align: right; }
          .company-page .company-greeting-section .section-content .greeting-desc .desc-bottom span {
            font-size: 2.4rem;
            font-weight: 500; }
            .company-page .company-greeting-section .section-content .greeting-desc .desc-bottom span.name {
              font-size: 3rem;
              padding-left: 0.5em; }
          @media only screen and (max-width: 576px) {
            .company-page .company-greeting-section .section-content .greeting-desc .desc-bottom span {
              font-size: 1.6rem; }
              .company-page .company-greeting-section .section-content .greeting-desc .desc-bottom span.name {
                font-size: 2.4rem; } }
  .company-page .company-overview-section {
    position: relative;
    padding: 8.0rem 0 52.0rem; }
    @media only screen and (max-width: 768px) {
      .company-page .company-overview-section {
        padding: 6.0rem 0 4.0rem; } }
    .company-page .company-overview-section .container {
      position: relative;
      max-width: 122.0rem;
      z-index: 1; }
    .company-page .company-overview-section .section-wrapper {
      position: relative; }
    .company-page .company-overview-section .section-title {
      position: relative;
      margin-bottom: 8.0rem; }
      @media only screen and (max-width: 768px) {
        .company-page .company-overview-section .section-title {
          margin-bottom: 3.0rem; } }
    .company-page .company-overview-section .section-content {
      position: relative;
      width: 100%;
      margin-left: auto;
      margin-right: 0; }
      .company-page .company-overview-section .section-content::before {
        content: "COMPANY OVERVIEW";
        position: absolute;
        top: -14rem;
        left: -0.9em;
        font-size: 18.0rem;
        font-weight: 500;
        color: #63636310;
        line-height: 1.0;
        writing-mode: vertical-lr;
        white-space: nowrap;
        z-index: 0; }
        @media only screen and (max-width: 768px) {
          .company-page .company-overview-section .section-content::before {
            top: 0;
            left: unset;
            right: -4.0rem;
            font-size: 16.0rem; } }
      .company-page .company-overview-section .section-content .overview-table {
        position: relative;
        width: 100%;
        max-width: 80.0rem;
        margin: auto;
        border-collapse: collapse;
        font-size: 16px;
        line-height: 1.8;
        font-weight: 400;
        letter-spacing: 0.025em;
        color: #000;
        text-align: left;
        border: none; }
        @media only screen and (max-width: 768px) {
          .company-page .company-overview-section .section-content .overview-table {
            display: block;
            width: 100%;
            font-size: 14px;
            letter-spacing: 0.02em; }
            .company-page .company-overview-section .section-content .overview-table tbody {
              display: block;
              width: 100%; } }
        .company-page .company-overview-section .section-content .overview-table tr {
          position: relative; }
          @media only screen and (max-width: 768px) {
            .company-page .company-overview-section .section-content .overview-table tr {
              display: block;
              padding: 2.0rem 0;
              width: 100%; } }
          .company-page .company-overview-section .section-content .overview-table tr:not(:last-child) {
            border-bottom: 1px solid #ddd; }
        .company-page .company-overview-section .section-content .overview-table th,
        .company-page .company-overview-section .section-content .overview-table td {
          position: relative;
          padding: 4.0rem 0;
          vertical-align: middle;
          border: none; }
          @media only screen and (max-width: 768px) {
            .company-page .company-overview-section .section-content .overview-table th,
            .company-page .company-overview-section .section-content .overview-table td {
              display: block;
              width: 100%;
              padding: 0; } }
        @media print, screen and (min-width: 769px) {
          .company-page .company-overview-section .section-content .overview-table th {
            min-width: 20.0rem; } }
        .company-page .company-overview-section .section-content .overview-table th {
          font-size: 16px; }
  .company-page .company-location-section {
    position: relative;
    padding: 8.0rem 0 15.0rem; }
    .company-page .company-location-section::before {
      content: "LOCATION";
      position: absolute;
      top: 5rem;
      left: clamp(0rem, calc(50% - 69.0rem), 50%);
      font-size: 18.0rem;
      font-weight: 500;
      color: rgba(99, 99, 99, 0.1);
      line-height: 1.0;
      writing-mode: vertical-lr;
      white-space: nowrap;
      z-index: 0; }
      @media only screen and (max-width: 768px) {
        .company-page .company-location-section::before {
          top: 4.0rem;
          left: -1.0rem;
          font-size: 16.0rem; } }
    @media only screen and (max-width: 768px) {
      .company-page .company-location-section {
        padding: 6.0rem 0 8.0rem; } }
    .company-page .company-location-section .container {
      position: relative;
      max-width: 122.0rem;
      z-index: 1; }
    .company-page .company-location-section .section-wrapper {
      position: relative; }
    .company-page .company-location-section .section-title {
      position: relative;
      margin-bottom: 10.0rem; }
      @media only screen and (max-width: 768px) {
        .company-page .company-location-section .section-title {
          margin-bottom: 5.0rem; } }
    .company-page .company-location-section .section-content {
      position: relative;
      width: 100%;
      max-width: 103.0rem;
      margin-left: auto;
      margin-right: 0;
      font-size: 16px;
      line-height: 2.0;
      font-weight: 400;
      letter-spacing: 0.025em;
      color: #000;
      text-align: left; }
      @media only screen and (max-width: 768px) {
        .company-page .company-location-section .section-content {
          font-size: 1.4rem;
          line-height: 2.5;
          letter-spacing: 0.02em; } }
      .company-page .company-location-section .section-content .location-wrapper {
        position: relative;
        width: 100%;
        max-width: 100.0rem;
        margin-left: 0;
        margin-right: auto; }
      .company-page .company-location-section .section-content .location-address {
        position: relative;
        margin-bottom: 4.8rem; }
        @media print, screen and (min-width: 769px) {
          .company-page .company-location-section .section-content .location-address.en {
            margin-left: -8.9rem; } }
      .company-page .company-location-section .section-content .location-link {
        position: relative; }
        .company-page .company-location-section .section-content .location-link a {
          color: inherit;
          text-decoration: underline; }
      .company-page .company-location-section .section-content .location-map {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 0;
        margin-top: 5.0rem;
        border: none;
        overflow: hidden;
        z-index: 0; }
        @media only screen and (max-width: 768px) {
          .company-page .company-location-section .section-content .location-map {
            margin-top: 4.0rem; } }
        .company-page .company-location-section .section-content .location-map iframe {
          display: block;
          width: 100%;
          height: 50.0rem;
          border: none;
          margin: 0; }
          @media only screen and (max-width: 768px) {
            .company-page .company-location-section .section-content .location-map iframe {
              height: 40.0rem; } }

.company-gallery-section2 .gallery-inner {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  height: 34.9rem; }
  @media only screen and (max-width: 576px) {
    .company-gallery-section2 .gallery-inner {
      height: auto;
      grid-template-columns: 1fr; } }
  .company-gallery-section2 .gallery-inner .img__field {
    width: 100%;
    height: 100%;
    overflow: hidden; }
    @media only screen and (max-width: 576px) {
      .company-gallery-section2 .gallery-inner .img__field {
        height: 15rem; } }
    .company-gallery-section2 .gallery-inner .img__field:hover img {
      transform: scale(1.1); }
    .company-gallery-section2 .gallery-inner .img__field img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: .5s ease-in-out; }

.contact-page {
  padding-top: 15rem; }
  .contact-page .section-title .en {
    position: relative;
    font-size: 13.0rem;
    font-weight: 700;
    color: #B9BDC3;
    line-height: 1;
    text-align: left;
    text-indent: -1.0rem; }
    @media only screen and (max-width: 768px) {
      .contact-page .section-title .en {
        font-size: 4.0rem;
        letter-spacing: -0.01em;
        text-indent: -0.2rem; } }
  .contact-page .section-title .jp {
    position: relative;
    font-size: 3.4rem;
    font-weight: 500;
    line-height: 1.5;
    color: #000;
    text-align: left;
    margin-top: 1.0rem; }
    @media only screen and (max-width: 768px) {
      .contact-page .section-title .jp {
        font-size: 2.2rem;
        margin-top: 0.6rem; } }
  .contact-page .contact-form-section {
    position: relative;
    position: relative;
    padding: 1.0rem 0 15.0rem; }
    @media only screen and (max-width: 768px) {
      .contact-page .contact-form-section {
        padding: 1.0rem 0 8.0rem; } }
    .contact-page .contact-form-section .section-wrapper {
      position: relative;
      width: 100%;
      max-width: 100.0rem;
      margin-left: auto;
      margin-right: auto; }
      @media only screen and (max-width: 768px) {
        .contact-page .contact-form-section .section-wrapper {
          padding: 0; } }
    .contact-page .contact-form-section .section-content {
      position: relative;
      width: 100%;
      max-width: 90.0rem;
      margin-left: auto;
      margin-right: auto; }
    .contact-page .contact-form-section .contact-form-box {
      position: relative;
      padding: 8.0rem 6.0rem;
      background: #fff;
      width: 100%; }
      @media only screen and (max-width: 768px) {
        .contact-page .contact-form-section .contact-form-box {
          padding: 4.0rem 2.0rem; } }
      .contact-page .contact-form-section .contact-form-box .contact-steps {
        position: relative;
        margin-bottom: 10.0rem; }
        @media only screen and (max-width: 768px) {
          .contact-page .contact-form-section .contact-form-box .contact-steps {
            margin-bottom: 5.0rem; } }
        .contact-page .contact-form-section .contact-form-box .contact-steps.complete {
          margin-bottom: 0; }
        .contact-page .contact-form-section .contact-form-box .contact-steps .step-list {
          position: relative;
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 8.0rem;
          list-style: none;
          padding: 0;
          margin: 0; }
          @media only screen and (max-width: 768px) {
            .contact-page .contact-form-section .contact-form-box .contact-steps .step-list {
              gap: 2.0rem; } }
          .contact-page .contact-form-section .contact-form-box .contact-steps .step-list::after {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translateX(-50%);
            display: block;
            width: 50.0rem;
            height: 1px;
            background: #152237;
            z-index: 0; }
            @media only screen and (max-width: 768px) {
              .contact-page .contact-form-section .contact-form-box .contact-steps .step-list::after {
                width: 50%; } }
          .contact-page .contact-form-section .contact-form-box .contact-steps .step-list > li {
            position: relative;
            z-index: 2; }
          .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item {
            position: relative;
            display: block;
            width: 12.0rem;
            height: 12.0rem;
            background: #FFFFFF;
            padding: 12px;
            border: 1px solid #152237; }
            @media only screen and (max-width: 768px) {
              .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item {
                width: 9.0rem;
                height: 9.0rem;
                padding: 1.4rem 0 1.0rem; } }
            .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item .number {
              position: relative;
              font-size: 2.4rem;
              font-weight: 500;
              line-height: 1;
              color: #000000;
              text-align: center; }
              @media only screen and (max-width: 768px) {
                .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item .number {
                  font-size: 1.6rem; } }
            .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item .content {
              position: relative;
              font-size: 1.9rem;
              font-weight: 500;
              line-height: 1.5;
              color: #152237;
              text-align: center;
              margin-top: 0.2rem;
              white-space: nowrap; }
              @media only screen and (max-width: 768px) {
                .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item .content {
                  font-size: 1.4rem; } }
              .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item .content span {
                display: block;
                text-align: center; }
              .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item .content .en {
                font-size: 1.3rem;
                text-align: center;
                line-height: 1.4; }
                @media only screen and (max-width: 768px) {
                  .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item .content .en {
                    font-size: 1rem; } }
            .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item.active {
              background: #152237; }
              .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item.active .number {
                color: #FFFFFF; }
              .contact-page .contact-form-section .contact-form-box .contact-steps .step-list .step-item.active .content {
                color: #FFFFFF; }
        .contact-page .contact-form-section .contact-form-box .contact-steps .step-desc {
          position: relative;
          font-size: 1.9rem;
          font-weight: 500;
          line-height: 1.8;
          color: #152237;
          text-align: center;
          margin-top: 4.5rem; }
          @media only screen and (max-width: 768px) {
            .contact-page .contact-form-section .contact-form-box .contact-steps .step-desc {
              font-size: 1.4rem;
              line-height: 2.25;
              margin-top: 3.2rem; } }
        .contact-page .contact-form-section .contact-form-box .contact-steps .complete-desc {
          position: relative;
          font-size: 1.9rem;
          font-weight: 500;
          line-height: 1.8;
          color: #152237;
          text-align: center;
          margin-top: 6.0rem; }
          @media only screen and (max-width: 768px) {
            .contact-page .contact-form-section .contact-form-box .contact-steps .complete-desc {
              font-size: 1.4rem;
              line-height: 2.5;
              margin-top: 4.0rem; } }
          .contact-page .contact-form-section .contact-form-box .contact-steps .complete-desc .desc {
            position: relative; }
          .contact-page .contact-form-section .contact-form-box .contact-steps .complete-desc .action {
            position: relative;
            margin-top: 4.0rem; }
            .contact-page .contact-form-section .contact-form-box .contact-steps .complete-desc .action .btn-back {
              position: relative;
              overflow: hidden;
              display: flex;
              align-items: center;
              justify-content: center;
              flex-direction: column;
              width: 24.0rem;
              max-width: 100%;
              height: 5.6rem;
              padding: 1.0rem 1.0rem;
              background: #C20A19;
              font-size: 1.8rem;
              font-weight: 500;
              line-height: 1.5;
              color: #fff;
              white-space: nowrap;
              text-align: center;
              text-decoration: none;
              transition: all 0.3s ease-in-out;
              border-radius: 0.5rem;
              cursor: pointer;
              box-sizing: border-box;
              border: none;
              z-index: 0;
              margin: 0 auto; }
              @media only screen and (max-width: 768px) {
                .contact-page .contact-form-section .contact-form-box .contact-steps .complete-desc .action .btn-back {
                  font-size: 1.5rem;
                  height: 5.0rem; } }
              .contact-page .contact-form-section .contact-form-box .contact-steps .complete-desc .action .btn-back:hover {
                background: #022240;
                color: #FFFFFF; }
      .contact-page .contact-form-section .contact-form-box .mw_wp_form {
        position: relative;
        display: block;
        font-size: 1.9rem;
        font-weight: 500;
        line-height: 1.8;
        color: #152237;
        text-align: left;
        border: none;
        padding: 0;
        width: 100%;
        max-width: 94.0rem;
        margin: 0 auto; }
        @media only screen and (max-width: 768px) {
          .contact-page .contact-form-section .contact-form-box .mw_wp_form {
            font-size: 1.4rem; } }
        .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field {
          position: relative;
          display: block;
          width: 100%;
          margin-bottom: 4rem; }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field label {
            position: relative;
            display: block;
            font-weight: 500;
            margin-bottom: 0.6rem;
            font-size: 1.9rem;
            line-height: 1.8; }
            @media only screen and (max-width: 768px) {
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field label {
                font-size: 1.6rem; } }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field label.required {
              position: relative; }
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field label.required::before {
                content: "必須";
                position: relative;
                display: inline-block;
                padding: 0.5rem 1.0rem;
                background: #C20A19;
                font-size: 1.4rem;
                line-height: 2rem;
                color: #FFFFFF;
                text-align: center;
                margin-right: 1.0rem; }
                @media only screen and (max-width: 768px) {
                  .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field label.required::before {
                    padding: 0.3rem 1.0rem; } }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field label.optional {
              position: relative; }
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field label.optional::before {
                content: "任意";
                position: relative;
                display: inline-block;
                padding: 0.5rem 1.0rem;
                background: #737373;
                font-size: 1.3rem;
                line-height: 2.0rem;
                color: #FFFFFF;
                text-align: center;
                margin-right: 1.0rem; }
                @media only screen and (max-width: 768px) {
                  .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field label.optional::before {
                    font-size: 1.6rem;
                    padding: 0.3rem 1.0rem; } }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field input[type='text'],
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field input[type='email'],
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field textarea {
            position: relative;
            font-size: 1.4rem;
            border: 1px solid transparent;
            background: linear-gradient(#F3F3F3, #F3F3F3) padding-box, linear-gradient(180deg, #fff, #999) border-box; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field input[type='text']::placeholder,
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field input[type='email']::placeholder,
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field textarea::placeholder {
              color: #343434;
              font-weight: 300; }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field input[type='radio'] {
            width: 2rem;
            height: 2rem; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field input[type='radio']::before {
              background-color: red; }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field span.error {
            font-size: 12px; }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field small {
            font-size: 11px;
            color: #000;
            margin-top: 6px;
            line-height: 1.1; }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field br {
            display: none; }
          @media only screen and (max-width: 576px) {
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .input-field br.sp-only {
              display: block !important; } }
        .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field {
          position: relative;
          display: block;
          margin: 0; }
          @media print, screen and (min-width: 769px) {
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              gap: 6.0rem; }
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field > label {
                flex: 0 0 auto;
                width: fit-content; } }
          @media only screen and (max-width: 768px) {
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field + .mwform-radio-field, .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field + .mwform-checkbox-field {
              margin-top: 1.0rem; } }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field > label {
            display: flex;
            align-items: center; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field > label input[type="radio"] {
              visibility: hidden; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field > label span {
              display: flex;
              align-items: center; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field > label span::before {
              content: "";
              display: block;
              position: absolute;
              left: 0;
              width: 20px;
              height: 20px;
              border: 2px solid #000;
              border-radius: 50%; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field > label input[type="radio"]:checked + span::before {
              border-color: #C20A19; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .mwform-radio-field > label input[type="radio"]:checked + span::after {
              content: "";
              display: block;
              position: absolute;
              left: 0;
              width: 20px;
              height: 20px;
              background-color: #C20A19;
              border-radius: 50%;
              transform: scale(0.6);
              transition: .3s ease-in; }
        .contact-page .contact-form-section .contact-form-box .mw_wp_form .validate {
          color: #FF0000; }
        .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-privacy {
          position: relative;
          display: block;
          width: 100%;
          margin-top: 4.0rem; }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-privacy .label {
            display: block;
            font-weight: 500;
            margin-bottom: 1.2rem; }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-privacy .content {
            position: relative;
            background: #FFFFFF;
            max-height: 25.0rem;
            padding: 2.0rem 2.0rem;
            font-size: 1.4rem;
            line-height: 1.8;
            font-weight: 400;
            overflow-y: auto;
            color: #000000;
            border: 1px solid #868686; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-privacy .content h5,
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-privacy .content h6 {
              font-weight: 700;
              margin-bottom: 0.6rem; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-privacy .content p {
              position: relative; }
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-privacy .content p:not(:last-child) {
                margin-bottom: 2.4rem; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-privacy .content a {
              color: inherit;
              text-decoration: underline; }
        .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept {
          position: relative;
          font-size: 1.6rem;
          line-height: 2.0;
          margin-top: 6.0rem; }
          @media only screen and (max-width: 768px) {
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept {
              font-size: 1.4rem;
              margin-top: 5.0rem; } }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept a {
            text-decoration: underline; }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept .mwform-checkbox-field {
            position: relative; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept .mwform-checkbox-field > label {
              display: flex;
              justify-content: center;
              gap: 10px; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept .mwform-checkbox-field .form-accept_val {
              width: 20px;
              height: 20px;
              border: 1px solid #999;
              background-color: #fff;
              position: relative;
              transition: .3s ease; }
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept .mwform-checkbox-field .form-accept_val::before {
                opacity: 0;
                content: "";
                width: 120%;
                height: 100%;
                background-color: red;
                position: absolute;
                top: -6px;
                left: 2px;
                clip-path: polygon(0 0, 3px 0, 3px calc(100% - 4px), 100% calc(100% - 4px), 100% 100%, 0 100%);
                transform: rotate(-55deg) scaleY(0.6);
                transition: .3s ease; }
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept .mwform-checkbox-field .form-accept_val:checked {
                border-color: red; }
                .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept .mwform-checkbox-field .form-accept_val:checked::before {
                  opacity: 1; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept .mwform-checkbox-field .mwform-checkbox-field-text {
              text-align: center; }
            @media print, screen and (min-width: 769px) {
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept .mwform-checkbox-field {
                display: flex;
                flex-wrap: wrap;
                justify-content: center; } }
            @media only screen and (max-width: 768px) {
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept .mwform-checkbox-field {
                text-align: center; } }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-accept .error {
            display: block;
            text-align: center; }
        .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-submit {
          position: relative;
          margin-top: 4.0rem; }
          @media only screen and (max-width: 768px) {
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-submit {
              margin-top: 4.0rem; } }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-submit .btn-submit {
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            width: 24.0rem;
            max-width: 100%;
            height: 5.6rem;
            padding: 1.0rem 1.0rem 0.8rem;
            background: #C20A19;
            font-size: 1.8rem;
            font-weight: 500;
            line-height: 1.5;
            color: #fff;
            white-space: nowrap;
            text-align: center;
            text-decoration: none;
            transition: all 0.3s ease-in-out;
            border-radius: 0.5rem;
            cursor: pointer;
            box-sizing: border-box;
            border: none;
            z-index: 0;
            margin: 0 auto; }
            @media only screen and (max-width: 768px) {
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-submit .btn-submit {
                font-size: 1.5rem;
                height: 5.0rem; } }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-submit .btn-submit:hover {
              background: #022240;
              color: #FFFFFF; }
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-submit .btn-submit:disabled {
              opacity: .5;
              cursor: not-allowed; }
        .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-bottom {
          position: relative;
          font-size: 1.6rem;
          font-weight: 400;
          line-height: 2.25;
          margin-top: 8.0rem; }
          @media only screen and (max-width: 768px) {
            .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-bottom {
              font-size: 1.4rem;
              line-height: 2.5;
              margin-top: 6.0rem; } }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-bottom h5 {
            position: relative;
            font-weight: 700;
            padding-bottom: 1.6rem;
            border-bottom: 1px solid #FFFFFF;
            margin-bottom: 2.0rem; }
            @media only screen and (max-width: 768px) {
              .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-bottom h5 {
                line-height: 2.0; } }
          .contact-page .contact-form-section .contact-form-box .mw_wp_form .form-bottom p {
            position: relative; }
      .contact-page .contact-form-section .contact-form-box .mw_wp_form_confirm small {
        display: none; }
      .contact-page .contact-form-section .contact-form-box .mw_wp_form_confirm .form-accept {
        display: none; }
      .contact-page .contact-form-section .contact-form-box .mw_wp_form_confirm .form-privacy {
        display: none; }

.p_fv_section {
  padding: 15rem 0 0rem; }
  .p_fv_section .p_fv_info {
    text-align: center; }
    .p_fv_section .p_fv_info .lead_title {
      font-size: 4.6rem;
      font-weight: bold; }
    .p_fv_section .p_fv_info .sub_title {
      font-size: 2.4rem; }

.p_main_section {
  padding: 5rem 0; }
  .p_main_section .m_text {
    text-align: center; }
  .p_main_section .btn_wrap {
    margin-top: 5rem; }
    .p_main_section .btn_wrap a {
      display: block;
      text-align: center;
      margin: auto;
      width: fit-content;
      background-color: #C20A19;
      color: #fff;
      padding: 5px 20px;
      border-radius: 5px;
      transition: .3s ease-in-out; }
      .p_main_section .btn_wrap a:hover {
        opacity: .8; }

/*# sourceMappingURL=app.css.map */
