@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:where(:root) {
  line-break: strict;
  overflow-wrap: anywhere;
  text-autospace: normal;
  text-spacing-trim: trim-start;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  font-size: var(--base-font-size);
}

:where(h1, h2, h3, h4, h5, h6) {
  margin-block: unset;
  font-size: 1em;
  font-weight: normal;
  line-height: 1.5em;
  text-wrap: pretty;
}

:where(em) {
  font-style: normal;
  font-weight: normal;
}

:where(small) {
  font-size: 0.8em;
}

:where(address:lang(ja)) {
  font-style: unset;
}

:where(p, pre, address) {
  margin-block: unset;
}

:where(p:lang(en)) {
  text-wrap: pretty;
}

:where(pre) {
  text-autospace: no-autospace;
  text-spacing-trim: space-all;
}

:where(time) {
  text-autospace: no-autospace;
}

:where(a) {
  outline: unset;
}

:where(a:-moz-any-link) {
  color: unset;
  text-decoration-line: unset;
  text-decoration-thickness: from-font;
}

:where(a:any-link) {
  color: unset;
  text-decoration-line: unset;
  text-decoration-thickness: from-font;
}

:where(img, picture, video, canvas, audio, embed, object) {
  block-size: auto;
  max-inline-size: 100%;
  vertical-align: bottom;
}

:where(img) {
  width: 100%;
  height: auto;
}

:where(svg) {
  block-size: 100%;
  height: auto;
}

/*:where(iframe) {
  block-size: auto;
  max-inline-size: 100%;
  border: unset;
}*/

:where(blockquote, figure, dl) {
  margin-block: unset;
  margin-inline: unset;
}

:where(dd) {
  -webkit-margin-start: unset;
          margin-inline-start: unset;
}

:where(ul, ol) {
  list-style-type: "";
  margin-block: unset;
  -webkit-padding-start: unset;
          padding-inline-start: unset;
}

:where(summary) {
  list-style-type: "";
  cursor: pointer;
}

:where(summary)::-webkit-details-marker {
  display: none;
}

summary::-webkit-details-marker {
  display: none;
}

:where(table) {
  border-collapse: collapse;
}

:where(caption, th) {
  text-align: unset;
}

:where(caption) {
  text-wrap: pretty;
}

::-webkit-file-upload-button {
  border: none;
  border-color: unset;
  border-radius: unset;
  outline: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}

:where(button, input, select, textarea),
::file-selector-button {
  border: none;
  border-color: unset;
  border-radius: unset;
  outline: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}

:where(input:not([type=button],
[type=submit],
[type=reset]),
textarea,
[contenteditable]) {
  text-autospace: no-autospace;
}

::-webkit-file-upload-button {
  background-color: unset;
  touch-action: manipulation;
  cursor: pointer;
}

:where(button,
input:is([type=button], [type=submit], [type=reset])),
::file-selector-button {
  background-color: unset;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
}

:where(input:is([type=radio], [type=checkbox])) {
  margin: unset;
}

:where(input[type=file]) {
  border: unset;
}

:where(textarea) {
  margin-block: unset;
  resize: vertical;
}

:where(textarea:not([rows])) {
  min-height: 10em;
}

:where(fieldset) {
  min-inline-size: 0;
  margin-inline: unset;
  padding: unset;
  border: unset;
}

:where(legend) {
  padding-inline: unset;
}

:where(progress) {
  vertical-align: unset;
}

:where(:focus-visible) {
  outline-offset: 3px;
}

.loader {
  pointer-events: none;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100vh;
}

.loader-back {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  height: 100%;
}

.loader-logo {
  width: 120px;
  -webkit-transition: -webkit-filter 1000ms;
  transition: -webkit-filter 1000ms;
  transition: filter 1000ms;
  transition: filter 1000ms, -webkit-filter 1000ms;
}
.loader-logo.is-blur {
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: none;
  transition: none;
}

.viewport {
  pointer-events: none;
  visibility: hidden;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  width: 1px;
  height: 1px;
}

.viewport-size,
.viewport-bar-size {
  position: fixed;
  inset: 0;
}

.viewport-bar-size {
  width: calc(100vw - 100%);
  height: calc(100vh - 100%);
}

.icon-circle {
  --bg-color: currentColor;
  width: max(27px, 1.98vw);
  height: max(27px, 1.98vw);
  border-radius: 50%;
  background-color: var(--bg-color);
}
.icon-circle.has-icon-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.has-icon-arrow svg {
  fill: #fff;
  width: max(10px, 0.73vw);
  height: max(10px, 0.73vw);
}

.comp-button {
  --size: max(27px, 1.98vw);
  --color: var( --navy-100 );
  --hover-color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.85em;
     -moz-column-gap: 0.85em;
          column-gap: 0.85em;
  min-height: var(--size);
  border-radius: var(--size);
  font-size: var(--font-size-14);
}
.comp-button.color-white {
  --color: #fff;
  --hover-color: var( --navy-100 );
}

.comp-button-icon {
  display: inline-block;
  vertical-align: top;
  width: var(--size);
  height: var(--size);
}
.comp-button-icon span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  vertical-align: inherit;
  width: 100%;
  height: 100%;
  border-radius: var(--size);
  background-color: var(--color);
  color: var(--color);
}
.comp-button-icon svg {
  fill: var(--hover-color);
  width: max(10px, 0.73vw);
}

.comp-button-label {
  -webkit-padding-after: 0.1em;
          padding-block-end: 0.1em;
  color: var(--color);
  font-family: var(--zen-old-mincho);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
}

.comp-button-grad {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 21.43em;
  min-height: 3.71em;
  padding: 0.1em 0.5em 0.2em;
  border-radius: 3.71em;
  background-image: -webkit-gradient(linear, left bottom, right top, from(#6dacc5), to(#b6adce));
  background-image: linear-gradient(to top right, #6dacc5, #b6adce);
  background-repeat: no-repeat;
  color: #fff;
  font-size: var(--font-size-14);
  font-weight: var(--weight-bold);
}

.common-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  row-gap: 4vw;
}

.common-title-ja {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  padding-bottom: 0.65em;
  border-bottom: 1px solid var(--navy-100);
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-12);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
  line-height: 1em;
}
.common-title-ja.style-font-size-26 {
  font-size: var(--font-size-26);
}
.common-title-ja.style-unset-border {
  border-bottom: none;
}

.common-title-en {
  font-family: var(--minerva-modern);
  font-size: max(4rem, 7.32vw);
  line-height: 0.75em;
}
.common-title-en.style-font-size-80 {
  -webkit-margin-after: -0.155em;
          margin-block-end: -0.155em;
  font-size: max(3.6rem, 5.85vw);
  line-height: 1.06em;
}
.common-title-en.style-font-size-60 {
  -webkit-margin-after: -0.155em;
          margin-block-end: -0.155em;
  font-size: max(2.933rem, 4.39vw);
  line-height: 1.06em;
}

.common-heading-36 {
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-36);
  font-weight: var(--weight-semi-bold);
  line-height: 1.72em;
}

.common-heading-26 {
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-26);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}

.common-heading-24 {
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-24);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}

.common-heading-20 {
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-20);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}

.common-lead-14 {
  font-size: var(--font-size-14);
  letter-spacing: 0.05em;
  line-height: 2em;
  text-align: justify;
  word-break: break-all;
}
.common-lead-14.has-lh-wide {
  line-height: 2.57em;
}

.common-lead-16 {
  --lh: 2.25em;
  font-size: var(--font-size-16);
  letter-spacing: 0.05em;
  line-height: var(--lh);
  text-align: justify;
  word-break: break-all;
}

.style-has-sphere {
  position: relative;
  z-index: 0;
}

.style-has-sphere-back {
  --side-rad: 50%;
  --vert-rad: 50vw;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  inset: 0;
}
.style-has-sphere-back div {
  width: 200%;
  height: 100%;
  border-top-left-radius: var(--side-rad) var(--vert-rad);
  border-top-right-radius: var(--side-rad) var(--vert-rad);
  background-image: -webkit-gradient(linear, left bottom, right top, from(#fff), to(#e8e7eb));
  background-image: linear-gradient(to top right, #fff, #e8e7eb);
  background-repeat: no-repeat;
  translate: -25% 0;
}

:root {
  --white: #fff;
  --black: #000;
  --navy: #1b1f26;
  --navy-100: #083650;
  --blue: #164a84;
  --blue-100: #567ca5;
  --blue-200: #cedbe9;
  --zen-old-mincho: "Zen Old Mincho", serif;
  --noto-sans: "Noto Sans JP", sans-serif;
  --noto-serif: "Noto Serif JP", serif;
  --zen-kaku-gothic-new: "Zen Kaku Gothic New", sans-serif;
  --poppins: "Poppins", sans-serif;
  /*--minerva-modern: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;*/
  --minerva-modern: "minerva-modern", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --gothic: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --mincho: "HiraMinProN-W3", "HG明朝E", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", "MS Mincho", cursive, serif;
  --base-font-color: var( --black );
  --base-font-family: var( --noto-sans );
  --base-font-size: 10px;
  --base-font-weight: 400;
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semi-bold: 600;
  --weight-bold: 700;
  --font-size-10: max(1rem, 0.72vw);
  --font-size-11: max(1.1rem, 0.8vw);
  --font-size-12: max(1.2rem, 0.87vw);
  --font-size-13: max(1.3rem, 0.94vw);
  --font-size-14: max(1.4rem, 1.01vw);
  --font-size-15: max(1.433rem, 1.09vw);
  --font-size-16: max(1.467rem, 1.16vw);
  --font-size-17: max(1.5rem, 1.23vw);
  --font-size-18: max(1.533rem, 1.3vw);
  --font-size-19: max(1.567rem, 1.37vw);
  --font-size-20: max(1.6rem, 1.45vw);
  --font-size-21: max(1.633rem, 1.52vw);
  --font-size-22: max(1.667rem, 1.59vw);
  --font-size-23: max(1.7rem, 1.66vw);
  --font-size-24: max(1.733rem, 1.74vw);
  --font-size-25: max(1.767rem, 1.81vw);
  --font-size-26: max(1.8rem, 1.88vw);
  --font-size-27: max(1.833rem, 1.95vw);
  --font-size-28: max(1.867rem, 2.03vw);
  --font-size-29: max(1.9rem, 2.1vw);
  --font-size-30: max(1.933rem, 2.17vw);
  --font-size-31: max(1.967rem, 2.24vw);
  --font-size-32: max(2rem, 2.32vw);
  --font-size-33: max(2.033rem, 2.39vw);
  --font-size-34: max(2.067rem, 2.46vw);
  --font-size-35: max(2.1rem, 2.53vw);
  --font-size-36: max(2.133rem, 2.6vw);
  --font-size-37: max(2.167rem, 2.68vw);
  --font-size-38: max(2.2rem, 2.75vw);
  --font-size-39: max(2.233rem, 2.82vw);
  --font-size-40: max(2.267rem, 2.89vw);
  --font-size-41: max(2.3rem, 2.97vw);
  --font-size-42: max(2.333rem, 3.04vw);
  --font-size-43: max(2.367rem, 3.11vw);
  --font-size-44: max(2.4rem, 3.18vw);
  --font-size-45: max(2.433rem, 3.26vw);
  --font-size-46: max(2.467rem, 3.33vw);
  --block-trim: calc( ( 1em - 1lh ) / 2 );
  --viewport-width: 100vw;
  --viewport-height: 100vh;
  --viewport-ratio: calc( var( --viewport-width ) / var( --viewport-height ) );
  --scrollbar-width: 0px;
  --scrollbar-height: 0px;
  --grid-space-x: max(20px, 5.33vw);
}

html {
  color: var(--base-font-color);
  font-family: var(--base-font-family);
  font-size: var(--base-font-size);
  font-weight: var(--base-font-weight);
  font-style: normal;
}

.site-header {
  pointer-events: none;
  position: fixed;
  z-index: 8;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transition: opacity 400ms;
  transition: opacity 400ms;
}
html.is-loading .site-header {
  -webkit-padding-end: var(--scrollbar-width);
          padding-inline-end: var(--scrollbar-width);
}
.site-header.is-hide {
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}

.site-header-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-padding-before: max(15px, 4vw);
          padding-block-start: max(15px, 4vw);
  padding-inline: max(20px, 5.33vw);
}

.site-header-logo {
  width: 33%;
  max-width: 164px;
}
.site-header-logo h1, .site-header-logo a {
  pointer-events: auto;
}

.site-header-nav {
  display: none;
}

.site-header-nav-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(1.4rem, calc(0.7rem + 0.51vw));
}
.site-header-nav-layout a {
  color: var(--blue);
  font-weight: var(--weight-medium);
  letter-spacing: 0.05em;
  line-height: 1em;
}
.site-header-nav-layout > a,
.site-header-nav-layout .has-branch > a {
  pointer-events: auto;
}
.site-header-nav-layout .has-branch {
  width: 100%;
}
.site-header-nav-layout .has-cross span {
  display: none;
}
.site-header-nav-layout .branch-layout {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2em 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
  row-gap: 0.75em;
  -webkit-margin-after: -0.25em;
          margin-block-end: -0.25em;
  -webkit-margin-start: 0.25em;
          margin-inline-start: 0.25em;
  -webkit-padding-before: 1em;
          padding-block-start: 1em;
}
.site-header-nav-layout .branch a {
  display: inline-block;
  padding: 0.5em 0.25em;
  /*background-color: rgba(255, 255, 255, 0.9);*/
  white-space: nowrap;
  color: #000000;
}

.site-header-contact {
  -webkit-margin-start: max(20px, 1.46vw);
          margin-inline-start: max(20px, 1.46vw);
  font-size: max(1.1rem, calc(0.6rem + 0.37vw));
  letter-spacing: 0.05em;
}
.site-header-contact li a {
  pointer-events: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.1em 2em 1.2em;
  border-radius: 3em;
  background-image: -webkit-gradient(linear, left bottom, right top, from(#6dacc5), to(#b6adce));
  background-image: linear-gradient(to top right, #6dacc5, #b6adce);
  background-repeat: no-repeat;
  color: #fff;
  line-height: 1em;
}


.site-header-trigger {
  position: absolute;
  top: 25px;
  right: 29px;
  z-index: 100;
}
.site-header-trigger label{
	display: block;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
.site-header-trigger label span {
  display: block;
  width: 30px;
  height: 1px;
  background-color: var(--black);
  margin: 6px 0;
  transition: transform .3s, opacity .3s;
}

/*ハンバーガーメニューの実装(1)*/
.site-header {
  pointer-events: auto;
}
.nav-toggle, .branch-service-toggle {
  display: none;
}
.site-header-links,
.site-header-copyright{
  display: none;
}
/*//ハンバーガーメニューの実装(1)　ここまで*/


body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background-color: var(--white);
}
html.is-loading body {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  -webkit-padding-end: var(--scrollbar-width);
          padding-inline-end: var(--scrollbar-width);
}
body.home {
  position: relative;
  z-index: 0;
}

.common-contact {
  padding: max(40px, 10.67vw) var(--grid-space-x);
  background-image: radial-gradient(at 0% 100%, #6dacc5, #b6adce);
}
.common-contact body:not(.home) {
  -webkit-margin-before: max(80px, 21.33vw);
          margin-block-start: max(80px, 21.33vw);
}

.common-contact-layout {
  display: -ms-grid;
  display: grid;
  row-gap: max(40px, 8.32vw);
}

.common-contact-section {
  display: -ms-grid;
  display: grid;
  row-gap: max(20px, 4.16vw);
  color: var(--white);
}
.common-contact-section hgroup {
  display: -ms-grid;
  display: grid;
}
.common-contact-section hgroup p {
  opacity: 0.6;
  font-family: var(--poppins);
  font-size: var(--font-size-14);
  letter-spacing: 0.05em;
}
.common-contact-section hgroup h2 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-28);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}

.common-contact-section-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.common-contact-section-link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 21.43em;
  height: 3.57em;
  border-radius: 3.57em;
  background-color: #154a84;
  font-size: var(--font-size-14);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
}
@supports (mix-blend-mode: screen) {
  .common-contact-section-link a {
    mix-blend-mode: screen;
  }
}

.site-footer {
  background-color: var(--white);
}

.site-footer-layout {
  display: -ms-grid;
  display: grid;
  row-gap: clamp(50px, 13.33vw, 80px);
  padding: clamp(50px, 13.33vw, 120px) var(--grid-space-x);
}
.site-footer-logo a, .site-footer-logo img {
  display: block;
}
.site-footer-logo a {
  width: 33%;
  max-width: 164px;
}

.site-footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  row-gap: clamp(30px, 8vw, 50px);
  font-size: max(1.3rem, calc(0.7rem + 0.44vw));
  letter-spacing: 0.05em;
}
.site-footer-nav .has-branch {
  width: 100%;
}
.site-footer-nav .has-cross span {
  display: none;
}
.site-footer-nav .branch-layout {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2em 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
  row-gap: 0.75em;
  -webkit-margin-after: -0.25em;
          margin-block-end: -0.25em;
  -webkit-margin-start: 0.25em;
          margin-inline-start: 0.25em;
  -webkit-padding-before: 1em;
          padding-block-start: 1em;
}
@media screen and (max-width: 767px){
.site-footer-nav .branch-layout {
	grid-template-columns: 1fr;
}
}
.site-footer-nav .branch a {
  display: inline-block;
  padding: 0.25em;
  /*background-color: rgba(255, 255, 255, 0.9);*/
  white-space: nowrap;
}

.site-footer-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  font-family: var(--poppins);
  font-size: var(--font-size-12);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}
.site-footer-links .has-icon {
  display: block;
  width: 24px;
  padding: 2px;
}
.site-footer-links a img {
  display: block;
}

.site-footer-copyright {
  font-size: var(--font-size-12);
  letter-spacing: 0.05em;
}

.home-hero {
  overflow: hidden;
}

.home-hero-desc {
  -webkit-padding-before: max(80px, 24vw);
          padding-block-start: max(80px, 24vw);
  padding-inline: 13.33vw;
}
.home-hero-desc h2 {
  color: var(--navy-100);
  font-family: var(--zen-old-mincho);
  font-size: max(2.933rem, 4.24vw);
  font-weight: var(--weight-medium);
  letter-spacing: 0.05em;
  line-height: 1.5em;
}
.home-hero-desc p {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  color: var(--navy-100);
  font-family: var(--poppins);
  font-size: var(--font-size-14);
  letter-spacing: 0.3em;
}

.home-hero-cover {
  position: relative;
  z-index: 0;
  width: 80vw;
  height: 100vw;
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}

.home-hero-cover-layer {
  width: 100vw;
  height: 100vw;
  translate: 10vw 0;
}
.home-hero-cover-layer > img {
  opacity: 0.15;
  position: absolute;
  z-index: -1;
  bottom: 51%;
  right: 57%;
  display: block;
  width: 120%;
  max-inline-size: unset;
  -webkit-transform: translate3d(50%, 50%, 0);
          transform: translate3d(50%, 50%, 0);
}
@supports (mix-blend-mode: plus-lighter) {
  .home-hero-cover-layer > img {
    mix-blend-mode: plus-lighter;
  }
}

.home-hero-cover-mask {
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.home-hero-cover-mask img,
.home-hero-cover-mask video,
.home-hero-cover-mask iframe {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  width: 100%;
  height: 100%;
}

.home-who-we-are {
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
}

.home-who-we-are-layout {
  display: -ms-grid;
  display: grid;
  row-gap: max(30px, 8vw);
  margin-inline: var(--grid-space-x);
}

.home-who-we-are-title {
  display: -ms-grid;
  display: grid;
  row-gap: 20px;
}
.home-who-we-are-title h2 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-40);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
  line-height: 1.5em;
}
.home-who-we-are-title p {
  font-family: var(--minerva-modern);
  font-size: var(--font-size-14);
}

.home-who-we-are-figure {
  overflow: hidden;
  -webkit-margin-start: calc(var(--grid-space-x) * -1);
          margin-inline-start: calc(var(--grid-space-x) * -1);
}

.home-who-we-are-figure-layout {
  aspect-ratio: 1;
  -webkit-margin-start: -8.71%;
          margin-inline-start: -8.71%;
}
.home-who-we-are-figure-layout > div {
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.home-who-we-are-figure-layout > div img,
.home-who-we-are-figure-layout > div video,
.home-who-we-are-figure-layout > div iframe {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  width: 100%;
  height: 100%;
}

.home-who-we-are-lead {
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-20);
  letter-spacing: 0.05em;
  line-height: 2.3em;
}

.home-who-we-are-more {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}

.home-introduce {
  background-image: -webkit-gradient(linear, left bottom, right top, from(#fff), to(#e8e7eb));
  background-image: linear-gradient(to top right, #fff, #e8e7eb);
  background-repeat: no-repeat;
}

.home-introduce-slider {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-margin-before: 13.33vw;
          margin-block-start: 13.33vw;
}
.home-introduce-slider ul {
  --size: 46.67vw;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: inherit;
  -ms-flex-wrap: inherit;
      flex-wrap: inherit;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-animation-name: loopHomeIntroduceSlider;
          animation-name: loopHomeIntroduceSlider;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 90s;
          animation-duration: 90s;
}
.home-introduce-slider li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-width: var(--size);
  max-width: var(--size);
  -webkit-padding-end: max(7px, 1.87vw);
          padding-inline-end: max(7px, 1.87vw);
}
.home-introduce-slider li:nth-child(2n+1) {
  -webkit-margin-before: 4vw;
          margin-block-start: 4vw;
}
.home-introduce-slider li img {
  display: block;
}

@-webkit-keyframes loopHomeIntroduceSlider {
  to {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
}

@keyframes loopHomeIntroduceSlider {
  to {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
}
.home-banners {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-margin-before: 8vw;
          margin-block-start: 8vw;
}
.home-banners ul {
  --size: 9.33vw;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: inherit;
  -ms-flex-wrap: inherit;
      flex-wrap: inherit;
  -webkit-column-gap: 6.67vw;
     -moz-column-gap: 6.67vw;
          column-gap: 6.67vw;
  -webkit-transform: translate3d(0%, 0, 0);
          transform: translate3d(0%, 0, 0);
  -webkit-animation-name: loopHomeBannersSlider;
          animation-name: loopHomeBannersSlider;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 90s;
          animation-duration: 90s;
}
.home-banners li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.home-banners li img {
  display: block;
  width: auto;
  min-height: var(--size);
  max-height: var(--size);
}

@-webkit-keyframes loopHomeBannersSlider {
  to {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@keyframes loopHomeBannersSlider {
  to {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

.home-service {
  -webkit-margin-before: 16vw;
          margin-block-start: 16vw;
}

.home-service-desc {
  margin-inline: var(--grid-space-x);
}

.home-service-subtitle {
  -webkit-margin-before: 8vw;
          margin-block-start: 8vw;
}

.home-service-lead {
  -webkit-margin-before: 5.33vw;
          margin-block-start: 5.33vw;
  font-family: var(--zen-kaku-gothic-new);
}

.home-service-more {
  -webkit-margin-before: 8vw;
          margin-block-start: 8vw;
}

.home-service-figure {
  display: none;
}

.home-service-figure-list {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  height: 100%;
  border-radius: 100% 0 0 100%/50%;
}
.home-service-figure-list li {
  position: absolute;
}
.home-service-figure-list li > div {
  font-size: var(--font-size-16);
}
.home-service-figure-list li .term,
.home-service-figure-list li .desc {
  white-space: nowrap;
}
.home-service-figure-list li .term {
  color: #949494;
  font-family: var(--poppins);
  font-size: var(--font-size-10);
  letter-spacing: 0.05em;
  line-height: 1em;
}
.home-service-figure-list li .desc {
  -webkit-margin-before: max(5px, 0.37vw);
          margin-block-start: max(5px, 0.37vw);
  font-family: var(--zen-old-mincho);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}

.home-service-figure-point {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  height: 100%;
  border-radius: 100% 0 0 100%/50%;
}
.home-service-figure-point div {
  position: absolute;
  border-radius: 50%;
}

.home-service-figure-circle {
  pointer-events: none;
}
.home-service-figure-circle .mask {
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background-image: -webkit-gradient(linear, left bottom, right top, from(#6dacc5), to(#b6adce));
  background-image: linear-gradient(to top right, #6dacc5, #b6adce);
  background-repeat: no-repeat;
}

.home-service-list {
  display: -ms-grid;
  display: grid;
  row-gap: 10.67vw;
  -webkit-margin-before: 18.67vw;
          margin-block-start: 18.67vw;
}
.home-service-list-item > div {
  margin-inline: var(--grid-space-x);
  border-top: 1px solid #d9d9d9;
  background-color: var(--white);
}

.home-service-list-item-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  padding: max(10px, 2.67vw) max(10px, 2.67vw) max(15px, 4vw);
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-12);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}

.home-service-list-item-body {
  overflow: hidden;
  position: relative;
  z-index: 0;
  border-radius: 3.66vw;
  color: #fff;
}

.home-service-list-item-thumb {
  position: absolute;
  z-index: -1;
  inset: 0;
}
.home-service-list-item-thumb::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #b5b5b5;
}
@supports not (mix-blend-mode: multiply) {
  .home-service-list-item-thumb::before {
    opacity: 0.5;
  }
}
@supports (mix-blend-mode: multiply) {
  .home-service-list-item-thumb::before {
    mix-blend-mode: multiply;
  }
}
.home-service-list-item-thumb img,
.home-service-list-item-thumb video {
  position: absolute;
  z-index: -1;
  inset: 0 0 0 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  width: 100%;
  height: 100%;
}

.home-service-list-item-desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 8vw var(--grid-space-x);
  border-radius: inherit;
}
.home-service-list-item-desc hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  row-gap: max(10px, 2.08vw);
}
.home-service-list-item-desc hgroup p {
  font-family: var(--minerva-modern);
  font-size: max(3.6rem, 5.85vw);
  line-height: 1em;
}
.home-service-list-item-desc hgroup h3 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-13);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
  line-height: 1em;
}

.home-service-list-item-lead {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-20);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
  line-height: 1.5em;
}

.home-service-list-item-more {
  -webkit-margin-before: 8vw;
          margin-block-start: 8vw;
}

.home-case-desc {
  margin-inline: var(--grid-space-x);
}

.home-case-subtitle {
  -webkit-margin-before: 8vw;
          margin-block-start: 8vw;
}

.home-case-lead {
  -webkit-margin-before: 5.33vw;
          margin-block-start: 5.33vw;
  font-family: var(--zen-kaku-gothic-new);
}

.home-case-more {
  -webkit-margin-before: 8vw;
          margin-block-start: 8vw;
}

.home-case-slider {
  -webkit-margin-before: 10.67vw;
          margin-block-start: 10.67vw;
  -webkit-padding-start: var(--grid-space-x);
          padding-inline-start: var(--grid-space-x);
}

.home-tips {
  -webkit-margin-before: 16vw;
          margin-block-start: 16vw;
}

.home-tips-layout {
  display: -ms-grid;
  display: grid;
  row-gap: 8vw;
  padding-inline: var(--grid-space-x);
}

.home-recruit {
  -webkit-margin-before: max(80px, 21.33vw);
          margin-block-start: max(80px, 21.33vw);
  margin-inline: var(--grid-space-x);
}

.home-recruit-layout {
  position: relative;
  z-index: 0;
  padding: max(40px, 10.67vw) var(--grid-space-x);
}

.home-recruit-back {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  height: 100%;
}

.home-recruit-subtitle {
  -webkit-margin-before: 8vw;
          margin-block-start: 8vw;
  word-break: keep-all;
}

.home-recruit-lead {
  -webkit-margin-before: 5.33vw;
          margin-block-start: 5.33vw;
}

.home-recruit-more {
  -webkit-margin-before: 8vw;
          margin-block-start: 8vw;
}

.home-recruit-figure {
  display: none;
}
.home-recruit-figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  display: block;
  height: 100%;
  border-radius: max(5px, 0.37vw);
  translate: 0 5.85vw;
}

.home-has-sphere {
  -webkit-margin-before: 16vw;
          margin-block-start: 16vw;
  -webkit-padding-before: max(80px, 21.33vw);
          padding-block-start: max(80px, 21.33vw);
  -webkit-padding-after: max(80px, 21.33vw);
          padding-block-end: max(80px, 21.33vw);
}

.about-hero {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.about-hero-back {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: -webkit-gradient(linear, left bottom, right top, from(#fff), to(#e8e7eb));
  background-image: linear-gradient(to top right, #fff, #e8e7eb);
}

.about-hero-layout {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
}

.about-hero-layout > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.about-hero-desc {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100vh;
  max-height: 812px;
  padding: max(80px, 21.33vw) var(--grid-space-x);
}

.about-hero-subtitle {
  -webkit-margin-before: 8vw;
          margin-block-start: 8vw;
}

.about-hero-lead {
  -webkit-margin-before: 5.33vw;
          margin-block-start: 5.33vw;
  font-family: var(--zen-old-mincho);
}

.about-hero-figure {
  pointer-events: none;
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@supports (mix-blend-mode: plus-lighter) {
  .about-hero-figure {
    mix-blend-mode: plus-lighter;
  }
}
.about-hero-figure img {
  opacity: 0.25;
  display: block;
  width: auto;
  height: 70%;
  translate: 30% 6%;
}

.about-story::after {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
}

.about-story-section {
  position: sticky;
  z-index: 0;
  top: 0;
}

.about-story-section-back {
  position: absolute;
  z-index: -1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  height: 100%;
}

.about-story-section-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100vh;
  max-height: 812px;
  padding: 8vw var(--grid-space-x);
  color: var(--white);
}

.about-story-section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 2.67vw;
}
.about-story-section-title h2 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  padding-bottom: 0.5em;
  border-bottom: 1px solid;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-12);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
  line-height: 1em;
}
.about-story-section-title p {
  font-family: var(--minerva-modern);
  font-size: max(3rem, 3.95vw);
  letter-spacing: 0.05em;
}

.about-mission-lead {
  -webkit-margin-before: 16vw;
          margin-block-start: 16vw;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-40);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
  line-height: 1.2em;
	text-align: center;
	margin-bottom: .8em
}
.about-story-section-layout p.ja{
	font-size: var(--font-size-18);
  letter-spacing: 0.05em;
  line-height: 1.8em;
font-family: var(--zen-old-mincho);
}

.about-vision-lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 2.67vw;
  -webkit-margin-before: max(40px, 10.67vw);
          margin-block-start: max(40px, 10.67vw);
  font-family: var(--zen-old-mincho);
  text-align: center;
}
.about-vision-lead .en {
  font-size: var(--font-size-40);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}
.about-vision-lead .en .wbr {
  display: block;
  margin-inline: 0.35em;
}
.about-vision-lead .en .dib {
  display: inline-block;
}
.about-vision-lead .ja {
  font-size: var(--font-size-18);
  letter-spacing: 0.05em;
  line-height: 1.8em;
}

.about-value-layout {
  width: 100%;
}

.about-value-list {
  -webkit-margin-before: max(20px, 4.16vw);
          margin-block-start: max(20px, 4.16vw);
}
.about-value-list ul {
  display: -ms-grid;
  display: grid;
  row-gap: max(15px, 4vw);
}
.about-value-list li {
  display: -ms-grid;
  display: grid;
  -ms-grid-column-span: 2;
  grid-column: span 2;
  -ms-grid-columns: subgrid;
  grid-template-columns: subgrid;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  padding-block: max(15px, 3.12vw);
  border-bottom: 1px solid #d0d0d0;
  font-family: var(--zen-old-mincho);
  font-weight: var(--weight-semi-bold);
}
.about-value-list li .en {
  -webkit-margin-after: -0.25em;
          margin-block-end: -0.25em;
  font-size: var(--font-size-30);
  letter-spacing: 0.05em;
  line-height: 1.5em;
}
.about-value-list li .ja {
  -ms-grid-column-align: end;
      justify-self: end;
  font-size: var(--font-size-16);
  letter-spacing: 0.05em;
  line-height: 1.2em;
}

.about-has-sphere {
  -webkit-margin-before: -100vh;
          margin-block-start: -100vh;
  -webkit-padding-before: max(80px, 21.33vw);
          padding-block-start: max(80px, 21.33vw);
  -webkit-padding-after: max(80px, 21.33vw);
          padding-block-end: max(80px, 21.33vw);
}

.about-message-layout {
  padding-inline: var(--grid-space-x);
}

.about-message-title {
  -webkit-margin-after: max(40px, 8.32vw);
          margin-block-end: max(40px, 8.32vw);
}

.about-message-ceo {
  -webkit-margin-before: max(20px, 4.16vw);
          margin-block-start: max(20px, 4.16vw);
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-18);
  letter-spacing: 0.05em;
}

.about-message-lead {
  -webkit-margin-before: max(15px, 3.12vw);
          margin-block-start: max(15px, 3.12vw);
}

.about-outline {
  -webkit-margin-before: 16.63vw;
          margin-block-start: 16.63vw;
}

.about-outline-layout {
  margin-inline: var(--grid-space-x);
  -webkit-padding-before: 12.47vw;
          padding-block-start: 12.47vw;
  border-top: 1px solid var(--navy-100);
}

.about-outline-table {
  width: 100%;
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
  font-size: var(--font-size-16);
}
.about-outline-table tr {
  display: -ms-grid;
  display: grid;
  border-bottom: 1px solid #d3d3d3;
}
.about-outline-table th {
  -webkit-padding-before: 3.12vw;
          padding-block-start: 3.12vw;
  font-weight: var(--weight-normal);
}
.about-outline-table td {
  padding-block: 3.12vw;
  font-weight: var(--weight-normal);
}
.about-outline-table td:has(wbr) {
  word-break: keep-all;
}

.about-outline-map {
  aspect-ratio: 1;
  -webkit-margin-before: max(20px, 4.16vw);
          margin-block-start: max(20px, 4.16vw);
  padding-block: max(5px, 1.04vw);
}
.about-outline-map iframe {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  width: 100%;
  height: 100%;
}

.about-influencer {
  -webkit-margin-before: 16.63vw;
          margin-block-start: 16.63vw;
}

.about-influencer-layout {
  margin-inline: var(--grid-space-x);
  -webkit-padding-before: 12.47vw;
          padding-block-start: 12.47vw;
  border-top: 1px solid var(--navy-100);
}

.about-influencer-list {
  --x: 0%;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
  margin-inline: calc(var(--grid-space-x) * -1);
}
.about-influencer-list ul {
  --size: 190px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-transform: translate3d(var(--x, ), 0, 0);
          transform: translate3d(var(--x, ), 0, 0);
}
.about-influencer-list ul > li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  row-gap: max(15px, 3.12vw);
  min-width: var(--size);
  max-width: var(--size);
  -webkit-padding-end: calc(var(--grid-space-x) / 2);
          padding-inline-end: calc(var(--grid-space-x) / 2);
  text-align: center;
}

.about-influencer-followers {
  display: -ms-grid;
  display: grid;
  row-gap: max(10px, 0.73vw);
}
.about-influencer-followers p:first-child {
  font-size: var(--font-size-12);
  letter-spacing: 0.05em;
  line-height: 1em;
}
.about-influencer-followers p:last-child {
  font-family: var(--minerva-modern);
  font-size: var(--font-size-20);
}

.about-influencer-account {
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-18);
  letter-spacing: 0.05em;
}

.service-introduce {
  -webkit-padding-after: max(80px, 16.63vw);
          padding-block-end: max(80px, 16.63vw);
  background-image: -webkit-gradient(linear, left bottom, right top, from(#fff), color-stop(#e2e8ed), to(#d1ced7));
  background-image: linear-gradient(to top right, #fff, #e2e8ed, #d1ced7);
  background-repeat: no-repeat;
}

.service-hero-subtitle {
  -webkit-margin-before: max(40px, 10.67vw);
          margin-block-start: max(40px, 10.67vw);
}

.about-hero-lead {
  -webkit-margin-before: max(20px, 5.33vw);
          margin-block-start: max(20px, 5.33vw);
  font-family: var(--zen-old-mincho);
}

.service-hero-figure {
  display: none;
}

.service-hero-figure-list {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  height: 100%;
  border-radius: 100% 0 0 100%/50%;
}
.service-hero-figure-list li {
  position: absolute;
}
.service-hero-figure-list li .term,
.service-hero-figure-list li .desc {
  white-space: nowrap;
}
.service-hero-figure-list li .term {
  color: #949494;
  font-family: var(--poppins);
  font-size: var(--font-size-10);
  letter-spacing: 0.05em;
  line-height: 1em;
}
.service-hero-figure-list li .desc {
  -webkit-margin-before: max(5px, 0.37vw);
          margin-block-start: max(5px, 0.37vw);
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-16);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}

.service-hero-figure-point {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  height: 100%;
  border-radius: 100% 0 0 100%/50%;
}
.service-hero-figure-point div {
  position: absolute;
  border-radius: 50%;
}

.service-hero-figure-circle {
  pointer-events: none;
}

.service-strength-layout {
  margin-inline: var(--grid-space-x);
}

.service-strength-list {
  display: -ms-grid;
  display: grid;
  row-gap: max(40px, 8.32vw);
  -webkit-margin-before: max(50px, 10.4vw);
          margin-block-start: max(50px, 10.4vw);
}

.service-strength-list-item {
  display: -ms-grid;
  display: grid;
  row-gap: max(20px, 4.16vw);
  padding: max(30px, 6.24vw) var(--grid-space-x);
  background-color: #f9f9f9;
}

.service-strength-list-item-title {
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-26);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
  word-break: keep-all;
}

.service-strength-list-item-figure {
  position: relative;
  z-index: 0;
}
.service-strength-list-item-figure::before {
  content: "";
  display: block;
  width: 100%;
  -webkit-padding-before: 70%;
          padding-block-start: 70%;
}
.service-strength-list-item-figure img {
  position: absolute;
  top: 0;
  display: block;
  height: 100%;
}
.service-strength-list-item-figure img.style-overflow {
  right: 50%;
  width: auto;
  max-inline-size: unset;
  translate: 50% 0;
}
.service-strength-list-item-figure img:not(.style-overflow) {
  left: 0;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 100%;
     object-position: 50% 100%;
}

.service-contents {
  -webkit-margin-before: max(100px, 20.79vw);
          margin-block-start: max(100px, 20.79vw);
}

.service-contents-layout {
  margin-inline: var(--grid-space-x);
}

.service-contents-desc {
  --top: 0;
}

.service-contents-subtitle {
  -webkit-margin-before: 8vw;
          margin-block-start: 8vw;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-32);
  font-weight: var(--weight-semi-bold);
  line-height: 1.69em;
}

.service-contents-lead {
  -webkit-margin-before: 5.33vw;
          margin-block-start: 5.33vw;
  font-family: var(--zen-old-mincho);
}

.service-contents-list {
  counter-reset: number 0;
  -webkit-margin-before: max(50px, 13.33vw);
          margin-block-start: max(50px, 13.33vw);
}

.service-contents-list-item {
  counter-increment: number 1;
  padding-block: max(30px, 6.24vw);
}
.service-contents-list-item:not(:first-child) {
  border-top: 1px solid #d0d0d0;
}
.service-contents-list-item > figure {
  width: 240px;
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
  margin-inline: auto;
}

.service-contents-list-item-number {
  font-family: var(--minerva-modern);
  font-size: var(--font-size-16);
  line-height: 1em;
}
.service-contents-list-item-number::before {
  content: counter(number);
}
.service-contents-list-item-number::after {
  content: " / " var(--length);
}

.service-contents-list-item-title {
  display: -ms-grid;
  display: grid;
  row-gap: max(3px, 0.62vw);
  -webkit-margin-before: max(8px, 2.13vw);
          margin-block-start: max(8px, 2.13vw);
}
.service-contents-list-item-title h3 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-14);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
}
.service-contents-list-item-title p {
  font-family: var(--minerva-modern);
  font-size: max(2.467rem, 3.29vw);
}

.service-contents-list-item-lead {
  -webkit-margin-before: max(20px, 4.16vw);
          margin-block-start: max(20px, 4.16vw);
}

.service-contents-list-item-more {
  -webkit-margin-before: max(20px, 4.16vw);
          margin-block-start: max(20px, 4.16vw);
}

.service-common-section {
  padding-inline: var(--grid-space-x);
}

.service-common-section-layout {
  --margin: max(40px, 8.32vw);
  -webkit-padding-before: var(--margin);
          padding-block-start: var(--margin);
  border-top: 1px solid;
}
.service-common-section.has-margin .service-common-section-layout {
  -webkit-margin-before: var(--margin);
          margin-block-start: var(--margin);
}
.service-common-section-layout > .common-title .common-title-en {
  -webkit-margin-before: -0.15em;
          margin-block-start: -0.15em;
}

.service-faq-main {
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
}

.service-faq-list li {
  -webkit-margin-before: max(20px, 1.46vw);
          margin-block-start: max(20px, 1.46vw);
}
.service-faq-list li .term {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: max(15px, 1.1vw) max(10px, 0.73vw);
  background-color: #f9f9f9;

  cursor: pointer;
}
.service-faq-list li.js-toggle .desc {
  overflow: hidden;
  height: 0px;
  -webkit-transition: height 400ms;
  transition: height 400ms;
}
.service-faq-list li .desc {
  --padding: max(15px, 1.1vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-inline: max(10px, 0.73vw);
}
.service-faq-list li .term::before,
.service-faq-list li .desc::before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  width: 1.25em;
  translate: 0 0.05em;
  font-family: var(--minerva-modern);
  font-size: var(--font-size-36);
  line-height: 1em;
}
.service-faq-list li .term::before {
  content: "Q.";
}
.service-faq-list li .desc::before {
  content: "A.";
  padding-block: var(--padding);
  -webkit-padding-start: 0.1em;
          padding-inline-start: 0.1em;
}
.service-faq-list li .term p {
  position: relative;
  z-index: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-20);
  font-weight: var(--weight-bold);
}
/*
.service-faq-list li .term-icon {
  display: none;
}*/
.service-faq-list li.js-toggle .term-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-start: max(10px, 2.08vw);
          margin-inline-start: max(10px, 2.08vw);
}
.service-faq-list li .term-icon span {
  position: relative;
  z-index: 0;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: var(--navy-100);
  color: var(--white);
}
.service-faq-list li .term-icon span::before, .service-faq-list li .term-icon span::after {
  content: "";
  position: absolute;
  inset: 30%;
  background-repeat: no-repeat;
}
.service-faq-list li .term-icon span::before {
  background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(currentColor));
  background-image: linear-gradient(to right, currentColor, currentColor);
  background-position: 0% 50%;
  background-size: 100% 1px;
}
.service-faq-list li .term-icon span::after {
  background-image: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background-image: linear-gradient(to bottom, currentColor, currentColor);
  background-position: 50% 0%;
  background-size: 1px 100%;
  -webkit-transition: background-size 400ms;
  transition: background-size 400ms;
}
.service-faq-list li .active  .term-icon span::after{
	display: none
}
.service-faq-list li.is-open .term-icon span::after {
  background-position: 50% 100%;
  background-size: 1px 0%;
}
.service-faq-list li .desc > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  row-gap: 1em;
  padding-block: var(--padding);
  font-size: var(--font-size-18);
}
.service-faq-list li .desc > div p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;

  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-14);
}

.service-flow-main {
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
}

.service-flow-lead {
  display: -ms-grid;
  display: grid;
  row-gap: max(10px, 2.08vw);
}

.service-flow-list {
  -webkit-margin-before: 30px;
          margin-block-start: 30px;
}
.service-flow-list ol {
  counter-reset: number 0;
}

.service-flow-list-item {
  counter-increment: number 1;
}

.service-flow-list-item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: max(15px, 3.12vw);
  padding: max(30px, 6.24vw) max(20px, 4.16vw);
  background-color: #f9f9f9;
}
.service-flow-list-item-content > figure {
  margin-inline: max(20px, 4.16vw);
}

.service-flow-list-item-step {
  display: block;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
  font-family: var(--minerva-modern);
  font-size: var(--font-size-24);
}
.service-flow-list-item-step::before {
  content: "Step0" counter(number);
}

.service-flow-list-item-lead {
  font-size: var(--font-size-14);
  letter-spacing: 0.05em;
  line-height: 1.71em;
  text-align: center;
  word-break: keep-all;
}

.service-flow-list-item-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 50px;
}
.service-flow-list-item-arrow::before {
  content: "";
  display: block;
  width: 10px;
  height: 12px;
  background-color: currentColor;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

.service-flow-list-item-space {
  display: none;
}

.service-other {
  -webkit-padding-after: max(60px, 12.47vw);
          padding-block-end: max(60px, 12.47vw);
}

.service-other-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr var(--grid-space-x) 1fr;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: var(--grid-space-x);
     -moz-column-gap: var(--grid-space-x);
          column-gap: var(--grid-space-x);
  row-gap: var(--grid-space-x);
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
}
.service-other-list > a {
  display: -ms-grid;
  display: grid;
  -ms-grid-row-span: 3;
  grid-row: span 3;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  row-gap: 15px;
}
.service-other-list img {
  display: block;
  aspect-ratio: 266/186;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  height: 100%;
}
.service-other-list .name-en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-after: -0.2em;
          margin-block-end: -0.2em;
  font-family: var(--minerva-modern);
  font-size: var(--font-size-24);
  line-height: 1.2em;
}
.service-other-list .name-ja {
  -webkit-margin-before: -0.25em;
          margin-block-start: -0.25em;
  font-family: var(--minerva-modern);
  font-size: var(--font-size-12);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
  line-height: 1.5em;
  word-break: keep-all;
}

.service-branch-hero {
  -webkit-padding-before: max(80px, 21.33vw);
          padding-block-start: max(80px, 21.33vw);
}

.service-branch-hero-layout {
  -webkit-margin-start: var(--grid-space-x);
          margin-inline-start: var(--grid-space-x);
}

.service-branch-desc {
  -webkit-margin-end: var(--grid-space-x);
          margin-inline-end: var(--grid-space-x);
}

.service-branch-subtitle {
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-26);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
  line-height: 1.62em;
}

.service-branch-lead {
  -webkit-margin-before: max(20px, 4.16vw);
          margin-block-start: max(20px, 4.16vw);
}

.service-branch-cover {
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
}
.service-branch-cover img {
  aspect-ratio: 790/508;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  max-inline-size: unset;
  height: 100%;
}

.service-branch-problem {
  -webkit-margin-before: max(60px, 12.47vw);
          margin-block-start: max(60px, 12.47vw);
}

.service-branch-problem-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-inline: var(--grid-space-x);
}

.service-branch-problem-clouds {
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
  margin-inline: var(--grid-space-x);
}
.service-branch-problem-clouds-list > li {
  position: relative;
  z-index: 0;
  display: -ms-grid;
  display: grid;
  row-gap: max(10px, 2.08vw);
  -ms-grid-row-align: start;
      align-self: start;
  padding: max(20px, 1.46vw) max(30px, 2.19vw);
}
.service-branch-problem-clouds-list > li > img:nth-child(1) {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  max-inline-size: auto;
  height: 100%;
}
.service-branch-problem-clouds-list > li > h3 {
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-20);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
  line-height: 1.4em;
  word-break: keep-all;
}
.service-branch-problem-clouds-list > li > h3 span {
  display: inline-block;
}
.service-branch-problem-clouds-list > li > p {
  font-size: var(--font-size-14);
  letter-spacing: 0.05em;
  line-height: 1.57em;
  text-align: justify;
  word-break: break-all;
}

.service-branch-problem-clouds-base {
  pointer-events: none;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: 15px;
          margin-block-start: 15px;
}
.service-branch-problem-clouds-base img {
  width: 50%;
}

.service-branch-reason {
  -webkit-margin-before: max(80px, 21.33vw);
          margin-block-start: max(80px, 21.33vw);
}

.service-branch-reason-layout {
  margin-inline: var(--grid-space-x);
}

.service-menu {
  padding-inline: var(--grid-space-x);
}

.service-menu-layout {
  -webkit-margin-before: max(50px, 10.4vw);
          margin-block-start: max(50px, 10.4vw);
  -webkit-padding-before: max(40px, 2.93vw);
          padding-block-start: max(40px, 2.93vw);
  border-top: 1px solid;
}

.service-menu-section {
  -webkit-margin-before: max(80px, 16.63vw);
          margin-block-start: max(80px, 16.63vw);
}
.common-title + .service-menu-section {
  -webkit-margin-before: 8.32vw;
          margin-block-start: 8.32vw;
}

.service-menu-section-column {
  -webkit-margin-before: 30px;
          margin-block-start: 30px;
}

.service-menu-section-title {
  display: -ms-grid;
  display: grid;
  row-gap: 10px;
}
.service-menu-section-title h3 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-20);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
}
.service-menu-section-title p {
  color: #949494;
  font-family: var(--poppin);
  font-size: var(--font-size-14);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
}

.service-menu-section-lead {
  -webkit-margin-before: max(15px, 3.12vw);
          margin-block-start: max(15px, 3.12vw);
}

.service-menu-section-suggest {
  -webkit-margin-before: 30px;
          margin-block-start: 30px;
  padding: max(20px, 4.16vw);
  background-color: #f9f9f9;
}
.service-menu-section-suggest h4 {
  -webkit-padding-after: max(10px, 2.08vw);
          padding-block-end: max(10px, 2.08vw);
  border-bottom: 1px solid;
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-16);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
}
.service-menu-section-suggest ul {
  display: -ms-grid;
  display: grid;
  -webkit-margin-before: max(20px, 4.16vw);
          margin-block-start: max(20px, 4.16vw);
  font-size: var(--font-size-14);
  letter-spacing: 0.05em;
  line-height: 2em;
}
.service-menu-section-suggest li {
  -webkit-padding-start: 1.25em;
          padding-inline-start: 1.25em;
  text-indent: -1.25em;
}
.service-menu-section-suggest li::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 0.8em;
  -webkit-margin-end: 0.25em;
          margin-inline-end: 0.25em;
  background-image: radial-gradient(circle, currentColor 0.18em, transparent 0.18em);
}

.service-menu-section-list {
  display: -ms-grid;
  display: grid;
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
}
.service-menu-section-list li {
  display: -ms-grid;
  display: grid;
  row-gap: 20px;
}
.service-menu-section-list li figure img {
  border-radius: max(5px, 0.37vw);
  aspect-ratio: 367/245;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  height: 100%;
}
.service-menu-section-list li h4 {
  -webkit-margin-after: -0.25em;
          margin-block-end: -0.25em;
  font-weight: var(--weight-bold);
  line-height: 1.5em;
}

.service-menu-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: max(50px, 10.4vw);
          margin-block-start: max(50px, 10.4vw);
}

.service-case {
  --margin: max(60px, 12.47vw);
  overflow: hidden;
  position: relative;
  z-index: 0;
  -webkit-margin-before: var(--margin);
          margin-block-start: var(--margin);
  -webkit-padding-before: var(--margin);
          padding-block-start: var(--margin);
  -webkit-padding-after: max(50px, 10.4vw);
          padding-block-end: max(50px, 10.4vw);
}
.service-case > .common-title {
  margin-inline: var(--grid-space-x);
}
.service-case .archive-case-holder {
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
  margin-inline: var(--grid-space-x);
}

.service-case-back {
  --side-rad: 50%;
  --vert-rad: 50vw;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  inset: 0 -50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-top-left-radius: var(--side-rad) var(--vert-rad);
  border-top-right-radius: var(--side-rad) var(--vert-rad);
  background-image: -webkit-gradient(linear, left bottom, right top, from(#fff), to(#e8e7eb));
  background-image: linear-gradient(to top right, #fff, #e8e7eb);
  background-repeat: no-repeat;
}
.service-case-back .mask {
  overflow: hidden;
  width: 50%;
  height: 100%;
}
.service-case-back .mask img,
.service-case-back .mask video {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  width: 100%;
  height: 100%;
}

.service-case-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
}

.archive-case-holder {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr var(--grid-space-x) 1fr;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: var(--grid-space-x);
     -moz-column-gap: var(--grid-space-x);
          column-gap: var(--grid-space-x);
  row-gap: max(40px, 8.32vw);
}

.archive-case {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto auto;
  grid-template-rows: auto auto;
}
.swiper .archive-case {
  -ms-grid-columns: 1fr var(--grid-space-x);
  grid-template-columns: 1fr var(--grid-space-x);
}

.archive-case-desc {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  -webkit-padding-after: max(20px, 4.16vw);
          padding-block-end: max(20px, 4.16vw);
}

.archive-case-thumb {
  aspect-ratio: 495/530;
}
.archive-case-thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  height: 100%;
}

.archive-case-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  row-gap: max(10px, 2.08vw);
  -webkit-margin-before: max(15px, 3.12vw);
          margin-block-start: max(15px, 3.12vw);
}
.archive-case-label a {
  position: relative;
  z-index: 2;
}

.archive-case-cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  color: var(--blue-100);
  font-size: var(--font-size-11);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
  line-height: 1.5em;
	gap:5px
}
.archive-case-cat li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.3em 2em 0.4em;
  border-radius: 2.27em;
  background-color: var(--blue-200);
}

.archive-case-client {
  font-size: var(--font-size-12);
  font-weight: var(--weight-medium);
  letter-spacing: 0.05em;
  line-height: 1.5em;
}

.archive-case-title {
  -webkit-margin-before: max(15px, 3.12vw);
          margin-block-start: max(15px, 3.12vw);
  font-size: var(--font-size-14);
  font-weight: var(--weight-medium);
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.archive-case-tag {
  overflow: hidden;
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 2.5em;
     -moz-column-gap: 2.5em;
          column-gap: 2.5em;
  row-gap: 0.35em;
  -webkit-padding-before: max(15px, 3.12vw);
          padding-block-start: max(15px, 3.12vw);
  border-top: 1px solid #d9d9d9;
  font-family: var(--zen-kaku-gothic-new);
  font-size: var(--font-size-12);
  letter-spacing: 0.05em;
}
.archive-case-tag li {
  position: relative;
}
.archive-case-tag li::before {
  content: "/";
  pointer-events: none;
  position: absolute;
  top: 0;
  left: -1.5em;
}
.archive-case-tag li a {
  background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(currentColor));
  background-image: linear-gradient(90deg, currentColor, currentColor);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  -webkit-transition: background-size 300ms;
  transition: background-size 300ms;
}
.archive-case-tag li a:hover {
  background-position: 0% 100%;
  background-size: 100% 1px;
}
/*02512 biko
.archive-case-tag li a::before {
  content: "#";
}*/

/*202512 biko add */
	.archive-case-thumb{
		overflow: hidden; /* はみ出た部分を隠す */
	}
	.archive-case-thumb img{
		 display: block;
  width: 100%;
  transition: transform 0.5s ease;
	}
	.archive-case-thumb:hover img {
  transform: scale(1.2); 
}
/*//202512 biko add */

.archive-case-link {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}

.archive-tips-list {
  display: -ms-grid;
  display: grid;
  -webkit-margin-after: max(-40px, -10.67vw);
          margin-block-end: max(-40px, -10.67vw);
}

.archive-tips {
  display: inherit;
  -ms-grid-rows: (auto)[3];
  grid-template-rows: repeat(3, auto);
  -webkit-margin-after: max(40px, 10.67vw);
          margin-block-end: max(40px, 10.67vw);
}
.archive-tips > * {
  -ms-grid-column: 1;
  grid-column: 1;
}

.archive-tips-thumbnail {
  -ms-grid-row: 1;
  grid-row: 1;
	position: relative;
	margin-bottom: 0
}
.archive-tips-thumbnail img {
  border-radius: max(5px, 0.37vw);
 aspect-ratio: 4.48 / 3;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  height: 100%;
}
.archive-tips-thumbnail figcaption{
position: absolute;
  top: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  flex-direction: column;
  padding: 0 3em;
  line-height: 1.4;
}
.archive-tips-thumbnail figcaption span{
font-size: 16px;
  margin-bottom: 1em;
}

.archive-tips-thumbnail > span{
	transform: rotate(90deg);
	font-size: 10px;
	font-weight: bold;
	position: absolute;
  top: 50px;
	left:-20px;
  color: #fff;
}


.archive-tips-label {
  -ms-grid-row: 2;
  grid-row: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  row-gap: max(10px, 2.08vw);
  -webkit-margin-before: max(15px, 3.12vw);
          margin-block-start: max(15px, 3.12vw);
}
.archive-tips-label a {
  position: relative;
  z-index: 2;
}

.archive-tips-cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  color: var(--blue-100);
  font-size: var(--font-size-11);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
  line-height: 1.5em;
}
.archive-tips-cat li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 1.5em 0.1em;
  border-radius: 2em;
  background-color: var(--blue-200);
}
.archive-tips-cat li.cat_snstraining a {
    background-color: #EAD8DD;
    color: #AF759B;
}

.archive-tips-time {
  -webkit-margin-before: 0.1em;
          margin-block-start: 0.1em;
  font-size: var(--font-size-14);
  letter-spacing: 0.05em;
  line-height: 1em;
}

.archive-tips-title {
  -ms-grid-row: 3;
  grid-row: 3;
  -webkit-margin-before: max(15px, 3.12vw);
          margin-block-start: max(15px, 3.12vw);
  font-size: var(--font-size-16);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
  line-height: 1.63em;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.archive-tips-link {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  grid-row: 1/4;
}

.recruit-hero {
  margin-inline: var(--grid-space-x);
  -webkit-padding-before: max(80px, 8.78vw);
          padding-block-start: max(80px, 8.78vw);
}

.recruit-hero-layout {
  position: relative;
  z-index: 0;
  padding: max(40px, 10.67vw) var(--grid-space-x);
}

.recruit-hero-back {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  height: 100%;
}

.recruit-hero-subtitle {
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
}

.recruit-hero-lead {
  -webkit-margin-before: max(20px, 4.16vw);
          margin-block-start: max(20px, 4.16vw);
}

.recruit-hero-figure {
  display: none;
}
.recruit-hero-figure img {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  display: block;
  height: 100%;
  border-radius: max(5px, 0.37vw);
  translate: 0 5.85vw;
}

.recruit-introduce {
  -webkit-margin-before: max(60px, 12.47vw);
          margin-block-start: max(60px, 12.47vw);
}

.recruit-introduce-layout {
  display: -ms-grid;
  display: grid;
  row-gap: max(30px, 6.24vw);
  margin-inline: var(--grid-space-x);
}

.recruit-introduce-lead {
  display: -ms-grid;
  display: grid;
  row-gap: var(--lh);
}

.recruit-value {
  -webkit-margin-before: max(50px, 10.4vw);
          margin-block-start: max(50px, 10.4vw);
}

.recruit-value-layout {
  margin-inline: var(--grid-space-x);
}

.recruit-value-list {
  display: -ms-grid;
  display: grid;
  row-gap: max(30px, 6.24vw);
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
  margin-inline: var(--grid-space-x);
}
.recruit-value-list li hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
  font-family: var(--zen-old-mincho);
}
.recruit-value-list li hgroup h3 {
  font-size: var(--font-size-24);
  line-height: 1em;
}
.recruit-value-list li hgroup p {
  font-size: var(--font-size-12);
  line-height: 1em;
}
.recruit-value-list li hgroup p::before {
  content: "/";
  -webkit-margin-start: 0.75em;
          margin-inline-start: 0.75em;
  -webkit-margin-end: 0.5em;
          margin-inline-end: 0.5em;
}
.recruit-value-list li > p {
  -webkit-margin-before: max(20px, 1.46vw);
          margin-block-start: max(20px, 1.46vw);
}
.recruit-value-list li figure {
  position: relative;
  z-index: 0;
}
.recruit-value-list li figure::before {
  content: "";
  display: block;
  width: 100%;
  -webkit-padding-before: 104.48%;
          padding-block-start: 104.48%;
}
.recruit-value-list li figure img {
  position: absolute;
  top: 0;
  display: block;
  height: 100%;
}
.recruit-value-list li figure.style-overflow img {
  right: 50%;
  width: auto;
  max-inline-size: unset;
  translate: 50% 0;
}
.recruit-value-list li figure:not(.style-overflow) img {
  left: 0;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 100%;
     object-position: 50% 100%;
}

.recruit-staff {
  -webkit-margin-before: max(80px, 16.63vw);
          margin-block-start: max(80px, 16.63vw);
}
.recruit-staff > .common-title {
  margin-inline: var(--grid-space-x);
}

.recruit-staff-list {
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
}

.recruit-staff-list-item {
  position: relative;
  z-index: 0;
  -webkit-margin-before: max(1px, 0.07vw);
          margin-block-start: max(1px, 0.07vw);
  padding: max(30px, 6.24vw) var(--grid-space-x);
}

.recruit-staff-list-item-back {
  position: relative;
  z-index: 0;
  aspect-ratio: 1366/412;
  -webkit-margin-after: max(30px, 6.24vw);
          margin-block-end: max(30px, 6.24vw);
}
.recruit-staff-list-item-back::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 66.42%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(#000), to(transparent));
  background-image: linear-gradient(to right, #000, transparent);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.recruit-staff-list-item-back img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 23%;
     object-position: 50% 23%;
  height: 100%;
}
.staff-pr .recruit-staff-list-item-back img {
  -o-object-position: 50% 40%;
     object-position: 50% 40%;
}
.staff-videographer .recruit-staff-list-item-back img {
  -o-object-position: 50% 47%;
     object-position: 50% 47%;
}

.recruit-staff-list-item-name {
  display: -ms-grid;
  display: grid;
  row-gap: 10px;
  font-family: var(--minerva-modern);
}
.recruit-staff-list-item-name h3 {
  -webkit-margin-after: -0.1em;
          margin-block-end: -0.1em;
  font-size: max(2.933rem, 4.39vw);
  line-height: 1.2em;
}
.recruit-staff-list-item-name h4 {
  -webkit-margin-before: -0.1em;
          margin-block-start: -0.1em;
  font-size: var(--font-size-30);
  line-height: 1.2em;
}

.recruit-staff-list-item-profile {
  display: -ms-grid;
  display: grid;
  row-gap: 10px;
  -webkit-margin-before: max(20px, 4.16vw);
          margin-block-start: max(20px, 4.16vw);
}
.recruit-staff-list-item-profile h5 {
  font-size: var(--font-size-20);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
}

.recruit-staff-list-item-body.js-details .recruit-staff-list-item-widget {
  overflow: hidden;
  height: 0px;
  -webkit-transition: height 400ms;
  transition: height 400ms;
}

.recruit-staff-list-item-widget-layout {
  -webkit-padding-before: max(30px, 6.24vw);
          padding-block-start: max(30px, 6.24vw);
  -webkit-padding-after: max(15px, 3.12vw);
          padding-block-end: max(15px, 3.12vw);
}

.recruit-staff-list-item-widget-desc {
  display: -ms-grid;
  display: grid;
  row-gap: max(40px, 8.32vw);
  -webkit-padding-before: max(30px, 6.24vw);
          padding-block-start: max(30px, 6.24vw);
  border-top: 1px solid #bebebe;
}

.recruit-staff-list-item-summary {
  -webkit-margin-before: max(20px, 4.16vw);
          margin-block-start: max(20px, 4.16vw);
}

.recruit-staff-list-item-widget-subheading {
  -webkit-margin-after: max(10px, 2.08vw);
          margin-block-end: max(10px, 2.08vw);
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-12);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}

.recruit-staff-list-item-widget-heading {
  -webkit-margin-after: max(5px, 1.04vw);
          margin-block-end: max(5px, 1.04vw);
  font-size: var(--font-size-20);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
}

.recruit-staff-list-item-summary {
  font-family: var(--zen-old-mincho);
  font-size: var(--font-size-14);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
}
.recruit-staff-list-item-summary .recruit-staff-list-item-body:not(.js-details) {
  display: none;
}
.recruit-staff-list-item-summary button {
  --size: max(27px, 1.98vw);
  --color: var( --navy-100 );
  --hover-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.85em;
     -moz-column-gap: 0.85em;
          column-gap: 0.85em;
  min-height: var(--size);
  padding: 0;
  border-radius: var(--size);
}
.recruit-staff-list-item-summary .icon {
  display: block;
  width: var(--size);
  height: var(--size);
}
.recruit-staff-list-item-summary .icon span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--size);
  background-color: var(--color);
}
.recruit-staff-list-item-summary .icon span::before, .recruit-staff-list-item-summary .icon span::after {
  content: "";
  position: absolute;
  inset: 30%;
  display: block;
  background-repeat: no-repeat;
  color: var(--hover-color);
}
.recruit-staff-list-item-summary .icon span::before {
  background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(currentColor));
  background-image: linear-gradient(to right, currentColor, currentColor);
  background-position: 0% 50%;
  background-size: 100% 2px;
}
.recruit-staff-list-item-summary .icon span::after {
  background-image: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background-image: linear-gradient(to bottom, currentColor, currentColor);
  background-position: 50% 0%;
  background-size: 2px 100%;
}
.recruit-staff-list-item-body.is-open .recruit-staff-list-item-summary .icon span::after {
  background-size: 2px 0%;
}
.recruit-staff-list-item-body.is-open .recruit-staff-list-item-summary .label span:first-child {
  pointer-events: none;
  opacity: 0;
  position: absolute;
  inset: 0;
}
.recruit-staff-list-item-body:not(.is-open) .recruit-staff-list-item-summary .label span:last-child {
  pointer-events: none;
  opacity: 0;
  position: absolute;
  inset: 0;
}

.recruit-description {
  -webkit-margin-before: max(100px, 20.79vw);
          margin-block-start: max(100px, 20.79vw);
}

.recruit-description-layout {
  margin-inline: var(--grid-space-x);
}

.recruit-description-table {
  --space: 20px;
  width: 100%;
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
  font-size: var(--font-size-14);
  line-height: 2.43em;
}
.recruit-description-table th {
  -webkit-padding-before: var(--space);
          padding-block-start: var(--space);
  font-weight: var(--weight-normal);
  text-align: left;
  white-space: nowrap;
  vertical-align: top;
}
.recruit-description-table td {
  -webkit-padding-after: var(--space);
          padding-block-end: var(--space);
  border-bottom: 1px solid var(--blue);
}
.recruit-description-table td .column {
  display: -ms-grid;
  display: grid;
}

.recruit-description-entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: max(50px, 10.4vw);
          margin-block-start: max(50px, 10.4vw);
  -webkit-padding-after: max(50px, 10.4vw);
          padding-block-end: max(50px, 10.4vw);
}

.common-form {
  -webkit-padding-before: max(80px, 16.63vw);
          padding-block-start: max(80px, 16.63vw);
  -webkit-padding-after: max(40px, 8.32vw);
          padding-block-end: max(40px, 8.32vw);
}

.common-form-layout {
  margin-inline: var(--grid-space-x);
}

.form-primary {
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
  padding: max(30px, 6.24vw) var(--grid-space-x);
  background-color: #f7f7f7;
}

.form-primary-note {
  font-size: var(--font-size-13);
  letter-spacing: 0.1em;
}

.form-primary-layout {
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
}

.form-primary-block {
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}

.form-primary-term {
  font-family: var(--noto-serif);
  font-size: var(--font-size-13);
  font-weight: var(--weight-bold);
  letter-spacing: 0.1em;
  line-height: 2em;
}
.mwform-radio-field-text{
	font-family: var(--noto-serif);
	 font-weight: var(--weight-bold);
	letter-spacing: 0.1em;
	 line-height: 2em;
}

.form-primary-desc {
  -webkit-margin-before: 5px;
          margin-block-start: 5px;
  font-size: 1.6rem;
}
.form-primary-desc.has-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  row-gap: 1em;
  padding-block: 10px;
  font-size: var(--font-size-13);
}
.form-primary-desc input[type=text],
.form-primary-desc input[type=number],
.form-primary-desc input[type=tel],
.form-primary-desc input[type=email],
.form-primary-desc input[type=url],
.form-primary-desc input[type=password],
.form-primary-desc input[type=date],
.form-primary-desc textarea {
  padding: 0.5em;
  border: 1px solid #d9d9d9;
  border-radius: 1px;
  background-color: #fff;
}
.form-primary-desc input[type=text],
.form-primary-desc input[type=number],
.form-primary-desc input[type=tel],
.form-primary-desc input[type=email],
.form-primary-desc input[type=url],
.form-primary-desc input[type=password],
.form-primary-desc input[type=date] {
  display: block;
  width: 100%;
  min-height: 2.5em;
}
.form-primary-desc.full-width input:not([type=checkbox]), .form-primary-desc.full-width input:not([type=radio]) {
  max-width: 100%;
}
.form-primary-desc input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  width: 1.31em;
  height: 1.31em;
  -webkit-margin-end: 1em;
          margin-inline-end: 1em;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  outline: none;
  border-radius: 1px;
  -webkit-box-shadow: 0 0 0 0 transparent;
          box-shadow: 0 0 0 0 transparent;
  translate: 0 0.15em;
  -webkit-transition: background-color 300ms;
  transition: background-color 300ms;
}
.form-primary-desc input[type=checkbox]:checked {
  background-color: var(--blue);
}
.form-primary-desc textarea {
  width: 100%;
}
.form-primary-desc.has-checkbox label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.form-primary-privacy {
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
}

.form-primary-privacy-overflow {
  overflow-y: auto;
  display: -ms-grid;
  display: grid;
  row-gap: 10px;
  height: 11.92em;
  padding: 1.54em 1.92em;
  background-color: #fff;
  font-family: var(--noto-serif);
  font-size: var(--font-size-13);
}
.form-primary-privacy-overflow h3 {
  font-weight: var(--weight-bold);
  letter-spacing: 0.1em;
}
.form-primary-privacy-overflow p {
  letter-spacing: 0.05em;
  line-height: 2.15em;
}

.form-primary-privacy-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
  font-size: var(--font-size-13);
  line-height: 1.5em;
}
.form-primary-privacy-check input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  width: 1em;
  height: 1em;
  -webkit-margin-end: 0.75em;
          margin-inline-end: 0.75em;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 1px;
  translate: 0 0.15em;
  -webkit-transition: background-color 300ms;
  transition: background-color 300ms;
}
.form-primary-privacy-check input[type=checkbox]:checked {
  background-color: var(--blue);
}

.form-primary-submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: max(30px, 6.24vw);
          margin-block-start: max(30px, 6.24vw);
}
.form-primary-submit input[type=submit] {
  text-align: center;
}

.privacy-header {
  -webkit-padding-before: max(80px, 26.67vw);
          padding-block-start: max(80px, 26.67vw);
}
.privacy-header > .common-title {
  margin-inline: var(--grid-space-x);
}

.privacy-lead {
  -webkit-margin-before: max(50px, 10.4vw);
          margin-block-start: max(50px, 10.4vw);
  margin-inline: var(--grid-space-x);
}

.privacy-body {
  -webkit-margin-before: max(50px, 10.4vw);
          margin-block-start: max(50px, 10.4vw);
  margin-inline: var(--grid-space-x);
  -webkit-padding-after: max(40px, 8.32vw);
          padding-block-end: max(40px, 8.32vw);
}

.privacy-list {
  counter-reset: number 0;
  display: -ms-grid;
  display: grid;
  row-gap: max(40px, 8.32vw);
  -webkit-margin-before: max(40px, 8.32vw);
          margin-block-start: max(40px, 8.32vw);
}
.privacy-list dl {
  counter-increment: number 1;
  display: -ms-grid;
  display: grid;
  row-gap: 20px;
}
.privacy-list dt {
  font-size: var(--font-size-20);
  font-weight: var(--weight-semi-bold);
}
.privacy-list dt::before {
  content: counter(number) ".";
}
.privacy-list dd {
  font-size: var(--font-size-14);
  letter-spacing: 0.05em;
  line-height: 2em;
  text-align: justify;
}

.form-primary .form-primary-txt{
	font-family: var(--zen-old-mincho);
}


@media screen and (max-width: 767px){
/*ハンバーガーメニューの実装(2)*/
.site-header {
  pointer-events: auto;
}
/* メニュー初期状態 */
.site-header-nav {
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}
.site-header-nav-layout{
  flex-direction: column;
}
.site-header-nav-layout .branch-layout{

}
.site-header-nav-layout > a,
.site-header-nav-layout .has-branch > a {
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 23px 8px 21px;
  color: #000000;
  font-weight: 400;
}
.site-header-nav-layout > a:first-child{
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.site-header-nav-layout .has-branch > a {
  position: relative;
}
.site-header-nav-layout .has-branch > a label:has(span) {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 23px;
}
.site-header-nav-layout .has-branch > a span {
  display: block;
}
.site-header-nav-layout .branch{
  height: 0;
  opacity: 0;
  transition: opacity .3s, height .3s;

}
.site-header-nav-layout .branch-layout{
  display: block;
  padding-left: 20px;
}

.site-header-contact{
  margin-top: 42px;
  margin-inline-start:0;
  font-size: 1.3rem;
}
.site-header-contact li + li{
  margin-top: 23px;
}

.site-header-links {
  margin-top: 53px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 16px;
  font-family: var(--poppins);
  font-size: var(--font-size-12);
  font-weight: var(--weight-semi-bold);
  letter-spacing: 0.05em;
}
.site-header-links .has-icon {
  display: block;
  width: 36px;
  padding: 2px;
}
.site-header-links a img {
  display: block;
}

.site-header-copyright {
  display: block;
  margin-top: 18px;
  font-size: var(--font-size-12);
  letter-spacing: 0.05em;
  text-align: center;
}

/* 開いた状態 */
.nav-toggle:checked ~ .site-header {
  background: url("../images/common/bg_site-header-nav.png") no-repeat center top / cover;
  padding-bottom: 58px;
  bottom: 0;
  overflow-y: scroll;
}
.nav-toggle:checked ~ .site-header .site-header-layout {
  flex-direction: column;
  padding-block-start: max(92px, 25vw);
  padding-inline: max(39px, 10.4vw);
}
.nav-toggle:checked ~ .site-header .site-header-nav {
  display: block;
  width: 100%;
  opacity: 1;
  pointer-events: auto;
  transition: opacity .3s;
}
.nav-toggle:checked ~ .site-header .site-header-nav-layout{
  margin-top: 60px;
}
/* ×アイコン化 */
.nav-toggle:checked ~ .site-header .site-header-trigger span:nth-child(1) {
  transform: translateY(7px) rotate(30deg);
}
.nav-toggle:checked ~ .site-header .site-header-trigger span:nth-child(2) {
  opacity: 0;
}
.nav-toggle:checked ~ .site-header .site-header-trigger span:nth-child(3) {
  transform: translateY(-7px) rotate(-30deg);
}

/*branch*/
.branch-service-toggle:checked ~ .site-header .branch{
  height: auto;
  opacity: 1;
}
/*//ハンバーガーメニューの実装(2) ここまで*/

.home-hero-cover{
  margin-block-start: max(90px, 24vw);
}
.home-hero-desc{
    -webkit-padding-before: max(46px, 12vw);
    padding-block-start: max(46px, 12vw);
    -webkit-padding-after: max(49px, 13vw);
    padding-block-end: max(49px, 13vw);
}

}

@media screen and (min-width: 481px){
  .about-outline-table tbody {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
  }
  .about-outline-table tr {
    -ms-grid-column-span: 2;
    grid-column: span 2;
    -ms-grid-columns: subgrid;
    grid-template-columns: subgrid;
    border-bottom: none;
  }
  .about-outline-table th,
  .about-outline-table td {
    border-bottom: 1px solid #d3d3d3;
  }
  .about-outline-table th {
    -webkit-padding-after: 3.12vw;
            padding-block-end: 3.12vw;
    -webkit-padding-end: 6.24vw;
            padding-inline-end: 6.24vw;
  }
  .about-outline-map {
    aspect-ratio: 4/3;
  }
  .service-flow-list ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: max(30px, 6.24vw);
  }
  .service-flow-list-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .service-flow-list-item:not(:has(.service-flow-list-item-arrow)) {
    -webkit-padding-end: 30px;
            padding-inline-end: 30px;
  }
  .service-flow-list-item-content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .service-flow-list-item:not(:has(.service-flow-list-item-arrow)) .service-flow-list-item-content {
    -webkit-padding-end: 30px;
            padding-inline-end: 30px;
  }
  .service-flow-list-item-arrow {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30px;
            flex: 0 0 30px;
    height: auto;
  }
  .service-flow-list-item-arrow::before {
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  }
  .service-branch-problem-clouds-base {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
  .service-menu-section-list {
    -ms-grid-columns: 1fr var(--grid-space-x) 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: var(--grid-space-x);
       -moz-column-gap: var(--grid-space-x);
            column-gap: var(--grid-space-x);
    row-gap: max(30px, 6.24vw);
  }
  .service-menu-section-list li {
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
  }
  .archive-tips-list {
    -ms-grid-columns: 1fr var(--grid-space-x) 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: var(--grid-space-x);
       -moz-column-gap: var(--grid-space-x);
            column-gap: var(--grid-space-x);
  }
  .recruit-value-list {
    -ms-grid-columns: 1fr var(--grid-space-x) 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: var(--grid-space-x);
       -moz-column-gap: var(--grid-space-x);
            column-gap: var(--grid-space-x);
    margin-inline: 0;
  }
}
@media screen and (min-width: 481px) and (max-width: 767px){
  .service-branch-problem-clouds-list {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .service-branch-problem-clouds-list > li:nth-child(2n+1) {
    -webkit-margin-before: 12.47vw;
            margin-block-start: 12.47vw;
  }
  .service-branch-problem-clouds-list > li:nth-child(2n+1):not(:nth-last-child(2)) {
    -webkit-margin-after: -11.43vw;
            margin-block-end: -11.43vw;
  }
}
@media screen and (min-width: 561px){
  .service-strength-list {
    -ms-grid-columns: 1fr var(--grid-space-x) 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: var(--grid-space-x);
       -moz-column-gap: var(--grid-space-x);
            column-gap: var(--grid-space-x);
  }
  .service-strength-list-item {
    -ms-grid-row-span: 3;
    grid-row: span 3;
    -ms-grid-rows: subgrid;
    grid-template-rows: subgrid;
  }
  .service-strength-list-item-figure::before {
    -webkit-padding-before: 85.71%;
            padding-block-start: 85.71%;
  }
  .service-contents-list-item {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 4.16vw 1fr;
    grid-template-columns: auto 1fr;
    -ms-grid-rows: (auto)[3] 1fr;
    grid-template-rows: repeat(3, auto) 1fr;
    -webkit-column-gap: 4.16vw;
       -moz-column-gap: 4.16vw;
            column-gap: 4.16vw;
  }
  .service-contents-list-item > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .service-contents-list-item > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .service-contents-list-item > *:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .service-contents-list-item > *:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .service-contents-list-item > *:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .service-contents-list-item > *:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .service-contents-list-item > *:nth-child(7) {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
  }
  .service-contents-list-item > *:nth-child(8) {
    -ms-grid-row: 4;
    -ms-grid-column: 3;
  }
  .service-contents-list-item > figure {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 4;
    grid-row: 1/5;
    width: 31.19vw;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}
@media not screen and (min-width: 768px){
  .common-contact-section:not(:first-child) {
    -webkit-padding-before: max(30px, 6.24vw);
            padding-block-start: max(30px, 6.24vw);
    border-top: 1px solid;
  }
  .about-message-figure {
    width: 100%;
    max-width: 400px;
    margin-inline: auto;
  }
  .service-hero-desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100vh;
    max-height: 812px;
    margin-inline: var(--grid-space-x);
    padding-block: max(80px, 21.33vw);
  }
  .service-branch-problem-clouds-list {
    display: -ms-grid;
    display: grid;
    row-gap: max(10px, 2.08vw);
  }
  .archive-case-cat {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .recruit-description-table th {
    display: block;
  }
  .recruit-description-table td {
    display: block;
  }
  .recruit-description-table td .column {
    row-gap: max(30px, 6.24vw);
  }
  .form-primary-term br.is-tablet {
    display: none;
  }
}
@media screen and (any-hover: hover) and (min-width: 768px){
  .archive-case-link::after {
    --grid-space-x: 3.66vw;
  }
  .recruit-staff-list-item-summary button::after {
    background-color: currentColor;
  }
}
@media screen and (min-width: 768px){
  .loader-logo {
    width: max(164px, 12vw);
  }
  .comp-button-grad {
    min-width: 25.36em;
  }
  .common-title:not(.style-row) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-column-gap: max(20px, 1.46vw);
       -moz-column-gap: max(20px, 1.46vw);
            column-gap: max(20px, 1.46vw);
    row-gap: 0;
  }
  .common-title.style-row {
    row-gap: max(25px, 1.83vw);
  }
  :root {
    --grid-space-xs: 3.73vw;
    --grid-space-xm: 7.39vw;
    --grid-space-x: 9.58vw;
  }
  .site-header-layout {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
    -webkit-padding-before: 4.97vw;
            padding-block-start: 4.97vw;
    -webkit-padding-start: 7.32vw;
            padding-inline-start: 7.32vw;
    -webkit-padding-end: 3.66vw;
            padding-inline-end: 3.66vw;
		transition: .5s
  }
	.site-header-layout.scroll{
		-webkit-padding-before: 2vw;
            padding-block-start: 2vw;
	}
  .site-header-logo {
    width: 164px;
  }
  .site-header-nav {
    -ms-grid-column: 3;
    grid-column: 3;
    display: block;
  }
  .site-header-nav-layout {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-column-gap: 2em;
       -moz-column-gap: 2em;
            column-gap: 2em;
    row-gap: 1.5em;
  }
  .site-header-nav-layout .has-branch {
    position: relative;
    width: auto;
  }
  .site-header-nav-layout .branch {
    pointer-events: none;
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 0;
 padding-top: 15px
  }
  .site-header-nav-layout .branch-layout {
		 background-color: rgba(255, 255, 255, 0.9);
        padding: 10px 30px 10px 30px;
        border-radius: 10px;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    /*justify-items: end;*/
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    row-gap: 0.25em;
    -webkit-margin-start: 0;
     margin-inline-start: 0;
    /*padding-block: 0.25em;*/
  }
  .site-header-contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: max(20px, 1.46vw);
       -moz-column-gap: max(20px, 1.46vw);
            column-gap: max(20px, 1.46vw);
  }
  .site-header-contact li a {
    min-width: 13.64em;
  }
  .site-header-trigger {
    display: none;
  }
  .common-contact {
    padding: 10.97vw 8.49vw;
  }
  .common-contact body:not(.home) {
    -webkit-margin-before: 14.63vw;
            margin-block-start: 14.63vw;
  }
  .common-contact-layout {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .common-contact-layout .separate {
    width: 1px;
    height: 100%;
    background-color: var(--white);
  }
  .common-contact-section {
    -ms-grid-row-span: 3;
    grid-row: span 3;
    -ms-grid-rows: subgrid;
    grid-template-rows: subgrid;
    row-gap: max(20px, 1.46vw);
  }
  .common-contact-section:nth-child(2n+1) {
    -webkit-padding-end: 5.12vw;
            padding-inline-end: 5.12vw;
  }
  .common-contact-section:nth-child(2n) {
    -webkit-padding-start: 5.12vw;
            padding-inline-start: 5.12vw;
    border-left: 1px solid;
  }
  .common-contact-section hgroup {
    row-gap: max(10px, 0.73vw);
  }
  .common-contact-section-lead {
    width: 100%;
    max-width: 34em;
  }
  .common-contact-section-link {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .site-footer-layout {
    -ms-grid-columns: auto 10px 1fr 10px auto;
    grid-template-columns: auto 1fr auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
    row-gap: 8.78vw;
    padding: 8.78vw 4.39vw;
  }
  .site-footer-logo {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .site-footer-logo a {
    width: 164px;
  }
  .site-footer-nav {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column-align: end;
        justify-self: end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
    -webkit-column-gap: 35px;
       -moz-column-gap: 35px;
            column-gap: 35px;
    row-gap: 1em;
  }
  .site-footer-nav .has-branch {
    position: relative;
    width: auto;
  }
  .site-footer-nav .branch {
    pointer-events: none;
    opacity: 0;
    position: absolute;
    top: 100%;
    /*right: 0;*/
    left: 0;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 18px 80px 18px 30px;
    border-radius: 10px;
  }
  .site-footer-nav .branch-layout {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    /*justify-items: end;*/
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    row-gap: 0.25em;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    padding-block: 0.25em;
  }
  .site-footer-links {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .site-footer-links .has-margin {
    -webkit-margin-start: 10px;
            margin-inline-start: 10px;
  }
  .site-footer-copyright {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 2;
    grid-row: 2;
    -ms-grid-column-align: end;
        justify-self: end;
  }
  .home-hero {
    --size: 71.69vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    flex-direction: row-reverse;
    height: var(--size);
  }
  .home-hero-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-padding-before: 0;
            padding-block-start: 0;
    /*padding-inline: 7.39vw;*/
		padding-left: 7vw;
    padding-right: 1vw;
  }
  .home-hero-desc > div {
    -webkit-padding-before: 27.8vw;
            padding-block-start: 27.8vw;
  }
  .home-hero-desc h2 {
    font-size: 4.02vw;
  }
  .home-hero-desc p {
    font-size: 0.95vw;
  }
  .home-hero-cover {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 55vw;
    height: 60vw;
    -webkit-margin-before: 0;
            margin-block-start: 0;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }
  .home-hero-cover-layer {
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 0;
    width: 70.52vw;
    height: 70.52vw;
    translate: 0 0;
  }
  .home-hero-cover-layer > img {
    width: 97.73vw;
  }
  .home-who-we-are {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
  .home-who-we-are-layout {
    -ms-grid-columns: 50.16% 7.32vw 1fr;
    grid-template-columns: 50.16% 1fr;
    -ms-grid-rows: 1fr 2.19vw auto 2.19vw auto 2.19vw auto 2.19vw 1fr;
    grid-template-rows: 1fr auto auto auto 1fr;
    -webkit-column-gap: 7.32vw;
       -moz-column-gap: 7.32vw;
            column-gap: 7.32vw;
    row-gap: 2.19vw;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-end: var(--grid-space-x);
            margin-inline-end: var(--grid-space-x);
  }
  .home-who-we-are-layout > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .home-who-we-are-layout > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .home-who-we-are-layout > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .home-who-we-are-layout > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .home-who-we-are-layout > *:nth-child(5) {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .home-who-we-are-layout > *:nth-child(6) {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
  .home-who-we-are-layout > *:nth-child(7) {
    -ms-grid-row: 7;
    -ms-grid-column: 1;
  }
  .home-who-we-are-layout > *:nth-child(8) {
    -ms-grid-row: 7;
    -ms-grid-column: 3;
  }
  .home-who-we-are-layout > *:nth-child(9) {
    -ms-grid-row: 9;
    -ms-grid-column: 1;
  }
  .home-who-we-are-layout > *:nth-child(10) {
    -ms-grid-row: 9;
    -ms-grid-column: 3;
  }
  .home-who-we-are-layout > *:not(.home-who-we-are-figure) {
    -ms-grid-column: 2;
    grid-column: 2;
  }
  .home-who-we-are-title {
    -ms-grid-row: 2;
    grid-row: 2;
    row-gap: 2.19vw;
  }
  .home-who-we-are-figure {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    grid-row: 1/6;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
  .home-who-we-are-lead {
    -ms-grid-row: 3;
    grid-row: 3;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
  .home-who-we-are-more {
    -ms-grid-row: 4;
    grid-row: 4;
    -webkit-margin-before: 0.73vw;
            margin-block-start: 0.73vw;
  }
  .home-introduce {
    background-size: 100% calc(100% - 26.7vw);
  }
  .home-introduce-slider {
    -webkit-margin-before: 11.7vw;
            margin-block-start: 11.7vw;
  }
  .home-introduce-slider ul {
    --size: 24.58vw;
    -webkit-animation-duration: 60s;
            animation-duration: 60s;
  }
  .home-introduce-slider li {
    -webkit-padding-end: max(7px, 0.51vw);
            padding-inline-end: max(7px, 0.51vw);
  }
  .home-introduce-slider li:nth-child(2n+1) {
    -webkit-margin-before: 2.19vw;
            margin-block-start: 2.19vw;
  }
  .home-banners {
    -webkit-margin-before: 4.39vw;
            margin-block-start: 4.39vw;
  }
  .home-banners ul {
    --size: 4.02vw;
    -webkit-column-gap: 3.66vw;
       -moz-column-gap: 3.66vw;
            column-gap: 3.66vw;
    -webkit-padding-end: 3.66vw;
            padding-inline-end: 3.66vw;
    -webkit-animation-duration: 60s;
            animation-duration: 60s;
  }
  .home-service {
    -webkit-margin-before: 11.7vw;
            margin-block-start: 11.7vw;
  }
  .home-service-header {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 50px;
       -moz-column-gap: 50px;
            column-gap: 50px;
    -webkit-margin-start: var(--grid-space-x);
            margin-inline-start: var(--grid-space-x);
  }
  .home-service-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-inline: 0;
  }
  .home-service-subtitle {
    -webkit-margin-before: 5.12vw;
            margin-block-start: 5.12vw;
  }
  .home-service-lead {
    width: 100%;
    max-width: 30em;
    -webkit-margin-before: 2.19vw;
            margin-block-start: 2.19vw;
  }
  .home-service-more {
    -webkit-margin-before: 2.56vw;
            margin-block-start: 2.56vw;
  }
  .home-service-figure {
    --r: 31.46vw;
    position: relative;
    z-index: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    display: block;
    width: var(--r);
    height: calc(var(--r) * 2);
    -webkit-margin-start: calc(var(--font-size-16) * 8 * 1.05 + 3.66vw);
            margin-inline-start: calc(var(--font-size-16) * 8 * 1.05 + 3.66vw);
  }
  .home-service-figure-list li {
    --a2: calc( var( --angle ) * 1deg - 90deg );
    --x: calc( cos( var( --a2 ) ) * var( --r ) );
    --y: calc( sin( var( --a2 ) ) * var( --r ) );
    -webkit-padding-end: 3.66vw;
            padding-inline-end: 3.66vw;
    translate: var(--x) var(--y);
  }
  .home-service-figure-list li:nth-child(1) {
    --angle: 306;
  }
  .home-service-figure-list li:nth-child(2) {
    --angle: 288;
  }
  .home-service-figure-list li:nth-child(3) {
    --angle: 270;
  }
  .home-service-figure-list li:nth-child(4) {
    --angle: 252;
  }
  .home-service-figure-list li:nth-child(5) {
    --angle: 234;
  }
  .home-service-figure-list li:not(:nth-child(3)) > div {
    -webkit-margin-before: -1em;
            margin-block-start: -1em;
  }
  .home-service-figure-point div {
    --a2: calc( var( --angle ) * 1deg - 90deg );
    --x: calc( cos( var( --a2 ) ) * var( --r ) );
    --y: calc( sin( var( --a2 ) ) * var( --r ) );
    width: max(15px, 1.1vw);
    height: max(15px, 1.1vw);
    -webkit-margin-end: max(-7.5px, -0.55vw);
            margin-inline-end: max(-7.5px, -0.55vw);
    background-color: #d9d9d9;
    translate: var(--x) var(--y);
  }
  .home-service-figure-point div:nth-child(1) {
    --angle: 306;
  }
  .home-service-figure-point div:nth-child(2) {
    --angle: 288;
  }
  .home-service-figure-point div:nth-child(3) {
    --angle: 270;
  }
  .home-service-figure-point div:nth-child(4) {
    --angle: 252;
  }
  .home-service-figure-point div:nth-child(5) {
    --angle: 234;
  }
  .home-service-figure-circle {
    --r: 27.8vw;
    position: absolute;
    z-index: -1;
    inset: 0;
    right: -1px;
    padding-block: 1.83vw;
    -webkit-padding-start: 1.83vw;
            padding-inline-start: 1.83vw;
    border-radius: 100% 0 0 100%/50%;
    outline: 1px solid #a4a4a4;
    outline-offset: -1px;
  }

  .home-service-list {
    position: sticky;
    top: 0;
    row-gap: 4vw;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
  .home-service-list::after {
    content: "";
    display: block;
    width: 100%;
    height: 79.01vw;
  }
  .home-service-list-item {
    --diff: 0;
    position: sticky;
    top: var(--diff);

  }
  .home-service-list-item > div {
    margin-inline: 4.39vw;
    background-color: var(--white);
  }
  .home-service-list-item.is-fixed > div {
    position: fixed;
    z-index: 1;
    top: var(--diff);
    left: 0;
    right: 0;
  }
  .home-service-list-item-header {
    padding: max(20px, 1.46vw) 1.83vw max(20px, 1.46vw);
  }
  .home-service-list-item-body {
    -webkit-margin-before: max(10px, 0.73vw);
            margin-block-start: max(10px, 0.73vw);
  }
  .home-service-list-item-desc {
    padding: 8.78vw 5.85vw 5.85vw;
  }
  .home-service-list-item-desc hgroup {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-column-gap: 2.19vw;
       -moz-column-gap: 2.19vw;
            column-gap: 2.19vw;
  }
  .home-service-list-item-desc hgroup h3 {
    translate: 0 -1em;
  }
  .home-service-list-item-more {
    -webkit-margin-before: 2.19vw;
            margin-block-start: 2.19vw;
  }
  .home-case-layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    -webkit-padding-start: var(--grid-space-x);
            padding-inline-start: var(--grid-space-x);
  }
  .home-case-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-inline: 0;
  }
  .home-case-subtitle {
    -webkit-margin-before: 5.12vw;
            margin-block-start: 5.12vw;
  }
  .home-case-lead {
    width: 100%;
    max-width: 30em;
    -webkit-margin-before: 2.19vw;
            margin-block-start: 2.19vw;
  }
  .home-case-more {
    -webkit-margin-before: 2.56vw;
            margin-block-start: 2.56vw;
  }
  .home-case-slider {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: min(55vw,700px);
    -webkit-padding-start: 0;
            padding-inline-start: 0;
		margin-block-start: 0;
  }
  .home-tips {
    -webkit-margin-before: 17.56vw;
            margin-block-start: 17.56vw;
  }
  .home-tips-layout {
    -ms-grid-columns: auto 10px 1fr 10px auto;
    grid-template-columns: auto 1fr auto;
    -ms-grid-rows: auto 7.32vw auto;
    grid-template-rows: auto auto;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
    row-gap: 7.32vw;
    padding-inline: max(81px, 5.93vw);
  }
  .home-tips-layout > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .home-tips-layout > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .home-tips-layout > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  .home-tips-layout > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .home-tips-layout > *:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .home-tips-layout > *:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
  }
  .home-tips-title {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .home-tips-list {
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-column: 1/4;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .home-tips-more {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-row-align: end;
        align-self: end;
  }
  .home-recruit {
    -webkit-margin-before: 21.95vw;
            margin-block-start: 21.95vw;
    margin-inline: var(--grid-space-xm);
  }
  .home-recruit-layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 5.12vw;
       -moz-column-gap: 5.12vw;
            column-gap: 5.12vw;
    padding: 0 5.12vw 0 7.32vw;
  }
  .home-recruit-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-block: 7.32vw;
  }
  .home-recruit-subtitle {
    -webkit-margin-before: 5.12vw;
            margin-block-start: 5.12vw;
  }
  .home-recruit-lead {
    width: 100%;
    max-width: 28em;
    -webkit-margin-before: 2.19vw;
            margin-block-start: 2.19vw;
  }
  .home-recruit-more {
    -webkit-margin-before: 2.56vw;
            margin-block-start: 2.56vw;
  }
  .home-recruit-figure {
    position: relative;
    z-index: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    display: block;
    width: 34.38vw;
  }
  .home-has-sphere {
    -webkit-margin-before: -39.5vw;
            margin-block-start: -39.5vw;
    -webkit-padding-before: 27.07vw;
            padding-block-start: 27.07vw;
    -webkit-padding-after: 14.63vw;
            padding-block-end: 14.63vw;
  }
  .about-hero {
    -webkit-padding-before: max(130px, 18.29vw);
            padding-block-start: max(130px, 18.29vw);
  }
  .about-hero-desc {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    height: auto;
    max-height: unset;
    padding: 0 var(--grid-space-xm);
  }
  .about-hero-desc > *:not(.common-title) {
    -webkit-margin-start: 3.29vw;
            margin-inline-start: 3.29vw;
  }
  .about-hero-subtitle {
    -webkit-margin-before: 7.32vw;
            margin-block-start: 7.32vw;
  }
  .about-hero-lead {
    width: 100%;
    max-width: 32em;
    -webkit-margin-before: 2.19vw;
            margin-block-start: 2.19vw;
  }
  .about-hero-figure {
    aspect-ratio: 1367/780;
  }
  .about-hero-figure img {
    height: 100%;
    translate: 10.23% 4.36%;
  }
  .about-story-section-layout {
    height: auto;
    max-height: unset;
    min-height: 100vh;
    padding-block: 2.19vw;
  }
  .about-story-section-title {
    row-gap: 1.46vw;
  }
  .about-story-section-title.style-flex-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-column-gap: 3.66vw;
       -moz-column-gap: 3.66vw;
            column-gap: 3.66vw;
  }
  .about-story-section-title.style-flex-row h2 {
    translate: 0 -0.95em;
  }
  .about-mission-lead {
    -webkit-margin-before: 4.39vw;
            margin-block-start: 4.39vw;
  }
  .about-vision-lead {
    row-gap: 1.46vw;
    -webkit-margin-before: max(50px, 3.66vw);
            margin-block-start: max(50px, 3.66vw);
  }
  .about-vision-lead .en .wbr {
    display: inline-block;
  }
  .about-value-layout {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 12.44vw 1fr;
    grid-template-columns: auto 1fr;
    -webkit-column-gap: 12.44vw;
       -moz-column-gap: 12.44vw;
            column-gap: 12.44vw;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .about-value-list {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
  .about-value-list ul {
    -ms-grid-columns: 1fr auto;
    grid-template-columns: 1fr auto;
    row-gap: max(25px, 1.83vw);
  }
  .about-value-list li {
    padding-block: max(15px, 1.1vw);
  }
  .about-has-sphere {
    -webkit-padding-before: 16.09vw;
            padding-block-start: 16.09vw;
    -webkit-padding-after: 14.63vw;
            padding-block-end: 14.63vw;
  }
  .about-message-layout {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 6.58vw 24vw;
    grid-template-columns: 1fr 34vw;
    -ms-grid-rows: (auto)[3];
    grid-template-rows: repeat(3, auto);
    -webkit-column-gap: 6.58vw;
       -moz-column-gap: 6.58vw;
            column-gap: 6.58vw;
  }
  .about-message-layout > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  /*.about-message-layout > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }*/
  .about-message-layout > *:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .about-message-layout > *:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .about-message-layout > *:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .about-message-layout > *:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .about-message-title {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 1;
    grid-row: 1;
    -webkit-margin-after: max(70px, 5.12vw);
            margin-block-end: max(70px, 5.12vw);
  }
  .about-message-figure {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 3/4;
    -ms-grid-row-span: 3/4;
    grid-row: 3/4;
  }
  .about-message-ceo {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 4;
    grid-row: 4;
    -webkit-margin-before: 20px;
            margin-block-start:20px;
  }
	.about-message-lead-title{
		 -ms-grid-column: 1/3;
		grid-column: 1/3;
		   -ms-grid-row: 2;
		grid-row: 2;
		margin-block-end: max(50px, 3.67vw);
	}
  .about-message-lead {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
    width: 100%;
    max-width: 50em;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
  .about-outline {
    -webkit-margin-before: 10.97vw;
            margin-block-start: 10.97vw;
  }
  .about-outline-layout {
    -webkit-padding-before: 8.78vw;
            padding-block-start: 8.78vw;
  }
  .about-outline-table {
    -webkit-margin-before: 4.75vw;
            margin-block-start: 4.75vw;
  }
  .about-outline-table th,
  .about-outline-table td {
    padding-block: 1.83vw;
  }
  .about-outline-table th {
    -webkit-padding-end: 10.97vw;
            padding-inline-end: 10.97vw;
  }
  .about-outline-map {
    aspect-ratio: 848/400;
    -webkit-margin-before: max(20px, 1.46vw);
            margin-block-start: max(20px, 1.46vw);
    padding-block: max(5px, 0.37vw);
  }
  .about-influencer {
    -webkit-margin-before: 10.97vw;
            margin-block-start: 10.97vw;
  }
  .about-influencer-layout {
    -webkit-padding-before: 8.78vw;
            padding-block-start: 8.78vw;
  }
  .about-influencer-list {
    -webkit-margin-before: 6.58vw;
            margin-block-start: 6.58vw;
  }
  .about-influencer-list ul {
    --size: 16.09vw;
  }
  .about-influencer-list ul > li {
    row-gap: 1.1vw;
    -webkit-padding-end: 2.19vw;
            padding-inline-end: 2.19vw;
  }
  .service-introduce {
    -webkit-padding-after: 18.29vw;
            padding-block-end: 18.29vw;
  }
  .service-hero-layout {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-margin-start: var(--grid-space-xm);
            margin-inline-start: var(--grid-space-xm);
  }
  .service-hero-desc {
    -webkit-padding-before: max(130px, 18.29vw);
            padding-block-start: max(130px, 18.29vw);
  }
  .service-hero-subtitle {
    -webkit-margin-before: 5.12vw;
            margin-block-start: 5.12vw;
  }
  .about-hero-lead {
    width: 100%;
    max-width: 36em;
    -webkit-margin-before: 2.19vw;
            margin-block-start: 2.19vw;
  }
  .service-hero-figure {
    --r: 31.46vw;
    position: relative;
    z-index: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    display: block;
    width: var(--r);
    height: calc(var(--r) * 2);
    -webkit-margin-before: max(80px, 5.85vw);
            margin-block-start: max(80px, 5.85vw);
    -webkit-margin-start: calc(var(--font-size-16) * 8 * 1.05 + 3.66vw);
            margin-inline-start: calc(var(--font-size-16) * 8 * 1.05 + 3.66vw);
    translate: 7.75vw 0;
  }
  .service-hero-figure-list li {
    --a2: calc( var( --angle ) * 1deg - 90deg );
    --x: calc( cos( var( --a2 ) ) * var( --r ) );
    --y: calc( sin( var( --a2 ) ) * var( --r ) );
    -webkit-padding-end: 3.66vw;
            padding-inline-end: 3.66vw;
    translate: var(--x) var(--y);
  }
  .service-hero-figure-list li:nth-child(1) {
    --angle: 306;
  }
  .service-hero-figure-list li:nth-child(2) {
    --angle: 291;
  }
  .service-hero-figure-list li:nth-child(3) {
    --angle: 276;
  }
  .service-hero-figure-list li:nth-child(4) {
    --angle: 261;
  }
  .service-hero-figure-list li:nth-child(5) {
    --angle: 246;
  }
  .service-hero-figure-point div {
    --a2: calc( var( --angle ) * 1deg - 90deg );
    --x: calc( cos( var( --a2 ) ) * var( --r ) );
    --y: calc( sin( var( --a2 ) ) * var( --r ) );
    width: max(15px, 1.1vw);
    height: max(15px, 1.1vw);
    -webkit-margin-end: max(-7.5px, -0.55vw);
            margin-inline-end: max(-7.5px, -0.55vw);
    background-color: #949494;
    translate: var(--x) var(--y);
  }
  .service-hero-figure-point div:nth-child(1) {
    --angle: 305;
  }
  .service-hero-figure-point div:nth-child(2) {
    --angle: 290;
  }
  .service-hero-figure-point div:nth-child(3) {
    --angle: 276;
  }
  .service-hero-figure-point div:nth-child(4) {
    --angle: 260;
  }
  .service-hero-figure-point div:nth-child(5) {
    --angle: 244.75;
  }
  .service-hero-figure-circle {
    --r: 27.8vw;
    position: absolute;
    z-index: -1;
    inset: 0;
    right: -1px;
    padding-block: 1.83vw;
    -webkit-padding-start: 1.83vw;
            padding-inline-start: 1.83vw;
    border-radius: 100% 0 0 100%/50%;
    outline: 1px solid #a4a4a4;
    outline-offset: -1px;
  }
  .service-strength-layout {
    margin-inline: 3.66vw;
  }
  .service-strength-list {
    -ms-grid-columns: 1fr 2.93vw 1fr 2.93vw 1fr;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 2.93vw;
       -moz-column-gap: 2.93vw;
            column-gap: 2.93vw;
    row-gap: 0;
    -webkit-margin-before: 5.85vw;
            margin-block-start: 5.85vw;
  }
  .service-strength-list-item {
    row-gap: max(30px, 2.19vw);
    padding: 3.66vw 2.93vw;
  }
  .service-strength-list-item-figure::before {
    -webkit-padding-before: 81.63%;
            padding-block-start: 81.63%;
  }
  .service-contents {
    -webkit-margin-before: 13.17vw;
            margin-block-start: 13.17vw;
  }
  .service-contents-layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 8.05vw;
       -moz-column-gap: 8.05vw;
            column-gap: 8.05vw;
    margin-inline: 3.66vw;
  }
  .service-contents-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .service-contents-desc.is-sticky .sticky {
    position: sticky;
    top: 0;
    top: var(--top);
  }
  .service-contents-desc .common-title-en {
    font-size: max(3.6rem, 5.85vw);
  }
  .service-contents-subtitle {
    -webkit-margin-before: 3.66vw;
            margin-block-start: 3.66vw;
  }
  .service-contents-lead {
    width: 100%;
    max-width: 33em;
    -webkit-margin-before: 2.19vw;
            margin-block-start: 2.19vw;
  }
  .service-contents-list {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 51.21vw;
    -webkit-margin-before: 7.32vw;
            margin-block-start: 7.32vw;
  }
  .service-contents-list-item {
    -webkit-column-gap: 2.93vw;
       -moz-column-gap: 2.93vw;
            column-gap: 2.93vw;
    padding-block: 5.85vw;
  }
  .service-contents-list-item > figure {
    width: 17.56vw;
  }
  .service-contents-list-item-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .service-contents-list-item-title {
    row-gap: max(3px, 0.22vw);
    -webkit-margin-before: max(15px, 1.1vw);
            margin-block-start: max(15px, 1.1vw);
  }
  .service-contents-list-item-lead {
    -webkit-margin-before: 1.83vw;
            margin-block-start: 1.83vw;
  }
  .service-contents-list-item-more {
    -webkit-margin-before: 1.46vw;
            margin-block-start: 1.46vw;
  }
  .service-common-section {
    padding-inline: var(--grid-space-xs);
  }
  .service-common-section-layout {
    --margin: 10.97vw;
  }
  .service-common-section-layout > .common-title {
    margin-inline: var(--grid-space-xs);
  }
  .service-faq-main {
    -webkit-margin-before: max(60px, 4.39vw);
            margin-block-start: max(60px, 4.39vw);
    margin-inline: var(--grid-space-xs);
  }
  .service-faq-list li .term {
    padding-block: max(20px, 1.46vw);
    -webkit-padding-start: max(25px, 1.83vw);
            padding-inline-start: max(25px, 1.83vw);
    -webkit-padding-end: max(30px, 2.19vw);
            padding-inline-end: max(30px, 2.19vw);
  }
  .service-faq-list li .desc {
    padding-inline: max(25px, 1.83vw);

  }
  .service-faq-list li .term::before,
  .service-faq-list li .desc::before {
    translate: 0 -0.1em;
  }
  .service-faq-list li.js-toggle .term-icon {
    -webkit-margin-start: max(25px, 1.83vw);
            margin-inline-start: max(25px, 1.83vw);
  }
  .service-faq-list li .term-icon span {
    width: max(27px, 1.98vw);
    height: max(27px, 1.98vw);
  }
  .service-flow-main {
    -webkit-margin-before: max(60px, 4.39vw);
            margin-block-start: max(60px, 4.39vw);
  }
  .service-flow-lead {
    row-gap: max(10px, 0.73vw);
    -webkit-margin-start: var(--grid-space-xs);
            margin-inline-start: var(--grid-space-xs);
  }
  .service-flow-list {
    -webkit-margin-before: 5.85vw;
            margin-block-start: 5.85vw;
    -webkit-margin-end: calc(var(--grid-space-xs) * -1);
            margin-inline-end: calc(var(--grid-space-xs) * -1);
  }
  .service-flow-list ol {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: max(50px, 3.66vw);
  }
  .service-flow-list-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-width: max(260px, 19.02vw);
    max-width: max(260px, 19.02vw);
  }
  .service-flow-list-item:not(:has(.service-flow-list-item-arrow)) {
    -webkit-padding-end: max(50px, 3.66vw);
            padding-inline-end: max(50px, 3.66vw);
  }
  .service-flow-list-item-content {
    row-gap: max(20px, 1.46vw);
    padding: max(40px, 2.93vw) max(20px, 1.46vw);
  }
  .service-flow-list-item-content > figure {
    margin-inline: max(20px, 1.46vw);
  }
  .service-flow-list-item-lead {
    margin-inline: max(10px, 0.73vw);
  }
  .service-flow-list-item-arrow {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 max(50px, 3.66vw);
            flex: 0 0 max(50px, 3.66vw);
  }
  .service-flow-list-item-arrow::before {
    width: max(16px, 1.17vw);
    height: max(18px, 1.32vw);
  }
  .service-flow-list-item-space {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 max(50px, 3.66vw);
            flex: 0 0 max(50px, 3.66vw);
    display: block;
  }
  .service-other {
    -webkit-padding-after: 13.17vw;
            padding-block-end: 13.17vw;
  }
  .service-other-list {
    -webkit-column-gap: 4.39vw;
       -moz-column-gap: 4.39vw;
            column-gap: 4.39vw;
    -ms-grid-columns: 1fr 4.39vw 1fr 4.39vw 1fr 4.39vw 1fr;
    grid-template-columns: repeat(4, 1fr);
    row-gap: 0;
    -webkit-margin-before: max(80px, 5.85vw);
            margin-block-start: max(80px, 5.85vw);
  }
  .service-other-list > a {
    row-gap: max(20px, 1.46vw);
  }
  .service-branch-hero {
    -webkit-padding-before: max(130px, 16.83vw);
            padding-block-start: max(130px, 16.83vw);
  }
  .service-branch-hero-layout {
    -webkit-margin-start: var(--grid-space-xm);
            margin-inline-start: var(--grid-space-xm);
  }
  .service-branch-subtitle {
    -webkit-margin-before: 5.12vw;
            margin-block-start: 5.12vw;
  }
  .service-branch-lead {
    width: 100%;
    max-width: 36em;
    -webkit-margin-before: 1.46vw;
            margin-block-start: 1.46vw;
  }
  .service-branch-cover {
    -webkit-margin-before: 3.66vw;
            margin-block-start: 3.66vw;
  }
  .service-branch-problem {
    -webkit-margin-before: 10.97vw;
            margin-block-start: 10.97vw;
  }
  .service-branch-problem-clouds {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
    height: 47.55vw;
    -webkit-margin-before: 2.56vw;
            margin-block-start: 2.56vw;
    -webkit-margin-start: 2.56vw;
            margin-inline-start: 2.56vw;
    -webkit-margin-end: 3.29vw;
            margin-inline-end: 3.29vw;
  }
  .service-branch-problem-clouds > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .service-branch-problem-clouds-list {
    position: relative;
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: 1/1;
  }
  .service-branch-problem-clouds-list > li {
    position: absolute;
    top: 0;
    left: 0;
    row-gap: max(10px, 0.73vw);
  }
  .service-branch-problem-clouds-list .left-top {
    width: 21.8vw;
    padding: 1.46vw 2.93vw 2.56vw 3.66vw;
    translate: 19.75vw 3.29vw;
  }
  .service-branch-problem-clouds-list .left-middle {
    width: 23.04vw;
    padding: 3.22vw 3.44vw 3.29vw 4.24vw;
    translate: 0 15.36vw;
  }
  .service-branch-problem-clouds-list .left-bottom {
    width: 21.58vw;
    padding: 2.71vw 2.78vw 3.29vw 3.88vw;
    translate: 5.85vw 32.19vw;
  }
  .service-branch-problem-clouds-list .right-top {
    width: 21.07vw;
    padding: 2.56vw 2.56vw 2.56vw 2.93vw;
    translate: 54.13vw 3.29vw;
  }
  .service-branch-problem-clouds-list .right-middle {
    width: 21.51vw;
    padding: 2.56vw 2.56vw 2.93vw 3.66vw;
    translate: 72.42vw 14.63vw;
  }
  .service-branch-problem-clouds-list .right-bottom {
    width: 23.56vw;
    padding: 4.39vw 2.93vw 4.75vw 4.75vw;
    translate: 67.3vw 31.09vw;
  }
  .service-branch-problem-clouds-list > li > h3 {
    font-size: 1.32vw;
  }
  .service-branch-problem-clouds-list > li > p {
    font-size: 1.02vw;
  }
  .service-branch-problem-clouds-base {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: 1/1;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-padding-after: 2.19vw;
            padding-block-end: 2.19vw;
  }
  .service-branch-problem-clouds-base img {
    width: 42.74%;
  }
  .service-branch-reason {
    -webkit-margin-before: 14.63vw;
            margin-block-start: 14.63vw;
  }
  .service-branch-reason-layout {
    margin-inline: 3.66vw;
  }
  .service-menu {
    padding-inline: 3.66vw;
  }
  .service-menu-layout {
    -webkit-margin-before: 10.97vw;
            margin-block-start: 10.97vw;
    -webkit-padding-before: 10.97vw;
            padding-block-start: 10.97vw;
  }
  .service-menu-layout > .common-title {
    margin-inline: 3.66vw;
  }
  .service-menu-section {
    -webkit-margin-before: 13.17vw;
            margin-block-start: 13.17vw;
  }
  .common-title + .service-menu-section {
    -webkit-margin-before: 5.85vw;
            margin-block-start: 5.85vw;
  }
  .service-menu-section-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4.39vw;
       -moz-column-gap: 4.39vw;
            column-gap: 4.39vw;
    -webkit-margin-before: 3.66vw;
            margin-block-start: 3.66vw;
    margin-inline: 3.66vw;
  }
  .service-menu-section-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .service-menu-section-title {
    row-gap: 0.73vw;
  }
  .service-menu-section-lead {
    -webkit-margin-before: 1.46vw;
            margin-block-start: 1.46vw;
  }
  .service-menu-section-suggest {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.65vw;
            flex: 0 0 33.65vw;
    -webkit-margin-before: 0;
            margin-block-start: 0;
    padding: 3vw 3.29vw;
  }
  .service-menu-section-suggest h4 {
    -webkit-padding-after: 0.73vw;
            padding-block-end: 0.73vw;
  }
  .service-menu-section-suggest ul {
    row-gap: 1em;
    -webkit-margin-before: 1.46vw;
            margin-block-start: 1.46vw;
  }
  .service-menu-section-list {
    -ms-grid-columns: 1fr 2.93vw 1fr 2.93vw 1fr;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 2.93vw;
       -moz-column-gap: 2.93vw;
            column-gap: 2.93vw;
    margin-inline: 3.66vw;
  }
  .service-menu-section-list li {
    row-gap: max(20px, 1.46vw);
  }
  .service-menu-more {
    -webkit-margin-before: 10.97vw;
            margin-block-start: 10.97vw;
  }
  .service-case {
    --margin: 14.63vw;
    -webkit-padding-after: 10.97vw;
            padding-block-end: 10.97vw;
  }
  .service-case .archive-case-holder {
    -webkit-margin-before: 4.75vw;
            margin-block-start: 4.75vw;
    margin-inline: 3.66vw;
  }
  .service-case-more {
    -webkit-margin-before: 7.32vw;
            margin-block-start: 7.32vw;
  }
  .archive-case-holder {
    -ms-grid-columns: 1fr 2.93vw 1fr 2.93vw 1fr;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 2.93vw;
       -moz-column-gap: 2.93vw;
            column-gap: 2.93vw;
    row-gap: 4.75vw;
  }
  .swiper .archive-case {
    -ms-grid-columns: 1fr 3.66vw;
    grid-template-columns: 1fr 3.66vw;
  }
  .archive-case-desc {
    -webkit-padding-after: 2.19vw;
            padding-block-end: 2.19vw;
  }
  .archive-case-label {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
    row-gap: 1.46vw;
    -webkit-margin-before: 1.83vw;
            margin-block-start: 1.83vw;
  }
  .archive-case-cat li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .archive-case-cat li a {
   /* min-width: 19.55em;*/
    min-height: 2.27em;
    padding: 0 1em 0.1em;
  }
  .archive-case-client {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-column-gap: 1em;
       -moz-column-gap: 1em;
            column-gap: 1em;
  }
  .archive-case-title {
    -webkit-margin-before: 1.1vw;
            margin-block-start: 1.1vw;
  }
  .archive-case-tag {
    row-gap: 0.5em;
    -webkit-padding-before: max(20px, 1.46vw);
            padding-block-start: max(20px, 1.46vw);
  }
  .archive-tips-list {
    -ms-grid-columns: 1fr 3.66vw 1fr 3.66vw 1fr;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 3.66vw;
       -moz-column-gap: 3.66vw;
            column-gap: 3.66vw;
    row-gap: 0;
    -webkit-margin-after: max(-70px, -5.12vw);
            margin-block-end: max(-70px, -5.12vw);
  }
  .archive-tips {
    -ms-grid-row-span: 3;
    grid-row: span 3;
    -ms-grid-rows: subgrid;
    grid-template-rows: subgrid;
    -webkit-margin-after: max(70px, 5.12vw);
            margin-block-end: max(70px, 5.12vw);
  }
  .archive-tips-label {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
    row-gap: 1.46vw;
    -webkit-margin-before: 1.83vw;
            margin-block-start: 1.83vw;
  }
  .archive-tips-cat li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .archive-tips-title {
    -webkit-margin-before: 1.1vw;
            margin-block-start: 1.1vw;
  }
  .recruit-hero {
    margin-inline: var(--grid-space-xs);
    -webkit-padding-before: max(130px, 16.09vw);
            padding-block-start: max(130px, 16.09vw);
  }
  .recruit-hero-layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 5.85vw;
       -moz-column-gap: 5.85vw;
            column-gap: 5.85vw;
    -webkit-padding-start: 7.32vw;
            padding-inline-start: 7.32vw;
    -webkit-padding-end: 8.78vw;
            padding-inline-end: 8.78vw;
  }
  .recruit-hero-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-padding-before: 7.32vw;
            padding-block-start: 7.32vw;
    -webkit-padding-after: 8.78vw;
            padding-block-end: 8.78vw;
  }
  .recruit-hero-subtitle {
    -webkit-margin-before: 5.12vw;
            margin-block-start: 5.12vw;
  }
  .recruit-hero-lead {
    width: 100%;
    max-width: 28em;
    -webkit-margin-before: 1.46vw;
            margin-block-start: 1.46vw;
  }
  .recruit-hero-content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 5.85vw 35.84vw;
    grid-template-columns: 1fr 35.84vw;
    -webkit-column-gap: 5.85vw;
       -moz-column-gap: 5.85vw;
            column-gap: 5.85vw;
    -webkit-padding-before: 6.58vw;
            padding-block-start: 6.58vw;
    -webkit-padding-start: 7.32vw;
            padding-inline-start: 7.32vw;
    -webkit-padding-end: 8.78vw;
            padding-inline-end: 8.78vw;
  }
  .recruit-hero-figure {
    position: relative;
    z-index: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    display: block;
    width: 35.84vw;
  }
  .recruit-introduce {
    -webkit-margin-before: 8.78vw;
            margin-block-start: 8.78vw;
  }
  .recruit-introduce-layout {
    row-gap: 2.19vw;
    margin-inline: 10.97vw;
  }
  .recruit-value {
    -webkit-margin-before: 7.32vw;
            margin-block-start: 7.32vw;
  }
  .recruit-value-layout {
    margin-inline: 11.05vw;
  }
  .recruit-value-list {
    -ms-grid-columns: 1fr 8.78vw 1fr 8.78vw 1fr;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 8.78vw;
       -moz-column-gap: 8.78vw;
            column-gap: 8.78vw;
    -webkit-margin-before: 4.39vw;
            margin-block-start: 4.39vw;
  }
  .recruit-value-list li hgroup {
    -webkit-margin-before: max(30px, 2.19vw);
            margin-block-start: max(30px, 2.19vw);
  }
  .recruit-value-list li hgroup p::before {
    -webkit-margin-start: 0.5em;
            margin-inline-start: 0.5em;
  }
  .recruit-staff {
    -webkit-margin-before: 13.17vw;
            margin-block-start: 13.17vw;
  }
  .recruit-staff > .common-title {
    margin-inline: 11.05vw;
  }
  .recruit-staff-list {
    -webkit-margin-before: 5.85vw;
            margin-block-start: 5.85vw;
  }
  .recruit-staff-list-item {
    padding: 4.39vw 8.12vw 3.29vw;
    color: var(--white);
  }
  .recruit-staff-list-item-back {
    position: absolute;
    z-index: -1;
    inset: 0;
    aspect-ratio: unset;
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
  .recruit-staff-list-item-name {
    row-gap: max(10px, 0.73vw);
  }
  .recruit-staff-list-item-profile {
    row-gap: max(20px, 1.46vw);
    width: calc(50% - 3.66vw);
    -webkit-margin-before: 1.83vw;
            margin-block-start: 1.83vw;
  }
  .recruit-staff-list-item-widget-layout {
    -webkit-padding-before: 3.29vw;
            padding-block-start: 3.29vw;
    -webkit-padding-after: 1.1vw;
            padding-block-end: 1.1vw;
  }
  .recruit-staff-list-item-widget-desc {
    -ms-grid-columns: 1fr 7.32vw 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 7.32vw;
       -moz-column-gap: 7.32vw;
            column-gap: 7.32vw;
    -webkit-padding-before: 3.29vw;
            padding-block-start: 3.29vw;
  }
  .recruit-staff-list-item-summary {
    -webkit-margin-before: 1.46vw;
            margin-block-start: 1.46vw;
  }
  .recruit-staff-list-item-widget-subheading {
    -webkit-margin-after: 1.46vw;
            margin-block-end: 1.46vw;
  }
  .recruit-staff-list-item-widget-heading {
    -webkit-margin-after: 0.37vw;
            margin-block-end: 0.37vw;
  }
  .recruit-staff-list-item-summary .icon span {
    background-color: var(--hover-color);
  }
  .recruit-staff-list-item-summary .icon span::before, .recruit-staff-list-item-summary .icon span::after {
    color: var(--color);
  }
  .recruit-staff-list-item-summary .label {
    --hover-color: var( --color );
  }
  .recruit-description {
    -webkit-margin-before: 14.63vw;
            margin-block-start: 14.63vw;
  }
  .recruit-description-layout {
    margin-inline: 11.05vw;
  }
  .recruit-description-table {
    --space: 2.56vw;
    -webkit-margin-before: 2.93vw;
            margin-block-start: 2.93vw;
  }
  .recruit-description-table th {
    -webkit-padding-after: var(--space);
            padding-block-end: var(--space);
    -webkit-padding-start: max(20px, 1.46vw);
            padding-inline-start: max(20px, 1.46vw);
    -webkit-padding-end: 7.32vw;
            padding-inline-end: 7.32vw;
    border-bottom: 1px solid var(--blue);
  }
  .recruit-description-table td {
    width: 100%;
    -webkit-padding-before: var(--space);
            padding-block-start: var(--space);
    -webkit-padding-start: max(20px, 1.46vw);
            padding-inline-start: max(20px, 1.46vw);
  }
  .recruit-description-table td .column {
    -ms-grid-columns: 1fr 4.39vw 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 4.39vw;
       -moz-column-gap: 4.39vw;
            column-gap: 4.39vw;
  }
  .recruit-description-entry {
    -webkit-margin-before: 7.32vw;
            margin-block-start: 7.32vw;
    -webkit-padding-after: 13.17vw;
            padding-block-end: 13.17vw;
  }
  .common-form {
    -webkit-padding-before: max(130px, 18.29vw);
            padding-block-start: max(130px, 18.29vw);
    -webkit-padding-after: 8.05vw;
            padding-block-end: 8.05vw;
  }
  .common-form-layout {
    margin-inline: 5.93vw;
  }
  .form-primary {
    -webkit-margin-before: 5.85vw;
            margin-block-start: 5.85vw;
    padding: 7.32vw 9.73vw 8.78vw;
  }
  .form-primary-layout {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    -webkit-margin-before: 2.19vw;
            margin-block-start: 2.19vw;
  }
  .form-primary-block {
    display: inherit;
    -ms-grid-column-span: 2;
    grid-column: span 2;
    -ms-grid-columns: subgrid;
    grid-template-columns: subgrid;
    -webkit-column-gap: 4.39vw;
       -moz-column-gap: 4.39vw;
            column-gap: 4.39vw;
    -webkit-margin-before: 1.46vw;
            margin-block-start: 1.46vw;
  }
  .form-primary-term {
    -webkit-padding-before: 0.45em;
            padding-block-start: 0.45em;
  }
  .form-primary-desc {
    -webkit-margin-before: 0;
            margin-block-start: 0;
    font-size: var(--font-size-13);
  }
  .form-primary-desc.has-checkbox {
    padding-block: max(10px, 0.73vw);
  }
  .form-primary-desc input[type=text],
  .form-primary-desc input[type=number],
  .form-primary-desc input[type=tel],
  .form-primary-desc input[type=email],
  .form-primary-desc input[type=url],
  .form-primary-desc input[type=password],
  .form-primary-desc input[type=date] {
    max-width: 27.69em;
    min-height: 3.08em;
  }
  .form-primary-privacy {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -webkit-margin-before: 2.93vw;
            margin-block-start: 2.93vw;
  }
  .form-primary-privacy-overflow {
    row-gap: max(10px, 0.73vw);
  }
  .form-primary-privacy-check {
    -webkit-margin-before: 2.93vw;
            margin-block-start: 2.93vw;
  }
  .form-primary-submit {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -webkit-margin-before: 5.85vw;
            margin-block-start: 5.85vw;
  }
	.form-primary .form-primary-txt{
		text-align: center;
		font-size: var(--font-size-16);
	}
	
  .privacy-header {
    -webkit-padding-before: max(130px, 18.29vw);
            padding-block-start: max(130px, 18.29vw);
  }
  .privacy-header > .common-title {
    margin-inline: 6.29vw;
  }
  .privacy-lead {
    -webkit-margin-before: 8.78vw;
            margin-block-start: 8.78vw;
    margin-inline: 11.05vw;
  }
  .privacy-body {
    -webkit-margin-before: 7.32vw;
            margin-block-start: 7.32vw;
    margin-inline: 11.05vw;
    -webkit-padding-after: 14.63vw;
            padding-block-end: 14.63vw;
  }
  .privacy-list {
    row-gap: 7.32vw;
    -webkit-margin-before: 7.32vw;
            margin-block-start: 7.32vw;
  }
  .privacy-list dl {
    row-gap: max(20px, 1.46vw);
  }
}
@media screen and (min-width: 768px) and (any-hover: hover){
  .site-header-nav-layout .has-cross span {
    display: inline;
    -webkit-margin-start: 1em;
            margin-inline-start: 1em;
  }
  .site-header-nav-layout .branch {
    z-index: 1;
    -webkit-transition: opacity 300ms ease-in;
    transition: opacity 300ms ease-in;
  }
  .site-header-nav-layout .has-branch.is-hover .branch {
    pointer-events: auto;
    opacity: 1;
  }
  .site-footer-nav .has-cross span {
    display: inline;
    -webkit-margin-start: 1em;
            margin-inline-start: 1em;
  }
  .site-footer-nav .branch {
    -webkit-transition: opacity 300ms ease-in;
    transition: opacity 300ms ease-in;
  }
}
@media screen and (min-width: 1068px){
  .service-branch-hero-layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 6.58vw;
       -moz-column-gap: 6.58vw;
            column-gap: 6.58vw;
  }
  .service-branch-desc {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-margin-end: 0;
            margin-inline-end: 0;
  }
  .service-branch-lead {
    max-width: 26em;
  }
  .service-branch-cover {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}
@media (any-hover: hover){
  .comp-button {
    --duration: 300ms;
    --hover-size: var( --size );
    position: relative;
    z-index: 0;
    -webkit-padding-end: calc(var(--size) + 0.85em);
            padding-inline-end: calc(var(--size) + 0.85em);
  }
  .comp-button:hover {
    --hover-size: max(35px, 2.56vw);
  }
  .comp-button::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 0;
    right: 0;
    height: var(--hover-size);
    border-radius: var(--hover-size);
    background-color: var(--color);
    translate: 0 -50%;
    clip-path: inset(0% calc(100% - var(--size) / 2) 0% 0%);
    -webkit-transition: height var(--duration), clip-path var(--duration);
    transition: height var(--duration), clip-path var(--duration);
  }
  .comp-button:hover::after {
    clip-path: inset(0% calc(var(--size) / 2) 0% 0%);
  }
  .comp-button-icon span {
    position: absolute;
    top: 50%;
    left: 0%;
    width: var(--hover-size);
    height: var(--hover-size);
    translate: 0 -50%;
    -webkit-transition: left var(--duration), width var(--duration), height var(--duration);
    transition: left var(--duration), width var(--duration), height var(--duration);
  }
  .comp-button:hover .comp-button-icon span {
    left: calc(100% - var(--hover-size));
  }
  .comp-button-label {
    -webkit-transition: color var(--duration);
    transition: color var(--duration);
  }
  .comp-button:hover .comp-button-label {
    color: var(--hover-color);
  }
  .comp-button-grad {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
  }
  .comp-button-grad:hover {
    opacity: 0.25;
  }
  .site-header-nav-layout .branch a {
    background-position: 100% calc(100% - 0.25em);
  }
  .site-header-nav-layout .branch a:hover {
    background-position: 0% calc(100% - 0.25em);
  }
  .site-header-contact {
    position: relative;
    z-index: 0;
  }
  .site-header-contact li a {
    -webkit-transition: color 300ms;
    transition: color 300ms;
  }
  .site-header-contact li a:hover {
    color: var(--blue);
    background-image: -webkit-gradient(linear, left bottom, right top, from(rgba(109, 172, 197, 0.9)), to(rgba(182, 173, 206, 0.9)));
    background-image: linear-gradient(to top right, rgba(109, 172, 197, 0.9), rgba(182, 173, 206, 0.9));
  }
  .common-contact-section-link a {
    -webkit-transition: background-color 300ms, color 300ms;
    transition: background-color 300ms, color 300ms;
  }
  .common-contact-section-link a:hover {
    background-color: #fff;
    color: #154a84;
  }
  .site-footer-logo a {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
  }
  .site-footer-logo a:hover {
    opacity: 0.35;
  }
  .site-footer-nav a {
    background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(currentColor));
    background-image: linear-gradient(to right, currentColor, currentColor);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
    -webkit-transition: background-size 300ms;
    transition: background-size 300ms;
  }
  .site-footer-nav a:hover {
    background-position: 0% 100%;
    background-size: 100% 1px;
  }
  .site-footer-nav .has-branch > a:hover ~ .branch,
  .site-footer-nav .branch:hover {
    pointer-events: auto;
    opacity: 1;
  }
  .site-footer-nav .branch a {
    background-position: 100% calc(100% - 0.25em);
  }
  .site-footer-nav .branch a:hover {
    background-position: 0% calc(100% - 0.25em);
  }
  .site-footer-links a:not(.has-icon) {
    background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(currentColor));
    background-image: linear-gradient(to right, currentColor, currentColor);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
    -webkit-transition: background-size 300ms;
    transition: background-size 300ms;
  }
  .site-footer-links a:not(.has-icon):hover {
    background-position: 0% 100%;
    background-size: 100% 1px;
  }
  .site-footer-links .has-icon {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
  }
  .site-footer-links .has-icon:hover {
    opacity: 0.35;
  }
  .home-service-list-item-thumb::before {
    -webkit-transition: opacity 400ms;
    transition: opacity 400ms;
  }
  .home-service-list-item:has(.home-service-list-item-desc:hover) .home-service-list-item-thumb::before {
    opacity: 0.25;
  }
  .home-service-list-item-desc:hover .comp-button {
    --hover-size: max(35px, 2.56vw);
  }
  .home-service-list-item-desc:hover .comp-button::after {
    clip-path: inset(0% calc(var(--size) / 2) 0% 0%);
  }
  .home-service-list-item-desc:hover .comp-button-icon span {
    left: calc(100% - var(--hover-size));
  }
  .home-service-list-item-desc:hover .comp-button-label {
    color: var(--hover-color);
  }
  .home-case-slider .swiper {
    padding-block: 5px;
    -webkit-padding-start: 5px;
            padding-inline-start: 5px;
  }
  .service-faq-list li.js-toggle .term {
    cursor: pointer;
    -webkit-transition: background-color 400ms;
    transition: background-color 400ms;
  }
  .service-faq-list li.js-toggle .term:hover {
    background-color: rgba(8, 54, 80, 0.15);
  }
  .service-other-list > a {
    position: relative;
    z-index: 0;
  }
  .service-other-list > a::after {
    content: "";
    opacity: 0;
    position: absolute;
    z-index: -1;
    inset: -5px;
    background-image: -webkit-gradient(linear, left bottom, right top, from(#6dacc5), to(#b6adce));
    background-image: linear-gradient(to top right, #6dacc5, #b6adce);
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    -webkit-transition: opacity 300ms, -webkit-transform 300ms;
    transition: opacity 300ms, -webkit-transform 300ms;
    transition: opacity 300ms, transform 300ms;
    transition: opacity 300ms, transform 300ms, -webkit-transform 300ms;
  }
  body.home .service-other-list > a::after {
    background-image: -webkit-gradient(linear, left bottom, right top, from(rgba(255, 255, 255, 0.5)), to(white));
    background-image: linear-gradient(to top right, rgba(255, 255, 255, 0.5), white);
  }
  .service-other-list > a:hover::after {
    opacity: 0.25;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .archive-case {
    position: relative;
    z-index: 0;
  }
  .archive-case-cat li a {
    -webkit-transition: background-color 300ms, color 300ms;
    transition: background-color 300ms, color 300ms;
  }
  .archive-case-cat li a:hover {
    background-color: var(--blue-100);
    color: var(--blue-200);
  }
  /*.archive-case-link::after {
    content: "";
    opacity: 0;
    position: absolute;
    z-index: -1;
    inset: -5px;
    background-image: -webkit-gradient(linear, left bottom, right top, from(#6dacc5), to(#b6adce));
    background-image: linear-gradient(to top right, #6dacc5, #b6adce);
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    -webkit-transition: opacity 300ms, -webkit-transform 300ms;
    transition: opacity 300ms, -webkit-transform 300ms;
    transition: opacity 300ms, transform 300ms;
    transition: opacity 300ms, transform 300ms, -webkit-transform 300ms;
  }*/

  .swiper .archive-case-link::after {
    right: calc(var(--grid-space-x));
  }
  body.home .archive-case-link::after {
    background-image: -webkit-gradient(linear, left bottom, right top, from(rgba(255, 255, 255, 0.5)), to(white));
    background-image: linear-gradient(to top right, rgba(255, 255, 255, 0.5), white);
  }
  .archive-case-link:hover::after {
    opacity: 0.25;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .archive-tips {
    position: relative;
    z-index: 0;
  }
  .archive-tips-cat li a {
    -webkit-transition: background-color 300ms, color 300ms;
    transition: background-color 300ms, color 300ms;
  }
  .archive-tips-cat li a:hover {
    background-color: var(--blue-100);
    color: var(--blue-200);
  }
  .archive-tips-link::after {
    content: "";
    opacity: 0;
    position: absolute;
    z-index: -1;
    inset: -5px;
    border-radius: max(10px, 0.73vw);
    background-image: -webkit-gradient(linear, left bottom, right top, from(#6dacc5), to(#b6adce));
    background-image: linear-gradient(to top right, #6dacc5, #b6adce);
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    -webkit-transition: opacity 300ms, -webkit-transform 300ms;
    transition: opacity 300ms, -webkit-transform 300ms;
    transition: opacity 300ms, transform 300ms;
    transition: opacity 300ms, transform 300ms, -webkit-transform 300ms;
  }
  body.home .archive-tips-link::after {
    background-image: -webkit-gradient(linear, left bottom, right top, from(rgba(255, 255, 255, 0.5)), to(white));
    background-image: linear-gradient(to top right, rgba(255, 255, 255, 0.5), white);
  }
  .archive-tips-link:hover::after {
    opacity: 0.25;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .recruit-staff-list-item-summary button {
    --duration: 300ms;
    --hover-size: var( --size );
    position: relative;
    z-index: 0;
    -webkit-padding-end: calc(var(--size) + 0.85em);
            padding-inline-end: calc(var(--size) + 0.85em);
  }
  .recruit-staff-list-item-summary button:hover {
    --hover-size: max(35px, 2.56vw);
  }
  .recruit-staff-list-item-summary button::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 0;
    right: 0;
    height: var(--hover-size);
    border-radius: var(--hover-size);
    background-color: var(--color);
    translate: 0 -50%;
    clip-path: inset(0% calc(100% - var(--size) / 2) 0% 0%);
    -webkit-transition: height var(--duration), clip-path var(--duration);
    transition: height var(--duration), clip-path var(--duration);
  }
  .recruit-staff-list-item-summary button:hover::after {
    clip-path: inset(0% calc(var(--size) / 2) 0% 0%);
  }
  .recruit-staff-list-item-summary .icon span {
    position: absolute;
    top: 50%;
    left: 0%;
    width: var(--hover-size);
    height: var(--hover-size);
    translate: 0 -50%;
    -webkit-transition: left var(--duration), width var(--duration), height var(--duration);
    transition: left var(--duration), width var(--duration), height var(--duration);
  }
  .recruit-staff-list-item-summary button:hover .icon span {
    left: calc(100% - var(--hover-size));
  }
  .recruit-staff-list-item-summary .label {
    -webkit-transition: color 300ms;
    transition: color 300ms;
  }
  .recruit-staff-list-item-summary button:hover .label {
    color: var(--hover-color);
  }
}


/* contents fadein */


section,
.service-branch-hero,
.about-hero-layout{
  opacity: 0; 
  transform: translateY(30px); 
  transition: opacity 1s, transform 1s; 
}
/* フェードイン(スクロールした後) */
section.is-inview,
.service-branch-hero.is-inview,
.about-hero-layout.is-inview{
  opacity: 1; 
  transform: translateY(0); 
  transition-delay: .5s; 
}