:root {
  --icon-arrow-right: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22m11.8%208-5-5-1.5%201.5L8.8%208l-3.5%203.5L6.8%2013z%22%2F%3E%3C%2Fsvg%3E");
  --icon-tel: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22m11.52%2013.9-.65.38C7.08%2016.23.53%204.8%204.21%202.64l.6-.33%202%203.52-.6.33c-1.14.65%201.52%205.25%202.65%204.6l.65-.33%202.01%203.47zM6.22%201.5l-.93.54%202%203.52.92-.54L6.22%201.5zm4.65%208.12-.92.54%202%203.52.92-.54-2-3.52z%22%2F%3E%3C%2Fsvg%3E");
  --icon-freedial: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M14.27%2011.71a.87.87%200%201%200%20.87-.87c-.48.01-.87.39-.87.87m.1%200a.77.77%200%200%201%201.54%200c0%20.42-.34.76-.77.76a.756.756%200%200%201-.77-.76z%22%2F%3E%3Cpath%20d%3D%22M15.56%2012.27h-.17l-.34-.52h-.15v.52h-.13v-1.14h.32c.11%200%20.19.03.26.08.06.05.09.13.09.22%200%20.07-.02.13-.07.19a.4.4%200%200%201-.19.11l.38.54m-.65-.63h.17c.07%200%20.13-.02.17-.06.04-.04.07-.09.07-.14%200-.13-.08-.19-.23-.19h-.17v.39zM3.48%2010.44c.76%200%201.7-.58%201.7-1.78%200-.93-.92-1.67-1.7-2.12-.78.44-1.7%201.19-1.7%202.12%200%201.19.94%201.78%201.7%201.78zM6.92%204.83c1.41%200%202.58.35%203.42.79.85-.44%202.1-.79%203.5-.79V3.42H0v1.41c1.41%200%202.65.35%203.5.79.85-.44%202.02-.79%203.42-.79z%22%2F%3E%3Cpath%20d%3D%22M13.85%205.62c-.83%200-1.85.16-2.64.5.86.57%201.68%201.44%201.68%202.53%200%201.45-1.21%202.55-2.55%202.55-1.34%200-2.51-1.11-2.51-2.55%200-1.09.79-1.96%201.64-2.53-.79-.34-1.73-.5-2.56-.5-.83%200-1.77.16-2.56.5.86.57%201.64%201.44%201.64%202.53%200%201.45-1.17%202.55-2.51%202.55-1.34%200-2.57-1.11-2.57-2.55%200-1.09.85-1.96%201.7-2.53-.77-.34-1.78-.5-2.61-.5v6.84h13.85V5.62z%22%2F%3E%3Cpath%20d%3D%22M10.4%2010.42c.76%200%201.7-.58%201.7-1.78%200-.93-.92-1.67-1.7-2.12-.78.44-1.7%201.19-1.7%202.12%200%201.19.94%201.78%201.7%201.78z%22%2F%3E%3C%2Fsvg%3E");
  --color-white: #fff;
  --color-black: #000;
  --color-black-light: #222;
  --color-gray: #555;
  --color-gray-light: #888;
  --color-gray-pale: #efefef;
  --color-blue: #1e5ed6;
  --color-blue-light: #528bf5;
  --color-blue-dark: #1e4690;
  --color-red: #d9140e;
  --color-red-dark: #c92c27;
  --color-gradient-a: linear-gradient(90deg, #1e5ed6, #d9140e);
  --color-gradient-b: linear-gradient(45deg, #1e5ed6, #d9140e);
  --font-sans: 'Noto Sans JP', sans-serif;
  --font-en: 'Roboto Condensed', 'Noto Sans JP', sans-serif;
  --transition-duration: 0.15s;
  --transition-opacity: 0.65;
  --content-size-small: 95vw;
  --content-size-medium: 95vw;
  --content-size-large: 95vw;
  --content-size-fluid: 95vw;
  --header-height: clamp(75px, 7.3529411765vw, 100px);
  --font-10: 10px;
  --font-11: clamp(11px, 0.8088235294vw, 11px);
  --font-12: clamp(11px, 0.8823529412vw, 12px);
  --font-13: clamp(12px, 0.9558823529vw, 13px);
  --font-14: clamp(12px, 1.0294117647vw, 14px);
  --font-15: clamp(13px, 1.1029411765vw, 15px);
  --font-16: clamp(13px, 1.1764705882vw, 16px);
  --font-17: clamp(14px, 1.25vw, 17px);
  --font-18: clamp(14px, 1.3235294118vw, 18px);
  --font-19: clamp(15px, 1.3970588235vw, 19px);
  --font-20: clamp(15px, 1.4705882353vw, 20px);
  --font-21: clamp(16px, 1.5441176471vw, 21px);
  --font-22: clamp(16px, 1.6176470588vw, 22px);
  --font-23: clamp(17px, 1.6911764706vw, 23px);
  --font-24: clamp(17px, 1.7647058824vw, 24px);
  --font-25: clamp(18px, 1.8382352941vw, 25px);
  --font-26: clamp(18px, 1.9117647059vw, 26px);
  --font-27: clamp(19px, 1.9852941176vw, 27px);
  --font-28: clamp(19px, 2.0588235294vw, 28px);
  --font-29: clamp(20px, 2.1323529412vw, 29px);
  --font-30: clamp(20px, 2.2058823529vw, 30px);
  --font-31: clamp(21px, 2.2794117647vw, 31px);
  --font-32: clamp(21px, 2.3529411765vw, 32px);
  --font-33: clamp(22px, 2.4264705882vw, 33px);
  --font-34: clamp(22px, 2.5vw, 34px);
  --font-35: clamp(23px, 2.5735294118vw, 35px);
  --font-36: clamp(23px, 2.6470588235vw, 36px);
  --font-37: clamp(24px, 2.7205882353vw, 37px);
  --font-38: clamp(24px, 2.7941176471vw, 38px);
  --font-39: clamp(25px, 2.8676470588vw, 39px);
  --font-40: clamp(25px, 2.9411764706vw, 40px);
  --font-41: clamp(26px, 3.0147058824vw, 41px);
  --font-42: clamp(26px, 3.0882352941vw, 42px);
  --font-43: clamp(27px, 3.1617647059vw, 43px);
  --font-44: clamp(27px, 3.2352941176vw, 44px);
  --font-45: clamp(28px, 3.3088235294vw, 45px);
  --font-46: clamp(28px, 3.3823529412vw, 46px);
  --font-47: clamp(29px, 3.4558823529vw, 47px);
  --font-48: clamp(29px, 3.5294117647vw, 48px);
  --font-49: clamp(30px, 3.6029411765vw, 49px);
  --font-50: clamp(30px, 3.6764705882vw, 50px);
  --font-51: clamp(31px, 3.75vw, 51px);
  --font-52: clamp(31px, 3.8235294118vw, 52px);
  --font-53: clamp(32px, 3.8970588235vw, 53px);
  --font-54: clamp(32px, 3.9705882353vw, 54px);
  --font-55: clamp(33px, 4.0441176471vw, 55px);
  --font-56: clamp(33px, 4.1176470588vw, 56px);
  --font-57: clamp(34px, 4.1911764706vw, 57px);
  --font-58: clamp(34px, 4.2647058824vw, 58px);
  --font-59: clamp(35px, 4.3382352941vw, 59px);
  --font-60: clamp(35px, 4.4117647059vw, 60px);
  --font-70: clamp(40px, 5.1470588235vw, 70px);
}
@media (min-width: 768px) {
  :root {
    --content-size-small: clamp(0px, 53.6764705882vw, 730px);
    --content-size-medium: clamp(0px, 83.4558823529vw, 1135px);
    --content-size-large: min(92vw, 1470px);
    --content-size-fluid: 92vw;
  }
}

/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */
hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
 * 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: 1em; /* 2 */
}

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

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
 * 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: 1em; /* 2 */
}

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

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

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

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] { /* 1 */
  touch-action: manipulation; /* 2 */
}

/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

html {
  cursor: auto;
  line-height: 1;
}

body {
  font-family: sans-serif;
}

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

p {
  margin: 0;
}

blockquote {
  margin: 0;
}

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

dl,
dd {
  margin: 0;
}

hr {
  margin: 0;
  border: none;
  border-top: 1px solid currentColor;
}

pre {
  margin: 0;
}

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

rt {
  letter-spacing: 0;
}

figure {
  max-width: 100%;
  margin: 0;
}

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

table {
  width: 100%;
  table-layout: fixed;
}

tbody,
thead {
  vertical-align: inherit;
}

th {
  margin: 0;
  text-align: inherit;
  text-align: -webkit-match-parent;
}

td {
  padding: 0;
}

label {
  display: inline-block;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: inherit;
}

button {
  border-radius: 0;
}

button:not(:disabled),
[role=button],
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

body {
  background: var(--color-black);
  font-family: var(--font-sans);
  font-feature-settings: "palt";
  font-weight: 500;
  letter-spacing: 0.075em;
  color: var(--color-white);
}

a,
button,
[type=button],
[type=reset],
[type=submit] {
  transition-property: opacity;
  transition-duration: var(--transition-duration);
  transition-timing-function: ease;
}

:not(.-is-ios) a:hover,
:not(.-is-ios) button:hover,
:not(.-is-ios) [type=button]:hover,
:not(.-is-ios) [type=reset]:hover,
:not(.-is-ios) [type=submit]:hover {
  opacity: var(--transition-opacity);
}

.c-animation {
  --c-animation-duration: .75s;
  --c-animation-delay: .5s;
  --c-animation-distance: 30px;
}

.c-animation {
  animation-duration: var(--c-animation-duration);
  animation-fill-mode: both;
}

.c-animation.-fadein-up {
  opacity: 0;
}
.c-animation.-delay-0 {
  animation-delay: 0;
}
.c-animation.-delay-1 {
  animation-delay: var(--c-animation-delay);
}
.c-animation.-delay-2 {
  animation-delay: calc(var(--c-animation-delay) * 2);
}
.c-animation.-delay-3 {
  animation-delay: calc(var(--c-animation-delay) * 3);
}
.c-animation.-delay-4 {
  animation-delay: calc(var(--c-animation-delay) * 4);
}
.c-animation.-delay-5 {
  animation-delay: calc(var(--c-animation-delay) * 5);
}
@media (min-width: 560px) {
  .c-animation.-delay-sm-0 {
    animation-delay: 0;
  }
  .c-animation.-delay-sm-1 {
    animation-delay: var(--c-animation-delay);
  }
  .c-animation.-delay-sm-2 {
    animation-delay: calc(var(--c-animation-delay) * 2);
  }
  .c-animation.-delay-sm-3 {
    animation-delay: calc(var(--c-animation-delay) * 3);
  }
  .c-animation.-delay-sm-4 {
    animation-delay: calc(var(--c-animation-delay) * 4);
  }
  .c-animation.-delay-sm-5 {
    animation-delay: calc(var(--c-animation-delay) * 5);
  }
}
@media (min-width: 768px) {
  .c-animation.-delay-md-0 {
    animation-delay: 0;
  }
  .c-animation.-delay-md-1 {
    animation-delay: var(--c-animation-delay);
  }
  .c-animation.-delay-md-2 {
    animation-delay: calc(var(--c-animation-delay) * 2);
  }
  .c-animation.-delay-md-3 {
    animation-delay: calc(var(--c-animation-delay) * 3);
  }
  .c-animation.-delay-md-4 {
    animation-delay: calc(var(--c-animation-delay) * 4);
  }
  .c-animation.-delay-md-5 {
    animation-delay: calc(var(--c-animation-delay) * 5);
  }
}
@media (min-width: 960px) {
  .c-animation.-delay-lg-0 {
    animation-delay: 0;
  }
  .c-animation.-delay-lg-1 {
    animation-delay: var(--c-animation-delay);
  }
  .c-animation.-delay-lg-2 {
    animation-delay: calc(var(--c-animation-delay) * 2);
  }
  .c-animation.-delay-lg-3 {
    animation-delay: calc(var(--c-animation-delay) * 3);
  }
  .c-animation.-delay-lg-4 {
    animation-delay: calc(var(--c-animation-delay) * 4);
  }
  .c-animation.-delay-lg-5 {
    animation-delay: calc(var(--c-animation-delay) * 5);
  }
}
@media (min-width: 1200px) {
  .c-animation.-delay-xl-0 {
    animation-delay: 0;
  }
  .c-animation.-delay-xl-1 {
    animation-delay: var(--c-animation-delay);
  }
  .c-animation.-delay-xl-2 {
    animation-delay: calc(var(--c-animation-delay) * 2);
  }
  .c-animation.-delay-xl-3 {
    animation-delay: calc(var(--c-animation-delay) * 3);
  }
  .c-animation.-delay-xl-4 {
    animation-delay: calc(var(--c-animation-delay) * 4);
  }
  .c-animation.-delay-xl-5 {
    animation-delay: calc(var(--c-animation-delay) * 5);
  }
}

.c-animation.-is-active.-fadein-up {
  animation-name: fadein-up;
}

@keyframes fadein-up {
  from {
    opacity: 0;
    transform: translate3d(0, var(--c-animation-distance), 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.c-breadcrumb {
  --c-breadcrumb-font-size: var(--font-11);
  --c-breadcrumb-line-height: 1.375;
  --c-breadcrumb-color: var(--color-gray-pale);
  --c-breadcrumb-divider-size: .875em;
  --c-breadcrumb-divider-margin-x: .75em;
  --c-breadcrumb-divider-color: currentColor;
  --c-breadcrumb-divider-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3e%3cpath fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-miterlimit='10' d='M6 3.5l5 4.5-5 4.5'/%3e%3c/svg%3e");
}

.c-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: var(--c-breadcrumb-line-height);
  font-size: var(--c-breadcrumb-font-size);
  color: var(--c-breadcrumb-color);
}
.c-breadcrumb > li {
  display: flex;
  align-items: center;
  padding-right: var(--c-breadcrumb-divider-margin-x);
}
.c-breadcrumb > li:not(:last-child)::after {
  content: "";
  flex: 0 0 auto;
  width: var(--c-breadcrumb-divider-size);
  height: var(--c-breadcrumb-divider-size);
  background-color: var(--c-breadcrumb-divider-color);
  margin-left: var(--c-breadcrumb-divider-margin-x);
  -webkit-mask: var(--c-breadcrumb-divider-image) no-repeat center center/contain;
          mask: var(--c-breadcrumb-divider-image) no-repeat center center/contain;
}
.c-breadcrumb > li > a {
  text-decoration: underline;
}

.c-breadcrumb.-right {
  justify-content: right;
  text-align: right;
}

.c-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  vertical-align: middle;
  font: inherit;
  text-decoration: none;
  text-align: inherit;
  line-height: 1;
  white-space: nowrap;
  color: inherit;
  cursor: pointer;
}
button.c-btn,
[type=button].c-btn,
[type=reset].c-btn,
[type=submit].c-btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.c-btn.-block {
  display: flex;
  width: 100%;
}
@media (min-width: 560px) {
  .c-btn.-sm-block {
    display: flex;
    width: 100%;
  }
  .c-btn.-sm-inline {
    display: inline-flex;
    width: auto;
  }
}
@media (min-width: 768px) {
  .c-btn.-md-block {
    display: flex;
    width: 100%;
  }
  .c-btn.-md-inline {
    display: inline-flex;
    width: auto;
  }
}
@media (min-width: 960px) {
  .c-btn.-lg-block {
    display: flex;
    width: 100%;
  }
  .c-btn.-lg-inline {
    display: inline-flex;
    width: auto;
  }
}
@media (min-width: 1200px) {
  .c-btn.-xl-block {
    display: flex;
    width: 100%;
  }
  .c-btn.-xl-inline {
    display: inline-flex;
    width: auto;
  }
}

.c-btn.-back, .c-btn.-submit, .c-btn.-home-product,
.c-btn.-typeA {
  justify-content: center;
  min-width: 15em;
  padding: 1.25em 2em;
  font-weight: 700;
  font-size: var(--font-17);
  background: var(--color-gradient-a);
  border-radius: 0.5em;
  color: var(--color-white);
}

@media (min-width: 560px) {
  .c-btn.-home-product {
    min-width: 12em;
  }
}
@media (min-width: 960px) {
  .c-btn.-home-product {
    min-width: 15em;
  }
}

.c-btn.-back {
  background: var(--color-gray-pale);
  color: var(--color-black);
}

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

.c-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  line-height: 1;
  color: inherit;
  word-wrap: break-word;
}
.c-card > .header,
.c-card > .footer {
  flex: 0 0 auto;
}
.c-card > .media {
  overflow: hidden;
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  margin: 0;
}
.c-card > .media > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-card > .body {
  flex: 1 1 0%;
}

.c-card.-home-product {
  padding: clamp(28px, 3.3088235294vw, 45px);
  text-align: center;
}
.c-card.-home-product::before, .c-card.-home-product::after {
  z-index: -1;
  content: "";
  position: absolute;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - clamp(25px, 2.9411764706vw, 40px)), calc(100% - clamp(25px, 2.9411764706vw, 40px)) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - clamp(25px, 2.9411764706vw, 40px)), calc(100% - clamp(25px, 2.9411764706vw, 40px)) 100%, 0 100%);
  pointer-events: none;
}
.c-card.-home-product::before {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--color-blue);
}
.c-card.-home-product::after {
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
  background: var(--color-black);
}
.c-card.-home-product > .body > .title {
  font: 700 var(--font-25)/1.375 var(--font-sans);
  color: var(--color-blue);
}
.c-card.-home-product > .body > .thumbnail {
  margin-top: clamp(22px, 2.5735294118vw, 35px);
}
.c-card.-home-product > .body > .thumbnail > img {
  width: clamp(213px, 25vw, 340px);
}
.c-card.-home-product > .body > .action {
  margin-top: clamp(19px, 2.2058823529vw, 30px);
}
.c-card.-home-product > .body > .note {
  margin-top: clamp(13px, 1.4705882353vw, 20px);
  font-size: var(--font-13);
  line-height: 1.375;
}

.c-card.-home-feature {
  min-height: clamp(297px, 34.9264705882vw, 475px);
  padding: clamp(22px, 2.5735294118vw, 35px) clamp(28px, 3.3088235294vw, 45px);
}
.c-card.-home-feature::before, .c-card.-home-feature::after {
  z-index: -1;
  content: "";
  position: absolute;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - clamp(25px, 2.9411764706vw, 40px)), calc(100% - clamp(25px, 2.9411764706vw, 40px)) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - clamp(25px, 2.9411764706vw, 40px)), calc(100% - clamp(25px, 2.9411764706vw, 40px)) 100%, 0 100%);
  pointer-events: none;
}
.c-card.-home-feature::before {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--color-blue);
}
.c-card.-home-feature::after {
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
  background: var(--color-black);
}
.c-card.-home-feature > .body > .number {
  font: 700 var(--font-40)/1 var(--font-en);
  color: var(--color-blue);
}
.c-card.-home-feature > .body > .thumbnail {
  text-align: center;
}
.c-card.-home-feature > .body > .thumbnail > img {
  width: clamp(75px, 8.8235294118vw, 120px);
}
.c-card.-home-feature > .body > .title {
  margin-top: clamp(13px, 1.4705882353vw, 20px);
  font: 700 var(--font-25)/1.375 var(--font-sans);
  text-align: center;
  color: var(--color-blue);
}
.c-card.-home-feature > .body > .text {
  margin-top: clamp(13px, 1.4705882353vw, 20px);
  font-size: var(--font-16);
  line-height: 2.125;
  text-align: justify;
  word-break: break-all;
}

.c-card.-home-works > .media,
.c-card.-archive-list > .media {
  aspect-ratio: 335/250;
}
.c-card.-home-works > .body > .date,
.c-card.-archive-list > .body > .date {
  margin-top: 1.375em;
  font: 700 var(--font-13)/1 var(--font-en);
}
.c-card.-home-works > .body > .title,
.c-card.-archive-list > .body > .title {
  margin-top: 0.625em;
  font: 700 var(--font-16)/1.625 var(--font-sans);
  text-align: justify;
  word-break: break-all;
}
.c-card.-home-works > .body > .tag,
.c-card.-archive-list > .body > .tag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-top: 1.25em;
  font-size: var(--font-12);
  line-height: 1.25;
}
@media (min-width: 1200px) {
  .c-card.-home-works > .body > .tag,
  .c-card.-archive-list > .body > .tag {
    font-size: var(--font-14);
  }
}
.c-card.-home-works > .body > .tag > li,
.c-card.-archive-list > .body > .tag > li {
  display: block;
  min-width: 8em;
  padding: 0.375em 1em;
  border: 2px solid currentColor;
  text-align: center;
  color: var(--color-blue-light);
}
@media (min-width: 1200px) {
  .c-card.-home-works > .body > .tag > li,
  .c-card.-archive-list > .body > .tag > li {
    padding: 0.375em 2em;
  }
}

.c-drawer-btn {
  --c-drawer-btn-gap: 6px;
  --c-drawer-btn-width: 70px;
  --c-drawer-btn-height: 70px;
  --c-drawer-btn-background: var(--color-gradient-b);
  --c-drawer-btn-border-radius: 0;
  --c-drawer-btn-text-font-weight: normal;
  --c-drawer-btn-text-font-size: 10px;
  --c-drawer-btn-text-font-family: var(--font-en);
  --c-drawer-btn-text-tracking: .125em;
  --c-drawer-btn-text-color: var(--color-white);
}

.c-drawer-btn {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--c-drawer-btn-gap);
  width: var(--c-drawer-btn-width);
  height: var(--c-drawer-btn-height);
  background: var(--c-drawer-btn-background);
  border-radius: var(--c-drawer-btn-border-radius);
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
}
.c-drawer-btn > .text {
  font-weight: var(--c-drawer-btn-text-font-weight);
  font-size: var(--c-drawer-btn-text-font-size);
  font-family: var(--c-drawer-btn-text-font-family);
  letter-spacing: var(--c-drawer-btn-text-tracking);
  text-indent: var(--c-drawer-btn-text-tracking);
  color: var(--c-drawer-btn-text-color);
}

.c-drawer-btn.-row {
  flex-direction: row;
  text-align: left;
}

.c-drawer-btn.-site-drawer {
  z-index: 510;
  position: fixed;
  top: 0;
  right: 0;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 15px 100%, 0 calc(100% - 15px));
          clip-path: polygon(0 0, 100% 0, 100% 100%, 15px 100%, 0 calc(100% - 15px));
}
@media (min-width: 960px) {
  .c-drawer-btn.-site-drawer {
    display: none;
  }
}

.c-drawer {
  --c-drawer-z-index: 500;
  --c-drawer-duration: .45s;
  --c-drawer-easing: cubic-bezier(.43,.01,.08,1);
  --c-drawer-scrollbar-color: var(--color-black);
  --c-drawer-scrollbar-weight: 3px;
  --c-drawer-content-background: var(--color-gradient-b);
  --c-drawer-content-box-shadow: 0 0 5px rgba(0, 0, 0, .125);
  --c-drawer-back-background: rgba(0, 0, 0, .75);
}

.c-drawer {
  z-index: var(--c-drawer-z-index);
  opacity: 0;
  visibility: hidden;
  position: relative;
  display: block;
  transition-property: opacity, visibility;
  transition-duration: calc(var(--c-drawer-duration) * 0.625);
  transition-timing-function: var(--drawer-easing);
}
.c-drawer > .content {
  z-index: 1;
  overflow-x: hidden;
  overflow-y: auto;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  background: var(--c-drawer-content-background);
  box-shadow: var(--c-drawer-content-box-shadow);
  transition: transform calc(var(--c-drawer-duration) * 0.625) var(--c-drawer-easing);
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--c-drawer-scrollbar-color) transparent;
}
.c-drawer > .content::-webkit-scrollbar {
  width: var(--c-drawer-scrollbar-weight);
}
.c-drawer > .content::-webkit-scrollbar-track {
  background: transparent;
}
.c-drawer > .content::-webkit-scrollbar-thumb {
  background: var(--c-drawer-scrollbar-color);
  border-radius: var(--c-drawer-scrollbar-weight);
}
.c-drawer > .back {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  background: var(--c-drawer-back-background);
  cursor: default;
}

.c-drawer > .content.-top {
  overflow: visible;
  bottom: auto;
  transform: translate(0, -100%);
}
.c-drawer > .content.-right {
  left: auto;
  width: auto;
  min-height: 100%;
  transform: translate(100%, 0);
}
.c-drawer > .content.-bottom {
  overflow: visible;
  top: auto;
  transform: translate(0, 100%);
}
.c-drawer > .content.-left {
  right: auto;
  width: auto;
  min-height: 100%;
  transform: translate(-100%, 0);
}

.c-drawer[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
  transition-duration: var(--c-drawer-duration);
}
.c-drawer[aria-hidden=false] > .content {
  transform: translate(0, 0);
  transition-duration: var(--c-drawer-duration);
}

@media (min-width: 960px) {
  .c-drawer.-site-drawer {
    display: none;
  }
}

.c-embed {
  --c-embed-aspect-ratio: 16 / 9;
}

.c-embed {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
}
.c-embed::before {
  content: "";
  display: block;
  aspect-ratio: var(--c-embed-aspect-ratio);
}
.c-embed > .item,
.c-embed > iframe,
.c-embed > embed,
.c-embed > video,
.c-embed > object {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.c-embed.-wide::before {
  --c-embed-aspect-ratio: 21 / 9;
}
.c-embed.-narrow::before {
  --c-embed-aspect-ratio: 4 / 3;
}
.c-embed.-square::before {
  --c-embed-aspect-ratio: 1 / 1;
}

.c-form-control {
  --c-form-control-border: 2px solid var(--color-black);
  --c-form-control-border-radius: 4px;
  --c-form-control-padding: .5em .625em;
  --c-form-control-background: transparent;
  --c-form-control-line-height: 1.5;
  --c-form-control-font-size: 16px;
  --c-form-control-font-color: inherit;
  --c-form-control-textarea-padding: .5em .625em;
}
@media (min-width: 768px) {
  .c-form-control {
    --c-form-control-padding: .1875em .5em;
    --c-form-control-textarea-padding: .1875em .5em;
    --c-form-control-font-size: var(--font-16);
  }
}

.c-form-control {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin: 0;
  padding: var(--c-form-control-padding, 0);
  border: var(--c-form-control-border, none);
  border-radius: var(--c-form-control-border-radius, 0);
  background: var(--c-form-control-background, transparent);
  font: inherit;
  font-size: var(--c-form-control-font-size, inherit);
  line-height: var(--c-form-control-line-height, inherit);
  color: var(--c-form-control-font-color, inherit);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-form-control:disabled {
  cursor: not-allowed;
}
textarea.c-form-control {
  padding: var(--c-form-control-textarea-padding, 0);
  resize: vertical;
}

select.c-form-control {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='22' viewBox='0 0 30 22'%3e%3cpath fill='%23343a40' d='M15 22L0 0h30z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: calc(100% - 0.75em) 50%;
  background-size: 0.5em auto;
}
select.c-form-control[multiple], select.c-form-control[size]:not([size="1"]) {
  background-image: none;
}

.c-form-control.-auto {
  display: inline-block;
  width: auto;
}

.c-hamburger {
  --c-hamburger-width: 27px;
  --c-hamburger-weight: 2px;
  --c-hamburger-space: 5px;
  --c-hamburger-color: var(--color-white);
  --c-hamburger-duration: .5s;
  --c-hamburger-easing: ease;
  --c-hamburger-rotate: 30deg;
}

.c-hamburger {
  display: flex;
  flex-direction: column;
  gap: var(--c-hamburger-space);
}
.c-hamburger > .bar {
  width: var(--c-hamburger-width);
  height: var(--c-hamburger-weight);
  background: var(--c-hamburger-color);
}
.c-hamburger > .bar:nth-child(1) {
  animation: hamburger-bar1 var(--c-hamburger-duration) var(--c-hamburger-easing) forwards;
}
.c-hamburger > .bar:nth-child(2) {
  animation: hamburger-bar2 var(--c-hamburger-duration) var(--c-hamburger-easing) forwards;
}
.c-hamburger > .bar:nth-child(3) {
  animation: hamburger-bar3 var(--c-hamburger-duration) var(--c-hamburger-easing) forwards;
}
[aria-expanded=true] .c-hamburger > .bar:nth-child(1), .c-hamburger[aria-expanded=true] > .bar:nth-child(1) {
  animation: hamburger-bar1-active var(--c-hamburger-duration) var(--c-hamburger-easing) forwards;
}
[aria-expanded=true] .c-hamburger > .bar:nth-child(2), .c-hamburger[aria-expanded=true] > .bar:nth-child(2) {
  animation: hamburger-bar2-active var(--c-hamburger-duration) var(--c-hamburger-easing) forwards;
}
[aria-expanded=true] .c-hamburger > .bar:nth-child(3), .c-hamburger[aria-expanded=true] > .bar:nth-child(3) {
  animation: hamburger-bar3-active var(--c-hamburger-duration) var(--c-hamburger-easing) forwards;
}

@keyframes hamburger-bar1 {
  0% {
    transform: translateY(calc(var(--c-hamburger-weight) + var(--c-hamburger-space))) rotate(calc(var(--c-hamburger-rotate) * -1));
  }
  50% {
    transform: translateY(calc(var(--c-hamburger-weight) + var(--c-hamburger-space))) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes hamburger-bar1-active {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(calc(var(--c-hamburger-weight, 2px) + var(--c-hamburger-space, 5px))) rotate(0);
  }
  100% {
    transform: translateY(calc(var(--c-hamburger-weight, 2px) + var(--c-hamburger-space, 5px))) rotate(calc(var(--c-hamburger-rotate, 45deg) * -1));
  }
}
@keyframes hamburger-bar2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes hamburger-bar2-active {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes hamburger-bar3 {
  0% {
    transform: translateY(calc((var(--c-hamburger-weight) + var(--c-hamburger-space, 5px)) * -1)) rotate(var(--c-hamburger-rotate));
  }
  50% {
    transform: translateY(calc((var(--c-hamburger-weight) + var(--c-hamburger-space, 5px)) * -1)) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes hamburger-bar3-active {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(calc((var(--c-hamburger-weight) + var(--c-hamburger-space)) * -1)) rotate(0);
  }
  100% {
    transform: translateY(calc((var(--c-hamburger-weight) + var(--c-hamburger-space)) * -1)) rotate(var(--c-hamburger-rotate));
  }
}
.c-heading {
  position: relative;
  font: inherit;
  line-height: 1;
}

.c-heading.-typeA {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-size: var(--font-43);
  line-height: 1.25;
}
.c-heading.-typeA::before {
  order: -2;
  content: attr(data-text);
  font: 700 var(--font-30)/1 var(--font-en);
  color: var(--color-blue-light);
}
.c-heading.-typeA::after {
  order: -1;
  content: "";
  width: 1.125em;
  margin: 0.25em 0;
  border-top: 2px solid var(--color-blue-light);
}

.c-icon {
  --c-icon-size: 1em;
  --c-icon-color: currentColor;
}

.c-icon {
  display: inline-block;
  width: var(--c-icon-size);
  height: var(--c-icon-size);
  background-color: var(--c-icon-color);
  -webkit-mask-position: 50% 50%;
          mask-position: 50% 50%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  vertical-align: baseline;
}

.c-icon.-block {
  display: block;
}
.c-icon.-arrow-right {
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
}
.c-icon.-tel {
  -webkit-mask-image: var(--icon-tel);
          mask-image: var(--icon-tel);
}
.c-icon.-freedial {
  -webkit-mask-image: var(--icon-freedial);
          mask-image: var(--icon-freedial);
}

.c-icon.-freedial {
  margin-right: 0.125em;
}

.c-list {
  --c-list-gap: 0;
  --c-list-padding-left: 1.375em;
  --c-list-font-size: inherit;
  --c-list-line-height: inherit;
}

.c-list {
  display: flex;
  flex-direction: column;
  gap: var(--c-list-gap);
  font-size: var(--c-list-font-size);
  line-height: var(--c-list-line-height);
  padding-left: var(--c-list-padding-left);
  text-align: justify;
  word-break: break-all;
}

.c-list.-disc {
  list-style: disc;
}
.c-list.-circle {
  list-style: circle;
}
.c-list.-square {
  list-style: square;
}
.c-list.-decimal {
  list-style: decimal;
}
.c-list.-custom > li {
  position: relative;
}
.c-list.-custom > li::before {
  content: attr(data-marker);
  width: 1em;
  height: 1em;
  position: absolute;
  left: calc(var(--c-list-padding-left) * -1);
}

.c-loader {
  --c-loader-z-index: 1000;
  --c-loader-background: var(--color-black);
}

.c-loader {
  z-index: var(--c-loader-z-index);
  opacity: 1;
  visibility: visible;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: var(--c-loader-background);
}

.c-menu {
  display: flex;
  margin: 0;
  padding: 0;
  line-height: 1;
  list-style: none;
}
.c-menu > li {
  display: flex;
  margin: 0;
}
.c-menu > li > a {
  display: flex;
  justify-content: center;
  text-decoration: none;
  color: inherit;
  white-space: nowrap;
}
.c-menu > li > .separater {
  display: block;
  width: 1px;
  height: 100%;
  background: currentColor;
}

.c-menu.-site-header-gnav {
  gap: 1.75em;
  letter-spacing: 0;
}
@media (min-width: 1200px) {
  .c-menu.-site-header-gnav {
    letter-spacing: inherit;
  }
}
.c-menu.-site-header-gnav > li > a {
  flex-direction: column;
  align-items: center;
  gap: 0.375em;
  font-size: var(--font-16);
}
.c-menu.-site-header-gnav > li > a::before {
  content: attr(data-text);
  font: 700 var(--font-10)/1 var(--font-en);
  letter-spacing: 0.0125em;
}

.c-menu.-site-footer-sns {
  justify-content: center;
  gap: clamp(13px, 1.4705882353vw, 20px);
}
@media (min-width: 560px) {
  .c-menu.-site-footer-sns {
    justify-content: flex-end;
  }
}
.c-menu.-site-footer-sns > li > a > img {
  width: clamp(41px, 4.7794117647vw, 65px);
}

.c-pager {
  --c-pager-gap: 2em;
  --c-pager-font-weight: 500;
  --c-pager-font-size: var(--font-13);
  --c-pager-font-family: var(--font-sans);
  --c-pager-line-height: 1.5;
  --c-pager-color: var(--color-black-light);
  --c-pager-a-text-decoration: underline;
}

.c-pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--c-pager-gap);
  line-height: var(--c-pager-line-height);
  font-weight: var(--c-pager-font-weight);
  font-size: var(--c-pager-font-size);
  font-family: var(--c-pager-font-family);
  color: var(--c-pager-color);
}
.c-pager > .prev,
.c-pager > .next {
  flex: 1 1 0%;
}
.c-pager > .next {
  text-align: right;
}
.c-pager > .back {
  flex: 0 0 auto;
}
.c-pager > .prev a,
.c-pager > .next a {
  display: inline-flex;
  align-items: center;
  -webkit-text-decoration: var(--c-pager-a-text-decoration);
          text-decoration: var(--c-pager-a-text-decoration);
}
.c-pager > .prev a::before {
  flex: 0 0 auto;
}
.c-pager > .back a {
  text-align: center;
}
.c-pager > .next a {
  text-align: right;
}
.c-pager > .next a::after {
  flex: 0 0 auto;
}

.c-pager .prev > a,
.c-pager .next > a {
  gap: 0.5em;
}
.c-pager .prev > a::before,
.c-pager .next > a::after {
  content: "";
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: var(--icon-arrow-right) no-repeat center/cover;
          mask: var(--icon-arrow-right) no-repeat center/cover;
}
.c-pager .prev > a::before {
  transform: rotate(180deg);
}

.c-pagetopBtn {
  cursor: pointer;
}

.c-pagetopBtn.-site-footer-pagetop {
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.75em 1em 0.625em 0.75em;
  background: var(--color-black);
  border-radius: 4px 4px 0 0;
  font: 700 var(--font-12)/1 var(--font-en);
  letter-spacing: 0;
  transition-property: opacity, visibility;
}
@media (min-width: 768px) {
  .c-pagetopBtn.-site-footer-pagetop {
    opacity: 0;
    visibility: hidden;
    padding: 0 0 1em 4.5em;
    font-size: var(--font-10);
    background: url(../img/site/pagetop-button-arrow.svg) no-repeat 0 100%/100% auto;
  }
}
.c-pagetopBtn.-site-footer-pagetop::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: var(--icon-arrow-right) no-repeat center/contain;
          mask: var(--icon-arrow-right) no-repeat center/contain;
  transform: rotate(-90deg);
}
@media (min-width: 768px) {
  .c-pagetopBtn.-site-footer-pagetop::before {
    display: none;
  }
}
@media (min-width: 768px) {
  .c-pagetopBtn.-site-footer-pagetop.-is-show {
    opacity: 1;
    visibility: visible;
  }
}
.c-pagetopBtn.-site-footer-pagetop:hover {
  opacity: var(--transition-opacity);
}

.c-row {
  --c-row-gutter-x: 0;
  --c-row-gutter-y: 0;
}

.c-row {
  display: flex;
  flex-wrap: wrap;
  margin: calc(var(--c-row-gutter-y) / 2 * -1) calc(var(--c-row-gutter-x) / 2 * -1);
  padding: 0;
  list-style: none;
}
.c-row > .col {
  flex: 1 1 0%;
  display: flex;
  flex-direction: column;
  padding: calc(var(--c-row-gutter-y, 0) / 2) calc(var(--c-row-gutter-x, 0) / 2);
}

.c-row.-center {
  justify-content: center;
}
.c-row.-right {
  justify-content: flex-end;
}
.c-row.-middle {
  align-items: center;
}
.c-row.-bottom {
  align-items: flex-end;
}
.c-row.-auto > .col {
  flex: 0 0 auto;
}
.c-row.-one > .col {
  flex-basis: 100%;
  max-width: 100%;
}
.c-row.-two > .col {
  flex-basis: 50%;
  max-width: 50%;
}
.c-row.-three > .col {
  flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
}
.c-row.-four > .col {
  flex-basis: 25%;
  max-width: 25%;
}
.c-row.-five > .col {
  flex-basis: 20%;
  max-width: 20%;
}
.c-row.-six > .col {
  flex-basis: 16.6666666667%;
  max-width: 16.6666666667%;
}
.c-row.-seven > .col {
  flex-basis: 14.2857142857%;
  max-width: 14.2857142857%;
}
.c-row.-eight > .col {
  flex-basis: 12.5%;
  max-width: 12.5%;
}
.c-row.-nine > .col {
  flex-basis: 11.1111111111%;
  max-width: 11.1111111111%;
}
.c-row.-ten > .col {
  flex-basis: 10%;
  max-width: 10%;
}
.c-row.-eleven > .col {
  flex-basis: 9.0909090909%;
  max-width: 9.0909090909%;
}
.c-row.-twelve > .col {
  flex-basis: 8.3333333333%;
  max-width: 8.3333333333%;
}
@media (min-width: 560px) {
  .c-row.-sm-left {
    justify-content: flex-start;
  }
  .c-row.-sm-center {
    justify-content: center;
  }
  .c-row.-sm-right {
    justify-content: flex-end;
  }
  .c-row.-sm-top {
    align-items: flex-start;
  }
  .c-row.-sm-middle {
    align-items: center;
  }
  .c-row.-sm-bottom {
    align-items: flex-end;
  }
  .c-row.-sm-auto > .col {
    flex: 0 0 auto;
    max-width: none;
  }
  .c-row.-sm-one > .col {
    flex-basis: 100%;
    max-width: 100%;
  }
  .c-row.-sm-two > .col {
    flex-basis: 50%;
    max-width: 50%;
  }
  .c-row.-sm-three > .col {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .c-row.-sm-four > .col {
    flex-basis: 25%;
    max-width: 25%;
  }
  .c-row.-sm-five > .col {
    flex-basis: 20%;
    max-width: 20%;
  }
  .c-row.-sm-six > .col {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .c-row.-sm-seven > .col {
    flex-basis: 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .c-row.-sm-eight > .col {
    flex-basis: 12.5%;
    max-width: 12.5%;
  }
  .c-row.-sm-nine > .col {
    flex-basis: 11.1111111111%;
    max-width: 11.1111111111%;
  }
  .c-row.-sm-ten > .col {
    flex-basis: 10%;
    max-width: 10%;
  }
  .c-row.-sm-eleven > .col {
    flex-basis: 9.0909090909%;
    max-width: 9.0909090909%;
  }
  .c-row.-sm-twelve > .col {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}
@media (min-width: 768px) {
  .c-row.-md-left {
    justify-content: flex-start;
  }
  .c-row.-md-center {
    justify-content: center;
  }
  .c-row.-md-right {
    justify-content: flex-end;
  }
  .c-row.-md-top {
    align-items: flex-start;
  }
  .c-row.-md-middle {
    align-items: center;
  }
  .c-row.-md-bottom {
    align-items: flex-end;
  }
  .c-row.-md-auto > .col {
    flex: 0 0 auto;
    max-width: none;
  }
  .c-row.-md-one > .col {
    flex-basis: 100%;
    max-width: 100%;
  }
  .c-row.-md-two > .col {
    flex-basis: 50%;
    max-width: 50%;
  }
  .c-row.-md-three > .col {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .c-row.-md-four > .col {
    flex-basis: 25%;
    max-width: 25%;
  }
  .c-row.-md-five > .col {
    flex-basis: 20%;
    max-width: 20%;
  }
  .c-row.-md-six > .col {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .c-row.-md-seven > .col {
    flex-basis: 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .c-row.-md-eight > .col {
    flex-basis: 12.5%;
    max-width: 12.5%;
  }
  .c-row.-md-nine > .col {
    flex-basis: 11.1111111111%;
    max-width: 11.1111111111%;
  }
  .c-row.-md-ten > .col {
    flex-basis: 10%;
    max-width: 10%;
  }
  .c-row.-md-eleven > .col {
    flex-basis: 9.0909090909%;
    max-width: 9.0909090909%;
  }
  .c-row.-md-twelve > .col {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}
@media (min-width: 960px) {
  .c-row.-lg-left {
    justify-content: flex-start;
  }
  .c-row.-lg-center {
    justify-content: center;
  }
  .c-row.-lg-right {
    justify-content: flex-end;
  }
  .c-row.-lg-top {
    align-items: flex-start;
  }
  .c-row.-lg-middle {
    align-items: center;
  }
  .c-row.-lg-bottom {
    align-items: flex-end;
  }
  .c-row.-lg-auto > .col {
    flex: 0 0 auto;
    max-width: none;
  }
  .c-row.-lg-one > .col {
    flex-basis: 100%;
    max-width: 100%;
  }
  .c-row.-lg-two > .col {
    flex-basis: 50%;
    max-width: 50%;
  }
  .c-row.-lg-three > .col {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .c-row.-lg-four > .col {
    flex-basis: 25%;
    max-width: 25%;
  }
  .c-row.-lg-five > .col {
    flex-basis: 20%;
    max-width: 20%;
  }
  .c-row.-lg-six > .col {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .c-row.-lg-seven > .col {
    flex-basis: 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .c-row.-lg-eight > .col {
    flex-basis: 12.5%;
    max-width: 12.5%;
  }
  .c-row.-lg-nine > .col {
    flex-basis: 11.1111111111%;
    max-width: 11.1111111111%;
  }
  .c-row.-lg-ten > .col {
    flex-basis: 10%;
    max-width: 10%;
  }
  .c-row.-lg-eleven > .col {
    flex-basis: 9.0909090909%;
    max-width: 9.0909090909%;
  }
  .c-row.-lg-twelve > .col {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}
@media (min-width: 1200px) {
  .c-row.-xl-left {
    justify-content: flex-start;
  }
  .c-row.-xl-center {
    justify-content: center;
  }
  .c-row.-xl-right {
    justify-content: flex-end;
  }
  .c-row.-xl-top {
    align-items: flex-start;
  }
  .c-row.-xl-middle {
    align-items: center;
  }
  .c-row.-xl-bottom {
    align-items: flex-end;
  }
  .c-row.-xl-auto > .col {
    flex: 0 0 auto;
    max-width: none;
  }
  .c-row.-xl-one > .col {
    flex-basis: 100%;
    max-width: 100%;
  }
  .c-row.-xl-two > .col {
    flex-basis: 50%;
    max-width: 50%;
  }
  .c-row.-xl-three > .col {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .c-row.-xl-four > .col {
    flex-basis: 25%;
    max-width: 25%;
  }
  .c-row.-xl-five > .col {
    flex-basis: 20%;
    max-width: 20%;
  }
  .c-row.-xl-six > .col {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .c-row.-xl-seven > .col {
    flex-basis: 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .c-row.-xl-eight > .col {
    flex-basis: 12.5%;
    max-width: 12.5%;
  }
  .c-row.-xl-nine > .col {
    flex-basis: 11.1111111111%;
    max-width: 11.1111111111%;
  }
  .c-row.-xl-ten > .col {
    flex-basis: 10%;
    max-width: 10%;
  }
  .c-row.-xl-eleven > .col {
    flex-basis: 9.0909090909%;
    max-width: 9.0909090909%;
  }
  .c-row.-xl-twelve > .col {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

.c-row > .col.-auto {
  flex: 0 0 auto;
}
.c-row > .col.-one {
  flex-basis: 8.3333333333;
  max-width: 8.3333333333%;
}
.c-row > .col.-two {
  flex-basis: 16.6666666667%;
  max-width: 16.6666666667%;
}
.c-row > .col.-three {
  flex-basis: 25%;
  max-width: 25%;
}
.c-row > .col.-four {
  flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
}
.c-row > .col.-five {
  flex-basis: 41.6666666667%;
  max-width: 41.6666666667%;
}
.c-row > .col.-six {
  flex-basis: 50%;
  max-width: 50%;
}
.c-row > .col.-seven {
  flex-basis: 58.3333333333%;
  max-width: 58.3333333333%;
}
.c-row > .col.-eight {
  flex-basis: 66.6666666667%;
  max-width: 66.6666666667%;
}
.c-row > .col.-nine {
  flex-basis: 75%;
  max-width: 75%;
}
.c-row > .col.-ten {
  flex-basis: 83.3333333333%;
  max-width: 83.3333333333;
}
.c-row > .col.-eleven {
  flex-basis: 91.6666666667%;
  max-width: 91.6666666667%;
}
.c-row > .col.-twelve {
  flex-basis: 100%;
  max-width: 100%;
}
@media (min-width: 560px) {
  .c-row > .col.-sm-auto {
    flex: 0 0 auto;
  }
  .c-row > .col.-sm-one {
    flex-basis: 8.3333333333;
    max-width: 8.3333333333%;
  }
  .c-row > .col.-sm-two {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .c-row > .col.-sm-three {
    flex-basis: 25%;
    max-width: 25%;
  }
  .c-row > .col.-sm-four {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .c-row > .col.-sm-five {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .c-row > .col.-sm-six {
    flex-basis: 50%;
    max-width: 50%;
  }
  .c-row > .col.-sm-seven {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .c-row > .col.-sm-eight {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .c-row > .col.-sm-nine {
    flex-basis: 75%;
    max-width: 75%;
  }
  .c-row > .col.-sm-ten {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333;
  }
  .c-row > .col.-sm-eleven {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .c-row > .col.-sm-twelve {
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .c-row > .col.-md-auto {
    flex: 0 0 auto;
  }
  .c-row > .col.-md-one {
    flex-basis: 8.3333333333;
    max-width: 8.3333333333%;
  }
  .c-row > .col.-md-two {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .c-row > .col.-md-three {
    flex-basis: 25%;
    max-width: 25%;
  }
  .c-row > .col.-md-four {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .c-row > .col.-md-five {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .c-row > .col.-md-six {
    flex-basis: 50%;
    max-width: 50%;
  }
  .c-row > .col.-md-seven {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .c-row > .col.-md-eight {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .c-row > .col.-md-nine {
    flex-basis: 75%;
    max-width: 75%;
  }
  .c-row > .col.-md-ten {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333;
  }
  .c-row > .col.-md-eleven {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .c-row > .col.-md-twelve {
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media (min-width: 960px) {
  .c-row > .col.-lg-auto {
    flex: 0 0 auto;
  }
  .c-row > .col.-lg-one {
    flex-basis: 8.3333333333;
    max-width: 8.3333333333%;
  }
  .c-row > .col.-lg-two {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .c-row > .col.-lg-three {
    flex-basis: 25%;
    max-width: 25%;
  }
  .c-row > .col.-lg-four {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .c-row > .col.-lg-five {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .c-row > .col.-lg-six {
    flex-basis: 50%;
    max-width: 50%;
  }
  .c-row > .col.-lg-seven {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .c-row > .col.-lg-eight {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .c-row > .col.-lg-nine {
    flex-basis: 75%;
    max-width: 75%;
  }
  .c-row > .col.-lg-ten {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333;
  }
  .c-row > .col.-lg-eleven {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .c-row > .col.-lg-twelve {
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media (min-width: 1200px) {
  .c-row > .col.-xl-auto {
    flex: 0 0 auto;
  }
  .c-row > .col.-xl-one {
    flex-basis: 8.3333333333;
    max-width: 8.3333333333%;
  }
  .c-row > .col.-xl-two {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .c-row > .col.-xl-three {
    flex-basis: 25%;
    max-width: 25%;
  }
  .c-row > .col.-xl-four {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .c-row > .col.-xl-five {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .c-row > .col.-xl-six {
    flex-basis: 50%;
    max-width: 50%;
  }
  .c-row > .col.-xl-seven {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .c-row > .col.-xl-eight {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .c-row > .col.-xl-nine {
    flex-basis: 75%;
    max-width: 75%;
  }
  .c-row > .col.-xl-ten {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333;
  }
  .c-row > .col.-xl-eleven {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .c-row > .col.-xl-twelve {
    flex-basis: 100%;
    max-width: 100%;
  }
}
.c-row > .col.-order-1 {
  order: 1;
}
.c-row > .col.-order-2 {
  order: 2;
}
.c-row > .col.-order-3 {
  order: 3;
}
.c-row > .col.-order-4 {
  order: 4;
}
.c-row > .col.-order-5 {
  order: 5;
}
.c-row > .col.-order-6 {
  order: 6;
}
.c-row > .col.-order-7 {
  order: 7;
}
.c-row > .col.-order-8 {
  order: 8;
}
.c-row > .col.-order-9 {
  order: 9;
}
.c-row > .col.-order-10 {
  order: 10;
}
.c-row > .col.-order-11 {
  order: 11;
}
.c-row > .col.-order-12 {
  order: 12;
}
@media (min-width: 560px) {
  .c-row > .col.-order-sm-1 {
    order: 1;
  }
  .c-row > .col.-order-sm-2 {
    order: 2;
  }
  .c-row > .col.-order-sm-3 {
    order: 3;
  }
  .c-row > .col.-order-sm-4 {
    order: 4;
  }
  .c-row > .col.-order-sm-5 {
    order: 5;
  }
  .c-row > .col.-order-sm-6 {
    order: 6;
  }
  .c-row > .col.-order-sm-7 {
    order: 7;
  }
  .c-row > .col.-order-sm-8 {
    order: 8;
  }
  .c-row > .col.-order-sm-9 {
    order: 9;
  }
  .c-row > .col.-order-sm-10 {
    order: 10;
  }
  .c-row > .col.-order-sm-11 {
    order: 11;
  }
  .c-row > .col.-order-sm-12 {
    order: 12;
  }
}
@media (min-width: 768px) {
  .c-row > .col.-order-md-1 {
    order: 1;
  }
  .c-row > .col.-order-md-2 {
    order: 2;
  }
  .c-row > .col.-order-md-3 {
    order: 3;
  }
  .c-row > .col.-order-md-4 {
    order: 4;
  }
  .c-row > .col.-order-md-5 {
    order: 5;
  }
  .c-row > .col.-order-md-6 {
    order: 6;
  }
  .c-row > .col.-order-md-7 {
    order: 7;
  }
  .c-row > .col.-order-md-8 {
    order: 8;
  }
  .c-row > .col.-order-md-9 {
    order: 9;
  }
  .c-row > .col.-order-md-10 {
    order: 10;
  }
  .c-row > .col.-order-md-11 {
    order: 11;
  }
  .c-row > .col.-order-md-12 {
    order: 12;
  }
}
@media (min-width: 960px) {
  .c-row > .col.-order-lg-1 {
    order: 1;
  }
  .c-row > .col.-order-lg-2 {
    order: 2;
  }
  .c-row > .col.-order-lg-3 {
    order: 3;
  }
  .c-row > .col.-order-lg-4 {
    order: 4;
  }
  .c-row > .col.-order-lg-5 {
    order: 5;
  }
  .c-row > .col.-order-lg-6 {
    order: 6;
  }
  .c-row > .col.-order-lg-7 {
    order: 7;
  }
  .c-row > .col.-order-lg-8 {
    order: 8;
  }
  .c-row > .col.-order-lg-9 {
    order: 9;
  }
  .c-row > .col.-order-lg-10 {
    order: 10;
  }
  .c-row > .col.-order-lg-11 {
    order: 11;
  }
  .c-row > .col.-order-lg-12 {
    order: 12;
  }
}
@media (min-width: 1200px) {
  .c-row > .col.-order-xl-1 {
    order: 1;
  }
  .c-row > .col.-order-xl-2 {
    order: 2;
  }
  .c-row > .col.-order-xl-3 {
    order: 3;
  }
  .c-row > .col.-order-xl-4 {
    order: 4;
  }
  .c-row > .col.-order-xl-5 {
    order: 5;
  }
  .c-row > .col.-order-xl-6 {
    order: 6;
  }
  .c-row > .col.-order-xl-7 {
    order: 7;
  }
  .c-row > .col.-order-xl-8 {
    order: 8;
  }
  .c-row > .col.-order-xl-9 {
    order: 9;
  }
  .c-row > .col.-order-xl-10 {
    order: 10;
  }
  .c-row > .col.-order-xl-11 {
    order: 11;
  }
  .c-row > .col.-order-xl-12 {
    order: 12;
  }
}

.c-row.-home-product,
.c-row.-home-feature {
  --c-row-gutter-x: clamp(13px, 1.4705882353vw, 20px);
  --c-row-gutter-y: clamp(25px, 2.9411764706vw, 40px);
}

.c-row.-home-works,
.c-row.-archive-list {
  --c-row-gutter-x: clamp(41px, 4.7794117647vw, 65px);
  --c-row-gutter-y: clamp(50px, 5.8823529412vw, 80px);
}

.c-row.-home-flow {
  --c-row-gutter-x: 0px;
  --c-row-gutter-y: clamp(28px, 3.3088235294vw, 45px);
}

.c-row.-home-explore {
  --c-row-gutter-x: clamp(22px, 2.5735294118vw, 35px);
  --c-row-gutter-y: clamp(22px, 2.5735294118vw, 35px);
}

.c-spinner {
  --c-spinner-size: 25px;
  --c-spinner-weight: 2px;
  --c-spinner-bar-color: var(--color-white);
  --c-spinner-track-color: rgba(255, 255, 255, 0.4);
}

.c-spinner {
  opacity: 0;
  display: block;
  width: var(--c-spinner-size);
  height: var(--c-spinner-size);
  border: var(--c-spinner-weight) solid var(--c-spinner-track-color);
  border-top-color: var(--c-spinner-bar-color);
  border-radius: 50%;
  transition: opacity 0.5s 1s ease;
  animation: c-spinner 1s infinite linear;
}

.c-spinner.-is-ready {
  opacity: 1;
}

@keyframes c-spinner {
  100% {
    transform: rotate(360deg);
  }
}
.c-typography {
  --c-typography-font-size: var(--font-16);
  --c-typography-font-family: inherit;
  --c-typography-font-weight: inherit;
  --c-typography-line-height: 2.125;
  --c-typography-color: inherit;
  --c-typography-space: 1.75em;
  --c-typography-h-margin-top: 2.5em;
  --c-typography-h-margin-bottom: 0;
  --c-typography-h-font-weight: bold;
  --c-typography-h-font-family: inherit;
  --c-typography-h-line-height: 1.5;
  --c-typography-h-color: inherit;
  --c-typography-h1-font-size: 1em;
  --c-typography-h2-font-size: 1.5em;
  --c-typography-h3-font-size: 1.25em;
  --c-typography-h4-font-size: 1.125em;
  --c-typography-h5-font-size: 1em;
  --c-typography-h6-font-size: 1em;
  --c-typography-table-line-height: 1.75;
  --c-typography-table-font-size: .9em;
  --c-typography-list-line-height: 1.75;
  --c-typography-list-li-margin-bottom: .375em;
  --c-typography-dt-font-weight: inherit;
  --c-typography-dt-font-family: inherit;
  --c-typography-strong-font-weight: bold;
  --c-typography-strong-font-family: inherit;
  --c-typography-a-color: var(--color-red);
}

.c-typography {
  font-size: var(--c-typography-font-size);
  font-family: var(--c-typography-font-family);
  font-weight: var(--c-typography-font-weight);
  line-height: var(--c-typography-line-height);
  color: var(--c-typography-color);
  text-align: justify;
  word-break: break-all;
}
.c-typography h1,
.c-typography h2,
.c-typography h3,
.c-typography h4,
.c-typography h5,
.c-typography h6 {
  margin: var(--c-typography-h-margin-top) 0 var(--c-typography-h-margin-bottom);
  font-weight: var(--c-typography-h-font-weight);
  font-family: var(--c-typography-h-font-family);
  line-height: var(--c-typography-h-line-height);
  color: var(--c-typography-h-color);
}
.c-typography h1:first-child,
.c-typography h2:first-child,
.c-typography h3:first-child,
.c-typography h4:first-child,
.c-typography h5:first-child,
.c-typography h6:first-child {
  margin-top: 0;
}
.c-typography h1:last-child,
.c-typography h2:last-child,
.c-typography h3:last-child,
.c-typography h4:last-child,
.c-typography h5:last-child,
.c-typography h6:last-child {
  margin-bottom: 0;
}
.c-typography :is(h1, h2, h3, h4, h5, h6) + :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
}
.c-typography h1 {
  font-size: var(--c-typography-h1-font-size);
}
.c-typography h2 {
  font-size: var(--c-typography-h2-font-size);
}
.c-typography h3 {
  font-size: var(--c-typography-h3-font-size);
}
.c-typography h4 {
  font-size: var(--c-typography-h4-font-size);
}
.c-typography h5 {
  font-size: var(--c-typography-h5-font-size);
}
.c-typography h6 {
  font-size: var(--c-typography-h6-font-size);
}
.c-typography p,
.c-typography dl,
.c-typography ol,
.c-typography ul,
.c-typography blockquote,
.c-typography pre,
.c-typography table,
.c-typography figure,
.c-typography hr,
.c-typography .c-embed,
.c-typography .wp-block-image,
.c-typography .wp-block-embed {
  margin-top: var(--c-typography-space);
}
.c-typography p:first-child,
.c-typography dl:first-child,
.c-typography ol:first-child,
.c-typography ul:first-child,
.c-typography blockquote:first-child,
.c-typography pre:first-child,
.c-typography table:first-child,
.c-typography figure:first-child,
.c-typography hr:first-child,
.c-typography .c-embed:first-child,
.c-typography .wp-block-image:first-child,
.c-typography .wp-block-embed:first-child {
  margin-top: 0;
}
.c-typography ol:first-of-type, .c-typography ul:first-of-type {
  margin-top: var(--c-typography-list-li-margin-bottom);
}
.c-typography :is(ol, ul) + :is(ol, ul) {
  margin: 0;
}
.c-typography table {
  line-height: var(--c-typography-table-line-height);
  font-size: var(--c-typography-table-font-size);
}
.c-typography dt {
  font-weight: var(--c-typography-dt-font-weight);
  font-family: var(--c-typography-dt-font-family);
}
.c-typography dd {
  line-height: var(--c-typography-list-line-height);
}
.c-typography ul, .c-typography ol {
  padding-left: 1.25em;
  line-height: var(--c-typography-list-line-height);
}
.c-typography ul {
  list-style: disc;
}
.c-typography ol {
  list-style: decimal;
}
.c-typography li {
  margin: 0 0 var(--c-typography-list-li-margin-bottom);
}
.c-typography strong {
  font-weight: var(--c-typography-strong-font-weight);
  font-family: var(--c-typography-strong-font-family);
}
.c-typography a:not(.c-btn) {
  text-decoration: underline;
  color: var(--c-typography-a-color);
}

.c-contentNone {
  background: var(--color-black-light);
  padding: clamp(47px, 5.5147058824vw, 75px) clamp(19px, 2.2058823529vw, 30px);
}
.c-contentNone > .text {
  font-size: var(--font-16);
  line-height: 2;
  text-align: center;
  color: var(--color-gray-light);
}

.grecaptcha-badge {
  visibility: hidden;
}

.mw_wp_form {
  --mw-wp-form-error-margin-top: .5em;
  --mw-wp-form-error-font-size: .875em;
  --mw-wp-form-error-color: var(--color-red);
}

.mw_wp_form .error {
  display: block !important;
  margin-top: var(--mw-wp-form-error-margin-top) !important;
  font-size: var(--mw-wp-form-error-font-size) !important;
  color: var(--mw-wp-form-error-color) !important;
}

.alignright,
.alignleft {
  --wp-native-align-space: 1em;
}

.alignright {
  float: right;
  margin: 0 0 var(--wp-native-align-space) var(--wp-native-align-space);
}

.alignleft {
  float: left;
  margin: 0 var(--wp-native-align-space) var(--wp-native-align-space) 0;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  max-width: 100%;
  margin-top: 1.5em;
  text-align: center;
}

p.wp-caption-text {
  margin-top: 0;
  font-size: 0.9em;
}

.wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  margin: 0;
  padding: 0;
  font-size: var(--font-15);
  font-family: var(--font-sans);
  line-height: 1;
  letter-spacing: 0;
  list-style: none;
}
.wp-pagenavi > .page,
.wp-pagenavi > .current {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 2.25em;
  height: 2.25em;
  background: var(--color-black-light);
  font-weight: 500;
  text-decoration: none;
}
.wp-pagenavi > .current {
  background: var(--color-white);
  color: var(--color-black);
}
.wp-pagenavi > .extend {
  font-size: 0.9em;
}

.site-drawer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 260px;
  height: 100%;
  padding: 40px 30px;
}
.site-drawer > .inner > .nav {
  font-size: 15px;
}
.site-drawer > .inner > .nav > li + li {
  margin-top: 1.5em;
}
.site-drawer > .inner > .nav > li > a {
  display: inline-flex;
  align-items: center;
  gap: 0.375em;
}
.site-drawer > .inner > .sns {
  margin-top: 50px;
  display: flex;
  gap: 10px;
}

.site-wrap {
  overflow: hidden;
  position: relative;
  min-height: 100vh;
  margin: 0 auto;
}
@media (min-width: 960px) {
  .site-wrap {
    padding-top: var(--header-height);
  }
}

.site-header {
  z-index: 100;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--color-black);
}
@media (min-width: 960px) {
  .site-header {
    display: block;
  }
}
.site-header > .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: var(--content-size-fluid);
  height: var(--header-height);
  margin: 0 auto;
}

.site-header-contact {
  text-align: center;
  font-size: var(--font-10);
  letter-spacing: 0em;
}
.site-header-contact > dd > .tel {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.25em 0;
  font: 700 var(--font-27)/1 var(--font-en);
}

.site-banner {
  background: var(--color-white);
}
.site-banner > .inner {
  max-width: var(--content-size-large);
  margin: 0 auto;
  padding: 0 0 clamp(69px, 8.0882352941vw, 110px);
}
@media (min-width: 960px) {
  .site-banner > .inner {
    padding: 0 clamp(34px, 4.0441176471vw, 55px) clamp(69px, 8.0882352941vw, 110px);
  }
}
.site-banner > .inner > p {
  padding-top: clamp(19px, 2.2058823529vw, 30px);
}
.site-banner > .inner > p + p {
  margin-top: clamp(19px, 2.2058823529vw, 30px);
  padding-top: 0;
}

.site-pagetop {
  z-index: 1;
  position: relative;
}
@media (min-width: 768px) {
  .site-pagetop {
    mix-blend-mode: difference;
  }
}
.site-pagetop > .pagetopBtn {
  position: absolute;
  bottom: 0;
  right: clamp(16px, 1.8382352941vw, 25px);
}
@media (min-width: 768px) {
  .site-pagetop > .pagetopBtn {
    position: fixed;
    bottom: clamp(22px, 2.5735294118vw, 35px);
    transform-origin: 100% 100%;
    transform: rotate(90deg) translateY(100%);
  }
}

.site-footer {
  padding: clamp(44px, 5.1470588235vw, 70px) 0 clamp(16px, 1.8382352941vw, 25px);
  background: var(--color-black);
}
.site-footer > .inner {
  max-width: var(--content-size-medium);
  margin: 0 auto;
}
.site-footer > .inner > .site-footer-secondary {
  margin-top: clamp(53px, 6.25vw, 85px);
}
.site-footer > .copyright {
  margin-top: clamp(47px, 5.5147058824vw, 75px);
  font-size: var(--font-10);
  font-family: var(--font-en);
  letter-spacing: 0.0125em;
  text-align: center;
}
@media (min-width: 560px) {
  .site-footer > .copyright {
    font-size: var(--font-13);
  }
}

.site-footer-primary > .logo {
  text-align: center;
}
.site-footer-primary > .logo > img {
  width: clamp(195px, 22.9411764706vw, 312px);
}
.site-footer-primary > .site-footer-contact {
  margin-top: clamp(19px, 2.2058823529vw, 30px);
}

.site-footer-contact {
  text-align: center;
  font-size: var(--font-16);
  letter-spacing: 0.0375em;
}
.site-footer-contact > dd > .tel {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.3175em 0;
  font: 700 var(--font-40)/1 var(--font-en);
}

.site-footer-secondary {
  display: flex;
  flex-direction: column;
  gap: clamp(31px, 3.6764705882vw, 50px);
}
@media (min-width: 560px) {
  .site-footer-secondary {
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row;
  }
}
.site-footer-secondary > .data {
  text-align: center;
}
@media (min-width: 560px) {
  .site-footer-secondary > .data {
    text-align: left;
  }
}
.site-footer-secondary > .data > .logo > img {
  width: clamp(169px, 19.8529411765vw, 270px);
}
.site-footer-secondary > .data > .address {
  margin-top: 2em;
  font-size: var(--font-16);
}
.site-footer-secondary > .data > .contact {
  margin-top: 2em;
  font-size: var(--font-15);
  font-family: var(--font-en);
}
.site-footer-secondary > .data > .contact > div {
  display: flex;
  gap: 1em;
  justify-content: center;
}
@media (min-width: 560px) {
  .site-footer-secondary > .data > .contact > div {
    justify-content: flex-start;
  }
}
.site-footer-secondary > .data > .contact > div + div {
  margin-top: 1em;
}

.page-container > .title {
  display: grid;
  place-items: center;
  height: clamp(125px, 14.7058823529vw, 200px);
  background: var(--color-gradient-a);
}
.page-container > .title > .heading {
  max-width: var(--content-size-large);
  margin: 0 auto;
  font: 700 var(--font-35)/1.375 var(--font-sans);
  text-align: center;
}
.page-container > .title > .heading::before {
  content: "Square Wave CONTENTS";
  display: block;
  margin-bottom: 0.5em;
  font: 500 var(--font-10)/1 var(--font-en);
}
.page-container > .breadcrumb {
  max-width: var(--content-size-medium);
  margin: 0 auto;
  padding-top: clamp(6px, 0.7352941176vw, 10px);
}
.page-container > .body {
  padding: clamp(94px, 11.0294117647vw, 150px) 0 clamp(106px, 12.5vw, 170px);
}

.archive-container {
  max-width: var(--content-size-medium);
  margin: 0 auto;
}
.archive-container > .archive-category {
  margin-bottom: clamp(25px, 2.9411764706vw, 40px);
}
.archive-container > .pagination {
  margin-top: clamp(47px, 5.5147058824vw, 75px);
}

.archive-category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  font-size: var(--font-13);
  line-height: 1.25;
}
.archive-category > li > a {
  display: block;
  padding: 0.375em 1em;
  border: 2px solid var(--color-blue-light);
  color: var(--color-blue-light);
}
.archive-category > li > a.-current {
  background: var(--color-blue-light);
  color: var(--color-white);
}

.single-container {
  max-width: var(--content-size-medium);
  margin: 0 auto;
}

.single-article {
  padding: clamp(63px, 7.3529411765vw, 100px) clamp(25px, 2.9411764706vw, 40px) clamp(88px, 10.2941176471vw, 140px);
  background: var(--color-white);
  color: var(--color-black);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - clamp(38px, 4.4117647059vw, 60px)), calc(100% - clamp(38px, 4.4117647059vw, 60px)) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - clamp(38px, 4.4117647059vw, 60px)), calc(100% - clamp(38px, 4.4117647059vw, 60px)) 100%, 0 100%);
}
@media (min-width: 768px) {
  .single-article {
    padding: clamp(63px, 7.3529411765vw, 100px) clamp(63px, 7.3529411765vw, 100px) clamp(88px, 10.2941176471vw, 140px);
  }
}
.single-article > .header {
  padding-bottom: clamp(16px, 1.8382352941vw, 25px);
  border-bottom: 1px dotted var(--color-black);
}
.single-article > .header > .heading {
  font: 700 var(--font-27)/1.5 var(--font-sans);
  text-align: justify;
  word-break: break-all;
}
.single-article > .header > .single-headerData {
  margin-top: clamp(9px, 1.1029411765vw, 15px);
}
.single-article > .body {
  margin-top: clamp(38px, 4.4117647059vw, 60px);
}
.single-article > .footer {
  margin-top: clamp(44px, 5.1470588235vw, 70px);
}
.single-article > .footer > .c-pager {
  margin-top: clamp(16px, 1.8382352941vw, 25px);
}

.single-headerData {
  display: flex;
  flex-wrap: wrap;
  font-size: var(--font-14);
  line-height: 1.25;
  color: var(--color-gray);
}
.single-headerData > li:not(:last-child)::after {
  content: "/";
  margin: 0 0.75em;
}

.single-headerCategory {
  display: flex;
  flex-wrap: wrap;
}
.single-headerCategory > li:not(:last-child)::after {
  margin: 0 0.25em 0 0.125em;
  content: ",";
}

.single-footerShare {
  padding: clamp(19px, 2.2058823529vw, 30px);
  background: var(--color-gray-pale);
  text-align: center;
}
.single-footerShare > .heading {
  margin-bottom: 0.75em;
  font-weight: 700;
  font-size: var(--font-15);
}

.privacy-container {
  max-width: var(--content-size-small);
  margin: 0 auto;
}
.privacy-container > .lead {
  font-size: var(--font-14);
  line-height: 2.25;
  text-align: justify;
  word-break: break-all;
}
.privacy-container > .lead + .privacy-list {
  margin-top: clamp(31px, 3.6764705882vw, 50px);
}

.privacy-list > div + div {
  margin-top: clamp(31px, 3.6764705882vw, 50px);
}
.privacy-list > div > dt {
  font-weight: 700;
  font-size: var(--font-15);
  line-height: 2;
}
.privacy-list > div > dd {
  margin-top: 0.75em;
  font-size: var(--font-14);
  line-height: 2;
  text-align: justify;
  word-break: break-all;
}
.privacy-list > div > dd > p,
.privacy-list > div > dd > ul,
.privacy-list > div > dd > ol {
  margin-top: 0.5em;
}
.privacy-list > div > dd > p:first-child,
.privacy-list > div > dd > ul:first-child,
.privacy-list > div > dd > ol:first-child {
  margin-top: 0;
}

.contact-container {
  max-width: var(--content-size-medium);
  margin: 0 auto;
}
.contact-container > .heading {
  font-weight: 700;
  font-size: var(--font-24);
  text-align: center;
}
.contact-container > .text {
  margin-top: clamp(28px, 3.3088235294vw, 45px);
  font-size: var(--font-16);
  line-height: 2.25;
  text-align: justify;
  word-break: break-all;
}
@media (min-width: 560px) {
  .contact-container > .text {
    text-align: center;
  }
}
.contact-container > .action {
  margin-top: clamp(31px, 3.6764705882vw, 50px);
  text-align: center;
}

.notfound-container {
  max-width: var(--content-size-medium);
  margin: 0 auto;
}
.notfound-container > .text {
  font-size: var(--font-16);
  line-height: 2.25;
  text-align: justify;
  word-break: break-all;
}
@media (min-width: 560px) {
  .notfound-container > .text {
    text-align: center;
  }
}
.notfound-container > .action {
  margin-top: clamp(31px, 3.6764705882vw, 50px);
  text-align: center;
}

._text-white {
  color: #fff !important;
}

._text-black {
  color: #000 !important;
}

._text-black-light {
  color: #222 !important;
}

._text-gray {
  color: #555 !important;
}

._text-gray-light {
  color: #888 !important;
}

._text-gray-pale {
  color: #efefef !important;
}

._text-blue {
  color: #1e5ed6 !important;
}

._text-blue-light {
  color: #528bf5 !important;
}

._text-blue-dark {
  color: #1e4690 !important;
}

._text-red {
  color: #d9140e !important;
}

._text-red-dark {
  color: #c92c27 !important;
}

._text-gradient-a {
  color: linear-gradient(90deg, #1e5ed6, #d9140e) !important;
}

._text-gradient-b {
  color: linear-gradient(45deg, #1e5ed6, #d9140e) !important;
}

._d-none {
  display: none !important;
}

._d-block {
  display: block !important;
}

._d-inline-block {
  display: inline-block !important;
}

._d-inline {
  display: inline !important;
}

._d-flex {
  display: flex !important;
}

._d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 560px) {
  ._d-sm-none {
    display: none !important;
  }
  ._d-sm-block {
    display: block !important;
  }
  ._d-sm-inline-block {
    display: inline-block !important;
  }
  ._d-sm-inline {
    display: inline !important;
  }
  ._d-sm-flex {
    display: flex !important;
  }
  ._d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  ._d-md-none {
    display: none !important;
  }
  ._d-md-block {
    display: block !important;
  }
  ._d-md-inline-block {
    display: inline-block !important;
  }
  ._d-md-inline {
    display: inline !important;
  }
  ._d-md-flex {
    display: flex !important;
  }
  ._d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 960px) {
  ._d-lg-none {
    display: none !important;
  }
  ._d-lg-block {
    display: block !important;
  }
  ._d-lg-inline-block {
    display: inline-block !important;
  }
  ._d-lg-inline {
    display: inline !important;
  }
  ._d-lg-flex {
    display: flex !important;
  }
  ._d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  ._d-xl-none {
    display: none !important;
  }
  ._d-xl-block {
    display: block !important;
  }
  ._d-xl-inline-block {
    display: inline-block !important;
  }
  ._d-xl-inline {
    display: inline !important;
  }
  ._d-xl-flex {
    display: flex !important;
  }
  ._d-xl-inline-flex {
    display: inline-flex !important;
  }
}