@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanjp.min.css");
:root {
  --color-black-500: #111;
  --color-blue-300: #a2f2f2;
  --color-blue-400: #13bed7;
  --color-blue-500: #0566d4;
  --color-orange-500:#f15a24;
  --color-red-500: #b81c22;
  --color-yellow-500: #fed518;
  --color-gray-080: #f8f8f8;
  --color-gray-100: #f2f2f2;
  --color-gray-150: #f3f3f3;
  --color-gray-200: #ddd;
  --color-gray-300: #ccc;
  --color-gray-400: #aaa;
  --color-gray-500: #a0a0a0;
  --color-gray-800: #333;
  --color-green-100: #f3fcf7;
  --color-green-200: #e6f7ed;
  --color-green-500: #11a84e;
  --color-green-key: var(--color-green-500);
  --color-yellow-200: #fdfac1;
  --color-trueblack: #000;
  --color-truewhite: #fff;
  --color-black: var(--color-trueblack);
  --color-white: var(--color-truewhite);
  --color-white-01: rgba(255 255 255 / 0.1 );
  --color-white-08: rgba(255 255 255 / 0.8 );
  --color-white-09: rgba(255 255 255 / 0.9 );
  --shadow005: rgb(0 0 0 /0.05);
  --shadow01: rgb(0 0 0 /0.1);
  --shadow025: rgb(0 0 0 /0.25);
  --color-font-w: var(--color-truewhite);
  --color-font-b: var(--color-black-500);
  --color-bg-white: var(--color-gray-300);
}

/*黒：font*/
/*鮮やかな青：ベース*/
/*濃紺：リンク他*/
/*エメラルド：装飾他*/
/*赤：装飾他*/
/*bg：背景*/
/*グラデーション*/
/*文字グラデーション*/
.c_grad_font {
  background: -webkit-linear-gradient(0deg, #0768d4, #4fc8dc);
  color: #4ac2db;
}

em.c_grad_font {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

p.c_grad_font {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ja
-------------------------------------------------------------------------- */
/* en
-------------------------------------------------------------------------- */
:root {
  --pxr: 0.1rem;
  --spr: 0.575;
  --sspr: 0.75;
  --fspr: 0.575;
  --lhr: 1.5;
  --mq-xs: 375;
  --mq-md: 768;
  --mq-lg: 1280;
  --mq-pcmax: 1900;
  --mq-comp: 1200;
  --vws: calc( 100 / var(--mq-xs) ) * 1dvi;
  --vwm: calc( 100 / var(--mq-md) ) * 1dvi;
  --vwl: calc( 100 / var(--mq-lg) ) * 1dvi;
  --vwc: calc( 100 / var(--mq-comp) ) * 1dvi;
  --vwpcm: calc( 100 / var(--mq-pcmax) ) * 1dvi;
  --vw: var(--vwc);
  --cq-parent-width: 800;
  --cq-parent-calc-width: calc( var(--cq-parent-width) - 82 );
  --pxcq: calc( 100 / var(--cq-parent-calc-width) ) * 1cqi;
  --scrollbar-width: calc(100dvi - 100%);
  --100vw: calc(100dvi - var(--scrollbar-width));
  --100dvi: var(--100vw);
  --margin-inline-over: calc((100cqi - var(100dvi)) / 2);
  --gutter: calc((var(--100dvi) - 100cqi) / 2);
  --leading-trim: calc((1em - 1lh) / 2);
  --infinity: calc(9999 * 1px);
  --layout-width-comp: 120.0rem;
  --layout-width-comp-sp: 37.5rem;
  --layout-width-comp-m: 4.0rem;
  --layout-width-comp-m-sp: 4.0rem;
  --layout-inner-sp: calc( 100% - 40 );
  --layout-inner-pc: 1280;
  --layout-inner: var(--layout-inner-pc);
  --layout-inner-margin-pc: 40;
  --layout-inner-margin-sp: 40;
  --layout-inner-margin: var(--layout-inner-margin-pc);
  --layout-inner-maxwidth: min( calc(100% - var(--layout-inner-margin) ), var(--layout-inner) );
  --header-height-pc: 100;
  --header-height-sp: 80;
  --obj-z-l-header: 500;
  --obj-z-hamburger: 9999;
  --obj-z-spmenu: 9500;
  --obj-z-pagetopbtn: 450;
  --fw-thin: 100;
  --fw-extralight: 200;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: bold;
  --fw-extrabold: 800;
  --fw-black: 900;
  --font-Lato: "Lato";
  --font-Roboto: "Roboto", sans-serif;
  --font-NotoSansJP: "Noto Sans JP";
  --font-NotoSerifJP: "Noto Serif JP";
  --baseFont: var(--font-NotoSansJP), "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  --icon-background-color: var(--color-gray-100);
  --icon-arrow-right: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="194" fill="var(--icon-background-color)"><path d="M110.539,263.27a11.3,11.3,0,0,0-7.3,19.635l70.255,66.239H24.842a11.3,11.3,0,1,0,0,22.606l149.017,0-70.846,66.208a11.3,11.3,0,1,0,15.436,16.52l91.5-85.5a11.3,11.3,0,0,0,.042-16.489l-91.247-86.023a11.305,11.305,0,0,0-8.2-3.188Z" transform="translate(-13.538 -263.266)"/></svg>' );
  --icon-angle-arrow-right: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="7.156" height="11.314" fill="var(--icon-background-color)"><path d="M1432.5,7717.863h0l-1.5-1.5,4.158-4.158-4.158-4.156,1.5-1.5,5.656,5.656-5.655,5.657Z" transform="translate(-1431 -7706.549)"/></svg>' );
  --icon-angle-arrow-up: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20.832" height="12.829" fill="var(--icon-background-color)"><path d="M1877.887,7804.561h0l-2.76-2.689,10.416-10.139,10.416,10.139-2.761,2.688-7.655-7.45-7.654,7.451Z" transform="translate(-1875.125 -7791.731)"/></svg>' );
  --icon-angle-arrow-down: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11.312" height="7.157" fill="var(--icon-background-color)"><path  d="M520.012,1152.375h0l-5.657-5.656,1.5-1.5,4.157,4.157,4.156-4.157,1.5,1.5-5.656,5.656Z" transform="translate(-514.354 -1145.219)"/></svg>' );
  --card-shadow: 0 0 20px rgba(25, 25, 25, 0.08);
  --card-hover-shadow: 0px 40px 30px rgba(25, 25, 25, 0.12);
  --card-hover-shadow02: 0px 48px 40px rgba(25, 25, 25, 0.2);
  --card-hover-scale: 1.015;
  --card-radius: 2.0rem;
  --card-border-shadow: 0 0 1px rgba(25, 25, 25, 0.9);
  --form-radius: 1.0rem;
  --is-windows: 0;
  --is-mac: 0;
  --is-android: 0;
  --is-iphone: 0;
  --is-chrome: 0;
  --is-safari: 0;
  --is-firefox: 0;
  --is-edge: 0;
  --is-sp: 0;
  --is-tab: 0;
  --is-pc: 0;
}

:root body.is-windows {
  --is-windows: 1;
}
:root body.is-mac {
  --is-mac: 1;
}
:root body.is-android {
  --is-android: 1;
}
:root body.is-iphone {
  --is-android: 1;
}
:root body.chrome {
  --is-chrome: 1;
}
:root body.safari {
  --is-safari: 1;
}
:root body:not(.safari) {
  --is-not-safari: 1;
}
:root body.firefox {
  --is-firefox: 1;
}
:root body.edge {
  --is-edge: 1;
}

:root[data-page=home] {
  --header-height-pc: 100;
}
:root:not([data-page=home]) {
  --header-height-pc: 80;
}

#space {
  height: 1300px;
  background-color: blanchedalmond;
}

/*     フェードイン    */
.fadeIn {
  opacity: 0;
  transition-delay: 250ms;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.23, 0.76, 0.73, 0.97);
}

.fadeIn-up {
  transform: translate(0, 50px);
}

.fadeIn-down {
  transform: translate(0, -80px);
}

.fadeIn-left {
  transform: translate(-50px, 0);
}

.fadeIn-right {
  transform: translate(50px, 0);
}

.scroll-in {
  transform: translate(0);
  opacity: 1;
}

/*     スライドイン    */
.slideIn {
  opacity: 0;
  transition-delay: 0ms;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.23, 0.76, 0.73, 0.97);
}

.slideIn-up {
  transform: translate(0, 80px);
  opacity: 1;
}

.slideIn-down {
  transform: translate(0, -80px);
  opacity: 1;
}

.slideIn-left {
  transform: translate(-80px, 0);
  opacity: 1;
}

.slideIn-right {
  transform: translate(80px, 0);
  opacity: 1;
}

.scroll-in {
  transform: translate(0);
  opacity: 1;
}

.is-fadein-active {
  visibility: visible !important;
  transform: translateY(0) !important;
  opacity: 1 !important;
}

/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  line-height: 1.15;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

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

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  margin: 0;
  clear: both;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  /* 1 */
  font-size: inherit;
  font-family: monospace, monospace;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  /* 1 */
  font-size: inherit;
  font-family: monospace, monospace;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: middle;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
       appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  text-transform: inherit;
  vertical-align: middle;
  /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

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

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

* {
  box-sizing: border-box;
}

body {
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
  background: #fff;
  font-size: 1.6rem;
  line-height: 1.8;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
}

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

img {
  max-width: 100%;
}

em {
  font-style: initial;
}

/*各html要素*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}

h2 {
  font-size: clamp(18px, 1.046vw, 20px);
}

h3 {
  font-size: clamp(18px, 1.25vw, 24px);
}

/*
main {
  //margin-top: 10rem;
//  @include mq-down() {
    //margin-top: 8rem;
//  }
}
*/
.l_footer {
  visibility: hidden;
  transform: translateY(3rem);
  opacity: 0;
  transition: 1s;
}

.l-header {
  -webkit-backdrop-filter: blur(3px);
  z-index: var(--obj-z-l-header);
  position: fixed;
  top: 0;
  align-content: center;
  align-items: center;
  width: 100%;
  height: calc(var(--header-height, 80) * var(--pxr));
          backdrop-filter: blur(3px);
  background-color: var(--color-white-09);
  transition: 0.5s;
}

.l-inner {
  --_gutter: var(--gutter);
  --_cq-parent-width: var(--layout-inner);
  --_cq-parent-calc-width: calc( var(--_cq-parent-width) - var(--_im) );
  --_pxcq: calc( 100 / var(--_cq-parent-calc-width) ) * 1cqi;
  --_flow: row;
  --_lwi: var(--layout-inner);
  --_im: var(--layout-inner-margin);
  --_iw: calc( var(--_lwi) + var(--_im) );
  --_u-im: calc( (var(--_im) / 2) * var(--unit) );
  --_u-iw: calc( var(--_iw) * var(--unit) );
  container-type: inline-size;
  box-sizing: border-box;
  display: block grid;
  position: relative;
  grid-template-columns: 1fr;
  grid-auto-flow: var(--_flow);
  inline-size: 100%;
  max-inline-size: var(--_u-iw);
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  margin-inline: auto;
  padding-inline: var(--_u-im);
  transform: translateZ(0);
}

.l-inner--fullw {
  justify-content: center;
  inline-size: var(--100dvi);
  margin-inline: calc(var(--gutter) * -1);
}

.l-section {
  --_gutter: calc((var(--100dvi) - 100cqi) / 2);
  --_flow: row;
  --_cq-parent-width: var(--layout-inner);
  --_pxcq: calc( 100 / var(--_cq-parent-width) ) * 1cqi;
  container-type: inline-size;
  display: block grid;
  position: relative;
  grid-auto-flow: var(--_flow);
  align-items: center;
  inline-size: 100%;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  overflow-x: clip;
}

.l-section--fullw {
  justify-content: center;
  inline-size: var(--100dvi);
  margin-inline: calc(var(--gutter) * -1);
}

:where(.l-wrap,
  .l-btn) {
  --_flow: row;
  display: block grid;
  position: relative;
  grid-template-columns: 1fr;
  grid-auto-flow: var(--_flow);
  inline-size: 100%;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}

.l-wrap--fullw {
  justify-content: center;
  inline-size: var(--100dvi);
  margin-inline: calc(var(--gutter) * -1);
}

.l-btn a {
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}

.c-arrow--center-bottom {
  width: 0;
  height: 0;
  margin: 4rem auto 0;
  border-width: 7rem 10rem 0 10rem;
  border-style: solid;
  border-color: #ccc transparent transparent transparent;
}

.c-background {
  --_gutter: var(--gutter);
  display: block grid;
  z-index: -1;
  position: absolute;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  inline-size: 100%;
  block-size: 100%;
  overflow: clip;
  pointer-events: none;
}

.c-background[data-color-bg] {
  background-color: var(--_color-bg);
}

.c-background[data-color-bg=white] {
  --_color-bg: var(--color-white );
}

.c-background[data-color-bg=lightgray] {
  --_color-bg: var(--color-gray-150 );
}

.c-background[data-filter=gray]::after {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background-color: var(--color-gray-500);
  content: "";
  mix-blend-mode: multiply;
  pointer-events: none;
}

.c-background__content {
  position: relative;
  inline-size: auto;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}

.c-background__box {
  inline-size: 100%;
  block-size: 100%;
}

.c-bg--gr {
  background: #f5f8fc;
}
.c-bg--triangle {
  background: #deecf6;
  background-image: url("/assets/img/service_bg.png");
  background-repeat: repeat;
  background-attachment: fixed;
}
.c-bg--inbound {
  background: rgba(52, 165, 182, 0.1);
}
.c-bg--inbound .p-service-archive__text h3,
.c-bg--inbound .p-service-archive__text h2 {
  color: #34a5b6;
}
.c-bg--inbound .p-service-archive__text:after {
  color: #34a5b6;
}
.c-bg--inbound .p-service-archive__text:before {
  border-color: #34a5b6;
}
.c-bg--outbound {
  background: rgba(5, 102, 212, 0.1);
}
.c-bg--outbound .p-service-archive__text h3,
.c-bg--outbound .p-service-archive__text h2 {
  color: #0566d4;
}
.c-bg--construction {
  background: rgba(225, 176, 4, 0.1);
}
.c-bg--construction .p-service-archive__text h3,
.c-bg--construction .p-service-archive__text h2 {
  color: #e1b004;
}
.c-bg--construction .p-service-archive__text:after {
  color: #e1b004;
}
.c-bg--construction .p-service-archive__text:before {
  border-color: #e1b004;
}

.c-cate--line {
  display: inline-block;
  padding: 0.2rem 5rem;
  border: 1px solid #0566d4;
  color: #0566d4;
  font-size: clamp(10px, 0.625vw, 12px);
}

.c-figure {
  margin: 6rem 0 0;
  text-align: center;
}

*[class^=c-img-box] {
  margin-bottom: 4rem;
  overflow: hidden;
}
*[class^=c-img-box] img {
  max-width: 44%;
}
*[class^=c-img-box] + * {
  overflow: hidden;
}

.c-img-box--l__item, .c-img-box--l img {
  max-width: 44%;
  margin-right: 4rem;
  float: left;
}
.c-img-box--r__item, .c-img-box--r img {
  max-width: 44%;
  margin-left: 4rem;
  float: right;
}
.c-img-box--half {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: space-between;
  gap: 8%;
}
.c-img-box--half__item {
  width: 46%;
  max-width: 46%;
  text-align: center;
}
.c-img-box--half__item img {
  display: block;
  max-width: 100%;
  margin: 0 auto 0.5rem;
}

.c-list--disc li {
  padding-left: 1em;
  line-height: 1.6;
  text-indent: -1em;
}
.c-list--disc li::before {
  padding-right: 1rem;
  content: "・";
}
.c-list--disc li + li {
  margin-top: 0.5em;
}
.c-list--indent li {
  padding-left: 2em;
  font-size: clamp(13px, 0.78vw, 15px);
  text-indent: -2em;
}
.c-list--indent li + li {
  margin-top: 0.5em;
}

.c-page-top {
  display: block grid;
  z-index: var(--obj-z-pagetopbtn);
  position: fixed;
  place-items: center;
  aspect-ratio: 1;
  inline-size: 7rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  inset-block-end: -14rem;
  inset-inline-end: 0;
  background: var(--color-gray-200);
  transition: opacity 0.3s;
}
.c-page-top [class*=c-icon] {
  -webkit-mask-image: var(--icon-angle-arrow-up);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  display: block grid;
  inline-size: 2rem;
  block-size: 2rem;
  background: var(--color-black);
          mask-image: var(--icon-angle-arrow-up);
          mask-repeat: no-repeat;
          mask-size: 100%;
  transition: opacity 0.3s;
}
.c-page-top:focus-visible {
  opacity: 0.8;
}

/*
%textlink {
	text-decoration: underline;
	@include hover {
		text-decoration: none;
	}		
}
.c-text-link {
	a {
		@extend %textlink;
		transition: .3s all;
	}
	&--arrow-right {
		text-align: right;
		a {
			@extend %textlink;
			position: relative;
			&::before {
				@extend %arrow;
				left: -2rem;
				border-color: $c_base;
			}
		}
	}
	&--underline {
		text-decoration: underline;
		@include hover {
			text-decoration: none;
		}
	}
}
  */
.c-title--copy {
  margin-bottom: 2.6041666667vw;
  color: #0e1155;
  font-size: clamp(25px, 1.875vw, 36px);
  line-height: 1.6;
}
.c-title--en {
  margin-bottom: 1.5625vw;
  color: #111;
  font-size: clamp(18px, 1.046vw, 20px);
  line-height: 1.6;
}
.c-title--en span {
  display: block;
  color: #54bccf;
  font-style: italic;
  font-weight: normal;
  font-size: clamp(32px, 3.125vw, 60px);
  letter-spacing: 1px;
}
.c-title--service-feature {
  text-align: center;
}
.c-title--service-feature h2 {
  margin-bottom: 1.0416666667vw;
  font-size: clamp(24px, 1.562vw, 30px);
}
.c-title--service-feature h2 span {
  display: block;
  font-size: clamp(18px, 1.046vw, 20px);
}
.c-title--service-feature .en {
  color: #54bccf;
  font-style: italic;
  font-size: clamp(14px, 0.8333vw, 16px);
  letter-spacing: 2px;
}
.c-title--service-archive {
  padding-top: 4.1666666667vw;
  border-top: 1px solid #ccc;
  font-weight: bold;
  font-size: clamp(18px, 1.046vw, 20px);
  text-align: center;
}
.c-title--service {
  font-style: italic;
  font-weight: 100;
  font-size: clamp(16px, 0.9375vw, 18px);
  letter-spacing: 2px;
}
.c-title--service img {
  display: block;
  margin: 0 auto 10px;
}
.c-title--service h2 {
  margin-bottom: 1.0416666667vw;
  font-style: normal;
  font-size: clamp(28px, 2.083vw, 40px);
}

.c-btn-circle {
  --_ls: 16;
  --_ls-pc: 16;
  --_ls-sp: 0;
  --_fw: var( --fw-semibold );
  --_fs-pc: 16;
  --_fs-sp: 16;
  --_lh-pc: 18;
  --_lh-sp: 18;
  --_size-pc: 48;
  --_size-sp: 48;
  --_icon-x: 0;
  --_icon-y: 0;
  --_col-font: var(--color-font-b);
  --_col-bg: transparent;
  --_col-border: var(--color-gray-500);
  --_border-w: 2px;
  --_n_col-icon: var(--_fcol );
  --_h_col-font: var(--color-font-w);
  --_h_col-bg: var(--color-green-500);
  --_h_col-border: var(--color-green-500);
  --_h_col-icon: var(--color-font-w );
  --_col-icon: var(--_n_col-icon );
  box-sizing: border-box;
  display: block grid;
  z-index: 0;
  position: relative;
  grid-template-columns: auto;
  place-content: center;
  place-items: center;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: min(var(--_size) * var(--unit), var(--_size) * var(--pxr));
  min-block-size: min(var(--_size) * var(--unit), var(--_size) * var(--pxr));
  margin-inline: auto;
  transform: translateZ(0px);
  border: var(--_border-w) solid var(--_col-border);
  border-radius: var(--infinity);
  background-color: var(--_col-bg);
  color: var(--_col-font);
  font-weight: var(--_fw);
  font-size: clamp(1.6rem, var(--_fs) * var(--unit), var(--_fs) * var(--pxr));
  line-height: min(var(--_lh) * var(--unit), var(--_lh) * var(--pxr));
  letter-spacing: calc(var(--_ls) / 100 * 1rem);
  text-align: center;
  text-decoration: unset;
  white-space: nowrap;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s, translate 0.3s, filter 0.3s;
}
.c-btn-circle:focus-visible {
  --_icon-x: 2;
  opacity: 0.8;
}

.c-btn-circle [class^=c-icon] {
  --_icon-col: var(--_n_col-icon);
  --_x: var( --_icon-x, 0);
  --_y: var( --_icon-y, 0);
  translate: calc(var(--_x) * var(--unit)) calc(var(--_y) * var(--unit));
}

.c-btn-circle[data-color=white] {
  --_col-font: var(--color-font-b);
  --_col-bg: var(--color-white);
  --_col-border: unset;
  --_n_col-icon: var(--color-font-b);
  --_h_col-font: var(--color-font-w);
  --_h_col-bg: var(--color-green-500);
  --_h_col-border: var(--color-green-500);
  --_h_col-icon: var(--color-font-w );
}

.c-btn-circle[data-color=gray] {
  --_col-font: var(--color-font-b);
  --_col-bg: var(--color-gray-200);
  --_col-border: unset;
  --_n_col-icon: var(--color-font-b);
  --_h_col-font: var(--color-font-w);
  --_h_col-bg: var(--color-green-500);
  --_h_col-border: var(--color-green-500);
  --_h_col-icon: var(--color-font-w );
}

.c-btn-circle[data-color=black] {
  --_col-font: var(--color-font-w);
  --_col-bg: var(--color-black);
  --_col-border: var(--color-gray-500);
  --_n_col-icon: var(--color-font-w);
}

.c-btn-circle[data-color=green] {
  --_col-font: var(--color-font-w);
  --_col-bg: var(--color-green-500);
  --_col-border: var(--color-green-500);
  --_n_col-icon: var(--color-font-w);
  --_h_col-font: var(--color-font-b );
  --_h_col-bg: var(--color-white );
  --_h_col-border: var(--color-gray-500 );
  --_h_col-icon: var(--color-font-b );
}

:is(.c-btn-rounded, .c-tag-rounded) {
  --_ls-pc: -10;
  --_ls-sp: 0;
  --_ls: var(--_ls-pc);
  --_fw: var( --fw-semibold );
  --_fs-pc: 16;
  --_fs-sp: 16;
  --_lh-pc: 18;
  --_lh-sp: 18;
  --_width-pc: 280;
  --_width-sp: 190;
  --_height-pc: 60;
  --_height-sp: 50;
  --_icon-x: 0;
  --_col-font: var(--color-font-b);
  --_col-bg: transparent;
  --_col-border: var(--color-gray-500);
  --_border-w: 1px;
  --_n_col-icon: var(--color-font-b );
  --_col-icon: var(--_n_col-icon );
  box-sizing: border-box;
  display: block grid;
  z-index: 0;
  position: relative;
  grid-template-columns: auto;
  place-content: center;
  align-items: center;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: calc(var(--_width) * var(--pxr));
  min-block-size: calc(var(--_height) * var(--pxr));
  margin-inline: auto;
  overflow-x: clip;
  transform: translateZ(0);
  border: var(--_border-w) solid var(--_col-border);
  border-radius: var(--infinity);
  background-color: var(--_col-bg);
  color: var(--_col-font);
  font-weight: var(--_fw);
  font-size: clamp(1.6rem, var(--_fs) * var(--unit), var(--_fs) * var(--pxr));
  line-height: min(var(--_lh) * var(--unit), var(--_lh) * var(--pxr));
  letter-spacing: calc(var(--_ls) / 100 * 1rem);
  text-align: center;
  text-decoration: unset;
  white-space: nowrap;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s, translate 0.3s, filter 0.3s;
}

:is(.c-btn-rounded):focus-visible {
  --_icon-x: 2;
  opacity: 0.8;
}

:is(.c-btn-rounded, .c-tag-rounded):has([class^=c-icon]) {
  --_width-pc: 349;
  --_width-sp: 200;
  --_height-pc: 60;
  --_height-sp: 50;
  --_fs-pc: 20;
  --_fs-sp: 16;
  --_ls: 0;
  --_ls-pc: 0;
  grid-template-rows: auto;
  grid-template-columns: auto auto 1fr;
  grid-auto-flow: column;
  align-items: center;
  justify-content: start;
  margin-inline: 0;
  padding-inline: calc(40 * var(--unit));
}
:is(.c-btn-rounded, .c-tag-rounded):has([class^=c-icon]):before {
  -webkit-margin-before: 0.3rem;
  -webkit-margin-end: 1rem;
  display: grid;
  inline-size: 0.5rem;
  block-size: 0.5rem;
          margin-inline-end: 1rem;
          margin-block-start: 0.3rem;
  border-radius: var(--infinity);
  background-color: currentColor;
  content: "";
  color: var(--color-green-key);
}

:is(.c-btn-rounded, .c-tag-rounded) > .txt {
  justify-self: start;
}

:is(.c-btn-rounded, .c-tag-rounded) [class^=c-icon] {
  --_icon-col: var(--_col-icon);
  align-self: center;
  justify-self: end;
  translate: calc(var(--_x) * var(--unit)) 0;
}

body:not(.safari) :is(.c-btn-rounded, .c-tag-rounded) [class^=c-icon] {
  block-size: 1.65lh;
}

:is(.c-btn-rounded, .c-tag-rounded)[data-color=white] {
  --_col-font: var(--color-font-b);
  --_col-bg: var(--color-white);
  --_col-border: var(--color-gray-500);
  --_n_col-icon: var(--color-font-b);
}
:is(.c-btn-rounded, .c-tag-rounded)[data-color=borderless-white] {
  --_col-font: var(--color-font-b);
  --_col-bg: var(--color-white);
  --_col-border: transparent;
  --_n_col-icon: var(--color-font-b);
}
:is(.c-btn-rounded, .c-tag-rounded)[data-color=black] {
  --_col-font: var(--color-font-w);
  --_col-bg: var(--color-black);
  --_col-border: transparent;
  --_n_col-icon: var(--color-font-w);
}
:is(.c-btn-rounded, .c-tag-rounded)[data-color=green] {
  --_col-font: var(--color-font-w);
  --_col-bg: var(--color-green-500);
  --_col-border: var(--color-green-500);
  --_n_col-icon: var(--color-font-w);
}
:is(.c-btn-rounded, .c-tag-rounded)[data-color=border-green] {
  --_col-font: var(--color-green-500);
  --_col-bg: var(--color-white);
  --_col-border: var(--color-green-500);
  --_n_col-icon: var(--color-green-500);
}
:is(.c-btn-rounded, .c-tag-rounded)[data-size=header-download] {
  --_width-pc:186 !important;
}

.c-btn-tag {
  --_ls-pc: 0;
  --_ls-sp: 0;
  --_ls: var(--_ls-pc);
  --_fw: var( --fw-semibold );
  --_fs-pc: 16;
  --_fs-sp: 16;
  --_lh-pc: 18;
  --_lh-sp: 18;
  --_px: 8;
  --_col-font: var(--color-font-b);
  --_col-bg: transparent;
  display: inline;
  z-index: 0;
  position: relative;
  place-content: center;
  align-items: center;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  inline-size: fit-content;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  padding-inline: calc(var(--_px) * var(--unit));
  transform: translateZ(0);
  border-radius: 0.5rem;
  background-color: var(--_col-bg);
  color: var(--_col-font);
  font-weight: var(--_fw);
  font-size: calc(var(--_fs) * var(--unit));
  line-height: calc(var(--_lh) * var(--unit));
  font-family: var(--font-Roboto);
  letter-spacing: calc(var(--_ls) / 100 * 1rem);
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s;
}
.c-btn-tag:focus-visible {
  opacity: 0.8;
}

:where(.c-btn-tag)[data-color=green] {
  --_col-font: var(--color-font-w);
  --_col-bg: var(--color-green-500);
}

[class^=c-icon] {
  --_icon-col: var(--color-black);
  --_itx: 0;
  --_ity: 0;
  --_u-itx: calc( var(--_itx) * var(--unit) );
  --_u-ity: calc( var(--_ity) * var(--unit) );
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100%;
  display: inline flow-root;
  position: relative;
  aspect-ratio: var(--_iw)/var(--_ih);
  inline-size: calc(var(--_iw) * var(--unit));
  block-size: calc(var(--_ih) * var(--unit));
  transform: translateZ(0);
  translate: var(--_u-itx) var(--_u-ity);
  background-color: var(--_icon-col);
          mask-position: center;
          mask-repeat: no-repeat;
          mask-size: 100%;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s, box-shadow 0.3s, translate 0.3s;
}

.c-icon--arrow-right {
  --_iw-pc: 20;
  --_ih-pc: 20;
  --_iw-sp: 16;
  --_ih-sp: 16;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
}

.c-icon--angle-arrow-right {
  --_iw-pc: 8;
  --_ih-pc: 12;
  --_iw-sp: 8;
  --_ih-sp: 12;
  -webkit-mask-image: var(--icon-angle-arrow-right);
          mask-image: var(--icon-angle-arrow-right);
}

.c-icon--angle-arrow-up {
  --_iw-pc: 20;
  --_ih-pc: 12;
  --_iw-sp: 20;
  --_ih-sp: 12;
  -webkit-mask-image: var(--icon-angle-arrow-up);
          mask-image: var(--icon-angle-arrow-up);
}

.c-icon--angle-arrow-down {
  --_iw-pc: 11;
  --_ih-pc: 7;
  --_iw-sp: 11;
  --_ih-sp: 7;
  -webkit-mask-image: var(--icon-angle-arrow-down);
          mask-image: var(--icon-angle-arrow-down);
}

.c-link-card__hover {
  --_hover-icon-x: 0;
  --_hover-icon-y: 0;
  transform: translateZ(0);
}
.c-link-card__hover:focus-visible {
  --_box-shadow: var(--card-hover-shadow);
  scale: var(--card-hover-scale);
}
.c-link-card__hover:focus-visible [class^=c-icon] {
  --_itx: var(--_hover-icon-x);
  --_ity: var(--_hover-icon-y);
}

.c-link-card__hover.--shadow {
  --_box-shadow: var(--card-shadow);
  box-shadow: var(--_box-shadow);
}

.c-link-card__animated-hover .card {
  transform: translateZ(0);
  transition: opacity 0.3s, translate 0.3s, scale 0.3s, box-shadow 0.3s;
}
.c-link-card__animated-hover:not([data-animated]), .c-link-card__animated-hover[data-animated=end] {
  --_hover-icon-x: 0;
  --_hover-icon-y: 4;
}
.c-link-card__animated-hover:not([data-animated]) .card:focus-visible, .c-link-card__animated-hover[data-animated=end] .card:focus-visible {
  --_box-shadow: var(--card-hover-shadow);
  scale: var(--card-hover-scale);
}
.c-link-card__animated-hover:not([data-animated]) .card:focus-visible [class*=c-tag], .c-link-card__animated-hover[data-animated=end] .card:focus-visible [class*=c-tag] {
  --_icon-x: var(--_hover-icon-x);
  --_icon-y: var(--_hover-icon-y);
}

.c-link-card__animated-hover.--shadow .card {
  --_box-shadow: var(--card-shadow);
  box-shadow: var(--_box-shadow);
}

.c-link-txt--arrow {
  --_col-icon: var(--color-black);
  position: relative;
  transition: opacity 0.3s;
}
.c-link-txt--arrow:focus-visible {
  opacity: 0.8;
}
.c-link-txt--arrow:focus-visible:after {
  --_ix: 2;
}

.c-link-txt--arrow::after {
  --_iy: 0.2rem;
  -webkit-margin-start: 0.8rem;
  -webkit-mask-image: var(--icon-angle-arrow-right);
  -webkit-mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  display: inline grid;
  aspect-ratio: 7/12;
  inline-size: 0.7rem;
  min-inline-size: 0.7rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
          margin-inline-start: 0.8rem;
  translate: calc(var(--_ix, 0) * var(--unit)) var(--_iy, 0);
  background-color: var(--_col-icon);
  content: "";
          mask-image: var(--icon-angle-arrow-right);
          mask-repeat: no-repeat;
          mask-size: 100%;
  transition: translate 0.3s, -webkit-margin-start 0.3s;
  transition: translate 0.3s, margin-inline-start 0.3s;
  transition: translate 0.3s, margin-inline-start 0.3s, -webkit-margin-start 0.3s;
}

#company-infocard-title .c-link-txt--arrow::after {
  inline-size: 1rem;
}

.c-link-txt--arrow [class^=c-icon] {
  --_icon-col: var(--_c_col-icon);
  --_x: var(--_icon-x);
  translate: calc(var(--_x) * var(--unit)) 0;
}

.c-link-txt--arrow[data-color=white] {
  --_col-icon: var(--color-font-w);
}
.c-link-txt--arrow[data-color=black] {
  --_col-icon: var(--color-font-b);
}

.c-link-txt {
  --_txt-color-normal: var(--color-font-b);
  --_txt-color-hover: var(--color-green-key);
  --_txt-color: var(--_txt-color-normal);
  color: var(--_txt-color);
}
.c-link-txt:focus-visible {
  --_txt-color: var(--_txt-color-hover);
}

[class*=c-img] {
  display: block flow;
  inline-size: 100%;
  block-size: 100%;
}

.c-img:not([class*="--cover"]) {
  -o-object-fit: contain;
     object-fit: contain;
}

.c-img--cover {
  -o-object-fit: cover;
     object-fit: cover;
}

[class*=c-pic] {
  display: block flow;
  inline-size: 100%;
  block-size: 100%;
}
[class*=c-pic] img {
  block-size: 100%;
}

.c-pic img {
  -o-object-fit: contain;
     object-fit: contain;
}

.c-pic--cover img {
  -o-object-fit: cover;
     object-fit: cover;
}

.c-tag-circle {
  --_ls: 16;
  --_ls-pc: 10;
  --_ls-sp: 0;
  --_fw: var( --fw-semibold );
  --_fs-pc: 16;
  --_fs-sp: 12;
  --_lh-pc: 18;
  --_lh-sp: 14;
  --_size-pc: 48;
  --_size-sp: 40;
  --_icon-x: 0;
  --_icon-y: 0;
  --_c_font: var(--color-font-b);
  --_c_bg: transparent;
  --_c_border: var(--color-gray-500);
  --_border-w: 2px;
  box-sizing: border-box;
  display: block grid;
  z-index: 0;
  position: relative;
  grid-template-columns: auto;
  place-content: center;
  place-items: center;
  aspect-ratio: 1;
  min-inline-size: calc(var(--_size) * var(--pxr));
  min-block-size: calc(var(--_size) * var(--pxr));
  margin-inline: auto;
  overflow-x: clip;
  transform: translateZ(0px);
  border: var(--_border-w) solid var(--_c_border);
  border-radius: var(--infinity);
  background-color: var(--_c_bg);
  color: var(--_c_font);
  font-weight: var(--_fw);
  font-size: clamp(1.6rem, var(--_fs) * var(--unit), var(--_fs) * var(--pxr));
  line-height: min(var(--_lh) * var(--unit), var(--_lh) * var(--pxr));
  letter-spacing: calc(var(--_ls) / 100 * 1rem);
  text-align: center;
  text-decoration: unset;
  white-space: nowrap;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s, translate 0.3s, filter 0.3s;
}

.c-tag-circle [class^=c-icon] {
  --_icon-col: var(--_c_icon);
  --_x: var( --_icon-x);
  --_y: var( --_icon-y);
  translate: calc(var(--_x) * var(--unit)) calc(var(--_y) * var(--unit));
}

.c-tag-circle[data-color=white] {
  --_c_font: var(--color-font-b);
  --_c_bg: var(--color-white);
  --_c_border: unset;
  --_c_icon: var(--color-font-b);
}
.c-tag-circle[data-color=black] {
  --_c_font: var(--color-font-w);
  --_c_bg: var(--color-black);
  --_c_border: var(--color-gray-500);
  --_c_icon: var(--color-font-w);
}
.c-tag-circle[data-color=green] {
  --_c_font: var(--color-font-w);
  --_c_bg: var(--color-green-500);
  --_c_border: var(--color-green-500);
  --_c_icon: var(--color-font-w);
}
.c-tag-circle[data-color=orange] {
  --_c_font: var(--color-font-w);
  --_c_bg: var(--color-orange-500);
  --_c_border: var(--color-orange-500);
  --_c_icon: var(--color-font-w);
}

.c-tag--req {
  --_min-height-pc: 23;
  --_padding-inline-sp: 6;
  --_padding-inline-pc: 6;
  --_fcol: var(--color-font-w);
  --_bgcol: var(--color-orange-500);
  display: block grid;
  align-content: center;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  min-block-size: calc(var(--_min-height-pc) * var(--unit));
  padding-inline: calc(var(--_padding-inline-pc) * var(--unit));
  border-radius: 0.6rem;
  background-color: var(--_bgcol);
  color: var(--_fcol);
  font-weight: var(--fw-light);
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
.c-tag--req:before {
  content: "必須";
}
.c-tag--req[data-color=blackblue] {
  --_fcol: var(--color-font-w);
  --_bgcol: var(--color-blue-650);
}
.c-tag--req[data-color=black] {
  --_fcol: var(--color-font-w);
  --_bgcol: var(--color-black);
}

.c-ttl--dot {
  --_font-size-pc: 32;
  --_font-size-sp: 24;
  --_line-height-pc: 56;
  --_line-height-sp: 32;
  display: block grid;
  grid-template-columns: auto 1fr;
}
.c-ttl--dot:before {
  -webkit-margin-end: 1.8rem;
  display: inline grid;
  position: relative;
  aspect-ratio: 1;
  inline-size: calc(20 * var(--unit));
          margin-inline-end: 1.8rem;
  border-radius: var(--infinity);
  background-color: var(--color-orange-500);
  content: "";
}

[class*=c-ttl--] {
  font-weight: var(--fw-bold);
  font-size: calc(var(--_font-size, 32) * var(--unit));
  line-height: calc(var(--_line-height, 48) / var(--_font-size));
  letter-spacing: calc(var(--_letter-spacing, 0) * var(--unit));
}

.c-ttl--24 {
  --_font-size-pc: 24;
  --_font-size-sp: 18;
  --_line-height-pc: 40;
  --_line-height-sp: 20;
  --_letter-spacing: 1;
}

.c-ttl--32 {
  --_font-size-pc: 32;
  --_font-size-sp: 24;
  --_line-height-pc: 48;
  --_line-height-sp: 36;
  --_letter-spacing: 2.2;
}

.c-ttl--section {
  --_font-size-pc: 48;
  --_font-size-sp: 36;
  --_line-height-pc: 65;
  --_line-height-sp: 48;
  --_letter-spacing: 0.5;
}

.p-footer-cta {
  display: block grid;
}
.p-footer-cta > [class^=p-footer-cta__grid] {
  box-sizing: border-box;
  display: block grid;
  place-items: center;
  overflow: clip;
  background-color: var(--_col-bg);
}
.p-footer-cta > [class^=p-footer-cta__grid] > * {
  grid-area: 1/1;
}
.p-footer-cta > [class^=p-footer-cta__grid]:focus-visible > picture img {
  scale: 1;
  opacity: 0.5;
}
.p-footer-cta > [class^=p-footer-cta__grid]:focus-visible [class^=c-tag] {
  opacity: 0.8;
}
.p-footer-cta > [class^=p-footer-cta__grid] > picture {
  z-index: 0;
  filter: var(--_filter);
}
.p-footer-cta > [class^=p-footer-cta__grid] > picture img {
  scale: 1.05;
  filter: hue-rotate(0deg);
  opacity: 0;
  transition: opacity 0.3s, scale 0.3s;
}
.p-footer-cta > [class^=p-footer-cta__grid] > picture img:after {
  position: absolute;
  inline-size: 100%;
  block-size: 100%;
  background-color: var(--_bg_col);
  content: "";
  opacity: 0.5;
}
.p-footer-cta > [class^=p-footer-cta__grid] > .content {
  display: block grid;
  z-index: 1;
  grid-auto-flow: row;
  row-gap: 3.9rem;
}
.p-footer-cta > [class^=p-footer-cta__grid] > .content > .ttl {
  color: var(--color-font-w);
  letter-spacing: -0.02rem;
  text-align: center;
}
.p-footer-cta > .p-footer-cta__grid--download {
  --_col-bg: var(--color-green-key);
  --_filter: brightness(0.8);
}
.p-footer-cta > .p-footer-cta__grid--contact {
  --_col-bg: var(--color-gray-800);
  --_filter: brightness(0.8);
}
.p-footer-cta > [class*="--download"] {
  border-top-left-radius: 2rem;
}
.p-footer-cta > [class*="--contact"] {
  border-bottom-right-radius: 2rem;
}

.p-footer__nav {
  -webkit-border-after: 1px solid var(--color-gray-200);
  display: block grid;
  max-inline-size: 175rem;
  margin-inline: auto;
  padding-inline: calc(var(--layout-inner-margin) * var(--unit));
  padding-block: 0 2rem;
          border-block-end: 1px solid var(--color-gray-200);
}
.p-footer__nav > .lp-logo {
  -webkit-padding-after: 0.8rem;
  display: block grid;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
          padding-block-end: 0.8rem;
  transition: opacity 0.3s;
}
.p-footer__nav > .lp-logo > picture {
  aspect-ratio: 215/113;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.p-footer__nav > .lp-logo:focus-visible {
  opacity: 0.8;
}
.p-footer__nav > .p-footer__menu {
  display: block flex;
}

.p-footer__copyright {
  display: block grid;
  grid-template-rows: auto;
  max-inline-size: 175rem;
  margin-inline: auto;
  padding-inline: calc(var(--layout-inner-margin) * var(--unit));
  padding-block: 2.9rem 3.4rem;
}
.p-footer__copyright > .company-logo {
  display: block grid;
  aspect-ratio: 142/24;
  max-inline-size: 14.2rem;
  transition: opacity 0.3s;
}
.p-footer__copyright > .company-logo:focus-visible {
  opacity: 0.8;
}

.p-header {
  display: grid;
  visibility: hidden;
  grid-template-columns: 1fr;
  transform: translateY(3rem);
  opacity: 0;
  transition: 1s;
}
.p-header__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  max-inline-size: 175rem;
  margin-inline: auto;
  padding-inline: calc(var(--layout-inner-margin) * var(--unit));
}
.p-header__logo {
  display: block grid;
}
.p-header__logo img {
  aspect-ratio: 136/72;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-header__logo a:focus-visible {
  opacity: 0.7;
  transition: opacity 0.3s;
}
.p-header__nav nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  gap: 0;
}
.p-header__nav ul li {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
}
.p-header__nav ul li a {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  gap: 0;
}
.p-header__nav ul.p-header__menu-form a {
  --_width-pc: 146;
  --_height-pc: 42;
  --_ls: 0;
  justify-content: center;
}
.p-header__toggle:hover .p-header__toggle-menu {
  max-height: 100vh;
  transition: max-height 0.3s ease-in;
}
.p-header__toggle-menu {
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
  max-height: 0;
  overflow: hidden;
  background-color: #19192b;
  text-align: center;
  transition: max-height 0.3s ease-out;
}
.p-header__toggle-menu ul li a {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  height: inherit;
  gap: 0;
}
.p-header__toggle-menu {
  display: flex;
  left: 0;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100vw;
  padding: 0 4rem;
  background: #0566d4;
}
.p-header__toggle-item {
  width: 30%;
  margin: 4rem 0;
  color: #fff;
}
.p-header__toggle-item figure {
  max-height: 5vw;
  margin-bottom: 1rem;
  overflow: hidden;
}
.p-header__toggle-item img {
  transition: 0.3s;
}
.p-header__toggle-item img:hover {
  transform: scale(1.05);
}
.p-header__category {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #fff;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  text-align: left;
}
.p-header__toggle-item ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px 0;
}
.p-header__toggle-item ul li {
  width: 48%;
}
.p-header__toggle-item ul li a {
  position: relative;
  font-size: clamp(12px, 0.729vw, 14px);
}
.p-header__toggle-item ul li a:hover {
  text-decoration: underline;
}
.p-header__toggle-item ul li a span {
  position: relative;
  padding-left: 1.5rem;
  text-align: left;
}
.p-header__toggle-item ul li a span:after {
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: 1.1rem;
  left: 0;
  width: 8px;
  height: 8px;
  margin-top: -3px;
  transform: rotate(45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  border-color: rgba(255, 255, 255, 0.9);
  content: "";
  vertical-align: middle;
}
.p-header__nav .p-header__toggle-item ul:nth-of-type(1) li + li {
  margin: 0;
}

.p-header__menu-form {
  display: block grid;
  gap: 2rem;
}

.p-page-nav-cards > .l-inner > .sec-ttl {
  justify-self: center;
  text-align: center;
}

.p-page-nav-cards__cardlist {
  -moz-column-gap: var(--_cxgap);
  display: block grid;
  grid-template-rows: repeat(auto-fit, minmax(var(--_ch), auto));
  grid-template-columns: repeat(auto-fit, minmax(var(--_cw), auto));
       column-gap: var(--_cxgap);
  row-gap: var(--_cygap);
  place-content: center;
}
.p-page-nav-cards__cardlist > li {
  --_hover-icon-y: 2;
  display: block grid;
  max-inline-size: var(--_cw);
}
.p-page-nav-cards__cardlist > li .card {
  display: block grid;
  border-radius: var(--card-radius);
}
.p-page-nav-cards__cardlist > li .card > .content {
  display: grid;
  grid-area: 1/1;
  place-content: center;
  place-self: center;
  justify-items: center;
}
.p-page-nav-cards__cardlist > li .card > .content:not(:has(p)) {
  grid-template: "img" minmax(4rem, auto) "ttl" minmax(4rem, auto)/1fr;
}
.p-page-nav-cards__cardlist > li .card > .content:has(p) {
  grid-template: "img" minmax(4rem, auto) "ttl" minmax(2rem, auto) "txt" minmax(2rem, auto)/1fr;
}
.p-page-nav-cards__cardlist > li .card > .content > .img {
  grid-area: img;
}
.p-page-nav-cards__cardlist > li .card > .content > .ttl {
  -webkit-margin-before: 2rem;
  grid-area: ttl;
          margin-block-start: 2rem;
  text-align: center;
}
.p-page-nav-cards__cardlist > li .card > .content > p {
  -webkit-margin-before: 2rem;
  grid-area: txt;
          margin-block-start: 2rem;
  text-align: start;
}
.p-page-nav-cards__cardlist > li .card > .btn {
  -webkit-margin-after: -2.4rem;
  grid-area: 1/1;
  align-self: end;
          margin-block-end: -2.4rem;
}
.p-page-nav-cards__cardlist > li .card > .btn[class*=c-tag] {
  --_icon-y: 2;
}

.p-page-nav-cards__cardlist[data-type=reason] {
  --_card-w-pc: 396;
  --_card-w-sp: 300;
  --_card-h-pc: 188;
  --_card-h-sp: 188;
  --_card-x-gap-pc: 40;
  --_card-x-gap-sp: 40;
  --_card-y-gap-pc: 80;
  --_card-y-gap-sp: 60;
}
.p-page-nav-cards__cardlist[data-type=reason] .card > .content {
  grid-template: "img ttl" minmax(2rem, auto)/auto 1fr;
  place-items: center;
  place-self: start;
  align-self: center;
}
.p-page-nav-cards__cardlist[data-type=reason] .card > .content > .ttl {
  -webkit-margin-before: unset;
          margin-block-start: unset;
  letter-spacing: 0.05rem;
  text-align: start;
}
.p-page-nav-cards__cardlist[data-type=reason] .card > .btn[class*=c-tag] {
  --_size-pc: 60;
  -webkit-margin-after: -3rem;
          margin-block-end: -3rem;
}

.p-page-nav-cards__cardlist[data-type=kadai] {
  --_card-w-pc: 400;
  --_card-w-sp: 300;
  --_card-h-pc: 327;
  --_card-h-sp: 275;
  --_card-x-gap-pc: 40;
  --_card-x-gap-sp: 40;
  --_card-y-gap-pc: 80;
  --_card-y-gap-sp: 60;
}
.p-page-nav-cards__cardlist[data-type=kadai] .card > .content {
  align-self: start;
}
.p-page-nav-cards__cardlist[data-type=kadai] .card > .content > .img {
  max-block-size: 19.5rem;
  background-color: var(--color-gray-080);
}
.p-page-nav-cards__cardlist[data-type=kadai] .card > .content > .ttl {
  -webkit-margin-before: 2.5rem;
  -webkit-padding-after: 3rem;
          margin-block-start: 2.5rem;
          padding-block-end: 3rem;
  font-weight: var(--fw-medium);
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.05rem;
}
.p-page-nav-cards__cardlist[data-type=kadai] .card > .btn[class*=c-tag] {
  --_size-pc: 60;
  -webkit-margin-after: -2.8rem;
          margin-block-end: -2.8rem;
}

.p-page-nav-cards__cardlist[data-type=case] {
  --_card-w-pc: 394;
  --_card-w-sp: 300;
  --_card-h-pc: 359;
  --_card-h-sp: 275;
  --_card-x-gap-pc: 40;
  --_card-x-gap-sp: 40;
  --_card-y-gap-pc: 80;
  --_card-y-gap-sp: 60;
}
.p-page-nav-cards__cardlist[data-type=case] .card > .content {
  align-self: start;
}
.p-page-nav-cards__cardlist[data-type=case] .card > .content > .img {
  max-block-size: 20rem;
}
.p-page-nav-cards__cardlist[data-type=case] .card > .content > .ttl {
  -webkit-margin-before: 2.5rem;
  inline-size: 100%;
          margin-block-start: 2.5rem;
  font-weight: var(--fw-semibold);
  font-size: 1.8rem;
  line-height: 1.3333333333;
  letter-spacing: 0.05rem;
  text-align: center;
}
.p-page-nav-cards__cardlist[data-type=case] .card > .content > p {
  -webkit-margin-before: 0.5rem;
  -webkit-padding-after: 3rem;
          margin-block-start: 0.5rem;
          padding-block-end: 3rem;
}
.p-page-nav-cards__cardlist[data-type=case] .card > .btn[class*=c-tag] {
  --_size-pc: 60;
  -webkit-margin-after: -2.8rem;
          margin-block-end: -2.8rem;
}

.p-page {
  --_adjust-y: 6;
  -webkit-padding-before: calc((var(--header-height) + var(--_adjust-y)) * var(--pxr));
  display: block grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
          padding-block-start: calc((var(--header-height) + var(--_adjust-y)) * var(--pxr));
}
.p-page-case__details > .l-inner {
  row-gap: 8rem;
}

.p-case-detail {
  -webkit-padding-after: calc(var(--_margin-y-end) * var(--unit));
  display: block grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
          padding-block-end: calc(var(--_margin-y-end) * var(--unit));
  border-radius: var(--card-radius);
  background-color: var(--color-white);
}

.p-case-detail header {
  display: block grid;
  padding-inline: calc(var(--_margin-side) * var(--unit));
  border-top-right-radius: var(--card-radius);
  border-top-left-radius: var(--card-radius);
  background-color: var(--color-green-key);
  color: var(--color-font-w);
}
.p-case-detail header > .num {
  grid-area: num;
  place-self: center;
  font-family: var(--font-Roboto);
}
.p-case-detail header > p {
  grid-area: sub;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-case-detail header > .sec-ttl {
  grid-area: ttl;
  letter-spacing: 0.2rem;
}

.p-case-detail section {
  --_colgap: 6.0rem;
  --_rowgap: 1.8rem;
  display: block grid;
  position: relative;
  padding-inline: calc(var(--_margin-side) * var(--unit));
}
.p-case-detail section figure {
  display: block grid;
  inline-size: auto;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  margin: auto;
}
.p-case-detail section figure img {
  -o-object-fit: contain;
  place-self: center;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
     object-fit: contain;
}
.p-case-detail section :where(.float, .flex, .grid) {
  -webkit-margin-before: 2.9rem;
          margin-block-start: 2.9rem;
}
.p-case-detail section .float:has(figure) {
  -webkit-margin-after: calc(var(--_rowgap) * -1);
          margin-block-end: calc(var(--_rowgap) * -1);
}
.p-case-detail section .float figure {
  -webkit-margin-after: var(--_rowgap);
          margin-block-end: var(--_rowgap);
}
.p-case-detail section .flex {
  display: block flex;
}
.p-case-detail section .flex[style*="--_gap"] {
  gap: var(--_gap);
}
.p-case-detail section .flex > *[style*="--_w"] {
  flex-basis: var(--_w);
}
.p-case-detail section .flex figure {
  -webkit-margin-after: unset;
  align-self: end;
          margin-block-end: unset;
}
.p-case-detail section .grid {
  display: block grid;
}
.p-case-detail section .grid figure img {
  place-self: center;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}

.p-case-detail section > hgroup {
  -webkit-padding-after: 0.5rem;
          padding-block-end: 0.5rem;
}
.p-case-detail section > hgroup > .sub {
  -webkit-margin-before: 0.6rem;
          margin-block-start: 0.6rem;
  color: var(--color-green-key);
  font-weight: var(--fw-semibold);
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
}
.p-case-detail section > .sec-ttl {
  margin-block: 4.8rem 0;
}
.p-case-detail section .sec-ttl {
  font-weight: var(--fw-semibold);
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.13rem;
}
.p-case-detail section > hgroup,
.p-case-detail section > .sec-ttl {
  -webkit-margin-start: 2.6rem;
  display: block grid;
  position: relative;
  grid-auto-flow: row;
          margin-inline-start: 2.6rem;
}
.p-case-detail section > hgroup:before,
.p-case-detail section > .sec-ttl:before {
  display: block grid;
  position: absolute;
  grid-template-columns: 0.4rem;
  block-size: 100%;
  inset-inline-start: -2.4rem;
  background-color: var(--color-green-key);
  content: "";
}
.p-case-detail section > p {
  -webkit-margin-before: 3.5rem;
          margin-block-start: 3.5rem;
  font-size: 1.6rem;
  line-height: 1.6875;
  letter-spacing: 0.13rem;
}

.p-case-detail__company-wrap {
  -webkit-margin-before: 8rem;
  display: block grid;
  justify-content: center;
  margin-inline: calc(var(--_margin-side) * var(--unit));
          margin-block-start: 8rem;
  border-radius: var(--card-radius);
  background-color: var(--color-gray-150);
}
.p-case-detail__company-wrap > img {
  display: block grid;
  grid-area: img;
  align-self: center;
  aspect-ratio: 300/150;
  inline-size: 30rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-case-detail__company-wrap > .ttl {
  grid-area: ttl;
  align-self: center;
}
.p-case-detail__company-wrap > dl {
  -moz-column-gap: 1.6rem;
  display: block grid;
       column-gap: 1.6rem;
  grid-area: tbl;
  grid-template: "dt dd" minmax(2rem, auto)/auto 1fr;
  letter-spacing: 0.1rem;
}
.p-case-detail__company-wrap > dl > dd a {
  color: var(--color-green-key);
}
.p-case-detail__company-wrap > dl > dd a:focus-visible {
  text-decoration: underline;
}

.p-case-detail > .btn-goto-top {
  -webkit-margin-end: 3rem;
  justify-self: end;
          margin-inline-end: 3rem;
  translate: 0 calc(var(--_margin-y-end) * var(--unit) + 50%);
}
.p-case-detail > .btn-goto-top > [class^=c-btn] {
  --_size-pc: 50;
}
.p-case-detail > .btn-goto-top > [class^=c-btn] > [class^=c-icon] {
  --_iw-pc: 11;
  --_iw-sp: var(--_iw-pc);
  --_ih-pc: 7;
  --_ih-sp: var(--_ih-pc);
}
.p-case-detail > .btn-goto-top > [class^=c-btn]:focus-visible {
  --_icon-x: 0;
  --_icon-y: -2;
}

.p-page-company__infotable .l-inner {
  justify-items: center;
}
.p-page-company__infotable dl {
  display: block grid;
  grid-auto-flow: row;
  place-content: center;
  inline-size: 100%;
}
.p-page-company__infotable dl > dt,
.p-page-company__infotable dl dd {
  -webkit-border-after: 0.1rem solid var(--color-gray-200);
  display: block grid;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: 7.95rem;
  padding-inline: 3rem;
  padding-block: 2.4rem;
          border-block-end: 0.1rem solid var(--color-gray-200);
}
.p-page-company__infotable dl > dt {
  background-color: var(--color-gray-150);
}
.p-page-company__infotable dl > dt:nth-child(1 of dt) {
  -webkit-border-before: 0.1rem solid var(--color-gray-200);
          border-block-start: 0.1rem solid var(--color-gray-200);
}
.p-page-company__infotable dl > dd {
  display: block grid;
  row-gap: 2.4rem;
  letter-spacing: 0.06rem;
}
.p-page-company__infotable dl > dd:nth-child(1 of dd) {
  -webkit-border-before: 0.1rem solid var(--color-gray-200);
          border-block-start: 0.1rem solid var(--color-gray-200);
}
.p-page-company__infotable dl > dd p {
  display: block flex;
  gap: var(--_gap, 0);
  line-height: 1.5;
}
.p-page-company__infotable dl > dd p span[style*="--_me"] {
  -webkit-margin-end: var(--_me);
          margin-inline-end: var(--_me);
}
.p-page-company__infotable dl > dd a {
  transform: translateZ(0);
  font-weight: var(--fw-bold);
}
.p-page-company__infotable dl > dd a[class^=c-link]:after {
  --_col-icon: var(--color-green-key);
  --_iy: 0.1rem;
}

.p-page-company__accessmap .l-inner {
  justify-items: center;
}
.p-page-company__accessmap .map {
  display: block grid;
  grid-template-columns: 1fr;
  inline-size: 100%;
}
.p-page-company__accessmap .map iframe {
  inline-size: 100%;
  block-size: 56.7rem;
}
.p-page-company__accessmap .btn {
  -webkit-margin-before: 0.3rem;
  align-content: center;
  justify-self: start;
  min-block-size: 3.4rem;
          margin-block-start: 0.3rem;
  padding-inline: 2.5rem;
  background-color: var(--color-blue-500);
  color: var(--color-font-w);
  font-weight: var(--fw-semibold);
  font-size: 1.8rem;
  line-height: 1;
  font-family: var(--font-Roboto);
  letter-spacing: 0.15rem;
  transition: opacity 0.3s;
}
.p-page-company__accessmap .btn:focus-visible {
  opacity: 0.8;
}
.p-page-company__accessmap .card {
  display: block grid;
  grid-template-columns: 1fr;
  place-items: center;
  inline-size: 100%;
  border-radius: var(--card-radius);
  background-color: var(--color-gray-150);
}
.p-page-company__accessmap .card .content {
  -moz-column-gap: 6rem;
  display: grid;
       column-gap: 6rem;
  row-gap: 1.8rem;
  inline-size: 100%;
}
.p-page-company__accessmap .card .content > img {
  display: block grid;
  grid-area: img;
  aspect-ratio: 400/277;
  inline-size: 40rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  border-radius: 1rem;
}
.p-page-company__accessmap .card .content > .ttl {
  grid-area: ttl;
  font-size: 2.4rem;
  line-height: 1;
}
.p-page-company__accessmap .card .content > address {
  grid-area: add;
}
.p-page-company__accessmap .card .content > address p a {
  font-weight: 700;
}
.p-page-company__accessmap .card .content > address p a.c-link-txt--arrow {
  --_col-icon: var(--color-green-key);
}

.p-page-company__philosophy .l-inner {
  justify-items: center;
}
.p-page-company__philosophy .grid-wrap {
  display: block grid;
  inline-size: 100%;
}
.p-page-company__philosophy .grid-wrap > .grid-visual {
  display: block grid;
  grid-area: img;
}
.p-page-company__philosophy .grid-wrap > .grid-visual .box {
  z-index: -1;
  grid-area: 1/1;
  align-self: end;
  block-size: 100%;
  border-radius: var(--card-radius);
  background-color: var(--color-gray-150);
}
.p-page-company__philosophy .grid-wrap > .grid-visual img {
  z-index: 0;
  grid-area: 1/1;
  align-self: start;
  aspect-ratio: 400/547;
  inline-size: 40rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  border-radius: var(--card-radius);
}
.p-page-company__philosophy .grid-wrap > .grid-content {
  grid-area: con;
  max-inline-size: 82.4rem;
}
.p-page-company__philosophy .grid-wrap > .grid-content:first-child {
  -webkit-margin-before: 0.8rem;
          margin-block-start: 0.8rem;
}
.p-page-company__philosophy .grid-wrap > .grid-content .ttl {
  font-weight: var(--fw-semibold);
  font-size: 3.2rem;
  font-size: calc(32 * var(--unit));
  line-height: 1;
}
.p-page-company__philosophy .grid-wrap > .grid-content p {
  -webkit-margin-before: 3.2rem;
          margin-block-start: 3.2rem;
  letter-spacing: 0.06rem;
}

.p-page-company__management-philosophy .l-inner {
  justify-items: center;
}
.p-page-company__management-philosophy .grid-wrap {
  display: block grid;
  inline-size: 100%;
}
.p-page-company__management-philosophy .grid-wrap > .grid-visual {
  display: block grid;
  grid-area: img;
}
.p-page-company__management-philosophy .grid-wrap > .grid-visual .box {
  z-index: -1;
  grid-area: 1/1;
  align-self: end;
  block-size: 100%;
  border-radius: var(--card-radius);
  background-color: var(--color-gray-150);
}
.p-page-company__management-philosophy .grid-wrap > .grid-visual img {
  z-index: 0;
  grid-area: 1/1;
  align-self: start;
  aspect-ratio: 600/400;
  inline-size: 40rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  border-radius: var(--card-radius);
}
.p-page-company__management-philosophy .grid-wrap > .grid-content {
  grid-area: con;
  justify-self: end;
  max-inline-size: 82.4rem;
}
.p-page-company__management-philosophy .grid-wrap > .grid-content:first-child {
  -webkit-margin-before: 0.8rem;
          margin-block-start: 0.8rem;
}
.p-page-company__management-philosophy .grid-wrap > .grid-content .ttl {
  font-weight: var(--fw-semibold);
  font-size: 3.2rem;
  font-size: calc(32 * var(--unit));
  line-height: 1;
}
.p-page-company__management-philosophy .grid-wrap > .grid-content p {
  -webkit-margin-before: 2.8rem;
          margin-block-start: 2.8rem;
}

.p-page-contact > .l-inner > .sec-ttl {
  letter-spacing: 0.05rem;
  text-align: center;
}

.p-page-download > .l-inner > .sec-ttl {
  letter-spacing: 0.05rem;
  text-align: center;
}

.p-page-function__support .intro-wrap {
  place-items: center;
  text-align: center;
}
.p-page-function__support .intro-wrap > p {
  letter-spacing: 0.125rem;
}
.p-page-function__support .intro-wrap > img {
  aspect-ratio: 224/117;
  inline-size: 22.4rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  margin-inline: auto;
}

.p-page-function__support-cardlist {
  display: block flex;
  flex-wrap: wrap;
  place-content: center;
}
.p-page-function__support-cardlist > li {
  display: block grid;
  max-inline-size: 72rem;
}
.p-page-function__support-cardlist > li .card {
  display: block grid;
  justify-items: center;
}
.p-page-function__support-cardlist > li .card > .card-ttl {
  -webkit-padding-after: 1.2rem;
  display: block grid;
  position: relative;
  justify-items: center;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
          padding-block-end: 1.2rem;
  gap: 2rem;
  text-align: center;
}
.p-page-function__support-cardlist > li .card > .card-ttl:before {
  display: block grid;
  aspect-ratio: 1;
  inline-size: 2rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  border-radius: var(--infinity);
  background-color: var(--color-orange-500);
  content: "";
}
.p-page-function__support-cardlist > li .card > .img {
  aspect-ratio: 720/450;
  max-inline-size: 72rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  border-radius: var(--card-radius);
}
.p-page-function__support-cardlist > li .card > .content {
  display: grid;
  grid-template: "ttl" minmax(40px, auto) "txt" minmax(40px, auto)/1fr;
  place-content: center;
  place-self: center;
  justify-items: center;
  border-radius: var(--card-radius);
  background-color: var(--color-white);
  box-shadow: var(--card-shadow);
}
.p-page-function__support-cardlist > li .card > .content > .ttl {
  --_height-pc: 58;
  --_width-pc: 343;
  --_fs-pc:24;
  --_fs-sp:20;
  grid-area: ttl;
  padding-inline: 2rem;
  text-align: center;
}
.p-page-function__support-cardlist > li .card > .content > p {
  -webkit-margin-before: 2.5rem;
  grid-area: txt;
          margin-block-start: 2.5rem;
  text-align: center;
}
.p-page-function__support-cardlist > li .card > .content > p > .min {
  -webkit-padding-after: 0.3rem;
  display: block grid;
          padding-block-end: 0.3rem;
}

.p-page-function__lists .sec-ttl {
  justify-self: center;
}
.p-page-function__lists > .l-inner > .content {
  -webkit-margin-before: 4rem;
  display: block grid;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
          margin-block-start: 4rem;
  gap: 4.5rem;
}

.p-page-function__lists__funcgroup-list {
  display: block flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.p-page-function__lists__funcgroup-list > li {
  display: inline grid;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-page-function__lists__funcgroup-list > li > .group-ttl {
  -webkit-padding-after: 2rem;
          padding-block-end: 2rem;
  font-weight: var(--fw-semibold);
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0;
}
.p-page-function__lists__funcgroup-list > li:has(> br) {
  display: grid;
  block-size: 0;
}

.p-page-function__lists__func-list {
  display: block grid;
  grid-template-columns: repeat(auto-fit, minmax(27.8rem, auto));
  justify-content: center;
}
.p-page-function__lists__func-list > li {
  display: inline grid;
  align-self: end;
}
.p-page-function__lists__func-list > li > .group-ttl {
  -webkit-padding-after: 2rem;
          padding-block-end: 2rem;
}
.p-page-function__lists__func-list > li .card {
  display: inline grid;
  grid-template: "img ttl" minmax(6rem, auto) "txt txt" minmax(4rem, 1fr)/auto 1fr;
  inline-size: 27.8rem;
  min-block-size: 22.5rem;
  padding-inline: 3rem 2.2rem;
  padding-block: 3rem;
  gap: 1.5rem;
  border-radius: var(--card-radius);
  background-color: var(--color-white);
}
.p-page-function__lists__func-list > li .card > .ttl {
  grid-area: ttl;
  align-self: center;
  font-weight: var(--fw-bold);
  font-size: 1.8rem;
  line-height: 1.6666666667;
}
.p-page-function__lists__func-list > li .card > .img {
  grid-area: img;
  aspect-ratio: 1;
  max-inline-size: 6rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-page-function__lists__func-list > li .card > p {
  grid-area: txt;
  max-inline-size: 91%;
  letter-spacing: 0.1rem;
}
.p-page-kadai__details > .l-inner {
  row-gap: 8rem;
}

.p-kadai-detail {
  -webkit-padding-after: calc(var(--_margin-y-end) * var(--unit));
  display: block grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
          padding-block-end: calc(var(--_margin-y-end) * var(--unit));
  border-radius: var(--card-radius);
  background-color: var(--color-white);
}

.p-kadai-detail__heading {
  display: block grid;
  padding-inline: calc(var(--_margin-side) * var(--unit));
  border-top-right-radius: var(--card-radius);
  border-top-left-radius: var(--card-radius);
  background-color: var(--color-green-key);
  color: var(--color-font-w);
}
.p-kadai-detail__heading > .num {
  grid-area: num;
  place-self: center;
  font-family: var(--font-Roboto);
}
.p-kadai-detail__heading > p {
  grid-area: sub;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-kadai-detail__heading > .sec-ttl {
  grid-area: ttl;
  letter-spacing: 0.2rem;
}

.p-kadai-detail > .section {
  -webkit-margin-before: calc(var(--_margin-top) * var(--unit));
          margin-block-start: calc(var(--_margin-top) * var(--unit));
  padding-inline: calc(var(--_margin-side) * var(--unit));
}
.p-kadai-detail > .section > hgroup {
  -webkit-padding-after: 0.5rem;
          padding-block-end: 0.5rem;
}
.p-kadai-detail > .section > hgroup > .sub {
  -webkit-margin-before: 0.6rem;
          margin-block-start: 0.6rem;
  color: var(--color-green-key);
  font-weight: var(--fw-semibold);
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
}
.p-kadai-detail > .section > .sec-ttl {
  -webkit-padding-after: 0.2rem;
          padding-block-end: 0.2rem;
}
.p-kadai-detail > .section .sec-ttl {
  font-weight: var(--fw-semibold);
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.13rem;
}
.p-kadai-detail > .section > hgroup,
.p-kadai-detail > .section > .sec-ttl {
  -webkit-margin-start: 2.6rem;
  display: block grid;
  position: relative;
  grid-auto-flow: row;
          margin-inline-start: 2.6rem;
}
.p-kadai-detail > .section > hgroup:before,
.p-kadai-detail > .section > .sec-ttl:before {
  display: block grid;
  position: absolute;
  grid-template-columns: 0.4rem;
  block-size: 100%;
  inset-inline-start: -2.4rem;
  background-color: var(--color-green-key);
  content: "";
}
.p-kadai-detail > .section > p {
  -webkit-margin-before: 3.4rem;
          margin-block-start: 3.4rem;
  font-size: 1.6rem;
  line-height: 1.6875;
  letter-spacing: 0.13rem;
}
.p-kadai-detail__images-wrap > .list {
  -webkit-margin-before: 4rem;
  -webkit-margin-after: 3rem;
  display: block grid;
  grid-template-columns: repeat(auto-fit, minmax(calc(var(--_card-w) * var(--unit)), auto));
  justify-content: center;
          margin-block-start: 4rem;
          margin-block-end: 3rem;
  gap: 3.2rem;
}
.p-kadai-detail__images-wrap > .list > li {
  display: block grid;
  block-size: 100%;
}
.p-kadai-detail__images-wrap .card {
  display: grid;
  grid-template: "img" minmax(40px, auto) "txt" minmax(40px, auto)/calc(var(--_card-w) * var(--unit));
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.p-kadai-detail__images-wrap .card > .img {
  grid-area: img;
  aspect-ratio: var(--_card-w)/var(--_img-h);
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  border-radius: var(--card-radius);
}
.p-kadai-detail__images-wrap .card > figcaption {
  -webkit-margin-before: 1.9rem;
  grid-area: txt;
          margin-block-start: 1.9rem;
  line-height: 1.75;
  letter-spacing: 0.1rem;
}

.p-kadai-detail__message-wrap {
  --_margin-top: 40;
}
.p-kadai-detail__message-wrap .message {
  display: grid;
  position: relative;
  justify-content: center;
  border-radius: var(--card-radius);
  background-color: var(--color-gray-150);
}
.p-kadai-detail__message-wrap .message > .img {
  display: block grid;
  grid-area: img;
  align-self: center;
  aspect-ratio: 176/111;
  inline-size: 22.8rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-kadai-detail__message-wrap .message > p {
  grid-area: txt;
  align-self: center;
}
.p-kadai-detail__message-wrap .message > p > strong {
  color: var(--color-orange-500);
}
.p-kadai-detail__message-wrap .arrow {
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  -webkit-margin-before: -2rem;
  align-self: end;
  justify-self: center;
  inline-size: 6.1rem;
  block-size: 6.5rem;
  margin-inline: auto;
          margin-block-start: -2rem;
  background-color: var(--color-gray-150);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.p-kadai-detail__cards-wrap > .list {
  -webkit-margin-before: 3.2rem;
  -moz-column-gap: 3.2rem;
  -webkit-margin-after: -3.2rem;
  display: block grid;
  grid-template-columns: repeat(auto-fit, minmax(calc(var(--_card-w) * var(--unit)), auto));
       column-gap: 3.2rem;
  justify-content: center;
          margin-block-start: 3.2rem;
          margin-block-end: -3.2rem;
}
.p-kadai-detail__cards-wrap .card {
  -webkit-padding-after: 3.2rem;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  max-inline-size: calc(var(--_card-w) * var(--unit));
          padding-block-end: 3.2rem;
}
.p-kadai-detail__cards-wrap .card > .img {
  grid-row: 1/2;
  place-self: center;
  aspect-ratio: 1;
  inline-size: 12rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-kadai-detail__cards-wrap .card > .ttl {
  -webkit-margin-before: 3.5rem;
  grid-row: 2/3;
  align-self: center;
          margin-block-start: 3.5rem;
  color: var(--color-green-key);
  font-weight: var(--fw-bold);
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.08rem;
  text-align: center;
}
.p-kadai-detail__cards-wrap .card > p {
  -webkit-margin-before: 1.5rem;
  grid-row: 3/4;
  align-self: start;
          margin-block-start: 1.5rem;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.05rem;
}

.p-kadai-detail > .btn-goto-top {
  -webkit-margin-end: 3rem;
  justify-self: end;
          margin-inline-end: 3rem;
  translate: 0 calc(var(--_margin-y-end) * var(--unit) + 50%);
}
.p-kadai-detail > .btn-goto-top > [class^=c-btn] {
  --_size-pc: 50;
}
.p-kadai-detail > .btn-goto-top > [class^=c-btn] > [class^=c-icon] {
  --_iw-pc: 11;
  --_iw-sp: var(--_iw-pc);
  --_ih-pc: 7;
  --_ih-sp: var(--_ih-pc);
}
.p-kadai-detail > .btn-goto-top > [class^=c-btn]:focus-visible {
  --_icon-x: 0;
  --_icon-y: -2;
}

.p-page-reason-details__gridlist {
  row-gap: calc(50 * var(--unit));
}
.p-page-reason-details__gridlist > li {
  display: block grid;
}
.p-page-reason-details__gridlist > li .grid {
  display: block grid;
}
.p-page-reason-details__gridlist > li .grid > .content {
  grid-area: content;
}
.p-page-reason-details__gridlist > li .grid > .content > p {
  -webkit-margin-before: 1.6rem;
          margin-block-start: 1.6rem;
  letter-spacing: 0.05rem;
}
.p-page-reason-details__gridlist > li .grid > .img {
  grid-area: img;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  border-radius: var(--card-radius);
}

.p-home-about {
  overflow-x: clip;
  overflow-y: visible;
}

.p-home-about__logo {
  justify-self: center;
  justify-self: center;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-home-about__logo > [class^=c-pic] {
  aspect-ratio: 197/103;
  inline-size: 19.7rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}

.p-home-about > .l-inner {
  justify-items: center;
}
.p-home-about > .l-inner > .ttl {
  -webkit-margin-before: 3.7rem;
          margin-block-start: 3.7rem;
  letter-spacing: 0.2rem;
}
.p-home-about > .l-inner > .txt {
  margin-block: 3.4rem 7.6rem;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.15rem;
}

.p-home-about__flow-wrap {
  display: block grid;
  z-index: 1;
  justify-items: center;
  padding-block: 2.9rem 3.9rem;
  overflow-x: clip;
  background-color: var(--color-gray-150);
}
.p-home-about__flow-wrap > .ttl {
  color: var(--color-green-key);
}

.p-home-about__flow-wrap > .cardlist {
  -webkit-margin-before: 2.5rem;
  -moz-column-gap: 2.8rem;
  display: block grid;
  grid-auto-flow: column;
       column-gap: 2.8rem;
  inline-size: 100dvi;
          margin-block-start: 2.5rem;
  overflow-x: clip;
  counter-reset: card-index 0;
}
.p-home-about__flow-wrap > .cardlist .splide__list .splide__slide:nth-child(3n+1 of .txt) {
  --_bgcol: var(--color-blue-400);
}
.p-home-about__flow-wrap > .cardlist .splide__list .splide__slide:nth-child(3n+2 of .txt) {
  --_bgcol: var(--color-yellow-500);
}
.p-home-about__flow-wrap > .cardlist .splide__list .splide__slide:nth-child(3n+3 of .txt) {
  --_bgcol: var(--color-green-key);
}
.p-home-about__flow-wrap > .cardlist [class^=card] {
  --_fs: 20;
  display: block grid;
  grid-template-columns: auto;
  aspect-ratio: 274/197;
  min-inline-size: 27.4rem;
  max-inline-size: 27.4rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  overflow: clip;
  border-radius: 2rem;
  background-color: var(--_bgcol);
  color: var(--color-font-w);
  counter-increment: card-index 1;
}
.p-home-about__flow-wrap > .cardlist [class^=card] > p {
  align-self: start;
  justify-self: center;
  padding-block: 3rem 2rem;
  font-weight: var(--fw-semibold);
  font-size: 1.8rem;
  font-size: calc(var(--_fs) * var(--unit));
  line-height: 1.2222222222;
  text-align: center;
}
.p-home-about__flow-wrap > .cardlist [class^=card] > p > .num {
  -webkit-margin-after: 0.4rem;
  display: block grid;
          margin-block-end: 0.4rem;
  font-weight: var(--fw-semibold);
  font-size: 3rem;
  line-height: 1.0666666667;
}
.p-home-about__flow-wrap > .cardlist .card--img > img, .p-home-about__flow-wrap > .cardlist .card--img p {
  grid-area: 1/1;
}
.p-home-about__flow-wrap > .cardlist .card--img > img {
  z-index: 0;
  filter: brightness(0.7);
}
.p-home-about__flow-wrap > .cardlist .card--img > p {
  z-index: 1;
  align-self: end;
}

.p-home-about__flow-wrap .splide {
  grid-area: 1/1;
  inline-size: 100%;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-home-about__flow-wrap .splide .splide__list > .splide__slide {
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.p-home-about__flow-wrap .splide .splide__list > .splide__slide > .card {
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}

.p-home-about__next-arrow-wrap {
  display: block grid;
  position: relative;
  justify-items: center;
  inline-size: 100%;
}

.p-home-about__next-arrow {
  -webkit-margin-before: -2.4rem;
  --_length: 40%;
  --_tickness: 26%;
  -webkit-clip-path: polygon(calc(50% - var(--_tickness)) 0%, calc(50% + var(--_tickness)) 0%, calc(50% + var(--_tickness)) var(--_length), 100% calc(var(--_length)), 50% 100%, 0% calc(var(--_length)), calc(50% - var(--_tickness)) var(--_length));
  z-index: 5;
  position: absolute;
          margin-block-start: -2.4rem;
  inset-block-start: 100%;
  background-color: var(--color-gray-150);
          clip-path: polygon(calc(50% - var(--_tickness)) 0%, calc(50% + var(--_tickness)) 0%, calc(50% + var(--_tickness)) var(--_length), 100% calc(var(--_length)), 50% 100%, 0% calc(var(--_length)), calc(50% - var(--_tickness)) var(--_length));
}

.p-home-about__slider-wrap {
  -webkit-margin-before: 11.4rem;
  display: block grid;
  grid-template-columns: 1fr;
  justify-items: center;
  aspect-ratio: 850/500;
  max-inline-size: 115rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  margin-inline: auto;
          margin-block-start: 11.4rem;
}
.p-home-about__slider-wrap > .pc-frame {
  grid-area: 1/1;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-home-about__slider-wrap .splide .splide__pagination {
  display: block flex !important;
}
.p-home-about__slider-wrap .splide {
  grid-area: 1/1;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  margin-inline: auto;
}
.p-home-about__slider-wrap .splide__list [class^=c-pic] {
  display: block grid;
  aspect-ratio: 842/451;
  inline-size: 100%;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  margin-inline: auto;
}
.p-home-about__slider-wrap .splide__list [class^=c-pic] img {
  max-block-size: 45.1rem;
}

.p-home-about__btnwrap {
  justify-items: center;
}

.p-home-banner {
  max-inline-size: 192rem;
  margin-inline: auto;
}

.p-home-case > .l-inner {
  --_lwi: 1440;
}
.p-home-case > .l-inner > .ttl {
  justify-self: center;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-home-case .c-background {
  justify-self: center;
  margin-inline: unset;
  padding-inline: unset;
}
.p-home-case .c-background > .right-shadow {
  justify-self: end;
  inline-size: 100%;
  max-inline-size: 33cqi;
  block-size: calc(100% - 3.7cqi);
  border-radius: 2rem;
  background-color: var(--color-gray-150);
}

.p-home-case__cardlist {
  --_card-w: 320;
  --_card-w-gap: calc(32 - var(--is-firefox));
  --_card-h-gap: 40;
  -webkit-margin-after: calc(var(--_card-h-gap) * var(--unit) * -1);
  display: block grid;
  grid-template-rows: auto;
  justify-self: center;
          margin-block-end: calc(var(--_card-h-gap) * var(--unit) * -1);
}
.p-home-case__cardlist > .card {
  -webkit-margin-after: calc(var(--_card-h-gap) * var(--unit));
  display: block grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
          margin-block-end: calc(var(--_card-h-gap) * var(--unit));
  overflow: clip;
  border-radius: 2rem;
  background-color: var(--color-white);
}
.p-home-case__cardlist > .card > [class^=c-pic] {
  overflow: clip;
}
.p-home-case__cardlist > .card > :not([class^=c-pic]) {
  padding-inline: 2rem;
}
.p-home-case__cardlist > .card > .ttl {
  -webkit-padding-before: 3.1rem;
          padding-block-start: 3.1rem;
  font-weight: var(--fw-semibold);
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.1rem;
  text-align: center;
}
.p-home-case__cardlist > .card > p {
  -webkit-padding-before: 1.5rem;
          padding-block-start: 1.5rem;
  letter-spacing: 0.1rem;
  text-align: center;
}
.p-home-case__cardlist > .card > .btn-wrap {
  display: block grid;
  place-content: center;
  place-self: end;
  margin-block: 2.4rem 1.6rem;
  padding-inline: 1.9rem;
}
.p-home-case__cardlist > .card {
  --_box-shadow: 0 0 20px var(--shadow025);
  box-shadow: var(--_box-shadow);
}
.p-home-case__cardlist > .card[data-animated=end] {
  transition: scale 250ms ease, box-shadow 250ms ease;
}
.p-home-case__cardlist > .card[data-animated=end]:focus-visible {
  --_box-shadow: 0px 0px 40px rgba(25, 25, 25, 0.2);
  scale: 1.015;
}
.p-home-case__cardlist > .card[data-animated=end]:focus-visible > .btn-wrap > [class^=c-tag] {
  --_icon-x: 2;
}

.p-home-case__footerwrap {
  justify-self: center;
}

.p-home-companylogo {
  padding: calc(1.5vw + 1.5vh);
  border-radius: var(--card-radius);
  background-color: var(--color-gray-150);
}
.p-home-companylogo__logoList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1080px;
  margin-inline: auto;
}
.p-home-companylogo__logoList > li {
  width: 25%;
  padding: calc(0.35vw + 0.35vh);
}
.p-home-companylogo__logoList > li > img {
  width: 100%;
}
.p-home-companylogo__supplement {
  font-size: 1.6rem;
  line-height: 1.75;
  text-align: right;
}
.p-home-companylogo-text {
  margin-bottom: 1em;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.2;
  text-align: center;
}

.p-home-reason__gridwrap {
  display: block grid;
}
.p-home-reason__gridwrap > .grid-content {
  display: block grid;
  grid-area: con;
  border-radius: 2rem;
  background-color: var(--color-gray-150);
}
.p-home-reason__gridwrap > .grid-content > * {
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-home-reason__gridwrap > .grid-content > .grid-ttl {
  grid-area: ttl;
}
.p-home-reason__gridwrap > .grid-content > .grid-ttl > .ttl {
  letter-spacing: 0.2rem;
  text-align: center;
}
.p-home-reason__gridwrap > .grid-content > .grid-btn {
  display: block grid;
  grid-area: btn;
}
.p-home-reason__gridwrap > .grid-content > .grid-cards {
  --_grid-x-count: 3;
  --_grid-w: 224;
  --_grid-w-gap: calc(40 - (var(--is-firefox) * 4));
  --_grid-h-gap: 40;
  display: block grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(auto-fit, calc(var(--_grid-w) * var(--pxr)));
  grid-area: crd;
  justify-content: center;
  inline-size: 100%;
  transform: translateZ(0);
}
.p-home-reason__gridwrap > .grid-content > .grid-cards > li {
  display: block grid;
  margin-inline: auto;
}
.p-home-reason__gridwrap > .grid-content > .grid-cards > li[data-animated=end]:focus-visible .card {
  --_box-shadow: 0px 40px 30px rgba(25, 25, 25, 0.12);
  scale: 1.015;
}
.p-home-reason__gridwrap > .grid-content > .grid-cards > li[data-animated=end]:focus-visible .card p [class^=c-icon] {
  --_itx: 2;
}
.p-home-reason__gridwrap > .grid-content > .grid-cards .card {
  --_box-shadow: 0 0 calc( 20 * var(--unit) ) var(--shadow01);
  display: block grid;
  grid-template: "img" minmax(20px, auto) "txt" minmax(20px, auto)/1fr;
  place-content: center;
  place-items: center;
  aspect-ratio: 224/250;
  border-radius: 2rem;
  background-color: var(--color-white);
  box-shadow: var(--_box-shadow);
  transition: scale 0.25s ease, box-shadow 0.25s ease;
}
.p-home-reason__gridwrap > .grid-content > .grid-cards .card > [class^=c-pic] {
  grid-area: img;
  aspect-ratio: 92/118;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.p-home-reason__gridwrap > .grid-content > .grid-cards .card > p {
  grid-area: txt;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.1rem;
  text-align: center;
}
.p-home-reason__gridwrap > .grid-content > .grid-cards .card > p b {
  color: var(--color-green-500);
}
.p-home-reason__gridwrap > .grid-content > .grid-cards .card > p [class^=c-icon] {
  --_icon-col: var(--color-green-key);
  display: inline flow-root;
  position: absolute;
  block-size: 1.05lh;
}
.p-home-reason__gridwrap > .grid-visual {
  display: block grid;
  grid-area: img;
  align-content: start;
}
.p-home-reason__gridwrap > .grid-visual > picture {
  aspect-ratio: 712/383;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}

.p-home-solution__gridwrap {
  display: block grid;
  transform: translateZ(0);
}
.p-home-solution__gridwrap > .grid-content {
  -webkit-margin-end: auto;
  display: block grid;
  grid-area: con;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
          margin-inline-end: auto;
  transform: translateZ(0);
  border-radius: 2rem;
}
.p-home-solution__gridwrap > .grid-content > * {
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-home-solution__gridwrap > .grid-content > .grid-txt {
  grid-area: txt;
}
.p-home-solution__gridwrap > .grid-content > .grid-txt > .ttl {
  letter-spacing: 0.22rem;
}
.p-home-solution__gridwrap > .grid-content > .grid-txt > p {
  -webkit-padding-start: 0.2rem;
  margin-block: 3.5rem 0;
          padding-inline-start: 0.2rem;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.1rem;
}
.p-home-solution__gridwrap > .grid-content > .grid-txt > p:first-letter {
  -webkit-margin-start: 0.8rem;
          margin-inline-start: 0.8rem;
}
.p-home-solution__gridwrap > .grid-content > .grid-btn {
  display: block grid;
  position: relative;
  grid-area: btn;
}
.p-home-solution__gridwrap > .grid-content > .grid-btn > [class^=c-pic] {
  align-self: end;
  aspect-ratio: 652/526;
  pointer-events: none;
}
.p-home-solution__gridwrap > .grid-content > .grid-cards {
  --_grid-x-count: 3;
  --_grid-h-gap: 30;
  -webkit-margin-before: 6.4rem;
  -webkit-margin-after: calc(var(--_grid-h-gap) * var(--unit) * -1);
  display: block grid;
  grid-template-rows: auto;
  grid-area: crd;
  inline-size: 100%;
          margin-block-start: 6.4rem;
          margin-block-end: calc(var(--_grid-h-gap) * var(--unit) * -1);
}
.p-home-solution__gridwrap > .grid-content > .grid-cards > li {
  display: block grid;
  transform: translateZ(0);
}
.p-home-solution__gridwrap > .grid-content > .grid-cards > li[data-animated=end] .card:focus-visible {
  --_box-shadow: 0px 40px 30px rgba(25, 25, 25, 0.12);
  scale: 1.015;
}
.p-home-solution__gridwrap > .grid-content > .grid-cards > li[data-animated=end] .card:focus-visible p [class^=c-icon] {
  --_itx: 2;
}
.p-home-solution__gridwrap > .grid-content > .grid-cards .card {
  -webkit-margin-after: calc(var(--_grid-h-gap) * var(--unit));
  --_box-shadow: 0 0 20px rgba(25, 25, 25, 0.08);
  display: block grid;
  grid-row: span 2;
          margin-block-end: calc(var(--_grid-h-gap) * var(--unit));
  overflow: clip;
  transform: translateZ(0);
  border-radius: 2rem;
  box-shadow: var(--_box-shadow);
  transition: scale 0.25s ease, box-shadow 0.25s ease;
}
.p-home-solution__gridwrap > .grid-content > .grid-cards .card [class^=c-pic] {
  aspect-ratio: 286/195;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  overflow: clip;
  background-color: var(--color-gray-150);
}
.p-home-solution__gridwrap > .grid-content > .grid-cards .card [class^=c-pic] img {
  transition: scale 0.6s ease;
}
.p-home-solution__gridwrap > .grid-content > .grid-cards .card p {
  position: relative;
  padding-inline: 2rem;
  line-height: 2.4rem;
  letter-spacing: 0.1rem;
  text-align: center;
}
.p-home-solution__gridwrap > .grid-content > .grid-cards .card p [class^=c-icon] {
  --_icon-col: var(--color-green-key);
  display: inline flow-root;
  position: absolute;
  block-size: 1.05lh;
}
.p-home-solution__gridwrap > .grid-visual {
  display: block grid;
  grid-area: img;
  max-block-size: 80rem;
  border-radius: 2rem;
  background-color: var(--color-gray-150);
}
.p-home-solution__gridwrap > .grid-visual > picture {
  aspect-ratio: 400/700;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  overflow: clip;
  border-radius: 2rem;
}
.p-home-solution__gridwrap > .grid-visual > picture > img {
  filter: brightness(0.95);
}

.p-home-webcm {
  overflow: hidden;
}
.p-home-webcm__video {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-block: 6rem;
  border-radius: 2rem;
  background-color: #f3f3f3;
}
.p-home-webcm__video::after {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  background-color: #f3f3f3;
  content: "";
}
.p-home-webcm__video > .ttl {
  -webkit-padding-after: 4rem;
  z-index: 1;
  position: relative;
          padding-block-end: 4rem;
  text-align: center;
}
.p-home-webcm__video-list {
  display: flex;
  z-index: 1;
  position: relative;
  justify-content: space-between;
  width: 95%;
  max-width: 1280px;
  margin-inline: auto;
  gap: calc(1vw + 1vh);
}
.p-home-webcm__video-list > li {
  --_box-shadow: 0 0 calc(20 * var(--unit)) var(--shadow01);
  width: calc(50% - (0.5vw + 0.5vh));
  box-shadow: var(--_box-shadow);
}
.p-home-webcm__video-list > li iframe {
  -o-object-fit: contain;
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
     object-fit: contain;
}

.p-banner-content--campaign {
  --_banner-width: 800;
  --_banner-height: 200;
  inline-size: 100%;
  max-inline-size: calc(var(--_banner-width) * var(--unit));
  margin-inline: auto;
  border-radius: 1rem;
  cursor: pointer;
  transition: opacity 0.3s;
}
.p-banner-content--campaign:focus-visible [class^=c-pic] {
  scale: 1.01;
  opacity: 0.8;
}
.p-banner-content--campaign:focus-visible .content .c-icon {
  --_itx: 2;
}
.p-banner-content--campaign [class^=c-pic] {
  overflow: hidden;
  border-radius: var(--card-radius);
  box-shadow: 0 0 20px var(--shadow01);
  transition: opacity 0.3s, scale 0.3s;
}

.company-banner-list__content {
  display: block grid;
  max-inline-size: 100cqi;
  overflow-x: clip;
}
.company-banner-list__content .splide__slide {
  display: block grid;
  row-gap: 1.5rem;
}
.company-banner-list__content .company-banner-list {
  --_grid-w: 200;
  --_grid-h: 65;
  --_grid-w-gap: 15;
  --_grid-h-gap: 15;
  -moz-column-gap: calc(var(--_grid-w-gap) * var(--unit));
  display: block grid;
  grid-template-rows: calc(var(--_grid-h) * var(--unit));
  grid-template-columns: auto;
  grid-auto-flow: column;
       column-gap: calc(var(--_grid-w-gap) * var(--unit));
  row-gap: calc(var(--_grid-h-gap) * var(--unit));
  justify-content: center;
}
.company-banner-list__content .company-banner-list > .banner {
  aspect-ratio: var(--_aspect);
  inline-size: calc(var(--_banner-w) * var(--unit));
  block-size: calc(var(--_banner-h) * var(--unit));
  background-color: var(--color-gray-200);
}
.company-banner-list__content .company-banner-list > .banner img {
  aspect-ratio: var(--_aspect);
  inline-size: calc(var(--_banner-w) * var(--unit));
  block-size: calc(var(--_banner-h) * var(--unit));
}

.p-formEx {
  /* confirm */
  /* error */
  /* thanks */
}
.p-formEx__msg {
  margin-block: 2em;
  text-align: center;
}
.p-formEx__btn a {
  margin-block: 2em;
  text-align: center;
}
.p-formEx-confirm__dl-thumb {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
.p-formEx-error {
  color: #f15a24;
}

.grecaptcha-badge {
  transform: translateY(-60px);
}

.p-form__wrap {
  display: block grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  gap: 4rem;
}

.p-form {
  display: block grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
}

.p-form-block {
  display: block grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  border-radius: var(--form-radius);
  background-color: var(--color-gray-080);
}

.p-form-block + .p-form-block {
  -webkit-margin-before: 6rem;
          margin-block-start: 6rem;
}

.p-form-block > .inner {
  display: block grid;
  inline-size: 100%;
  margin-inline: auto;
}
.p-form-block > dl > dt {
  display: block grid;
  flex-direction: row;
  inline-size: 100%;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  gap: 2rem;
}
.p-form-block > dl > dt:not(.top) {
  align-self: center;
}
.p-form-block > dl > dt:has([class^=c-tag]) {
  grid-template-columns: auto 1fr;
  align-items: center;
}
.p-form-block > dl > dt:not(:has([class^=c-tag])) {
  -webkit-margin-start: 6.1rem;
  grid-template-columns: 1fr;
          margin-inline-start: 6.1rem;
}
.p-form-block > dl > dt > label {
  display: block grid;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  gap: 2rem;
  cursor: unset;
}
.p-form-block > dl > dd {
  --_dd-w: 100%;
  inline-size: var(--_dd-w);
}
.p-form-block > dl > dd a {
  color: var(--color-green-key);
}
.p-form-block .checkbox-group {
  --_item-w: 200;
  display: block grid;
}
.p-form-block .checkbox-group > .col.--list {
  display: block grid;
  grid-auto-flow: row;
}
.p-form-block .checkbox-group > .col.--list > label {
  grid-template: "inp txt" minmax(2rem, auto)/auto 1fr;
  align-items: center;
}
.p-form-block .checkbox-group > .col.--req-label:has([class*=c-tag]) {
  display: block grid;
}
.p-form-block .checkbox-group > .col.--req-label > label {
  grid-template: "inp txt" minmax(2rem, auto)/auto 1fr;
  align-items: start;
}
.p-form-block .checkbox-group > .col.--req-label > label > [class*=c-tag] {
  -webkit-margin-before: 0.4rem;
  grid-area: tag;
          margin-block-start: 0.4rem;
}
.p-form-block .checkbox-group > .col.--req-label > label > input {
  align-self: start;
}
.p-form-block .checkbox-group > .col.--document > label {
  grid-template: "img img" minmax(2rem, auto) "inp txt" minmax(2rem, auto)/auto 1fr;
}
.p-form-block .checkbox-group > .col.--document > label > img.item {
  -webkit-margin-start: -1.5rem;
  grid-area: img;
  aspect-ratio: 300/134;
  inline-size: 30rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
          margin-inline-start: -1.5rem;
}
.p-form-block .checkbox-group > .col.--document > label > input {
  align-self: center;
}
.p-form-block .checkbox-group > .col.--document > label > input:focus-visible {
  outline: none;
}
.p-form-block .checkbox-group > .col.--document > label > .txt {
  max-inline-size: 25rem;
}
.p-form-block .checkbox-group > .col > label {
  -moz-column-gap: 1.2rem;
  display: block grid;
       column-gap: 1.2rem;
  cursor: pointer;
}
.p-form-block .checkbox-group > .col > label > input {
  grid-area: inp;
}
.p-form-block .checkbox-group > .col > label > .txt {
  grid-area: txt;
}
.p-form-block .privacypolicy-wrap {
  overflow: clip;
  border-radius: var(--form-radius);
}
.p-form-block .privacypolicy-wrap > .txtwrap {
  background-color: var(--color-white);
}
.p-form-block .privacypolicy-wrap > .txtwrap .green {
  color: var(--color-green-key);
}
.p-form-block .privacypolicy-wrap > .txtwrap a:focus-visible {
  text-decoration: underline;
}
.p-form-block .privacypolicy-wrap > .footer {
  align-content: center;
  min-block-size: 3.4rem;
  padding-inline: 2rem;
  padding-block: 0.8rem;
  background-color: var(--color-gray-200);
  color: var(--color-gray-800);
  line-height: 1;
}

.p-form input[type=text],
input[type=email],
input[type=tel],
input[type=date],
textarea,
select {
  display: flex;
  flex: 1;
  width: 100%;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  margin-block: auto;
  padding-inline: 3rem;
  padding-block: 0.6rem;
  border-radius: var(--form-radius);
  text-align: left;
}

.p-form input[type=text],
.p-form input[type=email],
.p-form input[type=tel],
.p-form input[type=date],
.p-form textarea {
  border: unset;
  background: var(--color-white);
  font-size: 1.4rem;
  line-height: 1.2857142857;
  letter-spacing: 0.05rem;
}

.p-form textarea {
  padding-inline: 2rem;
  padding-block: 2rem;
  font-size: 1.4rem;
  line-height: 1.2857142857;
  letter-spacing: 0.05rem;
}

.p-form textarea::-moz-placeholder {
  letter-spacing: 0.05rem;
}

.p-form textarea:-ms-input-placeholder {
  letter-spacing: 0.05rem;
}

.p-form textarea::placeholder {
  letter-spacing: 0.05rem;
}

.p-form :is(select) {
  border: 0.1rem solid var(--color-gray-200);
}

.p-form .row .--w70 {
  width: 100%;
  max-width: 7rem;
}
.p-form .row .--w100 {
  width: 100%;
  max-width: 10rem;
}

.p-form input[type=text]:focus,
.p-form input[type=email]:focus,
.p-form input[type=tel]:focus,
.p-form select:focus,
.p-form textarea:focus {
  outline: 1px solid var(--color-green-key);
}

.p-form input[type=text]::-moz-placeholder, .p-form input[type=email]::-moz-placeholder, .p-form input[type=tel]::-moz-placeholder, .p-form input[type=date]::-moz-placeholder, .p-form textarea::-moz-placeholder {
  color: var(--color-gray-400);
  letter-spacing: 0;
}

.p-form input[type=text]:-ms-input-placeholder, .p-form input[type=email]:-ms-input-placeholder, .p-form input[type=tel]:-ms-input-placeholder, .p-form input[type=date]:-ms-input-placeholder, .p-form textarea:-ms-input-placeholder {
  color: var(--color-gray-400);
  letter-spacing: 0;
}

.p-form input[type=text]::placeholder,
.p-form input[type=email]::placeholder,
.p-form input[type=tel]::placeholder,
.p-form input[type=date]::placeholder,
.p-form textarea::placeholder {
  color: var(--color-gray-400);
  letter-spacing: 0;
}

.p-form input[type=checkbox],
.p-form input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.p-form input[type=checkbox]:focus:before,
.p-form input[type=radio]:focus:before {
  outline: 0.1rem solid var(--color-black);
}

.p-form-date:hover,
.p-form input[type=date]::before:hover,
.p-form input[type=checkbox]:hover,
.p-form input[type=radio]:hover {
  cursor: pointer;
}

.p-form select {
  cursor: pointer;
}

.p-form .selectwrap:after {
  pointer-events: none;
}

.p-form .radio,
.p-form .checkbox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100%;
  gap: 1.2rem;
  font-weight: var(--fw-regular);
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
}

.p-form .radiogroup {
  display: flex;
  display: grid;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.4rem;
}

.p-form .radiogroup.--flex {
  -moz-column-gap: 7.5rem;
  display: flex;
       column-gap: 7.5rem;
  flex-direction: row;
  flex-wrap: wrap;
}

.p-form .radiogroup label {
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  line-height: 2.6rem;
  white-space: nowrap;
}
.p-form .radiogroup label:hover {
  cursor: pointer;
}

.p-form input[type=radio] {
  position: relative;
  border-radius: calc(var(--infinity));
  cursor: pointer;
}
.p-form input[type=radio]:hover {
  opacity: 0.8;
}
.p-form input[type=radio]:checked:after {
  opacity: 1;
}
.p-form input[type=radio]:before, .p-form input[type=radio]:after {
  position: absolute;
  top: calc(50% + 0.1rem);
  left: 0.7rem;
  width: 1.8rem;
  height: 1.8rem;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  content: "";
}
.p-form input[type=radio]:before {
  border: 0.1rem solid var(--color-gray-500);
  background-color: var(--color-white);
  cursor: pointer;
}
.p-form input[type=radio]:after {
  background-color: var(--color-green-key);
  cursor: pointer;
  opacity: 0;
}

.p-form input[type=checkbox] {
  --_boxsize-sp: 18;
  --_boxsize-pc: 19;
  --_checksize-sp: 14;
  --_checksize-pc: 14;
  --_radius: 10;
  position: relative;
  inline-size: calc(var(--_boxsize) * var(--unit));
  block-size: calc(var(--_boxsize) * var(--unit));
  border: unset;
  cursor: pointer;
}
.p-form input[type=checkbox]:hover {
  opacity: 0.8;
}
.p-form input[type=checkbox]:checked:after {
  opacity: 1;
}
.p-form input[type=checkbox]:before, .p-form input[type=checkbox]:after {
  position: absolute;
  inline-size: calc(var(--_boxsize) * var(--unit));
  block-size: calc(var(--_boxsize) * var(--unit));
  inset-block-start: 50%;
  inset-inline-start: 50%;
  translate: -50% -50%;
  content: "";
}
.p-form input[type=checkbox]:before {
  border: 1px solid var(--color-gray-200);
  border-radius: 0.4rem;
  background-color: var(--color-truewhite);
  cursor: pointer;
}
.p-form input[type=checkbox]:after {
  --_adjust-x: -15%;
  --_adjust-y: -25%;
  -webkit-clip-path: polygon(80% 15%, 100% 15%, 100% 100%, 50% 100%, 50% 80%, 80% 80%, 80% 0%);
  inline-size: calc(var(--_checksize) * var(--unit));
  block-size: calc(var(--_checksize) * var(--unit));
  rotate: 45deg;
  background-color: var(--color-green-key);
          clip-path: polygon(80% 15%, 100% 15%, 100% 100%, 50% 100%, 50% 80%, 80% 80%, 80% 0%);
  cursor: pointer;
  opacity: 0;
}

.p-form input[type=file]::-webkit-file-upload-button {
  gap: 2rem;
  border: 1px solid var(--color-gray-300);
  border-radius: 0.4rem;
  background: var(--color-gray-300);
  color: var(--color-green-key);
  text-align: center;
}

.p-form input[type=file]::file-selector-button,
.p-form input[type=file]::-webkit-file-upload-button {
  gap: 2rem;
  border: 1px solid var(--color-gray-300);
  border-radius: 0.4rem;
  background: var(--color-gray-300);
  color: var(--color-green-key);
  text-align: center;
}
.p-form input[type=file]::-webkit-file-upload-button:hover {
  cursor: pointer;
}
.p-form input[type=file]::file-selector-button:hover,
.p-form input[type=file]::-webkit-file-upload-button:hover {
  cursor: pointer;
}

.p-form input[type=file]:focus {
  outline: 1px solid var(--color-gray-500);
}

.p-form select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.p-form select::-ms-expand {
  display: none;
}

.p-form .selectwrap {
  position: relative;
}
.p-form .selectwrap:after {
  --icon-col: var(--color-gray-500);
  position: absolute;
  top: 50%;
  right: 1.6rem;
  transform: translateY(-50%);
  content: "";
}

.p-form textarea {
  resize: vertical;
}

.cf7-accept-check {
  margin: 5rem auto;
  text-align: center;
}

.p-home-mv {
  display: block grid;
  position: relative;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  justify-content: center;
  overflow-x: clip;
  transform: translateZ(0);
  background: var(--color-bg-white);
}

.p-home-mv__inner {
  box-sizing: border-box;
  display: block grid;
  z-index: 1;
  top: 0;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  justify-content: end;
  inline-size: 100%;
  block-size: 100%;
  margin-inline: auto;
}

.p-home-mv__content {
  display: block grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  justify-self: center;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}

.p-home-mv__ttl {
  display: inline flex;
  z-index: 10;
  grid-area: 1/1;
  flex-direction: column;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  color: var(--color-font-w);
}

.p-home-mv__ttl > .block {
  font-feature-settings: unset;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline: clamp(13px, 2.1666666667dvi, 26px) clamp(6px, 1dvi, 12px);
  padding-block: clamp(3px, 0.5dvi, 6px) clamp(5px, 0.8333333333dvi, 10px);
  background-color: var(--color-orange-500);
}

.p-home-mv__visualwrap {
  display: block grid;
  z-index: 1;
  grid-area: 1/1;
  justify-self: center;
  inline-size: 100%;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-home-mv__visualwrap > [class^=c-pic] {
  grid-area: 1/1;
  justify-self: center;
}
.p-home-mv__visualwrap > [class^=c-pic] > img {
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}

.p-home-mv__visualwrap > .p-home-mv__btnwrap {
  display: block grid;
  z-index: 2;
  grid-area: 1/1;
  align-content: start;
  align-self: center;
  justify-content: center;
  justify-self: end;
  aspect-ratio: 1;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  margin: unset;
  overflow: clip;
  transform: translateZ(0);
  border-radius: var(--infinity);
  background-color: var(--color-gray-150);
  transition: opacity 0.3s, scale 0.3s, box-shadow 0.3s;
}
.p-home-mv__visualwrap > .p-home-mv__btnwrap > * {
  transition: scale 0.3s;
}
.p-home-mv__visualwrap > .p-home-mv__btnwrap:focus-visible {
  --_box-shadow: 0px 20px 40px rgba(25, 25, 25, 0.2);
  box-shadow: var(--_box-shadow);
  opacity: 0.9;
}
.p-home-mv__visualwrap > .p-home-mv__btnwrap:focus-visible > * {
  scale: 1.03;
}
.p-home-mv__visualwrap > .p-home-mv__btnwrap > .ttl {
  color: var(--color-orange-500);
  font-family: var(--font-Roboto);
}
.p-home-mv__visualwrap > .p-home-mv__btnwrap > .sub {
  -webkit-margin-before: 0.35rem;
          margin-block-start: 0.35rem;
  font-weight: var(--fw-bold);
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: 1px;
}
.p-home-mv__visualwrap > .p-home-mv__btnwrap > [class^=c-tag] {
  --_size-sp: 28;
  -webkit-margin-before: 1.2rem;
          margin-block-start: 1.2rem;
}

.p-home-mv__scrollwrap {
  display: block grid;
  z-index: 2;
  grid-area: 1/1;
  place-items: center;
  align-self: end;
  justify-self: center;
  color: var(--color-green-key);
}
.p-home-mv__scrollwrap > .line {
  inline-size: 0.1rem;
  block-size: 10rem;
  background-color: currentColor;
}
.p-home-mv__scrollwrap > .txt {
  transform: translateZ(0);
  font-weight: var(--fw-semibold);
  filter: drop-shadow(0 0px 4px var(--color-white)) drop-shadow(0 0px 2px var(--color-white));
}

.p-home-mv .c-background {
  container-type: inline-size;
  justify-self: center;
  overflow: clip;
}

[data-js=mv-bg-scroll-tags] {
  --_front_x_speed: 0;
  --_back_x_speed: 0: ;
}

.p-home-mv__bg-tags {
  container-type: inline-size;
  --_comp: 1920;
  --_comph: 730;
  --_1cqi: calc(100 / var(--_comp) * 1cqi);
  --_1cqb: calc(100 / var(--_comph) * 1cqb);
  display: block grid;
  position: relative;
  grid-template-columns: 1fr;
}
.p-home-mv__bg-tags > [class*=tag] {
  --_cloneindex: 0;
  --_adjust-y: 0;
  --_cy: calc( (var(--_y,0) - var(--_adjust-y) ) * var(--pxr) );
  --_cw: calc( var(--_cqw,100) * 1cqi );
  --_ch: calc( calc(var(--_h,100) * 100 / var(--_comph)) * 1cqb );
  display: block grid;
  position: relative;
  grid-area: 1/1;
  aspect-ratio: var(--_w)/var(--_h);
  inline-size: var(--_cw);
  max-inline-size: calc(var(--_w) * var(--pxr));
  block-size: var(--_ch);
  max-block-size: calc(var(--_h) * var(--pxr));
  inset: 0;
  inset-block-start: var(--_cy);
  inset-inline-start: calc(var(--_cqx) * 1cqi);
  transition: unset;
}
.p-home-mv__bg-tags > [data-js*=tag-back] {
  z-index: 0;
}
.p-home-mv__bg-tags > [data-js*=tag-front] {
  z-index: 1;
}

.p-page-breadcrumbs {
  --_gap: 8;
  -webkit-margin-before: 0.6rem;
  display: block grid;
  position: relative;
  grid-template-columns: 1fr;
  inline-size: 100%;
  max-inline-size: 164rem;
  margin-inline: auto;
          margin-block-start: 0.6rem;
  letter-spacing: -0.08rem;
}

.p-page-breadcrumbs__list {
  display: inline;
}
.p-page-breadcrumbs__list > li {
  display: inline;
}
.p-page-breadcrumbs__list > li > [class*=c-link] {
  --_txt-color-normal: var(--color-gray-500);
}
.p-page-breadcrumbs__list > li > [class^=c-icon] {
  -webkit-margin-start: calc(var(--_gap) * var(--unit));
          margin-inline-start: calc(var(--_gap) * var(--unit));
  background-color: var(--color-gray-500);
}
.p-page-breadcrumbs__list > li + li {
  -webkit-margin-start: calc(var(--_gap) * var(--unit));
          margin-inline-start: calc(var(--_gap) * var(--unit));
}

.p-page-mv {
  display: block grid;
  position: relative;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  place-content: center;
  place-items: center;
  min-block-size: 30rem;
  overflow-x: clip;
}

.p-page-mv [class=c-background] {
  overflow: clip;
  border-radius: var(--card-radius);
}

.p-page-mv > .ttl {
  z-index: 1;
  grid-area: 1/1;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  padding-inline: 2.4rem;
  padding-block: 0.4rem 1.1rem;
  background-color: var(--color-white);
  color: var(--color-green-key);
}

.p-section-download > .l-inner > .ttl {
  --_fspc: 40;
  --_fssp: 32;
  justify-self: center;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  font-size: clamp(var(--_fssp) * var(--unit), var(--_fspc) * var(--vw), var(--_fspc) * var(--unit));
}

.p-section-download__cardlist {
  --_card-width: 580;
  -webkit-backface-visibility: hidden;
  display: block grid;
  grid-template-rows: auto;
  row-gap: calc(40 * var(--unit));
  justify-self: center;
  margin-inline: auto;
  transform: translateZ(0);
          backface-visibility: hidden;
}
.p-section-download__cardlist > li {
  display: block grid;
}
.p-section-download__cardlist > li[data-animated=end] .card:focus-visible {
  --_box-shadow: 0px 30px 20px rgba(25, 25, 25, 0.12);
  scale: 1.015;
}
.p-section-download__cardlist > li[data-animated=end] .card:focus-visible > .btnwrap > [class^=c-tag] {
  --_icon-x: 2;
}
.p-section-download__cardlist .card {
  --_box-shadow: 0 0 calc( 10 * var(--unit) ) 0 var(--shadow01);
  display: block grid;
  grid-template: "img" minmax(40px, auto) "ttl" minmax(20px, auto) "txt" minmax(20px, 1fr) "btn" minmax(20px, auto)/1fr;
  border-radius: 1rem;
  background-color: var(--color-gray-150);
  box-shadow: var(--_box-shadow);
  transition: scale 250ms ease, box-shadow 250ms ease;
}
.p-section-download__cardlist .card > * {
  margin-inline: auto;
}
.p-section-download__cardlist .card > [class^=c-pic] {
  grid-area: img;
  justify-self: center;
  aspect-ratio: 370/165;
}
.p-section-download__cardlist .card > .ttl {
  -webkit-padding-before: 0.5rem;
  grid-area: ttl;
  justify-self: center;
  margin-top: 0.5em;
          padding-block-start: 0.5rem;
  letter-spacing: 0.2rem;
  text-align: center;
}
.p-section-download__cardlist .card > p {
  -webkit-padding-before: 1.4rem;
  grid-area: txt;
  min-block-size: 8rem;
          padding-block-start: 1.4rem;
  letter-spacing: 0.1rem;
}
.p-section-download__cardlist .card > .btnwrap {
  -webkit-margin-before: 1rem;
  grid-area: btn;
  justify-self: end;
  aspect-ratio: 1;
  margin-inline: unset;
          margin-block-start: 1rem;
}

.p-section-download__btnwrap {
  justify-items: center;
}

.p-section-function > .l-inner > .sec-ttl {
  justify-self: center;
}
.p-section-function > .l-inner > .btn-wrap {
  justify-self: center;
}

.p-section-function__cardlist {
  --_card-width: 290;
  --_card-height: 305;
  display: block grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(auto-fit, minmax(calc(var(--_card-width) * var(--unit)), auto));
  justify-content: center;
  gap: calc(40 * var(--unit));
  transform: translateZ(0);
}
.p-section-function__cardlist > li {
  display: block grid;
  margin-inline: auto;
}
.p-section-function__cardlist .card {
  --_box-shadow: var(--card-shadow);
  display: block grid;
  grid-template: "img" minmax(20px, auto) "ttl" minmax(20px, auto)/1fr;
  align-content: end;
  inline-size: calc(var(--_card-width) * var(--unit));
  min-block-size: calc(var(--_card-height) * var(--unit));
  padding-inline: calc(30 * var(--unit));
  padding-block: calc(40 * var(--unit)) calc(36 * var(--unit));
  border-radius: var(--card-radius);
  background-color: var(--color-white);
  box-shadow: var(--_box-shadow);
  transition: scale 250ms ease, box-shadow 250ms ease;
}
.p-section-function__cardlist .card:focus-visible {
  --_box-shadow: var(--card-hover-shadow);
  scale: 1.015;
}
.p-section-function__cardlist .card:focus-visible > .btnwrap > [class^=c-tag] {
  --_icon-x: 2;
}
.p-section-function__cardlist .card > .img {
  grid-area: img;
  justify-self: center;
  aspect-ratio: 142/130;
  max-inline-size: 14.2rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-section-function__cardlist .card > .ttl {
  -webkit-padding-before: 2rem;
  grid-area: ttl;
  justify-self: center;
          padding-block-start: 2rem;
  font-weight: var(--fw-bold);
  font-size: 2.4rem;
  line-height: 1.25;
  letter-spacing: 0.1rem;
}

.p-section-kadai > .l-inner > .sec-ttl {
  justify-self: center;
  text-align: center;
}
.p-section-kadai > .l-inner > .btn-wrap {
  justify-self: center;
}

.p-section-kadai__cardlist {
  display: block grid;
  grid-template-rows: auto;
  justify-content: center;
  gap: calc(40 * var(--unit));
  transform: translateZ(0);
}
.p-section-kadai__cardlist > li {
  display: block grid;
  margin-inline: auto;
}
.p-section-kadai__cardlist .card {
  --_box-shadow: var(--card-shadow);
  display: block grid;
  grid-template: "img" minmax(20px, auto) "txt" minmax(20px, auto) "btn" minmax(20px, auto)/1fr;
  border-radius: var(--card-radius);
  background-color: var(--color-white);
  box-shadow: var(--_box-shadow);
  transition: scale 250ms ease, box-shadow 250ms ease;
}
.p-section-kadai__cardlist .card:focus-visible {
  --_box-shadow: var(--card-hover-shadow);
  scale: 1.015;
}
.p-section-kadai__cardlist .card:focus-visible > .btn > [class^=c-tag] {
  --_icon-x: 2;
}
.p-section-kadai__cardlist .card > .img {
  grid-area: img;
  justify-self: center;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  max-block-size: 19.2rem;
  background-color: var(--color-gray-080);
}
.p-section-kadai__cardlist .card > p {
  -webkit-margin-before: 2rem;
  grid-area: txt;
  justify-self: center;
  margin-inline: 2rem;
          margin-block-start: 2rem;
  font-weight: var(--fw-bold);
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.2rem;
  text-align: center;
}
.p-section-kadai__cardlist .card > .btn {
  -webkit-margin-before: -0.5rem;
  -webkit-margin-after: 1.5rem;
  grid-area: btn;
  place-self: end;
  justify-content: center;
  margin: unset;
  margin-inline: 1.5rem;
          margin-block-start: -0.5rem;
          margin-block-end: 1.5rem;
}
.p-section-kadai__cardlist .card > .btn [class^=c-icon] {
  --_ih-pc: calc(12 + var(--is-safari));
}

.p-section-reason > .l-inner > .sec-ttl {
  justify-self: center;
}
.p-section-reason > .l-inner > .btn-wrap {
  justify-self: center;
}

.p-section-reason__cardlist {
  display: block grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(auto-fit, minmax(calc(var(--_card-w) * var(--unit)), auto));
  justify-content: center;
  gap: calc(40 * var(--unit));
  transform: translateZ(0);
}
.p-section-reason__cardlist > li {
  display: block grid;
  margin-inline: auto;
}
.p-section-reason__cardlist .card {
  --_box-shadow: var(--card-shadow);
  display: block grid;
  grid-template: "img ttl" minmax(2rem, auto)/auto 1fr;
  align-content: center;
  inline-size: calc(var(--_card-w) * var(--unit));
  min-block-size: 18.8rem;
  border-radius: var(--card-radius);
  background-color: var(--color-white);
  box-shadow: var(--_box-shadow);
  transition: scale 250ms ease, box-shadow 250ms ease;
}
.p-section-reason__cardlist .card:focus-visible {
  --_box-shadow: var(--card-hover-shadow);
  scale: 1.015;
}
.p-section-reason__cardlist .card:focus-visible > .btnwrap > [class^=c-tag] {
  --_icon-x: 2;
}
.p-section-reason__cardlist .card > .img {
  grid-area: img;
  justify-self: center;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
.p-section-reason__cardlist .card > .ttl {
  -webkit-margin-start: 2.2rem;
  grid-area: ttl;
  align-self: center;
  justify-self: start;
          margin-inline-start: 2.2rem;
  text-align: start;
}

[class*=u-mt] {
  -webkit-margin-before: calc(var(--_mt) * var(--unit));
          margin-block-start: calc(var(--_mt) * var(--unit));
}

[class*=u-mte], [class*=u-mt-pc], [class*=u-mt-sp] {
  -webkit-margin-before: calc(var(--_mt) * var(--unit));
          margin-block-start: calc(var(--_mt) * var(--unit));
}

.u-mte5 {
  --_mt: 5;
}

.u-mte10 {
  --_mt: 10;
}

.u-mte15 {
  --_mt: 15;
}

.u-mte20 {
  --_mt: 20;
}

.u-mte25 {
  --_mt: 25;
}

.u-mte30 {
  --_mt: 30;
}

.u-mte35 {
  --_mt: 35;
}

.u-mte40 {
  --_mt: 40;
}

.u-mte45 {
  --_mt: 45;
}

.u-mte50 {
  --_mt: 50;
}

.u-mte55 {
  --_mt: 55;
}

.u-mte60 {
  --_mt: 60;
}

.u-mte65 {
  --_mt: 65;
}

.u-mte70 {
  --_mt: 70;
}

.u-mte75 {
  --_mt: 75;
}

.u-mte80 {
  --_mt: 80;
}

.u-mte85 {
  --_mt: 85;
}

.u-mte90 {
  --_mt: 90;
}

.u-mte95 {
  --_mt: 95;
}

.u-mte100 {
  --_mt: 100;
}

[class*=u-mb], [class*=u-mbe], [class*=u-mb-pc], [class*=u-mb-sp] {
  -webkit-margin-after: calc(var(--_mt) * var(--unit));
          margin-block-end: calc(var(--_mt) * var(--unit));
}

.u-mbe5 {
  --_mb: 5;
}

.u-mbe10 {
  --_mb: 10;
}

.u-mbe15 {
  --_mb: 15;
}

.u-mbe20 {
  --_mb: 20;
}

.u-mbe25 {
  --_mb: 25;
}

.u-mbe30 {
  --_mb: 30;
}

.u-mbe35 {
  --_mb: 35;
}

.u-mbe40 {
  --_mb: 40;
}

.u-mbe45 {
  --_mb: 45;
}

.u-mbe50 {
  --_mb: 50;
}

.u-mbe55 {
  --_mb: 55;
}

.u-mbe60 {
  --_mb: 60;
}

.u-mbe65 {
  --_mb: 65;
}

.u-mbe70 {
  --_mb: 70;
}

.u-mbe75 {
  --_mb: 75;
}

.u-mbe80 {
  --_mb: 80;
}

.u-mbe85 {
  --_mb: 85;
}

.u-mbe90 {
  --_mb: 90;
}

.u-mbe95 {
  --_mb: 95;
}

.u-mbe100 {
  --_mb: 100;
}

[class*=u-pt], [class*=u-pte], [class*=u-pt-pc], [class*=u-pt-sp] {
  -webkit-padding-before: calc(var(--_pt) * var(--unit));
          padding-block-start: calc(var(--_pt) * var(--unit));
}

.u-pte5 {
  --_pt: 5;
}

.u-pte10 {
  --_pt: 10;
}

.u-pte15 {
  --_pt: 15;
}

.u-pte20 {
  --_pt: 20;
}

.u-pte25 {
  --_pt: 25;
}

.u-pte30 {
  --_pt: 30;
}

.u-pte35 {
  --_pt: 35;
}

.u-pte40 {
  --_pt: 40;
}

.u-pte45 {
  --_pt: 45;
}

.u-pte50 {
  --_pt: 50;
}

.u-pte55 {
  --_pt: 55;
}

.u-pte60 {
  --_pt: 60;
}

.u-pte65 {
  --_pt: 65;
}

.u-pte70 {
  --_pt: 70;
}

.u-pte75 {
  --_pt: 75;
}

.u-pte80 {
  --_pt: 80;
}

.u-pte85 {
  --_pt: 85;
}

.u-pte90 {
  --_pt: 90;
}

.u-pte95 {
  --_pt: 95;
}

.u-pte100 {
  --_pt: 100;
}

[class*=u-pb], [class*=u-pbe], [class*=u-pb-pc], [class*=u-pb-sp] {
  -webkit-padding-after: calc(var(--_pb) * var(--unit));
          padding-block-end: calc(var(--_pb) * var(--unit));
}

.u-pbe5 {
  --_pb: 5;
}

.u-pbe10 {
  --_pb: 10;
}

.u-pbe15 {
  --_pb: 15;
}

.u-pbe20 {
  --_pb: 20;
}

.u-pbe25 {
  --_pb: 25;
}

.u-pbe30 {
  --_pb: 30;
}

.u-pbe35 {
  --_pb: 35;
}

.u-pbe40 {
  --_pb: 40;
}

.u-pbe45 {
  --_pb: 45;
}

.u-pbe50 {
  --_pb: 50;
}

.u-pbe55 {
  --_pb: 55;
}

.u-pbe60 {
  --_pb: 60;
}

.u-pbe65 {
  --_pb: 65;
}

.u-pbe70 {
  --_pb: 70;
}

.u-pbe75 {
  --_pb: 75;
}

.u-pbe80 {
  --_pb: 80;
}

.u-pbe85 {
  --_pb: 85;
}

.u-pbe90 {
  --_pb: 90;
}

.u-pbe95 {
  --_pb: 95;
}

.u-pbe100 {
  --_pb: 100;
}
.u-text--center {
  text-align: center;
}

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

.u-text--right {
  text-align: right;
}

.u-sr-only {
  visibility: hidden;
  position: absolute;
  inset-block-start: 0;
}
[data-anim][data-noanime] {
  transition: none !important;
}
[data-anim][data-noanime]:after {
  transition: none !important;
}
/*! Lity - v2.4.1 - 2020-04-26
* http://sorgalla.com/lity/
* Copyright (c) 2015-2020 Jan Sorgalla; Licensed MIT */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  outline: none !important;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lity.lity-opened {
  opacity: 1;
}

.lity.lity-closed {
  opacity: 0;
}

.lity * {
  box-sizing: border-box;
}

.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  outline: none !important;
  text-align: center;
}

.lity-wrap:before {
  display: inline-block;
  height: 100%;
  margin-right: -0.25em;
  content: "";
  vertical-align: middle;
}

.lity-loader {
  z-index: 9991;
  position: absolute;
  top: 50%;
  width: 100%;
  margin-top: -0.8em;
  color: #fff;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lity-loading .lity-loader {
  opacity: 1;
}

.lity-container {
  display: inline-block;
  z-index: 9992;
  position: relative;
  max-width: 100%;
  max-height: 100%;
  outline: none !important;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
}

.lity-content {
  z-index: 9993;
  width: 100%;
  transform: scale(1);
  transition: transform 0.3s ease;
}

.lity-loading .lity-content, .lity-closed .lity-content {
  transform: scale(0.8);
}

.lity-content:after {
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  height: auto;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  content: "";
}

.lity-close {
  -webkit-appearance: none;
  z-index: 9994;
  position: fixed;
  top: 0;
  right: 0;
  width: 35px;
  height: 35px;
  padding: 0;
  border: 0;
  outline: none;
  background: none;
  box-shadow: none;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  line-height: 35px;
  font-family: Arial, Baskerville, monospace;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  cursor: pointer;
}

.lity-close::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.lity-close:hover, .lity-close:focus, .lity-close:active, .lity-close:visited {
  padding: 0;
  border: 0;
  outline: none;
  background: none;
  box-shadow: none;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  line-height: 35px;
  font-family: Arial, Baskerville, monospace;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.lity-close:active {
  top: 1px;
}

.lity-image img {
  display: block;
  max-width: 100%;
  border: 0;
  line-height: 0;
}

.lity-iframe .lity-container, .lity-youtube .lity-container, .lity-vimeo .lity-container, .lity-facebookvideo .lity-container, .lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px;
}

.lity-iframe-container {
  -webkit-overflow-scrolling: touch;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  transform: translateZ(0);
  pointer-events: auto;
}

.lity-iframe-container iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.lity-hide {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./../img/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-style: normal;
  font-weight: normal;
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/../../img/slick.woff") format("woff"), url("./fonts/../../img/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-family: "slick";
}
/* Arrows */
.slick-prev,
.slick-next {
  display: block;
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  padding: 0;
  transform: translate(0, -50%);
  border: none;
  outline: none;
  background: transparent;
  color: transparent;
  font-size: 0px;
  line-height: 0px;
  cursor: pointer;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 1;
}
.slick-prev:before,
.slick-next:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: white;
  font-size: 20px;
  line-height: 1;
  font-family: "slick";
  opacity: 1;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  right: -25px;
  left: auto;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  right: auto;
  left: -25px;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  /*margin-bottom: 30px;*/
}

.slick-dots {
  display: block;
  position: absolute;
  bottom: -25px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}
.slick-dots li {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  border: 0;
  outline: none;
  background: transparent;
  color: transparent;
  font-size: 0px;
  line-height: 0px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: "•";
  color: black;
  font-size: 6px;
  line-height: 20px;
  font-family: "slick";
  text-align: center;
  opacity: 1;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 1;
}

/* Slider */
.slick-slider {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  display: block;
  position: relative;
  touch-action: pan-y;
  user-select: none;
}

.slick-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
}
.slick-track:before, .slick-track:after {
  display: table;
  content: "";
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  height: 100%;
  min-height: 1px;
  float: left;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.js-slide {
  opacity: 0;
  transition: opacity 0.3s linear;
}

.js-slide.slick-initialized {
  opacity: 1;
}

@-webkit-keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  z-index: 0;
  margin: 0 !important;
  opacity: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  z-index: 1;
  opacity: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
          backface-visibility: hidden;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  margin: 0;
  line-height: 1;
  list-style-type: none;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  visibility: hidden;
  position: relative;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  -webkit-backface-visibility: hidden;
  box-sizing: border-box;
  position: relative;
  flex-shrink: 0;
  margin: 0;
          backface-visibility: hidden;
  list-style-type: none !important;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  -webkit-animation: splide-loading 1s linear infinite;
  contain: strict;
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 2px solid #999;
  border-radius: 50%;
  border-left-color: transparent;
          animation: splide-loading 1s linear infinite;
}

.splide__sr {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

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

.splide__track--draggable {
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
      -ms-user-select: auto !important;
          user-select: auto !important;
}

.splide__arrows.splide__arrows--ltr {
  display: block grid;
  z-index: 1;
  position: absolute;
  grid-template-columns: 1fr 1fr;
  inline-size: 100%;
  block-size: 6rem;
  inset-block-end: 6rem;
  gap: 1rem;
}

.splide__arrows .splide__arrow {
  display: block grid;
  z-index: 5;
  aspect-ratio: 1;
  inline-size: 6rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  transform: translateZ(0) scale(1);
  background-color: var(--color-white);
  box-shadow: 0 0 20px 0 var(--shadow);
  filter: drop-shadow(0 0px 8px var(--shadow025));
  transition: opacity 0.3s;
}
.splide__arrows .splide__arrow[disabled] {
  opacity: 0.5;
}
.splide__arrows .splide__arrow:not([disabled]):focus-visible {
  opacity: 0.8;
}
.splide__arrows .splide__arrow > svg {
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-image: var(--icon-arrow-right);
  -webkit-mask-size: 100%;
  aspect-ratio: 1;
  inline-size: 2.4rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  background-color: var(--color-green-500);
          mask-image: var(--icon-arrow-right);
          mask-position: center;
          mask-repeat: no-repeat;
          mask-size: 100%;
}
.splide__arrows .splide__arrow > svg > path {
  display: none;
}
.splide__arrows .splide__arrow.splide__arrow--prev > svg {
  scale: 1 1;
}
.splide__arrows .splide__arrow.splide__arrow--next > svg {
  scale: 1 -1;
}

.splide__pagination.splide__pagination--ltr {
  display: block flex;
  position: absolute;
  flex-direction: row;
  justify-content: center;
  inline-size: 100%;
  inset-block-end: -2rem;
  gap: 0.1rem;
}
.splide__pagination.splide__pagination--ltr .splide__pagination__page {
  inline-size: 1rem;
  block-size: 1rem;
  border-radius: 50%;
  background-color: var(--color-gray-500);
}
.splide__pagination.splide__pagination--ltr .splide__pagination__page.is-active {
  transform: unset;
  background-color: var(--color-green-500);
}

.splide__track {
  block-size: 100%;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
          backface-visibility: hidden;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  margin: 0;
  line-height: 1;
  list-style-type: none;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  visibility: hidden;
  position: relative;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  -webkit-backface-visibility: hidden;
  box-sizing: border-box;
  position: relative;
  flex-shrink: 0;
  margin: 0;
          backface-visibility: hidden;
  list-style-type: none !important;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  -webkit-animation: splide-loading 1s linear infinite;
  contain: strict;
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 2px solid #999;
  border-radius: 50%;
  border-left-color: transparent;
          animation: splide-loading 1s linear infinite;
}

.splide__sr {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

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

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  z-index: 0;
  margin: 0 !important;
  opacity: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  z-index: 1;
  opacity: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  display: flex;
  z-index: 1;
  position: absolute;
  top: 50%;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: #ccc;
  cursor: pointer;
  opacity: 0.7;
}

.splide__arrow svg {
  fill: #000;
  width: 1.2em;
  height: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
}

.splide__pagination__page {
  display: inline-block;
  position: relative;
  width: 8px;
  height: 8px;
  margin: 3px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #ccc;
  opacity: 0.7;
  transition: transform 0.2s linear;
}

.splide__pagination__page.is-active {
  z-index: 1;
  transform: scale(1.4);
  background: #fff;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  height: 3px;
  background: #ccc;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  right: 1em;
  left: auto;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  right: auto;
  left: 1em;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  top: auto;
  bottom: 1em;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  display: flex;
  top: 0;
  right: 0.5em;
  bottom: 0;
  left: auto;
  flex-direction: column;
  padding: 1em 0;
}

@media (width < 375px) {
  :root {
    --vw: var(--vws);
    --unit: var(--vw);
    --funit: var(--vw);
  }
}

@media (375px <= width < 768px) {
  :root {
    --vw: var(--vws);
    --unit: var(--pxr);
    --funit: var(--pxr);
  }
}

@media (width < 768px) {
  :root {
    --layout-inner: var(--layout-inner-sp);
    --layout-inner-margin: var(--layout-inner-margin-sp);
    --header-height: var(--header-height-sp);
    --is-sp: 1;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards {
    -moz-column-gap: min(6.4102564103dvi, 30px);
    -webkit-padding-before: 4rem;
         column-gap: min(6.4102564103dvi, 30px);
    row-gap: min(6.4102564103dvi, 30px);
    justify-self: center;
            padding-block-start: 4rem;
  }
}

@media (768px <= width) {
  :root {
    --vw: var(--vwc);
    --unit: var(--pxr);
    --funit: var(--pxr);
    --layout-inner: var(--layout-inner-pc);
    --layout-inner-margin: var(--layout-inner-margin-pc);
    --header-height: var(--header-height-pc);
  }
}

@media (768px <= width < 1280px) {
  :root {
    --is-tab: 1;
  }
}

@media (1280px <= width) {
  :root {
    --is-pc: 1;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  *[class^=c-img-box] img {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 2rem;
    float: none;
  }
  .c-img-box--l__item, .c-img-box--l img {
    width: 100%;
    max-width: initial;
    margin-right: 0;
  }
  .c-img-box--r__item, .c-img-box--r img {
    width: 100%;
    max-width: initial;
    margin-right: 0;
  }
  .c-img-box--half__item {
    width: 100%;
    max-width: initial;
    margin-right: 0;
  }
  .c-btn-circle {
    --_ls: var(--_ls-sp);
    --_fs: var(--_fs-sp);
    --_lh: var(--_lh-sp);
    --_size: var(--_size-sp);
  }
  :is(.c-btn-rounded, .c-tag-rounded) {
    --_ls: var(--_ls-sp);
    --_fs: var(--_fs-sp);
    --_lh: var(--_lh-sp);
    --_width: var(--_width-sp);
    --_height: var(--_height-sp);
  }
  :is(.c-btn-rounded, .c-tag-rounded) [class^=c-icon] {
    --_x: calc(var( --_icon-x,0) + 10 );
  }
  .c-btn-tag {
    --_ls: var(--_ls-sp);
    --_fs: var(--_fs-sp);
    --_lh: var(--_lh-sp);
  }
  [class^=c-icon] {
    --_iw: var(--_iw-sp);
    --_ih: var(--_ih-sp);
  }
  .c-tag-circle {
    --_ls: var(--_ls-sp);
    --_fs: var(--_fs-sp);
    --_lh: var(--_lh-sp);
    --_size: var(--_size-sp);
    --_icon-x: 1;
  }
  .c-ttl--dot:before {
    inset-block-start: calc(8 * var(--unit));
  }
  [class*=c-ttl--] {
    --_font-size: var(--_font-size-sp);
    --_line-height: var(--_line-height-sp);
  }
  .p-footer-cta {
    grid-template-rows: repeat(2, minmax(25rem, auto));
    grid-template-columns: 1fr;
  }
  .p-footer-cta > [class^=p-footer-cta__grid] {
    justify-items: center;
  }
  .p-footer-cta > [class^=p-footer-cta__grid] > .content > .ttl {
    font-weight: var(--fw-bold);
    font-size: clamp(24px, 6.8376068376dvi, 32px);
    line-height: clamp(32px, 8.547008547dvi, 40px);
  }
  .p-footer-cta > [class*="--download"] {
    border-top-right-radius: 2rem;
  }
  .p-footer-cta > [class*="--contact"] {
    border-bottom-left-radius: 2rem;
  }
  .p-footer__nav {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    row-gap: calc(40 * var(--unit));
  }
  .p-footer__nav > .lp-logo > picture {
    justify-self: center;
    max-inline-size: 14rem;
  }
  .p-footer__nav > .p-footer__menu {
    flex-direction: column;
    place-items: center;
    place-self: center;
    gap: 1.6rem;
  }
  .p-footer__copyright {
    grid-template-columns: auto;
    justify-items: center;
  }
  .p-header__nav ul.p-header__menu-form a {
    --_height-pc: 32;
  }
  .p-header__nav ul {
    height: auto !important;
  }
  .p-header__nav.is-active li {
    margin: 0 !important;
  }
  .p-page-nav-cards__cardlist {
    --_cw: calc( var(--_card-w-sp) * var(--unit) );
    --_ch: calc( var(--_card-h-sp) * var(--unit) );
    --_cxgap: calc( var(--_card-x-gap-sp) * var(--unit) );
    --_cygap: calc( var(--_card-y-gap-sp) * var(--unit) );
  }
  .p-page-nav-cards__cardlist > li .card {
    aspect-ratio: var(--_card-w-sp)/var(--_card-h-sp);
    inline-size: var(--_cw);
  }
  .p-page-nav-cards__cardlist > li .card > .content > .ttl {
    padding-inline: 1rem;
  }
  .p-page-nav-cards__cardlist > li .card > .content > p {
    padding-inline: 2rem;
  }
  .p-page-nav-cards__cardlist[data-type=reason] .card > .content {
    -webkit-margin-start: 2rem;
            margin-inline-start: 2rem;
  }
  .p-page-nav-cards__cardlist[data-type=reason] .card > .content > .img {
    inline-size: 9.5rem;
    block-size: 9.5rem;
  }
  .p-page-nav-cards__cardlist[data-type=reason] .card > .content > .ttl {
    -webkit-margin-start: 1rem;
            margin-inline-start: 1rem;
    font-weight: var(--fw-semibold);
    font-size: 1.8rem;
    line-height: 1.4444444444;
  }
  .p-page-nav-cards__cardlist[data-type=case] .card > .content > .ttl {
    padding-inline: 2rem;
  }
  .p-page-case__details {
    -webkit-padding-before: 6rem;
            padding-block-start: 6rem;
  }
  .p-page-case__details > .l-inner {
    --_im: 20;
  }
  .p-case-detail {
    --_margin-side: 20;
    --_margin-y-end: 0;
  }
  .p-case-detail header {
    grid-template: "num sub" minmax(1rem, auto) "ttl ttl" minmax(2rem, auto)/auto 1fr;
    padding-block: 2rem;
  }
  .p-case-detail header > .num {
    -webkit-padding-end: 1.6rem;
            padding-inline-end: 1.6rem;
    font-weight: var(--fw-bold);
    font-size: 3.6rem;
    line-height: 1;
  }
  .p-case-detail header > p {
    align-self: end;
  }
  .p-case-detail header > .sec-ttl {
    font-weight: var(--fw-bold);
    font-size: 2rem;
    line-height: 1.6;
  }
  .p-case-detail section {
    --_rowgap: 2.0rem;
    --_colgap: 0rem;
  }
  .p-case-detail section figure {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline: auto;
  }
  .p-case-detail section .flex {
    flex-direction: column;
    gap: 2rem;
  }
  .p-case-detail section .flex figure:not(.lock) {
    order: -1;
  }
  .p-case-detail section .grid {
    grid-auto-flow: row;
    gap: 2rem;
  }
  .p-case-detail section .grid figure:not(.lock) {
    order: -1;
  }
  .p-case-detail section > hgroup {
    margin-block: 5.5rem 0;
  }
  .p-case-detail__company-wrap {
    grid-template: "img" minmax(2rem, auto) "ttl" minmax(2rem, auto) "tbl" minmax(2rem, auto)/1fr;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline: auto;
    padding-inline: 2rem;
    padding-block: 3rem 3rem;
  }
  .p-case-detail__company-wrap > img {
    justify-self: center;
  }
  .p-case-detail__company-wrap > .ttl {
    -webkit-margin-before: 2rem;
            margin-block-start: 2rem;
  }
  .p-page-company__infotable dl {
    grid-template-columns: 1fr;
  }
  .p-page-company__infotable dl > dd p {
    --_gap: 1rem;
    flex-direction: column;
  }
  .p-page-company__accessmap .inner--map {
    --_im: 0;
  }
  .p-page-company__accessmap .card .content {
    grid-template: "img" minmax(4rem, auto) "ttl" minmax(2rem, auto) "add" minmax(2rem, 1fr)/1fr;
    justify-content: center;
    padding-inline: clamp(20px, 6.4102564103dvi, 30px);
    padding-block: clamp(20px, 6.4102564103dvi, 30px);
  }
  .p-page-company__accessmap .card .content > img {
    inline-size: 100%;
  }
  .p-page-company__philosophy .grid-wrap {
    row-gap: 4rem;
    grid-template: "img" minmax(20px, auto) "con" minmax(20px, auto)/1fr;
  }
  .p-page-company__philosophy .grid-wrap > .grid-visual .box {
    inline-size: calc(50% + 18rem);
    translate: -2rem 2rem;
  }
  .p-page-company__philosophy .grid-wrap > .grid-visual img {
    justify-self: center;
  }
  .p-page-company__management-philosophy .grid-wrap {
    row-gap: 4rem;
    grid-template: "img" minmax(20px, auto) "con" minmax(20px, auto)/1fr;
  }
  .p-page-company__management-philosophy .grid-wrap > .grid-visual .box {
    justify-self: end;
    inline-size: calc(50% + 18rem);
    translate: 2rem 2rem;
  }
  .p-page-company__management-philosophy .grid-wrap > .grid-visual img {
    justify-self: center;
  }
  .p-page-contact > .l-inner > .sec-ttl {
    font-weight: var(--fw-semibold);
    font-size: 2.4rem;
    font-size: clamp(18px, 5.1282051282dvi, 24px);
    line-height: 1.6666666667;
    line-height: clamp(32px, 8.547008547dvi, 40px);
  }
  .p-page-download > .l-inner > .sec-ttl {
    font-weight: var(--fw-semibold);
    font-size: 2.4rem;
    font-size: clamp(18px, 5.1282051282dvi, 24px);
    line-height: 1.6666666667;
    line-height: clamp(32px, 8.547008547dvi, 40px);
  }
  .p-page-function__support-cardlist {
    -moz-column-gap: 8rem;
         column-gap: 8rem;
    row-gap: 4rem;
  }
  .p-page-function__support-cardlist > li .card {
    inline-size: 100%;
  }
  .p-page-function__support-cardlist > li .card > .card-ttl {
    font-weight: var(--fw-bold);
    font-size: 2rem;
    line-height: 1.4;
  }
  .p-page-function__support-cardlist > li .card > .card-ttl > br {
    display: none;
  }
  .p-page-function__support-cardlist > li .card > .content {
    -webkit-margin-before: -4rem;
    inline-size: 100%;
    inline-size: calc(100% - 20 * var(--unit));
    max-inline-size: 50rem;
            margin-block-start: -4rem;
    padding-inline: 2rem;
    padding-block: 2.7rem;
  }
  .p-page-function__support-cardlist > li .card > .content > p {
    font-weight: var(--fw-bold);
    font-size: 2rem;
    line-height: 1.5;
  }
  .p-page-function__support-cardlist > li .card > .content > p > br {
    display: none;
  }
  .p-page-function__support-cardlist > li .card > .content > p > .min {
    font-size: 1.4rem;
    line-height: 1.4285714286;
  }
  .p-page-function__lists__funcgroup-list {
    justify-content: center;
    inline-size: 100%;
    gap: 3rem;
  }
  .p-page-function__lists__funcgroup-list > li {
    inline-size: 100%;
  }
  .p-page-function__lists__func-list {
    gap: 3rem;
  }
  .p-page-kadai__details {
    -webkit-padding-before: 6rem;
            padding-block-start: 6rem;
  }
  .p-page-kadai__details > .l-inner {
    --_im: 20;
  }
  .p-kadai-detail {
    --_margin-side: 20;
    --_margin-y-end: 0;
  }
  .p-kadai-detail__heading {
    grid-template: "num sub" minmax(1rem, auto) "ttl ttl" minmax(2rem, auto)/auto 1fr;
    padding-block: 2rem;
  }
  .p-kadai-detail__heading > .num {
    -webkit-padding-end: 1.6rem;
            padding-inline-end: 1.6rem;
    font-weight: var(--fw-bold);
    font-size: 3.6rem;
    line-height: 1;
  }
  .p-kadai-detail__heading > p {
    align-self: end;
  }
  .p-kadai-detail__heading > .sec-ttl {
    font-weight: var(--fw-bold);
    font-size: 2rem;
    line-height: 1.6;
  }
  .p-kadai-detail > .section:nth-child(1 of section) {
    --_margin-top: 40;
  }
  .p-kadai-detail > .section {
    --_margin-top: 30;
  }
  .p-kadai-detail__images-wrap {
    --_card-w: 313;
    --_img-h: 166;
  }
  .p-kadai-detail__message-wrap .message {
    row-gap: 3.3rem;
    grid-template: "img" minmax(4rem, auto) "txt" minmax(4rem, auto)/1fr;
    padding-inline: 2rem;
    padding-block: 3rem 3rem;
  }
  .p-kadai-detail__message-wrap .message > .img {
    justify-self: center;
  }
  .p-kadai-detail__message-wrap .message > p {
    font-weight: var(--fw-semibold);
    font-size: 2rem;
    line-height: 1.8;
    text-align: center;
  }
  .p-kadai-detail__message-wrap .message > p > strong {
    font-weight: var(--fw-semibold);
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .p-kadai-detail__cards-wrap {
    --_card-w: 313;
    --_img-h: 166;
  }
  .p-page-reason-details__gridlist > li .grid {
    row-gap: calc(20 * var(--unit));
    grid-template: "img" minmax(4rem, auto) "content" minmax(4rem, auto)/1fr;
  }
  .p-home-about > .l-inner > .ttl {
    font-weight: var(--fw-bold);
    font-size: clamp(28px, 6.8376068376dvi, 32px);
    line-height: clamp(40px, 10.2564102564dvi, 48px);
    text-align: center;
  }
  .p-home-about > .l-inner > .txt {
    text-align: start;
  }
  .p-home-about__flow-wrap > .ttl {
    padding-inline: 2rem;
    font-weight: var(--fw-bold);
    font-size: clamp(24px, 6.8376068376dvi, 32px);
    line-height: clamp(30px, 13.8888888889dvi, 65px);
    text-align: center;
  }
  .p-home-about__next-arrow {
    inline-size: 20rem;
    block-size: 16rem;
  }
  .p-home-about__slider-wrap .splide {
    -webkit-margin-before: min(6.4102564103dvi, 30px);
    inline-size: calc(100% - min(23.4375dvi, 180px));
            margin-block-start: min(6.4102564103dvi, 30px);
  }
  .p-home-about__slider-wrap .splide__arrows.splide__arrows--ltr {
    inset-block-end: 46%;
  }
  .p-home-about__slider-wrap .splide__pagination.splide__pagination--ltr {
    --_y: -73;
    inset-block-end: min(var(--_y) * var(--vws), var(--_y) * var(--unit));
  }
  .p-home-banner {
    --_pt: 40;
  }
  .p-home-case > .l-inner > .ttl {
    font-weight: var(--fw-bold);
    font-size: clamp(24px, 6.8376068376dvi, 32px);
    line-height: clamp(32px, 8.547008547dvi, 40px);
  }
  .p-home-case__cardlist {
    -webkit-margin-before: 4rem;
    grid-template-columns: auto;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline: auto;
            margin-block-start: 4rem;
  }
  .p-home-companylogo {
    padding: calc(2vw + 2vh);
  }
  .p-home-companylogo__logoList > li {
    width: 50%;
    padding: calc(0.5vw + 0.5vh);
  }
  .p-home-companylogo__supplement {
    text-align: center;
  }
  .p-home-reason__gridwrap {
    grid-template: "con" minmax(2rem, auto) "img" minmax(2rem, auto)/1fr;
  }
  .p-home-reason__gridwrap > .grid-content {
    grid-template: "ttl" minmax(2rem, auto) "btn" minmax(2rem, auto) "crd" minmax(2rem, auto)/1fr;
    justify-content: center;
    inline-size: 100%;
    padding-block: 4rem 8rem;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-ttl {
    justify-self: center;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-ttl > .ttl {
    font-weight: var(--fw-bold);
    font-size: clamp(24px, 6.8376068376dvi, 32px);
    line-height: clamp(32px, 8.547008547dvi, 40px);
  }
  .p-home-reason__gridwrap > .grid-content > .grid-btn {
    -webkit-margin-before: 2.4rem;
    justify-self: center;
            margin-block-start: 2.4rem;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards .card {
    inline-size: 22.4rem;
    block-size: 25rem;
    padding-inline: 1rem;
    padding-block: 1.6rem 1rem;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards .card > [class^=c-pic] {
    block-size: 11.8rem;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards .card > p {
    font-size: 1.6rem;
    line-height: 1.25;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards .card > p [class^=c-icon] {
    -webkit-margin-start: min(1.2820512821dvi, 6px);
            margin-inline-start: min(1.2820512821dvi, 6px);
  }
  .p-home-reason__gridwrap > .grid-visual {
    -webkit-margin-before: 2.5rem;
    row-gap: 2.5rem;
    margin-inline: auto;
            margin-block-start: 2.5rem;
  }
  .p-home-reason__gridwrap > .grid-visual > picture {
    --_start-y: calc( 40 * var(--unit) );
    --_start-x: 0;
    max-inline-size: 71.2rem;
  }
  .p-home-solution > .l-inner {
    -webkit-padding-before: 4.1666666667vw;
            padding-block-start: 4.1666666667vw;
  }
  .p-home-solution__gridwrap {
    -moz-column-gap: 4%;
         column-gap: 4%;
    grid-template: "img" minmax(2rem, auto) "con" minmax(2rem, auto)/1fr;
  }
  .p-home-solution__gridwrap > .grid-content {
    grid-template: "txt" minmax(2rem, auto) "btn" minmax(2rem, auto) "crd" minmax(2rem, auto)/1fr;
    justify-items: center;
    justify-items: center;
    justify-self: center;
    inline-size: 100%;
    margin-inline: auto;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-txt {
    -webkit-padding-before: 4rem;
    justify-self: center;
            padding-block-start: 4rem;
    text-align: center;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-txt > .ttl {
    font-weight: var(--fw-bold);
    font-size: clamp(24px, 6.8376068376dvi, 32px);
    line-height: clamp(32px, 8.547008547dvi, 40px);
    text-align: center;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-btn {
    -webkit-margin-before: 4rem;
    justify-items: center;
    justify-self: center;
            margin-block-start: 4rem;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-btn > [class^=c-pic] {
    justify-self: center;
    inline-size: min(54.3333333333dvi, 652px);
    min-block-size: min(43.8333333333dvi, 526px);
  }
  .p-home-solution__gridwrap > .grid-content > .grid-cards {
    --_grid-w: 286;
    --_grid-w-gap: 20;
    -moz-column-gap: min(4%, 3rem);
    grid-template-columns: repeat(auto-fit, minmax(17.8rem, 1fr));
         column-gap: min(4%, 3rem);
    justify-content: center;
    justify-items: center;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-cards .card {
    inline-size: 100%;
    max-inline-size: 32rem;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-cards .card p {
    padding-block: 2.5rem 3.2rem;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-cards .card p [class^=c-icon] {
    -webkit-margin-start: min(1.2820512821dvi, 6px);
            margin-inline-start: min(1.2820512821dvi, 6px);
  }
  .p-home-solution__gridwrap > .grid-visual > picture {
    max-block-size: 60rem;
  }
  .p-home-solution__gridwrap > .grid-visual > picture > img {
    -o-object-position: 0 10%;
       object-position: 0 10%;
  }
  .p-home-webcm > .l-inner {
    -webkit-padding-before: 4.1666666667vw;
            padding-block-start: 4.1666666667vw;
  }
  .p-home-webcm__video::after {
    display: none;
  }
  .p-home-webcm__video > .ttl {
    font-weight: var(--fw-bold);
    font-size: clamp(24px, 6.8376068376dvi, 32px);
    line-height: clamp(32px, 8.547008547dvi, 40px);
  }
  .p-home-webcm__video-list {
    flex-direction: column;
  }
  .p-home-webcm__video-list > li {
    width: 95%;
    margin-inline: auto;
  }
  .p-home-webcm__video-list > li + .p-home-webcm__video-list > li {
    margin-bottom: 1rem;
  }
  .company-banner-list__content .company-banner-list {
    --_grid-w: 140;
    --_grid-h: 80;
    --_grid-w-gap: 10;
    --_grid-h-gap: 13;
  }
  .company-banner-list__content .company-banner-list > .banner {
    --_aspect: 200/65;
    --_banner-h: var(--_grid-h);
    --_banner-w: var(--_grid-w);
  }
  .p-form-block {
    padding-inline: 1rem;
    padding-block: 3.7rem 4rem;
  }
  .p-form-block > dl {
    grid-template: "dt" minmax(2rem, auto) "dd" minmax(2rem, auto)/1fr;
  }
  .p-form-block > dl > dt + dd {
    -webkit-margin-before: 1rem;
            margin-block-start: 1rem;
  }
  .p-form-block > dl > dd + dt {
    -webkit-margin-before: 3rem;
            margin-block-start: 3rem;
  }
  .p-form-block .checkbox-group {
    grid-auto-flow: row;
    gap: 2rem;
  }
  .p-form-block .checkbox-group > .col.--list > label {
    -webkit-margin-start: 1rem;
            margin-inline-start: 1rem;
  }
  .p-form-block .checkbox-group > .col.--req-label:has([class*=c-tag]) {
    row-gap: 1rem;
    grid-template: "tag" minmax(2rem, auto) "label" minmax(2rem, auto)/1fr;
  }
  .p-form-block .checkbox-group > .col.--req-label > label {
    -webkit-margin-start: 1rem;
            margin-inline-start: 1rem;
  }
  .p-form-block .checkbox-group > .col.--req-label > label > input {
    inset-block-start: 0.6rem;
  }
  .p-form-block .checkbox-group > .col.--document {
    justify-self: center;
  }
  .p-form-block .checkbox-group > .col.--document > label > input {
    -webkit-margin-before: 0.1rem;
            margin-block-start: 0.1rem;
  }
  .p-form-block .privacypolicy-wrap > .txtwrap {
    padding-block: 3rem 3rem;
  }
  .p-form-block .privacypolicy-wrap > .txtwrap > * {
    padding-inline: 2rem;
  }
  .p-form-block .privacypolicy-wrap > .footer {
    text-align: start;
  }
  .p-form input[type=text],
input[type=email],
input[type=tel],
input[type=date],
textarea,
select {
    min-block-size: 4.8rem;
  }
  .p-form textarea::-moz-placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form textarea:-ms-input-placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form textarea::placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form input[type=text]::-moz-placeholder, .p-form input[type=email]::-moz-placeholder, .p-form input[type=tel]::-moz-placeholder, .p-form input[type=date]::-moz-placeholder, .p-form textarea::-moz-placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form input[type=text]:-ms-input-placeholder, .p-form input[type=email]:-ms-input-placeholder, .p-form input[type=tel]:-ms-input-placeholder, .p-form input[type=date]:-ms-input-placeholder, .p-form textarea:-ms-input-placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form input[type=text]::placeholder,
.p-form input[type=email]::placeholder,
.p-form input[type=tel]::placeholder,
.p-form input[type=date]::placeholder,
.p-form textarea::placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form .checkbox {
    flex-direction: column;
  }
  .p-form .radiogroup {
    -moz-column-gap: 2rem;
    grid-template-rows: auto;
    grid-template-columns: repeat(2, minmax(min(14rem, 100%), auto));
         column-gap: 2rem;
    row-gap: 2.6rem;
    inline-size: 100%;
  }
  .p-form .radiogroup label {
    font-size: 1.6rem;
    line-height: 2.25;
    letter-spacing: 0;
  }
  .p-form input[type=radio] {
    inline-size: 1.4rem;
    block-size: 1.4rem;
    inset-inline-start: 0.3rem;
  }
  .p-form input[type=radio]:before {
    inline-size: 1.8rem;
    block-size: 1.8rem;
  }
  .p-form input[type=radio]:after {
    inline-size: 1rem;
    block-size: 1rem;
  }
  .p-form input[type=checkbox] {
    --_checksize: var(--_checksize-sp);
    --_boxsize: var(--_boxsize-sp);
  }
  .p-form input[type=checkbox]:after {
    translate: calc(-50% + var(--_adjust-x)) calc(-50% + var(--_adjust-y));
  }
  .p-form input[type=file]::-webkit-file-upload-button {
    display: flex;
    margin-bottom: 0.8rem;
    padding-inline: 1.6rem;
    padding-block: 1rem 1.2rem;
  }
  .p-form input[type=file]::file-selector-button,
.p-form input[type=file]::-webkit-file-upload-button {
    display: flex;
    margin-bottom: 0.8rem;
    padding-inline: 1.6rem;
    padding-block: 1rem 1.2rem;
  }
  .p-form .selectwrap:after {
    width: 3.3rem;
    min-width: 3.3rem;
  }
  .p-form textarea {
    min-block-size: 16.5rem;
  }
  .p-home-mv {
    -webkit-padding-before: 6rem;
    min-block-size: 400px;
            padding-block-start: 6rem;
  }
  .p-home-mv__inner {
    min-block-size: 49.7rem;
  }
  .p-home-mv__content {
    -webkit-margin-before: 4rem;
            margin-block-start: 4rem;
  }
  .p-home-mv__ttl {
    row-gap: 1rem;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline: auto;
  }
  .p-home-mv__ttl > .block {
    font-weight: var(--fw-bold);
    font-size: clamp(16px, 6.4102564103dvi, 30px);
    line-height: clamp(32px, 10.2564102564dvi, 48px);
  }
  .p-home-mv__visualwrap {
    max-inline-size: 45rem;
    margin-block: 6rem;
  }
  .p-home-mv__visualwrap > [class^=c-pic] {
    padding-block: 2.3rem 0rem;
  }
  .p-home-mv__visualwrap > .p-home-mv__btnwrap {
    -webkit-padding-before: 2.5rem;
    -webkit-margin-end: 1rem;
    inline-size: 12rem;
            margin-inline-end: 1rem;
            padding-block-start: 2.5rem;
    translate: 0 130%;
    box-shadow: 0 0 20px 0 var(--shadow01);
  }
  .p-home-mv__visualwrap > .p-home-mv__btnwrap > .ttl {
    font-weight: var(--fw-bold);
    font-size: 1.8rem;
    line-height: 1;
  }
  .p-home-mv__visualwrap > .p-home-mv__btnwrap > .sub {
    font-size: 2.4rem;
  }
  .p-home-mv__bg-tags > [class*=tag] {
    --_rate: calc(610/861);
    --_cy: calc( ((var(--_y,0) * var(--_rate) ) - var(--_adjust-y) ) * var(--pxr) );
  }
  .p-page-breadcrumbs {
    padding-inline: 2rem;
  }
  .p-page-mv > .ttl {
    font-weight: var(--fw-semibold);
    font-size: clamp(32px, 10.2564102564dvi, 48px);
    line-height: clamp(40px, 11.1111111111dvi, 52px);
  }
  .p-section-download__cardlist {
    --_card-width: 375;
    grid-template-columns: auto;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    max-inline-size: min(37.5rem, 97cqi);
    margin-inline: auto;
  }
  .p-section-download__cardlist .card {
    padding-inline: calc(20 * var(--unit));
    padding-block: calc(20 * var(--unit));
  }
  .p-section-download__cardlist .card > [class^=c-pic] {
    max-inline-size: calc(320 * var(--unit));
  }
  .p-section-download__cardlist .card > .ttl {
    font-weight: var(--fw-bold);
    font-size: clamp(16px, 4.2735042735dvi, 20px);
    line-height: clamp(20px, 5.1282051282dvi, 24px);
  }
  .p-section-reason__cardlist {
    --_card-w: 320;
  }
  .p-section-reason__cardlist .card {
    padding-inline: calc(24 * var(--unit));
    padding-block: calc(30 * var(--unit)) calc(28 * var(--unit));
  }
  .p-section-reason__cardlist .card > .img {
    inline-size: 9.5rem;
  }
  .p-section-reason__cardlist .card > .ttl {
    font-weight: var(--fw-bold);
    font-size: 1.8rem;
    line-height: 1.5555555556;
    letter-spacing: 0.1rem;
  }
  .u-mt5 {
    --_mt: calc( 5 * var(--spr));
  }
  .u-mt10 {
    --_mt: calc( 10 * var(--spr));
  }
  .u-mt15 {
    --_mt: calc( 15 * var(--spr));
  }
  .u-mt20 {
    --_mt: calc( 20 * var(--spr));
  }
  .u-mt25 {
    --_mt: calc( 25 * var(--spr));
  }
  .u-mt30 {
    --_mt: calc( 30 * var(--spr));
  }
  .u-mt35 {
    --_mt: calc( 35 * var(--spr));
  }
  .u-mt40 {
    --_mt: calc( 40 * var(--spr));
  }
  .u-mt45 {
    --_mt: calc( 45 * var(--spr));
  }
  .u-mt50 {
    --_mt: calc( 50 * var(--spr));
  }
  .u-mt55 {
    --_mt: calc( 55 * var(--spr));
  }
  .u-mt60 {
    --_mt: calc( 60 * var(--spr));
  }
  .u-mt65 {
    --_mt: calc( 65 * var(--spr));
  }
  .u-mt70 {
    --_mt: calc( 70 * var(--spr));
  }
  .u-mt75 {
    --_mt: calc( 75 * var(--spr));
  }
  .u-mt80 {
    --_mt: calc( 80 * var(--spr));
  }
  .u-mt85 {
    --_mt: calc( 85 * var(--spr));
  }
  .u-mt90 {
    --_mt: calc( 90 * var(--spr));
  }
  .u-mt95 {
    --_mt: calc( 95 * var(--spr));
  }
  .u-mt100 {
    --_mt: calc( 100 * var(--spr));
  }
  .u-mt-sp5 {
    --_mt: 5;
  }
  .u-mt-sp10 {
    --_mt: 10;
  }
  .u-mt-sp15 {
    --_mt: 15;
  }
  .u-mt-sp20 {
    --_mt: 20;
  }
  .u-mt-sp25 {
    --_mt: 25;
  }
  .u-mt-sp30 {
    --_mt: 30;
  }
  .u-mt-sp35 {
    --_mt: 35;
  }
  .u-mt-sp40 {
    --_mt: 40;
  }
  .u-mt-sp45 {
    --_mt: 45;
  }
  .u-mt-sp50 {
    --_mt: 50;
  }
  .u-mt-sp55 {
    --_mt: 55;
  }
  .u-mt-sp60 {
    --_mt: 60;
  }
  .u-mt-sp65 {
    --_mt: 65;
  }
  .u-mt-sp70 {
    --_mt: 70;
  }
  .u-mt-sp75 {
    --_mt: 75;
  }
  .u-mt-sp80 {
    --_mt: 80;
  }
  .u-mt-sp85 {
    --_mt: 85;
  }
  .u-mt-sp90 {
    --_mt: 90;
  }
  .u-mt-sp95 {
    --_mt: 95;
  }
  .u-mt-sp100 {
    --_mt: 100;
  }
  .u-mb5 {
    --_mb: calc( 5 * var(--spr));
  }
  .u-mb10 {
    --_mb: calc( 10 * var(--spr));
  }
  .u-mb15 {
    --_mb: calc( 15 * var(--spr));
  }
  .u-mb20 {
    --_mb: calc( 20 * var(--spr));
  }
  .u-mb25 {
    --_mb: calc( 25 * var(--spr));
  }
  .u-mb30 {
    --_mb: calc( 30 * var(--spr));
  }
  .u-mb35 {
    --_mb: calc( 35 * var(--spr));
  }
  .u-mb40 {
    --_mb: calc( 40 * var(--spr));
  }
  .u-mb45 {
    --_mb: calc( 45 * var(--spr));
  }
  .u-mb50 {
    --_mb: calc( 50 * var(--spr));
  }
  .u-mb-sp5 {
    --_mb: 5;
  }
  .u-mb-sp10 {
    --_mb: 10;
  }
  .u-mb-sp15 {
    --_mb: 15;
  }
  .u-mb-sp20 {
    --_mb: 20;
  }
  .u-mb-sp25 {
    --_mb: 25;
  }
  .u-mb-sp30 {
    --_mb: 30;
  }
  .u-mb-sp35 {
    --_mb: 35;
  }
  .u-mb-sp40 {
    --_mb: 40;
  }
  .u-mb-sp45 {
    --_mb: 45;
  }
  .u-mb-sp50 {
    --_mb: 50;
  }
  .u-mb-sp55 {
    --_mb: 55;
  }
  .u-mb-sp60 {
    --_mb: 60;
  }
  .u-mb-sp65 {
    --_mb: 65;
  }
  .u-mb-sp70 {
    --_mb: 70;
  }
  .u-mb-sp75 {
    --_mb: 75;
  }
  .u-mb-sp80 {
    --_mb: 80;
  }
  .u-mb-sp85 {
    --_mb: 85;
  }
  .u-mb-sp90 {
    --_mb: 90;
  }
  .u-mb-sp95 {
    --_mb: 95;
  }
  .u-mb-sp100 {
    --_mb: 100;
  }
  .u-pt5 {
    --_pt: calc( 5 * var(--spr));
  }
  .u-pt10 {
    --_pt: calc( 10 * var(--spr));
  }
  .u-pt15 {
    --_pt: calc( 15 * var(--spr));
  }
  .u-pt20 {
    --_pt: calc( 20 * var(--spr));
  }
  .u-pt25 {
    --_pt: calc( 25 * var(--spr));
  }
  .u-pt30 {
    --_pt: calc( 30 * var(--spr));
  }
  .u-pt35 {
    --_pt: calc( 35 * var(--spr));
  }
  .u-pt40 {
    --_pt: calc( 40 * var(--spr));
  }
  .u-pt45 {
    --_pt: calc( 45 * var(--spr));
  }
  .u-pt50 {
    --_pt: calc( 50 * var(--spr));
  }
  .u-pt55 {
    --_pt: calc( 55 * var(--spr));
  }
  .u-pt60 {
    --_pt: calc( 60 * var(--spr));
  }
  .u-pt65 {
    --_pt: calc( 65 * var(--spr));
  }
  .u-pt70 {
    --_pt: calc( 70 * var(--spr));
  }
  .u-pt75 {
    --_pt: calc( 75 * var(--spr));
  }
  .u-pt80 {
    --_pt: calc( 80 * var(--spr));
  }
  .u-pt85 {
    --_pt: calc( 85 * var(--spr));
  }
  .u-pt90 {
    --_pt: calc( 90 * var(--spr));
  }
  .u-pt95 {
    --_pt: calc( 95 * var(--spr));
  }
  .u-pt100 {
    --_pt: calc( 100 * var(--spr));
  }
  .u-pt105 {
    --_pt: calc( 105 * var(--spr));
  }
  .u-pt110 {
    --_pt: calc( 110 * var(--spr));
  }
  .u-pt115 {
    --_pt: calc( 115 * var(--spr));
  }
  .u-pt120 {
    --_pt: calc( 120 * var(--spr));
  }
  .u-pt125 {
    --_pt: calc( 125 * var(--spr));
  }
  .u-pt-sp5 {
    --_pt: 5;
  }
  .u-pt-sp10 {
    --_pt: 10;
  }
  .u-pt-sp15 {
    --_pt: 15;
  }
  .u-pt-sp20 {
    --_pt: 20;
  }
  .u-pt-sp25 {
    --_pt: 25;
  }
  .u-pt-sp30 {
    --_pt: 30;
  }
  .u-pt-sp35 {
    --_pt: 35;
  }
  .u-pt-sp40 {
    --_pt: 40;
  }
  .u-pt-sp45 {
    --_pt: 45;
  }
  .u-pt-sp50 {
    --_pt: 50;
  }
  .u-pt-sp55 {
    --_pt: 55;
  }
  .u-pt-sp60 {
    --_pt: 60;
  }
  .u-pt-sp65 {
    --_pt: 65;
  }
  .u-pt-sp70 {
    --_pt: 70;
  }
  .u-pt-sp75 {
    --_pt: 75;
  }
  .u-pt-sp80 {
    --_pt: 80;
  }
  .u-pt-sp85 {
    --_pt: 85;
  }
  .u-pt-sp90 {
    --_pt: 90;
  }
  .u-pt-sp95 {
    --_pt: 95;
  }
  .u-pt-sp100 {
    --_pt: 100;
  }
  .u-pb5 {
    --_pb: calc( 5 * var(--spr));
  }
  .u-pb10 {
    --_pb: calc( 10 * var(--spr));
  }
  .u-pb15 {
    --_pb: calc( 15 * var(--spr));
  }
  .u-pb20 {
    --_pb: calc( 20 * var(--spr));
  }
  .u-pb25 {
    --_pb: calc( 25 * var(--spr));
  }
  .u-pb30 {
    --_pb: calc( 30 * var(--spr));
  }
  .u-pb35 {
    --_pb: calc( 35 * var(--spr));
  }
  .u-pb40 {
    --_pb: calc( 40 * var(--spr));
  }
  .u-pb45 {
    --_pb: calc( 45 * var(--spr));
  }
  .u-pb50 {
    --_pb: calc( 50 * var(--spr));
  }
  .u-pb55 {
    --_pb: calc( 55 * var(--spr));
  }
  .u-pb60 {
    --_pb: calc( 60 * var(--spr));
  }
  .u-pb65 {
    --_pb: calc( 65 * var(--spr));
  }
  .u-pb70 {
    --_pb: calc( 70 * var(--spr));
  }
  .u-pb75 {
    --_pb: calc( 75 * var(--spr));
  }
  .u-pb80 {
    --_pb: calc( 80 * var(--spr));
  }
  .u-pb85 {
    --_pb: calc( 85 * var(--spr));
  }
  .u-pb90 {
    --_pb: calc( 90 * var(--spr));
  }
  .u-pb95 {
    --_pb: calc( 95 * var(--spr));
  }
  .u-pb100 {
    --_pb: calc( 100 * var(--spr));
  }
  .u-pb105 {
    --_pb: calc( 105 * var(--spr));
  }
  .u-pb110 {
    --_pb: calc( 110 * var(--spr));
  }
  .u-pb115 {
    --_pb: calc( 115 * var(--spr));
  }
  .u-pb120 {
    --_pb: calc( 120 * var(--spr));
  }
  .u-pb125 {
    --_pb: calc( 125 * var(--spr));
  }
  .u-pb-sp5 {
    --_pb: 5;
  }
  .u-pb-sp10 {
    --_pb: 10;
  }
  .u-pb-sp15 {
    --_pb: 15;
  }
  .u-pb-sp20 {
    --_pb: 20;
  }
  .u-pb-sp25 {
    --_pb: 25;
  }
  .u-pb-sp30 {
    --_pb: 30;
  }
  .u-pb-sp35 {
    --_pb: 35;
  }
  .u-pb-sp40 {
    --_pb: 40;
  }
  .u-pb-sp45 {
    --_pb: 45;
  }
  .u-pb-sp50 {
    --_pb: 50;
  }
  .u-pb-sp55 {
    --_pb: 55;
  }
  .u-pb-sp60 {
    --_pb: 60;
  }
  .u-pb-sp65 {
    --_pb: 65;
  }
  .u-pb-sp70 {
    --_pb: 70;
  }
  .u-pb-sp75 {
    --_pb: 75;
  }
  .u-pb-sp80 {
    --_pb: 80;
  }
  .u-pb-sp85 {
    --_pb: 85;
  }
  .u-pb-sp90 {
    --_pb: 90;
  }
  .u-pb-sp95 {
    --_pb: 95;
  }
  .u-pb-sp100 {
    --_pb: 100;
  }
  .u-pt-sp61 {
    --_pt: 61;
  }

  .u-pb-sp38 {
    --_pb: 38;
  }
  .u-pc {
    display: none;
  }
  .splide__arrows .splide__arrow.splide__arrow--prev {
    inset-inline-start: -5.8rem;
  }
  .splide__arrows .splide__arrow.splide__arrow--next {
    inset-inline-end: -5.8rem;
  }
}

@media screen and (min-width: 769px) {
  html {
    font-size: calc(10 * var(--vwpcm));
  }
  a:hover, a:active {
    text-decoration: none;
  }
  .c-btn-circle {
    --_fs: var(--_fs-pc);
    --_lh: var(--_lh-pc);
    --_size: var(--_size-pc);
  }
  :is(.c-btn-rounded, .c-tag-rounded) {
    --_ls: var(--_ls-pc);
    --_fs: var(--_fs-pc);
    --_lh: var(--_lh-pc);
    --_width: var(--_width-pc);
    --_height: var(--_height-pc);
  }
  :is(.c-btn-rounded, .c-tag-rounded) [class^=c-icon] {
    --_x: calc(var( --_icon-x,0) + 10 );
  }
  .c-btn-tag {
    --_ls: var(--_ls-pc);
    --_fs: var(--_fs-pc);
    --_lh: var(--_lh-pc);
  }
  [class^=c-icon] {
    --_iw: var(--_iw-pc);
    --_ih: var(--_ih-pc);
  }
  .c-tag-circle {
    --_ls: var(--_ls-pc);
    --_fs: var(--_fs-pc);
    --_lh: var(--_lh-pc);
    --_size: var(--_size-pc);
  }
  .c-ttl--dot:before {
    inset-block-start: calc(20 * var(--unit));
  }
  [class*=c-ttl--] {
    --_font-size: var(--_font-size-pc);
    --_line-height: var(--_line-height-pc);
  }
  .p-footer-cta {
    grid-template-rows: minmax(30rem, auto);
    grid-template-columns: 50cqi 50cqi;
  }
  .p-footer-cta > [class^=p-footer-cta__grid] > .content > .ttl {
    font-weight: var(--fw-bold);
    font-size: 4rem;
    line-height: 1.2;
  }
  .p-footer-cta > [class*="--download"] {
    border-bottom-left-radius: 2rem;
  }
  .p-footer-cta > [class*="--contact"] {
    border-top-right-radius: 2rem;
  }
  .p-footer__nav {
    grid-template-rows: auto;
    grid-template-columns: auto 1fr;
  }
  .p-footer__nav > .lp-logo > picture {
    min-inline-size: 21.5rem;
  }
  .p-footer__nav > .p-footer__menu {
    -moz-column-gap: 2.9rem;
         column-gap: 2.9rem;
    place-self: end;
  }
  .p-footer__copyright {
    grid-template-columns: auto 1fr;
  }
  .p-page-nav-cards__cardlist {
    --_cw: calc( var(--_card-w-pc) * var(--pxr) );
    --_ch: calc( var(--_card-h-pc) * var(--pxr) );
    --_cxgap: min( calc( var(--_card-x-gap-pc) * var(--_pxcq) ), calc( var(--_card-x-gap-pc) * var(--unit) ) );
    --_cygap: min( calc( var(--_card-y-gap-pc) * var(--_pxcq) ), calc( var(--_card-y-gap-pc) * var(--unit) ) );
  }
  .p-page-nav-cards__cardlist > li .card {
    aspect-ratio: var(--_card-w-pc)/var(--_card-h-pc);
    inline-size: var(--_cw);
  }
  .p-page-nav-cards__cardlist > li .card > .content > p {
    padding-inline: 4rem;
  }
  .p-page-nav-cards__cardlist[data-type=reason] .card > .content {
    -webkit-margin-start: 3.1rem;
            margin-inline-start: 3.1rem;
  }
  .p-page-nav-cards__cardlist[data-type=reason] .card > .content > .img {
    inline-size: 11.5rem;
    block-size: 11.5rem;
  }
  .p-page-nav-cards__cardlist[data-type=reason] .card > .content > .ttl {
    -webkit-margin-start: 2.2rem;
            margin-inline-start: 2.2rem;
    font-weight: var(--fw-semibold);
    font-size: 2rem;
    line-height: 1.5;
  }
  .p-page-nav-cards__cardlist[data-type=case] .card > .content > .ttl {
    padding-inline: 3.5rem;
  }
  .p-page-case__details {
    -webkit-padding-before: 10.3rem;
            padding-block-start: 10.3rem;
  }
  .p-case-detail {
    --_margin-side: 58;
    --_margin-y-end: 25;
  }
  .p-case-detail header {
    grid-template: "num sub" minmax(1rem, auto) "num ttl" minmax(2rem, auto)/auto 1fr;
    padding-block: 3.5rem 3.8rem;
  }
  .p-case-detail header > .num {
    -webkit-padding-end: 2.5rem;
    -webkit-padding-before: 0.6rem;
            padding-inline-end: 2.5rem;
            padding-block-start: 0.6rem;
    font-weight: var(--fw-bold);
    font-size: 4rem;
    line-height: 1;
  }
  .p-case-detail header > .sec-ttl {
    font-weight: var(--fw-bold);
    font-size: 3.2rem;
    line-height: 1.34375;
  }
  .p-case-detail section figure {
    -webkit-margin-before: 0.8rem;
            margin-block-start: 0.8rem;
  }
  .p-case-detail section .float figure.right {
    -webkit-margin-start: var(--_colgap);
            margin-inline-start: var(--_colgap);
    float: right;
  }
  .p-case-detail section .float figure.left {
    -webkit-margin-end: var(--_colgap);
            margin-inline-end: var(--_colgap);
    float: left;
  }
  .p-case-detail section .flex {
    row-gap: 3rem;
    flex-direction: row;
  }
  .p-case-detail section .grid {
    grid-template-columns: repeat(auto-fit, minmax(2rem, auto));
    gap: 3rem;
  }
  .p-case-detail section > hgroup {
    margin-block: 5.9rem 0;
  }
  .p-case-detail__company-wrap {
    -moz-column-gap: 3.1rem;
         column-gap: 3.1rem;
    row-gap: 0rem;
    grid-template: "img ttl" minmax(2rem, auto) "img tbl" minmax(2rem, auto)/auto 1fr;
    align-items: center;
    padding-inline: 4.5rem 5rem;
    padding-block: 3.8rem 4rem;
  }
  .p-case-detail__company-wrap > .ttl {
    font-size: 1.9rem;
    line-height: 1;
  }
  .p-page-company__infotable dl {
    grid-template-columns: 29.8rem 1fr;
  }
  .p-page-company__infotable dl > dd p {
    --_gap: 2rem;
    align-items: center;
  }
  .p-page-company__accessmap .card .content {
    grid-template: "img ttl" minmax(2rem, auto) "img add" minmax(2rem, 1fr)/auto 1fr;
    padding-inline: 4rem;
    padding-block: 4rem;
  }
  .p-page-company__accessmap .card .content > .ttl {
    -webkit-margin-before: 0.4rem;
            margin-block-start: 0.4rem;
  }
  .p-page-company__philosophy .l-inner {
    --_im: 0;
  }
  .p-page-company__philosophy .grid-wrap {
    -moz-column-gap: 4.27cqi;
         column-gap: 4.27cqi;
    grid-template: "img con" minmax(20px, auto)/35.73cqi 60cqi;
  }
  .p-page-company__philosophy .grid-wrap > .grid-visual .box {
    max-inline-size: calc(100% - 5rem);
    translate: 0 8rem;
  }
  .p-page-company__philosophy .grid-wrap > .grid-visual img {
    justify-self: end;
  }
  .p-page-company__philosophy .grid-wrap > .grid-content .ttl {
    -webkit-margin-before: 2rem;
            margin-block-start: 2rem;
  }
  .p-page-company__management-philosophy .l-inner {
    --_im: 0;
  }
  .p-page-company__management-philosophy .grid-wrap {
    -moz-column-gap: 4.27cqi;
         column-gap: 4.27cqi;
    grid-template: "con img" minmax(20px, auto)/60cqi 35.73cqi;
  }
  .p-page-company__management-philosophy .grid-wrap > .grid-visual .box {
    max-inline-size: calc(100% - 5rem);
    translate: 8rem 8rem;
  }
  .p-page-company__management-philosophy .grid-wrap > .grid-visual img {
    justify-self: start;
  }
  .p-page-company__management-philosophy .grid-wrap > .grid-content .ttl {
    -webkit-margin-before: 1.2rem;
            margin-block-start: 1.2rem;
  }
  .p-page-contact > .l-inner > .sec-ttl {
    font-weight: var(--fw-semibold);
    font-size: 3.2rem;
    line-height: 1.5625;
  }
  .p-page-download > .l-inner > .sec-ttl {
    font-weight: var(--fw-semibold);
    font-size: 3.2rem;
    line-height: 1.5625;
  }
  .p-page-function__support-cardlist {
    -moz-column-gap: calc(120 * var(--unit));
         column-gap: calc(120 * var(--unit));
    row-gap: calc(70 * var(--unit));
  }
  .p-page-function__support-cardlist > li .card {
    aspect-ratio: 720/756;
    inline-size: 72rem;
  }
  .p-page-function__support-cardlist > li .card > .card-ttl {
    font-weight: var(--fw-bold);
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .p-page-function__support-cardlist > li .card > .content {
    -webkit-margin-before: -7rem;
    align-content: start;
    min-inline-size: calc(100% - 140 * var(--unit));
    min-block-size: 25rem;
            margin-block-start: -7rem;
    padding-block: 3.7rem;
  }
  .p-page-function__support-cardlist > li .card > .content > p {
    font-weight: var(--fw-bold);
    font-size: 2.4rem;
    line-height: 1.4583333333;
  }
  .p-page-function__support-cardlist > li .card > .content > p > .min {
    font-size: 1.6rem;
    line-height: 1.25;
  }
  .p-page-function__lists__funcgroup-list {
    justify-content: start;
    gap: calc(30 * var(--unit));
  }
  .p-page-function__lists__funcgroup-list > li {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
  }
  .p-page-function__lists__func-list {
    grid-auto-flow: column;
    gap: calc(30 * var(--unit));
  }
  .p-page-kadai__details {
    -webkit-padding-before: 10.3rem;
            padding-block-start: 10.3rem;
  }
  .p-kadai-detail {
    --_margin-side: 58;
    --_margin-y-end: 25;
  }
  .p-kadai-detail__heading {
    grid-template: "num sub" minmax(1rem, auto) "num ttl" minmax(2rem, auto)/auto 1fr;
    padding-block: 3.5rem 4rem;
  }
  .p-kadai-detail__heading > .num {
    -webkit-padding-end: 2.5rem;
    -webkit-padding-before: 0.6rem;
            padding-inline-end: 2.5rem;
            padding-block-start: 0.6rem;
    font-weight: var(--fw-bold);
    font-size: 4rem;
    line-height: 1;
  }
  .p-kadai-detail__heading > .sec-ttl {
    font-weight: var(--fw-bold);
    font-size: 3.2rem;
    line-height: 1.34375;
  }
  .p-kadai-detail > .section:nth-child(1 of section) {
    --_margin-top: 60;
  }
  .p-kadai-detail > .section {
    --_margin-top: 45;
  }
  .p-kadai-detail__images-wrap {
    --_card-w: 340;
    --_img-h: 180;
  }
  .p-kadai-detail__message-wrap .message {
    grid-template: "img txt" minmax(4rem, auto)/auto 1fr;
    padding-inline: 6.8rem 5rem;
    padding-block: 3.8rem 4rem;
    gap: 3.4rem;
  }
  .p-kadai-detail__message-wrap .message > p {
    font-weight: var(--fw-semibold);
    font-size: 2.4rem;
    line-height: 1.6666666667;
  }
  .p-kadai-detail__message-wrap .message > p > strong {
    font-weight: var(--fw-semibold);
    font-size: 3.2rem;
    line-height: 1.40625;
  }
  .p-kadai-detail__cards-wrap {
    --_card-w: 340;
    --_img-h: 180;
  }
  .p-page-reason-details__gridlist > li .grid {
    -moz-column-gap: 6.24cqi;
         column-gap: 6.24cqi;
    grid-template: "img content" minmax(4rem, auto)/46.88cqi 46.88cqi;
  }
  .p-page-reason-details__gridlist > li .grid > .content {
    -webkit-padding-before: 2.2rem;
            padding-block-start: 2.2rem;
  }
  .p-home-about > .l-inner > .ttl {
    font-weight: var(--fw-bold);
    font-size: 4.8rem;
    line-height: 1.3541666667;
  }
  .p-home-about > .l-inner > .txt {
    text-align: center;
  }
  .p-home-about__flow-wrap > .ttl {
    padding-inline: 2rem;
    font-weight: var(--fw-bold);
    font-size: 3.2rem;
    line-height: 2.03125;
  }
  .p-home-about__next-arrow {
    inline-size: 26.8rem;
    block-size: 20.5rem;
  }
  .p-home-about__slider-wrap .splide {
    -webkit-margin-before: 3.2rem;
    inline-size: calc(100% - 27rem);
            margin-block-start: 3.2rem;
  }
  .p-home-about__slider-wrap .splide__list [class^=c-pic] {
    -webkit-margin-before: 3rem;
            margin-block-start: 3rem;
  }
  .p-home-about__slider-wrap .splide__arrows.splide__arrows--ltr {
    inset-block-end: 38%;
  }
  .p-home-about__slider-wrap .splide__pagination.splide__pagination--ltr {
    inset-block-end: -17.9rem;
  }
  .p-home-banner {
    --_pt: 25;
  }
  .p-home-case > .l-inner > .ttl {
    font-weight: var(--fw-bold);
    font-size: 4.8rem;
    line-height: 1.3333333333;
  }
  .p-home-case__cardlist {
    -moz-column-gap: calc(var(--_card-w-gap) * var(--unit));
    -webkit-margin-before: 3.4rem;
    grid-template-columns: repeat(auto-fit, calc(var(--_card-w) * var(--unit)));
         column-gap: calc(var(--_card-w-gap) * var(--unit));
    justify-content: center;
            margin-block-start: 3.4rem;
  }
  .p-home-reason__gridwrap {
    grid-template: "con img" minmax(2rem, auto)/62.8cqi 37.2cqi;
  }
  .p-home-reason__gridwrap > .grid-content {
    grid-template: "ttl btn" minmax(2rem, auto) "crd crd" minmax(2rem, auto)/1fr auto;
    align-content: start;
    justify-content: end;
    justify-content: end;
    inline-size: calc(100% + 8.1rem);
    padding-inline: 2rem 22.5rem;
    padding-block: 6.2rem 4rem;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-ttl {
    -webkit-padding-end: 10.2rem;
    -webkit-padding-before: 0.3rem;
    align-self: end;
    justify-self: end;
            padding-inline-end: 10.2rem;
            padding-block-start: 0.3rem;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-ttl > .ttl {
    font-weight: var(--fw-bold);
    font-size: 4.8rem;
    line-height: 1.3333333333;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-btn {
    -webkit-padding-before: 0.3rem;
    align-self: end;
            padding-block-start: 0.3rem;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-btn > [class^=c-btn] {
    min-inline-size: 34.9rem;
    font-size: 2rem;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards {
    -webkit-padding-before: 5rem;
    -moz-column-gap: calc(var(--_grid-w-gap) * var(--unit));
         column-gap: calc(var(--_grid-w-gap) * var(--unit));
    row-gap: calc(var(--_grid-h-gap) * var(--unit));
    align-content: end;
    justify-self: end;
    max-inline-size: calc((var(--_grid-w) * var(--_grid-x-count) + var(--_grid-w-gap) * (var(--_grid-x-count) - 1)) * var(--unit));
            padding-block-start: 5rem;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards .card {
    -webkit-padding-before: 1.6rem;
    inline-size: 22.4rem;
    block-size: 25rem;
            padding-block-start: 1.6rem;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards .card > [class^=c-pic] {
    block-size: min(7.375dvi, 118px);
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards .card > p {
    font-size: 2rem;
    line-height: 1.5;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards .card > p [class^=c-icon] {
    -webkit-margin-start: 0.6rem;
            margin-inline-start: 0.6rem;
  }
  .p-home-reason__gridwrap > .grid-visual {
    row-gap: 2.8rem;
    translate: 0 8rem;
  }
  .p-home-reason__gridwrap > .grid-visual > picture {
    max-inline-size: 71.2rem;
  }
  .p-home-solution > .l-inner {
    --_lwi: 1920;
    --_im: 0;
    -webkit-padding-before: 11rem;
            padding-block-start: 11rem;
  }
  .p-home-solution__gridwrap {
    -moz-column-gap: 5%;
         column-gap: 5%;
    grid-template: "img con" minmax(2rem, auto)/37.5% 57.4%;
  }
  .p-home-solution__gridwrap > .grid-content {
    grid-template: "txt btn" minmax(2rem, auto) "crd crd" minmax(2rem, auto)/auto 1fr;
    justify-content: end;
    inline-size: 100%;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-txt {
    -webkit-padding-end: min(4.3333333333dvi, 104px);
    align-self: end;
    justify-self: start;
            padding-inline-end: min(4.3333333333dvi, 104px);
  }
  .p-home-solution__gridwrap > .grid-content > .grid-txt > .ttl {
    font-weight: var(--fw-bold);
    font-size: 4.8rem;
    line-height: 1.3333333333;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-btn {
    align-self: end;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-btn > [class^=c-btn] {
    --_fs-pc:20;
    --_fs-sp:16;
    -webkit-margin-after: 0.4rem;
    min-inline-size: 34.9rem;
    min-block-size: 6rem;
            margin-block-end: 0.4rem;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-btn > [class^=c-pic] {
    position: absolute;
    justify-self: center;
    inline-size: 65.2rem;
    min-block-size: 52.6rem;
    translate: 1.6rem -1rem;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-cards {
    --_grid-w: 286;
    --_grid-w-gap: 30;
    -moz-column-gap: calc(var(--_grid-w-gap) * var(--unit));
    grid-template-columns: repeat(auto-fit, calc(var(--_grid-w) * var(--unit)));
         column-gap: calc(var(--_grid-w-gap) * var(--unit));
    justify-content: start;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-cards .card p {
    min-block-size: 12.9rem;
    padding-block: 2.5rem 3.2rem;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-cards .card p [class^=c-icon] {
    -webkit-margin-start: 0.6rem;
            margin-inline-start: 0.6rem;
  }
  .p-home-solution__gridwrap > .grid-visual {
    -webkit-margin-before: 1.2rem;
    place-content: end;
    inline-size: calc(100% - 8.8rem);
    block-size: calc(100% - 16.7rem);
            margin-block-start: 1.2rem;
  }
  .p-home-solution__gridwrap > .grid-visual > picture {
    inline-size: 40rem;
    translate: 8.8rem 8rem;
  }
  .p-home-webcm > .l-inner {
    --_lwi: 1920;
    --_im: 0;
    -webkit-padding-before: 8rem;
            padding-block-start: 8rem;
  }
  .p-home-webcm__video > .ttl {
    font-weight: var(--fw-bold);
    font-size: 4.8rem;
    line-height: 1.3333333333;
  }
  .company-banner-list__content .company-banner-list > .banner {
    --_aspect: 200/65;
    --_banner-h: var(--_grid-h);
    --_banner-w: var(--_grid-w);
  }
  .p-form-block {
    padding-block: 9.4rem 8rem;
  }
  .p-form-block > .inner {
    max-inline-size: calc(100% - 28rem);
  }
  .p-form-block > dl {
    row-gap: 2.8rem;
    grid-template: "dt dd" minmax(2rem, auto)/28rem 1fr;
  }
  .p-form-block > dl > dt.top {
    -webkit-margin-before: 0.16rem;
            margin-block-start: 0.16rem;
  }
  .p-form-block .checkbox-group {
    grid-template-columns: repeat(auto-fit, minmax(calc(var(--_item-w) * var(--unit)), auto));
    row-gap: 3rem;
  }
  .p-form-block .checkbox-group > .col.--req-label:has([class*=c-tag]) {
    grid-template: "tag label" minmax(2rem, auto)/auto 1fr;
    align-items: center;
    gap: 2.6rem;
  }
  .p-form-block .checkbox-group > .col.--req-label > label > input {
    inset-block-start: 0.6rem;
  }
  .p-form-block .privacypolicy-wrap > .txtwrap {
    padding-block: 3.8rem 3.6rem;
  }
  .p-form-block .privacypolicy-wrap > .txtwrap > * {
    padding-inline: 7rem;
  }
  .p-form-block .privacypolicy-wrap > .footer {
    text-align: center;
  }
  .p-form input[type=text],
input[type=email],
input[type=tel],
input[type=date],
textarea,
select {
    min-block-size: 6.4rem;
  }
  .p-form textarea::-moz-placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form textarea:-ms-input-placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form textarea::placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form .row {
    width: 100%;
  }
  .p-form .row .--w150 {
    width: 15rem;
    max-width: 15rem;
  }
  .p-form .row .--w200 {
    width: 20rem;
  }
  .p-form .row .--w280 {
    width: 28rem;
  }
  .p-form .row .--w300 {
    width: 30rem;
  }
  .p-form .row .--w314 {
    width: 31.4rem;
  }
  .p-form .row .--w500 {
    width: 50rem;
  }
  .p-form .row .--w560 {
    max-width: 56rem;
  }
  .p-form .row .--wfull {
    width: 100%;
  }
  .p-form input[type=text]::-moz-placeholder, .p-form input[type=email]::-moz-placeholder, .p-form input[type=tel]::-moz-placeholder, .p-form input[type=date]::-moz-placeholder, .p-form textarea::-moz-placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form input[type=text]:-ms-input-placeholder, .p-form input[type=email]:-ms-input-placeholder, .p-form input[type=tel]:-ms-input-placeholder, .p-form input[type=date]:-ms-input-placeholder, .p-form textarea:-ms-input-placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form input[type=text]::placeholder,
.p-form input[type=email]::placeholder,
.p-form input[type=tel]::placeholder,
.p-form input[type=date]::placeholder,
.p-form textarea::placeholder {
    font-size: 1.4rem;
    line-height: 1;
  }
  .p-form .radiogroup {
    -moz-column-gap: 2rem;
    grid-template-rows: auto;
    grid-template-columns: repeat(2, minmax(min(14rem, 100%), auto));
         column-gap: 2rem;
    row-gap: 2.6rem;
  }
  .p-form .radiogroup label {
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: 0;
  }
  .p-form input[type=radio] {
    inline-size: 1.5rem;
    block-size: 1.5rem;
    inset-inline-start: 0.3rem;
  }
  .p-form input[type=radio]:after {
    inline-size: 1rem;
    block-size: 1rem;
  }
  .p-form input[type=checkbox] {
    --_checksize: var(--_checksize-pc);
    --_boxsize: var(--_boxsize-pc);
  }
  .p-form input[type=checkbox]:after {
    translate: calc(-50% + var(--_adjust-x)) calc(-50% + var(--_adjust-y));
  }
  .p-form input[type=file]::-webkit-file-upload-button {
    margin-right: 2rem;
    padding-inline: 1.9rem;
    padding-block: 0.8rem;
  }
  .p-form input[type=file]::file-selector-button,
.p-form input[type=file]::-webkit-file-upload-button {
    margin-right: 2rem;
    padding-inline: 1.9rem;
    padding-block: 0.8rem;
  }
  .p-form .selectwrap {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .p-form .selectwrap:after {
    width: 1.7rem;
    min-width: 1.7rem;
  }
  .p-form textarea {
    min-block-size: 17rem;
  }
  .p-home-mv__inner {
    min-block-size: 60rem;
    padding-inline: calc(var(--layout-inner-margin) * var(--unit));
  }
  .p-home-mv__content {
    -webkit-margin-before: 16.7vh;
    max-inline-size: -webkit-fit-content;
    max-inline-size: -moz-fit-content;
    max-inline-size: fit-content;
            margin-block-start: 16.7vh;
  }
  .p-home-mv__ttl {
    row-gap: 2.1rem;
  }
  .p-home-mv__ttl > .block {
    font-weight: var(--fw-bold);
    font-size: 4.8rem;
    line-height: 1.1458333333;
  }
  .p-home-mv__ttl > .block:nth-child(2) {
    margin-inline: min(8.125dvi, 130px) min(12.375dvi, 198px);
    white-space: nowrap;
  }
  .p-home-mv__ttl > .block > .punc {
    -webkit-padding-end: min(1.25dvi, 20px);
            padding-inline-end: min(1.25dvi, 20px);
  }
  .p-home-mv__visualwrap {
    max-inline-size: 90rem;
    max-block-size: 77.2rem;
  }
  .p-home-mv__visualwrap > [class^=c-pic] {
    padding-inline: 11rem;
    padding-block: 2.3rem 6rem;
  }
  .p-home-mv__visualwrap > .p-home-mv__btnwrap {
    -webkit-padding-before: 5.3rem;
    inline-size: 19.2rem;
            padding-block-start: 5.3rem;
    translate: 0 0%;
    box-shadow: 0 0 20px 0 var(--shadow005);
  }
  .p-home-mv__visualwrap > .p-home-mv__btnwrap > .ttl {
    font-weight: var(--fw-bold);
    font-size: 2.4rem;
    line-height: 1;
  }
  .p-page-breadcrumbs {
    padding-inline: 4rem;
  }
  .p-page-mv > .ttl {
    font-weight: var(--fw-semibold);
    font-size: 5.2rem;
    line-height: 1.1923076923;
  }
  .p-section-download__cardlist {
    -moz-column-gap: calc(40 * var(--unit));
    -webkit-padding-before: 1.9rem;
    grid-template-columns: auto auto;
    grid-auto-flow: column;
         column-gap: calc(40 * var(--unit));
    max-inline-size: 97cqi;
            padding-block-start: 1.9rem;
  }
  .p-section-download__cardlist .card {
    padding-inline: calc(30 * var(--unit));
    padding-block: calc(40 * var(--unit)) calc(20 * var(--unit));
  }
  .p-section-download__cardlist .card > * {
    max-inline-size: calc(100% - 20 * var(--vw));
  }
  .p-section-download__cardlist .card > [class^=c-pic] {
    max-inline-size: 46rem;
  }
  .p-section-download__cardlist .card > .ttl {
    font-weight: var(--fw-bold);
    font-size: 3rem;
    line-height: 1.2;
  }
  .p-section-download__cardlist .card > p {
    max-inline-size: calc(100% - 10.5rem);
  }
  .p-section-reason__cardlist {
    --_card-w: 396;
  }
  .p-section-reason__cardlist .card {
    padding-inline: calc(31 * var(--unit));
    padding-block: calc(35 * var(--unit)) calc(32 * var(--unit));
  }
  .p-section-reason__cardlist .card > .img {
    inline-size: 11.5rem;
  }
  .p-section-reason__cardlist .card > .ttl {
    font-weight: var(--fw-bold);
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.2rem;
  }
  .u-mt5 {
    --_mt: 5;
  }
  .u-mt10 {
    --_mt: 10;
  }
  .u-mt15 {
    --_mt: 15;
  }
  .u-mt20 {
    --_mt: 20;
  }
  .u-mt25 {
    --_mt: 25;
  }
  .u-mt30 {
    --_mt: 30;
  }
  .u-mt35 {
    --_mt: 35;
  }
  .u-mt40 {
    --_mt: 40;
  }
  .u-mt45 {
    --_mt: 45;
  }
  .u-mt50 {
    --_mt: 50;
  }
  .u-mt55 {
    --_mt: 55;
  }
  .u-mt60 {
    --_mt: 60;
  }
  .u-mt65 {
    --_mt: 65;
  }
  .u-mt70 {
    --_mt: 70;
  }
  .u-mt75 {
    --_mt: 75;
  }
  .u-mt80 {
    --_mt: 80;
  }
  .u-mt85 {
    --_mt: 85;
  }
  .u-mt90 {
    --_mt: 90;
  }
  .u-mt95 {
    --_mt: 95;
  }
  .u-mt100 {
    --_mt: 100;
  }
  .u-mt-pc5 {
    --_mt: 5;
  }
  .u-mt-pc10 {
    --_mt: 10;
  }
  .u-mt-pc15 {
    --_mt: 15;
  }
  .u-mt-pc20 {
    --_mt: 20;
  }
  .u-mt-pc25 {
    --_mt: 25;
  }
  .u-mt-pc30 {
    --_mt: 30;
  }
  .u-mt-pc35 {
    --_mt: 35;
  }
  .u-mt-pc40 {
    --_mt: 40;
  }
  .u-mt-pc45 {
    --_mt: 45;
  }
  .u-mt-pc50 {
    --_mt: 50;
  }
  .u-mt-pc55 {
    --_mt: 55;
  }
  .u-mt-pc60 {
    --_mt: 60;
  }
  .u-mt-pc65 {
    --_mt: 65;
  }
  .u-mt-pc70 {
    --_mt: 70;
  }
  .u-mt-pc75 {
    --_mt: 75;
  }
  .u-mt-pc80 {
    --_mt: 80;
  }
  .u-mt-pc85 {
    --_mt: 85;
  }
  .u-mt-pc90 {
    --_mt: 90;
  }
  .u-mt-pc95 {
    --_mt: 95;
  }
  .u-mt-pc100 {
    --_mt: 100;
  }
  .u-mb5 {
    --_mb: 5;
  }
  .u-mb10 {
    --_mb: 10;
  }
  .u-mb15 {
    --_mb: 15;
  }
  .u-mb20 {
    --_mb: 20;
  }
  .u-mb25 {
    --_mb: 25;
  }
  .u-mb30 {
    --_mb: 30;
  }
  .u-mb35 {
    --_mb: 35;
  }
  .u-mb40 {
    --_mb: 40;
  }
  .u-mb45 {
    --_mb: 45;
  }
  .u-mb50 {
    --_mb: 50;
  }
  .u-mb-pc5 {
    --_mb: 5;
  }
  .u-mb-pc10 {
    --_mb: 10;
  }
  .u-mb-pc15 {
    --_mb: 15;
  }
  .u-mb-pc20 {
    --_mb: 20;
  }
  .u-mb-pc25 {
    --_mb: 25;
  }
  .u-mb-pc30 {
    --_mb: 30;
  }
  .u-mb-pc35 {
    --_mb: 35;
  }
  .u-mb-pc40 {
    --_mb: 40;
  }
  .u-mb-pc45 {
    --_mb: 45;
  }
  .u-mb-pc50 {
    --_mb: 50;
  }
  .u-mb-pc55 {
    --_mb: 55;
  }
  .u-mb-pc60 {
    --_mb: 60;
  }
  .u-mb-pc65 {
    --_mb: 65;
  }
  .u-mb-pc70 {
    --_mb: 70;
  }
  .u-mb-pc75 {
    --_mb: 75;
  }
  .u-mb-pc80 {
    --_mb: 80;
  }
  .u-mb-pc85 {
    --_mb: 85;
  }
  .u-mb-pc90 {
    --_mb: 90;
  }
  .u-mb-pc95 {
    --_mb: 95;
  }
  .u-mb-pc100 {
    --_mb: 100;
  }
  .u-pt5 {
    --_pt: 5;
  }
  .u-pt10 {
    --_pt: 10;
  }
  .u-pt15 {
    --_pt: 15;
  }
  .u-pt20 {
    --_pt: 20;
  }
  .u-pt25 {
    --_pt: 25;
  }
  .u-pt30 {
    --_pt: 30;
  }
  .u-pt35 {
    --_pt: 35;
  }
  .u-pt40 {
    --_pt: 40;
  }
  .u-pt45 {
    --_pt: 45;
  }
  .u-pt50 {
    --_pt: 50;
  }
  .u-pt55 {
    --_pt: 55;
  }
  .u-pt60 {
    --_pt: 60;
  }
  .u-pt65 {
    --_pt: 65;
  }
  .u-pt70 {
    --_pt: 70;
  }
  .u-pt75 {
    --_pt: 75;
  }
  .u-pt80 {
    --_pt: 80;
  }
  .u-pt85 {
    --_pt: 85;
  }
  .u-pt90 {
    --_pt: 90;
  }
  .u-pt95 {
    --_pt: 95;
  }
  .u-pt100 {
    --_pt: 100;
  }
  .u-pt105 {
    --_pt: 105;
  }
  .u-pt110 {
    --_pt: 110;
  }
  .u-pt115 {
    --_pt: 115;
  }
  .u-pt120 {
    --_pt: 120;
  }
  .u-pt125 {
    --_pt: 125;
  }
  .u-pt-pc5 {
    --_pt: 5;
  }
  .u-pt-pc10 {
    --_pt: 10;
  }
  .u-pt-pc15 {
    --_pt: 15;
  }
  .u-pt-pc20 {
    --_pt: 20;
  }
  .u-pt-pc25 {
    --_pt: 25;
  }
  .u-pt-pc30 {
    --_pt: 30;
  }
  .u-pt-pc35 {
    --_pt: 35;
  }
  .u-pt-pc40 {
    --_pt: 40;
  }
  .u-pt-pc45 {
    --_pt: 45;
  }
  .u-pt-pc50 {
    --_pt: 50;
  }
  .u-pt-pc55 {
    --_pt: 55;
  }
  .u-pt-pc60 {
    --_pt: 60;
  }
  .u-pt-pc65 {
    --_pt: 65;
  }
  .u-pt-pc70 {
    --_pt: 70;
  }
  .u-pt-pc75 {
    --_pt: 75;
  }
  .u-pt-pc80 {
    --_pt: 80;
  }
  .u-pt-pc85 {
    --_pt: 85;
  }
  .u-pt-pc90 {
    --_pt: 90;
  }
  .u-pt-pc95 {
    --_pt: 95;
  }
  .u-pt-pc100 {
    --_pt: 100;
  }
  .u-pb5 {
    --_pb: 5;
  }
  .u-pb10 {
    --_pb: 10;
  }
  .u-pb15 {
    --_pb: 15;
  }
  .u-pb20 {
    --_pb: 20;
  }
  .u-pb25 {
    --_pb: 25;
  }
  .u-pb30 {
    --_pb: 30;
  }
  .u-pb35 {
    --_pb: 35;
  }
  .u-pb40 {
    --_pb: 40;
  }
  .u-pb45 {
    --_pb: 45;
  }
  .u-pb50 {
    --_pb: 50;
  }
  .u-pb55 {
    --_pb: 55;
  }
  .u-pb60 {
    --_pb: 60;
  }
  .u-pb65 {
    --_pb: 65;
  }
  .u-pb70 {
    --_pb: 70;
  }
  .u-pb75 {
    --_pb: 75;
  }
  .u-pb80 {
    --_pb: 80;
  }
  .u-pb85 {
    --_pb: 85;
  }
  .u-pb90 {
    --_pb: 90;
  }
  .u-pb95 {
    --_pb: 95;
  }
  .u-pb100 {
    --_pb: 100;
  }
  .u-pb105 {
    --_pb: 105;
  }
  .u-pb110 {
    --_pb: 110;
  }
  .u-pb115 {
    --_pb: 115;
  }
  .u-pb120 {
    --_pb: 120;
  }
  .u-pb125 {
    --_pb: 125;
  }
  .u-pb-pc5 {
    --_pb: 5;
  }
  .u-pb-pc10 {
    --_pb: 10;
  }
  .u-pb-pc15 {
    --_pb: 15;
  }
  .u-pb-pc20 {
    --_pb: 20;
  }
  .u-pb-pc25 {
    --_pb: 25;
  }
  .u-pb-pc30 {
    --_pb: 30;
  }
  .u-pb-pc35 {
    --_pb: 35;
  }
  .u-pb-pc40 {
    --_pb: 40;
  }
  .u-pb-pc45 {
    --_pb: 45;
  }
  .u-pb-pc50 {
    --_pb: 50;
  }
  .u-pb-pc55 {
    --_pb: 55;
  }
  .u-pb-pc60 {
    --_pb: 60;
  }
  .u-pb-pc65 {
    --_pb: 65;
  }
  .u-pb-pc70 {
    --_pb: 70;
  }
  .u-pb-pc75 {
    --_pb: 75;
  }
  .u-pb-pc80 {
    --_pb: 80;
  }
  .u-pb-pc85 {
    --_pb: 85;
  }
  .u-pb-pc90 {
    --_pb: 90;
  }
  .u-pb-pc95 {
    --_pb: 95;
  }
  .u-pb-pc100 {
    --_pb: 100;
  }
  .u-pt-pc109 {
    --_pt: 109;
  }

  .u-pb-pc69 {
    --_pb: 69;
  }
  .u-sp {
    display: none;
  }
  .splide__arrows .splide__arrow.splide__arrow--prev {
    inset-inline-start: -11.8rem;
  }
  .splide__arrows .splide__arrow.splide__arrow--next {
    inset-inline-end: -11.8rem;
  }
}

@media (width < 1920px) {
  .c-background {
    margin-inline: calc(var(--_gutter) * -1);
    padding-inline: var(--_gutter);
  }
}

@media (any-hover: hover) and (pointer: fine) {
  .c-page-top:hover {
    opacity: 0.8;
  }
  .c-btn-circle:hover {
    --_icon-x: 2;
    opacity: 0.8;
  }
  :is(.c-btn-rounded):hover {
    --_icon-x: 2;
    opacity: 0.8;
  }
  .c-btn-tag:hover {
    opacity: 0.8;
  }
  .c-link-card__hover:hover {
    --_box-shadow: var(--card-hover-shadow);
    scale: var(--card-hover-scale);
  }
  .c-link-card__hover:hover [class^=c-icon] {
    --_itx: var(--_hover-icon-x);
    --_ity: var(--_hover-icon-y);
  }
  .c-link-card__animated-hover:not([data-animated]) .card:hover, .c-link-card__animated-hover[data-animated=end] .card:hover {
    --_box-shadow: var(--card-hover-shadow);
    scale: var(--card-hover-scale);
  }
  .c-link-card__animated-hover:not([data-animated]) .card:hover [class*=c-tag], .c-link-card__animated-hover[data-animated=end] .card:hover [class*=c-tag] {
    --_icon-x: var(--_hover-icon-x);
    --_icon-y: var(--_hover-icon-y);
  }
  .c-link-txt--arrow:hover {
    opacity: 0.8;
  }
  .c-link-txt--arrow:hover:after {
    --_ix: 2;
  }
  .c-link-txt:hover {
    --_txt-color: var(--_txt-color-hover);
  }
  .p-footer-cta > [class^=p-footer-cta__grid]:hover > picture img {
    scale: 1;
    opacity: 0.5;
  }
  .p-footer-cta > [class^=p-footer-cta__grid]:hover [class^=c-tag] {
    opacity: 0.8;
  }
  .p-footer__nav > .lp-logo:hover {
    opacity: 0.8;
  }
  .p-footer__copyright > .company-logo:hover {
    opacity: 0.8;
  }
  .p-header__logo a:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
  .p-case-detail__company-wrap > dl > dd a:hover {
    text-decoration: underline;
  }
  .p-case-detail > .btn-goto-top > [class^=c-btn]:hover {
    --_icon-x: 0;
    --_icon-y: -2;
  }
  .p-page-company__accessmap .btn:hover {
    opacity: 0.8;
  }
  .p-kadai-detail > .btn-goto-top > [class^=c-btn]:hover {
    --_icon-x: 0;
    --_icon-y: -2;
  }
  .p-home-case__cardlist > .card[data-animated=end]:hover {
    --_box-shadow: 0px 0px 40px rgba(25, 25, 25, 0.2);
    scale: 1.015;
  }
  .p-home-case__cardlist > .card[data-animated=end]:hover > .btn-wrap > [class^=c-tag] {
    --_icon-x: 2;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards > li[data-animated=end]:hover .card {
    --_box-shadow: 0px 40px 30px rgba(25, 25, 25, 0.12);
    scale: 1.015;
  }
  .p-home-reason__gridwrap > .grid-content > .grid-cards > li[data-animated=end]:hover .card p [class^=c-icon] {
    --_itx: 2;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-cards > li[data-animated=end] .card:hover {
    --_box-shadow: 0px 40px 30px rgba(25, 25, 25, 0.12);
    scale: 1.015;
  }
  .p-home-solution__gridwrap > .grid-content > .grid-cards > li[data-animated=end] .card:hover p [class^=c-icon] {
    --_itx: 2;
  }
  .p-banner-content--campaign:hover [class^=c-pic] {
    scale: 1.01;
    opacity: 0.8;
  }
  .p-banner-content--campaign:hover .content .c-icon {
    --_itx: 2;
  }
  .p-form-block .privacypolicy-wrap > .txtwrap a:hover {
    text-decoration: underline;
  }
  .p-home-mv__visualwrap > .p-home-mv__btnwrap:hover {
    --_box-shadow: 0px 20px 40px rgba(25, 25, 25, 0.2);
    box-shadow: var(--_box-shadow);
    opacity: 0.9;
  }
  .p-home-mv__visualwrap > .p-home-mv__btnwrap:hover > * {
    scale: 1.03;
  }
  .p-section-download__cardlist > li[data-animated=end] .card:hover {
    --_box-shadow: 0px 30px 20px rgba(25, 25, 25, 0.12);
    scale: 1.015;
  }
  .p-section-download__cardlist > li[data-animated=end] .card:hover > .btnwrap > [class^=c-tag] {
    --_icon-x: 2;
  }
  .p-section-function__cardlist .card:hover {
    --_box-shadow: var(--card-hover-shadow);
    scale: 1.015;
  }
  .p-section-function__cardlist .card:hover > .btnwrap > [class^=c-tag] {
    --_icon-x: 2;
  }
  .p-section-kadai__cardlist .card:hover {
    --_box-shadow: var(--card-hover-shadow);
    scale: 1.015;
  }
  .p-section-kadai__cardlist .card:hover > .btn > [class^=c-tag] {
    --_icon-x: 2;
  }
  .p-section-reason__cardlist .card:hover {
    --_box-shadow: var(--card-hover-shadow);
    scale: 1.015;
  }
  .p-section-reason__cardlist .card:hover > .btnwrap > [class^=c-tag] {
    --_icon-x: 2;
  }
  .splide__arrows .splide__arrow:not([disabled]):hover {
    opacity: 0.8;
  }
}

@media screen and (width <= 960px) {
  .p-header__logo img {
    max-inline-size: 8rem;
  }
  .p-header__nav > nav {
    -webkit-margin-before: 8dvh;
            margin-block-start: 8dvh;
  }
  .p-header__nav:not(.is-active) {
    pointer-events: none;
  }
  .p-header__menu {
    -webkit-margin-before: 2rem;
    display: block grid;
    grid-auto-flow: row;
    row-gap: 2rem;
    justify-content: center;
    justify-items: center;
            margin-block-start: 2rem;
  }
  .p-header__menu > li > a {
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: 0;
  }
  .p-header__menu-form {
    -webkit-margin-before: 2rem;
    grid-auto-flow: row;
    justify-content: center;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline: auto;
            margin-block-start: 2rem;
  }
  .p-header__menu-form > li > [class^=c-btn] {
    --_width-sp: 240;
    --_col-bg: unset;
    --_col-border: unset;
    --_col-font: var(--color-font-w);
    --_fw: unset;
    block-size: -webkit-fit-content;
    block-size: -moz-fit-content;
    block-size: fit-content;
    min-block-size: unset;
    padding-inline: 2rem;
    font-size: 2rem;
    line-height: 1.2;
  }
}

@media screen and (960px < width) {
  .p-header__logo img {
    max-inline-size: 13.6rem;
  }
  .p-header__nav {
    -webkit-margin-start: min(3.8125dvi, 61px);
            margin-inline-start: min(3.8125dvi, 61px);
  }
  .p-header__menu {
    -moz-column-gap: 1.3958333333vw;
    display: block grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
         column-gap: 1.3958333333vw;
  }
  .p-header__menu > li > a {
    font-weight: var(--fw-medium);
    font-size: clamp(14px, 1.3333333333dvi, 16px);
    line-height: clamp(20px, 2dvi, 24px);
  }
  .p-header__menu-form {
    -webkit-margin-start: auto;
    grid-auto-flow: column;
            margin-inline-start: auto;
  }
  .p-header__menu-form > li > [class^=c-btn]:after {
    content: unset;
  }
}

@media screen and (max-width: 960px) {
  .p-header__nav {
    -webkit-padding-before: 10rem;
            padding-block-start: 10rem;
  }
  .p-header__nav [class*=c-link-txt] {
    --_col-icon: var(--color-white);
  }
  .p-header__hamburger {
    display: block;
    z-index: 3;
    position: fixed;
    top: 2rem;
    right: 5vw;
    width: 4.2rem;
    height: 4.2rem;
    text-align: center;
    cursor: pointer;
  }
  .p-header__hamburger span {
    display: block;
    position: absolute;
    left: 0.6rem;
    width: 3rem;
    height: 0.2rem;
    background: #555;
    transition: 0.3s ease-in-out;
  }
  .p-header__hamburger span:nth-child(1) {
    top: 1rem;
  }
  .p-header__hamburger span:nth-child(2) {
    top: 2rem;
  }
  .p-header__hamburger span:nth-child(3) {
    top: 3rem;
  }
  .p-header__hamburger.is-active span:nth-child(1) {
    top: 1.6rem;
    left: 0.6rem;
    transform: rotate(-45deg);
    background: #fff;
  }
  .p-header__hamburger.is-active span:nth-child(2), .p-header__hamburger.is-active span:nth-child(3) {
    top: 16px;
    transform: rotate(45deg);
    background: #fff;
  }
  .p-header__nav {
    z-index: 2;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--color-green-500);
    color: #fff;
    text-align: center;
    opacity: 0;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }
  .p-header__nav:not(.is-active) {
    opacity: 0;
    pointer-events: none;
  }
  .p-header__nav.is-active {
    opacity: 100;
  }
  .p-header__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
  }
  .p-header__nav nav {
    display: block;
  }
  .p-header__nav ul li {
    text-align: center;
  }
}

@media screen and (max-width: 960px) and (max-width: 768px) {
  .p-header__nav nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 90vh;
  }
}

@media (width <= 630px) {
  .p-page-function__lists__funcgroup-list > li > .group-ttl {
    text-align: center;
  }
}

@media (width <= 400px) {
  .p-form-block > .inner {
    max-inline-size: calc(100% - 20 * var(--unit));
  }
}

@media (400px < width <= 768px) {
  .p-form-block > .inner {
    max-inline-size: calc(100% - 60 * var(--unit));
  }
}

@media (width <= 768px) {
  .p-home-mv .c-background {
    min-inline-size: 76.8rem;
  }
}

@media (768px <= width < 1920px) {
  .p-home-mv .c-background {
    min-inline-size: 192rem;
  }
}

@media screen and (width <= 375px) {
  .p-home-mv__bg-tags > [class*=tag] {
    --_adjust-y: 100;
  }
}

@media screen and (375px < width <= 768px) {
  .p-home-mv__bg-tags > [class*=tag] {
    --_adjust-y: 50;
  }
}

@media (width < 450px) {
  .p-section-kadai__cardlist {
    grid-template-columns: auto;
  }
  .p-section-kadai__cardlist .card {
    inline-size: 100%;
    min-block-size: 32rem;
  }
}

@media (450px <= width) {
  .p-section-kadai__cardlist {
    grid-template-columns: repeat(auto-fit, minmax(40rem, auto));
  }
  .p-section-kadai__cardlist .card {
    inline-size: 40rem;
    min-block-size: 32rem;
  }
}

@media (prefers-reduced-motion: no-preference) and (scripting: enabled) {
  [data-anim]:not([data-animated=end]) {
    transition-property: var(--_property);
    transition-timing-function: var(--_easing);
  }
  [data-anim][data-animated=true]:not(:focus-within) {
    transition-duration: var(--_duration);
  }
  [data-anim][data-animated]:not([data-animated=end]) {
    pointer-events: none;
  }
  [data-anim|=clip] {
    --_property: clip-path;
    --_easing: cubic-bezier(0.19, 1, 0.22, 1);
    --_duration: 1s;
    --_start-opacity: 0;
    --_stating-path: inset(0% 100% 0% 0%);
    --_end-path: inset(0 0 0 0);
  }
  [data-anim|=clip]:not([data-animated]) {
    -webkit-clip-path: unset;
            clip-path: unset;
    opacity: var(--_start-opacity);
    transition: none;
  }
  [data-anim|=clip][data-animated=start] {
    -webkit-clip-path: var(--_stating-path);
            clip-path: var(--_stating-path);
  }
  [data-anim|=clip][data-animated=true] {
    -webkit-clip-path: var(--_end-path);
            clip-path: var(--_end-path);
  }

  [data-anim=clip-x] {
    --_stating-path: polygon(20% 0%, 0% 20%, 30% 50%, 0% 80%, 20% 100%, 50% 70%, 80% 100%, 100% 80%, 70% 50%, 100% 20%, 80% 0%, 50% 30%);
  }
  [data-anim=clip-x]:not([data-animated]) {
    --_start-opacity: 1;
    -webkit-clip-path: var(--_stating-path);
            clip-path: var(--_stating-path);
  }
  [data-anim=clip-x][data-animated=true] {
    --_end-path: polygon(0 0, 0% 20%, 0 50%, 0 100%, 20% 100%, 50% 100%, 81% 100%, 100% 100%, 100% 50%, 100% 20%, 100% 0, 50% 0);
  }
  [data-anim|=clip-overlay] {
    --_overlay-color: var(--color-black);
    --_overlay-duration: var(--_duration);
    --_overlay-delay: calc(var(--_overlay-duration) / 2);
    position: relative;
  }
  [data-anim|=clip-overlay]::after {
    -webkit-clip-path: var(--_stating-path);
    position: absolute;
    inset: 0;
    rotate: 180deg;
    background-color: var(--_overlay-color);
    content: "";
            clip-path: var(--_stating-path);
    transition-property: var(--_property);
    transition-timing-function: var(--_easing);
  }
  [data-anim|=clip-overlay]:not(:focus-within)::after {
    transition-delay: calc(var(--_duration) / 2);
    transition-duration: var(--_duration);
  }
  [data-anim|=clip-overlay]:not([data-animated])::after {
    -webkit-clip-path: var(--_end-path);
            clip-path: var(--_end-path);
  }
  [data-anim|=clip-overlay][data-animated=start]::after {
    -webkit-clip-path: var(--_end-path);
            clip-path: var(--_end-path);
  }
  [data-anim|=clip-overlay][data-animated=true]::after {
    -webkit-clip-path: var(--_stating-path);
            clip-path: var(--_stating-path);
  }
  [data-anim=clip-overlay-top] {
    --_stating-path: inset(100% 0 0% 0);
  }

  [data-anim=clip-overlay-right] {
    --_stating-path: inset(0 100% 0 0);
  }

  [data-anim=clip-overlay-bottom] {
    --_stating-path: inset(0 0 100% 0);
  }

  [data-anim=clip-overlay-left] {
    --_stating-path: inset(0 0 0% 100%);
  }
  [data-anim|=fade] {
    --_property: opacity, translate;
    --_easing: ease-in-out;
    --_duration: 0.5s;
    --_delay: 0;
    --_start-x: 0;
    --_start-y: 0;
    --_end-x: 0;
    --_end-y: 0;
    transition-delay: var(--_delay);
  }
  [data-anim|=fade]:not([data-animated=true]):not([data-animated=end]) {
    translate: var(--_start-x) var(--_start-y);
    opacity: 0;
  }
  [data-anim|=fade][data-animated=start] {
    translate: var(--_start-x) var(--_start-y);
  }
  [data-anim|=fade][data-animated=true] {
    translate: var(--_end-x) var(--_end-y);
  }

  [data-anim=fade-up] {
    --_start-y: calc( 40 * var(--unit) );
  }

  [data-anim=fade-down] {
    --_start-y: calc( -40 * var(--unit) );
  }

  [data-anim=fade-left] {
    --_start-x: calc( 40 * var(--unit) );
  }

  [data-anim=fade-right] {
    --_start-x: calc( -40 * var(--unit) );
  }
  [data-anim=scale-in] {
    --_property: opacity, scale;
    --_easing: cubic-bezier(0.19, 1, 0.22, 1);
    --_duration: 1s;
    --_starting-scale: 0.9;
    --_end-scale: 1.0;
    --_delay: 0;
    transition-delay: var(--_delay);
  }
  [data-anim=scale-in]:not([data-animated=true]):not([data-animated=end]) {
    scale: var(--_starting-scale);
    opacity: 0;
  }
  [data-anim=scale-in][data-animated=start] {
    scale: var(--_starting-scale);
  }
  [data-anim=scale-in][data-animated=true] {
    scale: var(--_end-scale);
  }
}

@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }

  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}