/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/scss/style.scss ***!
  \********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*font size*/
/*font関連*/
/*******************************
  nav
*******************************/
.menu__btnwrap {
  display: block;
  position: fixed;
  right: 16px;
  top: 10px;
  z-index: 6;
  text-align: center;
  background-color: white;
  padding: 13px 16px;
  line-height: 1.3;
  border: 1px solid #1d2b56;
  border-radius: 50%;
  font-size: 5.3125vw;
}
@media (min-width: 1024px) {
  .menu__btnwrap {
    display: none;
  }
}
.menu__btnwrap.open {
  background-color: transparent;
  border: none;
}

.spmenu_text.close {
  display: none;
}
.spmenu_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
  aspect-ratio: 4/4;
  display: none;
}
.spmenu_btn:hover {
  cursor: pointer;
}
.spmenu_btn::before, .spmenu_btn::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background-color: #1d2b56;
  transition: all 0.3s;
  position: absolute;
}
.spmenu_btn::before {
  left: 0px;
  top: 0px;
}
.spmenu_btn::after {
  left: 0px;
  bottom: 0px;
}
.spmenu_btn span {
  display: block;
  height: 1px;
  width: 50px;
  background-color: #fff;
  transition: all 0.3s;
}
.spmenu_btnClose {
  display: flex;
  width: 22px;
  background-color: #ffffff;
}
.spmenu_btnClose span {
  width: 0;
}
.spmenu_btnClose::before, .spmenu_btnClose::after {
  -webkit-transform-origin: center;
          transform-origin: center;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  position: absolute;
  width: 31.1126983722px;
}
.spmenu_btnClose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.spmenu_btnClose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media (min-width: 1024px) {
  .spmenu_btn {
    display: none;
  }
}

.globalNav {
  display: flex;
  position: fixed;
  height: 100vh;
  width: 100vw;
  right: -100vw;
  transition: all 0.4s;
  z-index: 5;
  top: 0;
  background-color: #fff;
}
.globalNav ul {
  padding-left: 0;
}
.globalNav li {
  list-style-type: none;
}
@media (min-width: 1024px) {
  .globalNav {
    background-color: transparent;
    right: inherit;
    width: inherit;
    height: inherit;
    position: relative;
    z-index: 1;
  }
}
.globalNav_state {
  right: 0;
}
.globalNav .menu {
  width: 100%;
  overflow: auto;
}
.globalNav .menu-item {
  width: 100%;
  border-bottom: 1px solid #ffffff;
  padding-left: 50px;
}
@media (min-width: 1024px) {
  .globalNav .menu-item {
    padding-left: 0;
    border: none;
  }
}
.globalNav .menu-item.current {
  position: relative;
  z-index: 1;
}
.globalNav .menu-item.current::before {
  content: "";
  display: block;
  border-left: 18px solid #1d2b56;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  -webkit-filter: drop-shadow(1px 1px 0 #fff) drop-shadow(-1px 1px 0 #fff) drop-shadow(1px -1px 0 #fff) drop-shadow(-1px -1px 0 #fff);
          filter: drop-shadow(1px 1px 0 #fff) drop-shadow(-1px 1px 0 #fff) drop-shadow(1px -1px 0 #fff) drop-shadow(-1px -1px 0 #fff);
  position: absolute;
  left: 15px;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media (min-width: 1024px) {
  .globalNav .menu-item.current::before {
    display: none;
  }
  .globalNav .menu-item__btn a {
    display: block;
    border: 1px solid #1d2b56;
    border-radius: 50%;
    transition: all 0.4s;
    background-color: #ffffff;
    padding: 1.4rem 2rem !important;
  }
  .globalNav .menu-item__btn a:hover {
    background-color: #1d2b56;
    color: #ffffff;
  }
}
.globalNav .menu a {
  display: block;
  padding: 1em;
  color: #fff;
  font-family: "Zen kaku gothick antique Bold", sans-serif;
  font-size: 4.0625vw;
}
@media (min-width: 1024px) {
  .globalNav .menu a {
    font-size: clamp(13px, 4.0625vw, 20px);
    color: #1d2b56;
  }
}
.globalNav .menu a::before {
  content: attr(data-en);
  display: block;
  font-family: "Goldman-Regular", sans-serif;
  font-size: 18.75px;
}
@media (min-width: 320px) and (max-width: 1024px) {
  .globalNav .menu a::before {
    font-size: calc(15.9090909091px + 0.8877840909vw);
  }
}
@media (min-width: 1024px) {
  .globalNav .menu a::before {
    font-size: 25px;
    display: none;
  }
}
.globalNav .menu-globalnav-container {
  width: 100%;
  display: grid;
  background-color: #1d2b56;
}
@media (min-width: 1024px) {
  .globalNav .menu-globalnav-container {
    background-color: transparent;
  }
}
.globalNav .spnav-logo {
  padding-top: 26px;
  padding-left: 37px;
}
@media (min-width: 1024px) {
  .globalNav .spnav-logo {
    display: none;
  }
  .globalNav-hl {
    display: block;
    position: static;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
  }
  .globalNav-hl .menu {
    display: flex;
    width: auto;
    gap: 1em;
  }
  .globalNav-hl .menu > li {
    border-bottom: none;
  }
  .globalNav-hl .menu > li > a {
    padding: 1.5rem 0.5rem;
    white-space: nowrap;
  }
}
.globalNav-hl li:hover > .sub-menu {
  display: block;
}
.globalNav-hl li > .sub-menu {
  position: relative;
  z-index: 1;
  display: none;
  width: 95%;
  border-top: none;
}
@media (min-width: 768px) {
  .globalNav-hl li > .sub-menu {
    position: absolute;
    width: 200px;
  }
}
.globalNav-hl li > .sub-menu::before {
  font-size: 2em;
  position: absolute;
  top: -32px;
  left: 10px;
  color: #231815;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  content: "\f0d8";
}
.globalNav-hl li > .sub-menu li {
  display: block;
  float: none;
  padding: 0;
  position: relative;
}
.globalNav-hl li > .sub-menu li:hover > .sub-menu {
  display: block;
}
.globalNav-hl li > .sub-menu li:hover > .sub-menu:hover .sub-menu {
  display: block;
}
.globalNav-hl li > .sub-menu li a {
  font-size: 1em;
  font-weight: normal;
  margin-left: 10px;
  padding: 10px 30px 10px 10px;
  text-align: left;
  color: #fff;
  background-color: #231815;
}
.globalNav-hl li > .sub-menu li a::before {
  color: #333;
}
.globalNav-hl li > .sub-menu li a:hover {
  background-color: #000;
}
.globalNav-hl li > .sub-menu li > .sub-menu {
  position: relative;
  z-index: 1;
  display: none;
  width: 95%;
  border-top: none;
  padding-top: 1em;
  margin-left: auto;
}
@media (min-width: 768px) {
  .globalNav-hl li > .sub-menu li > .sub-menu {
    width: 100%;
    padding-top: 0;
    position: absolute;
    width: 200px;
    margin-left: 0;
    left: 100%;
    top: 0;
  }
}
.globalNav-hl li > .sub-menu li > .sub-menu::before {
  font-size: 2em;
  position: absolute;
  line-height: 1;
  color: #231815;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  content: "\f0d8";
  left: 20px;
}
@media (min-width: 768px) {
  .globalNav-hl li > .sub-menu li > .sub-menu::before {
    top: 0;
    left: 0;
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    content: "\f0d9";
  }
}
.globalNav-hl li > .sub-menu li > .sub-menu li {
  display: block;
  float: none;
  padding: 0;
}
.globalNav-hl li > .sub-menu li > .sub-menu li:hover > .sub-menu {
  display: block;
}
.globalNav-hl li > .sub-menu li > .sub-menu li:hover > .sub-menu li:hover .sub-menu {
  display: block;
}
.globalNav-hl li > .sub-menu li > .sub-menu li a {
  font-size: 1em;
  font-weight: normal;
  margin-left: 10px;
  padding: 10px 30px 10px 10px;
  text-align: left;
  color: #fff;
  background-color: #231815;
}
.globalNav-hl li > .sub-menu li > .sub-menu li a::before {
  color: #333;
}
.globalNav-hl li > .sub-menu li > .sub-menu li a:hover {
  background-color: #000;
}

@media (min-width: 1024px) {
  .globalNav-vl {
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
  }
}
.globalNav-vl .menu {
  overflow: visible;
}
.globalNav-vl li {
  position: relative;
  z-index: 1;
}
.globalNav-vl li:hover > .sub-menu {
  display: block;
}
.globalNav-vl li > .sub-menu {
  position: relative;
  z-index: 1;
  display: none;
  width: 95%;
  left: 0;
  top: 0;
  border-top: none;
}
@media (min-width: 768px) {
  .globalNav-vl li > .sub-menu {
    position: absolute;
    width: 200px;
    left: 100%;
  }
}
.globalNav-vl li > .sub-menu::before {
  font-size: 2em;
  position: absolute;
  top: -32px;
  left: 10px;
  color: #231815;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  content: "\f0d8";
}
@media (min-width: 768px) {
  .globalNav-vl li > .sub-menu::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    content: "\f0d9";
    left: 0;
    top: 0;
    line-height: 1;
  }
}
.globalNav-vl li > .sub-menu li {
  display: block;
  float: none;
  padding: 0;
  position: relative;
}
.globalNav-vl li > .sub-menu li:hover > .sub-menu {
  display: block;
}
.globalNav-vl li > .sub-menu li:hover > .sub-menu:hover .sub-menu {
  display: block;
}
.globalNav-vl li > .sub-menu li a {
  font-size: 1em;
  font-weight: normal;
  margin-left: 10px;
  padding: 10px 30px 10px 10px;
  text-align: left;
  color: #fff;
  background-color: #231815;
}
.globalNav-vl li > .sub-menu li a::before {
  color: #333;
}
.globalNav-vl li > .sub-menu li a:hover {
  background-color: #000;
}
.globalNav-vl li > .sub-menu li > .sub-menu {
  position: relative;
  z-index: 1;
  display: none;
  width: 95%;
  border-top: none;
  padding-top: 1em;
  margin-left: auto;
}
@media (min-width: 768px) {
  .globalNav-vl li > .sub-menu li > .sub-menu {
    width: 100%;
    padding-top: 0;
    position: absolute;
    width: 200px;
    margin-left: 0;
    left: 100%;
    top: 0;
  }
}
.globalNav-vl li > .sub-menu li > .sub-menu::before {
  font-size: 2em;
  position: absolute;
  line-height: 1;
  color: #231815;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  content: "\f0d8";
  top: 0;
  left: 20px;
}
@media (min-width: 768px) {
  .globalNav-vl li > .sub-menu li > .sub-menu::before {
    top: 0;
    left: 0;
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    content: "\f0d9";
  }
}
.globalNav-vl li > .sub-menu li > .sub-menu li {
  display: block;
  float: none;
  padding: 0;
}
.globalNav-vl li > .sub-menu li > .sub-menu li:hover > .sub-menu {
  display: block;
}
.globalNav-vl li > .sub-menu li > .sub-menu li:hover > .sub-menu li:hover .sub-menu {
  display: block;
}
.globalNav-vl li > .sub-menu li > .sub-menu li a {
  font-size: 1em;
  font-weight: normal;
  margin-left: 10px;
  padding: 10px 30px 10px 10px;
  text-align: left;
  color: #fff;
  background-color: #231815;
}
.globalNav-vl li > .sub-menu li > .sub-menu li a::before {
  color: #333;
}
.globalNav-vl li > .sub-menu li > .sub-menu li a:hover {
  background-color: #000;
}

/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

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

/*
Remove the default font size and weight for headings.
*/

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

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  -webkit-font-feature-settings: inherit;
          font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden] {
  display: none;
}

*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

::-webkit-backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}
.container{
  width: 100%;
}
@media (min-width: 640px){
  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){
  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){
  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){
  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){
  .container{
    max-width: 1536px;
  }
}
.container{
  max-width: 90%;
}
@media (min-width: 640px){
  .container{
    max-width: 600px;
  }
}
@media (min-width: 768px){
  .container{
    max-width: 700px;
  }
}
@media (min-width: 1024px){
  .container{
    max-width: 900px;
  }
}
@media (min-width: 1280px){
  .container{
    max-width: 1330px;
  }
}
.fixed{
  position: fixed;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-\[50px\]{
  margin-bottom: 50px;
}
.mt-7{
  margin-top: 1.75rem;
}
.block{
  display: block;
}
.flex{
  display: flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.hidden{
  display: none;
}
.drop-shadow{
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
          filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
/*
 * Fonts
 * -------------------------------------------------------------------
 */
@font-face {
  font-family: "Zen kaku gothick antique Medium";
  src: url("../assets/Zen_Kaku_Gothic_Antique/ZenKakuGothicAntique-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Zen kaku gothick antique Bold";
  src: url("../assets/Zen_Kaku_Gothic_Antique/ZenKakuGothicAntique-Bold.ttf") format("truetype");
  font-weight: 600;
}
@font-face {
  font-family: "Goldman-Bold";
  src: url("../assets/Goldman/Goldman-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Goldman-Regular";
  src: url("../assets/Goldman/Goldman-Regular.ttf") format("truetype");
}
:root {
  interpolate-size: allow-keywords;
  --Gothick_md: "Zen kaku gothick antique Medium", sans-serif;
  --Gothick_bd: "Zen kaku gothick antique Bold", sans-serif;
  --Goldman_re: "Goldman-Regular", sans-serif;
  --Goldman_bd: "Goldman-Bold", sans-serif;
}

/*
 * Module
 * -------------------------------------------------------------------
 */
body {
  font-size: 24px;
}
@media (min-width: 768px) {
  body {
    font-size: 16px;
  }
}

body {
  font-family: var(--Gothick_md);
  font-size: 18px;
}
@media (min-width: 320px) and (max-width: 1024px) {
  body {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) {
  body {
    font-size: 20px;
  }
}

main {
  position: relative;
  z-index: 1;
}

.pc-block {
  display: none;
}
@media (min-width: 1024px) {
  .pc-block {
    display: block;
  }
}

.pc-visible {
  display: none;
}
@media (min-width: 1024px) {
  .pc-visible {
    display: inline;
  }
  .sp-block {
    display: none;
  }
}

.container{
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px){
  .container{
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.container-inner{
  margin-left: auto;
  margin-right: auto;
  max-width: 1150px;
}

.header {
  position: fixed;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 2;
  padding-top: 1.5rem;
}
@media (min-width: 1024px) {
  .header {
    padding-top: 2rem;
  }
}
.header-container{
  width: 100%;
}
@media (min-width: 640px){
  .header-container{
    max-width: 640px;
  }
}
@media (min-width: 768px){
  .header-container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){
  .header-container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){
  .header-container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){
  .header-container{
    max-width: 1536px;
  }
}
.header-container{
  max-width: 90%;
}
@media (min-width: 640px){
  .header-container{
    max-width: 600px;
  }
}
@media (min-width: 768px){
  .header-container{
    max-width: 700px;
  }
}
@media (min-width: 1024px){
  .header-container{
    max-width: 900px;
  }
}
@media (min-width: 1280px){
  .header-container{
    max-width: 1330px;
  }
}
.header-container{
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px){
  .header-container{
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.header-container {
  max-width: 87.5%;
}
@media (min-width: 1024px) {
  .header-container {
    max-width: 1375px;
  }
}
.header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.header-logo {
  max-width: 30vw;
}
@media (min-width: 1024px) {
  .header-logo {
    margin-bottom: 15px;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
  }
  .header-nav {
    margin-top: 8px;
  }
}
.header-nav a {
  font-size: 18px;
}
@media (min-width: 320px) and (max-width: 1024px) {
  .header-nav a {
    font-size: calc(18.4545454545px + -0.1420454545vw);
  }
}
@media (min-width: 1024px) {
  .header-nav a {
    font-size: 17px;
  }
}

.footer {
  background-color: #231815;
  color: #ffffff;
  padding-top: 45px;
}
@media (min-width: 1024px) {
  .footer {
    padding-top: 110px;
  }
}
.footer-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 50px;
}
@media (min-width: 1024px) {
  .footer-head {
    gap: 20px;
    flex-wrap: nowrap;
    padding-bottom: 77px;
  }
}
.footer-title {
  display: flex;
  font-family: var(--Gothick_bd);
  gap: 26px;
  font-size: 7.8125vw;
}
@media (min-width: 1024px) {
  .footer-title {
    display: block;
    font-size: 37.5px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .footer-title {
    font-size: calc(31.8181818182px + 1.7755681818vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .footer-title {
    font-size: 50px;
  }
}
.footer-title::after {
  display: block;
  content: attr(data-en);
  font-family: var(--Goldman_re);
  font-size: 4.0625vw;
  margin-top: 8px;
}
@media (min-width: 1024px) {
  .footer-title::after {
    font-size: 18px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .footer-title::after {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .footer-title::after {
    font-size: 20px;
  }
}
.footer-text {
  font-size: 4.0625vw;
  max-width: 820px;
}
@media (min-width: 1024px) {
  .footer-text {
    margin-bottom: 10px;
    font-size: 18px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .footer-text {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .footer-text {
    font-size: 20px;
  }
}
.footer-foot {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  width: 100%;
}
@media (min-width: 640px){
  .footer-foot{
    max-width: 640px;
  }
}
@media (min-width: 768px){
  .footer-foot{
    max-width: 768px;
  }
}
@media (min-width: 1024px){
  .footer-foot{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){
  .footer-foot{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){
  .footer-foot{
    max-width: 1536px;
  }
}
.footer-foot{
  max-width: 90%;
}
@media (min-width: 640px){
  .footer-foot{
    max-width: 600px;
  }
}
@media (min-width: 768px){
  .footer-foot{
    max-width: 700px;
  }
}
@media (min-width: 1024px){
  .footer-foot{
    max-width: 900px;
  }
}
@media (min-width: 1280px){
  .footer-foot{
    max-width: 1330px;
  }
}
.footer-foot{
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px){
  .footer-foot{
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.footer-foot__wrap {
  border-top: 1px solid #ffffff;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px){
  .footer-foot__wrap{
    width: 100%;
  }
  @media (min-width: 640px){
    .footer-foot__wrap{
      max-width: 640px;
    }
  }
  @media (min-width: 768px){
    .footer-foot__wrap{
      max-width: 768px;
    }
  }
  @media (min-width: 1024px){
    .footer-foot__wrap{
      max-width: 1024px;
    }
  }
  @media (min-width: 1280px){
    .footer-foot__wrap{
      max-width: 1280px;
    }
  }
  @media (min-width: 1536px){
    .footer-foot__wrap{
      max-width: 1536px;
    }
  }
  .footer-foot__wrap{
    max-width: 90%;
  }
  @media (min-width: 640px){
    .footer-foot__wrap{
      max-width: 600px;
    }
  }
  @media (min-width: 768px){
    .footer-foot__wrap{
      max-width: 700px;
    }
  }
  @media (min-width: 1024px){
    .footer-foot__wrap{
      max-width: 900px;
    }
  }
  @media (min-width: 1280px){
    .footer-foot__wrap{
      max-width: 1330px;
    }
  }
}
.footer-foot__wrap {
  margin-top: 71px;
  padding-top: 40px;
}
@media (min-width: 1024px) {
  .footer-foot__wrap {
    margin-top: 0;
    padding-top: 0;
  }
  .footer-foot {
    padding-top: 280px;
    flex-wrap: nowrap;
  }
}
.footer-link {
  display: grid;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: 80px;
     -moz-column-gap: 80px;
          column-gap: 80px;
  row-gap: 10px;
}
.footer-link a {
  font-family: var(--Gothick_md);
  font-size: 4.0625vw;
}
@media (min-width: 1024px) {
  .footer-link a {
    font-size: 18px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .footer-link a {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .footer-link a {
    font-size: 20px;
  }
}
.footer-link a:nth-child(1) {
  grid-column: 1/2;
}
.footer-link a:nth-child(2) {
  grid-column: 1/2;
  grid-row: 2/3;
}
.footer-link a:nth-child(3) {
  grid-column: 1/2;
  grid-row: 3/4;
}
.footer-add {
  margin-top: 100px;
}
@media (min-width: 1024px) {
  .footer-add {
    margin-top: 0;
    margin-right: 75px;
  }
}
.footer-add address {
  font-style: normal;
  font-size: 4.0625vw;
}
@media (min-width: 1024px) {
  .footer-add address {
    font-size: 18px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .footer-add address {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .footer-add address {
    font-size: 20px;
  }
}
.footer-copy {
  text-align: center;
  font-size: 10px;
  padding: 13px 20px 20px;
}
@media (min-width: 1024px) {
  .footer-copy {
    padding-top: 60px;
  }
}

.en {
  font-family: var(--Goldman_bd);
}

/*
 * 共有パーツ
 * -------------------------------------------------------------------
 */
.btn a, .btn-reverse a {
  display: block;
  border: 1px solid #1d2b56;
  border-radius: 50%;
  transition: all 0.4s;
  background-color: #ffffff;
  padding: 1.4rem 2rem !important;
  text-align: center;
}
.btn a:hover, .btn-reverse a:hover {
  background-color: #1d2b56;
  color: #ffffff;
}
.btn-reverse a {
  background-color: #1d2b56;
  color: #ffffff;
}
.btn-reverse a:hover {
  background-color: #ffffff;
  color: #1d2b56;
}
.btn-wrap {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5rem;
}
.btn-submit {
  width: 100%;
  display: block;
  background-color: #1d2b56;
  border: 1px solid #1d2b56;
  color: #ffffff;
  padding: 1em;
  letter-spacing: 1em;
  text-indent: 1em;
  font-size: 4.0625vw;
  transition: all 0.4s;
}
@media (min-width: 1024px) {
  .btn-submit {
    font-size: clamp(13px, 4.0625vw, 20px);
  }
}
.btn-submit:hover {
  cursor: pointer;
  background-color: #ffffff;
  color: #1d2b56;
}
.btn-input {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.btn-input input {
  display: block;
  border: 1px solid #1d2b56;
  border-radius: 50%;
  transition: all 0.4s;
  background-color: #ffffff;
  padding: 1.4rem 2rem !important;
}
.btn-input input:hover {
  background-color: #1d2b56;
  color: #ffffff;
}

.text__center{
  text-align: center;
}

/*
 * アニメーション関連
 * -------------------------------------------------------------------
 */
.anime-title {
  overflow: hidden;
}
.anime-title > * {
  opacity: 0;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 200);
          transform: matrix(1, 0, 0, 1, 0, 200);
}
@media (min-width: 1024px) {
  .anime-title > * {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 100);
            transform: matrix(1, 0, 0, 1, 0, 100);
  }
}
.anime-title.is-animated > * {
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.anime-title__reverse > * {
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.anime-title__reverse.is-animated > * {
  opacity: 0;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 100);
          transform: matrix(1, 0, 0, 1, 0, 100);
}

/*******************************
  タイトル
*******************************/
.title, .ourBusiness-title {
  font-size: 6.25vw;
  font-family: var(--Gothick_bd);
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  .title, .ourBusiness-title {
    font-size: clamp(20px, 6.25vw, 50px);
    margin-bottom: 25px;
  }
}
.title-section, .coMessege-his__title-section, .coMessege-pro__title-section, .title-section__green {
  font-family: var(--Goldman_re);
  font-size: 4.0625vw;
  position: relative;
  z-index: 1;
  margin-bottom: 1.5rem;
}
@media (min-width: 1024px) {
  .title-section, .coMessege-his__title-section, .coMessege-pro__title-section, .title-section__green {
    font-size: 18px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .title-section, .coMessege-his__title-section, .coMessege-pro__title-section, .title-section__green {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .title-section, .coMessege-his__title-section, .coMessege-pro__title-section, .title-section__green {
    font-size: 20px;
  }
}
.title-section::after, .coMessege-his__title-section::after, .coMessege-pro__title-section::after, .title-section__green::after {
  content: "";
  display: block;
  height: 2.5px;
  max-width: 0;
  background-color: #1d2b56;
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  margin-top: 1.2rem;
}
@media (min-width: 1024px) {
  .title-section::after, .coMessege-his__title-section::after, .coMessege-pro__title-section::after, .title-section__green::after {
    margin-top: 1.5rem;
  }
}
.title-section.is-animated::after, .is-animated.coMessege-his__title-section::after, .is-animated.coMessege-pro__title-section::after, .is-animated.title-section__green::after {
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media (min-width: 1024px) {
  .title-section.is-animated::after, .is-animated.coMessege-his__title-section::after, .is-animated.coMessege-pro__title-section::after, .is-animated.title-section__green::after {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
.title-section__green::after, .coMessege-pro__title-section::after {
  background-color: #096435;
}

/*******************************
  テキスト
*******************************/
.text, .bisiness-text {
  font-size: 4.0625vw;
}
@media (min-width: 1024px) {
  .text, .bisiness-text {
    font-size: 18px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .text, .bisiness-text {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .text, .bisiness-text {
    font-size: 20px;
  }
}

/*******************************
  Headページ
*******************************/
.mainvs {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin-bottom: 37px;
}
@media (min-width: 1024px) {
  .mainvs {
    max-height: 100vh;
    margin-bottom: 300px;
  }
}
.mainvs-inner{
  margin-left: auto;
  margin-right: auto;
  max-width: 87.5%;
  left: 0;
  right: 0;
  position: absolute;
  z-index: 1;
  top: 62.323943662%;
}
@media (min-width: 1024px) {
  .mainvs-inner {
    max-width: 1294px;
    position: absolute;
    z-index: 1;
    top: 79.4871794872%;
  }
}
.mainvs-video {
  position: relative;
  z-index: -1;
  height: 100vh;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .mainvs-video {
    height: auto;
  }
}
.mainvs-video video {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  height: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 1024px) {
  .mainvs-video video {
    position: static;
    translate: 0;
  }
}
.mainvs-title, .title-big {
  font-size: 12.5vw;
  font-family: var(--Gothick_bd);
  font-weight: 700;
  opacity: 1;
  transition: all 0.4s;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .mainvs-title, .title-big {
    font-size: 60px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .mainvs-title, .title-big {
    font-size: calc(50.9090909091px + 2.8409090909vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .mainvs-title, .title-big {
    font-size: 80px;
  }
}
.mainvs-title span, .title-big span {
  display: block;
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.mainvs-title.scrollhidden span, .scrollhidden.title-big span {
  opacity: 0;
  -webkit-transform: matrix(1, 0, 0, 1, 0, -100);
          transform: matrix(1, 0, 0, 1, 0, -100);
}
.mainvs-text {
  font-size: 4.0625vw;
  margin-top: 0.5rem;
}
@media (min-width: 1024px) {
  .mainvs-text {
    margin-top: 0;
    font-size: 18px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .mainvs-text {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .mainvs-text {
    font-size: 20px;
  }
}

.pangeHead-title {
  font-size: 12.5vw;
  font-family: var(--Goldman_re);
  padding-top: 95px;
  padding-bottom: 50px;
}
@media (min-width: 1024px) {
  .pangeHead-title {
    font-size: clamp(40px, 12.5vw, 80px);
    padding-top: 208px;
    padding-bottom: 78px;
  }
}

/*******************************
  TOPページ
*******************************/
.bisiness {
  padding-bottom: 76px;
}
@media (min-width: 1024px) {
  .bisiness {
    padding-bottom: 65px;
  }
}
.bisiness-contents {
  margin-top: 20px;
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .bisiness-contents {
    translate: 0 -86px;
    margin-top: 0;
  }
}
.bisiness-contents.is-animated {
  /* 最初に2秒待って描画開始 */
  /* 2s + 4.8s = 6.8s（line01 のサイクル完了後） */
}
.bisiness-contents.is-animated .line01,
.bisiness-contents.is-animated .line02,
.bisiness-contents.is-animated .line03 {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation: draw 3s cubic-bezier(0.22, 0.9, 0.32, 1) forwards;
          animation: draw 3s cubic-bezier(0.22, 0.9, 0.32, 1) forwards;
}
.bisiness-contents.is-animated .bisiness-img p {
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.bisiness-item {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: 190px auto;
}
@media (min-width: 1024px) {
  .bisiness-item {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
}
.bisiness-item:nth-child(2) {
  margin-top: 10px;
}
@media (min-width: 1024px) {
  .bisiness-item:nth-child(2) {
    margin-top: -143px;
  }
  .bisiness-item:nth-child(2) .bisiness-img {
    margin-left: -50px;
    translate: -53px 22px;
  }
}
.bisiness-item:nth-child(3) {
  margin-top: 17px;
}
@media (min-width: 1024px) {
  .bisiness-item:nth-child(3) {
    margin-top: -123px;
  }
  .bisiness-item:nth-child(3) .bisiness-img {
    margin-left: -50px;
    translate: -68px 10px;
  }
  .bisiness-item:nth-child(3) .bisiness-img figcaption {
    translate: -59% -37%;
  }
}
.bisiness-img {
  max-width: 440px;
  width: 100%;
  position: relative;
  z-index: -1;
  order: 0;
}
.bisiness-img svg {
  aspect-ratio: 441/362;
  width: 95%;
  height: auto;
  translate: 0 -10%;
}
@media (min-width: 1024px) {
  .bisiness-img svg {
    max-width: 441px;
    translate: 0 0;
  }
}
.bisiness-img p {
  display: block;
  text-align: center;
  font-size: 6.25vw;
  white-space: nowrap;
  opacity: 0;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 100);
          transform: matrix(1, 0, 0, 1, 0, 100);
}
@media (min-width: 1024px) {
  .bisiness-img p {
    font-size: 22.5px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .bisiness-img p {
    font-size: calc(19.0909090909px + 1.0653409091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .bisiness-img p {
    font-size: 30px;
  }
}
.bisiness-img p::before {
  content: attr(data-en);
  display: block;
  font-family: var(--Goldman_re);
  font-size: 4.0625vw;
}
@media (min-width: 1024px) {
  .bisiness-img p::before {
    font-size: 18px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .bisiness-img p::before {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .bisiness-img p::before {
    font-size: 20px;
  }
}
.bisiness-img__text {
  overflow: hidden;
  position: absolute;
  z-index: 1;
  top: 60%;
  left: 45%;
  translate: -50% -50%;
}
@media (min-width: 1024px) {
  .bisiness-img__text {
    top: 50%;
    left: 50%;
  }
}
.bisiness-text {
  width: 100%;
  max-width: 223px;
  position: relative;
  z-index: 1;
  order: 1;
  font-size: 4.0625vw;
  margin-left: auto;
  background-color: #ffffff;
  padding: 0 0 1em 1em;
}
@media (min-width: 1024px) {
  .bisiness-text {
    margin-bottom: 54px;
    max-width: 568px;
    font-size: 18px;
    margin-left: inherit;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .bisiness-text {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .bisiness-text {
    font-size: 20px;
  }
}
@media (min-width: 1024px) {
  .bisiness-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    position: absolute;
    bottom: 40px;
    left: calc(100% + 22px);
  }
  .bisiness-bar::before, .bisiness-bar::after {
    content: "";
    display: block;
    background-color: #231815;
  }
  .bisiness-bar::before {
    height: 1px;
    width: 156px;
  }
  .bisiness-bar::after {
    width: 10px;
    height: 10px;
    border-radius: 50%;
  }
}

.line01,
.line02,
.line03 {
  fill: none;
  stroke-width: 1.86;
  stroke-miterlimit: 10;
  stroke-linecap: butt;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
}

.line01 {
  stroke: #1d2b56;
}

.line02 {
  stroke: #096435;
}

.line03 {
  stroke: #cf1e1b;
}

@-webkit-keyframes draw {
  0% {
    stroke-dashoffset: 1;
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

@keyframes draw {
  0% {
    stroke-dashoffset: 1;
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .line01,
  .line02,
  .line03 {
    -webkit-animation: none;
            animation: none;
    stroke-dashoffset: 0;
    opacity: 1;
  }
}
.service {
  padding-bottom: 75px;
}
@media (min-width: 1024px) {
  .service {
    padding-bottom: 140px;
  }
}
.service-head {
  padding-bottom: 25px;
}
@media (min-width: 1024px) {
  .service-head {
    margin-bottom: 115px;
  }
}
.service-container {
  max-width: 88.75%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .service-container {
    max-width: 1150px;
  }
}
.service-grid {
  display: grid;
}
@media (min-width: 1024px) {
  .service-grid {
    aspect-ratio: 1150/643;
    grid-template-columns: 18.347826087% 49.3913043478% 19.3043478261% 13.1304347826%;
    grid-template-rows: 12.9082426128% 59.7200622084% 27.3716951788%;
  }
}
.service-title {
  font-size: 7.8125vw;
  text-align: center;
  order: 0;
  margin-bottom: 20px;
  font-family: var(--Gothick_bd);
}
@media (min-width: 1024px) {
  .service-title {
    font-size: 37.5px;
    text-align: left;
    margin-bottom: 0;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .service-title {
    font-size: calc(31.8181818182px + 1.7755681818vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .service-title {
    font-size: 50px;
  }
}
@media (min-width: 1024px) {
  .service-title {
    grid-column: 1/3;
    grid-row: 1/3;
    margin-top: 73px;
  }
}
.service-contents {
  display: grid;
  order: 2;
  max-width: 87.1080139373%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .service-contents {
    max-width: inherit;
    margin-left: 0;
    margin-right: 0;
    order: 1;
    aspect-ratio: 790/643;
    grid-column: 2/4;
    grid-row: 1/3;
    grid-template-columns: 38.9873417722% 22.0253164557% 38.9873417722%;
    grid-template-rows: 43.234836703% 13.2192846034% 43.3903576983%;
  }
}
.service-contents.is-animated .serviceLine01 {
  stroke-dashoffset: 0;
}
.service-contents.is-animated .serviceLine02 {
  stroke-dashoffset: 0;
}
.service-content {
  display: grid;
  grid-template-columns: 18.5950413223% 27.2727272727% 54.3388429752%;
  grid-template-rows: 19.1256830601% 28.6885245902% 49.1803278689%;
}
@media (min-width: 1024px) {
  .service-content {
    aspect-ratio: 484/366;
  }
  .service-content:nth-child(1) {
    grid-column: 2/4;
    grid-row: 1/3;
  }
}
.service-content:nth-child(2) {
  margin-top: -20px;
}
@media (min-width: 1024px) {
  .service-content:nth-child(2) {
    margin-top: 0;
    grid-column: 1/3;
    grid-row: 2/4;
  }
}
.service-content__line {
  grid-column: 1/4;
  grid-row: 1/4;
}
.service-content__line .serviceLine01,
.service-content__line .serviceLine02 {
  stroke-dashoffset: 1493.9614257813px;
  stroke-dasharray: 1493.9614257813px;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}
.service-content__line svg {
  aspect-ratio: 484/366;
  max-width: 100%;
  height: auto;
}
@media (min-width: 1024px) {
  .service-content__line svg {
    max-width: 484px;
    max-height: 366px;
  }
}
.service-content__img {
  grid-column: 2/3;
  grid-row: 2/3;
}
.service-content__title {
  opacity: 0;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 100);
          transform: matrix(1, 0, 0, 1, 0, 100);
  font-size: 6.25vw;
  font-family: var(--Gothick_bd);
  display: grid;
  align-content: flex-start;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  text-align: center;
  gap: 0;
}
.service-content__titlewrap {
  grid-column: 3/4;
  grid-row: 3/4;
  overflow: hidden;
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
}
.service-content__titlewrap.is-animated .service-content__title {
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (min-width: 1024px) {
  .service-content__title {
    font-size: 37.5px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .service-content__title {
    font-size: calc(31.8181818182px + 1.7755681818vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .service-content__title {
    font-size: 50px;
  }
}
.service-content__title::after {
  content: attr(data-en);
  font-family: var(--Goldman_bd);
  font-size: 4.0625vw;
  line-height: 1;
  margin-top: 1rem;
}
@media (min-width: 1024px) {
  .service-content__title::after {
    font-size: 18px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .service-content__title::after {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .service-content__title::after {
    font-size: 20px;
  }
}
.service-text {
  font-size: 4.0625vw;
  order: 1;
  margin-bottom: 30px;
}
@media (min-width: 1024px) {
  .service-text {
    font-size: 18px;
    grid-column: 3/5;
    grid-row: 3/4;
    order: 2;
    margin-bottom: 0;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .service-text {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .service-text {
    font-size: 20px;
  }
}

.recruit {
  background-color: #efefef;
  padding: 25px 0;
}
@media (min-width: 1024px) {
  .recruit {
    padding: 60px 0;
  }
}
.recruit-inner {
  background-color: #ffffff;
  border-radius: 20px;
  padding: 29px 21px 47px;
}
@media (min-width: 1024px) {
  .recruit-inner {
    padding: 55px 10px 70px;
  }
}
.recruit-container {
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
}
.recruit-title {
  font-family: var(--Gothick_bd);
  font-size: 6.25vw;
  margin-left: 0.5em;
  margin-bottom: 1.5em;
}
@media (min-width: 1024px) {
  .recruit-title {
    font-size: 37.5px;
    margin-left: 0;
    margin-bottom: 15px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .recruit-title {
    font-size: calc(31.8181818182px + 1.7755681818vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .recruit-title {
    font-size: 50px;
  }
}
.recruit-title::before {
  content: attr(data-en);
  display: block;
  font-family: var(--Goldman_re);
  font-size: 18px;
  text-transform: uppercase;
  margin-bottom: 17px;
}
@media (min-width: 320px) and (max-width: 1024px) {
  .recruit-title::before {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) {
  .recruit-title::before {
    font-size: 20px;
  }
}
.recruit-row {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .recruit-row {
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.recruit-text {
  max-width: 615px;
  margin-bottom: 3em;
}
@media (min-width: 1024px) {
  .recruit-text {
    margin-bottom: 1rem;
  }
}
.recruit-btn a {
  background-color: #1d2b56;
  color: #ffffff;
  text-align: center;
  max-width: 160px;
  margin-left: auto;
  margin-right: auto;
  padding: 13px 30px !important;
  font-size: 4.0625vw;
}
@media (min-width: 1024px) {
  .recruit-btn a {
    padding: 20px 60px !important;
    max-width: inherit;
    margin-left: 0;
    margin-right: 0;
    font-size: 18px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .recruit-btn a {
    font-size: calc(17.0909090909px + 0.2840909091vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .recruit-btn a {
    font-size: 20px;
  }
}
.recruit-btn a:hover {
  background-color: #ffffff;
  color: #1d2b56;
}

.client {
  background-color: #efefef;
  padding-top: 40px;
  padding-bottom: 200px;
}
@media (min-width: 1024px) {
  .client {
    padding-top: 30px;
    padding-bottom: 252px;
  }
  .client-head {
    margin-bottom: 67px;
  }
}
.client-title {
  font-size: 6.25vw;
  font-family: var(--Gothick_bd);
  max-width: 650px;
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  .client-title {
    font-size: 37.5px;
  }
}
@media (min-width: 1024px) and (min-width: 320px) and (max-width: 1024px) {
  .client-title {
    font-size: calc(31.8181818182px + 1.7755681818vw);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .client-title {
    font-size: 50px;
  }
}
@media (min-width: 1024px) {
  .client-title {
    margin-top: 24px;
  }
  .client-contents {
    display: flex;
    justify-content: space-between;
  }
  .client-logo {
    max-width: inherit;
  }
}
.client-logos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (min-width: 1024px) {
  .client-logos {
    gap: 28px;
  }
}
/*******************************
  COMPANYページ
*******************************/
.coPhilos {
  padding-bottom: 40px;
}
@media (min-width: 1024px) {
  .coPhilos {
    padding-bottom: 90px;
  }
}
.coPhilos-inner {
  max-width: 674px;
  margin-left: auto;
  margin-right: auto;
}
.coPhilos-head {
  padding-bottom: 15px;
}
@media (min-width: 1024px) {
  .coPhilos-head {
    margin-bottom: 50px;
  }
}
.coPhilos-title {
  font-size: 7.8125vw;
  font-family: var(--Gothick_bd);
  text-align: center;
  margin-bottom: 28px;
}
@media (min-width: 1024px) {
  .coPhilos-title {
    font-size: clamp(25px, 7.8125vw, 50px);
  }
}
.coPhilos-text {
  line-height: 1.6;
}
@media (min-width: 1024px) {
  .coPhilos-text {
    line-height: 1.75;
  }
}

.coStrength {
  padding-bottom: 100px;
}
@media (min-width: 1024px) {
  .coStrength {
    padding-bottom: 175px;
  }
}
.coStrength-inner{
  margin-left: auto;
  margin-right: auto;
  max-width: 290px;
}
@media (min-width: 1024px) {
  .coStrength-inner {
    max-width: 1150px;
  }
}
.coStrength-head {
  margin-bottom: 15px;
}
@media (min-width: 1024px) {
  .coStrength-head {
    margin-bottom: 105px;
  }
}
.coStrength-items {
  display: grid;
  justify-items: center;
  min-height: 717px;
  grid-template-columns: 1fr;
  grid-template-rows: 31.659693166% 4.8814504881% 26.9177126918% 4.8814504881% 31.659693166%;
}
@media (min-width: 1024px) {
  .coStrength-items {
    min-height: inherit;
    grid-template-columns: 31.652173913% 4.9565217391% 26.9565217391% 4.9565217391% 31.652173913%;
    grid-template-rows: 1fr;
  }
}
.coStrength-items.is-animated .svg-elem-1 {
  stroke-dashoffset: 0;
}
.coStrength-items.is-animated .svg-elem-2 {
  opacity: 1;
}
.coStrength-item {
  counter-increment: num;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.coStrength-item:nth-child(1) {
  grid-row: 1/3;
  grid-column: 1/2;
}
@media (min-width: 1024px) {
  .coStrength-item:nth-child(1) {
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
.coStrength-item:nth-child(2) {
  grid-column: 1/2;
  grid-row: 2/5;
}
@media (min-width: 1024px) {
  .coStrength-item:nth-child(2) {
    grid-column: 2/5;
    grid-row: 1/2;
  }
}
.coStrength-item:nth-child(3) {
  grid-column: 1/2;
  grid-row: 4/6;
}
@media (min-width: 1024px) {
  .coStrength-item:nth-child(3) {
    grid-column: 4/6;
    grid-row: 1/2;
  }
}
.coStrength-item__inner {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 100%;
  max-width: 75.4716981132%;
  padding-bottom: 30px;
}
@media (min-width: 1024px) {
  .coStrength-item__inner {
    max-width: 275px;
    margin-left: auto;
    margin-right: auto;
  }
}
.coStrength-item__head {
  margin-bottom: 10px;
}
@media (min-width: 1024px) {
  .coStrength-item__head {
    margin-bottom: 36px;
  }
}
.coStrength-item__title {
  font-size: 6.25vw;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-end;
  gap: 30px;
}
@media (min-width: 1024px) {
  .coStrength-item__title {
    font-size: clamp(20px, 6.25vw, 30px);
    align-items: flex-start;
    gap: 50px;
  }
}
.coStrength-item__title::before {
  content: counter(num, decimal-leading-zero);
  font-family: var(--Goldman_re);
  font-size: 4.0625vw;
  line-height: 1.7;
}
@media (min-width: 1024px) {
  .coStrength-item__title::before {
    font-size: clamp(13px, 4.0625vw, 20px);
    line-height: 51px;
  }
}
.coStrength-item__text {
  font-size: 4.0625vw;
}
@media (min-width: 1024px) {
  .coStrength-item__text {
    font-size: clamp(13px, 4.0625vw, 20px);
  }
}
.coStrength-item__svg svg {
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
}
.coStrength-item__svg svg .svg-elem-1 {
  stroke-dashoffset: 1260.1845703125px;
  stroke-dasharray: 1260.1845703125px;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}
.coStrength-item__svg svg .svg-elem-2 {
  opacity: 0;
}

.coMessege {
  overflow: hidden;
  background-color: #efefef;
  padding-top: 57px;
  padding-bottom: 93px;
}
@media (min-width: 1024px) {
  .coMessege {
    padding-top: 110px;
    padding-bottom: 210px;
  }
}
.coMessege-inner {
  position: relative;
  z-index: 1;
}
.coMessege-inner::before {
  content: "";
  display: block;
  background-color: #ffffff;
  border-radius: 30px 0 0 30px;
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  top: 30vw;
  left: 17px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media (min-width: 1024px) {
  .coMessege-inner::before {
    top: 133px;
    left: 142px;
  }
}
.coMessege-container {
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 49px;
}
@media (min-width: 1024px) {
  .coMessege-container {
    padding-bottom: 63px;
  }
}
.coMessege-pres {
  display: grid;
  grid-template-columns: 58.6206896552% 6.8965517241% 34.4827586207%;
  grid-template-rows: 13.4868421053% 45.7236842105% 9.5394736842% 40.7894736842%;
  min-height: 304px;
}
@media (min-width: 1024px) {
  .coMessege-pres {
    grid-template-columns: 41.5652173913% 4.7826086957% 53.652173913%;
    grid-template-rows: 13.5826771654% 28.7401574803% 39.9606299213% 17.7165354331%;
    min-height: 508px;
  }
}
.coMessege-pres__img {
  grid-column: 1/2;
}
@media (min-width: 1024px) {
  .coMessege-pres__img {
    grid-row: 1/5;
  }
}
.coMessege-pres__content {
  grid-column: 1/4;
  margin-left: auto;
  max-width: 92.0138888889%;
}
@media (min-width: 1024px) {
  .coMessege-pres__content {
    margin-left: 0;
    max-width: inherit;
    grid-column: 3/4;
    grid-row: 3/4;
  }
}
.coMessege-pres__title {
  font-size: 6.25vw;
  margin-bottom: 20px;
  margin-top: 10px;
  font-family: var(--Gothick_bd);
}
@media (min-width: 1024px) {
  .coMessege-pres__title {
    font-size: clamp(20px, 6.25vw, 50px);
    margin-bottom: 50px;
    white-space: nowrap;
  }
}
.coMessege-pres__set {
  display: flex;
  align-items: center;
  gap: 40px;
}
.coMessege-pres__set--jp {
  font-size: 4.0625vw;
}
@media (min-width: 1024px) {
  .coMessege-pres__set--jp {
    font-size: clamp(13px, 4.0625vw, 30px);
  }
}
.coMessege-pres__set--en {
  font-size: 3.125vw;
}
@media (min-width: 1024px) {
  .coMessege-pres__set--en {
    font-size: clamp(10px, 3.125vw, 20px);
  }
}
.coMessege-title {
  font-size: 4.0625vw;
  font-family: var(--Goldman_re);
  grid-column: 3/4;
  grid-row: 2/3;
}
@media (min-width: 1024px) {
  .coMessege-title {
    font-size: clamp(13px, 4.0625vw, 20px);
  }
}
.coMessege-text {
  margin-left: auto;
  max-width: 92.0138888889%;
  margin-top: 5px;
  line-height: 1.6;
}
@media (min-width: 1024px) {
  .coMessege-text {
    max-width: 935px;
    margin-top: 108px;
    margin-bottom: 22px;
  }
}
.coMessege-his, .coMessege-pro {
  margin-left: auto;
  max-width: 87.5%;
  padding-bottom: 70px;
}
@media (min-width: 1024px) {
  .coMessege-his, .coMessege-pro {
    max-width: 1060px;
    padding-bottom: 100px;
  }
}
.coMessege-his__title-section, .coMessege-pro__title-section {
  max-width: 79.8611111111%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 60px;
}
@media (min-width: 1024px) {
  .coMessege-his__title-section, .coMessege-pro__title-section {
    max-width: 1060px;
    margin-right: 0;
    margin-bottom: 100px;
  }
}
.coMessege-his__container, .coMessege-pro__container{
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .coMessege-his__container, .coMessege-pro__container {
    max-width: calc(100% - 102px);
  }
}
.coMessege-his__lists, .coMessege-pro__lists {
  display: grid;
  gap: 26px;
  position: relative;
  z-index: 1;
  padding-bottom: 22px;
  margin-bottom: 8px;
}
@media (min-width: 1024px) {
  .coMessege-his__lists, .coMessege-pro__lists {
    gap: 34px;
    padding-bottom: 26px;
    margin-bottom: 0;
  }
}
.coMessege-his__lists--arrow, .coMessege-pro__lists--arrow {
  position: absolute;
  z-index: -1;
  top: 10px;
  left: 30.5555555556%;
  bottom: 0;
  height: 100%;
}
@media (min-width: 1024px) {
  .coMessege-his__lists--arrow, .coMessege-pro__lists--arrow {
    top: 15px;
    left: 21.5553235908%;
  }
}
.coMessege-his__lists--arrow::before, .coMessege-pro__lists--arrow::before, .coMessege-his__lists--arrow::after, .coMessege-pro__lists--arrow::after {
  display: block;
  content: "";
  transition: all 4s;
}
.coMessege-his__lists--arrow::after, .coMessege-pro__lists--arrow::after {
  width: 1px;
  background-color: #dcdddd;
  height: 100%;
  -webkit-transform: scale(1, 0);
          transform: scale(1, 0);
  -webkit-transform-origin: center top;
          transform-origin: center top;
}
.coMessege-his__lists--arrow::before, .coMessege-pro__lists--arrow::before {
  background-image: url("../assets/down-arrow.webp");
  background-size: contain;
  background-position: center center;
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: 10px;
  height: 9px;
  opacity: 0;
}
@media (min-width: 1024px) {
  .coMessege-his__lists--arrow::before, .coMessege-pro__lists--arrow::before {
    width: 17px;
    height: 15px;
  }
}
.coMessege-his__lists--arrow.is-animated::after, .is-animated.coMessege-pro__lists--arrow::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.coMessege-his__lists--arrow.is-animated::before, .is-animated.coMessege-pro__lists--arrow::before {
  opacity: 1;
  transition-delay: 3s;
}
.coMessege-his__list, .coMessege-pro__list {
  display: grid;
  grid-template-columns: 25.3968253968% 3.9682539683% 1fr;
  gap: 3.1746031746%;
}
@media (min-width: 1024px) {
  .coMessege-his__list, .coMessege-pro__list {
    gap: 0;
    grid-template-columns: 12.5260960334% 18.267223382% 69.2066805846%;
  }
}
.coMessege-his__list::before, .coMessege-pro__list::before{
  content: "";
  display: block;
  background-color: #1d2b56;
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 6.5px;
  order: 1;
  margin-top: 6px;
  -webkit-animation: blinking 1s ease-in-out infinite alternate;
          animation: blinking 1s ease-in-out infinite alternate;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .coMessege-his__list::before, .coMessege-pro__list::before {
    width: 10px;
    margin-top: 10px;
  }
}
.coMessege-his__list--era, .coMessege-pro__list--title {
  font-size: 4.0625vw;
  font-family: var(--Goldman_re);
  order: 0;
}
@media (min-width: 1024px) {
  .coMessege-his__list--era, .coMessege-pro__list--title {
    font-size: clamp(13px, 4.0625vw, 20px);
  }
}
.coMessege-his__list--text, .coMessege-pro__list--text {
  font-size: 4.0625vw;
  order: 2;
}
@media (min-width: 1024px) {
  .coMessege-his__list--text, .coMessege-pro__list--text {
    font-size: clamp(13px, 4.0625vw, 20px);
  }
}
.coMessege-pro {
  margin-top: 35px;
}
@media (min-width: 1024px) {
  .coMessege-pro {
    margin-top: 90px;
  }
}
.coMessege-pro__title-section {
  margin-bottom: 0;
}
.coMessege-pro__lists--arrow {
  top: 0;
}
.coMessege-pro__lists--arrow::before {
  display: none;
}
.coMessege-pro__list {
  grid-template-columns: 29.3650793651% 0% 1fr;
}
@media (min-width: 1024px) {
  .coMessege-pro__list {
    gap: 0;
    grid-template-columns: 12.5260960334% 18.267223382% 69.2066805846%;
  }
}
.coMessege-pro__list::before {
  visibility: hidden;
}
.coMessege-pro__list:first-child {
  padding-top: 9px;
}
@media (min-width: 1024px) {
  .coMessege-pro__list:first-child {
    padding-top: 25px;
  }
}
.coMessege-pro__list--text {
  padding-left: 1em;
}
@media (min-width: 1024px) {
  .coMessege-pro__list--text {
    padding-left: 0;
  }
}

@-webkit-keyframes blinking {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes blinking {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*******************************
  Contactページ
*******************************/
.form-text {
  max-width: 630px;
  margin-bottom: 50px;
}
@media (min-width: 1024px) {
  .form-text {
    margin-bottom: 100px;
  }
}
.formTable {
  width: 100%;
  margin-bottom: 50px;
}
@media (min-width: 1024px) {
  .formTable {
    margin-bottom: 100px;
  }
}
@media (max-width: 475px) {
  .formTable th,
  .formTable td {
    display: block;
  }
}
.formTable th {
  text-align: left;
  font-size: 4.0625vw;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 8px;
}
@media (min-width: 1024px) {
  .formTable th {
    font-size: clamp(13px, 4.0625vw, 20px);
    padding-top: 30px;
    padding-bottom: 30px;
    max-width: 27.8260869565%;
  }
}
.formTable th::after {
  content: attr(data-en);
  font-family: var(--Goldman_re);
  display: inline-block;
  margin-left: 1em;
}
@media (min-width: 1024px) {
  .formTable th::after {
    display: block;
    margin-left: 0;
  }
}
.formTable td {
  width: 100%;
}
.formTable td input,
.formTable td textarea {
  display: block;
  width: 100%;
  padding: 0.5rem;
  font-size: 16px;
  min-height: 4em;
}
@media (min-width: 1024px) {
  .formTable td input,
  .formTable td textarea {
    padding: 1rem;
    min-height: auto;
  }
  .formTable td {
    max-width: 72.1739130435%;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.formTable td .td-inner {
  display: block;
  position: relative;
  z-index: 1;
}
.formTable .border-top, .formTable .border-right, .formTable .border-bottom, .formTable .border-left {
  position: absolute;
  background-color: #1d2b56;
  z-index: 0;
  opacity: 0;
}
.formTable .border-top, .formTable .border-right {
  top: 0;
  right: 0;
}
.formTable .border-bottom, .formTable .border-left {
  bottom: 0;
  left: 0;
}
.formTable .border-top {
  border-top: 1px solid #1d2b56;
}
.formTable .border-right {
  border-right: 1px solid #1d2b56;
}
.formTable .border-bottom {
  border-bottom: 1px solid #1d2b56;
}
.formTable .border-left {
  border-left: 1px solid #1d2b56;
}
.formTable.is-animated .border-top, .formTable.is-animated .border-right, .formTable.is-animated .border-bottom, .formTable.is-animated .border-left {
  opacity: 1;
}
.formTable.is-animated .border-top, .formTable.is-animated .border-bottom {
  width: 100%;
  height: 1px;
  -webkit-animation: stroke-width 1.8s cubic-bezier(0.22, 1, 0.36, 1);
          animation: stroke-width 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.formTable.is-animated .border-right, .formTable.is-animated .border-left {
  height: 100%;
  width: 1px;
  -webkit-animation: stroke-height 1.8s cubic-bezier(0.22, 1, 0.36, 1);
          animation: stroke-height 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.formWrap {
  margin-bottom: 125px;
}
@media (min-width: 1024px) {
  .formWrap {
    margin-bottom: 196px;
  }
}

.formmb {
  margin-bottom: 150px;
}
@media (min-width: 1024px) {
  .formmb {
    margin-bottom: 250px;
  }
}
.formmb-inner {
  border: 1px solid #1d2b56;
  aspect-ratio: 240/330;
  display: grid;
  justify-content: center;
  align-items: center;
  align-content: center;
}
@media (min-width: 1024px) {
  .formmb-inner {
    aspect-ratio: 900/400;
  }
}

@-webkit-keyframes stroke-width {
  0% {
    width: 0;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}

@keyframes stroke-width {
  0% {
    width: 0;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}
@-webkit-keyframes stroke-height {
  0% {
    height: 0;
    opacity: 1;
  }
  100% {
    height: 100%;
    opacity: 1;
  }
}
@keyframes stroke-height {
  0% {
    height: 0;
    opacity: 1;
  }
  100% {
    height: 100%;
    opacity: 1;
  }
}
/*******************************
  Businessページ
*******************************/
.ourBusiness-head {
  margin-bottom: 55px;
}
@media (min-width: 1024px) {
  .ourBusiness-head {
    margin-bottom: 137px;
    margin-top: 20px;
  }
}
.ourBusiness-subtitle, .ourBusiness-subtitle--en {
  font-family: var(--Gothick_md);
  font-size: 4.0625vw;
  position: relative;
  z-index: 1;
  margin-bottom: 1.5rem;
  max-width: 90%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .ourBusiness-subtitle, .ourBusiness-subtitle--en {
    font-size: clamp(13px, 4.0625vw, 20px);
    max-width: auto;
    margin-left: 0;
    margin-right: 0;
  }
}
.ourBusiness-subtitle::before, .ourBusiness-subtitle--en::before {
  content: attr(data-en);
  font-family: var(--Goldman_re);
  display: block;
}
@media (min-width: 1024px) {
  .ourBusiness-subtitle::before, .ourBusiness-subtitle--en::before {
    display: inline-block;
    margin-right: 34px;
  }
}
.ourBusiness-subtitle::after, .ourBusiness-subtitle--en::after {
  content: "";
  display: block;
  height: 1.5px;
  max-width: 0;
  background-color: #1d2b56;
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  margin-top: 1.2rem;
}
@media (min-width: 1024px) {
  .ourBusiness-subtitle::after, .ourBusiness-subtitle--en::after {
    margin-top: 1.5rem;
  }
}
.ourBusiness-subtitle.is-animated::after, .is-animated.ourBusiness-subtitle--en::after {
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media (min-width: 1024px) {
  .ourBusiness-subtitle.is-animated::after, .is-animated.ourBusiness-subtitle--en::after {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
.ourBusiness-subtitle--en {
  font-family: var(--Goldman_re);
}
.ourBusiness-subtitle--en::before {
  display: none;
}
.ourBusiness-subtitle--en .inner {
  margin-left: auto;
  display: block;
}
@media (min-width: 1024px) {
  .ourBusiness-subtitle--en .inner {
    max-width: 100%;
    margin-left: 0;
  }
}
.ourBusiness-text {
  max-width: 930px;
}
.ourBusiness-contents {
  background-color: #efefef;
  padding-top: 50px;
  padding-bottom: 150px;
}
@media (min-width: 1024px) {
  .ourBusiness-contents {
    padding-top: 130px;
    padding-bottom: 275px;
  }
}
.ourBusiness-civil {
  margin-bottom: 70px;
}
@media (min-width: 1024px) {
  .ourBusiness-civil {
    margin-bottom: 130px;
  }
}
.ourBusiness-civil__title, .ourBusiness-soil__title {
  margin-bottom: 20px;
  font-size: 4.0625vw;
  display: grid;
}
@media (min-width: 1024px) {
  .ourBusiness-civil__title, .ourBusiness-soil__title {
    font-size: clamp(13px, 4.0625vw, 20px);
    display: block;
    margin-bottom: 50px;
  }
}
.ourBusiness-civil__title::before, .ourBusiness-soil__title::before {
  content: attr(data-en);
  font-size: 12.5vw;
  font-family: var(--Goldman_re);
  margin-right: 20px;
  line-height: 1.2;
  display: inline-block;
}
@media (min-width: 1024px) {
  .ourBusiness-civil__title::before, .ourBusiness-soil__title::before {
    font-size: clamp(40px, 12.5vw, 80px);
    margin-right: 38px;
  }
}
.ourBusiness-civil__inner, .ourBusiness-soil__inner {
  max-width: 275px;
  margin-left: auto;
  display: contents;
}
@media (min-width: 1024px) {
  .ourBusiness-civil__inner, .ourBusiness-soil__inner {
    display: block;
    max-width: 100%;
    margin-left: 0;
  }
}
.ourBusiness-civil__inner-wrap, .ourBusiness-soil__inner-wrap {
  position: relative;
  z-index: 1;
  padding-bottom: 65px;
  padding-top: 35px;
}
@media (min-width: 1024px) {
  .ourBusiness-civil__inner-wrap, .ourBusiness-soil__inner-wrap {
    margin-top: 55px;
    padding-top: 100px;
    padding-bottom: 275px;
  }
}
.ourBusiness-civil__inner-wrap::before, .ourBusiness-soil__inner-wrap::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: #ffffff;
  border-radius: 20px 0 0 20px;
  width: 100%;
  max-width: 95%;
}
@media (min-width: 1024px) {
  .ourBusiness-civil__inner-wrap::before, .ourBusiness-soil__inner-wrap::before {
    max-width: 85.4166666667%;
  }
}
.ourBusiness-soil__inner-wrap::before {
  border-radius: 0 20px 20px 0;
  left: 0;
  right: inherit;
}

.civil-feature__inner, .soil-feature__inner {
  max-width: 1080px;
  margin-left: auto;
}
.civil-feature__item, .soil-feature__item {
  counter-increment: num;
  border-bottom: 1px solid #1d2b56;
  display: grid;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 30px;
  margin-right: calc(50% - 50vw);
}
@media (min-width: 1024px) {
  .civil-feature__item, .soil-feature__item {
    padding-top: 40px;
    padding-bottom: 40px;
    grid-template-columns: 7.4074074074% 41.6666666667% 50.9259259259%;
    margin-right: 0;
  }
}
@media (max-width: 476px) {
  .civil-feature__item:first-child, .soil-feature__item:first-child {
    padding-top: 0;
  }
}
.civil-feature__item:last-child, .soil-feature__item:last-child {
  border-bottom: none;
  margin-bottom: 50px;
}
@media (min-width: 1024px) {
  .civil-feature__item:last-child, .soil-feature__item:last-child {
    margin-bottom: 3px;
  }
}
.civil-feature__item::before, .soil-feature__item::before {
  content: counter(num, decimal-leading-zero);
  font-family: var(--Goldman_re);
  font-size: 4.0625vw;
  margin-bottom: 10px;
  max-width: 90.4605263158%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .civil-feature__item::before, .soil-feature__item::before {
    font-size: clamp(13px, 4.0625vw, 20px);
    max-width: auto;
    text-align: center;
    margin-bottom: 0;
  }
}
.civil-feature__item--title, .soil-feature__item--title {
  font-size: 6.25vw;
  font-family: var(--Gothick_bd);
  margin-bottom: 10px;
  max-width: 90.4605263158%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .civil-feature__item--title, .soil-feature__item--title {
    font-size: clamp(20px, 6.25vw, 30px);
    max-width: 100%;
    margin-bottom: 0;
  }
}
.civil-feature__item--text, .soil-feature__item--text {
  font-family: var(--Gothick_md);
  font-size: 4.0625vw;
  max-width: 90.4605263158%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.8;
}
@media (min-width: 1024px) {
  .civil-feature__item--text, .soil-feature__item--text {
    font-size: clamp(13px, 4.0625vw, 20px);
    max-width: 100%;
  }
}
.civil-feature__btn, .soil-feature__btn {
  margin-top: 30px;
}
.civil-feature__btn button, .soil-feature__btn button {
  background-color: #1d2b56;
  border: 1px solid #1d2b56;
  color: #ffffff;
  border-radius: 50%;
  padding: 10px;
  width: 45px;
  height: 30px;
  position: relative;
  z-index: 1;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.civil-feature__btn button::after, .soil-feature__btn button::after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: 14px;
  border-left: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  rotate: -45deg;
  position: relative;
  left: 50%;
  top: 0;
  translate: -50% -50%;
}
.civil-feature__btn button:hover, .soil-feature__btn button:hover {
  cursor: pointer;
  background-color: #ffffff;
}
.civil-feature__btn button:hover::after, .soil-feature__btn button:hover::after {
  border-left-color: #1d2b56;
  border-bottom-color: #1d2b56;
}
.civil-feature__btn button.is-open::after, .soil-feature__btn button.is-open::after {
  rotate: 135deg;
  translate: -50% 0;
}
.civil-pjt__items {
  display: grid;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  row-gap: 25px;
  margin-top: 50px;
  transition: all 0.4s;
}
@media (min-width: 1024px) {
  .civil-pjt__items {
    row-gap: 125px;
    margin-top: 110px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.civil-pjt__item--img img {
  margin-bottom: 15px;
}
.civil-pjt__item--img figcaption {
  font-size: 4.0625vw;
  text-indent: 1em;
}
@media (min-width: 1024px) {
  .civil-pjt__item--img figcaption {
    font-size: clamp(13px, 4.0625vw, 20px);
    text-indent: 0;
  }
}

.soil-feature__inner {
  margin-left: 0;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .soil-feature__inner {
    margin-bottom: 100px;
  }
}
.soil-feature__item {
  margin-right: 0;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 1024px) {
  .soil-feature__item {
    margin-left: 0;
  }
}
.soil-feature__item::before {
  text-align: left;
}
.soil-process {
  display: grid;
  max-width: 95.4861111111%;
  margin-bottom: 70px;
  gap: 15px;
  align-items: flex-end;
}
@media (min-width: 1024px) {
  .soil-process {
    max-width: 880px;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 110px;
    padding-top: 50px;
  }
}
.soil-process__wrap {
  max-width: 1190px;
  margin-left: auto;
  margin-right: auto;
}
.soil-process__item {
  transition: all 0.4s;
}
.soil-process.is-animated .soil-process__item {
  opacity: 1;
}
.soil-process.is-animated .soil-process__item:nth-child(2) {
  transition-delay: 0.6s;
}
.soil-process.is-animated .soil-process__item:nth-child(3) {
  transition-delay: 1.2s;
}
.soil-process.is-animated .soil-process__item:nth-child(4) {
  transition-delay: 1.8s;
}

.pp-arts {
  display: grid;
}
.pp-art {
  counter-increment: num;
  border-top: 1px solid #1d2b56;
  padding-top: 50px;
  padding-bottom: 50px;
}
@media (min-width: 1024px) {
  .pp-art {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.pp-art__title {
  font-size: 6.25vw;
  font-family: var(--Gothick_bd);
  margin-bottom: 7px;
}
@media (min-width: 1024px) {
  .pp-art__title {
    font-size: clamp(20px, 6.25vw, 30px);
    margin-bottom: 20px;
  }
}
.pp-art__title::before {
  content: "第" counter(num) "条（";
}
.pp-art__title::after {
  content: "）";
}
.pp-art__text {
  font-size: 4.0625vw;
  font-family: var(--Gothick_md);
  line-height: 1.7;
}
@media (min-width: 1024px) {
  .pp-art__text {
    font-size: clamp(13px, 4.0625vw, 20px);
  }
}
.pp-art__text ol {
  list-style: none;
  list-style-position: inside;
}
.pp-art__text ol > li {
  counter-increment: ol;
  position: relative;
  padding-left: 1.7em;
}
.pp-art__text ol > li::before {
  content: counter(ol) ". ";
  position: absolute;
  left: 0;
  top: 0;
}
.pp-art__text ul > li {
  position: relative;
  padding-left: 1.2em;
}
.pp-art__text ul > li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
@media (min-width: 1024px){
  .lg\:mb-\[70px\]{
    margin-bottom: 70px;
  }
}
