@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;
}

:root {
  --color-orange-500: #ff7c3b;
  --color-orange-600: #fb5b0c;
  --color-orange-700: #db4900;
  --color-orange-key: var(--color-orange-600);
  --grad-orange-right: linear-gradient(45deg, var(--color-orange-600), var(--color-orange-500));
  --grad-orange-right--btn: linear-gradient(90deg, var(--color-orange-500) 0%, var(--color-orange-600) 50%, var(--color-orange-500) 100%);
  --color-green-500: #00c03f;
  --color-green-550: #2eab46;
  --color-green-600: #09ab3e;
  --color-green-key: var(--color-green-500);
  --color-gray-100: #f1f1f1;
  --color-gray-600: #ccc;
  --color-gray-650: #c2c2c2;
  --color-gray-700: #acacac;
  --color-black-500: #29292b;
  --color-black-600: #161616;
  --color-trueblack: #000;
  --color-truewhite: #fff;
  --color-black: #313131;
  --color-white: #fff;
  --color-white-09: rgb(255 255 255 / 0.9);
  --color-font-w: var(--color-white);
  --color-font-b: var(--color-black);
  --color-detail-question: var(--color-green-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: 0.1rem;
  --funit: 0.1rem;
  --flsunit: 0.001rem;
  --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;
  --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);
  --infinity: calc(infinity * 1px);
  --layout-inner-pc: 1266;
  --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: 145;
  --fixedcv-height-sp: 50;
  --header-height-pc: 110;
  --header-height-sp: 64;
  --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(--font-YuuMincho);
  --font-NotoSansJP: "Noto Sans JP";
  --font-YuuMincho: "游明朝","Yu Mincho",YuMincho,"Hiragino Mincho Pro",serif;
  --baseFont: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  /*
    --icon-circle-next: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="white"><circle cx="25" cy="25" r="24" fill="%23fccf00"/><path d="M21.12,34a1.106,1.106,0,0,1-.792-.334,1.153,1.153,0,0,1,0-1.611L25.3,27,20.328,21.945a1.153,1.153,0,0,1,0-1.611,1.106,1.106,0,0,1,1.583,0L27.672,26.195a1.153,1.153,0,0,1,0,1.611L21.911,33.666A1.106,1.106,0,0,1,21.12,34Z" fill="%23fff"/></svg>' );
    --icon-circle-prev: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="white"><circle cx="25" cy="25" r="24" fill="%23fccf00"/><path d="M20.88,34a1.106,1.106,0,0,1-.792-.334,1.153,1.153,0,0,1,0-1.611L25.06,27,20.088,22.945a1.153,1.153,0,0,1,0-1.611,1.106,1.106,0,0,1,1.583,0L27.432,26.195a1.153,1.153,0,0,1,0,1.611L21.911,33.666A1.106,1.106,0,0,1,20.88,34Z" fill="%23fff"/></svg>' );
    --icon-circle-stop: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="white"><circle cx="25" cy="25" r="24" fill="%23fff" stroke="%23fccf00" stroke-width="2"/><rect x="20" y="17.5" width="3" height="15" rx="1.5" fill="%23fccf00"/><rect x="28" y="17.5" width="3" height="15" rx="1.5" fill="%23fccf00"/></svg>' );
    --icon-circle-play: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="white"><circle cx="25" cy="25" r="24" fill="%23fff" stroke="%23fccf00" stroke-width="2"/><polygon points="20,17.5 20,32.5 33,25" fill="%23fccf00"/></svg>' );

    --icon-close: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="white"><line x2="21" y2="21" fill="none" stroke="%23fff" stroke-width="2"/><line x1="21" y2="21" fill="none" stroke="%23fff" stroke-width="2"/></svg>' );
    --icon-plus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="white"><line y1="6.00" y2="6.00" x1="1.00" x2="11.06" fill="none" stroke="%23a3a3a3" stroke-width="1"/><line x1="6.00" x2="6.00" y1="1.00" y2="11.00" fill="none" stroke="%23a3a3a3" stroke-width="1"/></svg>' );

    //  マスク : カード カットアウト
    --svg-clip-card-cutout: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="380" height="342" fill="white"><path d="M625.4,72.292H336.6c-25.184,0-45.6,20.964-45.6,46.825V312.609c0,12.93,10.208,23.412,22.8,23.412H440.765c12.592,0,22.8,10.483,22.8,23.413v31.445c0,12.931,10.208,23.413,22.8,23.413H625.4c25.184,0,45.6-20.964,45.6-46.825V119.117C671,93.256,650.584,72.292,625.4,72.292Z" transform="translate(-291 -72.292)"/></svg>' );
    --svg-clip-page-mv: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="476" fill="white"> <path id="mask" data-name="mask" class="cls-1" d="M-26,395S140.224,274.6,400,259c259.333-15.573,429.479,64.863,555,105,263.17,84.151,455.25,84.711,628,32,251.46-76.727,350.6-85.876,680,74,163.3,79.258-77-647.572-77-648L-21-276Z"/></svg>' );
    --svg-clip-home-mv: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="681" fill="white"><path d="M6159,648.678s222.342-78.5,443.986-86.081c163.06-5.578,360.255,12.155,548.982,56.315s450.61,67.216,551.982,61.142c128.04-7.671,285.449-32.913,374.988-67.578.157-.061,0-612.476,0-612.476H6159Z" transform="translate(-6159)" fill="%23253675"/></svg>' );
    --svg-clip-page-mv-reverse: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="3840" height="953" fill="white"><path d="M3840,694.289L3840,952.062L0,952.062L-0,756.662C112.556,689.433 401.142,541.952 800,518C1318.67,486.854 1658.96,647.726 1910,728C2436.34,896.302 2820.5,897.422 3166,792C3439.81,708.455 3623.31,664.971 3840,694.289Z" style="fill:rgb(235,235,235)"/></svg>' );
    --svg-clip-home-mv-reverse: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="1921" height="682" fill="white"><path d="M1883.24,478.8L1883.24,659.146L1483.6,659.146C1497,659.138 1508.96,658.846 1519.22,658.263C1643.49,651.2 1796.27,627.957 1883.17,596.038C1883.22,596.022 1883.24,547.44 1883.24,478.8Z" style="fill:rgb(235,235,235)"/><path d="M1482.47,659.146L19.745,659.146L19.745,629.372C19.745,629.372 235.543,557.091 450.663,550.11C608.924,544.974 800.315,561.302 983.487,601.964C1147.01,638.265 1367.13,659.078 1482.47,659.146Z" style="fill:rgb(235,235,235);"/></svg>' );
  */
  --card-article-radius-pc: 2.4rem;
  --card-article-radius-sp: 2.0rem;
  --card-s-radius-pc: 2.8rem;
  --card-s-radius-sp: 2.0rem;
  --card-m-radius-pc: 4.6rem;
  --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: 8.0rem;
  --card-ll-radius-sp: var(--card-l-radius-pc);
  --card-shadow: 4.0rem -3.0rem 3.0rem var(--color-blue-200-15);
  --card-shadow-right: 4.0rem 0rem 3.0rem var(--color-blue-200-15);
  --card-shadow-right-bottom: 4.0rem 4.0rem 3.0rem var(--color-blue-200-15);
  --card-shadow-drop: 5.0rem -3.0rem 3.0rem var(--color-blue-200-20);
  --card-hover-shadow: 0 4.0rem 3.0rem rgba(25, 25, 25, 0.12);
  --card-hover-shadow02: 0 4.8rem 4.0rem rgba(25, 25, 25, 0.2);
  --card-hover-scale: 1.015;
  --card-hover-thumb-scale: 1.05;
  --card-radius: 2.0rem;
  --card-border-shadow: 0 0 calc( 1 * var(--vunit) ) rgba(25, 25, 25, 0.9);
  --form-radius: 0.3rem;
  --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-text-slide: cubic-bezier(.165,.84,.44,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;
  position: sticky;
  top: 0;
  height: 0;
  display: block grid;
  grid-template-columns: 1fr;
  margin-inline: auto;
  width: 100%;
  z-index: var(--obj-z-l-header);
}

.l-section {
  --_gutter: calc((var(--100dvi) - 100cqi) / 2);
  --_flow: row;
  --_cq-parent-width: var(--layout-inner);
  --_pxcq: calc( 100 / var(--_cq-parent-width) ) * 1cqi;
  container-type: inline-size;
  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-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-left: auto;
  margin-right: auto;
  padding-left: var(--_u-im);
  padding-right: var(--_u-im);
  max-width: var(--_u-iw, unset);
  /*
    @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-gray-400));
  border-radius: calc(30 * var(--vunit));
  padding-top: calc(40 * var(--vunit));
  padding-bottom: calc(40 * var(--vunit));
}
.l-grid-content[data-color=white] {
  --_background-color: var(--color-white);
}

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

.l-grid--card-link {
  --_flow: row;
  --_columns: 1fr;
  --_align-self: start;
  grid-template-rows: auto;
}
.l-grid--card-link:focus: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, 100%);
  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--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  justify-items: center;
}

: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;
  -webkit-margin-start: auto;
          margin-inline-start: 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-green {
  --_background-color-bg: var(--color-green-100);
}

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

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

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

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

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

.l-followbottombar {
  position: sticky;
  display: block grid;
  z-index: var(--obj-z-l-foolowbottombar);
  -ms-flex-line-pack: center;
      align-content: center;
  bottom: calc(-100 * var(--vwmc));
  height: calc(100 * var(--vunit));
  background-color: var(--color-white);
  -webkit-box-shadow: 0 0 calc(20 * var(--vunit)) 0 var(--shadow01);
          box-shadow: 0 0 calc(20 * var(--vunit)) 0 var(--shadow01);
  opacity: 0;
  -webkit-transition: opacity 0.3s, bottom 0.5s ease;
  transition: opacity 0.3s, bottom 0.5s ease;
}
.l-followbottombar:not([data-active]) {
  pointer-events: none;
}
.l-followbottombar[data-active] {
  bottom: 0;
  opacity: 1;
}
.l-followbottombar .l-inner {
  -webkit-column-gap: calc(15 * var(--vunit));
     -moz-column-gap: calc(15 * var(--vunit));
          column-gap: calc(15 * var(--vunit));
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-followbottombar .logo {
  grid-area: logo;
  width: calc(300 * var(--vunit));
  aspect-ratio: 300/30;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.l-followbottombar .btn-login {
  grid-area: btn1;
}
.l-followbottombar .btn-signin {
  grid-area: btn2;
}

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

@property --_shade-grad-start {
  syntax: "<color>";
  inherits: true;
  initial-value: rgba(0, 0, 0, 0.6);
}
@property --_shade-grad-middle {
  syntax: "<color>";
  inherits: true;
  initial-value: rgba(0, 0, 0, 0.3);
}
@property --_shade-grad-end {
  syntax: "<color>";
  inherits: true;
  initial-value: transparent;
}
.c-btn-box {
  --_shade-grad-start: color-mix(in srgb, var(--color-orange-500) 100%, transparent);
  --_shade-grad-middle: color-mix(in srgb, var(--color-orange-500) 50%, var(--color-orange-600));
  --_shade-grad-end: color-mix(in srgb, var(--color-orange-600) 100%, transparent);
  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;
  margin-inline: auto;
  text-decoration: unset;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  white-space: nowrap;
  cursor: pointer;
  overflow: clip;
  -webkit-transition: opacity 0.3s, color 0.3s, background-color 0.3s, background-position 1.4s, translate 0.3s, -webkit-filter 0.3s;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s, background-position 1.4s, translate 0.3s, -webkit-filter 0.3s;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s, background-position 1.4s, translate 0.3s, filter 0.3s;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s, background-position 1.4s, translate 0.3s, filter 0.3s, -webkit-filter 0.3s;
  -webkit-transition-duration: 1.4s;
          transition-duration: 1.4s;
  -webkit-transition-timing-function: var(--ease-default);
          transition-timing-function: var(--ease-default);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: calc(var(--_btn-width, 260) * var(--vunit));
  block-size: calc(var(--_btn-height, 66) * var(--vunit));
  padding-inline: calc(var(--_btn-padding, 30) * var(--vunit));
  color: var(--_btn-col-font, var(--color-font-w));
  border: var(--_btn-border-w, calc(1 * var(--vunit))) solid var(--_btn-col-border, var(--color-gray-350));
  border-radius: calc(5 * var(--vunit));
  font-size: 2.1rem;
  font-weight: var(--fw-bold);
  line-height: 1.1428571429;
  letter-spacing: calc(var(--_btn-ls, 0) * 0.001rem);
}
.c-btn-box > span:not([class]) {
  display: inline grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-btn-box > .bg {
  position: absolute;
  z-index: -1;
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: var(--color-orange-700);
  -webkit-transition: color 0.5s ease, width 0.5s ease;
  transition: color 0.5s ease, width 0.5s ease;
}

.c-btn-box:not(.js-btn-hover) > .bg {
  background: var(--_btn-col-bg, var(--grad-orange-right));
}
.c-btn-box:not(.js-btn-hover) > .bg::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--shadow01);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

a.c-btn-box:not(.js-btn-hover):focus > .bg::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left;
          transform-origin: left;
}
.c-btn-box:has([class*=c-icon]):focus .c-icon--angle-arrow-down {
  scale: 1.2;
}
.c-btn-box:has([class*=c-icon]) > span:not([class]) {
  display: inline grid;
  grid-template-columns: auto auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-btn-box:has([class*=c-icon]) [class*=c-icon] {
  -webkit-transition: scale 0.3s ease, translate 0.3s ease;
  transition: scale 0.3s ease, translate 0.3s ease;
  margin-left: calc(11 * var(--vunit));
  pointer-events: none;
}

.c-btn-box:not(.c-btn--noicon)[href^="http://"],
.c-btn-box:not(.c-btn--noicon)[href^="https://"] {
  grid-template-columns: auto auto;
}
.c-btn-box:not(.c-btn--noicon)[href^="http://"]:after,
.c-btn-box:not(.c-btn--noicon)[href^="https://"]:after {
  content: "";
  margin-left: calc(11 * var(--vunit));
  width: calc(19 * var(--vunit));
  height: calc(18 * var(--vunit));
  background-image: url("../../assets/img/common/icon/icon_external_w.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  pointer-events: none;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}

.c-btn-box.c-btn--white {
  --_btn-col-font: var(--color-orange-600);
  --_btn-col-bg: var(--color-white);
}

.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 .banner {
  overflow: clip;
}
.c-banner .banner img {
  -webkit-transition: opacity 0.3s, scale 0.5s ease;
  transition: opacity 0.3s, scale 0.5s ease;
}
.c-banner:focus 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: 26;
}
.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));
  /*
  //------------------------------------
  //  開閉アイコン: プラス/マイナス
  > summary{
    //  アイコンが冗長なため内包する .c-icon-img--plus
    --_iw-pc: 16;
    --_ih-pc: 16;
    &:before, &:after{
      content: "";
      grid-area: icon;
      justify-self: end;
      display: block grid;
      place-content: center;
      transition: rotate 0.3s, opacity 0.3s;
      // 強制カラーモードでもアイコンを表示できるようにborderで描く
      border-bottom: vunit( 16 ) solid var(--color-gray-650);
      width: vunit( 2 );
      margin-right: vunit( 16 );
    }
    &:before{
      rotate: var(--_rotate1, 0deg);
      opacity: var(--_opacity1, 1);
    }
    &:after{
      rotate: var(--_rotate2, 90deg);
      opacity: var(--_opacity2, 1);
    }
  }
  */
}
.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, 72) * var(--vunit));
  border-bottom: calc(1 * var(--vunit)) solid var(--color-gray-650);
  cursor: pointer;
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  line-height: 1.5;
  letter-spacing: 0rem;
}
.c-details-qa > summary .q {
  grid-area: q;
  font-family: var(--font-Roboto);
  color: var(--color-detail-question);
  align-self: start;
  font-size: 2.8rem;
  font-weight: var(--fw-bold);
  line-height: 1;
}
.c-details-qa > summary .q:before {
  content: "Q";
}
.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;
  inline-size: 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-gray-650);
  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-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;
}
.c-details-qa > .content > p {
  display: block grid;
  margin-block: calc(18 * var(--vunit)) calc(10 * var(--vunit));
  padding-inline: calc(0 * var(--vunit)) calc(20 * var(--vunit));
  padding-bottom: calc(26 * var(--vunit));
  font-size: 1.6rem;
  font-weight: var(--fw-bold);
  line-height: 1.875;
  letter-spacing: 0.018rem;
}
.c-details-qa > .content .a {
  grid-area: a;
  margin-block: calc(20 * var(--vunit));
  font-family: var(--font-Roboto);
  color: var(--color-detail-question);
  font-size: 3rem;
  font-weight: var(--fw-bold);
  line-height: 1;
}
.c-details-qa > .content .a:before {
  content: "A";
}

[class*=c-icon--] {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: scale;
  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(--funit) );
  --_u-ity: calc( var(--_ity) * var(--funit) );
  width: calc(var(--_iw) * var(--funit));
  height: calc(var(--_ih) * var(--funit));
  min-height: calc(var(--_ih) * var(--funit));
  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: 51;
  --_ih-pc: 52;
  -webkit-mask-image: var(--icon-arrow-left);
          mask-image: var(--icon-arrow-left);
}

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

.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--angle-arrow-down {
  --_iw-pc: 16;
  --_ih-pc: 16;
  --_iw-sp: 16;
  --_ih-sp: 16;
  mask-image: var(--icon-angle-arrow-bottom-y);
}
  */
.c-icon--circle-angle-arrow-right {
  --_iw-pc: 25;
  --_ih-pc: 25;
  --_icon-col: transparent;
  -webkit-mask-repeat: unset;
          mask-repeat: unset;
  -webkit-mask-position: unset;
          mask-position: unset;
  -webkit-mask-size: unset;
          mask-size: unset;
}
.c-icon--circle-angle-arrow-right:before, .c-icon--circle-angle-arrow-right:after {
  content: "";
  position: absolute;
  display: inline grid;
  inset: 0;
  left: 0;
  top: 0;
}
.c-icon--circle-angle-arrow-right:after {
  --_aw: calc( var(--_tickness,2) * var(--funit) );
  --_as: calc( var(--_size,8) * var(--funit) );
  left: calc(-3 * var(--vunit));
  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;
}
.c-icon--circle-angle-arrow-right.c-icon--size-l {
  --_iw-pc: 40;
  --_ih-pc: 40;
}
.c-icon--circle-angle-arrow-right span:first-child {
  display: grid;
  width: 100%;
  height: 100%;
  background: var(--grad-orange-right);
  border-radius: var(--infinity);
  scale: 1;
  z-index: 0;
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
.c-icon--circle {
  --_iw-pc: 25;
  --_ih-pc: 25;
  --_icon-col: transparent;
  -webkit-mask-repeat: unset;
          mask-repeat: unset;
  -webkit-mask-position: unset;
          mask-position: unset;
  -webkit-mask-size: unset;
          mask-size: unset;
}
.c-icon--circle > * {
  grid-area: 1/1/-1/-1;
}
.c-icon--circle.c-icon--size-l {
  --_iw-pc: 40;
  --_ih-pc: 40;
}
.c-icon--circle .bg {
  display: grid;
  width: 100%;
  height: 100%;
  background: var(--grad-orange-right);
  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;
  -webkit-mask-repeat: unset;
          mask-repeat: unset;
  -webkit-mask-position: unset;
          mask-position: unset;
  -webkit-mask-size: unset;
          mask-size: unset;
}
.c-icon--circle-external:before, .c-icon--circle-external:after {
  content: "";
  position: absolute;
  display: inline grid;
  grid-area: 1/1/-1/-1;
  inset: 0;
  left: 0;
  top: 0;
}
.c-icon--circle-external:after {
  margin: auto;
  justify-self: center;
  -ms-flex-item-align: center;
      align-self: center;
  background-image: url("../../assets/img/common/icon/icon_external.png");
  -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, 14) * var(--vunit));
  height: calc(var(--_ih-after-pc, 15) * var(--vunit));
}
.c-icon--circle-external span:first-child {
  display: grid;
  width: 100%;
  height: 100%;
  background: var(--grad-orange-right);
  border-radius: var(--infinity);
  scale: 1;
  z-index: 0;
  -webkit-transition: scale 0.3s ease;
  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(--funit) );
  --_u-ity: calc( var(--_ity) * var(--funit) );
  width: calc(var(--_iw) * var(--funit));
  height: calc(var(--_ih) * var(--funit));
  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--circle-media-prev {
  --_iw-pc: 80;
  --_ih-pc: 80;
  background-image: url("../../assets/img/common/icon/icon_circle_prev.svg");
}

.c-icon-img--circle-media-next {
  --_iw-pc: 80;
  --_ih-pc: 80;
  background-image: url("../../assets/img/common/icon/icon_circle_next.svg");
}

.c-icon-img--media-stop {
  --_iw-pc: 11;
  --_ih-pc: 14;
  background-image: url("../../assets/img/common/icon/icon_media_stop.svg");
}

.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-link {
  -webkit-transition: color 0.3s, opacity 0.3s;
  transition: color 0.3s, opacity 0.3s;
}
.c-link:focus {
  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.005rem;
}
.c-link-txt:focus {
  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: 0.05rem;
}
.c-link-txt--default:focus {
  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 {
  opacity: 0.8;
}
.c-link-txt--arrow:focus: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 {
  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));
  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--indent[data-indent="1"] {
  --_padding: 1em;
}

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

[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;
}

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

[class*=c-ttl--] {
  font-size: calc(var(--_ttl-font-size, 32) * var(--vunit));
  line-height: calc(var(--_ttl-line-height, 48) / var(--_ttl-font-size));
  letter-spacing: calc(var(--_ttl-letter-spacing, 0) * var(--vunit));
  font-weight: var(--fw-bold);
  text-align: var(--_ttl-text-align, inherit);
  color: var(--_ttl-col-font, inherit);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.c-ttl--s {
  --_ttl-font-size-pc: 24;
  --_ttl-font-size-sp: 14;
  --_ttl-line-height-pc: 35;
  --_ttl-line-height-sp: 20;
  --_ttl-letter-spacing-pc: 0.0;
  text-align: var(--_ttl-text-align, center);
}

.c-ttl--section-s {
  --_ttl-font-size-pc: 20;
  --_ttl-font-size-sp: 18;
  --_ttl-line-height-pc: 36;
  --_ttl-line-height-sp: 30;
  --_ttl-letter-spacing-pc: 0.55;
  text-align: var(--_ttl-text-align, center);
}

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

.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--] {
  font-size: calc(var(--_txt-font-size, 32) * 0.1rem);
  line-height: calc(var(--_txt-line-height, 48) / var(--_txt-font-size));
  letter-spacing: calc(var(--_txt-letter-spacing, 0) * 0.1rem);
  font-weight: var(--_txt-font-weight, var(--fw-regular));
  color: var(--_txt-col-font, inherit);
  text-align: var(--_txt-text-align, inherit);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
[class*=c-txt--] strong {
  color: var(--_txt-col-strong, var(--color-green-600));
  font-weight: var(--fw-bold);
}

.c-txt--xs {
  --_txt-font-size-pc: 11;
  --_txt-font-size-sp: 11;
  --_txt-line-height-pc: 16;
  --_txt-line-height-sp: 16;
  --_txt-letter-spacing: 0.0;
}

.c-txt--s {
  --_txt-font-size-pc: 16;
  --_txt-font-size-sp: 16;
  --_txt-line-height-pc: 30;
  --_txt-line-height-sp: 30;
  --_txt-letter-spacing: 0.0;
}

.c-txt--m {
  --_txt-font-size-pc: 20;
  --_txt-font-size-sp: 18;
  --_txt-line-height-pc: 46;
  --_txt-line-height-sp: 38;
  --_txt-letter-spacing: 0.0;
  --_txt-text-align: center;
}

.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;
  --_txt-text-align: center;
}

.c-txt--l {
  --_txt-font-size-pc: 30;
  --_txt-font-size-sp: 22;
  --_txt-line-height-pc: 68;
  --_txt-line-height-sp: 37;
  --_txt-letter-spacing: 0;
}

.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--24 {
  --_txt-font-size-pc: 24;
  --_txt-font-size-sp: 20;
  --_txt-line-height-pc: 30;
  --_txt-line-height-sp: 28;
  --_txt-letter-spacing: 0;
  --_txt-font-weight: var(--fw-bold);
}

.c-txt--note {
  --_txt-font-size-pc: 12;
  --_txt-font-size-sp: 12;
  --_txt-line-height-pc: 14;
  --_txt-line-height-sp: 14;
  --_txt-letter-spacing: 0;
  --_txt-font-weight: var(--fw-regular);
  --_txt-col-font: var(--color-gray-850);
}

.c-heading--section .en {
  color: var(--color-gray-850);
  font-weight: var(--fw-bold);
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0rem;
}
.c-heading--section .en:before {
  display: inline-block;
  content: "";
  left: 0;
  min-width: calc(16 * var(--vunit));
  aspect-ratio: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  background: var(--grad-blue-right);
  border-radius: var(--infinity);
  margin-right: calc(8 * var(--vunit));
  translate: 0 calc(2 * var(--vunit));
  opacity: 0.7;
}
.c-heading--section .ttl {
  margin-top: calc(12 * var(--vunit));
  font-size: 4.8rem;
  font-weight: var(--fw-bold);
  line-height: 1.25;
  letter-spacing: 0.5rem;
}

.c-txtdec-frame,
[class*=c-txtdec-frame--] {
  display: inline flow-root;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  color: var(--_fcol, var(--color-font-w));
  border: var(--_txtdec-frame-border, calc(1 * var(--vunit))) solid var(--_txtdec-frame-border-color, var(--color-white));
}

.c-txtdec-frame--black {
  --_txtdec-frame-border-color: var(--color-black);
}

.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;
}
[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-uppercase {
  text-transform: uppercase;
}

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

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

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

.p-home__worries {
  display: block grid;
  grid-template: "stack" minmax(0, auto)/1fr;
}
.p-home__worries > * {
  grid-area: stack;
  display: block grid;
  position: relative;
}
.p-home__worries > .l-background {
  background-color: var(--color-black-500);
}
.p-home__worries > .l-background img {
  min-height: calc(610 * var(--vw));
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home__worries > .p-home__worries__inner {
  -ms-flex-item-align: start;
      align-self: start;
}
.p-home__worries > .p-home__worries__inner .grid-content .ttl {
  --_ttl-col-font: var(--color-font-w);
  color: var(--color-green-500);
}
.p-home__worries > .p-home__worries__inner .grid-content .ttl span {
  margin-left: calc(7 * var(--vunit));
  translate: 0 calc(2 * var(--vunit));
  color: var(--color-green-500);
  border-color: currentColor;
}
.p-home__worries > .p-home__worries__inner .grid-content .lead {
  --_txt-col-font: var(--color-font-w);
}

.p-home__solution {
  display: block grid;
  grid-template: "stack" minmax(0, auto)/1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.p-home__solution > * {
  grid-area: stack;
  display: block grid;
  position: relative;
}
.p-home__solution > .l-background {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
.p-home__solution > .l-background .grid-box {
  align-self: end;
  display: block grid;
  height: calc(var(--_triangle-height) * var(--vunit));
  background-color: var(--color-gray-100);
}
.p-home__solution > .l-background .triangle {
  display: block grid;
  width: 100%;
  height: calc(var(--_triangle-height) * var(--vunit));
  clip-path: polygon(0 0, 100% 0, 100% calc(20 * var(--vunit)), 50% 100%, 0% calc(20 * var(--vunit)));
  background-color: var(--color-white);
  translate: 0 calc(-1 * var(--vunit));
}
.p-home__solution > .p-home__solution__inner {
  place-content: center;
}
.p-home__solution > .p-home__solution__inner .lead {
  --_txt-text-align: center;
  --_txt-font-weight: var(--fw-bold);
}
.p-home__solution > .p-home__solution__inner .lead02 {
  margin-top: calc(3 * var(--vunit));
}
.p-home__solution > .p-home__solution__inner .l-btn {
  margin-top: calc(33 * var(--vunit));
}
.p-home__sec02__inner .grid-list {
  display: block grid;
  grid-auto-flow: row;
  row-gap: calc(80 * var(--vunit));
}
.p-home__sec02__inner .grid-item {
  display: block grid;
  grid-template: var(--_grid-template-col2);
}
.p-home__sec02__inner .grid-item .grid-content {
  grid-area: content;
  display: block grid;
  -ms-flex-line-pack: center;
      align-content: center;
  height: 100%;
  background-color: var(--color-white);
  z-index: 1;
}
.p-home__sec02__inner .grid-item .grid-content .num {
  font-family: var(--font-Roboto);
  color: var(--color-gray-700);
  letter-spacing: 0.002rem;
}
.p-home__sec02__inner .grid-item .grid-content .ttl {
  margin-left: calc(2 * var(--vunit));
  letter-spacing: 0.05rem;
}
.p-home__sec02__inner .grid-item .grid-content .ttl strong {
  color: var(--color-green-600);
}
.p-home__sec02__inner .grid-item .grid-content .lead {
  margin-left: calc(2 * var(--vunit));
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.005rem;
}
.p-home__sec02__inner .grid-item .grid-visual {
  grid-area: visual;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 700/420;
  margin-inline: var(--_visual-side);
  z-index: -1;
  overflow: clip;
}

.p-home__about {
  display: block grid;
}
.p-home__about .l-background .c-fig {
  height: 100%;
}
.p-home__about .l-background img {
  width: 100vw;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-home__about__inner {
  -ms-flex-item-align: center;
      align-self: center;
}
.p-home__about__inner .sec-heading .ttl {
  --_ttl-col-font: var(--color-font-w);
}
.p-home__about__inner .sec-heading .lead {
  --_txt-col-font: var(--color-font-w);
}

.p-home__achievements {
  background-color: var(--color-white);
  margin-inline: auto;
}
.p-home__achievements .l-inner {
  --_im: 0;
  text-align: center;
}
.p-home__achievements .l-inner .lead strong {
  font-family: var(--font-Roboto);
}
.p-home__achievements .flex-logo-list {
  --_flow: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: calc(1 * var(--vunit)) solid var(--color-gray-600);
}
.p-home__achievements .flex-logo-list .c-fig {
  width: revert-layer;
  height: revert-layer;
}
.p-home__achievements .c-txt--note {
  --_txt-text-align: end;
  margin-top: calc(7 * var(--vunit));
  width: 100%;
}
.p-home__achievements .l-btn {
  margin-top: calc(48 * var(--vunit));
}
.p-home__sec04 .l-background .c-fig {
  height: 100%;
  width: 100vw;
}
.p-home__sec04 .l-background img {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-home__sec04__inner {
  --layout-inner-pc: 1200;
}
.p-home__sec04__inner .sec-heading > .ttl {
  --_ttl-col-font: var(--color-font-w);
}
.p-home__sec04__inner .sec-heading > .lead {
  --_txt-col-font: var(--color-font-w);
  --_txt-text-align: center;
  margin-top: calc(34 * var(--vunit));
}
.p-home__sec04__inner .grid-itemlist {
  display: block grid;
  grid-auto-flow: row;
  row-gap: calc(24 * var(--vunit));
  margin-top: calc(53 * var(--vunit));
}
.p-home__sec04__inner .grid-itemlist .grid-item {
  display: block grid;
  background-color: var(--color-white);
}
.p-home__sec04__inner .grid-itemlist .grid-item .icon {
  grid-area: icon;
  place-self: center;
}
.p-home__sec04__inner .grid-itemlist .grid-item .ttl {
  grid-area: title;
  letter-spacing: 0.015rem;
}
.p-home__sec04__inner .grid-itemlist .grid-item .lead {
  grid-area: lead;
  letter-spacing: 0.005rem;
  margin-left: calc(2 * var(--vunit));
}
.p-home__sec05__inner {
  --layout-inner-pc: 1000;
}
.p-home__sec06__inner {
  --layout-inner-pc: 1200;
}
.p-home__sec06__inner .sec-heading .lead {
  --_txt-col-font: var(--color-font-w);
  --_txt-text-align: center;
}
.p-home__sec06__inner .sec-heading .ttl {
  --_ttl-col-font: var(--color-font-w);
  margin-top: calc(25 * var(--vunit));
  text-align: center;
}
.p-home__sec06__inner .grid-cardlist {
  display: block grid;
  grid-auto-flow: row;
  -webkit-column-gap: calc(40 * var(--vunit));
     -moz-column-gap: calc(40 * var(--vunit));
          column-gap: calc(40 * var(--vunit));
  row-gap: calc(24 * var(--vunit));
  margin-top: calc(62 * var(--vunit));
}
.p-home__sec06__inner .grid-cardlist .grid-card {
  display: block grid;
  place-content: center;
  place-items: center;
  background-color: var(--color-white);
}
.p-home__sec06__inner .grid-cardlist .grid-card .ttl {
  grid-area: logo;
  align-self: center;
  width: revert-layer;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-home__sec06__inner .grid-cardlist .grid-card .lead {
  grid-area: lead;
  align-self: start;
  text-align: center;
  font-size: 1.6rem;
  font-weight: var(--fw-bold);
  line-height: 1.875;
  letter-spacing: 0rem;
}
.p-home__sec06__inner .grid-cardlist .grid-card .lead p + p {
  margin-top: calc(14 * var(--vunit));
}
.p-home__sec07__inner > .sec-lead {
  --_txt-text-align: center;
  font-weight: var(--fw-bold);
}

.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-headerbar-cv {
  display: block grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
.p-headerbar-cv.is-active {
  background-color: var(--color-white-09);
  -webkit-box-shadow: 0 0 calc(40 * var(--vunit)) 0 var(--shadow02);
          box-shadow: 0 0 calc(40 * var(--vunit)) 0 var(--shadow02);
}

.p-headerbar-cv__logo {
  grid-area: logo;
  display: block grid;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-headerbar-cv__logo > a {
  display: block grid;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-headerbar-cv__logo .site-title {
  display: block grid;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: block grid;
  grid-template: "stack" minmax(0, auto)/1fr;
}
.p-headerbar-cv__logo .logo, .p-headerbar-cv__logo .logo-color {
  width: 100%;
  grid-area: stack;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 196/25;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.p-headerbar-cv.is-active .p-headerbar-cv__logo .logo {
  visibility: hidden;
  opacity: 0;
}
.p-headerbar-cv.is-active .p-headerbar-cv__logo .logo-color {
  visibility: visible;
  opacity: 1;
}
.p-headerbar-cv__nav {
  grid-area: nav;
  display: block grid;
  grid-auto-flow: column;
}

.p-headerbar-cv__btnmenu {
  display: block grid;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  justify-items: center;
}
.p-headerbar-cv__btnmenu [class*=c-btn] {
  color: var(--color-font-w);
}
.p-footer-copyright {
  display: block grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--color-black-600);
  padding-top: calc(33 * var(--vunit));
  padding-bottom: calc(41 * var(--vunit));
}
.p-footer-copyright > .l-inner {
  --layout-inner-pc: 1677;
  font-family: var(--font-Lato);
}
.p-footer-copyright > .l-inner .copy {
  font-size: 1.2rem;
  line-height: 2.3333333333;
  letter-spacing: 0.025rem;
}
.p-footer-cta-btn-section {
  display: block grid;
}
.p-footer-cta-btn {
  position: relative;
  display: block grid;
  grid-template: "stack" minmax(0, auto)/1fr;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.p-footer-cta-btn > * {
  display: block grid;
  grid-area: stack;
}
.p-footer-cta-btn:focus .p-footer-cta-btn__background:before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left;
          transform-origin: left;
}

.p-footer-cta-btn__background {
  background-color: var(--color-orange-600);
  width: 100%;
  height: 100%;
  z-index: -1;
}
.p-footer-cta-btn__background:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--shadow01);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  z-index: 1;
}

.p-footer-cta-btn__content {
  align-self: center;
  display: block grid;
  margin-inline: auto;
  -webkit-column-gap: calc(92 * var(--vunit));
     -moz-column-gap: calc(92 * var(--vunit));
          column-gap: calc(92 * var(--vunit));
  color: var(--color-font-w);
}
.p-footer-cta-btn__content .ttl {
  grid-area: ttl;
  font-family: var(--font-Roboto);
}
.p-footer-cta-btn__content .lead {
  grid-area: lead;
}
.p-footer-cta-btn__content .l-btn {
  grid-area: btn;
  align-self: end;
  text-align: center;
}
.p-page {
  --_adjust-y: 0;
  display: block grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  padding-top: calc((var(--header-height) + var(--_adjust-y)) * var(--vunit));
}
.p-page a:not([data-animated]:not([data-animated=end])) {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.p-page a:focus {
  opacity: var(--btn-hover-opacity);
}

.p-page-footer-navlist {
  padding-bottom: calc(120 * var(--rrate) * var(--vunit));
}
.p-page-footer-joblist .list {
  display: block grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(28 * var(--vunit));
}

.p-mv-home-message {
  display: block grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  display: block grid;
  grid-template: "stack" minmax(-webkit-max-content, 1fr)/1fr;
  grid-template: "stack" minmax(max-content, 1fr)/1fr;
}
.p-mv-home-message > * {
  grid-area: stack;
  display: block grid;
}
.p-mv-home-message > .l-background {
  position: relative;
  background-color: var(--color-black-500);
}
.p-mv-home-message > .l-background .c-fig {
  height: 100%;
  opacity: 1;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
.p-mv-home-message > .l-background img {
  width: 100vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@starting-style {
  .p-mv-home-message > .l-background .c-fig {
    opacity: 0;
  }
}
.p-mv-home-message .p-mv-home-message__inner {
  display: block grid;
}
.p-mv-home-message .grid-content {
  --_flow: column;
  justify-self: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  color: var(--color-font-w);
}
.p-mv-home-message .grid-content .lead-green {
  color: var(--color-green-key);
}
.p-mv-home-message .grid-content .lead-green span {
  display: inline flow-root;
  position: relative;
}
.p-mv-home-message .grid-content .lead-green span.js-anim-active:not(.is-anim-active):before {
  visibility: hidden;
}
.p-mv-home-message .grid-content .lead-green span:before {
  position: absolute;
  content: "・";
  scale: 1;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-transition: opacity 0.5s, scale 2s ease, -webkit-transform 0.5s !important;
  transition: opacity 0.5s, scale 2s ease, -webkit-transform 0.5s !important;
  transition: transform 0.5s, opacity 0.5s, scale 2s ease !important;
  transition: transform 0.5s, opacity 0.5s, scale 2s ease, -webkit-transform 0.5s !important;
}
.p-mv-home-message .grid-content .title-block {
  --_sx: calc(20 * var(--vw));
  display: inline-block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  clip-path: polygon(calc(0% + var(--_sx)) 0%, 100% 0%, calc(100% - var(--_sx)) 100%, 0% 100%);
}
.p-mv-home-message .grid-content .lead-bg-green {
  position: relative;
  display: inline-block;
  padding-block: calc(7 * var(--vw)) calc(14 * var(--vw));
  overflow-y: clip;
  will-change: overflow-y, transform;
  width: 100%;
}
.p-mv-home-message .grid-content .lead-bg-green span {
  --_duration: 1s;
  display: inline-block;
  letter-spacing: 0.005rem;
}
.p-mv-home-message .grid-content .lead-bg-green:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background-color: var(--color-green-550);
  z-index: -1;
  -webkit-transition: width 1s ease;
  transition: width 1s ease;
  -webkit-transition-delay: 100ms;
          transition-delay: 100ms;
}

body.is-mac .p-mv-home-message__inner .grid-content .lead-green span.js-anim-active:not(.is-anim-active):before {
  opacity: 0;
}
body.is-mac .p-mv-home-message__inner .grid-content .lead-green span:before {
  scale: 1 !important;
  opacity: 1;
}
body.is-mac .p-mv-home-message__inner .grid-content .lead-bg-green {
  will-change: transform;
}
body.is-mac .p-mv-home-message__inner .grid-content .lead-bg-green:before {
  will-change: transform;
}

/*
//  javascript有効な時のみ
@media (scripting: enabled) {
  .p-mv-home-message__inner{
    .grid-content{
      .lead-bg-green{
        //  背景と文章を分離し位置調整可能にする
        &:not([data-animated]){
          span{
            color: transparent;
          }
          &:before{
            width: 0%;
          }
        }
      }
    }
  }
}
*/
.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);
    --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;
  }
  :where(.l-btn--left-sp, .l-btn--start-sp) {
    --_grid-width: fit-content;
    -webkit-margin-end: auto;
            margin-inline-end: auto;
  }
  :where(.l-btn--right-sp, .l-btn--end-sp) {
    --_grid-width: fit-content;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
  }
  .l-background__bg-fill-diag {
    width: 100%;
    clip-path: polygon(90% 0, 100% 0, 100% 100%, 60% 100%);
    height: 100%;
  }
  .l-followbottombar .l-inner {
    grid-template: "logo logo" minmax(calc(20 * var(--vunit)), auto) "btn1 btn2" minmax(calc(20 * var(--vunit)), auto)/1fr 1fr;
    row-gap: calc(5 * var(--vunit));
  }
  .l-followbottombar [class*=c-btn] {
    min-width: unset;
  }
  .c-btn-box-list {
    grid-auto-flow: row;
  }
  .c-btn-box {
    --_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-box.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-box.c-btn--l {
    --_btn-width: 280;
    --_btn-height: 70;
    --_btn-padding: 30;
  }
  .c-btn-box.c-btn--l-p80 {
    --_btn-width: 280;
    --_btn-height: 70;
    --_btn-padding: 30;
  }
  .c-btn-box.c-btn--ll {
    --_btn-width: 280;
    --_btn-height: 70;
    --_btn-padding: 30;
  }
  .c-banner {
    width: 100%;
  }
  .c-banner .banner img {
    width: 100%;
  }
  .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 > summary .q {
    margin-top: calc(-2 * 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-angle-arrow-right:after {
    --_tickness: 2;
    --_size: 8;
  }
  .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;
  }
  [class*=c-ttl--] {
    --_ttl-font-size: var(--_ttl-font-size-sp);
    --_ttl-line-height: var(--_ttl-line-height-sp);
    --_ttl-letter-spacing: var(--_ttl-letter-spacing-sp, --_ttl-letter-spacing-pc);
    --_ttl-text-align: start;
  }
  [class*=c-txt--] {
    --_txt-font-size: var(--_txt-font-size-sp);
    --_txt-line-height: var(--_txt-line-height-sp);
    --_txt-text-align: start;
  }
  .c-txtdec-frame,
  [class*=c-txtdec-frame--] {
    padding-block: calc(0 * var(--vunit)) calc(4 * var(--vunit));
    margin-block: calc(0 * var(--vunit)) calc(-6 * var(--vunit));
    padding-inline: calc(12 * var(--vunit)) calc(12 * var(--vunit));
  }
  .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-mta120 {
    --_mt: calc( 120 * var(--spr));
  }
  .u-mt-pc41 {
    --_mt: calc( 41 * var(--spr));
  }
  .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;
  }
  body.is-mac .p-home__sec01 {
    margin-top: calc(-1 * var(--vunit));
  }
  .p-home__worries > .l-background img {
    -o-object-position: 2% 0%;
       object-position: 2% 0%;
  }
  .p-home__worries > .p-home__worries__inner {
    -ms-flex-item-align: center;
        align-self: center;
    padding-block: calc(0 * var(--vunit)) calc(100 * var(--vunit));
  }
  .p-home__worries > .p-home__worries__inner .grid-content .ttl {
    text-align: center;
  }
  .p-home__worries > .p-home__worries__inner .grid-content .ttl span {
    font-size: 3.6rem;
    font-weight: var(--fw-bold);
    line-height: 1.2222222222;
  }
  .p-home__worries > .p-home__worries__inner .grid-content .lead {
    margin-top: calc(40 * var(--vunit));
  }
  .p-home__solution > .l-background {
    --_triangle-height: calc(80 + 20);
  }
  .p-home__solution > .p-home__solution__inner {
    padding-block: calc(80 * var(--vunit)) calc(120 * var(--vunit));
  }
  .p-home__solution > .p-home__solution__inner .lead02 strong {
    display: inline flow-root;
    padding-block: calc(10 * var(--vunit));
    text-align: center;
  }
  .p-home__sec02 {
    padding-block: calc(60 * var(--vunit));
  }
  .p-home__sec02__inner {
    --layout-inner-margin-sp: 0;
  }
  .p-home__sec02__inner .grid-list li {
    --_grid-template-col2:
      "visual" minmax( 0, auto)
      "content" minmax( calc(20 * var(--vunit)), auto) /
      1fr;
    --_visual-side: 0;
  }
  .p-home__sec02__inner .grid-item .grid-content {
    padding-block: calc(20 * var(--vunit)) calc(30 * var(--vunit));
    padding-inline: calc(20 * var(--vunit)) calc(20 * var(--vunit));
    margin-inline: calc(20 * var(--vunit));
  }
  .p-home__sec02__inner .grid-item .grid-content .num {
    font-size: 2.1rem;
    line-height: 1.0714285714;
  }
  .p-home__sec02__inner .grid-item .grid-content .ttl {
    margin-top: calc(8 * var(--vunit));
    font-size: calc(24 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .p-home__sec02__inner .grid-item .grid-content .ttl strong {
    font-size: calc(40 * var(--rrate) * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.4;
  }
  .p-home__sec02__inner .grid-item .grid-content .lead {
    margin-top: calc(16 * var(--vunit));
  }
  .p-home__sec02__inner .grid-item .grid-content.content04 .ttl {
    font-size: calc(23 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.7391304348;
  }
  .p-home__sec02__inner .grid-item .grid-visual {
    margin-bottom: calc(-40 * var(--vunit));
  }
  .p-home__sec03 {
    padding-block: 0 calc(60 * var(--vw));
  }
  .p-home__about {
    height: calc(400 * var(--vw));
  }
  .p-home__about .l-background {
    height: calc(400 * var(--vw));
  }
  .p-home__about__inner {
    padding-block: calc(80 * var(--vunit)) calc(120 * var(--vunit));
  }
  .p-home__about__inner .sec-heading .lead {
    margin-top: calc(20 * var(--vunit));
  }
  .p-home__achievements {
    margin-top: calc(-40 * var(--vunit));
    inline-size: calc(100% - 20 * var(--vunit));
    padding-inline: calc(20 * var(--vunit));
    padding-block: calc(40 * var(--vunit)) calc(40 * var(--vunit));
  }
  .p-home__achievements .l-inner .lead {
    margin-top: calc(20 * var(--vunit));
  }
  .p-home__achievements .l-inner .lead strong {
    font-size: 4.8rem;
    font-weight: var(--fw-bold);
    line-height: 0.625;
    letter-spacing: -0.2rem;
  }
  .p-home__achievements .flex-logo-list {
    -webkit-column-gap: calc(0 * var(--vunit));
       -moz-column-gap: calc(0 * var(--vunit));
            column-gap: calc(0 * var(--vunit));
    margin-top: calc(30 * var(--vunit));
    padding-top: calc(20 * var(--vunit));
  }
  .p-home__sec04 {
    padding-block: calc(80 * var(--vunit)) calc(0 * var(--vunit));
  }
  .p-home__sec04 .l-background img {
    height: 100%;
  }
  .p-home__sec04__inner {
    padding-block: 0 calc(240 * var(--vunit));
  }
  .p-home__sec04__inner .grid-itemlist .grid-item {
    grid-template: "icon" minmax(0, auto) "title" minmax(0, auto) "lead" minmax(0, auto)/1fr;
    row-gap: calc(15 * var(--vunit));
    padding-block: calc(30 * var(--vunit)) calc(30 * var(--vunit));
    padding-inline: calc(20 * var(--vunit)) calc(20 * var(--vunit));
  }
  .p-home__sec04__inner .grid-itemlist .grid-item .ttl {
    font-size: 2.4rem;
    font-weight: var(--fw-bold);
    line-height: 1.6666666667;
  }
  .p-home__sec04__inner .grid-itemlist .grid-item .lead {
    font-size: 1.6rem;
    line-height: 1.875;
  }
  .p-home__sec-banner.is-middle {
    margin-top: calc(-160 * var(--vunit));
  }
  .p-home__sec05 {
    padding-block: calc(80 * var(--vunit)) calc(80 * var(--vunit));
  }
  .p-home__sec05__inner .c-details-content {
    margin-top: calc(24 * var(--vunit));
  }
  .p-home__sec06 {
    padding-block: calc(80 * var(--vunit)) calc(80 * var(--vunit));
  }
  .p-home__sec06__inner .grid-cardlist .grid-card {
    grid-template: "logo" minmax(0, auto) "lead" minmax(0, 1fr)/1fr;
    padding-block: calc(28 * var(--vunit)) calc(48 * var(--vunit));
    padding-inline: calc(24 * var(--vunit));
  }
  .p-home__sec06__inner .grid-cardlist .grid-card .ttl {
    padding-block: calc(30 * var(--vunit));
  }
  .p-home__sec07 {
    padding-block: calc(80 * var(--vunit)) calc(80 * var(--vunit));
  }
  .p-home__sec07__inner > .sec-ttl {
    margin-top: calc(20 * var(--vunit));
  }
  .p-home__sec07__inner .grid-form iframe {
    height: calc(1300 * var(--vunit)) !important;
  }
  .p-img--logo- {
    width: 100%;
    max-width: calc(307 * var(--vunit));
  }
  .p-headerbar-cv {
    background-color: var(--color-white-09);
    -webkit-box-shadow: 0 0 calc(40 * var(--vunit)) 0 var(--shadow02);
            box-shadow: 0 0 calc(40 * var(--vunit)) 0 var(--shadow02);
    grid-template: "logo nav" minmax(calc(20 * var(--vunit)), auto)/minmax(-webkit-max-content, 1fr) minmax(-webkit-max-content, 1fr);
    grid-template: "logo nav" minmax(calc(20 * var(--vunit)), auto)/minmax(max-content, 1fr) minmax(max-content, 1fr);
    gap: calc(10 * var(--vunit));
    padding-block: calc(10 * var(--vunit));
    padding-inline: calc(20 * var(--vunit));
  }
  .p-headerbar-cv__logo .logo, .p-headerbar-cv__logo .logo-color {
    max-width: calc(100 * var(--vunit));
  }
  .p-headerbar-cv__logo .logo {
    visibility: hidden;
    opacity: 0;
  }
  .p-headerbar-cv__logo .logo-color {
    visibility: visible;
    opacity: 1;
  }
  .p-headerbar-cv__nav {
    grid-auto-flow: row;
    align-self: start;
  }
  .p-headerbar-cv__btnmenu {
    grid-auto-flow: column;
    gap: calc(6 * 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-footer-cta-btn__content {
    padding-block: calc(80 * var(--vunit));
    padding-inline: calc(20 * var(--vunit));
    grid-template: "ttl" minmax(calc(20 * var(--vunit)), auto) "lead" minmax(calc(20 * var(--vunit)), auto) "btn" minmax(calc(20 * var(--vunit)), auto)/1fr;
    row-gap: calc(20 * var(--vunit));
  }
  .p-footer-cta-btn__content .ttl {
    font-size: 4.8rem;
    font-weight: var(--fw-bold);
    line-height: 1.0416666667;
    letter-spacing: 0rem;
  }
  .p-footer-cta-btn__content .lead {
    font-size: 1.6rem;
    line-height: 1.5;
    -ms-flex-item-align: center;
        align-self: center;
  }
  .p-page-header-jumplist {
    margin-top: calc(60 * var(--vunit));
  }
  .p-page-footer-navlist {
    padding-top: calc(60 * var(--vunit));
  }
  .p-page-footer-joblist {
    padding-top: calc(60 * var(--vunit));
    padding-bottom: calc(60 * var(--vunit));
  }
  .p-mv-home-message {
    height: 74vh;
  }
  .p-mv-home-message > .l-background img {
    -o-object-position: 90% 0;
       object-position: 90% 0;
    height: 101%;
  }
  .p-mv-home-message > .l-background {
    height: 100%;
  }
  .p-mv-home-message .grid-content {
    margin-top: 15vh;
    width: 100dvi;
  }
  .p-mv-home-message .grid-content .lead-head {
    font-size: calc(20 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.8;
    letter-spacing: 0.1rem;
  }
  .p-mv-home-message .grid-content .lead-green {
    margin-top: calc(8 * var(--vw));
    font-size: calc(30 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.4666666667;
    letter-spacing: 0.01rem;
  }
  .p-mv-home-message .grid-content .lead-green span.js-anim-active:not(.is-anim-active):before {
    scale: 2;
  }
  .p-mv-home-message .grid-content .lead-green span:before {
    top: calc(-10 * var(--vw));
    left: 12%;
    font-size: calc(24 * var(--vw));
    line-height: 1;
  }
  .p-mv-home-message .grid-content .title-block {
    width: 100%;
    margin-inline: auto;
  }
  .p-mv-home-message .grid-content .lead-bg-green {
    margin-left: calc(0 * var(--vw));
    margin-top: calc(20 * var(--vw));
  }
  .p-mv-home-message .grid-content .lead-bg-green span {
    font-size: calc(40 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.25;
  }
  .p-mv-home-message .grid-content .lead-bg-green:before {
    width: 100%;
    margin-left: 0;
  }
}
@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(100 * var(--vunit));
    padding-right: calc(100 * var(--vunit));
  }
  .l-grid--col2 {
    --_flow: column;
    --_columns: 1fr 1fr;
  }
  .l-grid--col3 {
    --_flow: column;
    --_columns: 1fr 1fr 1fr;
  }
  .l-grid--col4 {
    --_flow: column;
    --_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;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
  }
  .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-followbottombar .l-inner {
    grid-template: "logo btn1 btn2" minmax(calc(20 * var(--vunit)), auto)/1fr auto auto;
  }
  .c-btn-box-list {
    grid-auto-flow: column;
  }
  .c-btn-box.c-btn--l {
    --_btn-width: 280;
    --_btn-height: 80;
    --_btn-padding: 64;
    font-size: 2rem;
    font-weight: var(--fw-bold);
    line-height: 1.2;
  }
  .c-btn-box.c-btn--l-p80 {
    --_btn-width: 280;
    --_btn-height: 80;
    --_btn-padding: 80;
    font-size: 2rem;
    font-weight: var(--fw-bold);
    line-height: 1.2;
  }
  .c-btn-box.c-btn--ll {
    --_btn-width: 380;
    --_btn-height: 80;
    --_btn-padding: 64;
    font-size: 2rem;
    font-weight: var(--fw-bold);
    line-height: 1.2;
  }
  .c-details-qa > summary {
    gap: calc(var(--_summary-gap, 15) * var(--vunit));
    padding-inline: calc(var(--_padding-inline-pc, 17) * var(--vunit));
    padding-block: calc(9 * var(--vunit)) calc(9 * var(--vunit));
  }
  .c-details-qa > summary .q {
    margin-top: calc(13 * var(--vunit));
  }
  .c-details-qa > .content {
    padding-left: calc(17 * var(--vunit));
    padding-right: calc(20 * var(--vunit));
    gap: calc(var(--_summary-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;
  }
  [class*=c-ttl--] {
    --_ttl-font-size: var(--_ttl-font-size-pc);
    --_ttl-line-height: var(--_ttl-line-height-pc);
    --_ttl-letter-spacing: var(--_ttl-letter-spacing-pc);
  }
  [class*=c-txt--] {
    --_txt-font-size: var(--_txt-font-size-pc);
    --_txt-line-height: var(--_txt-line-height-pc);
  }
  .c-txtdec-frame,
  [class*=c-txtdec-frame--] {
    padding-block: calc(12 * var(--vunit)) calc(18 * var(--vunit));
    margin-block: calc(0 * var(--vunit)) calc(-11 * var(--vunit));
    padding-inline: calc(12 * var(--vunit)) calc(12 * var(--vunit));
  }
  .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));
    -webkit-backdrop-filter: blur(calc(50 * var(--vunit)));
            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-mta120 {
    --_mt: 120;
  }
  .u-mt-pc94 {
    --_mt: 94;
  }
  .u-mt-pc98 {
    --_mt: 98;
  }
  .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-home__worries {
    place-items: center;
  }
  .p-home__worries > .l-background img {
    height: 100%;
  }
  .p-home__worries > .p-home__worries__inner {
    -ms-flex-item-align: center;
        align-self: center;
    padding-block: calc(156 * var(--vw)) calc(150 * var(--vw));
  }
  .p-home__worries > .p-home__worries__inner .grid-content .ttl span {
    font-size: 6.8rem;
    font-weight: var(--fw-bold);
    line-height: 0.7352941176;
  }
  .p-home__worries > .p-home__worries__inner .grid-content .lead {
    margin-top: calc(48 * var(--vunit));
  }
  .p-home__solution > .l-background {
    --_triangle-height: calc(153 + 20 );
    height: calc(520 * var(--vunit));
  }
  .p-home__solution > .p-home__solution__inner {
    padding-top: calc(80 * var(--vunit));
  }
  .p-home__sec02 {
    padding-block: calc(116 * var(--vunit)) calc(112 * var(--vunit));
  }
  .p-home__sec02__inner .grid-list {
    margin-left: calc(32 * var(--vunit));
  }
  .p-home__sec02__inner .grid-list li:nth-child(2n+1) {
    --_grid-template-col2:
      "      . visual" minmax( 0, 1fr)
      "content visual" minmax( calc(352 * var(--vunit)), auto)
      "      . visual" minmax( 0, 1fr) /
      calc(620 * var(--vunit)) calc(580 * var(--vunit));
    --_visual-side: calc( -120 * var(--vunit) ) 0;
  }
  .p-home__sec02__inner .grid-list li:nth-child(2n+0) {
    --_grid-template-col2:
      "visual .      " minmax( 0, 1fr)
      "visual content" minmax( calc(352 * var(--vunit)), auto)
      "visual .      " minmax( 0, 1fr) /
        calc(580 * var(--vunit)) calc(620 * var(--vunit));
    --_visual-side: 0 calc( -120 * var(--vunit) );
  }
  .p-home__sec02__inner .grid-item .grid-content {
    padding-block: calc(20 * var(--vunit)) calc(20 * var(--vunit));
    padding-inline: calc(37 * var(--vunit)) calc(44 * var(--vunit));
  }
  .p-home__sec02__inner .grid-item .grid-content .num {
    font-size: 2.8rem;
    line-height: 1.0714285714;
  }
  .p-home__sec02__inner .grid-item .grid-content .ttl {
    margin-top: calc(16 * var(--vunit));
    font-size: calc(36 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.5555555556;
  }
  .p-home__sec02__inner .grid-item .grid-content .ttl strong {
    font-size: calc(50 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.12;
  }
  .p-home__sec02__inner .grid-item .grid-content .lead {
    margin-top: calc(26 * var(--vunit));
  }
  .p-home__sec03 {
    padding-block: 0 calc(120 * var(--vw));
  }
  .p-home__about {
    height: calc(428 * var(--vw));
  }
  .p-home__about .l-background {
    height: calc(428 * var(--vw));
  }
  .p-home__about__inner {
    padding-block: calc(80 * var(--vw)) calc(122 * var(--vw));
  }
  .p-home__about__inner .sec-heading .lead {
    margin-top: calc(32 * var(--vunit));
  }
  .p-home__achievements {
    margin-top: calc(-90 * var(--vunit));
    inline-size: calc(1200 * var(--vunit));
    padding-inline: calc(60 * var(--vunit));
    padding-block: calc(67 * var(--vunit)) calc(80 * var(--vunit));
  }
  .p-home__achievements .l-inner .lead {
    margin-top: calc(39 * var(--vunit));
  }
  .p-home__achievements .l-inner .lead strong {
    font-size: calc(62 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 0.4838709677;
    letter-spacing: -0.2rem;
  }
  .p-home__achievements .flex-logo-list {
    -webkit-column-gap: calc(20 * var(--vunit));
       -moz-column-gap: calc(20 * var(--vunit));
            column-gap: calc(20 * var(--vunit));
    margin-top: calc(45 * var(--vunit));
    padding-top: calc(25 * var(--vunit));
  }
  .p-home__sec04 {
    padding-block: calc(116 * var(--vunit)) calc(204 * var(--vunit));
  }
  .p-home__sec04 .l-background img {
    height: calc(1066 * var(--vunit));
  }
  .p-home__sec04__inner {
    padding-block: 0 calc(110 * var(--vunit));
  }
  .p-home__sec04__inner .grid-itemlist .grid-item {
    grid-template: "icon title" minmax(0, auto) "icon lead" minmax(0, auto)/minmax(calc(80 * var(--vunit)), auto) 1fr;
    -webkit-column-gap: calc(47 * var(--vunit));
       -moz-column-gap: calc(47 * var(--vunit));
            column-gap: calc(47 * var(--vunit));
    row-gap: calc(18 * var(--vunit));
    padding-block: calc(38 * var(--vunit)) calc(43 * var(--vunit));
    padding-inline: calc(50 * var(--vunit)) calc(38 * var(--vunit));
  }
  .p-home__sec04__inner .grid-itemlist .grid-item .ttl {
    font-size: calc(30 * var(--vunit));
    font-weight: var(--fw-bold);
    line-height: 1.4666666667;
  }
  .p-home__sec04__inner .grid-itemlist .grid-item .lead {
    font-size: calc(16 * var(--vunit));
    line-height: 1.875;
  }
  .p-home__sec-banner.is-middle {
    margin-top: calc(-195 * var(--vunit));
  }
  .p-home__sec05 {
    padding-block: calc(116 * var(--vunit)) calc(120 * var(--vunit));
  }
  .p-home__sec05__inner .c-details-content {
    margin-top: calc(34 * var(--vunit));
  }
  .p-home__sec06 {
    padding-block: calc(110 * var(--vunit)) calc(120 * var(--vunit));
  }
  .p-home__sec06__inner .grid-cardlist .grid-card {
    grid-template: "logo" minmax(calc(108 * var(--vunit)), auto) "lead" minmax(calc(0 * var(--vunit)), 1fr)/1fr;
    min-height: calc(378 * var(--vunit));
    padding-block: calc(28 * var(--vunit));
    padding-inline: calc(40 * var(--vunit));
  }
  .p-home__sec07 {
    padding-block: calc(110 * var(--vunit)) calc(140 * var(--vunit));
  }
  .p-home__sec07__inner > .sec-ttl {
    margin-top: calc(28 * var(--vunit));
  }
  .p-img--logo- {
    width: calc(307 * var(--vunit));
  }
  .p-headerbar-cv {
    grid-template: "logo nav" minmax(calc(20 * var(--vunit)), auto)/minmax(-webkit-max-content, 1fr) minmax(-webkit-max-content, 1fr);
    grid-template: "logo nav" minmax(calc(20 * var(--vunit)), auto)/minmax(max-content, 1fr) minmax(max-content, 1fr);
    padding-block: calc(20 * var(--vunit));
    padding-inline: calc(50 * var(--vunit));
  }
  .p-headerbar-cv__logo .logo, .p-headerbar-cv__logo .logo-color {
    max-width: calc(196 * var(--vunit));
  }
  .p-headerbar-cv__logo .logo-color {
    visibility: hidden;
    opacity: 0;
  }
  .p-headerbar-cv__nav {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    justify-self: end;
    gap: calc(29 * var(--vunit));
  }
  .p-headerbar-cv__btnmenu {
    grid-auto-flow: column;
    gap: calc(20 * var(--vunit));
  }
  .p-footer-copyright > .l-inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
  }
  .p-footer-cta-btn {
    min-height: calc(460 * var(--vunit));
  }
  .p-footer-cta-btn__content {
    padding-top: calc(6 * var(--vunit));
    grid-template: "ttl btn" minmax(calc(20 * var(--vunit)), auto) "lead btn" minmax(calc(20 * var(--vunit)), auto)/minmax(-webkit-max-content, 1fr) minmax(-webkit-max-content, auto);
    grid-template: "ttl btn" minmax(calc(20 * var(--vunit)), auto) "lead btn" minmax(calc(20 * var(--vunit)), auto)/minmax(max-content, 1fr) minmax(max-content, auto);
  }
  .p-footer-cta-btn__content .ttl {
    font-size: 7rem;
    font-weight: var(--fw-bold);
    line-height: 0.5428571429;
    letter-spacing: 0rem;
  }
  .p-footer-cta-btn__content .lead {
    margin-top: calc(40 * var(--vunit));
    font-size: 1.8rem;
    line-height: 1.8888888889;
  }
  .p-page-header-jumplist {
    margin-top: calc(136 * var(--vunit));
  }
  .p-page-footer-navlist {
    padding-top: calc(77 * var(--vunit));
  }
  .p-page-footer-joblist {
    padding-top: calc(83 * var(--vunit));
    padding-bottom: calc(100 * var(--vunit));
  }
  .p-page-footer-joblist .list {
    grid-auto-flow: column;
  }
  .p-mv-home-message {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-mv-home-message > .l-background img {
    height: 100%;
  }
  .p-mv-home-message .p-mv-home-message__inner {
    padding-bottom: calc(139 * var(--vw));
    place-content: center;
  }
  .p-mv-home-message .grid-content {
    margin-top: calc(164 * var(--vw));
  }
  .p-mv-home-message .grid-content .lead-head {
    font-size: calc(40 * var(--vw));
    font-weight: var(--fw-bold);
    line-height: 1.35;
    letter-spacing: 0.1rem;
  }
  .p-mv-home-message .grid-content .lead-green {
    margin-top: calc(16 * var(--vw));
    font-size: calc(71 * var(--vw));
    font-weight: var(--fw-bold);
    line-height: 1.8309859155;
    letter-spacing: 0.01rem;
  }
  .p-mv-home-message .grid-content .lead-green span.js-anim-active:not(.is-anim-active):before {
    scale: 3;
  }
  .p-mv-home-message .grid-content .lead-green span:before {
    top: calc(-1 * var(--vw));
    left: 28%;
    font-size: calc(36 * var(--vw));
    line-height: 1;
  }
  .p-mv-home-message .grid-content .title-block {
    width: 100%;
  }
  .p-mv-home-message .grid-content .lead-bg-green {
    margin-top: calc(6 * var(--vw));
  }
  .p-mv-home-message .grid-content .lead-bg-green span {
    margin-left: calc(-40 * var(--vw));
    font-size: calc(98 * var(--vw));
    font-weight: var(--fw-bold);
    line-height: 1;
    white-space: nowrap;
  }
  .p-mv-home-message .grid-content .lead-bg-green:before {
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  :root {
    --vw: var(--vwl);
    --vunit: var(--vwl);
  }
  html {
    font-size: 0.6510416667vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1920px) {
  :root {
    --vunitw: var(--vw);
  }
}
@media screen and (max-width: 1280px) {
  :root {
    --header-height: var(--header-height-sp);
    --header-height-full: var(--header-height-full-sp);
  }
  .p-home__sec07__inner .grid-form iframe {
    height: calc(1050 * 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);
  }
  .u-pc-150 {
    display: none !important;
  }
  .p-home__sec07__inner .grid-form iframe {
    height: calc(860 * var(--vunit));
  }
}
@media screen and (min-width: 1921px) {
  :root {
    --vunitw: var(--vpx);
  }
  .p-home__sec07__inner .grid-form iframe {
    height: calc(900 * var(--vunit));
  }
}
@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 {
    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 (hover: hover) and (pointer: fine) {
  .l-grid--card-link:hover:has(.thumb) .thumb img {
    scale: var(--card-hover-thumb-scale);
  }
  a.c-btn-box:not(.js-btn-hover):hover > .bg::before {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .c-btn-box:has([class*=c-icon]):hover .c-icon--angle-arrow-down {
    scale: 1.2;
  }
  .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;
  }
  .p-footer-cta-btn:hover .p-footer-cta-btn__background:before {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .p-page a:hover {
    opacity: var(--btn-hover-opacity);
  }
}
@media (scripting: none) {
  .c-btn-box:focus {
    opacity: var(--btn-hover-opacity);
  }
  .c-details-qa[open] {
    --_icon-translate: 0 calc( 0 * var(--vunit));
    --_icon-rotate: -45deg;
  }
  .c-details-qa[open] .content {
    --_opacity: 1;
  }
  .p-headerbar-cv {
    background-color: var(--color-white-09);
    -webkit-box-shadow: 0 0 calc(40 * var(--vunit)) 0 var(--shadow02);
            box-shadow: 0 0 calc(40 * var(--vunit)) 0 var(--shadow02);
  }
  .p-headerbar-cv__logo .logo {
    -webkit-filter: brightness(0) saturate(100%) invert(21%) sepia(100%) saturate(7462%) hue-rotate(204deg) brightness(111%) contrast(104%);
            filter: brightness(0) saturate(100%) invert(21%) sepia(100%) saturate(7462%) hue-rotate(204deg) brightness(111%) contrast(104%);
    visibility: hidden;
    opacity: 0;
  }
  .p-headerbar-cv__logo .logo-color {
    visibility: visible;
    opacity: 1;
  }
  .js-imgcss img,
  .js-imgcss-area img {
    width: revert-layer;
    height: revert-layer;
  }
}
@media (scripting: none) and (hover: hover) and (pointer: fine) {
  .c-btn-box:hover {
    opacity: var(--btn-hover-opacity);
  }
}
@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);
  }
  .p-mv-home-message .grid-content .lead-bg-green.js-anim-fade--on:not([data-animated]) span {
    color: transparent;
  }
  .p-mv-home-message .grid-content .lead-bg-green.js-anim-fade--on:not([data-animated]):before {
    width: 0%;
  }
  .js-imgcss img,
  .js-imgcss-area img {
    width: calc(var(--_js-img-width) * var(--vunit));
    height: calc(var(--_js-img-height) * var(--vunit));
  }
  .js-btn-hover:focus .bg {
    width: 100%;
  }
  .js-btn-hover:focus .bg:before {
    left: -200%;
  }
  .js-btn-hover .bg {
    width: 100%;
  }
  .js-btn-hover .bg:before {
    content: "";
    position: absolute;
    top: 0;
    left: -300%;
    width: 400%;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(color-mix(in srgb, var(--color-orange-500) 0%, transparent)), color-stop(15%, color-mix(in srgb, var(--color-orange-500) 70%, transparent)), color-stop(25%, color-mix(in srgb, var(--color-orange-500) 100%, transparent)), color-stop(40%, color-mix(in srgb, var(--color-orange-500) 50%, transparent)), color-stop(50%, color-mix(in srgb, var(--color-orange-500) 0%, transparent)), color-stop(60%, color-mix(in srgb, var(--color-orange-700) 100%, transparent)), color-stop(75%, color-mix(in srgb, var(--color-orange-500) 0%, transparent)), color-stop(90%, color-mix(in srgb, var(--color-orange-500) 70%, transparent)), to(color-mix(in srgb, var(--color-orange-500) 100%, transparent)));
    background: linear-gradient(to right, color-mix(in srgb, var(--color-orange-500) 0%, transparent) 0%, color-mix(in srgb, var(--color-orange-500) 70%, transparent) 15%, color-mix(in srgb, var(--color-orange-500) 100%, transparent) 25%, color-mix(in srgb, var(--color-orange-500) 50%, transparent) 40%, color-mix(in srgb, var(--color-orange-500) 0%, transparent) 50%, color-mix(in srgb, var(--color-orange-700) 100%, transparent) 60%, color-mix(in srgb, var(--color-orange-500) 0%, transparent) 75%, color-mix(in srgb, var(--color-orange-500) 70%, transparent) 90%, color-mix(in srgb, var(--color-orange-500) 100%, transparent) 100%);
    z-index: 1;
    pointer-events: none;
  }
  .js-btn-hover.is-btn-transition .bg:before {
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
  }
  .js-btn-hover.is-btn-hover-out .bg:before {
    left: 0%;
  }
}
@media (prefers-reduced-motion: no-preference) and (scripting: enabled) {
  [class*=js-anim-]: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-][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: 1.0s;
    --_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.0;
    --_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;
  }
}
@media (scripting: enabled) and (hover: hover) and (pointer: fine) {
  .js-btn-hover:hover .bg {
    width: 100%;
  }
  .js-btn-hover:hover .bg:before {
    left: -200%;
  }
}
