@charset "UTF-8";
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* 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 {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 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 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* 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 {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  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 {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

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

/**
 * 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 {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 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 {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

/* 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;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}

/**
 * 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 {
  margin: 0;
  padding: 0;
  min-width: 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;
}

/**
 * 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 */
}

/**
 * Fix appearance for Firefox
 */
[type="number"] {
  -moz-appearance: textfield;
}

/**
 * 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 {
  vertical-align: top;
  padding: 0;
}

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

/*
$breakpoint-range: (
  'm-l': 'print, screen and (min-width: 768px)) and (max-width: screen and (max-width: 1280px))',
  'm-ll': 'print, screen and (min-width: 768px)) and (max-width: screen and (max-width: 1600px))',
  'm-lll': 'screen and (min-width: print, screen and (min-width: 768px)) and (max-width: screen and (max-width: 1920px))',
  'l-ll': 'screen and (min-width: print, screen and (min-width: 1281px)) and (max-width: screen and (max-width: 1600px))'
  ) !default;
*/
:root {
  --color-blue-300: #e8f4f6;
  --color-blue-350: #e5f7fe;
  --color-blue-380: #e9f4f6;
  --color-blue-800-01: #d0ecf4;
  --color-blue-700: #4ec0eb;
  --color-blue-800: #02a5e2;
  --color-blue-key: var(--color-blue-800);
  --color-gray-300: #f2f2f2;
  --color-gray-400: #f6f6f6;
  --color-gray-450: #f9fdfe;
  --color-gray-500: #cccccc;
  --color-gray-800: #666666;
  --color-yellow-300-04: rgb(255 246 110 / 0.4);
  --color-yellow-300: #fff66e;
  --color-yellow-key: var(--color-yellow-300);
  --color-trueblack: #000;
  --color-truewhite: #fff;
  --color-black: #333333;
  --color-black-006: rgb(0 0 0/ 0.06);
  --color-black-008: rgb(0 0 0/ 0.08);
  --color-white: #fff;
  --color-white-02: rgb(255 255 255 / 0.2);
  --color-white-08: rgb(255 255 255 / 0.8);
  --color-font-w: var(--color-white);
  --color-font-b: var(--color-black);
  /*
  --color-rank1: var(--color-brown-500);
  --color-rank2: var(--color-gray-300);
  --color-rank3: var(--color-brown-600);
  */
  --shadow005: rgb(0 0 0 /0.05);
  --shadow01: rgb(0 0 0 /0.1);
  --shadow016: rgb(0 0 0 /0.16);
  --shadow02: rgb(0 0 0 /0.2);
  --shadow025: rgb(0 0 0 /0.25);
  --shadow03: rgb(0 0 0 /0.3);
  --shadow07: rgb(0 0 0 /0.7);
  --shadow08: rgb(0 0 0 /0.8);
}

:root {
  --frem: 0.1rem;
  --fpx: 1px;
  --vpx: 1px;
  --funit: 0.1rem;
  --flsunit: 0.02rem;
  --vunit: 1px;
  --lunit: 1dvi;
  --spr: 0.75;
  --sspr: 0.75;
  --fspr: 0.575;
  --lhr: 1.5;
  --rrate: 1;
  --mq-xs: 0.2666666667dvi;
  --mq-md: 0.1302083333dvi;
  --mq-lg: 0.0651041667dvi;
  --mq-pcmax: 0.0520833333dvi;
  --mq-comp: 0.0520833333dvi;
  --vws: 0.2666666667dvi;
  --vwm: 0.1302083333dvi;
  --vwl: 0.0651041667dvi;
  --vwc: 0.0520833333dvi;
  --vhs: 0.2dvi;
  --vhc: 0.1302083333dvi;
  --vwms: min(var(--vws), var(--fpx));
  --vwmc: min(var(--vwc), var(--fpx));
  --vwpcm: 0.0520833333dvi;
  --vw: var(--vwc);
  --100dvi: 100dvi;
  --margin-inline-over: calc((100cqi - var(--100dvi)) / 2);
  --gutter: calc((var(--100dvi) - 100cqi) / 2);
  --leading-trim: calc((1em - 1lh) / 2);
  --infinity: calc(infinity * 1px);
  --layout-inner-pc: 1120;
  --layout-inner-sp: 100%;
  --layout-inner-margin-pc: 40;
  --layout-inner-margin-sp: 40;
  --layout-inner-margin: var(--layout-inner-margin-pc);
  --fixedcv-height-pc: 80;
  --fixedcv-height-sp: 50;
  --header-height-pc: 100;
  --header-height-sp: 60;
  --obj-z-fixed-cv: 99;
  --obj-z-l-header: 500;
  --obj-z-pagetopbtn: 450;
  --obj-z-l-followbottombar: 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", serif;
  --font-Roboto: "Roboto", var(--baseFont);
  --font-Barlow: "Barlow", var(--baseFont);
  --font-NotoSansJP: "Noto Sans JP";
  --font-YuuMincho: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro",
    serif;
  --baseFont: var(--font-NotoSansJP), "Helvetica Neue", "Helvetica",
    "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo",
    sans-serif;
  --icon-img-angle-arrow-down: url(data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAICAYAAAAftBSpAAAABHNCSVQICAgIfAhkiAAAANdJREFUKFONz78LAWEcx/G7C4NBymZg9QcYjDZGi43FJpPFj+FKlNhEMRkkk8FgMpgtssomg80qhXg/1/PUdZ0fV6++3+f7PM/n6XRjdgpomlbDEhv8+6U42EBPJyRDs8ATXblx/5Lkl+dKVB0dEeKjaaMMAzvksHcJijObIoYHWuKuCFFnkzQTRHBDFQO84EEdJrw4yIe24rI9RKyD6CMvk9fUJsRvJmTgkFrBVb3uDFHzLM0IITWgnlHAyjaz2k8hYi+MMdKYo4iLM+BXiLWPKI5ul9XsDUW4LzNJQVz5AAAAAElFTkSuQmCC);
  --icon-arrow-right: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" fill="white"><g transform="translate(-539 -614.85)"><rect width="13" height="2" transform="translate(539 621)" fill="%2306b4c6"/><path d="M547.465,616.264,552.99,622l-5.525,5.737" fill="none" stroke="%2306b4c6" stroke-linecap="round" stroke-width="2"/><path d="M547.466,623H539v-2h8.465v-4.736L552.991,622l-5.525,5.737Z" fill="%2302a5e2"/></g></svg>');
  --icon-circle-arrow-right-b: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" fill="white"><g transform="translate(-706 -13366)"><circle cx="15" cy="15" r="15" transform="translate(706 13366)" fill="%2302a5e2"/><rect width="13" height="2" transform="translate(714 13380)" fill="%2306b4c6"/><path d="M722.465,13375.264l5.525,5.736-5.525,5.737" fill="none" stroke="%2306b4c6" stroke-linecap="round" stroke-width="2"/><path d="M722.465,13382H714v-2h8.466v-4.737l5.527,5.738-5.527,5.738Z" fill="%23fff"/></g></svg>');
  --icon-angle-arrow-right-b: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="13" fill="white"><path d="M655.018,4752.361l5.862-5.861-5.862-5.863" transform="translate(-654.311 -4739.93)" fill="none" stroke="%2302a5e2" stroke-width="2"/></svg>');
  --card-article-radius-pc: 2.4rem;
  --card-article-radius-sp: 2rem;
  --card-s-radius-pc: 2.4rem;
  --card-s-radius-sp: 2rem;
  --card-m-radius-pc: 2.8rem;
  --card-m-radius-sp: var(--card-s-radius-pc);
  --card-l-radius-pc: 6.4rem;
  --card-l-radius-sp: var(--card-m-radius-pc);
  --card-ll-radius-pc: 8rem;
  --card-ll-radius-sp: var(--card-l-radius-pc);
  --card-shadow: inset 0.3rem 0.3rem 2rem rgba(0, 0, 0, 0.02),
    0 1rem 1.5rem rgba(0, 0, 0, 0.05), 1rem 1rem 2.5rem rgba(0, 0, 0, 0.05),
    -0.5rem -0.5rem 1rem rgba(255, 255, 255, 0.8),
    -0.5rem -0.5rem 1.5rem rgba(255, 255, 255, 0.3);
  --card-drop-shadow: drop-shadow(0 0 2rem var(--color-white-03));
  /*
    box-shadow:
      inset vunit(3) vunit(3) vunit(20) rgba(0, 0, 0, 0.02), //  内側のハイライト
      vunit(0) vunit(10) vunit(15) rgba(0, 0, 0, 0.05), //  シャドウ（エンボスの影）
      vunit(10) vunit(10) vunit(25) rgba(0, 0, 0, 0.05),
      vunit(-5) vunit(-5) vunit(10) rgba(255, 255, 255, 0.8),
      vunit(-5) vunit(-5) vunit(15) rgba(255, 255, 255, 0.3); //  ハイライト
    filter: drop-shadow(0 0 2.0rem var(--color-white-03)); //  光彩（外側）
  */
  --card-hover-shadow: 0 4rem 3rem rgba(25, 25, 25, 0.12);
  --card-hover-shadow02: 0 4.8rem 4rem rgba(25, 25, 25, 0.2);
  --card-hover-scale: 1.015;
  --card-hover-thumb-scale: 1.05;
  --card-radius: 2rem;
  --card-border-shadow: 0 0 calc(1 * var(--vunit)) rgba(25, 25, 25, 0.9);
  --form-radius: 0.5rem;
  --link-hover-opacity: 0.8;
  --btn-hover-opacity: 0.8;
  --ease-default: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.36, 0, 0.66, -0.56);
  --ease-slow-start: cubic-bezier(0.8, 0.22, 0.11, 0.76);
  --ease-fast-start: cubic-bezier(0.11, 0.76, 0.8, 0.22);
  --ease-text-slide: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
}

/*
@function _vw1($base) {
  //  @return calc(math.div(100, $base)) * 1dvi;
    @return math.div(100, $base) * 1dvi;
  }
  */
html {
  font-size: 10px;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: auto;
}

body {
  color: #333;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  font-family: "Noto Sans JP", sans-serif;
  word-break: break-word;
  font-optical-sizing: auto;
}
a {
  color: inherit;
  text-decoration: none;
}
a[href^="tel:"],
a[href^="mailto:"] {
  color: inherit;
  text-decoration: none;
}

em {
  font-style: normal;
}

img {
  width: 100%;
  height: auto;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background: none;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
}

@layer resets {
  ul,
  ol {
    list-style-type: "";
    padding: unset;
  }
  summary {
    display: block;
    list-style-type: "";
  }
  summary::-webkit-details-marker {
    display: none;
  }
  :where(button, [type="button"], [type="reset"], [type="submit"]) {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
  }
  * {
    min-inline-size: 0;
  }
}
.l-header {
  container: inline-size;
  top: 0;
  display: block grid;
  margin-inline: auto;
  width: 100%;
  height: calc(var(--header-height) * var(--vunit));
  z-index: var(--obj-z-l-header);
}

.l-header.l-header--fixed {
  position: fixed;
}

.l-header.l-header--sticky {
  position: sticky;
}

.l-footer {
  display: block grid;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.l-section,
.l-block {
  --_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;
  position: relative;
  display: block grid;
  grid-auto-flow: var(--_flow);
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  overflow-x: clip;
}

.l-section--fullw {
  width: var(--100dvi);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-inline: calc(var(--gutter) * -1);
}

.l-section--stack {
  grid-template: "stack" minmax(0, auto) / 1fr;
}
.l-section--stack > * {
  grid-area: stack;
  display: block grid;
  position: relative;
}

.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;
  --_iw: calc(var(--_lwi) + var(--_im));
  --_u-im: calc((var(--_im) / 2) * var(--vunit));
  --_u-iw: calc(var(--_iw) * var(--vunit));
  container-type: inline-size;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block grid;
  grid-template-columns: 1fr;
  grid-auto-flow: var(--_flow);
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-inline: auto;
  padding-left: var(--_u-im);
  padding-right: var(--_u-im);
  max-width: var(--_u-iw, unset);
  justify-items: var(--_inner-justify, center);
  /*
    @include mq-down(){
      padding-left: vunit(20);
      padding-right: vunit(20);
      //max-width: vunit(1286);
    }
    @include mq-up(){
      padding-left: vunit(20);
      padding-right: vunit(20);
      max-width: vunit(1286);
    }
  */
}

.l-inner--vunitw {
  --_u-im: calc((var(--_im) / 2) * var(--vunitw));
  --_u-iw: calc(var(--_iw) * var(--vunitw));
}

.l-inner--full-width {
  width: var(--100dvi);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: calc(var(--gutter) * -1);
  margin-right: calc(var(--gutter) * -1);
}

.l-grid,
[class*="l-grid--"] {
  position: relative;
  display: block grid;
  grid-template-columns: var(--_columns, 1fr);
  grid-auto-flow: var(--_flow, row);
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-box-align: var(--_align-items, center);
  -ms-flex-align: var(--_align-items, center);
  align-items: var(--_align-items, center);
  align-self: var(--_align-self, start);
}

.l-grid-content {
  background-color: var(--_background-color, var(--color-white));
  padding-top: calc(32 * var(--vunit));
  padding-bottom: calc(40 * var(--vunit));
}
.l-grid-content.l-grid--white {
  --_background-color: var(--color-white);
}

.l-grid-stack {
  position: relative;
  display: block grid;
  grid-template: "stack" minmax(0, auto) / 1fr;
}
.l-grid-stack > * {
  display: block grid;
  grid-area: stack;
}

.l-grid--card {
  --_flow: row;
  --_columns: 1fr;
  --_align-self: start;
  grid-template-rows: auto;
}

.l-grid--card-subgrid-3 {
  --_align-self: start;
  grid-template-columns: subgrid;
  grid-template-rows: span 3;
}

.l-grid--card-link {
  --_flow: row;
  --_columns: 1fr;
  --_align-self: start;
  grid-template-rows: auto;
}
.l-grid--card-link:focus-visible:has(.thumb) .thumb img {
  scale: var(--card-hover-thumb-scale);
}
.l-grid--card-link .thumb {
  grid-area: thumb;
}
.l-grid--card-link .thumb img {
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}

.l-flex {
  position: relative;
  display: block flex;
  -webkit-box-flex: var(--_flex, 1 1 auto);
  -ms-flex: var(--_flex, 1 1 auto);
  flex: var(--_flex, 1 1 auto);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: var(--_flow, row);
  flex-flow: var(--_flow, row);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

[class*="l-btn"] {
  --_flow: row;
  --_columns: 1fr;
  position: relative;
  display: block grid;
  grid-template-columns: var(--_columns);
  grid-auto-flow: var(--_flow);
  width: var(--_grid-width, -webkit-fit-content);
  width: var(--_grid-width, -moz-fit-content);
  width: var(--_grid-width, fit-content);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-items: var(--_justify, center);
}
.l-btn--col2 {
  --_columns: auto auto;
  gap: calc(13 * var(--vunit));
}

.l-btn--center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  justify-items: center;
  margin-inline: auto;
}

:where(.l-btn--left, .l-btn--start) {
  --_grid-width: fit-content;
  -webkit-margin-end: auto;
  margin-inline-end: auto;
}

:where(.l-btn--right, .l-btn--end) {
  --_grid-width: fit-content;
  --_l-btn-margin-sp: auto 0;
  margin-left: auto;
}

.l-background {
  z-index: -1;
  position: absolute;
  display: block grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  width: 100%;
  height: 100%;
  overflow-x: clip;
  pointer-events: none;
}

[class*="l-background--bg-"] {
  background-color: var(--_background-color-bg);
}

.l-background--bg-lightgray {
  --_background-color-bg: var(--color-gray-300);
}

.l-background--bg-lightgray2 {
  --_background-color-bg: var(--color-gray-450);
}

.l-background--bg-water {
  --_background-color-bg: var(--color-blue-800-01);
}

.l-background--bg-blue {
  --_background-color-bg: var(--color-blue-key);
}

.l-background--bg-green {
  --_background-color-bg: var(--color-green-100);
}

.l-background--bg-orange {
  --_background-color-bg: var(--color-orange-600-80);
}

.l-background--bg-black {
  --_background-color-bg: var(--color-black-500);
}

.l-background--justify-start {
  justify-self: start;
}

.l-background--justify-end {
  justify-self: end;
}

.l-background--align-start {
  -ms-flex-item-align: start;
  align-self: start;
}

.l-background--align-end {
  -ms-flex-item-align: end;
  align-self: end;
}

.l-background .l-background__image-cover {
  height: 100%;
}
.l-background .l-background__image-cover img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

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

.l-background__box {
  width: 100%;
  block-size: 100%;
}

[class*="l-background__box-slash"] {
  background-color: var(--_background-color, var(--color-gray-200-35));
  width: 100%;
  height: 100%;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.l-background__box-slash-r {
  clip-path: polygon(0 0, 100% 0, calc(100% - 110 * var(--vunit)) 100%, 0 100%);
}

.l-background__box-slash-l {
  clip-path: polygon(0 0, 100% 0, 100% 100%, calc(110 * var(--vunit)) 100%);
}

.l-background__bg-fill-diag {
  grid-area: 1/1/-1/-1;
  justify-self: end;
  background-color: var(--_background-color, var(--color-yellow-key));
}

.l-follow-bottombar {
  position: sticky;
  display: block grid;
  z-index: var(--obj-z-l-foolowbottombar);
  -ms-flex-line-pack: start;
  align-content: start;
  bottom: calc(-100 * var(--vwmc));
  padding-block: calc(12 * var(--vunit)) calc(23 * var(--vunit));
  background-color: var(--color-white-08);
  opacity: 0;
  -webkit-transition: opacity 0.3s, bottom 0.5s ease;
  transition: opacity 0.3s, bottom 0.5s ease;
  /*
    .logo{
      grid-area: logo;
      width: vunit( 300 );
      aspect-ratio: 300/30;
      height: fit-content;
    }
    .btn-login{
      grid-area: btn1;
    }
    .btn-signin{
      grid-area: btn2;
    }
  */
}
.l-follow-bottombar:not(.is-scroll-active) {
  pointer-events: none;
}
.l-follow-bottombar.is-scroll-active {
  bottom: 0;
  opacity: 1;
}
.l-follow-bottombar .l-inner .l-btn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-items: center;
}
.l-follow-bottombar .grid-btn .lead {
  text-align: center;
}

.c-btn-txt {
  display: inline grid;
  grid-template-columns: auto auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  text-decoration: unset;
  cursor: pointer;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: scale 0.3s ease, opacity 0.3s ease, color 0.3s ease;
  transition: scale 0.3s ease, opacity 0.3s ease, color 0.3s ease;
  color: var(--_btn-col-font, var(--color-font-b));
  font-size: 1.6rem;
  font-weight: var(--_btn-font-weight, --fw-bold);
  line-height: 1.25;
  letter-spacing: calc(var(--_btn-ls, 0) * 0.02rem);
}
.c-btn-txt span:not([class]) {
  position: relative;
  padding-bottom: calc(4 * var(--vunit));
}
.c-btn-txt.is-hover span:not([class]):after {
  -webkit-transform-origin: var(--_btn-hover-after-transform-origin, right top);
  transform-origin: var(--_btn-hover-after-transform-origin, right top);
  scale: var(--_btn-hover-after-scale-x, 0) 1;
}
.c-btn-txt:before,
.c-btn-txt:after {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

a.c-btn-txt:focus-visible span:not([class]):after {
  -webkit-transform-origin: var(--_btn-hover-after-transform-origin, right top);
  transform-origin: var(--_btn-hover-after-transform-origin, right top);
  -webkit-transform: scale(var(--_btn-hover-after-scale-x, 0), 1);
  transform: scale(var(--_btn-hover-after-scale-x, 0), 1);
}

.c-btn-txt span:not([class])::before,
.c-btn-txt span:not([class])::after {
  background: var(--color-black);
  content: "";
  width: 100%;
  height: calc(1 * var(--vunit));
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transform-origin: var(--_btn-hover-after-transform-origin, right top);
  transform-origin: var(--_btn-hover-after-transform-origin, right top);
  scale: var(--_btn-before-scale-x, 0) 1;
  -webkit-transition: scale 0.3s ease, -webkit-transform 0.3s ease;
  transition: scale 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, scale 0.3s ease;
  transition: transform 0.3s ease, scale 0.3s ease, -webkit-transform 0.3s ease;
}

.c-btn-txt span:not([class])::after {
  -webkit-transform-origin: var(--_btn-after-transform-origin, left top);
  transform-origin: var(--_btn-after-transform-origin, left top);
  scale: var(--_btn-after-scale-x, 1) 1;
}

body.safari .c-btn-txt span:not([class])::before,
body.safari .c-btn-txt span:not([class])::after {
  -webkit-transition: unset;
  transition: unset;
}

a.c-btn-txt:has([class*="c-icon"]):focus-visible > [class*="c-icon"] {
  translate: calc(2 * var(--vunit));
}
a.c-btn-txt:has([class*="c-icon"]):focus-visible .c-icon--arrow-right {
  translate: calc(2 * var(--vunit));
}

.c-btn-txt:has([class*="c-icon"]).is-hover [class*="c-icon--arrow"] {
  translate: calc(2 * var(--vunit));
}
.c-btn-txt:has([class*="c-icon"]) > [class*="c-icon"] {
  margin-left: calc(8 * var(--vunit));
  margin-bottom: calc(2 * var(--vunit));
  pointer-events: none;
  -webkit-transition: scale 0.3s ease, translate 0.3s ease;
  transition: scale 0.3s ease, translate 0.3s ease;
}

.c-btn-txt:not(:has([class*=c-icon--]))[href^="http://"],
.c-btn-txt:not(:has([class*=c-icon--]))[href^="https://"]
{
  grid-template-columns: auto auto;
}
.c-btn-txt:not(:has([class*=c-icon--]))[href^="http://"]:after,
.c-btn-txt:not(:has([class*=c-icon--]))[href^="https://"]:after
{
  content: "";
  margin-left: calc(11 * var(--vunit));
  width: calc(13 * var(--vunit));
  height: calc(13 * var(--vunit));
  -webkit-mask-image: var(--icon-external);
  mask-image: var(--icon-external);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  background-color: var(--color-orange-600);
  pointer-events: none;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}

.c-btn-txt.c-btn--white {
  --_btn-col-font: var(--color-font-b);
  --_btn-col-bg: var(--color-white);
  --_icon-col: var(--color-orange-600);
  --_btn-hover-col-font: var(--color-font-b);
  --_btn-hover-col-bg: var(--color-gray-50);
}
.c-btn-txt.c-btn--blue {
  --_btn-col-font: var(--color-blue-key);
  --_icon-col: var(--color-blue-key);
  --_btn-hover-after-scale-x: 1;
  --_btn-before-scale-x: 0;
  --_btn-after-scale-x: 0;
  --_btn-hover-after-transform-origin: left top;
  --_btn-after-transform-origin: right top;
  --_btn-font-weight: var(--fw-regular);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-btn-txt.c-btn--blue span:not([class]):before,
.c-btn-txt.c-btn--blue span:not([class]):after {
  background: var(--color-blue-key);
}
.c-btn-txt.c-btn--orange {
  --_btn-col-font: var(--color-orange-600);
  --_icon-col: var(--color-orange-600);
  --_btn-hover-after-scale-x: 1;
  --_btn-before-scale-x: 0;
  --_btn-after-scale-x: 0;
  --_btn-hover-after-transform-origin: left top;
  --_btn-after-transform-origin: right top;
  --_btn-font-weight: var(--fw-regular);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-btn-txt.c-btn--orange span:not([class]):before,
.c-btn-txt.c-btn--orange span:not([class]):after {
  background: var(--color-orange-600);
}
.c-btn-txt.c-btn--orange-col3 {
  --_btn-col-font: var(--color-orange-600);
  --_icon-col: var(--color-orange-600);
  --_btn-font-weight: var(--fw-regular);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-btn-txt.c-btn--orange-col3 span:not([class]) {
  display: block grid;
  grid-template-columns: auto 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-btn-txt.c-btn--orange-col3 span:not([class]):before,
.c-btn-txt.c-btn--orange-col3 span:not([class]):after {
  background: var(--color-orange-600-15);
  height: calc(5 * var(--vunit));
}
.c-btn-txt.c-btn--orange-col3 span:not([class]) [class*="c-icon--arrow"] {
  margin-left: calc(10 * var(--vunit));
}

.c-btn-ttl {
  display: inline;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  text-decoration: unset;
  white-space: nowrap;
  cursor: pointer;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: scale 0.3s ease, opacity 0.3s ease, color 0.3s ease;
  transition: scale 0.3s ease, opacity 0.3s ease, color 0.3s ease;
  color: var(--_btn-col-font, var(--color-font-b));
  font-size: calc(24 * var(--vunit));
  font-weight: var(--fw-bold);
  line-height: 1.4583333333;
  letter-spacing: calc(var(--_btn-ls, 0) * 0.02rem);
}
.c-btn-ttl .ttl {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: inline;
  align-items: center;
  gap: calc(4 * var(--vunit));
}
.c-btn-ttl span:not([class]) {
  display: inline;
  position: relative;
  padding-bottom: calc(4 * var(--vunit));
}
.c-btn-ttl.is-hover span:not([class]):after {
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
}
.c-btn-ttl.is-hover [class*="ttl"] {
  background-position: bottom left;
}

a.c-btn-ttl:focus-visible [class*="ttl"] {
  background-size: 100% calc(1 * var(--vunit));
  background-position: bottom left;
}

/*
//  ttlと書かれているクラス
.c-btn-ttl [class*="ttl"]{
  display: inline;
  background-image: linear-gradient(var(--color-orange-600), var(--color-orange-600)); // 単色
  background-size: 0 vunit(1); // 幅(0=見えない状態) | 高さ(=線の太さ)
  background-position: bottom right; // 右下に配置
  background-repeat: no-repeat;
  padding-bottom: vunit(0);
  transition: background-size 0.3s ease-out;
}

//  直下でclassのないspan=文章
.c-btn-ttl span:not([class])::before,
.c-btn-ttl span:not([class])::after
{
//  background: var(--color-black);
  background: var(--color-orange-600);
  content: '';
  width: 100%;
//  width: calc(100% - vunit(25));
  height: vunit(1);
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s ease;
}
*/
a.c-btn-ttl:has([class*="c-icon"]):focus-visible [class*="c-icon--circle"] {
  translate: calc(2 * var(--vunit));
}

.c-btn-ttl:has([class*="c-icon"]).is-hover [class*="c-icon--circle"] {
  translate: calc(2 * var(--vunit));
}
.c-btn-ttl:has([class*="c-icon"]).is-hover [class*="c-icon-img--angle"] {
  translate: calc(2 * var(--vunit));
}
.c-btn-ttl:has([class*="c-icon"]) .c-icon-img--angle-arrow-right {
  top: calc(-4 * var(--vunit));
}
.c-btn-ttl:has([class*="c-icon"]) [class*="c-icon--circle"] {
  position: absolute;
  bottom: calc(3 * var(--vunit));
  top: unset;
  --_iw-pc: 22;
  --_ih-pc: 22;
  margin-left: calc(10 * var(--vunit));
  pointer-events: none;
  -webkit-transition: scale 0.3s ease, translate 0.3s ease;
  transition: scale 0.3s ease, translate 0.3s ease;
}

.c-btn-ttl.c-btn--white {
  --_btn-col-font: var(--color-font-b);
  --_btn-col-bg: var(--color-white);
  --_icon-col: var(--color-orange-600);
  --_btn-hover-col-font: var(--color-font-b);
  --_btn-hover-col-bg: var(--color-gray-50);
}
.c-btn-ttl.c-btn--orange {
  --_btn-col-font: var(--color-font-w);
  --_btn-col-bg: var(--color-orange-500);
}

.c-btn-ttl.c-btn--h3 span:not([class]) [class*="c-icon--circle"] {
  bottom: calc(8 * var(--vunit));
}
.c-btn-ttl.c-btn--h4 {
  font-size: calc(24 * var(--vunit));
  font-weight: var(--fw-bold);
  line-height: 1.0416666667;
  letter-spacing: 0rem;
}
.c-btn-ttl.c-btn--h4 .ttl [class*="c-icon-img--angle-arrow"] {
  left: calc(3 * var(--vunit));
}

.c-btn-rounded-list {
  display: block grid;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(21 * var(--vunit));
}

.c-btn-rounded {
  z-index: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  position: relative;
  display: block grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  overflow: clip;
  -webkit-transition: opacity 0.3s, color 0.3s, background-color 0.3s,
    background-position 0.3s, translate 0.3s, scale 0.3s, -webkit-filter 0.3s;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s,
    background-position 0.3s, translate 0.3s, scale 0.3s, -webkit-filter 0.3s;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s,
    background-position 0.3s, translate 0.3s, filter 0.3s, scale 0.3s;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s,
    background-position 0.3s, translate 0.3s, filter 0.3s, scale 0.3s,
    -webkit-filter 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  min-width: calc(var(--_btn-width, 320) * var(--vunit));
  min-height: calc(var(--_btn-height, 58) * var(--vunit));
  padding-inline: calc(var(--_btn-padding, 27) * var(--vunit));
  color: var(--_btn-col-font, var(--color-font-w));
  border: var(--_btn-border-weight, calc(3 * var(--vunit))) solid
    var(--_btn-col-border, var(--color-blue-key));
  border-radius: var(--infinity);
  background-color: var(--_btn-col-bg, var(--color-blue-key));
  font-size: 2rem;
  font-weight: var(--fw-bold);
  line-height: 1.2;
  letter-spacing: calc(var(--_btn-ls, 0) * 0.02rem);
}
.c-btn-rounded > span:not([class]) {
  display: inline grid;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
}

.c-btn-rounded:not([class*="c-btn--grad"]).is-hover {
  --_btn-col-font: var(--_btn-hover-col-font, var(--color-font-w));
  --_btn-col-bg: var(--_btn-hover-col-bg, var(--color-orange-700));
  scale: 1.02;
}

:where(a, button).c-btn-rounded:not([class*="c-btn--grad"]) {
  cursor: pointer;
}
:where(a, button).c-btn-rounded:not([class*="c-btn--grad"]):focus-visible {
  --_btn-col-font: var(--_btn-hover-col-font, var(--color-font-w));
  --_btn-col-bg: var(--_btn-hover-col-bg, var(--color-blue-key));
  scale: 1.02;
}

/*
//  グラデーションの場合
:where(a, button).c-btn-rounded[class*="c-btn--grad"] {
  //  フォーカス時
  @include hover(){
    > .bg{
      background-position: 100% 0;
    }
  }
  > .bg{
    background: var(--_btn-col-bg, var(--grad-orange-right));
    background-size: 200% 100%;
    transition: color .5s ease, width .5s ease, background-position .5s ease;
  }
}
.c-btn-rounded[class*="c-btn--grad"] {
  // js制御ホバー時
  &.is-hover{
    > .bg{
      background-position: 100% 0;
    }
  }
}
*/
.c-btn-rounded > .bg {
  /*
  position: absolute;
  z-index: -1;
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: var(--_btn-col-bg, var(--color-blue-key));
  transition: color .3s ease, width .3s ease, background-color .3s ease;*/
}

.c-btn-rounded:has([class*="c-icon"]) [class*="c-icon--circle"],
.c-btn-rounded:has([class*="c-icon"]) [class*="c-icon-img--circle"] {
  --_iw-pc: var(--_btn-icon-width, 38);
  --_ih-pc: var(--_btn-icon-height, 38);
  --_icon-circle-bg-col: var(--_btn-icon-circle-bg-col, var(--color-white));
  position: absolute;
  right: var(--_btn-icon-right, calc(20 * var(--vunit)));
  -webkit-transition: scale 0.3s ease, translate 0.3s ease;
  transition: scale 0.3s ease, translate 0.3s ease;
  pointer-events: none;
}
.c-btn-rounded:has([class*="c-icon"]) [class*="c-icon--arrow"] {
  --_iw-pc: var(--_btn-icon-width, 14);
  --_ih-pc: var(--_btn-icon-height, 11);
  --_icon-col: var(--_btn-icon-arrow-col, var(--color-blue-key));
}
.c-btn-rounded:has([class*="c-icon"]) .c-icon--arrow-left {
  right: unset;
  left: var(--_btn-icon-right, calc(20 * var(--vunit)));
}

.c-btn-rounded.c-btn--white {
  --_btn-col-font: var(--color-blue-key);
  --_btn-col-bg: var(--color-white);
  --_btn-col-border: var(--color-font-w);
  --_icon-col: var(--color-blue-key);
  --_btn-hover-col-font: var(--color-blue-key);
  --_btn-hover-col-bg: var(--color-white);
  --_btn-icon-circle-bg-col: var(--color-blue-key);
  --_btn-icon-arrow-col: var(--color-font-w);
}
.c-btn-rounded.c-btn--border-white {
  --_btn-col-font: var(--color-font-w);
  --_btn-col-bg: var(--color-blue-key);
  --_btn-col-border: var(--color-font-w);
  --_icon-col: var(--color-blue-key);
  --_btn-icon-circle-bg-col: var(--color-font-w);
  --_btn-icon-arrow-col: var(--color-blue-key);
}
.c-btn-rounded.c-btn--border-blue {
  --_btn-col-font: var(--color-blue-key);
  --_btn-col-bg: var(--color-white);
  --_btn-col-border: var(--color-font-blue-key);
  --_icon-col: var(--color-blue-key);
  --_btn-hover-col-font: var(--color-blue-key);
  --_btn-hover-col-bg: var(--color-white);
  --_btn-icon-circle-bg-col: var(--color-blue-key);
  --_btn-icon-arrow-col: var(--color-font-w);
}

.c-btn-rounded.c-btn--s {
  --_btn-icon-right: calc(10 * var(--vunit));
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  line-height: 1.1111111111;
}
.c-btn-rounded.c-btn--s [class*="c-icon--circle"],
.c-btn-rounded.c-btn--s [class*="c-icon-img--circle"] {
  --_iw-pc: 22;
  --_ih-pc: 22;
}
.c-btn-rounded.c-btn--s [class*="c-icon--arrow"] {
  --_iw-pc: 10;
  --_ih-pc: 8;
}
.c-btn-rounded.c-btn--m {
  --_btn-icon-right: calc(12 * var(--vunit));
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  line-height: 1.6666666667;
}
.c-btn-rounded.c-btn--m [class*="c-icon--circle"],
.c-btn-rounded.c-btn--m [class*="c-icon-img--circle"] {
  --_iw-pc: 28;
  --_ih-pc: 28;
}
.c-btn-rounded.c-btn--m [class*="c-icon--arrow"] {
  --_iw-pc: 10;
  --_ih-pc: 8;
}
.c-btn-rounded.c-btn--col2 [class*="c-icon--circle"],
.c-btn-rounded.c-btn--col2 [class*="c-icon-img--circle"] {
  --_iw-pc: 38;
  --_ih-pc: 38;
  --_iw-sp: 26;
  --_ih-sp: 26;
}
.c-btn-rounded.c-btn--col2 [class*="c-icon--arrow"] {
  --_iw-pc: 14;
  --_ih-pc: 13;
  --_iw-sp: 14;
  --_ih-sp: 13;
}
.c-btn-rounded.c-btn--col2-slim [class*="c-icon--circle"],
.c-btn-rounded.c-btn--col2-slim [class*="c-icon-img--circle"] {
  --_iw-pc: 24;
  --_ih-pc: 24;
  --_iw-sp: 24;
  --_ih-sp: 24;
}
.c-btn-rounded.c-btn--col2-slim [class*="c-icon--arrow"] {
  --_iw-pc: 10;
  --_ih-pc: 8;
  --_iw-sp: 10;
  --_ih-sp: 8;
}
.c-btn-rounded.c-btn--col2-l [class*="c-icon--circle"],
.c-btn-rounded.c-btn--col2-l [class*="c-icon-img--circle"] {
  --_iw-pc: 38;
  --_ih-pc: 38;
  --_iw-sp: 26;
  --_ih-sp: 26;
}
.c-btn-rounded.c-btn--col2-l [class*="c-icon--arrow"] {
  --_iw-pc: 13;
  --_ih-pc: 11;
  --_iw-sp: 10;
  --_ih-sp: 8;
}

.c-btn-card-link {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  cursor: pointer;
}

.c-btn-icon {
  display: block grid;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.c-btn-icon.is-hover {
  --_icon-x: 2;
}
.c-btn-icon:has(.is-hover) {
  --_icon-x: 2;
}
.c-btn-icon > [class*="c-icon"] {
  --_itx: var(--_icon-x, 0);
}

:where(a, button).c-btn-icon:focus-visible {
  --_icon-x: 2;
}

.c-block-btn-scroll {
  display: block grid;
  width: 100%;
  height: 0;
  margin-inline: auto;
}
.c-block-btn-scroll .c-btn-scroll {
  position: relative;
}

.c-btn-scroll {
  display: block grid;
  position: relative;
  justify-self: center;
  justify-items: center;
  align-self: end;
  gap: calc(7 * var(--vunit));
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  z-index: 10;
}
.c-btn-scroll:focus-visible {
  opacity: 0.6;
}
.c-btn-scroll .text {
  font-family: var(--Barlow);
  font-size: 1.4rem;
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: 0rem;
}
.c-btn-scroll .line {
  display: block grid;
  position: relative;
  width: calc(1 * var(--vunit));
  background-color: var(--color-gray-500);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
.c-btn-scroll .line:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(1 * var(--vunit));
  height: 100%;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(var(--color-font-b)),
    color-stop(50%, var(--color-font-b)),
    color-stop(90%, var(--color-font-b)),
    to(var(--color-font-b))
  );
  background: linear-gradient(
    var(--color-font-b) 0%,
    var(--color-font-b) 50%,
    var(--color-font-b) 90%,
    var(--color-font-b) 100%
  );
  -webkit-animation: c-btn-scroll-anim 3s infinite;
  animation: c-btn-scroll-anim 3s infinite;
}
@-webkit-keyframes c-btn-scroll-anim {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  75% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  75.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
@keyframes c-btn-scroll-anim {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  75% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  75.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}

.c-hamburger {
  --_col: var(--color-blue-key);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.c-hamburger:focus-visible {
  opacity: 0.8;
}

.c-hamburger__inner {
  display: block grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  grid-auto-flow: row;
  gap: calc(4 * var(--vunit));
  place-self: center;
  justify-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(36 * var(--vunit));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.c-hamburger__inner > span {
  background-color: var(--_col);
  height: calc(5 * var(--vunit));
  justify-self: end;
  -webkit-transition: rotate 0.3s, opacity 0.3s, translate 0.3s, width 0.3s;
  transition: rotate 0.3s, opacity 0.3s, translate 0.3s, width 0.3s;
}
.c-hamburger__inner > span:nth-child(1) {
  width: calc(100% - 0 * var(--vunit));
}
.c-hamburger__inner > span:nth-child(2) {
  width: calc(100% - 10 * var(--vunit));
}
.c-hamburger__inner > span:nth-child(3) {
  width: calc(100% - 20 * var(--vunit));
}

.c-hamburger.is-open .c-hamburger__inner > span {
  width: 100%;
}
.c-hamburger.is-open .c-hamburger__inner > span:nth-child(1) {
  rotate: 135deg;
  translate: 0 calc(11 * var(--vunit));
}
.c-hamburger.is-open .c-hamburger__inner > span:nth-child(2) {
  opacity: 0;
}
.c-hamburger.is-open .c-hamburger__inner > span:nth-child(3) {
  rotate: 45deg;
  translate: 0 calc(-10 * var(--vunit));
}

.c-banner {
  display: block grid;
  max-width: var(--_banner-width, calc(1200 * var(--vunit)));
  -webkit-transition: opacity 0.3s ease, background-color 0.3s;
  transition: opacity 0.3s ease, background-color 0.3s;
  background-color: color-mix(
    in srgb,
    var(--color-white) 100%,
    var(--color-black)
  );
}
.c-banner .c-fig {
  overflow: clip;
}
.c-banner .c-fig img {
  -webkit-transition: opacity 0.3s, scale 0.5s ease;
  transition: opacity 0.3s, scale 0.5s ease;
}
.c-banner:focus-visible img {
  opacity: var(--btn-hover-opacity);
  scale: var(--card-hover-thumb-scale);
}

.c-details-content {
  display: block grid;
  grid-template-columns: repeat(var(--_colcount, 2), 1fr);
  grid-auto-flow: row;
  gap: calc(var(--_gap, 0) * var(--vunit));
}
.c-details-content.c-details-contents--col01 {
  --_colcount: 1;
  --_summary-gap: 20;
  --_detail-gap: 22;
}
.c-details-content.c-details-contents--shadow {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-filter: drop-shadow(0 0 calc(20 * var(--vunit)) var(--shadow01));
  filter: drop-shadow(0 0 calc(20 * var(--vunit)) var(--shadow01));
}

.c-details-qa {
  display: block grid;
  -ms-flex-line-pack: center;
  align-content: center;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: calc(var(--_radius, 0) * var(--vunit));
  text-align: start;
  color: var(--_fcol, var(--color-font-b));
  border-bottom: calc(1 * var(--vunit)) solid var(--color-gray-300-50);
}
.c-details-qa:first-child {
  border-top: calc(1 * var(--vunit)) solid var(--color-gray-300-50);
}
.c-details-qa[data-open="true"] > summary {
  --_rotate1: 90deg;
  --_rotate2: 180deg;
  --_opacity2: 0;
}

.c-details-qa > summary {
  display: block grid;
  grid-template: "q . icon" / minmax(-webkit-max-content, auto) 1fr minmax(
      -webkit-max-content,
      auto
    );
  grid-template: "q . icon" / minmax(max-content, auto) 1fr minmax(
      max-content,
      auto
    );
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(var(--_min-height-pc, 89) * var(--vunit));
  cursor: pointer;
  font-size: 1.6rem;
  line-height: 1.6875;
  letter-spacing: 0rem;
}
.c-details-qa > summary .q {
  grid-area: q;
  position: relative;
  display: block grid;
  font-family: var(--font-Roboto);
  color: var(--color-detail-question, var(--color-orange-600));
  place-content: center;
  top: calc(-1 * var(--vunit));
  width: calc(36 * var(--vunit));
  aspect-ratio: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  background-color: var(--color-gray-300-20);
  border-radius: var(--infinity);
  font-size: 2rem;
  font-weight: var(--fw-bold);
  line-height: 1;
}
.c-details-qa > summary .q:after {
  content: "Q";
  place-self: center;
  display: block grid;
}

.c-details-content.c-details--icon-angle-arrow .c-details-qa > summary:after {
  --_tickness: 2;
  --_size: 14;
  --_aw: calc(var(--_tickness) * var(--vunit));
  --_as: calc(var(--_size) * var(--vunit));
  content: "";
  grid-area: icon;
  display: block grid;
  place-content: center;
  width: var(--_as);
  height: var(--_as);
  clip-path: polygon(
    0 0,
    100% 0,
    100% 100%,
    calc(100% - var(--_aw)) 100%,
    calc(100% - var(--_aw)) var(--_aw),
    0 var(--_aw)
  );
  background-color: var(--color-orange-600);
  margin-top: calc(9 * var(--vunit));
  margin-right: calc(5 * var(--vunit));
  -webkit-transition: translate 0.3s, rotate 0.3s, opacity 0.3s;
  transition: translate 0.3s, rotate 0.3s, opacity 0.3s;
  translate: var(--_icon-translate, 0 calc(-4 * var(--vunit)));
  rotate: var(--_icon-rotate, 135deg);
  opacity: var(--_icon-opacity, 1);
}

.c-details-content.c-details--icon-plus .c-details-qa > summary {
  --_iw-pc: 16;
  --_ih-pc: 16;
}
.c-details-content.c-details--icon-plus .c-details-qa > summary:before,
.c-details-content.c-details--icon-plus .c-details-qa > summary:after {
  content: "";
  grid-area: icon;
  justify-self: end;
  display: block grid;
  place-content: center;
  -webkit-transition: rotate 0.3s, opacity 0.3s;
  transition: rotate 0.3s, opacity 0.3s;
  border-bottom: calc(16 * var(--vunit)) solid var(--color-orange-600);
  width: calc(2 * var(--vunit));
  margin-right: calc(16 * var(--vunit));
}
.c-details-content.c-details--icon-plus .c-details-qa > summary:before {
  rotate: var(--_rotate1, 0deg);
  opacity: var(--_opacity1, 1);
}
.c-details-content.c-details--icon-plus .c-details-qa > summary:after {
  rotate: var(--_rotate2, 90deg);
  opacity: var(--_opacity2, 1);
}

.c-details-qa > .content {
  position: relative;
  display: block grid;
  grid-template: "a ." / minmax(-webkit-max-content, auto) 1fr;
  grid-template: "a ." / minmax(max-content, auto) 1fr;
  -webkit-transition: opacity 0.3s, max-block-size 0.3s, block-size 0.3s,
    -webkit-transform 0.3s;
  transition: opacity 0.3s, max-block-size 0.3s, block-size 0.3s,
    -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, max-block-size 0.3s, block-size 0.3s;
  transition: opacity 0.3s, transform 0.3s, max-block-size 0.3s, block-size 0.3s,
    -webkit-transform 0.3s;
  background-color: var(--color-gray-200-35);
}
.c-details-qa > .content > div {
  display: block grid;
  padding-inline: calc(0 * var(--vunit)) calc(20 * var(--vunit));
  -ms-flex-line-pack: center;
  align-content: center;
  padding-block: calc(40 * var(--vunit));
  min-height: calc(110 * var(--vunit));
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0rem;
}
.c-details-qa > .content .a {
  grid-area: a;
  position: relative;
  display: block grid;
  place-content: center;
  place-self: center;
  font-family: var(--font-Roboto);
  color: var(--color-detail-question, var(--color-font-w));
  background-color: var(--color-orange-600);
  width: calc(36 * var(--vunit));
  aspect-ratio: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: var(--infinity);
  font-size: 1.6rem;
  font-weight: var(--fw-bold);
  line-height: 1.5;
}
.c-details-qa > .content .a:after {
  content: "A";
}

[class*="c-icon--"] {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: inline grid;
  position: relative;
  -webkit-transition: opacity 0.3s, background-color 0.3s, color 0.3s,
    translate 0.3s, width 0.3s, min-width 0.3s, height 0.3s, min-height 0.3s,
    scale 0.3s;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s, translate 0.3s,
    width 0.3s, min-width 0.3s, height 0.3s, min-height 0.3s, scale 0.3s;
  --_itx: 0;
  --_ity: 0;
  --_u-itx: calc(var(--_itx) * var(--vunit));
  --_u-ity: calc(var(--_ity) * var(--vunit));
  width: calc(var(--_iw) * var(--vunit));
  height: calc(var(--_ih) * var(--vunit));
  min-height: calc(var(--_ih) * var(--vunit));
  aspect-ratio: var(--_iw) / var(--_ih);
  background-color: var(--_icon-col, var(--color-black));
  translate: var(--_u-itx) var(--_u-ity);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
}
[class*="c-icon--"]::before,
[class*="c-icon--"]::after {
  -webkit-transition: opacity 0.3s, color 0.3s, translate 0.3s, scale 0.3s;
  transition: opacity 0.3s, color 0.3s, translate 0.3s, scale 0.3s;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  z-index: 0;
  will-change: scale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.c-icon--arrow-left {
  --_iw-pc: 14;
  --_ih-pc: 13;
  -webkit-mask-image: var(--icon-arrow-right);
  mask-image: var(--icon-arrow-right);
  rotate: 180deg;
}

.c-icon--arrow-right {
  --_iw-pc: 15;
  --_ih-pc: 14;
  -webkit-mask-image: url("../../assets/img/common/icon/icon_arrow_right_b.svg");
  mask-image: url("../../assets/img/common/icon/icon_arrow_right_b.svg");
}

.c-icon--arrow-down {
  --_iw-pc: 14;
  --_ih-pc: 13;
  -webkit-mask-image: var(--icon-arrow-right);
  mask-image: var(--icon-arrow-right);
  rotate: 90deg;
}

.c-icon--external {
  --_iw-pc: 13;
  --_ih-pc: 13;
  -webkit-mask-image: var(--icon-external);
  mask-image: var(--icon-external);
}

.c-icon--angle-arrow-right,
.c-icon--angle-arrow-left,
.c-icon--angle-arrow-down {
  --_aw: calc(var(--_tickness) * var(--vunit));
  --_as: calc(var(--_size) * var(--vunit));
  width: var(--_as);
  block-size: var(--_as);
  clip-path: polygon(
    0 0,
    100% 0,
    100% 100%,
    calc(100% - var(--_aw)) 100%,
    calc(100% - var(--_aw)) var(--_aw),
    0 var(--_aw)
  );
  background-color: var(--color-white, var(--color-black));
}

.c-icon--angle-arrow-right {
  rotate: 45deg;
}

.c-icon--angle-arrow-left {
  rotate: -135deg;
}

.c-icon--angle-arrow-down {
  rotate: 135deg;
}

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

.c-icon--tel {
  --_iw-pc: 32;
  --_ih-pc: 34;
  -webkit-mask-image: var(--icon-tel);
  mask-image: var(--icon-tel);
}

/*
//----------------------------------------
//  〇> 拡大機能付き
.c-icon--circle-angle-arrow-right {
  --_iw-pc: 25;
  --_ih-pc: 25;
  --_icon-col : transparent;
  mask-repeat: unset;
  mask-position: unset;
  mask-size: unset;

  &:before,
  &:after{
    content: "";
    position: absolute;
    display: inline grid;
    //grid-area:1/1/-1/-1;  //  印刷で表示されなくなる
    inset: 0;
    left: 0;
    top: 0;
  }
  //  アニメーションによって背景のみ拡大パターンがあるため分ける
  //  矢印
  &:after{
    --_aw : calc( var(--_tickness,2) * var(--funit) );
    --_as : calc( var(--_size,8) * var(--funit) );
    left: calc( vunit(-3));
    margin: auto;
    rotate: 45deg;
    min-width: var(--_as);
    min-height: var(--_as);
    width: var(--_as);
    height: var(--_as);
    place-self: center;
    clip-path: polygon( 0 0, 100% 0, 100% 100%, calc(100% - var(--_aw)) 100%, calc(100% - var(--_aw)) var(--_aw), 0 var(--_aw) );
    background-color: var(--color-white);
    z-index: 1;
    @include mq-down(){
      --_tickness: 2; // 線の太さ
      --_size    : 8; // サイズ
    }
  }
  &.c-icon--size-l{
    --_iw-pc: 40;
    --_ih-pc: 40;
  }
  //  疑似要素がsafariで崩れるので内包HTML要素にする
  span:first-child{
    display: grid;
    width: 100%;
    height: 100%;
    background: var(--grad-orange-right);
    border-radius: var(--infinity);
    scale: 1;
    z-index: 0;
    transition: scale 0.3s ease;
    @media print{
      //display: none;
    }
  }
}
*/
.c-icon--circle {
  --_iw-pc: 38;
  --_ih-pc: 38;
  --_icon-col: transparent;
  -webkit-mask-repeat: unset;
  mask-repeat: unset;
  -webkit-mask-position: unset;
  mask-position: unset;
  -webkit-mask-size: unset;
  mask-size: unset;
  grid-template: "stack" minmax(0, auto) / 1fr;
}
.c-icon--circle > * {
  grid-area: stack;
  place-self: center;
}
.c-icon--circle .c-icon--arrow-right {
  --_iw-pc: 8;
  --_ih-pc: 8;
  --_icon-col: var(--color-white);
}
.c-icon--circle.c-icon--size-l {
  --_iw-pc: 40;
  --_ih-pc: 40;
}
.c-icon--circle .bg {
  display: grid;
  width: 100%;
  height: 100%;
  background-color: var(--_icon-circle-bg-col, var(--color-white));
  border-radius: var(--infinity);
  scale: 1;
  z-index: 0;
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
.c-icon--circle .arrow-right {
  display: inline grid;
  left: 0;
  top: 0;
  --_aw: calc(var(--_tickness, 2) * var(--funit));
  --_as: calc(var(--_size, 8) * var(--funit));
  left: calc(-3 * var(--vunit));
  margin: auto;
  rotate: 135deg;
  min-width: var(--_as);
  min-height: var(--_as);
  width: var(--_as);
  height: var(--_as);
  place-self: center;
  clip-path: polygon(
    0 0,
    100% 0,
    100% 100%,
    calc(100% - var(--_aw)) 100%,
    calc(100% - var(--_aw)) var(--_aw),
    0 var(--_aw)
  );
  background-color: var(--color-white);
  z-index: 1;
}
.c-icon--circle .arrow-bottom {
  justify-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  background-image: var(--icon-angle-arrow-bottom);
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: calc(var(--_iw-after-pc, 10) * var(--vunit));
  height: calc(var(--_ih-after-pc, 7) * var(--vunit));
}

/*
//----------------------------------------
//  〇□↗ 拡大機能付き
.c-icon--circle-external {
  --_iw-pc: 35;
  --_ih-pc: 35;
  --_icon-col : transparent;
  mask-repeat: unset;
  mask-position: unset;
  mask-size: unset;

  &:before,
  &:after{
    content: "";
    position: absolute;
    display: inline grid;
    grid-area:1/1/-1/-1;
    inset: 0;
    left: 0;
    top: 0;
  }
  //  矢印
  &:after{
    margin: auto;
    justify-self: center;
    align-self: center;
    background-image: url('../../assets/img/common/icon/icon_external_w.png');
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    width: vunit(var(--_iw-after-pc,14));
    height: vunit(var(--_ih-after-pc,15));
  }
  //  疑似要素がsafariで崩れるので内包HTML要素にする
  span:first-child{
    display: grid;
    width: 100%;
    height: 100%;
    background: var(--grad-orange-right);
    border-radius: var(--infinity);
    scale: 1;
    z-index: 0;
    transition: scale 0.3s ease;
  }
}
*/
[class*="c-icon-img--"] {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  display: inline flow-root;
  position: relative;
  -webkit-transition: opacity 0.3s, translate 0.3s, -webkit-box-shadow 0.3s;
  transition: opacity 0.3s, translate 0.3s, -webkit-box-shadow 0.3s;
  transition: opacity 0.3s, box-shadow 0.3s, translate 0.3s;
  transition: opacity 0.3s, box-shadow 0.3s, translate 0.3s,
    -webkit-box-shadow 0.3s;
  --_itx: 0;
  --_ity: 0;
  --_u-itx: calc(var(--_itx) * var(--vunit));
  --_u-ity: calc(var(--_ity) * var(--vunit));
  width: calc(var(--_iw) * var(--vunit));
  height: calc(var(--_ih) * var(--vunit));
  aspect-ratio: var(--_iw) / var(--_ih);
  translate: var(--_u-itx) var(--_u-ity);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.c-icon-img--angle-arrow-right {
  --_iw-pc: 8;
  --_ih-pc: 13;
  background-image: var(--icon-angle-arrow-right-b);
}

.c-icon-img--angle-arrow-left {
  rotate: 90deg;
}

[class*="c-icon-img--circle-arrow-b"] {
  --_iw-pc: 30;
  --_ih-pc: 30;
  background-image: url("../../assets/img/common/icon/icon_circle_arrow_right_b_m.png");
}

.c-icon-img--circle-arrow-right-b {
  rotate: -90deg;
}

.c-icon-img--circle-arrow-down-b {
  rotate: 90deg;
}

.c-icon-img--circle-arrow-right-b-s {
  --_iw-pc: 24;
  --_ih-pc: 24;
  background-image: url("../../assets/img/common/icon/icon_circle_arrow_right_b_s.png");
}

.c-icon-img--circle-arrow-right-b-l {
  --_iw-pc: 38;
  --_ih-pc: 38;
  background-image: url("../../assets/img/common/icon/icon_circle_arrow_right_b_l.png");
}

.c-icon-img--circle-arrow-right-w-s {
  --_iw-pc: 24;
  --_ih-pc: 24;
  background-image: url("../../assets/img/common/icon/icon_circle_arrow_right_w_s.png");
}

.c-icon-img--circle-arrow-right-w-l {
  --_iw-pc: 38;
  --_ih-pc: 38;
  background-image: url("../../assets/img/common/icon/icon_circle_arrow_right_w_l.png");
}

.c-icon-img--media-play {
  --_iw-pc: 11;
  --_ih-pc: 14;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background-color: var(--color-gray-800);
}

.c-icon-img--q {
  --_iw-pc: 40;
  --_ih-pc: 40;
  display: inline grid;
  background-color: var(--color-gray-800);
  border-radius: var(--infinity);
}
.c-icon-img--q:after {
  place-self: center;
  position: absolute;
  content: "Q";
  color: var(--color-font-w);
  font-family: var(--font-Barlow);
  font-size: 2.4rem;
  font-weight: var(--fw-medium);
  line-height: 1;
  letter-spacing: 0rem;
}

.c-icon-img--a {
  --_iw-pc: 40;
  --_ih-pc: 40;
  display: inline grid;
  background-color: var(--color-blue-key);
  border-radius: var(--infinity);
}
.c-icon-img--a:after {
  place-self: center;
  position: absolute;
  content: "A";
  color: var(--color-font-w);
  font-family: var(--font-Barlow);
  font-size: 2.4rem;
  font-weight: var(--fw-medium);
  line-height: 1.25;
  letter-spacing: 0rem;
}

.c-link {
  -webkit-transition: color 0.3s, opacity 0.3s;
  transition: color 0.3s, opacity 0.3s;
}
.c-link:focus-visible {
  opacity: var(--btn-hover-opacity);
}

.c-link-txt {
  --_txt-color-normal: var(--color-font-b);
  color: var(--_txt-color, --_txt-color-normal);
  -webkit-transition: color 0.3s, opacity 0.3s;
  transition: color 0.3s, opacity 0.3s;
  vertical-align: middle;
  letter-spacing: -0.1rem;
}
.c-link-txt:focus-visible {
  opacity: var(--btn-hover-opacity, 0.8);
}

.c-link-txt[data-color="blue"] {
  --_txt-color: var(--color-blue-500);
}

.c-link-txt--default {
  --_link-txt-color-normal: var(--color-blue-500);
  color: var(--_link-txt-color, var(--_link-txt-color-normal));
  -webkit-transition: color 0.3s, opacity 0.3s;
  transition: color 0.3s, opacity 0.3s;
  vertical-align: middle;
  text-decoration: underline;
  letter-spacing: 1rem;
}
.c-link-txt--default:focus-visible {
  opacity: var(--btn-hover-opacity, 0.8);
}

.c-link-txt--default:visited {
  --_link-txt-color: var(--color-purple-500);
}

.c-link-txt--arrow {
  --_col-icon: var(--color-black);
  position: relative;
  -webkit-transition: opacity 0.3s;
  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;
  display: inline grid;
  content: "";
  width: 0.7rem;
  min-width: 0.7rem;
  aspect-ratio: 7/12;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-left: 0.8rem;
  -webkit-transition: translate 0.3s, -webkit-margin-start 0.3s;
  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;
  translate: calc(var(--_ix, 0) * var(--vunit)) var(--_iy, 0);
  -webkit-mask-image: var(--icon-angle-arrow-right);
  mask-image: var(--icon-angle-arrow-right);
  -webkit-mask-size: 100%;
  mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: var(--_col-icon);
}

.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);
}

:where(.c-link-icon, .c-link-icon-area a):where([href^="http://"], [href^="https://"], [href*=".pdf"])
{
  display: inline flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
:where(.c-link-icon, .c-link-icon-area a):where([href^="http://"], [href^="https://"], [href*=".pdf"]):after
{
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  display: inline flow-root;
  position: relative;
  -webkit-transition: opacity 0.3s, background-color 0.3s, color 0.3s,
    translate 0.3s, -webkit-box-shadow 0.3s;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s, translate 0.3s,
    -webkit-box-shadow 0.3s;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s, box-shadow 0.3s,
    translate 0.3s;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s, box-shadow 0.3s,
    translate 0.3s, -webkit-box-shadow 0.3s;
  content: "";
  width: calc(var(--_link-icon-width) * var(--vunit));
  min-width: calc(var(--_link-icon-width) * var(--vunit));
  height: calc(var(--_link-icon-height) * var(--vunit));
  min-height: calc(var(--_link-icon-height) * var(--vunit));
  aspect-ratio: var(--_link-icon-width) / var(--_link-icon-height);
  margin-left: calc(var(--_link-icon-adjust-x) * var(--vunit));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

:where(.c-link-icon-before, .c-link-icon-before-area a):where([href^="http://"], [href^="https://"], [href*=".pdf"])
{
  display: inline flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
:where(.c-link-icon-before, .c-link-icon-before-area a):where([href^="http://"], [href^="https://"], [href*=".pdf"]):before
{
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  display: inline flow-root;
  position: relative;
  -webkit-transition: opacity 0.3s, background-color 0.3s, color 0.3s,
    translate 0.3s, -webkit-box-shadow 0.3s;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s, translate 0.3s,
    -webkit-box-shadow 0.3s;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s, box-shadow 0.3s,
    translate 0.3s;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s, box-shadow 0.3s,
    translate 0.3s, -webkit-box-shadow 0.3s;
  content: "";
  width: calc(var(--_link-icon-width) * var(--vunit));
  min-width: calc(var(--_link-icon-width) * var(--vunit));
  height: calc(var(--_link-icon-height) * var(--vunit));
  min-height: calc(var(--_link-icon-height) * var(--vunit));
  aspect-ratio: var(--_link-icon-width) / var(--_link-icon-height);
  margin-right: calc(var(--_link-icon-adjust-x) * var(--vunit));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

:where(.c-link-icon, .c-link-icon-area a)[href^="http://"]:after,
:where(.c-link-icon, .c-link-icon-area a)[href^="https://"]:after
{
  --_link-icon-width: 14;
  --_link-icon-height: 15;
  --_link-icon-adjust-x: 5;
  background-image: url("../../assets/img/common/icon/icon_external.png");
  mix-blend-mode: multiply;
}

:where(.c-link-icon, .c-link-icon-before-area a)[href^="http://"]:before,
:where(.c-link-icon, .c-link-icon-before-area a)[href^="https://"]:before
{
  --_link-icon-width: 14;
  --_link-icon-height: 15;
  --_link-icon-adjust-x: 5;
  background-image: url("../../assets/img/common/icon/icon_external.png");
  mix-blend-mode: multiply;
}

:where(.c-link-icon, .c-link-icon-area a)[href*=".pdf"]:after {
  --_link-icon-width: 23;
  --_link-icon-height: 12;
  --_link-icon-adjust-x: 8;
  background-image: var(--icon-pdf);
}

.c-list {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(var(--_list-gap) * var(--vunit));
}
.c-list > li {
  list-style-type: none;
}

.c-list--indent {
  padding: unset;
  margin: unset;
}
.c-list--indent > li {
  padding: unset;
  margin: unset;
  list-style-type: none;
  -webkit-padding-start: var(--_padding, 2em);
  padding-inline-start: var(--_padding, 2em);
  text-indent: calc(var(--_padding, 2em) * -1);
  margin-left: var(--_margin, 0em);
}
.c-list--check li {
  -webkit-padding-start: var(--_list-li-padding, 1.4em);
  padding-inline-start: var(--_list-li-padding, 1.4em);
  text-indent: calc(var(--_list-li-padding, 1.4em) * -1);
  margin-left: var(--_list-li-margin, 0em);
}
.c-list--check li:before {
  content: "";
  display: inline flow-root;
  position: relative;
  width: calc(14 * var(--vunit));
  height: calc(11 * var(--vunit));
  background-size: 100%;
  background-image: url("../../assets/img/common/icon/icon_check.svg");
}

.c-list--dot li {
  -webkit-padding-start: var(--_list-li-padding, 1.1em);
  padding-inline-start: var(--_list-li-padding, 1.1em);
  text-indent: calc(var(--_list-li-padding, 1.1em) * -1);
  margin-left: var(--_list-li-margin, 0.1em);
}
.c-list--dot li:before {
  content: "";
  display: inline flow-root;
  position: relative;
  margin-right: calc(var(--_list-icon-check-gap, 12) * var(--vunit));
  top: 50%;
  translate: 50% -50%;
  width: calc(6 * var(--vunit));
  height: calc(6 * var(--vunit));
  background-color: var(--_list-li-dot-color, currentColor);
  border-radius: var(--infinity);
}

.c-list--dot-orange {
  --_list-li-dot-color: var(--color-orange-600);
}

.c-list--count {
  counter-reset: number 0;
}
.c-list--count[data-char=")"] {
  --_char: ")";
  --_padding: 1.5em;
}
.c-list--count > li {
  counter-increment: number 1;
  text-indent: calc(var(--_padding, 1.2em) * -1);
  margin-left: var(--_padding, 1.2em);
}
.c-list--count > li:before {
  content: counter(number) var(--_char, ".") " ";
}

.c-dl-list {
  width: 100%;
  -webkit-column-gap: calc(var(--_dl-list--column-gap, 20) * var(--vunit));
  -moz-column-gap: calc(var(--_dl-list--column-gap, 20) * var(--vunit));
  column-gap: calc(var(--_dl-list--column-gap, 20) * var(--vunit));
  row-gap: calc(var(--_dl-list-gap, 1) * var(--vunit));
}
.c-dl-list .row {
  -webkit-column-gap: calc(var(--_dl-list-col-gap, 20) * var(--vunit));
  -moz-column-gap: calc(var(--_dl-list-col-gap, 20) * var(--vunit));
  column-gap: calc(var(--_dl-list-col-gap, 20) * var(--vunit));
}
.c-dl-list .row dt {
  display: block grid;
  -ms-flex-line-pack: center;
  align-content: center;
  position: relative;
  padding-block: calc(10 * var(--vunit)) calc(10 * var(--vunit));
  height: 100%;
  width: 100%;
  color: var(--_dl-list-color-dt, var(--color-gray-400));
  font-size: 1.4rem;
  font-weight: var(--fw-regular);
  line-height: 1.7142857143;
  letter-spacing: 0rem;
}
.c-dl-list .row dd {
  display: block grid;
  -ms-flex-line-pack: center;
  align-content: center;
  height: 100%;
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0rem;
}
.c-dl-list .row [class*="c-btn-txt"]:not(:first-child) {
  margin-top: calc(6 * var(--vunit));
}

.c-list-circle-num {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(var(--_list-gap, 10) * var(--vunit));
}
.c-list-circle-num > li {
  counter-increment: number 1;
  list-style-type: none;
  display: block grid;
  grid-template: "icon txt" minmax(0, auto) / minmax(-webkit-max-content, auto) 1fr;
  grid-template: "icon txt" minmax(0, auto) / minmax(max-content, auto) 1fr;
}
.c-list-circle-num > li .num {
  grid-area: icon;
  display: block grid;
  position: relative;
  width: calc(30 * var(--vunit));
  aspect-ratio: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: var(--infinity);
  justify-self: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--color-font-w);
  background-color: var(--color-orange-600);
}
.c-list-circle-num > li > :where(p, div) {
  grid-area: txt;
}

.c-list-circle-num-pseudo {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(var(--_list-gap) * var(--vunit));
  counter-reset: number 0;
}
.c-list-circle-num-pseudo > li {
  counter-increment: number 1;
  list-style-type: none;
  display: block grid;
  grid-template: "icon txt" minmax(0, auto) / minmax(-webkit-max-content, auto) 1fr;
  grid-template: "icon txt" minmax(0, auto) / minmax(max-content, auto) 1fr;
}
.c-list-circle-num-pseudo > li:before,
.c-list-circle-num-pseudo > li:after {
  grid-area: icon;
  display: block grid;
  position: relative;
  width: calc(30 * var(--vunit));
  aspect-ratio: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.c-list-circle-num-pseudo > li:before {
  content: "";
  border-radius: var(--infinity);
  background-color: var(--color-orange-600);
}
.c-list-circle-num-pseudo > li:after {
  content: counter(number, decimal-leading-zero);
  justify-self: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--color-font-w);
  z-index: 1;
}

.c-list-check {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(var(--_list-gap) * var(--vunit));
}
.c-list-check > li {
  list-style-type: none;
  display: block grid;
  grid-template: "icon txt" minmax(0, auto) / minmax(-webkit-max-content, auto) 1fr;
  grid-template: "icon txt" minmax(0, auto) / minmax(max-content, auto) 1fr;
}
.c-list-check > li:before {
  content: "";
  grid-area: icon;
  display: block grid;
  position: relative;
  top: calc(10 * var(--vunit));
  width: calc(14 * var(--vunit));
  height: calc(11 * var(--vunit));
  background-size: 100%;
  background-repeat: no-repeat;
  background-image: url("../../assets/img/common/icon/icon_check.svg");
}

[class*="c-img"] {
  display: block flow;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.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;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
[class*="c-pic"] img {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
}

.c-pic img {
  -o-object-fit: var(--_object-fit, contain);
  object-fit: var(--_object-fit, contain);
}

.c-pic--cover img {
  --_object-fit: cover;
}

.c-pic--clip img {
  --_object-fit: none;
  width: 100%;
  height: 100%;
  -o-object-position: var(--_object-position, 50%, 50%);
  object-position: var(--_object-position, 50%, 50%);
}

.c-pic--thumb {
  overflow: clip;
}
.c-pic--thumb img {
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}

[class*="c-fig"] {
  display: block grid;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
[class*="c-fig"] > * {
  grid-area: span 1;
}
[class*="c-fig"] img {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
  -o-object-fit: var(--_object-fit, contain);
  object-fit: var(--_object-fit, contain);
}

.c-fig--cover img {
  --_object-fit: cover;
}

.c-slider {
  overflow-x: auto;
  max-width: 100vw;
}

.c-slider--content {
  --_slider-inner: 0;
  overflow-x: auto;
}

.c-table-col2 {
  overflow: clip;
  border-spacing: 0;
  table-layout: fixed;
}
.c-table-col2 a:not([class*="c-btn"]) {
  text-decoration: underline;
}
.c-table-col2 colgroup col {
  min-width: calc(var(--_table-col-width, inherit) * var(--vunit));
}
.c-table-col2 tr {
  -webkit-column-gap: calc(var(--_table-col-gap, 20) * var(--vunit));
  -moz-column-gap: calc(var(--_table-col-gap, 20) * var(--vunit));
  column-gap: calc(var(--_table-col-gap, 20) * var(--vunit));
}
.c-table-col2 tr th,
.c-table-col2 tr td {
  display: block grid;
  -ms-flex-line-pack: center;
  align-content: center;
  position: relative;
  height: 100%;
}
.c-table-col2 tr > th {
  padding-block: calc(10 * var(--vunit)) calc(10 * var(--vunit));
  width: 100%;
  font-size: 1.6rem;
  font-weight: var(--fw-regular);
  line-height: 1.5;
  letter-spacing: 0rem;
}
.c-table-col2 tr > td {
  padding-inline: calc(11 * var(--vunit));
  padding-inline: calc(39 * var(--vunit)) calc(20 * var(--vunit));
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0rem;
}
.c-table-col2 tr [class*="c-btn-txt"]:not(:first-child) {
  margin-top: calc(6 * var(--vunit));
}

.c-table-col2.c-table--line-simple {
  --_table-col-gap: 0;
  --_tr-border-color: var(--color-gray-300);
  --_th-border-color: var(--color-gray-300);
}
.c-table-col2.c-table--line-simple tr {
  justify-items: unset;
}
.c-table-col2.c-table--line-simple tr th {
  text-align: start;
  color: var(--color-gray-400-70);
  -ms-flex-line-pack: start;
  align-content: start;
}

.c-table-border {
  border-spacing: 0;
  border-collapse: collapse;
  table-layout: fixed;
}
.c-table-border a:not([class*="c-btn"]) {
  text-decoration: underline;
}
.c-table-border colgroup col {
  min-width: calc(var(--_table-col-width, inherit) * var(--vunit));
}
.c-table-border tbody tr th,
.c-table-border tbody tr td {
  padding-inline: calc(8 * var(--vunit));
  padding-block: calc(10 * var(--vunit));
  border: calc(1 * var(--vunit)) solid currentColor;
  text-align: center;
}
.c-table-border tbody tr th {
  font-weight: var(--fw-regular);
}
.c-table-service {
  max-width: calc(1200 * var(--vunit));
  border-collapse: collapse;
  width: 100%;
}
.c-table-service .empty {
  width: unset !important;
  background-color: transparent !important;
  border: unset !important;
}
.c-table-service .spacer {
  width: unset;
  background-color: transparent;
  border: unset;
  height: calc(var(--_spacer-height, 5) * var(--vunit));
}
.c-table-service .spacer.spacer10 {
  --_spacer-height: 10;
}
.c-table-service caption.note {
  caption-side: bottom;
  text-align: end;
  margin-top: calc(12 * var(--vunit));
}
.c-table-service thead tr th,
.c-table-service thead tr td {
  margin: auto;
  text-align: center;
  vertical-align: middle;
  color: var(--color-gray-400);
}
.c-table-service thead tr th {
  position: relative;
  height: calc(var(--_header-th-height, 90) * var(--vunit));
  background-color: var(--color-gray-100);
  border: calc(1 * var(--vunit)) solid var(--color-gray-300);
  font-weight: var(--fw-medium);
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0rem;
}
.c-table-service thead tr .th-grid {
  display: block grid;
  height: 100%;
  place-content: center;
}
.c-table-service thead tr .orange {
  background-color: var(--color-orange-600);
  color: var(--color-font-w);
  font-weight: var(--fw-bold);
}
.c-table-service tbody tr th,
.c-table-service tbody tr td {
  margin: auto;
  text-align: center;
  vertical-align: middle;
  color: var(--color-gray-400);
}
.c-table-service tbody tr .grid {
  display: block grid;
  grid-template-rows: auto 1fr;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  place-content: start;
  place-items: center;
  padding-inline: calc(20 * var(--vunit));
  padding-block: calc(20 * var(--vunit));
  gap: calc(20 * var(--vunit));
}
.c-table-service tbody tr .td-grid {
  display: block grid;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  -ms-flex-line-pack: center;
  align-content: center;
  place-self: center;
  margin-inline: auto;
  -webkit-box-pack: var(--_td-grid-align, center);
  -ms-flex-pack: var(--_td-grid-align, center);
  justify-content: var(--_td-grid-align, center);
  justify-items: var(--_td-grid-align, start);
  text-align: var(--_td-grid-align, start);
}
.c-table-service tbody tr .td-grid.left {
  --_td-grid-align: start;
}
.c-table-service tbody tr .td-grid.center {
  --_td-grid-align: center;
}
.c-table-service tbody tr .td-grid.right {
  --_td-grid-align: end;
}
.c-table-service tbody tr .td-grid.w172 {
  width: calc(172 * var(--vunit));
}
.c-table-service tbody tr .head {
  --_bg-main-color-mix: 17%;
  background-color: color-mix(
    in sRGB,
    var(--color-orange-600) var(--_bg-main-color-mix, 100%),
    white
  );
  border: calc(1 * var(--vunit)) solid var(--color-gray-300);
  height: calc(var(--_body-th-height, 60) * var(--vunit));
  color: var(--color-orange-600);
  font-size: 2rem;
  font-weight: var(--fw-bold);
  line-height: 2;
  letter-spacing: 0rem;
}
.c-table-service tbody tr .head .min {
  font-size: 1.4rem;
  font-weight: var(--fw-bold);
  line-height: 1.4285714286;
  letter-spacing: 0rem;
}
.c-table-service tbody tr td {
  height: calc(50 * var(--vunit));
  background-color: color-mix(in sRGB, var(--color-orange-600) 5%, white);
  border: calc(1 * var(--vunit)) solid var(--color-gray-300);
  color: var(--color-font-b);
  width: calc(var(--_body-td-width) * var(--vunit));
  font-size: 1.6rem;
  font-weight: var(--fw-regular);
  line-height: 1.25;
  letter-spacing: 0rem;
}
.c-table-service tbody tr td ul {
  --_list-gap: 15;
  --_list-icon-check-gap: 10;
  text-align: start;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.8rem;
  line-height: 1.3333333333;
  letter-spacing: 0rem;
}
.c-table-service tbody tr td ul li:before {
  width: calc(17 * var(--vunit));
  height: calc(13 * var(--vunit));
}

.c-table-sitemap {
  table-layout: auto;
}
.c-table-sitemap a:not([class*="c-btn"]) {
  text-decoration: underline;
}
.c-table-sitemap colgroup col {
  min-width: calc(var(--_table-col-width, inherit) * var(--vunit));
}
.c-table-sitemap thead tr th,
.c-table-sitemap thead tr td {
  padding-inline: calc(8 * var(--vunit));
  height: calc(34 * var(--vunit));
}
.c-table-sitemap thead tr .th-check {
  width: calc(120 * var(--vunit));
}
.c-table-sitemap button.btn {
  background-color: var(--color-orange-600);
  color: var(--color-font-w);
  border-radius: calc(4 * var(--vunit));
  min-height: calc(24 * var(--vunit));
  padding-inline: calc(10 * var(--vunit));
  margin-inline: calc(10 * var(--vunit));
  font-size: 1.2rem;
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: 0rem;
}
.c-table-sitemap tbody tr th,
.c-table-sitemap tbody tr td {
  padding-inline: calc(8 * var(--vunit));
  padding-block: calc(10 * var(--vunit));
  border: calc(1 * var(--vunit)) solid currentColor;
  text-align: start;
}
.c-table-sitemap tbody tr th {
  font-weight: var(--fw-regular);
  background-color: var(--color-gray-120);
  white-space: nowrap;
}
.c-table-sitemap tbody tr td a {
  padding-left: calc(var(--depth, 0) * 1em);
}
.c-table-sitemap tbody tr td.td-title {
  max-width: calc(600 * var(--vunit));
}
.c-table-sitemap tbody tr td.td-status .status-tag {
  padding: 0.2em 0.5em;
  border-radius: 4px;
  font-size: 0.9em;
  white-space: nowrap;
}
.c-table-sitemap tbody tr td.td-status .status-tag.status-complete {
  background-color: #69ca6c;
  color: white;
}
.c-table-sitemap tbody tr td.td-status .status-tag.status-working {
  background-color: #ff9800;
  color: white;
}
.c-table-sitemap tbody tr td.td-status .status-tag.status-notstarted {
  background-color: var(--color-gray-200);
  color: white;
}
.c-table-sitemap tbody tr td.p-form {
  display: table-cell;
  min-height: calc(54 * var(--vunit));
  width: auto;
  height: 100%;
  text-align: center;
}

.c-tag-rounded {
  display: block grid;
  -ms-flex-line-pack: center;
  align-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: calc(var(--_min-inline-pc, 72) * var(--vunit));
  min-height: calc(var(--_min-height-pc, 30) * var(--vunit));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  white-space: nowrap;
  padding-inline: calc(var(--_padding-inline-pc, 21) * var(--vunit));
  color: var(--_fcol, var(--color-font-w));
  background-color: var(--_bgcol, var(--color-orange-600));
  border-radius: var(--infinity);
  font-size: 1.4rem;
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: 0rem;
}
.c-tag-rounded.is-select {
  --_fcol: var(--color-font-w);
  --_bgcol: var(--color-orange-500);
}

.c-tag-info-rounded {
  display: block flex;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: calc(var(--_min-inline-pc, 72) * var(--vunit));
  min-height: calc(var(--_min-height-pc, 40) * var(--vunit));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  white-space: nowrap;
  padding-inline: calc(var(--_padding-inline-pc, 26) * var(--vunit));
  padding-block: calc(6 * var(--vunit)) calc(3 * var(--vunit));
  color: var(--_fcol, var(--color-gray-400));
  background-color: var(--_bgcol, var(--color-gray-200-35));
  border-radius: var(--infinity);
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 0rem;
}
.c-tag-info-rounded.is-select {
  --_fcol: var(--color-font-w);
  --_bgcol: var(--color-orange-500);
}
.c-tag-info-rounded strong {
  font-size: 2.5rem;
  font-weight: var(--fw-regular);
  line-height: 1;
  letter-spacing: 0rem;
}

.c-tag-new {
  display: block grid;
  -ms-flex-line-pack: center;
  align-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: calc(var(--_min-inline-pc, 60) * var(--vunit));
  min-height: calc(var(--_min-height-pc, 16) * var(--vunit));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  padding-inline: calc(var(--_padding-inline-pc, 17) * var(--vunit));
  font-family: var(--font-Roboto);
  color: var(--_fcol, var(--color-font-w));
  background-color: var(--_bgcol, var(--color-orange-600));
  border-radius: calc(5 * var(--vunit));
  font-size: 1.2rem;
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: 0rem;
}

.c-tag-category-list {
  display: block flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.c-tag-category-list.c-tag--compress {
  --_min-inline: 40;
}

.c-tag-category {
  display: block grid;
  -ms-flex-line-pack: center;
  align-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: calc(var(--_min-inline, 90) * var(--vunit));
  min-height: calc(var(--_min-height, 30) * var(--vunit));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  white-space: nowrap;
  padding-inline: calc(var(--_padding-inline, 10) * var(--vunit));
  padding-bottom: calc(1 * var(--vunit));
  color: var(--_tag-color-font, var(--color-gray-350));
  background: var(--_tag-bg, transparent);
  border: calc(1 * var(--vunit)) solid
    var(--_tag-hover-border, var(--color-gray-350));
  border-radius: calc(5 * var(--vunit));
  -webkit-transition: color 0.3s, border-color 0.3s, background-color 0.3s,
    opacity 0.3s;
  transition: color 0.3s, border-color 0.3s, background-color 0.3s, opacity 0.3s;
  font-size: 1.6rem;
  font-weight: var(--fw-bold);
  line-height: 1.5;
  letter-spacing: 0rem;
}
.c-tag-category.is-select {
  --_tag-color-font: var(--color-font-w);
  --_tag-bg: var(--color-orange-600);
  --_tag-hover-color-font: var(--color-font-b);
  --_tag-hover-border: var(--color-orange-600);
}

button.c-tag-category {
  cursor: pointer;
}
button.c-tag-category:focus-visible {
  opacity: 0.7;
}
button.c-tag-category.is-select {
  cursor: default;
  pointer-events: none;
}

.c-tag-card-label {
  display: block flow;
  place-content: center;
  position: absolute;
  left: 0;
  top: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  white-space: nowrap;
  text-indent: calc(-8 * var(--vunit));
  color: var(--_tag-color-font, var(--color-font-w));
  background: var(--_tag-bg, var(--color-gray-300));
  clip-path: polygon(0% 0%, 100% 0%, 83% 100%, 0% 100%);
  -webkit-transition: color 0.3s, border-color 0.3s, background-color 0.3s,
    opacity 0.3s;
  transition: color 0.3s, border-color 0.3s, background-color 0.3s, opacity 0.3s;
  z-index: 1;
  letter-spacing: 0rem;
}

.c-tag-card-label.now {
  --_tag-bg: var(--color-orange-310);
}
[class*="c-ttl--"] {
  text-align: var(--_ttl-text-align, inherit);
  margin-inline: var(--_ttl-margin, auto);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-ttl--left {
  --_ttl-margin: 0;
  --_ttl-text-align: start;
}

.c-ttl--center {
  --_ttl-margin: auto;
}

.c-ttl--xs {
  text-align: var(--_ttl-text-align, start);
  letter-spacing: 0rem;
}

.c-ttl--s {
  text-align: var(--_ttl-text-align, start);
  letter-spacing: 0rem;
}

.c-ttl--m {
  text-align: var(--_ttl-text-align, center);
  letter-spacing: 0rem;
}

.c-ttl--m-ls2 {
  text-align: var(--_ttl-text-align, center);
}

.c-ttl--l {
  text-align: var(--_ttl-text-align, center);
  letter-spacing: 0rem;
}

.c-ttl--section-xs {
  --_ttl-font-size-pc: 18;
  --_ttl-font-size-sp: 18;
  --_ttl-line-height-pc: 30;
  --_ttl-line-height-sp: 30;
  --_ttl-letter-spacing-pc: 0.3;
}

.c-ttl--section-s {
  text-align: var(--_ttl-text-align, start);
  letter-spacing: 0rem;
}

.c-ttl--section-m {
  text-align: var(--_ttl-text-align, center);
  letter-spacing: 0rem;
}

.c-ttl--section-m-38 {
  --_ttl-font-size-pc: 40;
  --_ttl-font-size-sp: 28;
  --_ttl-line-height-pc: 38;
  --_ttl-line-height-sp: 40;
  --_ttl-letter-spacing-pc: 0;
  text-align: var(--_ttl-text-align, center);
}

.c-ttl--section-h3 {
  --_ttl-font-size-pc: 34;
  --_ttl-font-size-sp: 22;
  --_ttl-line-height-pc: 30;
  --_ttl-line-height-sp: 32;
  --_ttl-letter-spacing-pc: 0;
}

.c-ttl--section-34 {
  --_ttl-font-size-pc: 34;
  --_ttl-font-size-sp: 28;
  --_ttl-line-height-pc: 40;
  --_ttl-line-height-sp: 40;
  text-align: var(--_ttl-text-align, center);
}

.c-ttl--section-40 {
  --_ttl-font-size-pc: 40;
  --_ttl-font-size-sp: 22;
  --_ttl-line-height-pc: 58;
  --_ttl-line-height-sp: 32;
  --_ttl-letter-spacing-pc: 3.9;
  text-align: var(--_ttl-text-align, center);
}

.c-ttl--section-50 {
  --_ttl-font-size-pc: 50;
  --_ttl-line-height-pc: 50;
  --_ttl-letter-spacing-pc: 0;
  --_ttl-text-align: center;
}

.c-ttl--section-50-s5 {
  --_ttl-font-size-pc: 50;
  --_ttl-line-height-pc: 50;
  --_ttl-letter-spacing: 5;
  --_ttl-text-align: center;
}

.c-ttl--section-l {
  --_ttl-font-size-pc: 54;
  --_ttl-font-size-sp: 26;
  --_ttl-line-height-pc: 54;
  --_ttl-line-height-sp: 48;
  --_ttl-letter-spacing-pc: 0;
  --_ttl-text-align: center;
}

[class*="c-txt--"] {
  text-align: var(--_txt-text-align, inherit);
  margin-inline: var(--_txt-margin, auto);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
[class*="c-txt--"] strong {
  color: var(--_txt-col-strong, var(--color-blue-800));
  font-weight: var(--fw-bold);
}

.c-txt--left {
  --_txt-margin: 0;
  --_txt-text-align: start;
}

.c-txt--center {
  --_txt-margin: auto;
}

.c-txt--xs {
  font-size: 1.1rem;
  line-height: 1.4545454545;
  letter-spacing: 0rem;
}

.c-txt--s {
  letter-spacing: 0rem;
}

.c-txt--m {
  letter-spacing: 0.16rem;
}

.c-txt--m-36 {
  --_txt-font-size-pc: 20;
  --_txt-font-size-sp: 18;
  --_txt-line-height-pc: 36;
  --_txt-line-height-sp: 32;
  --_txt-letter-spacing: 0.2;
}

.c-txt--l {
  letter-spacing: 0rem;
}

.c-txt--ll {
  --_txt-font-size-pc: 44;
  --_txt-font-size-sp: 26;
  --_txt-line-height-pc: 60;
  --_txt-line-height-sp: 40;
  --_txt-letter-spacing: 0;
}

.c-txt--lll {
  --_txt-font-size-pc: 54;
  --_txt-font-size-sp: 36;
  --_txt-line-height-pc: 60;
  --_txt-line-height-sp: 48;
  --_txt-letter-spacing: 0;
}

.c-txt--list {
  --_txt-font-size-pc: 24;
  --_txt-font-size-sp: 14;
  --_txt-line-height-pc: 35;
  --_txt-line-height-sp: 20;
  --_txt-letter-spacing: 0;
  --_txt-font-weight: var(--fw-bold);
}

.c-txt--list-s {
  --_txt-font-size-pc: 14;
  --_txt-font-size-sp: 10;
  --_txt-line-height-pc: 20;
  --_txt-line-height-sp: 15;
  --_txt-letter-spacing: 0;
  --_txt-font-weight: var(--fw-medium);
}

.c-txt--btn-m {
  --_txt-font-size-pc: 20;
  --_txt-font-size-sp: 14;
  --_txt-line-height-pc: 29;
  --_txt-line-height-sp: 20;
  --_txt-letter-spacing: 0;
  --_txt-font-weight: var(--fw-bold);
}

.c-txt--btn-l {
  --_txt-font-size-pc: 40;
  --_txt-font-size-sp: 22;
  --_txt-line-height-pc: 58;
  --_txt-line-height-sp: 32;
  --_txt-letter-spacing: 3.6;
  --_txt-font-weight: var(--fw-bold);
}

.c-txt--note {
  font-weight: var(--fw-regular);
  color: var(--color-gray-800);
  letter-spacing: 0rem;
}

.c-txt--note16 {
  font-weight: var(--fw-regular);
  color: var(--color-gray-800);
  font-size: 1.6rem;
  line-height: 1.5625;
  letter-spacing: 0rem;
}

.c-txt--note14 {
  font-weight: var(--fw-regular);
  color: var(--color-gray-800);
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 0rem;
}

.c-txt--note14-70 {
  font-weight: var(--fw-regular);
  color: var(--color-gray-800);
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 0rem;
}

.c-heading--section {
  display: block grid;
  grid-template: "stack" minmax(0, auto) / 1fr;
  justify-items: center;
}
.c-heading--section > * {
  grid-area: stack;
}
.c-heading--section .sec-subttl {
  color: var(--_heading-en-col, var(--color-font-w));
  font-family: var(--font-Barlow);
  pointer-events: none;
  /*
  &:before{
    display: inline-block;
    content: "";
    left: 0;
    min-width: vunit(16);
    aspect-ratio: 1;
    height: fit-content;
    background: var(--grad-blue-right);
    border-radius: var(--infinity);
    margin-right: vunit(8);
    translate: 0 vunit(2);
    opacity: 0.7;
  }*/
}
.c-heading--section .sec-ttl {
  color: var(--_heading-ja-col, var(--color-blue-key));
}

.c-heading--section.blue {
  --_heading-en-col: var(--color-blue-380);
}

.c-heading--section.white {
  --_heading-en-col: var(--color-white-02);
  --_heading-ja-col: var(--color-font-w);
}
.c-heading--section.white .sec-ttl {
  letter-spacing: 0rem;
}

.c-txtdec-underline {
  --_marker-height-start: calc(100% - 20%);
  --_marker-height-end: calc(100% - 10%);
  --_marker-color: var(--color-yellow-key);
  position: relative;
  display: inline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(transparent),
    color-stop(var(--_marker-color, var(--color-yellow-key))),
    color-stop(var(--_marker-color, var(--color-yellow-key))),
    to(transparent)
  );
  background: linear-gradient(
    transparent var(--_marker-height-start),
    var(--_marker-color, var(--color-yellow-key)) var(--_marker-height-start),
    var(--_marker-color, var(--color-yellow-key)) var(--_marker-height-end),
    transparent var(--_marker-height-end)
  );
}

.c-txtdec-underline-active {
  --_marker-size-num: 20;
  --_marker-size: calc(var(--_marker-size-num) * var(--vunit));
  --_marker-height-start: calc(
    100% - calc((5 + var(--_marker-size-num)) * var(--vunit))
  );
  --_marker-height-end: calc(100% - calc(5 * var(--vunit)));
  --_marker-color: var(--color-yellow-key);
  --_mc: var(--_marker-color, var(--color-yellow-key));
  position: relative;
  display: inline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(transparent),
    color-stop(var(--_mc)),
    color-stop(var(--_mc)),
    to(transparent)
  );
  background: linear-gradient(
    transparent var(--_marker-height-start),
    var(--_mc) var(--_marker-height-start),
    var(--_mc) var(--_marker-height-end),
    transparent var(--_marker-height-end)
  );
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: 0 var(--_marker-size);
  -webkit-transition: background-size 1.5s ease;
  transition: background-size 1.5s ease;
}
.c-txtdec-underline-active.is-anim-active {
  background-size: 100% var(--_marker-size);
  background-position: bottom left;
}

.c-ui-nav-list {
  display: block flex;
}
.c-ui-nav-list > li {
  position: relative;
}
.c-ui-nav-list li > [role="menuitem"] {
  cursor: pointer;
}
.c-ui-nav-list li > [role="menuitem"]:hover,
.c-ui-nav-list li > [role="menuitem"]:focus,
.c-ui-nav-list li > [role="menuitem"].focused {
  background: var(--color-white);
}
.c-ui-nav-list [role="menu"] {
  background-color: var(--color-white);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: opacity 0.3s, block-size 0.3s, max-block-size 0.3s;
  transition: opacity 0.3s, block-size 0.3s, max-block-size 0.3s;
}
.c-ui-nav-list [role="menu"]:not([data-ispopup]) {
  visibility: hidden;
  pointer-events: none;
  height: 0%;
  max-height: 0%;
}
.c-ui-nav-list [role="menu"][data-ispopup] {
  display: block grid;
  top: calc(var(--_rect-height) 0 * var(--vunit));
  z-index: 100;
}
@starting-style {
  .c-ui-nav-list [role="menu"] {
    max-height: 0%;
  }
}
.c-ui-nav-list [role="menubar"] > li > [role="menuitem"] {
  -webkit-transition: opacity 0.3s, block-size 0.3s, max-block-size 0.3s,
    padding-block 0.3s;
  transition: opacity 0.3s, block-size 0.3s, max-block-size 0.3s,
    padding-block 0.3s;
}
@starting-style {
  .c-ui-nav-list [role="menubar"] > li > [role="menuitem"] {
    opacity: 0;
    height: 0%;
    max-height: 0%;
  }
}
.c-ui-nav-list [role="menu"]:not([data-ispopup]) {
  opacity: 0;
}
.c-ui-nav-list [role="menu"]:not([data-ispopup]) > li > [role="menuitem"] {
  padding-block: unset;
}
.c-ui-nav-list [role="menu"][data-ispopup] {
  opacity: 1;
}
.u-mt--10 {
  margin-top: 1rem;
}

.u-mb--10 {
  margin-bottom: 1rem;
}

.u-mr--10 {
  margin-right: 1rem;
}

.u-ml--10 {
  margin-left: 1rem;
}

.u-mt--20 {
  margin-top: 2rem;
}

.u-mb--20 {
  margin-bottom: 2rem;
}

.u-mr--20 {
  margin-right: 2rem;
}

.u-ml--20 {
  margin-left: 2rem;
}

.u-mt--30 {
  margin-top: 3rem;
}

.u-mb--30 {
  margin-bottom: 3rem;
}

.u-mr--30 {
  margin-right: 3rem;
}

.u-ml--30 {
  margin-left: 3rem;
}

.u-mt--40 {
  margin-top: 4rem;
}

.u-mb--40 {
  margin-bottom: 4rem;
}

.u-mr--40 {
  margin-right: 4rem;
}

.u-ml--40 {
  margin-left: 4rem;
}

.u-mt--50 {
  margin-top: 5rem;
}

.u-mb--50 {
  margin-bottom: 5rem;
}

.u-mr--50 {
  margin-right: 5rem;
}

.u-ml--50 {
  margin-left: 5rem;
}

.u-mt--60 {
  margin-top: 6rem;
}

.u-mb--60 {
  margin-bottom: 6rem;
}

.u-mr--60 {
  margin-right: 6rem;
}

.u-ml--60 {
  margin-left: 6rem;
}

.u-mt--70 {
  margin-top: 7rem;
}

.u-mb--70 {
  margin-bottom: 7rem;
}

.u-mr--70 {
  margin-right: 7rem;
}

.u-ml--70 {
  margin-left: 7rem;
}

.u-mt--80 {
  margin-top: 8rem;
}

.u-mb--80 {
  margin-bottom: 8rem;
}

.u-mr--80 {
  margin-right: 8rem;
}

.u-ml--80 {
  margin-left: 8rem;
}

.u-mt--90 {
  margin-top: 9rem;
}

.u-mb--90 {
  margin-bottom: 9rem;
}

.u-mr--90 {
  margin-right: 9rem;
}

.u-ml--90 {
  margin-left: 9rem;
}

.u-mt--100 {
  margin-top: 10rem;
}

.u-mb--100 {
  margin-bottom: 10rem;
}

.u-mr--100 {
  margin-right: 10rem;
}

.u-ml--100 {
  margin-left: 10rem;
}

.u-mt--110 {
  margin-top: 11rem;
}

.u-mb--110 {
  margin-bottom: 11rem;
}

.u-mr--110 {
  margin-right: 11rem;
}

.u-ml--110 {
  margin-left: 11rem;
}

.u-mt--120 {
  margin-top: 12rem;
}

.u-mb--120 {
  margin-bottom: 12rem;
}

.u-mr--120 {
  margin-right: 12rem;
}

.u-ml--120 {
  margin-left: 12rem;
}

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

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

.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-mba"],
[class*="u-mbe"],
[class*="u-mb-pc"],
[class*="u-mb-sp"] {
  -webkit-margin-after: calc(var(--_mb) * var(--vunit));
  margin-block-end: calc(var(--_mb) * var(--vunit));
}

.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;
}
.u-mia,
.u-mic {
  margin-inline: auto;
}

.u-mis,
.u-mil {
  margin-inline: 0 auto;
}

.u-mie,
.u-mir {
  margin-inline: auto 0;
}
[class*="u-pta"],
[class*="u-pte"],
[class*="u-pt-pc"],
[class*="u-pt-sp"] {
  -webkit-padding-before: calc(var(--_pt) * var(--vunit));
  padding-block-start: calc(var(--_pt) * var(--vunit));
}

.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-pba"],
[class*="u-pbe"],
[class*="u-pb-pc"],
[class*="u-pb-sp"] {
  -webkit-padding-after: calc(var(--_pb) * var(--vunit));
  padding-block-end: calc(var(--_pb) * var(--vunit));
}

.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-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  overflow: hidden !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.u-font-roboto {
  font-family: var(--font-Roboto);
}

.u-font-lato {
  font-family: var(--font-Lato);
}

.u-font-base {
  font-family: var(--baseFont) !important;
}

.u-color-red {
  color: var(--color-red-key);
}

.u-color-blue {
  color: var(--color-blue-key);
}

.u-indent--4-5 {
  padding-left: 4.5em !important;
  text-indent: -4.5em !important;
}

.u-textalign--center {
  text-align: center;
}
.u-textalign--left {
  text-align: left;
}
.u-textalign--right {
  text-align: right;
}

.u-wb-ka {
  word-break: keep-all;
}

.u-wbr {
  white-space: normal;
  word-break: break-word;
}
.u-wbr span {
  display: inline-block;
}

.u-uppercase {
  text-transform: uppercase;
}

body.chrome.u-scrollbar-hidden {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow: clip clip;
}

body.edge.u-scrollbar-hidden {
  -ms-overflow-style: none;
  overflow: clip clip;
}

body.firefox.u-scrollbar-hidden {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow: clip clip;
}

body.safari.u-scrollbar-hidden {
  overflow: clip clip;
}

.u-scrollbar-hidden::-webkit-scrollbar {
  display: none;
}

[class*="u-background--"] {
  background: var(--_u-background-color, inherit);
}

.u-background--lightgray {
  --_u-background-color: var(--color-gray-200);
}

body {
  padding-top: calc(var(--header-height) * var(--vunit));
}

.p-headerbar {
  display: block flex;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.p-headerbar__bg {
  position: absolute;
  width: 100vi;
  height: 100vb;
  pointer-events: none;
  background-color: var(--shadow03);
  opacity: 0;
  z-index: -1;
  -webkit-transition: visibility 0.3s ease, opacity 0.3s ease;
  transition: visibility 0.3s ease, opacity 0.3s ease;
}

.p-headerbar__bg.is-open {
  opacity: 1;
}

.p-headerbar__focustrap {
  width: 0;
}

.p-headerbar__inner {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.p-headerbar__logo {
  display: block grid;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-headerbar__logo a {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-headerbar__logo .site-title {
  aspect-ratio: 210/49;
}

.p-headerbar__nav {
  display: block flex;
  -webkit-transition: height 0.3s ease-in-out, max-height 0.3s ease-in-out;
  transition: height 0.3s ease-in-out, max-height 0.3s ease-in-out;
}
.p-headerbar__nav ul {
  display: block flex;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
}
.p-headerbar__nav ul li {
  display: block flex;
}
.p-headerbar__nav ul li a {
  display: block grid;
  position: relative;
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  line-height: 1.2222222222;
  letter-spacing: 0rem;
}
.p-headerbar__nav ul li a:focus-visible {
  --_icon-y: 4;
}
.p-headerbar__nav ul li a:after {
  content: "";
  position: relative;
  background-image: var(--icon-img-angle-arrow-down);
  width: calc(17 * var(--vunit));
  aspect-ratio: 17/8;
  background-size: 100%;
  background-repeat: no-repeat;
  -webkit-transition: translate 0.3s ease;
  transition: translate 0.3s ease;
  translate: 0 calc((var(--_icon-y, 0)) * var(--vunit));
}

.p-footer-copyright {
  display: block grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  color: var(--color-font-w);
  padding-top: calc(18 * var(--vunit));
  padding-bottom: calc(22 * var(--vunit));
}
.p-footer-copyright > .l-inner {
  font-family: var(--font-Roboto);
}
.p-footer-copyright > .l-inner .copy {
  font-size: 1.4rem;
  line-height: 1.7142857143;
  letter-spacing: 0.08rem;
}
.p-page-breadcrumbs {
  --_gap: 3;
  position: relative;
  display: block grid;
  grid-template-columns: 1fr;
  margin-top: calc(21 * var(--vunit));
  max-width: calc(var(--_breadcrumbs-width, 1440) * var(--vunit));
  margin-inline: auto;
  width: 100%;
  letter-spacing: 0.3rem;
  padding-inline: calc(20 * var(--vunit));
}

.p-page-breadcrumbs.p-page-breadcrumbs--detail {
  --_breadcrumbs-width: 1240;
}

.p-page-breadcrumbs.p-page-breadcrumbs--detail-col1 {
  margin-top: calc(40 * var(--vunit));
}

.p-page-breadcrumbs__list {
  display: inline;
}
.p-page-breadcrumbs__list > li {
  display: inline;
  font-size: calc(14 * var(--vunit));
}
.p-page-breadcrumbs__list > li > .link {
  letter-spacing: 1.6rem;
  color: var(--color-blue-320);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-page-breadcrumbs__list > li > .link:focus-visible {
  opacity: var(--link-hover-opacity);
}
.p-page-breadcrumbs__list > li > .separate {
  display: inline flex;
  position: relative;
  -ms-flex-item-align: center;
  align-self: center;
  top: calc(-2 * var(--vunit));
  margin-right: calc(4 * var(--vunit));
  border-top: calc(1 * var(--vunit)) solid var(--color-gray-400);
  border-right: calc(1 * var(--vunit)) solid var(--color-gray-400);
  width: calc(6 * var(--vunit));
  height: calc(6 * var(--vunit));
  rotate: 45deg;
}
.p-page-breadcrumbs__list > li > [class^="c-icon"] {
  margin-left: calc(var(--_gap) * var(--vunit));
  background-color: var(--color-gray-500);
}
.p-page {
  --layout-inner-pc: 1400;
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0rem;
}
.p-page-detail {
  display: block grid;
  gap: calc(80 * var(--vunit));
  max-width: calc(1240 * var(--vunit));
  margin-inline: auto;
  margin-top: calc(49 * var(--vunit));
  margin-bottom: calc(100 * var(--vunit));
  padding-inline: calc(20 * var(--vunit));
}
.p-page-detail > article {
  grid-area: article;
}
.p-page-detail > aside {
  grid-area: sidebar;
}

.p-page-detail.col01 {
  grid-template: unset;
  max-width: calc(1090 * var(--vunit));
  margin-top: calc(44 * var(--vunit));
}
.p-page-detail.col01 > article {
  grid-area: unset;
}
.p-page-detail.col01 > aside {
  grid-area: unset;
}

.p-sidebar {
  display: block grid;
  -ms-flex-line-pack: start;
  align-content: start;
  row-gap: calc(10 * var(--vunit));
}

.p-sidebar__content {
  display: block grid;
  justify-items: center;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: calc(20 * var(--vunit));
  background-color: var(--color-gray-200-35);
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.p-sidebar__content .img {
  border-radius: calc(5 * var(--vunit));
}
.p-sidebar__content .ttl {
  margin-top: calc(16 * var(--vunit));
  text-align: center;
  color: var(--color-orange-600);
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  line-height: 1.3888888889;
  letter-spacing: 0rem;
}
.p-sidebar__content .lead {
  margin-top: calc(6 * var(--vunit));
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 0rem;
}
.p-sidebar__content .l-btn {
  margin-top: calc(10 * var(--vunit));
}
.p-sidebar__content:has(.is-hover) {
  background-color: var(--color-gray-130);
}
.p-sidebar__content .card-link {
  display: block grid;
  justify-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  padding-inline: calc(10 * var(--vunit));
  padding-block: calc(10 * var(--vunit)) calc(25 * var(--vunit));
}
.p-sidebar__content.service .img {
  border-radius: calc(5 * var(--vunit));
}
.p-sidebar__content.service .ttl {
  margin-top: calc(16 * var(--vunit));
  text-align: center;
  color: var(--color-orange-600);
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  line-height: 1.3888888889;
  letter-spacing: 0rem;
}
.p-sidebar__content.service .lead {
  margin-top: calc(6 * var(--vunit));
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 0rem;
}

.p-sidebar__content.info .card-link {
  padding-block: calc(10 * var(--vunit)) calc(20 * var(--vunit));
}
.p-sidebar__content.info .img {
  margin-top: calc(5 * var(--vunit));
}
.p-sidebar__content.info .img img {
  width: calc(171 * var(--vunit));
  aspect-ratio: 171/172;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-sidebar__content.info .ttl {
  margin-top: calc(11 * var(--vunit));
}
.p-sidebar__content.info .l-btn {
  margin-top: calc(14 * var(--vunit));
}

.p-sidebar__content.popular-column {
  padding-block: calc(0 * var(--vunit)) calc(20 * var(--vunit));
  background-color: var(--color-orange-600-08);
}
.p-sidebar__content.popular-column .card-list {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: calc(18 * var(--vunit));
  gap: calc(16 * var(--vunit));
}
.p-sidebar__content.popular-column .card-list .card {
  display: block grid;
}
.p-sidebar__content.popular-column .card-list .card a {
  display: block grid;
  grid-template:
    "thumb thumb" minmax(0, auto) "rank ttl" minmax(
      calc(18 * var(--vunit)),
      auto
    )
    / auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-items: start;
  -webkit-column-gap: calc(8 * var(--vunit));
  -moz-column-gap: calc(8 * var(--vunit));
  column-gap: calc(8 * var(--vunit));
  row-gap: calc(6 * var(--vunit));
}
.p-sidebar__content.popular-column .card-list .card a:focus-visible .thumb img {
  scale: var(--card-hover-thumb-scale);
}
.p-sidebar__content.popular-column .card-list .card a:focus-visible .ttl {
  color: var(--color-orange-600);
}
.p-sidebar__content.popular-column .card-list .card .thumb {
  grid-area: thumb;
  width: 100%;
  aspect-ratio: 260/130;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow: clip;
  border-radius: calc(5 * var(--vunit));
}
.p-sidebar__content.popular-column .card-list .card .thumb img {
  -webkit-transition: scale 0.3s ease, opacity 0.3s ease;
  transition: scale 0.3s ease, opacity 0.3s ease;
}
.p-sidebar__content.popular-column .card-list .card .rank {
  --_t0: 13%;
  --_t1: 38%;
  grid-area: rank;
  position: relative;
  display: block grid;
  place-content: center;
  align-self: start;
  width: calc(25 * var(--vunit));
  margin-top: calc(7 * var(--vunit));
  margin-left: calc(5 * var(--vunit));
  padding-top: calc(3 * var(--vunit));
  aspect-ratio: 26/19;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  font-family: var(--font-Roboto);
  color: var(--color-font-w);
  clip-path: polygon(
    0% var(--_t0),
    25% var(--_t1),
    50% 0%,
    75% var(--_t1),
    100% var(--_t0),
    100% 100%,
    0% 100%
  );
  font-size: 1.3rem;
  font-weight: var(--fw-black);
  line-height: 1;
  letter-spacing: 0rem;
}
.p-sidebar__content.popular-column .card-list .card .rank.rank1 {
  background-color: var(--color-rank1);
}
.p-sidebar__content.popular-column .card-list .card .rank.rank2 {
  background-color: var(--color-rank2);
}
.p-sidebar__content.popular-column .card-list .card .rank.rank3 {
  background-color: var(--color-rank3);
}
.p-sidebar__content.popular-column .card-list .card .ttl {
  grid-area: ttl;
  margin-top: unset;
  color: var(--color-font-b);
  text-align: start;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  font-size: 1.6rem;
  font-weight: var(--fw-regular);
  line-height: 1.875;
  letter-spacing: 0rem;
}

.p-sidebar__content.related-case {
  padding-block: calc(0 * var(--vunit)) calc(20 * var(--vunit));
}
.p-sidebar__content.related-case .card-list {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: calc(18 * var(--vunit));
  gap: calc(16 * var(--vunit));
}
.p-sidebar__content.related-case .card-list .card {
  display: block grid;
  -webkit-column-gap: calc(8 * var(--vunit));
  -moz-column-gap: calc(8 * var(--vunit));
  column-gap: calc(8 * var(--vunit));
}
.p-sidebar__content.related-case .card-list .card a:focus-visible .thumb img {
  scale: var(--card-hover-thumb-scale);
}
.p-sidebar__content.related-case .card-list .card a:focus-visible .ttl {
  color: var(--color-orange-600);
}
.p-sidebar__content.related-case .card-list .card .thumb {
  width: 100%;
  aspect-ratio: 260/130;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow: clip;
  border-radius: calc(5 * var(--vunit));
}
.p-sidebar__content.related-case .card-list .card .thumb img {
  -webkit-transition: scale 0.3s ease, opacity 0.3s ease;
  transition: scale 0.3s ease, opacity 0.3s ease;
}
.p-sidebar__content.related-case .card-list .card .ttl {
  margin-top: calc(4 * var(--vunit));
  color: var(--color-font-b);
  text-align: start;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  font-size: 1.6rem;
  font-weight: var(--fw-regular);
  line-height: 1.875;
  letter-spacing: 0rem;
}
.p-sidebar__content.related-case .card-list .card .company {
  margin-top: unset;
  color: var(--color-orange-600);
  text-align: start;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  font-size: 1.4rem;
  font-weight: var(--fw-regular);
  line-height: 1.7142857143;
  letter-spacing: 0rem;
}

.p-home {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0rem;
}
.p-home__sec01-worried .l-background {
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - var(--_len)),
    50% 100%,
    0% calc(100% - var(--_len))
  );
}
.p-home__sec01-worried .l-background .grid-man {
  position: relative;
  justify-self: center;
  -ms-flex-item-align: end;
  align-self: end;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec01-worried .l-background .grid-man .adjust-box {
  display: block grid;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-inline: auto;
}
.p-home__sec01-worried__inner .grid-content-heading .sec-heading {
  grid-area: heading;
  position: relative;
  text-align: center;
}
.p-home__sec01-worried__inner .grid-content-heading .sec-heading .ttl {
  white-space: nowrap;
  letter-spacing: 0rem;
}
.p-home__sec01-worried__inner .grid-content-icon {
  display: block grid;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  justify-items: center;
}
.p-home__sec01-worried__inner .grid-content-icon .grid-card {
  display: block grid;
  place-items: center;
}
.p-home__sec01-worried__inner .grid-content-icon .grid-card .adjust-box {
  display: block grid;
  place-content: center;
  justify-items: center;
  gap: calc(12 * var(--vunit));
  position: relative;
  aspect-ratio: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: var(--infinity);
  background-color: var(--color-white);
  border: calc(1 * var(--vunit)) solid var(--color-gray-300);
}
.p-home__sec01-worried__inner .grid-content-icon .grid-card .adjust-box .icon {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec01-worried__inner .grid-content-icon .grid-card .adjust-box .lead {
  letter-spacing: 0rem;
}
.p-home__sec01-worried__inner .grid-content-icon .grid-card {
  text-align: center;
}
.p-home__sec01-worried__inner .grid-content-icon .grid-card strong {
  color: var(--color-blue-800);
}
.p-home__sec01-worried__inner .grid-content-icon .grid-card01 {
  --_icon-width-pc: 29;
  --_icon-height-pc: 68;
  --_icon-width-sp: 20;
  grid-area: card01;
}
.p-home__sec01-worried__inner .grid-content-icon .grid-card02 {
  --_card-width-pc: 250;
  --_icon-width-pc: 68;
  --_icon-height-pc: 65;
  --_icon-width-sp: 40;
  --_card-x-pc: 140;
  --_card-y-pc: -5;
  grid-area: card02;
}
.p-home__sec01-worried__inner .grid-content-icon .grid-card03 {
  --_card-width-pc: 250;
  --_icon-width-pc: 70;
  --_icon-height-pc: 67;
  --_icon-width-sp: 40;
  --_card-x-pc: -140;
  --_card-y-pc: -5;
  grid-area: card03;
}
.p-home__sec01-worried__inner .grid-content-icon .grid-card04 {
  --_icon-width-pc: 72;
  --_icon-height-pc: 72;
  --_icon-width-sp: 40;
  grid-area: card04;
}

.p-home__sec01-solution__inner .grid-arrow-down {
  aspect-ratio: 124/29;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  background-color: var(--color-gray-500);
}
.p-home__sec01-solution__inner .sec-heading {
  margin-top: calc(31 * var(--vunit));
  text-align: center;
}
.p-home__sec01-solution__inner .sec-heading .sec-lead {
  letter-spacing: 0rem;
}
.p-home__sec01-solution__inner .sec-heading .sec-ttl {
  position: relative;
  color: var(--color-blue-key);
  letter-spacing: 0rem;
}

.p-home__sec02__inner {
  --layout-inner-pc: 1120;
}
.p-home__sec02__inner .grid-content01 {
  -webkit-column-gap: calc(58 * var(--vunit));
  -moz-column-gap: calc(58 * var(--vunit));
  column-gap: calc(58 * var(--vunit));
}
.p-home__sec02__inner .grid-content01 .grid-card {
  display: block grid;
  grid-template:
    "ttl" minmax(0, auto) "lead" minmax(0, 1fr) "img" minmax(0, auto)
    / 1fr;
  max-width: calc(532 * var(--vunit));
  background-color: var(--color-white);
  border-radius: calc(15 * var(--vunit));
  height: 100%;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  border: calc(1 * var(--vunit)) solid var(--color-white);
}
.p-home__sec02__inner .grid-content01 .grid-card .num {
  display: block grid;
  position: absolute;
  align-self: start;
  justify-self: end;
  font-family: var(--font-Barlow);
  font-style: italic;
  color: var(--color-yellow-300-04);
  letter-spacing: 0rem;
}
.p-home__sec02__inner .grid-content01 .grid-card .ttl {
  grid-area: ttl;
  z-index: 1;
  letter-spacing: 0rem;
}
.p-home__sec02__inner .grid-content01 .grid-card .grid-lead {
  grid-area: lead;
  z-index: 1;
  padding-bottom: calc(20 * var(--vunit));
  letter-spacing: 0rem;
}
.p-home__sec02__inner .grid-content01 .grid-card .grid-lead .note {
  margin-top: calc(15 * var(--vunit));
}
.p-home__sec02__inner .grid-content01 .grid-card .img {
  grid-area: img;
  align-self: end;
  border-radius: calc(15 * var(--vunit));
  overflow: clip;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.p-home__sec02__inner .grid-content01 .grid-card .img img {
  height: 100%;
}
.p-home__sec02__inner .grid-content02 {
  margin-top: calc(81 * var(--vunit));
  padding-bottom: calc(63 * var(--vunit));
  border-radius: calc(12 * var(--vunit));
  width: 100%;
}
.p-home__sec02__inner .grid-content02 .grid-card-list {
  gap: calc(20 * var(--vunit));
  margin-top: calc(30 * var(--vunit));
  max-width: calc(1000 * var(--vunit));
  margin-inline: auto;
}
.p-home__sec02__inner .grid-content02 .grid-card-list .card {
  background-color: var(--color-gray-400);
  border-radius: calc(10 * var(--vunit));
  padding-block: calc(19 * var(--vunit));
  padding-inline: calc(20 * var(--vunit));
  width: 100%;
  -ms-flex-line-pack: start;
  align-content: start;
}
.p-home__sec02__inner .grid-content02 .grid-card-list .card .img {
  border-radius: calc(10 * var(--vunit));
  overflow: clip;
}
.p-home__sec02__inner
  .grid-content02
  .grid-card-list
  .card
  .img.corner-square-top {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.p-home__sec02__inner .grid-content02 .grid-card-list .card .ttl {
  margin-top: calc(15 * var(--vunit));
  text-align: center;
  font-size: 2rem;
  font-weight: var(--fw-bold);
  line-height: 1.5;
  letter-spacing: 0rem;
}
.p-home__sec02__inner .grid-content02 .grid-card-list .card .lead {
  margin-top: calc(4 * var(--vunit));
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0rem;
}

.p-home__sec03__inner .grid-content01 {
  margin-top: calc(65 * var(--vunit));
}
.p-home__sec03__inner .grid-content01 .card {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-box-shadow: 0 0 calc(15 * var(--vunit)) var(--color-black-008);
  box-shadow: 0 0 calc(15 * var(--vunit)) var(--color-black-008);
  position: relative;
  display: block grid;
  -ms-flex-line-pack: start;
  align-content: start;
  justify-items: center;
  grid-template:
    "ttl" minmax(0, auto) "img" minmax(0, 1fr) "lead" minmax(0, auto)
    / 1fr;
  height: 100%;
  border-radius: calc(10 * var(--vunit));
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
.p-home__sec03__inner .grid-content01 .card:has(.is-hover) {
  scale: var(--card-hover-scale);
}
.p-home__sec03__inner .grid-content01 .card .c-btn-ttl {
  grid-area: ttl;
  text-align: center;
  padding-block: calc(35 * var(--vunit)) calc(30 * var(--vunit));
  padding-inline: calc(22 * var(--vunit));
}
.p-home__sec03__inner .grid-content01 .card .grid-img {
  grid-area: img;
  max-height: calc(210 * var(--vunit));
  padding-inline: calc(22 * var(--vunit));
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}
.p-home__sec03__inner .grid-content01 .card .grid-img img {
  width: calc(var(--_icon-width-pc) * var(--vunit));
  aspect-ratio: calc(var(--_icon-width-pc) * var(--vunit)) /
    calc(var(--_icon-height-pc) * var(--vunit));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec03__inner .grid-content01 .card .grid-img.img01 {
  --_icon-width-pc: 150;
  --_icon-height-pc: 184;
}
.p-home__sec03__inner .grid-content01 .card .grid-img.img02 {
  --_icon-width-pc: 75;
  --_icon-height-pc: 214;
}
.p-home__sec03__inner .grid-content01 .card .grid-img.img03 {
  --_icon-width-pc: 95;
  --_icon-height-pc: 211;
}
.p-home__sec03__inner .grid-content01 .card .lead {
  grid-area: lead;
  text-align: center;
  padding-block: calc(10 * var(--vunit)) calc(40 * var(--vunit));
  padding-inline: calc(10 * var(--vunit));
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0rem;
}
.p-home__sec04 .l-background .bg-item01 {
  aspect-ratio: 447/433;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec04 .l-background .bg-item02 {
  aspect-ratio: 366/352;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec04__inner .grid-company .grid-content01-01 {
  -webkit-column-gap: calc(58 * var(--vunit));
  -moz-column-gap: calc(58 * var(--vunit));
  column-gap: calc(58 * var(--vunit));
  border-bottom: calc(1 * var(--vunit)) solid var(--color-gray-500);
  -ms-flex-line-pack: start;
  align-content: start;
}
.p-home__sec04__inner .grid-company .grid-content01-01 .grid-content-lead {
  display: block grid;
  align-self: start;
  margin-top: calc(12 * var(--vunit));
}
.p-home__sec04__inner
  .grid-company
  .grid-content01-01
  .grid-content-lead
  > .grid-lead {
  margin-top: calc(7 * var(--vunit));
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0rem;
}
.p-home__sec04__inner .grid-company .grid-content01-01 .grid-visual .img {
  aspect-ratio: 480/250;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: calc(10 * var(--vunit));
}
.p-home__sec04__inner .grid-company .grid-content01-02 {
  display: block grid;
  gap: calc(39 * var(--vunit));
}
.p-home__sec04__inner .grid-company .grid-content01-02 .card {
  height: 100%;
  -ms-flex-line-pack: start;
  align-content: start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  border-radius: var(--card-radius);
}
.p-home__sec04__inner .grid-company .grid-content01-02 .grid-content01-02-01 {
  display: block grid;
  position: relative;
  background-color: var(--color-gray-400);
}
.p-home__sec04__inner
  .grid-company
  .grid-content01-02
  .grid-content01-02-01:after {
  content: "";
  position: absolute;
  background-color: var(--color-yellow-key);
}
.p-home__sec04__inner .grid-company .grid-content01-02 .grid-content01-02-02 {
  background-color: var(--color-blue-300);
}

.p-home__sec05__inner .grid-list {
  gap: calc(50 * var(--vunit));
}
.p-home__sec05__inner .grid-list .grid-item {
  display: block grid;
  position: relative;
  -ms-flex-line-pack: start;
  align-content: start;
  border-radius: calc(10 * var(--vunit));
  color: var(--color-font-w);
  background-color: var(--color-blue-key);
}
.p-home__sec05__inner .grid-list .grid-item:not(:last-child):after {
  content: "";
  position: absolute;
  bottom: calc(-22 * var(--vunit));
  width: calc(58 * var(--vunit));
  height: calc(23 * var(--vunit));
  justify-self: center;
  background-color: var(--color-blue-key);
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
.p-home__sec05__inner .grid-list .grid-item .grid-num {
  grid-area: num;
  display: block grid;
  border-right: calc(3 * var(--vunit)) solid var(--color-blue-700);
  font-family: var(--font-Barlow);
  place-self: center;
  height: 100%;
  letter-spacing: 0rem;
}
.p-home__sec05__inner .grid-list .grid-item .grid-num span {
  justify-self: center;
  margin-top: calc(6 * var(--vunit));
}
.p-home__sec05__inner .grid-list .grid-item .sec-ttl {
  grid-area: ttl;
  letter-spacing: 0rem;
}
.p-home__sec05__inner .grid-list .grid-item .grid-lead {
  grid-area: lead;
  margin-top: calc(8 * var(--vunit));
}
.p-home__sec05__inner .grid-list .grid-item .grid-icon {
  display: block grid;
  border-radius: var(--infinity);
  border: calc(3 * var(--vunit)) solid var(--color-blue-key);
  background-color: var(--color-white);
  aspect-ratio: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec05__inner .grid-list .grid-item .grid-icon .icon {
  place-self: center;
  aspect-ratio: calc(var(--_icon-width-pc) * var(--vunit)) /
    calc(var(--_icon-height-pc) * var(--vunit));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec05__inner .grid-list .grid-item .grid-icon .icon01 {
  --_icon-width-pc: 80;
  --_icon-height-pc: 80;
  --_icon-width-sp: 40;
}
.p-home__sec05__inner .grid-list .grid-item .grid-icon .icon02 {
  --_icon-width-pc: 77;
  --_icon-height-pc: 76;
  --_icon-width-sp: 38;
}
.p-home__sec05__inner .grid-list .grid-item .grid-icon .icon03 {
  --_icon-width-pc: 77;
  --_icon-height-pc: 77;
  --_icon-width-sp: 38;
}
.p-home__sec05__inner .grid-list .grid-item .grid-icon .icon04 {
  --_icon-width-pc: 90;
  --_icon-height-pc: 50;
  --_icon-width-sp: 45;
}

.p-home__sec06__inner .grid-list {
  display: block grid;
  gap: calc(19 * var(--vunit));
  width: 100%;
}
.p-home__sec06__inner .grid-list .grid-item {
  display: block grid;
  grid-template: "q" minmax(0, auto) "a" minmax(0, auto) / 1fr;
  position: relative;
  -ms-flex-line-pack: start;
  align-content: start;
  border-radius: calc(16 * var(--vunit));
  background-color: var(--color-white);
  border: calc(1 * var(--vunit)) solid var(--color-blue-key);
}
.p-home__sec06__inner .grid-list .grid-item .grid-col2 {
  display: block grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: calc(19 * var(--vunit));
  -moz-column-gap: calc(19 * var(--vunit));
  column-gap: calc(19 * var(--vunit));
}
.p-home__sec06__inner .grid-list .grid-item .grid-q {
  grid-area: q;
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  line-height: 1.8888888889;
  letter-spacing: 0rem;
}
.p-home__sec06__inner .grid-list .grid-item .grid-q .ttl {
  margin-top: calc(2 * var(--vunit));
}
.p-home__sec06__inner .grid-list .grid-item .grid-a {
  grid-area: a;
  font-size: 1.8rem;
  line-height: 1.8888888889;
  letter-spacing: 0.06rem;
}
.p-home__sec06__inner .grid-list .grid-item .grid-a div {
  margin-top: calc(2 * var(--vunit));
}
.p-home__sec06__inner .grid-content02 {
  position: relative;
  width: 100%;
  background-color: var(--color-blue-300);
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  border-radius: calc(20 * var(--vunit));
}
.p-home__sec06__inner .grid-content02:has(.is-hover) {
  background-color: var(--color-blue-800-01);
  cursor: pointer;
}
.p-home__sec06__inner .grid-content02:has(.is-hover) .grid-col-visual img {
  scale: var(--card-hover-scale);
}
.p-home__sec06__inner .grid-content02 .l-grid--col2 {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
.p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-visual {
  aspect-ratio: 475/289;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
.p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-visual .visual {
  overflow: clip;
  border-radius: calc(15 * var(--vunit));
}
.p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-visual img {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
.p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-lead {
  display: block grid;
  -ms-flex-line-pack: start;
  align-content: start;
  grid-template-rows: 1fr auto auto;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-lead .ttl {
  letter-spacing: 0rem;
  -ms-flex-item-align: end;
  align-self: end;
}
.p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-lead .grid-lead {
  letter-spacing: 0.04rem;
}
.p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-lead .l-btn {
  -ms-flex-item-align: start;
  align-self: start;
}

.p-home__sec07__inner .grid-content01 {
  margin-top: calc(65 * var(--vunit));
  -webkit-column-gap: calc(57 * var(--vunit));
  -moz-column-gap: calc(57 * var(--vunit));
  column-gap: calc(57 * var(--vunit));
  row-gap: calc(45 * var(--vunit));
}
.p-home__sec07__inner .grid-content01 .card {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-box-shadow: 0 0 calc(15 * var(--vunit)) var(--color-black-006);
  box-shadow: 0 0 calc(15 * var(--vunit)) var(--color-black-006);
  position: relative;
  display: block grid;
  justify-items: center;
  grid-template: "ttl" minmax(0, auto) "img" minmax(0, auto) / 1fr;
  height: 100%;
  border-radius: calc(10 * var(--vunit));
  overflow: clip;
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
  transform: translateZ(0);
}
.p-home__sec07__inner .grid-content01 .card:has(.is-hover) {
  scale: var(--card-hover-scale);
  cursor: pointer;
}
.p-home__sec07__inner .grid-content01 .card .c-btn-ttl {
  grid-area: ttl;
  text-align: center;
  padding-inline: calc(22 * var(--vunit));
}
.p-home__sec07__inner .grid-content01 .card .img {
  grid-area: img;
  max-height: calc(257 * var(--vunit));
}
.p-home__sec07__inner .grid-content01 .card .img img {
  width: calc(var(--_icon-width-pc, 250) * var(--vunit));
  aspect-ratio: calc(var(--_icon-width-pc) * var(--vunit)) /
    calc(var(--_icon-height-pc) * var(--vunit));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec07__inner .grid-content01 .card .img.img01 {
  --_icon-width-pc: 240;
  --_icon-height-pc: 257;
}
.p-home__sec07__inner .grid-content01 .card .img.img02 {
  --_icon-width-pc: 250;
  --_icon-height-pc: 257;
}
.p-home__sec07__inner .grid-content01 .card .img.img03 {
  --_icon-width-pc: 116;
  --_icon-height-pc: 267;
}
.p-home__sec07__inner .grid-content01 .card .img.img04 {
  --_icon-width-pc: 258;
  --_icon-height-pc: 257;
}
.p-home__sec07__inner .grid-content01 .card .img.img05 {
  --_icon-width-pc: 200;
  --_icon-height-pc: 200;
}
.p-home__sec07__inner .grid-content01 .card .img.img06 {
  --_icon-width-pc: 274;
  --_icon-height-pc: 257;
}
.p-home__sec07__inner .grid-content01 .card .lead {
  grid-area: lead;
  text-align: center;
  padding-block: calc(10 * var(--vunit)) calc(30 * var(--vunit));
  padding-inline: calc(22 * var(--vunit));
}
.p-home__sec08 .l-background {
  overflow: clip;
}
.p-home__sec08 .l-background .bg {
  display: block grid;
  height: 100%;
  width: 100vw;
}
.p-home__sec08 .l-background img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 0% 50%;
  object-position: 0% 50%;
}

.p-home__sec08__inner {
  --layout-inner-pc: calc(1920 - 102 * 2);
  --layout-inner-margin-pc: 80;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-home__sec08__inner .grid-content01 {
  justify-self: end;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec08__inner .grid-content01 .card {
  display: block grid;
  grid-template-rows: auto auto 1fr;
  -ms-flex-line-pack: start;
  align-content: start;
  margin-left: auto;
  background-color: var(--color-white-08);
  border-radius: var(--card-s-radius);
  height: 100%;
}
.p-home__sec08__inner .grid-content01 .card .grid-lead {
  margin-top: calc(24 * var(--vunit));
  padding-left: calc(5 * var(--vunit));
}
.p-home__sec08__inner .grid-content01 .card .grid-lead p {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.01rem;
}
.p-home__sec08__inner .grid-content01 .card .grid-lead p + p {
  margin-top: calc(22 * var(--vunit));
}
.p-home__sec08__inner .grid-content01 .card .l-btn {
  -ms-flex-item-align: end;
  align-self: end;
  margin-top: calc(34 * var(--vunit));
}

.p-home__sec09__inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-home__sec09__inner .grid-card-list {
  max-width: calc(1119 * var(--vunit));
}
.p-home__sec09__inner .grid-card-list .card {
  display: block grid;
  -ms-flex-line-pack: start;
  align-content: start;
  margin-left: auto;
  justify-items: center;
  position: relative;
  background-color: var(--color-white-08);
  border-radius: calc(15 * var(--vunit));
  border: calc(3 * var(--vunit)) solid var(--color-blue-key);
  width: 100%;
  height: 100%;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.p-home__sec09__inner .grid-card-list .card:has(.is-hover) {
  cursor: pointer;
  background-color: var(--color-blue-350);
}
.p-home__sec09__inner .grid-card-list .card .grid-icon {
  margin-top: calc(-70 * var(--vunit));
  position: absolute;
  display: block grid;
  background-color: var(--color-blue-key);
  border-radius: var(--infinity);
  width: calc(141 * var(--vunit));
  aspect-ratio: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  place-items: center;
}
.p-home__sec09__inner .grid-card-list .card .grid-icon .icon {
  width: calc(var(--_icon-width-pc) * var(--vunit));
  aspect-ratio: calc(var(--_icon-width-pc) * var(--vunit)) /
    calc(var(--_icon-height-pc) * var(--vunit));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec09__inner .grid-card-list .card .grid-icon .icon01 {
  --_icon-width-pc: 71;
  --_icon-height-pc: 52;
}
.p-home__sec09__inner .grid-card-list .card .grid-icon .icon02 {
  --_icon-width-pc: 69;
  --_icon-height-pc: 52;
}
.p-home__sec09__inner .grid-card-list .card .grid-icon .icon03 {
  --_icon-width-pc: 56;
  --_icon-height-pc: 56;
}
.p-home__sec09__inner .grid-card-list .card .ttl {
  color: var(--color-blue-key);
  font-size: 2.4rem;
  font-weight: var(--fw-bold);
  line-height: 1.6666666667;
  letter-spacing: 0rem;
}
.p-home__sec09__inner .grid-card-list .card .tel {
  color: var(--color-blue-key);
  font-family: var(--font-Roboto);
  font-size: 3.1rem;
  font-weight: var(--fw-bold);
  line-height: 1.7419354839;
  letter-spacing: 0rem;
}
.p-home__sec09__inner .grid-card-list .card .grid-lead {
  text-align: center;
}
.p-home__sec09__inner .grid-card-list .card .grid-lead p {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0rem;
}
.p-home__sec09__inner .grid-card-list .card .grid-lead p + p {
  margin-top: calc(20 * var(--vunit));
}
.p-home__sec09__inner .grid-card-list .card .grid-lead.lead--tel {
  margin-top: calc(0 * var(--vunit));
}

/*
@forward "p-page-flow";
@forward "p-page-features";
@forward "p-page-faq";
@forward "p-page-contact";
//  グループページ
@forward "service";
@forward "company";
//  記事系
@forward "case";
@forward "column";
@forward "news";
@forward "seminar";
*/
.p-img--logo- {
  display: block grid;
  place-content: center;
  margin-inline: auto;
  aspect-ratio: 307/62;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  background-color: var(--color-white);
  border-radius: calc(7 * var(--vunit));
}

.p-banner-detail01 {
  display: block grid;
  position: relative;
  width: 100%;
  overflow: clip;
  border-radius: calc(10 * var(--vunit));
}
.p-banner-detail01:has(.is-hover) {
  cursor: pointer;
}
.p-banner-detail01:has(.is-hover) .l-background {
  scale: var(--card-hover-scale);
}
.p-banner-detail01:has(.is-hover) .inner {
  scale: var(--card-hover-scale);
}
.p-banner-detail01:has(.is-hover) .c-btn-rounded {
  scale: 1;
}
.p-banner-detail01 .l-background {
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
.p-banner-detail01 .inner {
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}

/*
//----------------------------------------------------
//  バナー: スラッシュクロス型バナー: サービス
.p-banner--service {
  display: block grid;
  position: relative;
  width: 100%;
  padding-bottom: vunit(4);
  transition: opacity 0.3s ease;
  @include mq-down(){
    --_content-margin: calc( 20 * var(--vunit) );
    --_bg-clip-path:  polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
  @include mq-up(){
    --_bg-clip-path:  polygon(9.5% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
  @include hover{
    opacity: var(--btn-hover-opacity);
  }
  .l-background{
    clip-path: var(--_bg-clip-path);
  }
  //  インナー : 背景との位置調整が必要
  .l-inner{
    position: relative;
    --layout-inner-margin-sp: 0;
    --layout-inner-margin-pc: 0;
    @include mq-down(){
      grid-template:
        "visual" minmax( 0, auto)
        "content" minmax( 0, auto) /
        1fr;
    }
    @include mq-up(){
      grid-template: "visual content" minmax( 0, auto) / minmax(max-content, calc( 360 * var(--vunit))) 1fr;
      gap: vunit(11);
      justify-items: start;
    }
  }
  //  ビジュアル
  .grid-visual{
    grid-area: visual;
    display: block grid;
    @include mq-up(){
      margin-top: vunit(-5);
    }
    .adjust-box{
      .image{
        aspect-ratio: 360/220;
        height: fit-content;
        translate: 0 vunit(-16);
        @include mq-down(){
          width: 100%;
        }
        @include mq-up(){
          width: vunit(360);
        }
      }
    }
  }
  //  コンテンツ
  .grid-content{
    grid-area: content;
    display: block grid;
    align-content: center;//start;
    align-items: start;
    column-gap: vunit(15);
    margin-bottom: vunit(0);
    grid-template:
      "ttl" minmax( 0, auto)
      "lead" minmax( 0, auto)
      "btn" minmax( 0, auto) /
      1fr;
    color: var(--color-font-w);
    @include mq-down(){
      //  margin-inline: vunit(40) vunit(0);
      margin-inline: var(--_content-margin);
      padding-bottom: vunit(20);
    }
    @include mq-up(){
    }
    //  タイトル
    .ttl{
      grid-area: ttl;
      position: relative;
      @include fs(24,30,var(--fw-bold));
      @include ls(0);
      margin-top: unset;
      left: vunit(-15); //  「」のずれ
      @include mq-down(){
        margin-top: vunit(4);
        text-align: center;
      }
    }
    //  文章
    .lead{
      grid-area: lead;
      @include fs(16,30);
      @include ls(0);
      @include mq-down(){
        text-align: center;
        margin-top: vunit(8);
      }
      @include mq-up(){
        margin-top: vunit(8);
      }
    }
    .l-btn{
      grid-area: btn;
      margin-top: vunit(28);
      @include mq-down(){
        justify-self: center;
      }
      @include mq-up(){}
    }
  }
}




//----------------------------------------------------
//  バナー: ダウンロードバナー
.p-banner-download {
  display: block grid;
  background-color: var(--color-orange-600-08);
  //  リンク
  .banner-link{
    display: block grid;
    position: relative;
    width: 100%;
    padding-inline: vunit(30);
    align-content: start;
    @include mq-down(){
      grid-template:
        "thumb"   minmax( 0, auto)
        "taglist" minmax( 0, auto)
        "title"   minmax( 0, auto)
        "lead"    minmax( 0, auto) /
        1fr;
        padding-block: vunit(30);
    }
    @include mq-up(){
      display: block grid;
      grid-template:
        "thumb taglist" minmax( 0, auto)
        "thumb title"   minmax( 0, auto)
        "thumb lead"    minmax( 0, 1fr) /
        auto 1fr;
      justify-items: start;
      align-self: start;
      padding-block: vunit(20);
    }
    @include hover{
      img{
        scale: 1.05;
      }
    }
  }
  //  画像
  .thumb{
    grid-area: thumb;
    height: fit-content;
    aspect-ratio: 90/126;
    overflow: clip;

    img{
 //     transition: scale 0.3s ease;
    }
    @include mq-down(){
      width: 100%;  //  100%にしたい場合
//      width: vunit(90); //  幅を固定したい場合(PCと同じ)
      width: vunit(180); //  幅を固定したい場合(PCの倍程度)
      justify-self: center;
    }
    @include mq-up(){
      width: vunit(90);
    }
  }
  .tag-list{
    grid-area: taglist;
    li{
      --_min-height-pc: 25;
      color: var(--color-font-w);
      padding-inline: vunit(13);
      @include fs(14,14,var(--fw-bold));
      @include ls(0);
      &:before{
        content: unset;
      }
    }
    @include mq-down(){
      margin-block: vunit(20) 0;
      padding-left: 0;
    }
    @include mq-up(){
      margin-block: vunit(11) 0;
      padding-left: vunit(29);
    }
  }
  .title{
    grid-area: title;
    margin-block: unset;
    @include ls(0);
    @include mq-down(){
      padding-inline: 0;
      margin-top: vunit(10);
      @include fs(18,30,var(--fw-bold));
    }
    @include mq-up(){
      padding-inline: vunit(29) 0;
      margin-top: vunit(14);
      @include fs(24,36,var(--fw-bold));
    }
  }
  .lead{
    grid-area: lead;
    margin-block: unset;
    align-self: end;
    @include fs(14,28);
    @include ls(0);
    @include mq-up(){
      padding-left: vunit(29);
      margin-block: var(--leading-trim);
    }
  }
}
*/

.p-mv-home > .l-background .bg {
  width: 100%;
}

.p-mv-home__inner {
  --layout-inner-pc: calc(1920 - 249 * 2);
  --_inner-justify: start;
  -ms-flex-line-pack: start;
  align-content: start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
}
.p-mv-home__inner .grid-content {
  display: block grid;
}
.p-mv-home__inner .grid-content .mv-heading-lead {
  letter-spacing: 0rem;
}
.p-mv-home__inner .grid-content .mv-title {
  display: block flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: calc(23 * var(--vunit));
  gap: calc(1 * var(--vunit));
  letter-spacing: 0rem;
}
.p-mv-home__inner .grid-content .mv-title .row02 {
  position: relative;
  letter-spacing: -0.3rem;
}

.p-section-contact {
  margin-inline: auto;
  justify-self: center;
  position: relative;
}
.p-section-contact .l-background {
  background-color: var(--color-blue-key);
}

.p-section-contact__inner {
  --layout-inner-pc: 1400;
  --layout-inner-margin-pc: 80;
  /*
    //  ボタンリスト
    .grid-btn{
      display: block grid;
      @include mq-down(){
        margin-top: vunit(40);
        gap: vunit(10);
      }
      @include mq-up(){
        grid-auto-flow: column;
        gap: vunitw(31);
      }
    }*/
}

.p-content-solution-list {
  width: 100%;
}
.p-content-solution-list.l-grid--white .grid-service {
  border: calc(1 * var(--vunit)) solid var(--color-orange-600-40);
}
.p-content-solution-list .sec-ttl {
  margin-top: calc(10 * var(--vunit));
  text-align: center;
  font-size: calc(34 * var(--vunit));
  font-weight: var(--fw-bold);
  line-height: 1.7647058824;
  letter-spacing: 0rem;
}

.p-content-solution-list .grid-service {
  margin-top: calc(27 * var(--vunit));
  background-color: var(--color-white);
}
.p-content-solution-list .grid-service .content-lead {
  margin-top: calc(3 * var(--vunit));
}

.p-content-solution-list .grid-list {
  display: block grid;
  grid-auto-flow: row;
  gap: calc(18 * var(--vunitw));
  margin-top: calc(23 * var(--vunit));
}
.p-content-solution-list .grid-list .grid-card {
  display: block grid;
}
.p-content-solution-list .grid-list .grid-card .card-link {
  display: block grid;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  background-color: var(--color-orange-80);
  padding-block: calc(20 * var(--vunit)) calc(18 * var(--vunit));
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.p-content-solution-list .grid-list .grid-card .card-link:focus-visible {
  background-color: var(--color-orange-100);
}
.p-content-solution-list .grid-list .grid-card .icon {
  grid-area: icon;
  place-self: center;
}
.p-content-solution-list .grid-list .grid-card .icon img {
  aspect-ratio: var(--_icon-w-pc) / var(--_icon-h-pc);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-content-solution-list .grid-list .grid-card .c-btn-ttl {
  grid-area: ttl;
}
.p-content-solution-list .grid-list .grid-card .ttl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-content-solution-list .grid-list .grid-card .lead {
  grid-area: lead;
  margin-top: calc(2 * var(--vunit));
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0rem;
}
.p-content-solution-list .grid-list .card01 {
  --_icon-w-pc: 52;
  --_icon-h-pc: 69;
}
.p-content-solution-list .grid-list .card02 {
  --_icon-w-pc: 70;
  --_icon-h-pc: 68;
}
.p-content-solution-list .grid-list .card03 {
  --_icon-w-pc: 61;
  --_icon-h-pc: 70;
}
.p-content-solution-list .grid-list .card04 {
  --_icon-w-pc: 63;
  --_icon-h-pc: 70;
}
.p-content-solution-list .grid-list .card05 {
  --_icon-w-pc: 71;
  --_icon-h-pc: 73;
}
.p-content-solution-list .grid-list .card06 {
  --_icon-w-pc: 70;
  --_icon-h-pc: 79;
}

.p-content-process-figure {
  display: block grid;
  position: relative;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-content-process-figure .l-background {
  height: 100%;
  grid-template-columns: 50% 50%;
}
.p-content-process-figure .l-background .bg-persol {
  background-color: var(--color-orange-600-15);
}
.p-content-process-figure .l-background .bg-other {
  background-color: var(--color-black-006);
}
.p-content-process-figure .content {
  display: block grid;
  width: 100%;
}
.p-content-process-figure .content .col {
  display: contents;
}
.p-content-process-figure .content .process {
  display: contents;
}
.p-content-process-figure .content .process .list-title {
  grid-area: process-ttl;
  margin-top: calc(2 * var(--vunit));
  text-align: center;
  -ms-flex-line-pack: center;
  align-content: center;
  justify-self: unset;
  height: calc(50 * var(--vunit));
  color: var(--color-font-w);
  background-color: var(--color-orange-600);
  margin-bottom: calc(10 * var(--vunit));
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  line-height: 2;
  letter-spacing: 0rem;
}
.p-content-process-figure .content .process .list {
  grid-area: process-itm;
  display: block grid;
  width: 100%;
  gap: calc(10 * var(--vunit));
}
.p-content-process-figure .content .process .list li {
  display: block grid;
  -ms-flex-line-pack: center;
  align-content: center;
  background-color: var(--color-white);
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  line-height: 2;
  letter-spacing: 0rem;
}
.p-content-process-figure .content .ttl-persol {
  grid-area: ttl-p;
  color: var(--color-orange-600);
  text-align: center;
  align-self: start;
  margin-block: var(--leading-trim);
  letter-spacing: 0rem;
}
.p-content-process-figure .content .flow-persol {
  --_arrow-color: var(--color-orange-600);
  grid-area: flow-p;
  display: block grid;
  position: relative;
  color: var(--color-font-w);
  margin-top: calc(10 * var(--vunit));
  font-size: 3rem;
  font-weight: var(--fw-bold);
  line-height: 1.3333333333;
  letter-spacing: 12rem;
}
.p-content-process-figure .content .list-persol {
  grid-area: list-p;
  align-self: start;
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(20 * var(--vunit));
  margin-top: calc(34 * var(--vunit));
  margin-inline: auto;
  width: 100%;
  max-width: calc(315 * var(--vunit));
}
.p-content-process-figure .content .list-persol li {
  display: block grid;
  grid-template-columns: auto 1fr;
  gap: calc(6 * var(--vunit));
  padding-inline: calc(10 * var(--vunit));
  padding-block: calc(8 * var(--vunit)) calc(12 * var(--vunit));
  background-color: var(--color-white);
  border-radius: calc(10 * var(--vunit));
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0rem;
}
.p-content-process-figure .content .list-persol li .num {
  display: grid;
  position: relative;
  place-content: center;
  place-self: center;
  border-radius: var(--infinity);
  background-color: var(--color-orange-600);
  width: calc(30 * var(--vunit));
  aspect-ratio: 1/1;
  margin-right: calc(8 * var(--vunit));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-indent: 0;
  color: var(--color-font-w);
  font-size: 1.6rem;
  font-weight: var(--fw-bold);
  line-height: 1;
}
.p-content-process-figure .content .ttl-other {
  grid-area: ttl-o;
  text-align: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 2.5rem;
  font-weight: var(--fw-bold);
  line-height: 1.6;
  letter-spacing: 0rem;
}
.p-content-process-figure .content .process-o .list-title {
  grid-area: process-o-ttl;
}
.p-content-process-figure .content .process-o .list {
  grid-area: process-o-itm;
}
.p-content-process-figure .content .flow-other {
  --_arrow-color: var(--color-gray-350);
  grid-area: flow-o;
  position: relative;
  display: block grid;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color-font-w);
}
.p-content-process-figure .content .flow-other .flow-arrow01 {
  grid-area: arrow01;
  font-size: 1.5rem;
  font-weight: var(--fw-bold);
  line-height: 1.2;
  letter-spacing: 0rem;
}
.p-content-process-figure .content .flow-other .flow-arrow02 {
  grid-area: arrow02;
  font-size: 1.3rem;
  font-weight: var(--fw-bold);
  line-height: 1.3846153846;
  letter-spacing: -0.4rem;
}
.p-content-process-figure .content .list-other {
  grid-area: list-o;
}
.p-content-process-figure .content .list-other .info-box {
  background-color: var(--color-white);
  border-radius: calc(10 * var(--vunit));
}

.p-content-process-figure__flow-arrow {
  --_w: calc(82 * var(--vunit));
  --_aw: calc(23 * var(--vunit));
  --_al: calc(49 * var(--vunit));
  display: block grid;
  place-content: center;
  position: relative;
  text-align: center;
  background-color: var(--_arrow-color, var(--color-gray-350));
}

.js-no-transition {
  -webkit-transition: none !important;
  transition: none !important;
}
.js-no-transition:after {
  -webkit-transition: none !important;
  transition: none !important;
}

[class*="js-anim-"].js-noanime {
  -webkit-transition: none !important;
  transition: none !important;
}
[class*="js-anim-"].js-noanime:after {
  -webkit-transition: none !important;
  transition: none !important;
}
@media screen and (max-width: 375px) {
  :root {
    --vw: var(--vws);
    --vh: var(--vhs);
    --funit: var(--vws);
    --vunit: var(--vws);
    --vunitw: var(--vws);
    --funit: var(--frem);
  }
}
@media screen and (max-width: 767px) {
  :root {
    --vw: var(--vws);
    --vh: var(--vhs);
    --funit: var(--vws);
    --vunit: var(--vws);
    --vunitw: var(--vw);
    --lunit: var(--vws);
    --layout-inner: var(--layout-inner-sp);
    --layout-inner-margin: var(--layout-inner-margin-sp);
    --fixedcv-height: var(--fixedcv-height-sp);
    --card-article-radius: var(--card-article-radius-sp);
    --card-s-radius: var(--card-s-radius-sp);
    --card-m-radius: var(--card-m-radius-sp);
    --card-l-radius: var(--card-l-radius-sp);
    --card-ll-radius: var(--card-ll-radius-sp);
    --rrate: var(--spr);
  }
  html {
    font-size: 2.6666666667vw;
  }
  body {
    font-size: 1.4rem;
  }
  .l-inner {
    --_lwi-sp: var(--layout-inner-sp);
    --_im-sp: var(--layout-inner-margin-sp);
    --_lwi: var(--_lwi-sp);
    --_im: var(--_im-sp);
  }
  .l-inner--vw {
    padding-left: 5.3333333333dvi;
    padding-right: 5.3333333333dvi;
    max-width: 342.9333333333dvi;
  }
  .l-grid-content {
    padding-left: calc(30 * var(--vunit));
    padding-right: calc(30 * var(--vunit));
  }
  .l-grid--col2 {
    --_flow: row;
    --_columns: 1fr;
  }
  .l-grid--col3 {
    --_flow: row;
    --_columns: 1fr;
  }
  .l-grid--col4 {
    --_flow: row;
    --_columns: 1fr;
  }
  [class*="l-btn"] {
    margin-inline: var(--_l-btn-margin-sp, auto);
  }
  :where(.l-btn--left-sp, .l-btn--start-sp) {
    --_grid-width: fit-content;
    margin-right: auto;
  }
  :where(.l-btn--right-sp, .l-btn--end-sp) {
    --_grid-width: fit-content;
    margin-left: auto;
  }
  .l-background__bg-fill-diag {
    width: 100%;
    clip-path: polygon(90% 0, 100% 0, 100% 100%, 60% 100%);
    height: 100%;
  }
  .l-follow-bottombar .l-inner .l-btn {
    grid-template-columns: auto auto;
    -webkit-column-gap: calc(10 * var(--vunit));
    -moz-column-gap: calc(10 * var(--vunit));
    column-gap: calc(10 * var(--vunit));
  }
  .l-follow-bottombar [class*="c-btn"] {
    margin-top: calc(3 * var(--vunit));
  }
  .c-btn-txt {
    --_btn-ls: var(--_btn-ls-sp);
    --_btn-fs: var(--_btn-fs-sp);
    --_btn-lh: var(--_btn-lh-sp);
    --_btn-width: var(--_btn-width-sp);
    --_btn-height: var(--_btn-height-sp);
  }
  .c-btn-txt.c-btn--orange-col3 span:not([class]) {
    gap: calc(4 * var(--vunit));
    padding-bottom: calc(8 * var(--vunit));
  }
  .c-btn-txt.c-btn--header {
    --_btn-width: 110;
    --_btn-height: 40;
    --_btn-padding: 8;
    font-size: 1.6rem;
    font-weight: var(--fw-bold);
    line-height: 1.25;
  }
  .c-btn-txt.c-btn--s {
    --_btn-width: 250;
    --_btn-height: 60;
  }
  .c-btn-ttl {
    --_btn-ls: var(--_btn-ls-sp);
    --_btn-fs: var(--_btn-fs-sp);
    --_btn-lh: var(--_btn-lh-sp);
  }
  .c-btn-rounded-list {
    grid-auto-flow: row;
  }
  .c-btn-rounded {
    --_btn-width: 300;
    --_btn-height: 60;
    --_btn-icon-right: calc(12 * var(--vunit));
  }
  .c-btn-rounded.c-btn--s {
    --_btn-width: 240;
    --_btn-height: 42;
  }
  .c-btn-rounded.c-btn--m {
    --_btn-width: 260;
    --_btn-height: 50;
  }
  .c-btn-rounded.c-btn--col2 {
    --_btn-width: 165;
    --_btn-height: 50;
    --_btn-icon-right: calc(10 * var(--vunit));
    --_btn-padding: 20;
    font-size: 1.6rem;
    font-weight: var(--fw-bold);
    line-height: 1.75;
  }
  .c-btn-rounded.c-btn--col2-slim {
    --_btn-width: 165;
    --_btn-height: 50;
    --_btn-icon-right: calc(10 * var(--vunit));
    --_btn-padding: 20;
    font-size: 1.6rem;
    font-weight: var(--fw-bold);
    line-height: 1.75;
  }
  .c-btn-rounded.c-btn--col2-l {
    --_btn-width: 165;
    --_btn-height: 50;
    --_btn-icon-right: calc(10 * var(--vunit));
    --_btn-padding: 20;
    font-size: 1.6rem;
    font-weight: var(--fw-bold);
    line-height: 1.75;
  }
  .c-block-btn-scroll .c-btn-scroll {
    top: calc(-95 * var(--vunit));
  }
  .c-btn-scroll .line {
    height: calc(60 * var(--vunit));
  }
  .c-details-qa > summary {
    gap: calc(20 * var(--vunit));
    padding-inline: calc(var(--_padding-inline-sp, 10) * var(--vunit));
    padding-block: calc(15 * var(--vunit)) calc(15 * var(--vunit));
  }
  .c-details-qa > .content {
    padding-left: calc(10 * var(--vunit));
    padding-right: calc(10 * var(--vunit));
    gap: calc(20 * var(--vunit));
  }
  [class*="c-icon--"] {
    --_iw: var(--_iw-sp, var(--_iw-pc));
    --_ih: var(--_ih-sp, var(--_ih-pc));
  }
  .c-icon--angle-arrow-right,
  .c-icon--angle-arrow-left,
  .c-icon--angle-arrow-down {
    --_tickness: 3;
    --_size: 10;
  }
  .c-icon--circle .arrow-right {
    --_tickness: 2;
    --_size: 8;
  }
  [class*="c-icon-img--"] {
    --_iw: var(--_iw-sp, var(--_iw-pc, 0));
    --_ih: var(--_ih-sp, var(--_ih-pc, 0));
  }
  .c-link-txt {
    font-size: 1.4rem;
    font-weight: var(--fw-bold);
    line-height: 1.4285714286;
  }
  .c-link-txt--default {
    font-size: 1.4rem;
    font-weight: var(--fw-bold);
    line-height: 1.4285714286;
  }
  .c-list {
    --_list-gap: 9;
  }
  .c-list--indent {
    --_list-gap: 9;
  }
  .c-list--check li:before {
    margin-right: calc(var(--_list-icon-check-gap, 8) * var(--vunit));
  }
  .c-dl-list {
    --_dl-list-col-gap: 0;
    width: 100%;
    display: block grid;
  }
  .c-dl-list .row {
    width: 100%;
    display: block grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    justify-items: start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .c-dl-list .row:last-child {
    border-bottom: calc(1 * var(--vunit)) solid var(--color-gray-300);
  }
  .c-dl-list .row dt {
    border-top: calc(1 * var(--vunit)) solid var(--color-gray-300);
    padding-inline: calc(10 * var(--vunit));
  }
  .c-dl-list .row dd {
    width: 100%;
    padding-inline: calc(10 * var(--vunit));
    padding-block: calc(15 * var(--vunit));
    border-top: calc(1 * var(--vunit)) solid var(--color-gray-300);
  }
  .c-list-circle-num {
    --_list-gap: 9;
  }
  .c-list-circle-num > li {
    gap: calc(var(--_list-icon-check-gap, 8) * var(--vunit));
  }
  .c-list-circle-num-pseudo {
    --_list-gap: 9;
  }
  .c-list-circle-num-pseudo > li:before,
  .c-list-circle-num-pseudo > li:after {
    margin-right: calc(var(--_list-icon-check-gap, 8) * var(--vunit));
  }
  .c-list-check {
    --_list-gap: 9;
  }
  .c-list-check > li {
    gap: calc(var(--_list-icon-check-gap, 8) * var(--vunit));
  }
  .c-slider {
    margin-inline: calc(var(--_gutter) * -1);
    width: 100vw;
  }
  .c-slider__inner {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding-inline: calc(var(--_slider-inner, 20) * var(--vunit));
  }
  .c-table-col2 {
    display: block grid;
  }
  .c-table-col2 colgroup col {
    --_col-width: var(--_table-col-width-sp, inherit);
  }
  .c-table-col2 tbody {
    display: block grid;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .c-table-col2 tr {
    padding-block: calc(10 * var(--vunit));
    display: block flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
  }
  .c-table-col2 tr:last-child {
    border-bottom: calc(1 * var(--vunit)) solid
      var(--_tr-border-color, var(--color-orange-600));
  }
  .c-table-col2 tr > th {
    border-top: calc(1 * var(--vunit)) solid
      var(--_th-border-color, var(--color-orange-600));
    padding-inline: calc(20 * var(--vunit));
  }
  .c-table-col2 tr > td {
    padding-inline: calc(20 * var(--vunit));
    border-top: calc(1 * var(--vunit)) solid
      var(--_th-border-color, var(--color-orange-600));
    padding-block: calc(20 * var(--vunit));
  }
  .c-table-border {
    display: block grid;
  }
  .c-table-border colgroup col {
    --_col-width: var(--_table-col-width-sp, inherit);
  }
  .c-table-service {
    margin-bottom: calc(20 * var(--vunit));
  }
  .c-table-service thead tr th {
    width: calc(220 * var(--vunit));
  }
  .c-table-sitemap colgroup col {
    --_col-width: var(--_table-col-width-sp, inherit);
  }
  .c-tag-category-list {
    -webkit-column-gap: calc(var(--_tag-list-gap, 4) * var(--vunit));
    -moz-column-gap: calc(var(--_tag-list-gap, 4) * var(--vunit));
    column-gap: calc(var(--_tag-list-gap, 4) * var(--vunit));
    row-gap: calc(8 * var(--vunit));
  }
  .c-tag-card-label {
    min-width: calc(var(--_min-inline, 100) * var(--vunit));
    min-height: calc(var(--_min-height, 30) * var(--vunit));
    font-size: 1.8rem;
    font-weight: var(--fw-black);
    line-height: 1.6666666667;
  }
  [class*="c-ttl--"] {
    --_ttl-text-align: start;
  }
  .c-ttl--left-sp {
    --_ttl-margin: 0;
    --_ttl-text-align: start;
  }
  .c-ttl--xs {
    font-size: calc(14 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 2;
  }
  .c-ttl--s {
    font-size: calc(18 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.5555555556;
  }
  .c-ttl--m {
    font-size: calc(24 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .c-ttl--m-ls2 {
    font-size: calc(24 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
    letter-spacing: 0rem;
  }
  .c-ttl--l {
    font-size: calc(28 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.4285714286;
  }
  .c-ttl--section-s {
    font-size: calc(18 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.5555555556;
  }
  .c-ttl--section-m {
    font-size: calc(22 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.6363636364;
  }
  .c-txt--s {
    font-size: 1.4rem;
    line-height: 2;
  }
  .c-txt--m {
    font-size: 1.6rem;
    line-height: 1.25;
  }
  .c-txt--l {
    font-size: 1.8rem;
    line-height: 1.6666666667;
  }
  .c-txt--24 {
    font-size: 2rem;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    letter-spacing: 0rem;
  }
  .c-txt--note {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .c-heading--section {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
  }
  .c-heading--section .sec-subttl {
    text-align: center;
    font-size: 5.6rem;
    line-height: 1;
    letter-spacing: 0.4rem;
  }
  .c-heading--section .sec-subttl.sp-48 {
    font-size: 4.8rem;
    line-height: 1;
    letter-spacing: 0.4rem;
  }
  .c-heading--section .sec-ttl {
    margin-top: 0.8em;
    text-align: center;
    font-size: 3rem;
    font-weight: var(--fw-bold);
    line-height: 1.3333333333;
    letter-spacing: 0rem;
  }
  .c-txtdec-underline-active {
    --_marker-size-num: 16;
  }
  .c-ui-nav-list [role="menu"] {
    --_rect-left: 0;
    --_rect-height: 0;
    position: relative;
    display: block grid;
  }
  .c-ui-nav-list [role="menu"]:not([data-ispopup]) {
    display: none;
  }
  .u-mta5 {
    --_mt: calc(5 * var(--spr));
  }
  .u-mta10 {
    --_mt: calc(10 * var(--spr));
  }
  .u-mta15 {
    --_mt: calc(15 * var(--spr));
  }
  .u-mta20 {
    --_mt: calc(20 * var(--spr));
  }
  .u-mta25 {
    --_mt: calc(25 * var(--spr));
  }
  .u-mta30 {
    --_mt: calc(30 * var(--spr));
  }
  .u-mta35 {
    --_mt: calc(35 * var(--spr));
  }
  .u-mta40 {
    --_mt: calc(40 * var(--spr));
  }
  .u-mta45 {
    --_mt: calc(45 * var(--spr));
  }
  .u-mta50 {
    --_mt: calc(50 * var(--spr));
  }
  .u-mta55 {
    --_mt: calc(55 * var(--spr));
  }
  .u-mta60 {
    --_mt: calc(60 * var(--spr));
  }
  .u-mta65 {
    --_mt: calc(65 * var(--spr));
  }
  .u-mta70 {
    --_mt: calc(70 * var(--spr));
  }
  .u-mta75 {
    --_mt: calc(75 * var(--spr));
  }
  .u-mta80 {
    --_mt: calc(80 * var(--spr));
  }
  .u-mta85 {
    --_mt: calc(85 * var(--spr));
  }
  .u-mta90 {
    --_mt: calc(90 * var(--spr));
  }
  .u-mta95 {
    --_mt: calc(95 * var(--spr));
  }
  .u-mta100 {
    --_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-mba5 {
    --_mb: calc(5 * var(--spr));
  }
  .u-mba10 {
    --_mb: calc(10 * var(--spr));
  }
  .u-mba15 {
    --_mb: calc(15 * var(--spr));
  }
  .u-mba20 {
    --_mb: calc(20 * var(--spr));
  }
  .u-mba25 {
    --_mb: calc(25 * var(--spr));
  }
  .u-mba30 {
    --_mb: calc(30 * var(--spr));
  }
  .u-mba35 {
    --_mb: calc(35 * var(--spr));
  }
  .u-mba40 {
    --_mb: calc(40 * var(--spr));
  }
  .u-mba45 {
    --_mb: calc(45 * var(--spr));
  }
  .u-mba50 {
    --_mb: calc(50 * var(--spr));
  }
  .u-mba55 {
    --_mb: calc(55 * var(--spr));
  }
  .u-mba60 {
    --_mb: calc(60 * var(--spr));
  }
  .u-mba65 {
    --_mb: calc(65 * var(--spr));
  }
  .u-mba70 {
    --_mb: calc(70 * var(--spr));
  }
  .u-mba75 {
    --_mb: calc(75 * var(--spr));
  }
  .u-mba80 {
    --_mb: calc(80 * var(--spr));
  }
  .u-mba85 {
    --_mb: calc(85 * var(--spr));
  }
  .u-mba90 {
    --_mb: calc(90 * var(--spr));
  }
  .u-mba95 {
    --_mb: calc(95 * var(--spr));
  }
  .u-mba100 {
    --_mb: calc(100 * var(--spr));
  }
  .u-mba105 {
    --_mb: calc(105 * var(--spr));
  }
  .u-mba110 {
    --_mb: calc(110 * var(--spr));
  }
  .u-mba115 {
    --_mb: calc(115 * var(--spr));
  }
  .u-mba120 {
    --_mb: calc(120 * 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-mta22 {
    --_mt: calc(22 * var(--spr));
  }
  .u-mta120 {
    --_mt: calc(120 * var(--spr));
  }
  .u-mt-pc41 {
    --_mt: calc(41 * var(--spr));
  }
  .u-mic-sp {
    margin-inline: auto;
  }
  .u-mir-sp {
    margin-inline: 0 auto;
  }
  .u-mil-sp {
    margin-inline: auto 0;
  }
  .u-pta5 {
    --_pt: calc(5 * var(--spr));
  }
  .u-pta10 {
    --_pt: calc(10 * var(--spr));
  }
  .u-pta15 {
    --_pt: calc(15 * var(--spr));
  }
  .u-pta20 {
    --_pt: calc(20 * var(--spr));
  }
  .u-pta25 {
    --_pt: calc(25 * var(--spr));
  }
  .u-pta30 {
    --_pt: calc(30 * var(--spr));
  }
  .u-pta35 {
    --_pt: calc(35 * var(--spr));
  }
  .u-pta40 {
    --_pt: calc(40 * var(--spr));
  }
  .u-pta45 {
    --_pt: calc(45 * var(--spr));
  }
  .u-pta50 {
    --_pt: calc(50 * var(--spr));
  }
  .u-pta55 {
    --_pt: calc(55 * var(--spr));
  }
  .u-pta60 {
    --_pt: calc(60 * var(--spr));
  }
  .u-pta65 {
    --_pt: calc(65 * var(--spr));
  }
  .u-pta70 {
    --_pt: calc(70 * var(--spr));
  }
  .u-pta75 {
    --_pt: calc(75 * var(--spr));
  }
  .u-pta80 {
    --_pt: calc(80 * var(--spr));
  }
  .u-pta85 {
    --_pt: calc(85 * var(--spr));
  }
  .u-pta90 {
    --_pt: calc(90 * var(--spr));
  }
  .u-pta95 {
    --_pt: calc(95 * var(--spr));
  }
  .u-pta100 {
    --_pt: calc(100 * var(--spr));
  }
  .u-pta105 {
    --_pt: calc(105 * var(--spr));
  }
  .u-pta110 {
    --_pt: calc(110 * var(--spr));
  }
  .u-pta115 {
    --_pt: calc(115 * var(--spr));
  }
  .u-pta120 {
    --_pt: calc(120 * var(--spr));
  }
  .u-pta125 {
    --_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-pba5 {
    --_pb: calc(5 * var(--spr));
  }
  .u-pba10 {
    --_pb: calc(10 * var(--spr));
  }
  .u-pba15 {
    --_pb: calc(15 * var(--spr));
  }
  .u-pba20 {
    --_pb: calc(20 * var(--spr));
  }
  .u-pba25 {
    --_pb: calc(25 * var(--spr));
  }
  .u-pba30 {
    --_pb: calc(30 * var(--spr));
  }
  .u-pba35 {
    --_pb: calc(35 * var(--spr));
  }
  .u-pba40 {
    --_pb: calc(40 * var(--spr));
  }
  .u-pba45 {
    --_pb: calc(45 * var(--spr));
  }
  .u-pba50 {
    --_pb: calc(50 * var(--spr));
  }
  .u-pba55 {
    --_pb: calc(55 * var(--spr));
  }
  .u-pba60 {
    --_pb: calc(60 * var(--spr));
  }
  .u-pba65 {
    --_pb: calc(65 * var(--spr));
  }
  .u-pba70 {
    --_pb: calc(70 * var(--spr));
  }
  .u-pba75 {
    --_pb: calc(75 * var(--spr));
  }
  .u-pba80 {
    --_pb: calc(80 * var(--spr));
  }
  .u-pba85 {
    --_pb: calc(85 * var(--spr));
  }
  .u-pba90 {
    --_pb: calc(90 * var(--spr));
  }
  .u-pba95 {
    --_pb: calc(95 * var(--spr));
  }
  .u-pba100 {
    --_pb: calc(100 * var(--spr));
  }
  .u-pba105 {
    --_pb: calc(105 * var(--spr));
  }
  .u-pba110 {
    --_pb: calc(110 * var(--spr));
  }
  .u-pba115 {
    --_pb: calc(115 * var(--spr));
  }
  .u-pba120 {
    --_pb: calc(120 * var(--spr));
  }
  .u-pba125 {
    --_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-pta99 {
    --_pt: calc(99 * var(--spr));
  }
  .u-pta102 {
    --_pt: calc(102 * var(--spr));
  }
  .u-pba98 {
    --_pb: calc(98 * var(--spr));
  }
  .u-pba101 {
    --_pb: calc(101 * var(--spr));
  }
  .u-pt-sp62 {
    --_pt: 62;
  }
  .u-pt-sp61 {
    --_pt: 61;
  }
  .u-pt-sp59 {
    --_pt: 59;
  }
  .u-pt-sp37 {
    --_pt: 37;
  }
  .u-pb-sp58 {
    --_pb: 58;
  }
  .u-pb-sp38 {
    --_pb: 38;
  }
  .u-pc {
    display: none !important;
  }
  .p-headerbar__inner {
    display: block flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    min-height: calc(60 * var(--vunit));
    -ms-flex-line-pack: start;
    align-content: start;
    background-color: var(--color-white);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  .p-headerbar__sp-block {
    display: block flex;
    width: 100%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  .p-headerbar__logo {
    min-height: calc(60 * var(--vunit));
    -ms-flex-line-pack: center;
    align-content: center;
  }
  .p-headerbar__logo .site-title {
    width: calc(150 * var(--vunit));
    padding: 0 calc(15 * var(--vunit));
  }
  .p-headerbar__hamburger {
    margin-right: calc(10 * var(--vunit));
    margin-left: auto;
    justify-self: end;
  }
  .p-headerbar__nav.is-open {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    max-height: -webkit-fit-content;
    max-height: -moz-fit-content;
    max-height: fit-content;
  }
  .p-headerbar__nav {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    position: fixed;
    top: calc(60 * var(--vunit));
    left: calc(0 * var(--vunit));
    height: auto;
    max-height: 0%;
    width: 100%;
    overflow: clip;
  }
  .p-headerbar__nav ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    background-color: var(--color-white);
  }
  .p-headerbar__nav ul li {
    border-bottom: calc(1 * var(--vunit)) solid var(--color-gray-500);
  }
  .p-headerbar__nav ul li:first-child {
    border-top: calc(1 * var(--vunit)) solid var(--color-gray-500);
  }
  .p-headerbar__nav ul li a {
    grid-template-columns: 1fr auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-block: calc(20 * var(--vunit));
    padding-inline: calc(20 * var(--vunit)) calc(24 * var(--vunit));
    width: 100%;
  }
  .p-headerbar__nav ul li a:after {
    bottom: calc(-4 * var(--vunit));
  }
  .p-footer-copyright > .l-inner {
    gap: calc(10 * var(--vunit));
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .p-footer-copyright > .l-inner .copy {
    text-align: center;
  }
  .p-page-detail {
    grid-template: "article" minmax(0, auto) "sidebar" minmax(0, auto) / 1fr;
  }
  .p-sidebar__content.service {
    width: 100%;
  }
  .p-sidebar__content.service .img {
    width: 100%;
  }
  .p-sidebar__content.popular-column .card-list {
    width: calc(100% - 40 * var(--vunit));
  }
  .p-sidebar__content.related-case .card-list {
    width: calc(100% - 40 * var(--vunit));
  }
  .p-home__sec01-worried {
    --_len: calc(50 * var(--vunit));
    padding-block: calc(0 * var(--vunit));
    margin-top: calc(-1 * var(--vunit));
  }
  .p-home__sec01-worried .l-background .grid-man {
    width: calc(180 * var(--vunit));
  }
  .p-home__sec01-worried__inner .grid-content-heading {
    margin-top: calc(20 * var(--vunit));
  }
  .p-home__sec01-worried__inner .grid-content-heading .sec-heading .ttl {
    font-size: 2.4rem;
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .p-home__sec01-worried__inner .grid-content-heading .sec-heading .ttl strong {
    font-size: 2.8rem;
    font-weight: var(--fw-bold);
    line-height: 1.4285714286;
  }
  .p-home__sec01-worried__inner .grid-content-icon {
    grid-template:
      "card01 card04" minmax(0, auto) "card02 card03" minmax(0, auto)
      / auto auto;
    padding-bottom: calc(240 * var(--vunit));
    margin-top: calc(20 * var(--vunit));
    -webkit-column-gap: calc(20 * var(--vunit));
    -moz-column-gap: calc(20 * var(--vunit));
    column-gap: calc(20 * var(--vunit));
    row-gap: calc(20 * var(--vunit));
  }
  .p-home__sec01-worried__inner .grid-content-icon .grid-card .adjust-box {
    width: calc(var(--_card-width-sp, 160) * var(--vunit));
    left: calc(var(--_card-x-sp, 0) * var(--vunit));
  }
  .p-home__sec01-worried__inner
    .grid-content-icon
    .grid-card
    .adjust-box
    .icon {
    width: calc(var(--_icon-width-sp, var(--_icon-width-pc)) * var(--vunit));
    aspect-ratio: calc(var(--_icon-width-pc) * var(--vunit)) /
      calc(var(--_icon-height-pc) * var(--vunit));
  }
  .p-home__sec01-worried__inner
    .grid-content-icon
    .grid-card
    .adjust-box
    .lead {
    font-size: 1.4rem;
    font-weight: var(--fw-bold);
    line-height: 1.8571428571;
  }
  .p-home__sec01-solution {
    padding-block: calc(0 * var(--vunit)) calc(60 * var(--vunit));
  }
  .p-home__sec01-solution__inner .grid-arrow-down {
    width: calc(100 * var(--vunit));
    margin-top: calc(30 * var(--vunit));
    clip-path: polygon(
      0 0,
      calc(20 * var(--vunit)) 0,
      50% calc(15 * var(--vunit)),
      calc(100% - 20 * var(--vunit)) 0,
      100% 0,
      50% 100%
    );
  }
  .p-home__sec01-solution__inner .sec-heading .sec-lead {
    margin-bottom: calc(10 * var(--vunit));
    font-size: 2.4rem;
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .p-home__sec01-solution__inner .sec-heading .sec-ttl {
    font-size: 3.6rem;
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .p-home__sec02 {
    padding-block: calc(60 * var(--vunit));
  }
  .p-home__sec02__inner .grid-content01 {
    margin-top: calc(40 * var(--vunit));
    row-gap: calc(40 * var(--vunit));
  }
  .p-home__sec02__inner .grid-content01 .grid-card .num {
    padding-inline: calc(30 * var(--vunit));
    font-size: 15rem;
    line-height: 1;
  }
  .p-home__sec02__inner .grid-content01 .grid-card .num.num01 {
    padding-inline: 0 calc(40 * var(--vunit));
  }
  .p-home__sec02__inner .grid-content01 .grid-card .ttl {
    padding-top: calc(20 * var(--vunit));
    padding-inline: calc(20 * var(--vunit));
    font-size: 2.4rem;
    font-weight: var(--fw-bold);
    line-height: 2;
  }
  .p-home__sec02__inner .grid-content01 .grid-card .grid-lead {
    margin-top: calc(10 * var(--vunit));
    margin-bottom: calc(10 * var(--vunit));
    padding-inline: calc(20 * var(--vunit));
  }
  .p-home__sec02__inner .grid-content02 {
    padding-inline: calc(20 * var(--vunit));
  }
  .p-home__sec03 {
    padding-block: calc(60 * var(--vunit));
  }
  .p-home__sec03__inner .grid-content01 {
    row-gap: calc(40 * var(--vunit));
  }
  .p-home__sec04 {
    padding-block: calc(60 * var(--vunit));
  }
  .p-home__sec04 .l-background .bg-item01 {
    width: calc(200 * var(--vunit));
  }
  .p-home__sec04 .l-background .bg-item02 {
    width: calc(200 * var(--vunit));
  }
  .p-home__sec04__inner > .sec-lead {
    margin-top: calc(20 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company {
    margin-top: calc(40 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company .grid-content01-01 {
    margin-top: calc(20 * var(--vunit));
    padding-bottom: calc(30 * var(--vunit));
  }
  .p-home__sec04__inner
    .grid-company
    .grid-content01-01
    .grid-content-lead
    > .sec-ttl {
    margin-top: calc(20 * var(--vunit));
  }
  .p-home__sec04__inner
    .grid-company
    .grid-content01-01
    .grid-content-lead
    > .grid-lead {
    margin-top: calc(10 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company .grid-content01-01 .grid-visual {
    margin-top: calc(20 * var(--vunit));
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .p-home__sec04__inner .grid-company .grid-content01-02 {
    margin-top: calc(40 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company .grid-content01-02 .card {
    padding-block: calc(32 * var(--vunit));
    padding-inline: calc(32 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company .grid-content01-02 .card .grid-lead {
    margin-top: calc(10 * var(--vunit));
  }
  .p-home__sec04__inner
    .grid-company
    .grid-content01-02
    .grid-content01-02-01:after {
    bottom: calc(-30 * var(--vunit));
    width: calc(41 * var(--vunit));
    height: calc(17 * var(--vunit));
    justify-self: center;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  }
  .p-home__sec05 {
    padding-block: calc(60 * var(--vunit));
  }
  .p-home__sec05__inner .grid-list {
    margin-top: calc(40 * var(--vunit));
  }
  .p-home__sec05__inner .grid-list .grid-item {
    grid-template:
      "num  ttl   icon" minmax(0, auto) "lead lead  lead" minmax(0, auto)
      / auto 1fr calc(20 * var(--vunit));
    /*
    grid-template:
      "num  ttl   " minmax( 0, auto)
      "lead lead  " minmax( 0, auto) /
      auto  1fr   ;
    */
    /*
    grid-template:
      "num ttl " minmax( 0, auto)
      "num lead" minmax( 0, auto)
      "num .   " minmax( 0, 1fr) /
      auto 1fr;
    */
    padding-block: calc(20 * var(--vunit)) calc(30 * var(--vunit));
    padding-inline: 0 calc(20 * var(--vunit));
  }
  .p-home__sec05__inner .grid-list .grid-item .grid-num span {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -ms-flex-item-align: center;
    align-self: center;
  }
  .p-home__sec05__inner .grid-list .grid-item .grid-num {
    margin-right: calc(20 * var(--vunit));
    min-width: calc(80 * var(--vunit));
    font-size: 8rem;
    line-height: 1;
  }
  .p-home__sec05__inner .grid-list .grid-item .sec-ttl {
    margin-block: calc(10 * var(--vunit));
    -ms-flex-item-align: center;
    align-self: center;
    font-size: 2rem;
    font-weight: var(--fw-medium);
    line-height: 1.5;
  }
  .p-home__sec05__inner .grid-list .grid-item .grid-lead {
    padding-left: calc(20 * var(--vunit));
  }
  .p-home__sec05__inner .grid-list .grid-item .grid-icon {
    grid-area: icon;
    position: relative;
    width: calc(100 * var(--vunit));
    right: calc(45 * var(--vunit));
    align-self: center;
  }
  .p-home__sec05__inner .grid-list .grid-item .grid-icon .icon {
    width: calc(var(--_icon-width-sp, var(--_icon-width-pc)) * var(--vunit));
  }
  .p-home__sec05__inner .banner01 {
    margin-top: calc(60 * var(--vunit));
  }
  .p-home__sec06 {
    padding-block: calc(60 * var(--vunit));
  }
  .p-home__sec06__inner .grid-list {
    margin-top: calc(40 * var(--vunit));
  }
  .p-home__sec06__inner .grid-list .grid-item {
    padding-inline: calc(20 * var(--vunit));
    padding-block: calc(20 * var(--vunit));
    gap: calc(19 * var(--vunit));
  }
  .p-home__sec06__inner .grid-content02 {
    margin-top: calc(60 * var(--vunit));
    padding-inline: calc(20 * var(--vunit));
    padding-block: calc(30 * var(--vunit)) calc(40 * var(--vunit));
  }
  .p-home__sec06__inner .grid-content02 .l-grid--col2 {
    margin-top: calc(20 * var(--vunit));
  }
  .p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-visual {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-lead .ttl {
    margin-top: calc(20 * var(--vunit));
    font-size: 2rem;
    font-weight: var(--fw-bold);
    line-height: 1.5;
  }
  .p-home__sec06__inner
    .grid-content02
    .l-grid--col2
    .grid-col-lead
    .grid-lead {
    margin-top: calc(20 * var(--vunit));
  }
  .p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-lead .l-btn {
    margin-top: calc(20 * var(--vunit));
  }
  .p-home__sec07 {
    padding-block: calc(60 * var(--vunit));
  }
  .p-home__sec07__inner .grid-content01 .card {
    padding-block: 0 calc(40 * var(--vunit));
  }
  .p-home__sec07__inner .grid-content01 .card .c-btn-ttl {
    padding-block: calc(30 * var(--vunit)) calc(30 * var(--vunit));
  }
  .p-home__sec08 {
    padding-block: calc(60 * var(--vunit));
  }
  .p-home__sec08 .l-background {
    height: 100%;
  }
  .p-home__sec08__inner .grid-content01 .card {
    width: 100%;
    padding-block: calc(40 * var(--vunit)) calc(40 * var(--vunit));
    padding-inline: calc(20 * var(--vunit));
  }
  .p-home__sec09 {
    padding-block: calc(60 * var(--vunit));
  }
  .p-home__sec09__inner .grid-card-list {
    gap: calc(100 * var(--vunit));
    margin-top: calc(110 * var(--vunit));
  }
  .p-home__sec09__inner .grid-card-list .card {
    padding-block: calc(90 * var(--vunit)) calc(20 * var(--vunit));
  }
  .p-home__sec09__inner .grid-card-list .card .grid-lead {
    padding-inline: calc(20 * var(--vunit));
    margin-top: calc(9 * var(--vunit));
  }
  .p-home__sec09__inner .grid-card-list .card .grid-lead.lead--tel {
    padding-inline: calc(0 * var(--vunit));
  }
  .p-home__sec09__inner .grid-card-list .card .l-btn {
    position: relative;
    margin-top: calc(20 * var(--vunit));
    margin-right: calc(17 * var(--vunit));
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .p-img--logo- {
    width: 100%;
    max-width: calc(307 * var(--vunit));
  }
  .p-banner-detail01 {
    padding-block: calc(20 * var(--vunit)) calc(20 * var(--vunit));
    padding-inline: calc(20 * var(--vunit)) calc(20 * var(--vunit));
  }
  .p-banner-detail01 .l-background .banner {
    height: 100%;
  }
  .p-banner-detail01 .l-background img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    -o-object-position: 70% 0%;
    object-position: 70% 0%;
  }
  .p-banner-detail01 .inner .ttl {
    margin-top: calc(10 * var(--vunit));
    font-size: 2rem;
    font-weight: var(--fw-bold);
    line-height: 2;
    letter-spacing: 0rem;
  }
  .p-banner-detail01 .inner .l-btn {
    margin-top: calc(20 * var(--vunit));
  }
  .p-mv-home > .l-background .bg {
    height: calc(400 * var(--vunit));
  }
  .p-mv-home > .l-background .bg img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 0%;
    object-position: 50% 0%;
  }
  .p-mv-home__inner .grid-content {
    margin-top: calc(80 * var(--vunit));
    padding-bottom: calc(140 * var(--vunit));
  }
  .p-mv-home__inner .grid-content .mv-heading-lead {
    font-size: calc(20 * var(--rrate) * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.6;
  }
  .p-mv-home__inner .grid-content .mv-title {
    font-size: calc(24 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .p-mv-home__inner .grid-content .mv-title strong {
    font-size: calc(30 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.3333333333;
  }
  .p-mv-home__inner .grid-content .l-btn {
    gap: calc(6 * var(--vunit));
  }
  .p-mv-home__inner .grid-content .l-btn {
    margin-top: calc(40 * var(--vunit));
  }
  .p-section-contact__inner {
    padding-block: calc(50 * var(--vunit)) calc(60 * var(--vunit));
  }
  .p-section-contact__inner .l-btn {
    margin-top: calc(40 * var(--vunit));
    gap: calc(6 * var(--vunit));
  }
  .p-content-solution-list {
    padding-inline: calc(20 * var(--vunit));
    padding-bottom: calc(20 * var(--vunit));
  }
  .p-content-solution-list .grid-service {
    padding-inline: calc(20 * var(--vunitw));
    padding-block: calc(20 * var(--vunit)) calc(40 * var(--vunit));
  }
  .p-content-solution-list .grid-list .grid-card .card-link {
    grid-template:
      "icon" minmax(calc(20 * var(--vunit)), auto) "ttl" minmax(
        calc(20 * var(--vunit)),
        auto
      )
      "lead" minmax(calc(20 * var(--vunit)), 1fr) / 1fr;
    padding-inline: calc(10 * var(--vunit));
    gap: calc(10 * var(--vunit));
  }
  .p-content-solution-list .grid-list .grid-card .icon {
    padding-block: calc(20 * var(--vunit));
  }
  .p-content-solution-list .grid-list .grid-card .icon img {
    width: calc(var(--_icon-w-sp, var(--_icon-w-pc)) * var(--vunit));
  }
  .p-content-solution-list .grid-list .grid-card .c-btn-ttl {
    text-align: center;
    margin-inline: auto;
  }
  .p-content-process-figure .l-background {
    display: none;
  }
  .p-content-process-figure .content {
    grid-auto-flow: row;
    gap: calc(20 * var(--vunit));
  }
  .p-content-process-figure .content .process .list-title {
    margin-top: calc(20 * var(--vunit));
  }
  .p-content-process-figure .content .process .list {
    grid-auto-flow: column;
  }
  .p-content-process-figure .content .process .list li {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-align: start;
    padding-inline: calc(10 * var(--vunit));
  }
  .p-content-process-figure .content .case-persol {
    display: block grid;
    grid-template:
      "ttl-p       ttl-p       ttl-p       ttl-p       ttl-p       ttl-p       ttl-p      " minmax(
        0,
        auto
      )
      "process-ttl process-ttl process-ttl process-ttl process-ttl process-ttl process-ttl" minmax(
        0,
        auto
      )
      "process-itm process-itm process-itm process-itm process-itm process-itm process-itm" minmax(
        0,
        auto
      )
      "flow-p      flow-p      flow-p      flow-p      flow-p      flow-p      flow-p     " minmax(
        0,
        auto
      )
      "list-p      list-p      list-p      list-p      list-p      list-p      list-p     " minmax(
        0,
        auto
      )
      / auto auto auto auto auto auto auto;
    background-color: var(--color-orange-600-15);
    padding-inline: calc(20 * var(--vunit));
    padding-block: calc(30 * var(--vunit));
  }
  .p-content-process-figure .content .ttl-persol {
    font-size: 2.2rem;
    font-weight: var(--fw-bold);
    line-height: 1.6363636364;
  }
  .p-content-process-figure .content .flow-persol {
    width: 100%;
  }
  .p-content-process-figure .content .case-other {
    display: block grid;
    grid-template:
      "ttl-o         " minmax(0, auto) "process-o-ttl " minmax(0, auto)
      "process-o-itm" minmax(0, auto) "flow-o       " minmax(0, auto) "list-o       " minmax(
        0,
        auto
      )
      / auto;
    background-color: var(--color-black-006);
    padding-inline: calc(20 * var(--vunit));
    padding-block: calc(30 * var(--vunit));
  }
  .p-content-process-figure .content .process-o {
    display: contents;
  }
  .p-content-process-figure .content .flow-other {
    margin-top: calc(10 * var(--vunit));
    display: block grid;
    grid-template: "arrow01 arrow02" minmax(calc(20 * var(--vunit)), auto) / 54% 1fr;
    width: 100%;
  }
  .p-content-process-figure .content .flow-other .flow-arrow01 {
    padding-top: calc(8 * var(--vunit));
  }
  .p-content-process-figure .content .flow-other .flow-arrow02 {
    padding-top: calc(10 * var(--vunit));
  }
  .p-content-process-figure .content .list-other {
    margin-top: calc(20 * var(--vunit));
  }
  .p-content-process-figure .content .list-other .info-box {
    padding-inline: calc(20 * var(--vunit));
    padding-block: calc(15 * var(--vunit));
  }
  .p-content-process-figure__flow-arrow {
    width: 100%;
    height: calc(var(--_w) + var(--_aw));
    clip-path: polygon(
      0% 50%,
      var(--_al) 0%,
      var(--_al) calc(0% + var(--_aw)),
      calc(100% - var(--_al)) calc(0% + var(--_aw)),
      calc(100% - var(--_al)) 0%,
      100% 50%,
      calc(100% - var(--_al)) 100%,
      calc(100% - var(--_al)) calc(100% - var(--_aw)),
      var(--_al) calc(100% - var(--_aw)),
      var(--_al) 100%
    );
  }
}
@media print, screen and (min-width: 768px) {
  :root {
    --vh: var(--vhc);
    --funit: var(--frem);
    --layout-inner: var(--layout-inner-pc);
    --layout-inner-margin: var(--layout-inner-margin-pc);
    --fixedcv-height: var(--fixedcv-height-pc);
    --card-article-radius: var(--card-article-radius-pc);
    --card-s-radius: var(--card-s-radius-pc);
    --card-m-radius: var(--card-m-radius-pc);
    --card-l-radius: var(--card-l-radius-pc);
    --card-ll-radius: var(--card-ll-radius-pc);
    --rrate: 1;
  }
  .l-inner {
    --_lwi-pc: var(--layout-inner-pc);
    --_im-pc: var(--layout-inner-margin-pc);
    --_lwi: var(--_lwi-pc);
    --_im: var(--_im-pc);
  }
  .l-inner--vw {
    padding-left: 1.0416666667dvi;
    padding-right: 1.0416666667dvi;
    max-width: 66.9791666667dvi;
  }
  .l-inner--home-mv-content {
    max-width: calc(1710 * var(--vunit));
  }
  .l-grid-content {
    padding-left: calc(40 * var(--vunit));
    padding-right: calc(40 * var(--vunit));
  }
  .l-grid--col2 {
    --_columns: 1fr 1fr;
  }
  .l-grid--col3 {
    --_columns: 1fr 1fr 1fr;
  }
  .l-grid--col4 {
    --_columns: 1fr 1fr 1fr 1fr;
  }
  :where(.l-btn--left-pc, .l-btn--start-pc) {
    --_grid-width: fit-content;
    -webkit-margin-end: auto;
    margin-inline-end: auto;
  }
  :where(.l-btn--right-pc, .l-btn--end-pc) {
    --_grid-width: fit-content;
    margin-left: auto;
  }
  .l-background__box-slash-r--pc {
    clip-path: polygon(
      0 0,
      100% 0,
      calc(100% - 110 * var(--vunit)) 100%,
      0 100%
    );
  }
  .l-background__box-slash-l--pc {
    clip-path: polygon(0 0, 100% 0, 100% 100%, calc(110 * var(--vunit)) 100%);
  }
  .l-background__bg-fill-diag {
    width: 43.75dvi;
    clip-path: polygon(calc(160 * var(--vunit)) 0, 100% 0, 100% 100%, 0 100%);
    height: 100%;
  }
  .l-follow-bottombar .l-inner .l-btn {
    grid-template-columns: auto auto;
    -webkit-column-gap: calc(28 * var(--vunit));
    -moz-column-gap: calc(28 * var(--vunit));
    column-gap: calc(28 * var(--vunit));
  }
  .l-follow-bottombar [class*="c-btn"] {
    margin-top: calc(3 * var(--vunit));
  }
  .c-btn-txt.c-btn--orange-col3 span:not([class]) {
    gap: calc(8 * var(--vunit));
    padding-bottom: calc(12 * var(--vunit));
  }
  .c-btn-txt.c-btn--s {
    --_btn-width: 250;
    --_btn-height: 60;
    --_btn-icon-right: calc(29 * var(--vunit));
    font-size: 1.6rem;
    font-weight: var(--fw-bold);
    line-height: 1.25;
  }
  .c-btn-rounded-list {
    grid-auto-flow: column;
  }
  .c-btn-rounded.c-btn--s {
    --_btn-width: 240;
    --_btn-height: 42;
  }
  .c-btn-rounded.c-btn--m {
    --_btn-width: 260;
    --_btn-height: 50;
    --_btn-ls: 0;
  }
  .c-btn-rounded.c-btn--col2 {
    --_btn-width: 322;
    --_btn-height: 72;
    --_btn-ls: 0;
    --_btn-icon-right: calc(14 * var(--vunit));
    font-size: 2rem;
    font-weight: var(--fw-bold);
    line-height: 1.5;
  }
  .c-btn-rounded.c-btn--col2-slim {
    --_btn-width: 322;
    --_btn-height: 58;
    --_btn-ls: 0;
    --_btn-icon-right: calc(18 * var(--vunit));
    font-size: 1.8rem;
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .c-btn-rounded.c-btn--col2-l {
    --_btn-width: 362;
    --_btn-height: 78;
    --_btn-ls: 0;
    --_btn-icon-right: calc(17 * var(--vunit));
    font-size: 2rem;
    font-weight: var(--fw-bold);
    line-height: 1.5;
  }
  .c-block-btn-scroll .c-btn-scroll {
    top: calc(-60 * var(--vunit));
  }
  .c-btn-scroll .line {
    height: calc(80 * var(--vunit));
  }
  .c-details-qa > summary {
    gap: calc(var(--_summary-gap, 15) * var(--vunit));
    padding-inline: calc(var(--_padding-inline-pc, 30) * var(--vunit))
      calc(22 * var(--vunit));
    padding-block: calc(9 * var(--vunit)) calc(9 * var(--vunit));
  }
  .c-details-qa > .content {
    padding-left: calc(30 * var(--vunit));
    padding-right: calc(20 * var(--vunit));
    gap: calc(var(--_detail-gap, 15) * var(--vunit));
  }
  [class*="c-icon--"] {
    --_iw: var(--_iw-pc);
    --_ih: var(--_ih-pc);
  }
  .c-icon--angle-arrow-right,
  .c-icon--angle-arrow-left,
  .c-icon--angle-arrow-down {
    --_tickness: 3;
    --_size: 10;
  }
  [class*="c-icon-img--"] {
    --_iw: var(--_iw-pc, 0);
    --_ih: var(--_ih-pc, 0);
  }
  .c-link-txt {
    font-size: 1.3rem;
    font-weight: var(--fw-bold);
    line-height: 2.2307692308;
  }
  .c-link-txt--default {
    font-size: 1.5rem;
    font-weight: var(--fw-bold);
    line-height: 1.3333333333;
  }
  .c-list--check li:before {
    margin-right: calc(var(--_list-icon-check-gap, 15) * var(--vunit));
  }
  .c-dl-list {
    display: block grid;
    grid-template-rows: repeat(var(--_dl-list-rows-count, 3), auto);
    grid-auto-flow: column;
  }
  .c-dl-list .row {
    display: block grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    justify-items: start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .c-dl-list .row dt {
    border-bottom: calc(1 * var(--vunit)) solid var(--color-gray-300);
    min-width: calc(var(--_dl-list-dt-width, 102) * var(--vunit));
    padding-inline: calc(10 * var(--vunit));
  }
  .c-dl-list .row dd {
    width: 100%;
    padding-inline: calc(9 * var(--vunit)) calc(20 * var(--vunit));
    padding-block: calc(7 * var(--vunit)) calc(11 * var(--vunit));
    min-width: calc(var(--_dl-list-dd-width, 207) * var(--vunitw));
    border-bottom: calc(1 * var(--vunit)) solid var(--color-gray-300);
  }
  .c-list-circle-num > li {
    gap: calc(var(--_list-icon-check-gap, 15) * var(--vunit));
  }
  .c-list-circle-num-pseudo > li:before,
  .c-list-circle-num-pseudo > li:after {
    margin-right: calc(var(--_list-icon-check-gap, 15) * var(--vunit));
  }
  .c-list-check > li {
    gap: calc(var(--_list-icon-check-gap, 15) * var(--vunit));
  }
  .c-table-col2 {
    width: 100%;
  }
  .c-table-col2 tbody {
    width: 100%;
    display: block grid;
    grid-template-columns: auto 1fr;
    grid-auto-flow: row;
  }
  .c-table-col2 tr {
    display: block grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    justify-items: start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: calc(89 * var(--vunit));
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .c-table-col2 tr > th {
    border-bottom: calc(1 * var(--vunit)) solid
      var(--_th-border-color, var(--color-orange-600));
    min-width: calc(var(--_table-th-width, 102) * var(--vunit));
    text-align: center;
    padding-inline: calc(10 * var(--vunit));
  }
  .c-table-col2 tr > td {
    width: 100%;
    padding-block: calc(28 * var(--vunit)) calc(30 * var(--vunit));
    min-width: calc(var(--_table-td-width, 207) * var(--vunit));
    border-bottom: calc(1 * var(--vunit)) solid var(--color-gray-300);
  }
  .c-table-col2.c-table--line-simple tr {
    min-height: calc(60 * var(--vunit));
  }
  .c-table-col2.c-table--line-simple tr th {
    padding-left: calc(30 * var(--vunit));
    padding-block: calc(14 * var(--vunit)) calc(5 * var(--vunit));
  }
  .c-table-col2.c-table--line-simple tr td {
    padding-inline: calc(19 * var(--vunit)) calc(20 * var(--vunit));
    padding-block: calc(11 * var(--vunit)) calc(16 * var(--vunit));
  }
  .c-table-service thead tr th {
    width: calc(301 * var(--vunit));
  }
  .c-table-service tbody tr .head {
    width: calc(259 * var(--vunit));
  }
  .c-tag-category-list {
    -webkit-column-gap: calc(var(--_tag-list-gap, 10) * var(--vunit));
    -moz-column-gap: calc(var(--_tag-list-gap, 10) * var(--vunit));
    column-gap: calc(var(--_tag-list-gap, 10) * var(--vunit));
    row-gap: calc(8 * var(--vunit));
  }
  .c-tag-card-label {
    min-width: calc(var(--_min-inline, 120) * var(--vunit));
    min-height: calc(var(--_min-height, 40) * var(--vunit));
    font-size: 2rem;
    font-weight: var(--fw-black);
    line-height: 1.5;
  }
  .c-ttl--left-pc {
    --_ttl-margin: 0;
    --_ttl-text-align: start;
  }
  .c-ttl--center-pc {
    --_ttl-margin: auto;
  }
  .c-ttl--xs {
    font-size: calc(14 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 2;
  }
  .c-ttl--s {
    font-size: calc(20 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.5;
  }
  .c-ttl--m {
    font-size: calc(30 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .c-ttl--m-ls2 {
    font-size: calc(30 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
    letter-spacing: 0.2rem;
  }
  .c-ttl--l {
    font-size: calc(36 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.5;
  }
  .c-ttl--section-s {
    font-size: calc(20 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.5;
  }
  .c-ttl--section-m {
    font-size: calc(30 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .c-txt--left-pc {
    --_txt-margin: 0;
    --_txt-text-align: start;
  }
  .c-txt--center-pc {
    --_txt-margin: auto;
  }
  .c-txt--s {
    font-size: 1.6rem;
    line-height: 1.875;
  }
  .c-txt--m {
    font-size: 1.6rem;
    line-height: 1.875;
  }
  .c-txt--l {
    font-size: 2rem;
    line-height: 1.75;
  }
  .c-txt--24 {
    font-size: 2.4rem;
    font-weight: var(--fw-bold);
    line-height: 1.25;
    letter-spacing: 0rem;
  }
  .c-txt--note {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .c-heading--section {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
  }
  .c-heading--section .sec-subttl {
    font-size: 13rem;
    line-height: 1;
    letter-spacing: 0.7rem;
  }
  .c-heading--section .sec-ttl {
    font-size: 4.6rem;
    font-weight: var(--fw-bold);
    line-height: 1.1739130435;
    letter-spacing: 0rem;
  }
  .c-ui-nav-list [role="menu"] {
    --_rect-left: 12;
    --_rect-height: var(--rect-height);
    position: absolute;
    -webkit-filter: drop-shadow(
      0 calc(4 * var(--vunit)) calc(4 * var(--vunit)) var(--shadow02)
    );
    filter: drop-shadow(
      0 calc(4 * var(--vunit)) calc(4 * var(--vunit)) var(--shadow02)
    );
    backdrop-filter: blur(calc(50 * var(--vunit)));
    padding: calc(12 * var(--vunit));
  }
  .u-mta5 {
    --_mt: 5;
  }
  .u-mta10 {
    --_mt: 10;
  }
  .u-mta15 {
    --_mt: 15;
  }
  .u-mta20 {
    --_mt: 20;
  }
  .u-mta25 {
    --_mt: 25;
  }
  .u-mta30 {
    --_mt: 30;
  }
  .u-mta35 {
    --_mt: 35;
  }
  .u-mta40 {
    --_mt: 40;
  }
  .u-mta45 {
    --_mt: 45;
  }
  .u-mta50 {
    --_mt: 50;
  }
  .u-mta55 {
    --_mt: 55;
  }
  .u-mta60 {
    --_mt: 60;
  }
  .u-mta65 {
    --_mt: 65;
  }
  .u-mta70 {
    --_mt: 70;
  }
  .u-mta75 {
    --_mt: 75;
  }
  .u-mta80 {
    --_mt: 80;
  }
  .u-mta85 {
    --_mt: 85;
  }
  .u-mta90 {
    --_mt: 90;
  }
  .u-mta95 {
    --_mt: 95;
  }
  .u-mta100 {
    --_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-mba5 {
    --_mb: 5;
  }
  .u-mba10 {
    --_mb: 10;
  }
  .u-mba15 {
    --_mb: 15;
  }
  .u-mba20 {
    --_mb: 20;
  }
  .u-mba25 {
    --_mb: 25;
  }
  .u-mba30 {
    --_mb: 30;
  }
  .u-mba35 {
    --_mb: 35;
  }
  .u-mba40 {
    --_mb: 40;
  }
  .u-mba45 {
    --_mb: 45;
  }
  .u-mba50 {
    --_mb: 50;
  }
  .u-mba55 {
    --_mb: 55;
  }
  .u-mba60 {
    --_mb: 60;
  }
  .u-mba65 {
    --_mb: 65;
  }
  .u-mba70 {
    --_mb: 70;
  }
  .u-mba75 {
    --_mb: 75;
  }
  .u-mba80 {
    --_mb: 80;
  }
  .u-mba85 {
    --_mb: 85;
  }
  .u-mba90 {
    --_mb: 90;
  }
  .u-mba95 {
    --_mb: 95;
  }
  .u-mba100 {
    --_mb: 100;
  }
  .u-mba105 {
    --_mb: 105;
  }
  .u-mba110 {
    --_mb: 110;
  }
  .u-mba115 {
    --_mb: 115;
  }
  .u-mba120 {
    --_mb: 120;
  }
  .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-mta22 {
    --_mt: 22;
  }
  .u-mta120 {
    --_mt: 120;
  }
  .u-mt-pc94 {
    --_mt: 94;
  }
  .u-mt-pc98 {
    --_mt: 98;
  }
  .u-mic-pc {
    margin-inline: auto;
  }
  .u-mir-pc {
    margin-inline: 0 auto;
  }
  .u-mil-pc {
    margin-inline: auto 0;
  }
  .u-pta5 {
    --_pt: 5;
  }
  .u-pta10 {
    --_pt: 10;
  }
  .u-pta15 {
    --_pt: 15;
  }
  .u-pta20 {
    --_pt: 20;
  }
  .u-pta25 {
    --_pt: 25;
  }
  .u-pta30 {
    --_pt: 30;
  }
  .u-pta35 {
    --_pt: 35;
  }
  .u-pta40 {
    --_pt: 40;
  }
  .u-pta45 {
    --_pt: 45;
  }
  .u-pta50 {
    --_pt: 50;
  }
  .u-pta55 {
    --_pt: 55;
  }
  .u-pta60 {
    --_pt: 60;
  }
  .u-pta65 {
    --_pt: 65;
  }
  .u-pta70 {
    --_pt: 70;
  }
  .u-pta75 {
    --_pt: 75;
  }
  .u-pta80 {
    --_pt: 80;
  }
  .u-pta85 {
    --_pt: 85;
  }
  .u-pta90 {
    --_pt: 90;
  }
  .u-pta95 {
    --_pt: 95;
  }
  .u-pta100 {
    --_pt: 100;
  }
  .u-pta105 {
    --_pt: 105;
  }
  .u-pta110 {
    --_pt: 110;
  }
  .u-pta115 {
    --_pt: 115;
  }
  .u-pta120 {
    --_pt: 120;
  }
  .u-pta125 {
    --_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-pba5 {
    --_pb: 5;
  }
  .u-pba10 {
    --_pb: 10;
  }
  .u-pba15 {
    --_pb: 15;
  }
  .u-pba20 {
    --_pb: 20;
  }
  .u-pba25 {
    --_pb: 25;
  }
  .u-pba30 {
    --_pb: 30;
  }
  .u-pba35 {
    --_pb: 35;
  }
  .u-pba40 {
    --_pb: 40;
  }
  .u-pba45 {
    --_pb: 45;
  }
  .u-pba50 {
    --_pb: 50;
  }
  .u-pba55 {
    --_pb: 55;
  }
  .u-pba60 {
    --_pb: 60;
  }
  .u-pba65 {
    --_pb: 65;
  }
  .u-pba70 {
    --_pb: 70;
  }
  .u-pba75 {
    --_pb: 75;
  }
  .u-pba80 {
    --_pb: 80;
  }
  .u-pba85 {
    --_pb: 85;
  }
  .u-pba90 {
    --_pb: 90;
  }
  .u-pba95 {
    --_pb: 95;
  }
  .u-pba100 {
    --_pb: 100;
  }
  .u-pba105 {
    --_pb: 105;
  }
  .u-pba110 {
    --_pb: 110;
  }
  .u-pba115 {
    --_pb: 115;
  }
  .u-pba120 {
    --_pb: 120;
  }
  .u-pba125 {
    --_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-pta99 {
    --_pt: 99;
  }
  .u-pta102 {
    --_pt: 102;
  }
  .u-pba98 {
    --_pb: 98;
  }
  .u-pba101 {
    --_pb: 101;
  }
  .u-pt-pc109 {
    --_pt: 109;
  }
  .u-pt-pc102 {
    --_pt: 102;
  }
  .u-pb-pc69 {
    --_pb: 69;
  }
  .u-sp {
    display: none !important;
  }
  .p-headerbar {
    background-color: var(--color-white);
  }
  .p-headerbar__bg {
    display: none;
  }
  .p-headerbar__inner {
    display: block grid;
    grid-template: "logo nav" minmax(0, auto) / minmax(-webkit-max-content, 1fr) minmax(
        -webkit-max-content,
        1fr
      );
    grid-template: "logo nav" minmax(0, auto) / minmax(max-content, 1fr) minmax(
        max-content,
        1fr
      );
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-inline: calc(34 * var(--vunit)) calc(50 * var(--vunit));
    padding-block: calc(18 * var(--vunit)) calc(19 * var(--vunit));
  }
  .p-headerbar__sp-block {
    display: contents;
  }
  .p-headerbar__logo {
    grid-area: logo;
  }
  .p-headerbar__logo .site-title {
    width: calc(210 * var(--vunit));
  }
  .p-headerbar__hamburger {
    display: none;
  }
  .p-headerbar__nav {
    grid-area: nav;
    justify-self: end;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .p-headerbar__nav ul {
    gap: calc(54 * var(--vunit));
  }
  .p-headerbar__nav ul li a {
    justify-items: center;
  }
  .p-headerbar__nav ul li a:after {
    bottom: calc(-9 * var(--vunit));
  }
  .p-footer-copyright > .l-inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
  }
  .p-page-detail {
    grid-template: "article sidebar" minmax(0, auto) / 1fr calc(
        300 * var(--vunit)
      );
  }
  .p-sidebar__content.popular-column .card-list .card a {
    max-width: calc(260 * var(--vunit));
  }
  .p-sidebar__content.related-case .card-list .card {
    justify-items: start;
    max-width: calc(260 * var(--vunit));
  }
  .p-home__sec01-worried {
    --_len: calc(150 * var(--vunit));
    padding-block: calc(0 * var(--vunit)) calc(0 * var(--vunit));
    margin-top: calc(-1 * var(--vunit));
  }
  .p-home__sec01-worried .l-background .grid-man {
    width: calc(262 * var(--vunit));
    top: calc(11 * var(--vunit));
    left: calc(-5 * var(--vunit));
    aspect-ratio: 262/353;
  }
  .p-home__sec01-worried__inner .grid-content-heading {
    margin-top: calc(51 * var(--vunit));
  }
  .p-home__sec01-worried__inner .grid-content-heading .sec-heading .ttl {
    font-size: 3.5rem;
    font-weight: var(--fw-bold);
    line-height: 1.7714285714;
  }
  .p-home__sec01-worried__inner .grid-content-heading .sec-heading .ttl strong {
    font-size: 4.4rem;
    font-weight: var(--fw-bold);
    line-height: 1.4090909091;
  }
  .p-home__sec01-worried__inner .grid-content-icon {
    grid-template:
      "card01 heading card04" minmax(0, auto) "card01 .       card04" minmax(
        0,
        auto
      )
      "card02 .      card03" minmax(0, auto) / auto calc(500 * var(--vunit)) auto;
    -webkit-column-gap: calc(58 * var(--vunit));
    -moz-column-gap: calc(58 * var(--vunit));
    column-gap: calc(58 * var(--vunit));
    margin-top: calc(-134 * var(--vunit));
    margin-bottom: calc(-6 * var(--vunit));
  }
  .p-home__sec01-worried__inner .grid-content-icon .grid-card .adjust-box {
    width: calc(var(--_card-width-pc, 250) * var(--vunit));
    left: calc(var(--_card-x-pc, 0) * var(--vunit));
    top: calc(var(--_card-y-pc, 0) * var(--vunit));
  }
  .p-home__sec01-worried__inner
    .grid-content-icon
    .grid-card
    .adjust-box
    .icon {
    padding-top: calc(4 * var(--vunit));
    width: calc(var(--_icon-width-pc) * var(--vunit));
    aspect-ratio: calc(var(--_icon-width-pc) * var(--vunit)) /
      calc(var(--_icon-height-pc) * var(--vunit));
  }
  .p-home__sec01-worried__inner
    .grid-content-icon
    .grid-card
    .adjust-box
    .lead {
    font-size: 1.8rem;
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .p-home__sec01-solution {
    padding-block: calc(0 * var(--vunit)) calc(86 * var(--vunit));
  }
  .p-home__sec01-solution__inner .grid-arrow-down {
    width: calc(124 * var(--vunit));
    margin-top: calc(41 * var(--vunit));
    clip-path: polygon(
      0 0,
      calc(27 * var(--vunit)) 0,
      50% calc(16 * var(--vunit)),
      calc(100% - 27 * var(--vunit)) 0,
      100% 0,
      50% 100%
    );
  }
  .p-home__sec01-solution__inner .sec-heading .sec-lead {
    font-size: 3.5rem;
    font-weight: var(--fw-bold);
    line-height: 1.5428571429;
  }
  .p-home__sec01-solution__inner .sec-heading .sec-ttl {
    padding-inline: calc(6 * var(--vunit));
    font-size: 7.1rem;
    font-weight: var(--fw-bold);
    line-height: 1.4788732394;
  }
  .p-home__sec02 {
    padding-block: calc(73 * var(--vunit)) calc(102 * var(--vunit));
  }
  .p-home__sec02__inner .grid-content01 {
    margin-top: calc(82 * var(--vunit));
    row-gap: calc(48 * var(--vunit));
  }
  .p-home__sec02__inner .grid-content01 .grid-card .num {
    padding-inline: calc(40 * var(--vunit));
    font-size: 23rem;
    line-height: 0.9130434783;
  }
  .p-home__sec02__inner .grid-content01 .grid-card .num.num01 {
    padding-inline: 0 calc(65 * var(--vunit));
  }
  .p-home__sec02__inner .grid-content01 .grid-card .ttl {
    padding-top: calc(31 * var(--vunit));
    padding-inline: calc(50 * var(--vunit));
    font-size: 3.2rem;
    font-weight: var(--fw-bold);
    line-height: 1.6875;
  }
  .p-home__sec02__inner .grid-content01 .grid-card .grid-lead {
    margin-top: calc(18 * var(--vunit));
    margin-bottom: calc(23 * var(--vunit));
    padding-inline: calc(48 * var(--vunit)) calc(40 * var(--vunit));
    font-size: 1.6rem;
    line-height: 1.875;
  }
  .p-home__sec02__inner .grid-content02 {
    padding-top: calc(49 * var(--vunit));
  }
  .p-home__sec02__inner .grid-content02 .grid-card-list .card {
    min-height: calc(352 * var(--vunit));
  }
  .p-home__sec03 {
    padding-block: calc(75 * var(--vunit)) calc(100 * var(--vunit));
  }
  .p-home__sec03__inner .grid-content01 {
    -webkit-column-gap: calc(57 * var(--vunit));
    -moz-column-gap: calc(57 * var(--vunit));
    column-gap: calc(57 * var(--vunit));
  }
  .p-home__sec03__inner .grid-content01 .card {
    min-height: calc(446 * var(--vunit));
  }
  .p-home__sec04 {
    padding-block: calc(76 * var(--vunit)) calc(100 * var(--vunit));
  }
  .p-home__sec04 .l-background .bg-item01 {
    width: calc(447 * var(--vunit));
  }
  .p-home__sec04 .l-background .bg-item02 {
    width: calc(366 * var(--vunit));
  }
  .p-home__sec04__inner > .sec-lead {
    margin-top: calc(28 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company {
    margin-top: calc(61 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company .grid-content01-01 {
    --_columns: 1fr auto;
    margin-top: calc(51 * var(--vunit));
    padding-bottom: calc(40 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company .grid-content01-01 .grid-visual .img {
    width: calc(480 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company .grid-content01-02 {
    margin-top: calc(50 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company .grid-content01-02 .card {
    padding-block: calc(34 * var(--vunit)) calc(40 * var(--vunit));
    padding-inline: calc(40 * var(--vunit));
  }
  .p-home__sec04__inner .grid-company .grid-content01-02 .card .grid-lead {
    margin-top: calc(14 * var(--vunit));
  }
  .p-home__sec04__inner
    .grid-company
    .grid-content01-02
    .grid-content01-02-01:after {
    right: calc(-30 * var(--vunit));
    width: calc(17 * var(--vunit));
    height: calc(41 * var(--vunit));
    -ms-flex-item-align: center;
    align-self: center;
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  }
  .p-home__sec05 {
    padding-block: calc(76 * var(--vunit)) calc(115 * var(--vunit));
  }
  .p-home__sec05__inner .grid-list {
    margin-top: calc(64 * var(--vunit));
    max-width: calc(834 * var(--vunit));
  }
  .p-home__sec05__inner .grid-list .grid-item {
    grid-template:
      "num .   " minmax(0, 1fr) "num ttl " minmax(0, auto) "num lead" minmax(
        0,
        auto
      )
      "num .   " minmax(0, 1fr) / auto 1fr;
    min-height: calc(200 * var(--vunit));
    padding-block: calc(30 * var(--vunit));
    padding-inline: 0 calc(28 * var(--vunit));
  }
  .p-home__sec05__inner .grid-list .grid-item .grid-num {
    margin-right: calc(36 * var(--vunit));
    min-width: calc(130 * var(--vunit));
    font-size: 11.5rem;
    line-height: 1;
  }
  .p-home__sec05__inner .grid-list .grid-item .sec-ttl {
    margin-top: calc(-5 * var(--vunit));
    font-size: 2.6rem;
    font-weight: var(--fw-medium);
    line-height: 1.3846153846;
  }
  .p-home__sec05__inner .grid-list .grid-item .grid-icon {
    position: absolute;
    width: calc(154 * var(--vunit));
    right: calc(-77 * var(--vunit));
    justify-self: end;
    -ms-flex-item-align: center;
    align-self: center;
  }
  .p-home__sec05__inner .grid-list .grid-item .grid-icon .icon {
    width: calc(var(--_icon-width-pc) * var(--vunit));
  }
  .p-home__sec05__inner .banner01 {
    margin-top: calc(81 * var(--vunit));
  }
  .p-home__sec06 {
    padding-block: calc(76 * var(--vunit)) calc(100 * var(--vunit));
  }
  .p-home__sec06__inner .grid-list {
    margin-top: calc(61 * var(--vunit));
    max-width: calc(1021 * var(--vunit));
  }
  .p-home__sec06__inner .grid-list .grid-item {
    padding-inline: calc(31 * var(--vunit));
    padding-block: calc(31 * var(--vunit)) calc(30 * var(--vunit));
    gap: calc(19 * var(--vunit));
  }
  .p-home__sec06__inner .grid-content02 {
    margin-top: calc(80 * var(--vunit));
    padding-inline: calc(45 * var(--vunit));
    padding-block: calc(52 * var(--vunit)) calc(46 * var(--vunit));
  }
  .p-home__sec06__inner .grid-content02 .l-grid--col2 {
    --_columns: auto 1fr;
    gap: calc(43 * var(--vunit));
    margin-top: calc(42 * var(--vunit));
  }
  .p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-visual {
    width: calc(475 * var(--vunit));
  }
  .p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-lead .ttl {
    margin-top: calc(30 * var(--vunit));
    font-size: 2.6rem;
    font-weight: var(--fw-bold);
    line-height: 1.3846153846;
  }
  .p-home__sec06__inner
    .grid-content02
    .l-grid--col2
    .grid-col-lead
    .grid-lead {
    margin-top: calc(17 * var(--vunit));
  }
  .p-home__sec06__inner .grid-content02 .l-grid--col2 .grid-col-lead .l-btn {
    margin-top: calc(26 * var(--vunit));
  }
  .p-home__sec07 {
    padding-block: calc(98 * var(--vunit)) calc(94 * var(--vunit));
  }
  .p-home__sec07__inner .grid-content01 .card {
    min-height: calc(352 * var(--vunit));
  }
  .p-home__sec07__inner .grid-content01 .card .c-btn-ttl {
    padding-block: calc(30 * var(--vunit)) calc(0 * var(--vunit));
  }
  .p-home__sec08 {
    padding-block: calc(101 * var(--vunit)) calc(88 * var(--vunit));
    min-height: calc(767 * var(--vunit));
  }
  .p-home__sec08__inner .grid-content01 .card {
    width: 57.1%;
    padding-block: calc(56 * var(--vunit)) calc(56 * var(--vunit));
    padding-inline: calc(65 * var(--vunit));
    margin-top: calc(-6 * var(--vunit));
  }
  .p-home__sec09 {
    padding-block: calc(70 * var(--vunit)) calc(100 * var(--vunit));
  }
  .p-home__sec09__inner .grid-card-list {
    gap: calc(27 * var(--vunit));
    margin-top: calc(132 * var(--vunit));
  }
  .p-home__sec09__inner .grid-card-list .card {
    min-height: calc(274 * var(--vunit));
    padding-block: calc(90 * var(--vunit)) calc(20 * var(--vunit));
  }
  .p-home__sec09__inner .grid-card-list .card .grid-lead {
    padding-inline: calc(30 * var(--vunit));
    margin-top: calc(9 * var(--vunit));
  }
  .p-home__sec09__inner .grid-card-list .card .grid-lead.lead--tel {
    padding-inline: calc(10 * var(--vunit));
  }
  .p-home__sec09__inner .grid-card-list .card .l-btn {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
    position: absolute;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-top: calc(25 * var(--vunit));
    right: calc(17 * var(--vunit));
    bottom: calc(17 * var(--vunit));
  }
  .p-img--logo- {
    width: calc(307 * var(--vunit));
  }
  .p-banner-detail01 {
    padding-block: calc(49 * var(--vunit)) calc(20 * var(--vunit));
    padding-inline: calc(67 * var(--vunit)) calc(20 * var(--vunit));
  }
  .p-banner-detail01 .inner .ttl {
    margin-top: calc(15 * var(--vunit));
  }
  .p-banner-detail01 .inner .l-btn {
    margin-top: calc(-16 * var(--vunit));
  }
  .p-mv-home {
    --vunit: var(--vwc);
    height: calc(761 * var(--vunit));
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
  }
  .p-mv-home__inner {
    --layout-inner-margin-pc: 80;
  }
  .p-mv-home__inner .grid-content {
    margin-top: calc(147 * var(--vunit));
  }
  .p-mv-home__inner .grid-content .mv-heading-lead {
    margin-left: calc(10 * var(--vunit));
    font-size: calc(24 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.9583333333;
  }
  .p-mv-home__inner .grid-content .mv-title {
    font-size: calc(60 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.6;
  }
  .p-mv-home__inner .grid-content .mv-title strong {
    font-size: calc(77 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.2467532468;
  }
  .p-mv-home__inner .grid-content .l-btn {
    margin-left: calc(12 * var(--vunit));
    margin-top: calc(63 * var(--vunit));
  }
  .p-section-contact__inner {
    padding-block: calc(70 * var(--vunit)) calc(101 * var(--vunit));
  }
  .p-section-contact__inner .l-btn {
    gap: calc(28 * var(--vunit));
    margin-top: calc(68 * var(--vunit));
  }
  .p-content-solution-list {
    padding-inline: calc(60 * var(--vunitw));
    padding-bottom: calc(60 * var(--vunit));
  }
  .p-content-solution-list .grid-service {
    padding-inline: calc(40 * var(--vunitw));
    padding-block: calc(33 * var(--vunit)) calc(40 * var(--vunit));
  }
  .p-content-solution-list .grid-list {
    grid-template-columns: repeat(3, 1fr);
  }
  .p-content-solution-list .grid-list .grid-card .card-link {
    grid-template:
      "icon ttl" minmax(calc(20 * var(--vunit)), auto) "icon lead" minmax(
        calc(20 * var(--vunit)),
        1fr
      )
      / minmax(calc(110 * var(--vunit)), auto) 1fr;
    padding-inline: calc(0 * var(--vunitw)) calc(25 * var(--vunitw));
  }
  .p-content-solution-list .grid-list .grid-card .icon img {
    width: calc(var(--_icon-w-pc) * var(--vunit));
  }
  .p-content-process-figure .content {
    grid-template:
      "ttl-p         .                  .   process-ttl  .               .          ttl-o " minmax(
        0,
        auto
      )
      "ttl-p         .               flow-p process-itm flow-o           .          ttl-o " minmax(
        0,
        auto
      )
      "list-p        .               flow-p process-itm flow-o           .          list-o" minmax(
        0,
        auto
      )
      "list-p        .               flow-p process-itm flow-o           .          list-o" minmax(
        0,
        auto
      )
      "list-p        .               flow-p process-itm flow-o           .          list-o" minmax(
        0,
        auto
      )
      / auto minmax(calc(10 * var(--vunit)), 1fr) auto auto auto minmax(
        calc(10 * var(--vunit)),
        1fr
      )
      auto;
    padding-inline: calc(50 * var(--vunit));
    padding-block: calc(48 * var(--vunit)) calc(40 * var(--vunit));
  }
  .p-content-process-figure .content .process .list-title {
    width: calc(350 * var(--vunitw));
    padding-inline: calc(20 * var(--vunit));
  }
  .p-content-process-figure .content .process .list {
    grid-auto-flow: row;
  }
  .p-content-process-figure .content .process .list li {
    height: calc(50 * var(--vunit));
    text-align: center;
  }
  .p-content-process-figure .content .case-persol {
    display: contents;
  }
  .p-content-process-figure .content .ttl-persol {
    font-size: 2.5rem;
    font-weight: var(--fw-bold);
    line-height: 1.6;
  }
  .p-content-process-figure .content .flow-persol {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    margin-right: calc(10 * var(--vunit));
  }
  .p-content-process-figure .content .list-persol li {
    width: calc(315 * var(--vunit));
  }
  .p-content-process-figure .content .case-other {
    display: contents;
  }
  .p-content-process-figure .content .ttl-other {
    margin-top: calc(12 * var(--vunit));
  }
  .p-content-process-figure .content .process-o {
    display: none;
  }
  .p-content-process-figure .content .flow-other {
    margin-left: calc(10 * var(--vunit));
    grid-template: "arrow01" 54% "arrow02" 1fr/1fr;
  }
  .p-content-process-figure .content .list-other {
    margin-top: calc(12 * var(--vunit));
  }
  .p-content-process-figure .content .list-other .info-box {
    padding-inline: calc(22 * var(--vunit));
    padding-block: calc(20 * var(--vunit)) calc(21 * var(--vunit));
  }
  .p-content-process-figure__flow-arrow {
    height: 100%;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    clip-path: polygon(
      calc(0% + var(--_aw)) var(--_al),
      0% var(--_al),
      50% 0%,
      100% var(--_al),
      calc(100% - var(--_aw)) var(--_al),
      calc(100% - var(--_aw)) calc(100% - var(--_al)),
      100% calc(100% - var(--_al)),
      50% 100%,
      0% calc(100% - var(--_al)),
      calc(0% + var(--_aw)) calc(100% - var(--_al))
    );
  }
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  :root {
    --vw: var(--vwl);
    --vunit: var(--vwl);
    --lunit: var(--vwl);
  }
  html {
    font-size: 0.6510416667vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1920px) {
  :root {
    --vunitw: var(--vw);
    --lunit: var(--vwc);
  }
}
@media screen and (max-width: 1280px) {
  :root {
    --header-height: var(--header-height-sp);
    --header-height-full: var(--header-height-full-sp);
  }
  .c-hamburger {
    justify-self: end;
    display: block grid;
    width: calc(40 * var(--vunit));
    aspect-ratio: 1/1;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .c-hamburger__inner {
    gap: calc(6 * var(--vunit));
  }
}
@media print, screen and (min-width: 1281px) {
  :root {
    --vw: var(--vwc);
    --vunit: var(--vpx);
    --header-height: var(--header-height-pc);
    --header-height-full: var(--header-height-full-pc);
  }
  .c-hamburger {
    display: none;
  }
  .u-pc-150 {
    display: none !important;
  }
  .p-content-process-figure__flow-arrow {
    width: calc(var(--_w) + var(--_aw));
  }
}
@media screen and (min-width: 1921px) {
  :root {
    --vunitw: var(--vpx);
  }
}
@media print {
  :root {
    --vw: var(--vwl);
    --vunit: var(--frem);
    --vunitw: var(--frem);
    --header-height: var(--header-height-pc);
    --header-height-full: var(--header-height-full-pc);
  }
  html {
    font-size: 0.6510416667vw;
  }
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .l-header.l-header--fixed {
    position: relative;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .l-header.l-header--sticky {
    position: relative;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .c-icon--circle .arrow-right {
    background-color: var(--color-white) !important;
    z-index: 1 !important;
  }
  .c-icon--circle .arrow-bottom {
    background-image: var(--icon-angle-arrow-bottom) !important;
    z-index: 1 !important;
  }
  [class*="js-anim-"] {
    opacity: 1 !important;
    translate: 0 !important;
  }
}
@media (hover: hover) {
  a:hover {
    text-decoration: none;
  }
}
@media (hover: none) {
  a:active {
    text-decoration: none;
  }
}
@media (any-hover: hover) {
  .l-grid--card-link:hover:has(.thumb) .thumb img {
    scale: var(--card-hover-thumb-scale);
  }
  a.c-btn-txt:hover span:not([class]):after {
    -webkit-transform-origin: var(
      --_btn-hover-after-transform-origin,
      right top
    );
    transform-origin: var(--_btn-hover-after-transform-origin, right top);
    -webkit-transform: scale(var(--_btn-hover-after-scale-x, 0), 1);
    transform: scale(var(--_btn-hover-after-scale-x, 0), 1);
  }
  a.c-btn-txt:has([class*="c-icon"]):hover > [class*="c-icon"] {
    translate: calc(2 * var(--vunit));
  }
  a.c-btn-txt:has([class*="c-icon"]):hover .c-icon--arrow-right {
    translate: calc(2 * var(--vunit));
  }
  a.c-btn-ttl:hover [class*="ttl"] {
    background-size: 100% calc(1 * var(--vunit));
    background-position: bottom left;
  }
  a.c-btn-ttl:has([class*="c-icon"]):hover [class*="c-icon--circle"] {
    translate: calc(2 * var(--vunit));
  }
  :where(a, button).c-btn-rounded:not([class*="c-btn--grad"]):hover {
    --_btn-col-font: var(--_btn-hover-col-font, var(--color-font-w));
    --_btn-col-bg: var(--_btn-hover-col-bg, var(--color-blue-key));
    scale: 1.02;
  }
  :where(a, button).c-btn-icon:hover {
    --_icon-x: 2;
  }
  .c-btn-scroll:hover {
    opacity: 0.6;
  }
  .c-hamburger:hover {
    opacity: 0.8;
  }
  .c-banner:hover img {
    opacity: var(--btn-hover-opacity);
    scale: var(--card-hover-thumb-scale);
  }
  .c-link:hover {
    opacity: var(--btn-hover-opacity);
  }
  .c-link-txt:hover {
    opacity: var(--btn-hover-opacity, 0.8);
  }
  .c-link-txt--default:hover {
    opacity: var(--btn-hover-opacity, 0.8);
  }
  .c-link-txt--arrow:hover {
    opacity: 0.8;
  }
  .c-link-txt--arrow:hover:after {
    --_ix: 2;
  }
  button.c-tag-category:hover {
    opacity: 0.7;
  }
  .p-headerbar__nav ul li a:hover {
    --_icon-y: 4;
  }
  .p-page-breadcrumbs__list > li > .link:hover {
    opacity: var(--link-hover-opacity);
  }
  .p-sidebar__content.popular-column .card-list .card a:hover .thumb img {
    scale: var(--card-hover-thumb-scale);
  }
  .p-sidebar__content.popular-column .card-list .card a:hover .ttl {
    color: var(--color-orange-600);
  }
  .p-sidebar__content.related-case .card-list .card a:hover .thumb img {
    scale: var(--card-hover-thumb-scale);
  }
  .p-sidebar__content.related-case .card-list .card a:hover .ttl {
    color: var(--color-orange-600);
  }
  .p-content-solution-list .grid-list .grid-card .card-link:hover {
    background-color: var(--color-orange-100);
  }
}
@media (scripting: enabled) {
  .c-details-qa[data-open="true"] {
    --_icon-translate: 0 calc(0 * var(--vunit));
    --_icon-rotate: -45deg;
  }
  .c-details-qa[data-open="true"] .content {
    --_opacity: 1;
  }
  .c-details-qa > .content {
    opacity: var(--_opacity, 0);
  }
  .js-imgcss img,
  .js-imgcss-area img {
    width: calc(var(--_js-img-width) * var(--vunit));
    height: calc(var(--_js-img-height) * var(--vunit));
  }
  .is-hover {
    cursor: pointer;
  }
}
@media (scripting: none) {
  .c-details-qa[open] {
    --_icon-translate: 0 calc(0 * var(--vunit));
    --_icon-rotate: -45deg;
  }
  .c-details-qa[open] .content {
    --_opacity: 1;
  }
  .js-imgcss img,
  .js-imgcss-area img {
    width: revert-layer;
    height: revert-layer;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1280px) {
  .p-content-process-figure__flow-arrow {
    width: calc(150 * var(--vunit));
  }
}
@media (prefers-reduced-motion: no-preference) and (scripting: enabled) {
  [class*="js-anim-"]:not(.js-anim-active):not([data-animated="end"]) {
    -webkit-transition-property: var(--_property);
    transition-property: var(--_property);
    -webkit-transition-timing-function: var(--_easing);
    transition-timing-function: var(--_easing);
  }
  [class*="js-anim-"]:not(.js-anim-active)[data-animated="true"]:not(
      :focus-within
    ) {
    -webkit-transition-duration: var(--_duration);
    transition-duration: var(--_duration);
  }
  [class*="js-anim-"][data-animated]:not([data-animated="end"]) {
    pointer-events: none;
  }
  [class*="js-anim-clip--"] {
    --_property: clip-path;
    --_easing: cubic-bezier(0.19, 1, 0.22, 1);
    --_duration: 1s;
    --_start-opacity: 0;
    --_starting-path: inset(0% 100% 0% 0%);
    --_end-path: inset(0 0 0 0);
  }
  [class*="js-anim-clip--"]:not([data-animated]) {
    opacity: var(--_start-opacity);
    clip-path: unset;
    -webkit-transition: none;
    transition: none;
  }
  [class*="js-anim-clip--"][data-animated="start"] {
    clip-path: var(--_starting-path);
  }
  [class*="js-anim-clip--"][data-animated="true"] {
    clip-path: var(--_end-path);
  }
  .js-anim-clip--x {
    --_starting-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%
    );
  }
  .js-anim-clip--x:not([data-animated]) {
    --_start-opacity: 1;
    clip-path: var(--_starting-path);
  }
  .js-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
    );
  }
  .js-anim-clip--up {
    --_starting-path: inset(100% 0 0% 0);
  }
  .js-anim-clip--down {
    --_starting-path: inset(0 0 100% 0);
  }
  .js-anim-clip--right {
    --_starting-path: inset(0 100% 0 0);
  }
  .js-anim-clip--left {
    --_starting-path: inset(0 0 0% 100%);
  }
  [class*="js-anim-clip-slide--"] {
    --_property: clip-path, translate;
    --_easing: cubic-bezier(0.19, 1, 0.22, 1);
    --_duration: 1s;
    --_starting-path: inset(0% 100% 0% 0%);
    --_end-path: inset(0 0 0 0);
    --_delay: 0;
    --_start-x: 0;
    --_start-y: 0;
    --_end-x: 0;
    --_end-y: 0;
    -webkit-transition-delay: var(--_delay);
    transition-delay: var(--_delay);
  }
  [class*="js-anim-clip-slide--"]:not([data-animated]) {
    translate: var(--_start-x) var(--_start-y);
    clip-path: unset;
    -webkit-transition: none;
    transition: none;
  }
  [class*="js-anim-clip-slide--"][data-animated="start"] {
    clip-path: var(--_starting-path);
    translate: var(--_start-x) var(--_start-y);
  }
  [class*="js-anim-clip-slide--"][data-animated="true"] {
    clip-path: var(--_end-path);
    translate: var(--_end-x) var(--_end-y);
  }
  .js-anim-clip-slide--up {
    --_starting-path: inset(0 0 100% 0);
    --_start-y: 100%;
  }
  .js-anim-clip-slide--down {
    --_starting-path: inset(100% 0 0% 0);
    --_start-y: -100%;
  }
  .js-anim-clip-slide--right {
    --_starting-path: inset(0 0 0% 100%);
    --_start-x: -100%;
  }
  .js-anim-clip-slide--left {
    --_starting-path: inset(0 100% 0 0);
    --_start-x: 100%;
  }
  [class*="js-anim-clip-slide-fade--"] {
    --_property: clip-path, opacity, translate;
    --_easing: cubic-bezier(0.19, 1, 0.22, 1);
    --_duration: 1s;
    --_start-opacity: 0;
    --_starting-path: inset(0% 100% 0% 0%);
    --_end-path: inset(0 0 0 0);
    --_delay: 0;
    --_start-x: 0;
    --_start-y: 0;
    --_end-x: 0;
    --_end-y: 0;
    -webkit-transition-delay: var(--_delay);
    transition-delay: var(--_delay);
  }
  [class*="js-anim-clip-slide-fade--"]:not([data-animated]) {
    translate: var(--_start-x) var(--_start-y);
    opacity: var(--_start-opacity);
    clip-path: unset;
    -webkit-transition: none;
    transition: none;
  }
  [class*="js-anim-clip-slide-fade--"][data-animated="start"] {
    clip-path: var(--_starting-path);
    translate: var(--_start-x) var(--_start-y);
    opacity: var(--_start-opacity);
  }
  [class*="js-anim-clip-slide-fade--"][data-animated="true"] {
    clip-path: var(--_end-path);
    translate: var(--_end-x) var(--_end-y);
    opacity: 1;
  }
  .js-anim-clip-slide-fade--up {
    --_starting-path: inset(0 0 100% 0);
    --_start-y: 100%;
  }
  .js-anim-clip-slide-fade--down {
    --_starting-path: inset(100% 0 0% 0);
    --_start-y: -100%;
  }
  .js-anim-clip-slide-fade--right {
    --_starting-path: inset(0 0 0% 100%);
    --_start-x: -100%;
  }
  .js-anim-clip-slide-fade--left {
    --_starting-path: inset(0 100% 0 0);
    --_start-x: 100%;
  }
  [class*="js-anim-clip-overlay--"] {
    --_property: opacity, translate, clip-path, inset;
    --_easing: cubic-bezier(0.19, 1, 0.22, 1);
    --_duration: 1s;
    --_start-opacity: 0;
    --_starting-path: inset(0% 100% 0% 0%);
    --_end-path: inset(0 0 0 0);
    --_after-starting-path: var(--_starting-path);
    --_after-end-path: var(--_end-path);
    --_overlay-color: var(--color-black);
    --_overlay-duration: var(--_duration);
    --_overlay-delay: calc(var(--_overlay-duration) / 2);
    position: relative;
    /*
      &:not([data-animated="true"]):not([data-animated="end"]) {
        //opacity: var( --_start-opacity);
    //    clip-path : unset;
    //    transition: none; //  最初はアニメーションさせない
        clip-path: var(--_starting-path);
        &::after{
          clip-path: var(--_end-path);
        }
      }
    */
  }
  [class*="js-anim-clip-overlay--"]::after {
    position: absolute;
    inset: 0;
    content: "";
    background-color: var(--_overlay-color);
    -webkit-transition-timing-function: var(--_easing);
    transition-timing-function: var(--_easing);
    -webkit-transition-property: var(--_property);
    transition-property: var(--_property);
    rotate: 180deg;
  }
  [class*="js-anim-clip-overlay--"]:not(:focus-within)::after {
    -webkit-transition-duration: var(--_duration);
    transition-duration: var(--_duration);
    -webkit-transition-delay: calc(var(--_duration) / 2);
    transition-delay: calc(var(--_duration) / 2);
  }
  [class*="js-anim-clip-overlay--"]:not([data-animated]) {
    clip-path: unset;
    -webkit-transition: none;
    transition: none;
  }
  [class*="js-anim-clip-overlay--"]:not([data-animated])::after {
    clip-path: unset;
  }
  [class*="js-anim-clip-overlay--"][data-animated="start"] {
    clip-path: var(--_starting-path);
  }
  [class*="js-anim-clip-overlay--"][data-animated="start"]::after {
    clip-path: var(--_after-end-path);
  }
  [class*="js-anim-clip-overlay--"][data-animated="true"] {
    clip-path: var(--_end-path);
  }
  [class*="js-anim-clip-overlay--"][data-animated="true"]::after {
    clip-path: var(--_after-starting-path);
  }
  [class*="js-anim-clip-overlay--"][data-animated="end"] {
    clip-path: var(--_end-path);
  }
  [class*="js-anim-clip-overlay--"][data-animated="end"]::after {
    clip-path: var(--_after-starting-path);
  }
  .js-anim-clip-overlay--up {
    --_starting-path: inset(100% 0 0% 0);
  }
  .js-anim-clip-overlay--down {
    --_starting-path: inset(0 0 100% 0);
  }
  .js-anim-clip-overlay--right {
    --_starting-path: inset(0 100% 0 0);
  }
  .js-anim-clip-overlay--left {
    --_starting-path: inset(0 0 0% 100%);
  }
  .js-anim-clip-overlay--on {
    --_starting-path: inset(100%);
    --_duration: 1.5s;
    z-index: 1;
  }
  .js-anim-clip-overlay--on[data-animated="end"]::after {
    z-index: -1;
  }
  [class*="js-anim-fade--"] {
    --_property: opacity, translate;
    --_easing: ease;
    --_duration: 0.7s;
    --_delay: 0;
    --_start-x: 0;
    --_start-y: 0;
    --_end-x: 0;
    --_end-y: 0;
    -webkit-transition-delay: var(--_delay);
    transition-delay: var(--_delay);
  }
  [class*="js-anim-fade--"]:not([data-animated="true"]):not(
      [data-animated="end"]
    ) {
    opacity: 0;
    translate: var(--_start-x) var(--_start-y);
  }
  [class*="js-anim-fade--"][data-animated="start"] {
    translate: var(--_start-x) var(--_start-y);
  }
  [class*="js-anim-fade--"][data-animated="true"] {
    translate: var(--_end-x) var(--_end-y);
  }
  .js-anim-fade--up {
    --_start-y: calc(20 * var(--vunit));
  }
  .js-anim-fade--down {
    --_start-y: calc(-20 * var(--vunit));
  }
  .js-anim-fade--left {
    --_start-x: calc(20 * var(--vunit));
  }
  .js-anim-fade--right {
    --_start-x: calc(-20 * var(--vunit));
  }
  [class*="js-anim-move--"] {
    --_property: opacity, translate;
    --_easing: ease-in-out;
    --_duration: 1.5s;
    --_delay: 0;
    --_start-x: 0;
    --_start-y: 0;
    --_end-x: 0;
    --_end-y: 0;
    -webkit-transition-delay: var(--_delay);
    transition-delay: var(--_delay);
  }
  [class*="js-anim-move--"]:not([data-animated="true"]):not(
      [data-animated="end"]
    ) {
    opacity: 1;
    translate: var(--_start-x) var(--_start-y);
  }
  [class*="js-anim-move--"][data-animated="start"] {
    translate: var(--_start-x) var(--_start-y);
  }
  [class*="js-anim-move--"][data-animated="true"] {
    translate: var(--_end-x) var(--_end-y);
  }
  .js-anim-move--up {
    --_start-y: calc(20 * var(--vunit));
  }
  .js-anim-move--down {
    --_start-y: calc(-20 * var(--vunit));
  }
  .js-anim-move--left {
    --_start-x: calc(20 * var(--vunit));
  }
  .js-anim-move--right {
    --_start-x: calc(-20 * var(--vunit));
  }
  [class*="js-anim-scale-in"] {
    --_property: scale, opacity;
    --_easing: cubic-bezier(0.19, 1, 0.22, 1);
    --_duration: 2s;
    --_starting-scale: 1.1;
    --_end-scale: 1;
    --_start-opacity: 0;
    --_end-opacity: 1;
    -webkit-transition-delay: var(--_delay, 0);
    transition-delay: var(--_delay, 0);
  }
  [class*="js-anim-scale-in"]:not([data-animated]) {
    -webkit-transition: none;
    transition: none;
    scale: var(--_starting-scale);
    opacity: 0;
  }
  [class*="js-anim-scale-in"]:not([data-animated="true"]):not(
      [data-animated="end"]
    ) {
    scale: var(--_starting-scale);
    opacity: 0;
  }
  [class*="js-anim-scale-in"][data-animated="start"] {
    scale: var(--_starting-scale);
  }
  [class*="js-anim-scale-in"][data-animated="true"] {
    scale: var(--_end-scale);
  }
  [class*="js-anim-scale-in"][data-animated="end"] {
    opacity: var(--_end-opacity, 1);
    scale: var(--_end-scale);
  }
  .js-anim-scale-in--s {
    --_start-opacity: 0;
    --_starting-scale: 0.9;
  }
}
@media screen and (scripting: enabled) and (max-width: 767px) {
  .js-imgcss-area--rrate img {
    width: calc(var(--_js-img-width) * var(--rrate) * var(--vunit));
    height: calc(var(--_js-img-height) * var(--rrate) * var(--vunit));
  }
}
@media print and (scripting: enabled),
  screen and (scripting: enabled) and (min-width: 768px) {
  .js-imgcss-area--rrate img {
    width: calc(var(--_js-img-width) * var(--vunit));
    height: calc(var(--_js-img-height) * var(--vunit));
  }
}
@media screen and (scripting: none) and (max-width: 767px) {
  .js-imgcss-area--rrate img {
    width: revert-layer;
    height: revert-layer;
  }
}
@media print and (scripting: none),
  screen and (scripting: none) and (min-width: 768px) {
  .js-imgcss-area--rrate img {
    width: revert-layer;
    height: revert-layer;
  }
}
.p-banner-detail01 .inner .p-banner-detail02-btn {
  margin-top: calc(135 * var(--vunit));
}
.p-banner-detail02 {
  margin-top: calc(94 * var(--vunit));
}
@media print, screen and (max-width: 767px) {
  .p-banner-detail01 .inner .p-banner-detail02-btn {
    margin-top: calc(265 * var(--vunit));
  }
  .p-banner-detail02 {
    margin-top: calc(60 * var(--vunit));
  }
}
