/* Theme base styles */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/
:root {
  --primary-color: #1D61FF;
  --accent-color: #E50012;
  --color-black: #303030;
  --color-gs: #fff;
  --color-gs-secondary: #1D1D1F8C;
  --color-gs-tertiary: #1D1D1F59;
  --border-color: #C9D3D1;
  --transition-1: cubic-bezier(0.47,0.16,0.24,1);
  --transition-2: cubic-bezier(.16,1,.3,1);
  --circle: calc(72*3.14);
  --circle2: calc(80*3.14);
  --font-en: "Figtree", sans-serif;
}


/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*, *:before, *:after {
  box-sizing: border-box;
}

figure {
  margin: 0;
  line-height: 0;
}

button {
  padding: 0;
  border: none;
  background: none;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 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
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  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: 1em; /* 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;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * 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. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

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

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/



/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 769px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}

@media (min-width: 769px) {
  .for-sp {
    display: none;
  }
}

@media (max-width: 768px) {
  .for-pc {
    display: none;
  }
}

[aria-hidden="true"] {
  display: none;
}

.body-container-wrapper {
  background: #fff;
  position: relative;
  z-index: 2;
}

@media (min-width: 769px) {
  .body-container-wrapper {
    min-height: calc(100vh -  64.2rem);
  }

  .inner {
    padding: 0 8rem;
    max-width: 2400px;
    margin: 0 auto;
  }

  .pages-inner {
    padding: 0 8rem;
    max-width: 1440px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .inner {
    margin: 0 2rem;
  }
  .pages-inner {
    margin: 0 2rem;
  }
}

.pages {
  padding: 12rem 0 0;
}

.page-head {
  margin-bottom: 12rem;
}

.page-text {
  width: 66.8rem;
  margin: 0 0 0 auto;
}

@media (max-width: 768px) {
  .pages {
    padding: 6.4rem 0 0;
  }
  .page-text {
    width: 100%;
  }
}

.section {
  position: relative;
}


/* Elements
Base HMTL elements are styled in this section (<body>, <h1>, <a>, <p>, <button> etc.)
*/

/* The overflow-wrap is meant to prevent long/large words from breaking the mobile responsiveness of a page (e.g. horizontal scrolling). It is preferred to reduce font sizes on mobile to address this, with this CSS specifically helping with extreme scenarios where a reduction in font size is not possible. */


html {
  font-size: min(.694444vw, 104.1669%);
}

@media (max-width: 768px) {
  html {
    font-size: 2.6667vw;
  }
}

body {
  font-family: "Figtree", YakuHanJP, heisei-kaku-gothic-std, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.8;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  text-size-adjust: 100%;
  color: #303030;
}

@media (max-width: 768px) {
  body {
    font-size: 1.4rem;
  }
}

/* Handles word breaking for a few specific languages which handle breaks in words differently. If your content is not translated into these languages, you can safely remove this.  */

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-all;
}

/* Paragraphs */

p {
  margin: 0;
}

/* Anchors */

a {
  cursor: pointer;
  text-decoration: none;
  color: var(--color-black);
}

/* Lists */

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0;
}

.no-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

blockquote {
  border-left: 2px solid;
  margin: 0 0 1.4rem;
  padding-left: 0.7rem;
}

/* Horizontal rules */

hr {
  border: none;
  border-bottom: 1px solid #CCC;
}

/* Image alt text */

img {
  font-size: 0.583rem;
  word-break: normal;
}

/* 英語 */
.en {
  font-family: "Figtree", sans-serif;
}

/* 見出し */
.headline {
  font-size: 4.0rem;
  line-height: 1.5;
  margin: 0;
}

.headline span.-jp {
  display: block;
  overflow: hidden;
  font-size: 1.4rem;
  line-height: 1;
  color: var(--primary-color);
  margin: 0 0 4rem;
}

.headline span.-en {
  display: block;
  will-change: auto;
  margin: -1.5rem 0 -2.5rem;
  padding-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.headline em {
  display: block;
  font-family: var(--font-en);
  font-size: 10rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1;
  word-break: keep-all;
}

.headline.-secondary {
  font-size: 4.8rem;
}

.headline.-secondary span {
  margin-bottom: 2rem;
}

.headline.-secondary span.-en {
  font-family: var(--font-en);
  font-size: 1.6rem;
  color: var(--primary-color);
}

.headline.-tertiary {
  font-size: 3.6rem;
}

.pages-hero {
  padding: 12rem 0;
}

.pages-hero .headline span.-jp {
  font-size: 2rem;
  letter-spacing: 0;
}

@media (min-width: 769px) {
  a {
    transition: .3s;
  }
}
@media (max-width: 768px) {
  .headline {
    font-size: 2.4rem;
  }

  .headline span.-jp {
    margin: 0 0 2.4rem;
  }

  .headline span.-en {
    margin: 0 0 2.4rem;
    margin: -.9rem 0 -1.9rem;
  }

  .headline em {
    font-size: 6.4rem;
  }

  .headline.-secondary {
    font-size: 3.2rem;
  }
  
  .headline.-secondary span {
    margin-bottom: 1.6rem;
  }

  .headline.-tertiary {
    font-size: 2.4rem;
  }

  .pages-hero {
    padding: 12rem 0 6.4rem;
  }

  .pages-hero .headline span.-jp {
    font-size: 1.4rem;
  }
}

.lead {
  font-size: 2.0rem;
  letter-spacing: -0.01em;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .lead {
    font-size: 1.6rem;
  }
}

.page-copy {
  font-size: 7.0rem;
  font-weight: 700;
  line-height: 1.22;
}

.page-copy.-en {
  line-height: 1;
  font-variation-settings: "wght" 500;
}

.page-lead {
  font-size: 2.6rem;
  font-variation-settings: "wght" 500;
  font-weight: 700;
  line-height: 1.4;
}

.page-head {
  margin: 0 0 12rem;
}
@media (max-width: 768px) {
  .page-copy {
    font-size: 3.6rem;
  }
  .page-lead {
    font-size: 1.8rem;
  }
  .page-head {
    margin: 0 0 5rem;
  }
}

[data-show-in] {
  display: block;
  transform: translateY(101%);
}

[data-fade-up] {
  overflow: hidden;
}

[data-fade-up] span {
  display: inline-block;
  transform: translateY(100%);
}

[data-fade-in] {
  opacity: 0;
}

[data-parallax] {
  overflow: hidden;
}

[data-parallax] img {
  transform: translateY(10%);
}
.icon-arrow-circle {
  position: relative;
  line-height: 0;
  width: 7.2rem;
  height: 7.2rem;
}

.icon-arrow-circle svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.icon-circle-hover {
  position: absolute;
  top: 0;
  left: 0;
}

@media (min-width: 769px) {
  .icon-circle-hover circle {
    stroke:  var(--primary-color);
    stroke-dasharray: 0 var(--circle);
    transition: stroke-dasharray .7s var(--transition-1);
  }

  a:hover .icon-circle-hover circle,
  .link:hover .icon-circle-hover circle {
    transition: stroke-dasharray .3s var(--transition-1);
    stroke-dasharray: var(--circle) var(--circle);
  }
}

@media (max-width: 768px) {
  .icon-arrow-circle {
    width: 5.6rem;
    height: 5.6rem;
  }
}

.icon-circle-hover {
  color: var(--primary-color);
  transform: rotate(-90deg);
}
button,
.button,
.hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

button:disabled,
.button:disabled,
.hs-button:disabled {
}

/* No button */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: initial;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  transition: none;
}

.button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 5rem;
  max-width: 63rem;
  line-height: 1.8;
  padding: 2.4rem 3.8rem 2.4rem 4rem;
  border: solid 1px var(--border-color);
  border-radius: 8px;
}

.button__text {
  position: relative;
  z-index: 1;
  transition: .3s;
}

.button .icon-arrow-circle {
  width: 7.2rem;
  height: 7.2rem;
  margin: 0 0 0 auto;
}

.button.-primary {
  background: #1D61FFCC;
  border: none;
  color: #fff;
}

@media (min-width: 769px) {
  .button:hover {
    background: #1D61FFB2;
    border: #1D61FFB2;
    box-shadow: 0px 6px 10px 0px #33529933;
  }

  .button:hover .button__text {
    color: #fff;
  }

  .button .icon-arrow-circle path {
    transition: .3s;
  }
  .button:hover .icon-arrow-circle rect {
    stroke: #fff;
  }
  .button:hover .icon-arrow-circle path {
    fill: #fff;
  }
}

@media (max-width: 768px) {
  .button {
    padding: 2.4rem;
    font-size: 1.4rem;
  }

  .button .icon-arrow-circle {
    width: 4rem;
    height: 4rem;
  }
}

.button:disabled {
  pointer-events: none;
  background: #E6EAE9;
  border: none;
  color: var(--color-gs-tertiary);
}

.button:disabled .icon-arrow-circle rect {
  stroke: var(--color-gs-tertiary);
}

.button:disabled .icon-arrow-circle path {
  fill: var(--color-gs-tertiary);
}
.link {
  display: inline-flex;
  align-items: center;
  gap: 2.4rem;
  font-weight: 700;
}

@media (max-width: 768px) {
  .link {
    font-size: 1.4rem;
    gap: 1.6rem;
  }
}

/* 共通ページリンク */
.pages-link {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  border-top: solid 1px var(--border-color);
  border-bottom: solid 1px var(--border-color);
  padding: 4rem 1.6rem;
}

.pages-link img {
  width: 20rem;
}

.pages-link__content {
  flex: 1;
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 3.2rem;
}

.pages-link__text {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.pages-link__text span {
  color: var(--primary-color);
  font-size: 1.6rem;
  line-height: 1;
}
.pages-link__text em {
  font-family: var(--font-en);
  font-size: 5.6rem;
  font-weight: 600;
  font-style: normal;
  letter-spacing: -0.02em;
  line-height: 1;
  word-break: keep-all;
}

.pages-link .icon-arrow-circle {
  flex-shrink: 0;
  margin: 0 0 0 auto;
}

.dnd-section:has(.pages-link) + .dnd-section:has(.pages-link) .pages-link {
  border-top: none;
}

@media (min-width: 769px) {
  .row-fluid .span6:has(.pages-link) {
    width: 46.875%;
    position: relative;
  }

  .row-fluid .span6:has(.pages-link) + .span6:has(.pages-link)::before {
    content: "";
    display: block;
    width: 1px;
    height: calc(100% - 4rem);
    background: var(--border-color);
    position: absolute;
    left: -4.1rem;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
@media (max-width: 768px) {
  .pages-link {
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
    padding: 3.2rem 0 3.3rem;
  }
  .pages-link img {
    width: 100%;
  }
  .pages-link__text {
    gap: 1rem;
  }
  .pages-link__text span {
    font-size: 1.4rem;
  }
  .pages-link__text em {
    font-size: 4.2rem;
  }
  .pages-link .icon-arrow-circle {
    width: 5.6rem;
    height: 5.6rem;
  }
  .row-fluid .span6:has(.pages-link) + .span6:has(.pages-link) .pages-link {
    border-top: none;
  }
}

/* テキストリンク */

.text-link {
  color: var(--primary-color);
  text-decoration: underline;
}
.line {
  margin: 0;
  border-color: #303030;
}
/* Fields */
.form fieldset {
  max-width: 100% !important;
}

.hs-form-field {
  margin-bottom: 1.4rem;
}

.hs-form-field > label {
  display: flex;
  gap: .4rem;
  margin-bottom: 1.6rem;
}

/* Labels */

form label {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.7;
}

fieldset:has(textarea) label {
  margin: 0 0 1.3rem;
}

@media (max-width: 768px) {
  form label {
    font-size: 1.6rem;
    margin: 0;
  }
}

/* Form Title */
.form-title {
  margin-bottom: 0;
}

/* Help text */

form legend {
  font-size: clamp(14px,1.6rem,16px);
  line-height: 1.7;
}
@media (max-width: 768px) {
  form legend {
    font-size: 1.4rem;
    line-height: 1.8;
  }
}

/* Inputs */
input[type="text"],
input[type=email],
input[type=tel] {
  display: block;
  background: #F5F5F7;
  border: none;
  padding: 0;
  font-size: 1.4rem;
  border-radius: .4rem;
}

select {
  display: block;
  background: #F5F5F7 url('data:image/svg+xml;charset=utf-8,<svg width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 7.70078L0 1.70078L1.4 0.300781L6 4.90078L10.6 0.300781L12 1.70078L6 7.70078Z" fill="#303030"/></svg>') no-repeat right 1.6rem center;
  background-size: 1.2rem .74rem;
  border: none;
  padding: 0;
  font-size: 1.4rem;
  border-radius: .4rem;
  appearance: none;
}

input[type="text"]:focus,
input[type=email]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
  outline: none;
  border: 2px solid #1D61FFCC;
}

textarea {
  background: #F5F5F7;
  padding: 1.6rem;
  font-size: 1.4rem;
  border: none;
  height: 40rem;
  border-radius: .4rem;
}

.is-confirm .hs-form-field > label {
  margin-bottom: 1.2rem;
}
.is-confirm input[type=text],
.is-confirm input[type=search],
.is-confirm input[type=email],
.is-confirm input[type=password],
.is-confirm input[type=tel],
.is-confirm input[type=number],
.is-confirm input[type=file],
.is-confirm select,
.is-confirm textarea,
.text-confirm {
  padding-left: 0;
  padding-right: 0;
  pointer-events: none;
  appearance: none;
  height: auto;
  background: none;
  font-size: 2rem;
}

.is-confirm input:-webkit-autofill {
  box-shadow: 0 0 0 1.4rem #fff inset !important;
}

.is-confirm .hs-form-radio:not(:has(input:checked)) {
  display: none;
}

.is-confirm input[type=radio] + span {
  padding: 0;
}

.is-confirm input[type=radio] + span::before,
.is-confirm input[type=radio] + span::after,
.is-confirm input[type=radio]:checked + span::after {
  display: none;
}

@media (max-width: 768px) {
  input[type="text"],
  input[type=email],
  input[type=tel],
  textarea,
  select {
    font-size: 1.6rem;
  }
  select {

    background-position: right .8rem center;
  }
  .is-confirm input[type=text],
  .is-confirm input[type=search],
  .is-confirm input[type=email],
  .is-confirm input[type=password],
  .is-confirm input[type=tel],
  .is-confirm input[type=number],
  .is-confirm input[type=file],
  .is-confirm select,
  .is-confirm textarea,
  .text-confirm {
    font-size: 1.8rem;
  }

  .is-confirm select {
    padding: .6rem 0 1.8rem;
  }
}

/* Inputs - checkbox/radio */

.inputs-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 4.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.inputs-list input,
.inputs-list span {
  vertical-align: middle;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=checkbox] + span,
input[type=radio] + span {
  display: inline-block;
  margin: 0 !important;
  padding: 0 0 0 2.8rem;
  position: relative;
}

input[type=checkbox] + span::before,
input[type=radio] + span::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border: solid 1px #A7A8AA;
  border-radius: .4rem;
  position: absolute;
  left: 0;
  top: 3px;
}

input[type=checkbox] + span::after {
  content: "";
  display: block;
  width: 12px;
  height: 10px;
  border-left: solid 3px #fff;
  border-bottom: solid 3px #fff;
  opacity: 0;
  position: absolute;
  top: .6rem;
  left: .4rem;
  transform: rotate(-45deg);
}

input[type=checkbox]:checked + span::before {
  border: none;
  background: #1D61FF;
}

input[type=checkbox]:checked + span::after {
  opacity: 1;
}

input[type=radio] + span::before {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  top: .1rem;
}

input[type=radio] + span::after {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  left: 4px;
  opacity: 0;
  background: #000;
  border-radius: 50%;
  position: absolute;
  top: 5px;
}

input[type=radio]:checked + span::after {
  opacity: 1;
}

@media (max-width: 768px) {
  .inputs-list {
    gap: 1.6rem;
  }
  input[type=checkbox] + span {
    padding: 0 0 0 3.0rem;
  }
  input[type=checkbox] + span::before {
    width: 2rem;
    height: 2rem;
  }
  input[type=checkbox] + span::after {
    width: 1.2rem;
    height: 1rem;
    border-left: solid .3rem #fff;
    border-bottom: solid .3rem #fff;
    top: .5rem;
    left: .3rem;
  }
  input[type=radio] + span {
    padding: 0 0 0 3.7rem;
  }
  input[type=radio] + span::before {
    width: 2.5rem;
    height: 2.5rem;
  }
  input[type=radio] + span::after {
    width: 1.7rem;
    height: 1.7rem;
    left: .4rem;
    top: .5rem;
  }

  .inputs-list input[type=checkbox] + span {
    padding: .85rem 0 .85rem 4.6rem;
  }
  .inputs-list input[type=checkbox] + span::before {
    left: 12px;
    top: 12px;
  }
  .inputs-list input[type=checkbox] + span::after {
    left: 16px;
    top: 16px;
  }
}

.is-confirm .hs-form-checkbox label,
.is-confirm input[type=checkbox] {
  pointer-events: none;
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */

input[type=file] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: clamp(16px,1.8rem,18px);
  line-height: 1.7;
}

form .hs-richtext a {
  text-decoration: underline;
}

@media (min-width: 769px) {
  form .hs-richtext p {
    margin: 0 0 2rem;
  }
}

@media (max-width: 768px) {
  form .hs-richtext,
  form .hs-richtext p {
    font-size: 1.6rem;
  }
}

form .hs-richtext img {
  max-width: 100% !important;
}

/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 0 !important;
}

.legal-consent-container .hs-form-booleancheckbox-display > span {
  display: flex !important;
  gap: .4rem;
}

/* Validation */

.hs-form-required {
  color: #FE4249;
}

.hs-input.invalid.error {
  border-color: #FE4249;
}

.hs-error-msg {
  font-size: 1.4rem;
  color: #FE4249;
  margin-top: 0.4rem;
}

.is-confirm .hs-form-required {
  display: none;
}

/* Submit button */
.actions:has(.hs-button) {
  max-width: 63rem;
  cursor: pointer;
  border: none;
  background: #1D61FFCC url('data:image/svg+xml;charset=utf-8,<svg width="56" height="56" viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.5" y="0.5" width="55" height="55" rx="27.5" stroke="white" stroke-opacity="0.3"/><path d="M30.7832 28.6667H23.3332C23.1443 28.6667 22.9859 28.6029 22.8582 28.4751C22.7304 28.3473 22.6665 28.189 22.6665 28.0001C22.6665 27.8112 22.7304 27.6529 22.8582 27.5251C22.9859 27.3973 23.1443 27.3334 23.3332 27.3334H30.7832L27.5165 24.0667C27.3832 23.9334 27.3193 23.7779 27.3248 23.6001C27.3304 23.4223 27.3998 23.2667 27.5332 23.1334C27.6665 23.0112 27.8221 22.9473 27.9998 22.9417C28.1776 22.9362 28.3332 23.0001 28.4665 23.1334L32.8665 27.5334C32.9332 27.6001 32.9804 27.6723 33.0082 27.7501C33.0359 27.8279 33.0498 27.9112 33.0498 28.0001C33.0498 28.089 33.0359 28.1723 33.0082 28.2501C32.9804 28.3279 32.9332 28.4001 32.8665 28.4667L28.4665 32.8667C28.3443 32.989 28.1915 33.0501 28.0082 33.0501C27.8248 33.0501 27.6665 32.989 27.5332 32.8667C27.3998 32.7334 27.3332 32.5751 27.3332 32.3917C27.3332 32.2084 27.3998 32.0501 27.5332 31.9167L30.7832 28.6667Z" fill="white"/></svg>') no-repeat right 3.8rem center;
  border-radius: .8rem;
  transition: all .15s linear;
}
.post-search input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  transition: all 0.15s linear;
  white-space: normal;
  padding: 0;
  border: none;
  background: none;
  font-size: 1.8rem;
  font-weight: 700;
  position: relative;
}

.form .actions .hs-button {
  width: 100%;
  display: block;
  line-height: 1.8;
  border-radius: .8rem;
  padding: 3.6rem 3.8rem 3.6rem 4rem;
  color: #fff;
  text-align: left;
}

.form .button .icon-arrow-circle {
  width: 5.6rem;
  height: 5.6rem;
}

@media (min-width: 769px) {
  .actions:has(.hs-button):hover {
    background-color: #1d61ffb2;
    box-shadow: 0 6px 10px 0 #33529933;
  }
}

@media (max-width: 768px) {
  .actions:has(.hs-button) {
    gap: 1.6rem;
    background-size: 4rem 4rem;
    background-position: right 2.4rem center;
  }
  form input[type=submit],
  form .hs-button {
    font-size: 1.5rem;
  }
  .form .actions .hs-button {
    padding: 3.15rem 2.4rem;
    font-size: 1.4rem;
  }
  .form .button .icon-arrow-circle {
    width: 4rem;
    height: 4rem;
  }
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}




[aria-hidden="true"] {
  display: none;
}
/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}
.parallax-image {
  position: relative;
  overflow: hidden;
}

.parallax-image::before {
  content: "";
  display: block;
}

.parallax-image img {
  /* transition: transform .3s; */
  position: absolute;
  top: 0;
  left: 0;
}

.video {
  overflow: hidden;
}

.video::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

.video iframe {
  min-width: 100%;
  min-height: 100%;
}

/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

/* Missing Template at Path: \'corp-monicle\/css\/components\/_nav.css\' */
/* Navigation skipper */

.header__skip {
  height: 1px;
  left: -1000px;
  overflow: hidden;
  position: absolute;
  text-align: left;
  top: -1000px;
  width: 1px;
}

.header__skip:hover,
.header__skip:focus,
.header__skip:active {
  height: auto;
  left: 0;
  overflow: visible;
  top: 0;
  width: auto;
}

/**/
.header {
  position: fixed;
  width: 100%;
  z-index: 998;
}

.header.is-open .header__list {
  opacity: 0;
  visibility: hidden;
}

.header__container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  max-width: 2400px;
  padding: min(2.083333vw,50px) min(2.77778vw, 66.667px);
  margin: 0 auto;
}

.header__logo {
  width: min(13.47222vw, 323.33px);
  line-height: 0;
}

.header__logo svg {
  display: block;
  width: 100%;
}

.header__logo g.-text {
  overflow: hidden;
}

.header__logo g.-text g {
  display: block;
  transition: transform .8s, opacity .8s;
}

.header.is-fixed .header__logo g.-text g {
  transform: translateX(-100%);
  opacity: 0;
}

.header__logo .-color {
  fill: var(--color-black);
  transition: .3s;
}

.header__content {
  display: flex;
  align-items: center;
  gap: min(3.88889vw, 93.33px);
  margin: 0 0 0 auto;
  padding: min(.694444vw, 16.667px) min(.694444vw, 16.667px) min(.833333vw, 20px) min(1.66667vw, 40px);
  background: #FFFFFF33;
  backdrop-filter: blur(5px);
  border-radius: min(2.083333vw, 50px);
}

.header__list {
  display: flex;
  gap: min(3.888889vw, 93.3333px);
}

.header__list li a {
  display: flex;
  align-items: center;
  color: var(--color-black);
  font-size: min(1.111111vw, 26.6667px);
  font-weight: 700;
  line-height: 1;
  padding: min(.694444vw, 16.667px) 0;
}

.header__menu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(2.777778vw, 66.67px);
  height: min(2.777778vw, 66.67px);
  background: none;
  border: none;
  padding: 0;
}

.header__menu-icon {
  position: relative;
  line-height: 0;
  width: 100%;
  height: 100%;
}

.header__menu-icon svg {
  overflow: visible;
}

.header__menu-icon .-front {
  position: absolute;
  top: 0;
  left: 0;
}

.header__menu.-close {
  position: absolute;
  top: min(2.777778vw, 66.67px);
  right: min(3.472222vw, 83.333px);
  z-index: 10;
}

.header__menu.is-open .menu-open {
  opacity: 0;
  visibility: hidden;
}

@media (min-width: 769px) {
  body.is-open {
    touch-action: none;
    -webkit-overflow-scrolling: none;
    overflow: hidden;
    overscroll-behavior: none;
  }
  a.header__logo:hover {
    opacity: 1;
  }
  .header.is-fixed a.header__logo:hover g.-text g {
    transform: none;
    opacity: 1;
  }
  .header__list li a {
    position: relative;
  }

  .header__list li a::after {
    content: "";
    height: 1px;
    inset: 100% 0 auto;
    transform: scale(0, 1);
    transform-origin: right center;
    background: var(--primary-color);
    transition-duration: .6s;
    transition-property: transform;
    transition-timing-function: var(--transition-2);
    position: absolute;
    top: calc(100% - .2rem);
  }

  .header__list li a:hover::after,
  .header__list li a.is-active::after {
    transform: scale(1, 1);
    transform-origin: left center;
  }
  
  .header__menu-icon .-front circle {
    stroke:  var(--primary-color);
    stroke-dasharray: 0 var(--circle2);
    transition: stroke-dasharray .7s var(--transition-1);
  }

  .header__menu:hover .header__menu-icon .-front circle {
    transition: stroke-dasharray .3s var(--transition-1);
    stroke-dasharray: var(--circle2) var(--circle2);
  }
}

@media (max-width: 768px) {
  .header {
    &.is-gray-scale {
      & .header__logo .-color {
        fill: #fff;
      }

      & .header__menu:not(.-close) svg rect,
      & .header__menu:not(.-close) svg path {
        stroke: #fff;
      }
    }
  }
  .header__container {
    justify-content: space-between;
    padding: 1.2rem 2rem;
  }
  .header__content {
    padding: 0;
    background: none;
    backdrop-filter: none;
  }
  .header__logo {
    width: 12.9rem;
  }
  .header__logo svg {
    height: 3.2rem;
  }
  .header__list {
    display: none;
  }
  .header__menu {
    width: 4rem;
    height: 4rem;
    margin: 0;
  }
  .header__menu.-close {
    right: 2rem;
    top: 1.2rem;
  }
}

.drawer {
  width: 100%;
  height: 100%;
  background: #EEEEEC;
  position: fixed;
  top: 0;
  left: 0;
  overscroll-behavior: contain;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: 1s var(--transition-2);
}

.drawer.is-open {
  transform: none;
  overflow: auto;
  overscroll-behavior: contain;
  opacity: 1;
  visibility: visible;
}

.drawer__logo {
  width: min(13.47222vw, 323.33px);
  position: absolute;
  top: min(3.33333vw, 80px);
  left: min(3.33333vw, 80px);
  line-height: 0;
  z-index: 1;
}

.drawer__logo .-color {
    fill: #303030;  
}

.drawer__inner {
  display: flex;
  width: 100%;
  min-height: 100%;
  padding: min(11.11111vw, 266.667px) min(5.555555vw, 133.333px) min(3.888889vw, 93.3333px);
  position: relative;
}

.drawer__bg {
  width: 34.2361111%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  background: url(//23485944.fs1.hubspotusercontent-na1.net/hubfs/23485944/raw_assets/public/corp-monicle/images/bg_drawer.jpg) no-repeat center center;
  background-size: cover;
}

.drawer__nav {
  display: flex;
  flex-direction: column;
  width: min(51.25vw, 1229.98px);
  margin: 0 0 0 auto;
}

.drawer__list {
  display: flex;
  flex-wrap: wrap;
  gap: min(6.66667vw, 160px) min(1.66667vw, 40px);
  margin: 0 0 min(15.27778vw, 366.666px);
}

.drawer__item {
  width: min(11.5625vw, 277.484px);
}

.drawer__link {
  display: inline-block;
  font-size: min(1.38889vw, 33.3333px);
  font-weight: 700;
  line-height: 1;
  padding: 0 0 min(.694444vw, 16.667px);
}

.drawer__child-list {
  display: flex;
  flex-direction: column;
  gap: min(1.111111vw, 26.6667px);
  margin: min(1.66667vw, 40px) 0 0;
}

.drawer__child-list li {
  font-size: min(1.041667vw, 25px);
  line-height: 1.4;
}

.drawer__child-list li a {
  color: var(--color-gs-secondary);
  font-feature-settings: "palt";
}

.drawer__child-list li a[target]::after {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: min(.972222vw,23.33px);
  height: min(.972222vw,23.33px);
  background: url('data:image/svg+xml;charset=utf-8,<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.41667 12.75C3.09583 12.75 2.82118 12.6358 2.59271 12.4073C2.36424 12.1788 2.25 11.9042 2.25 11.5833V3.41667C2.25 3.09583 2.36424 2.82118 2.59271 2.59271C2.82118 2.36424 3.09583 2.25 3.41667 2.25H7.5V3.41667H3.41667V11.5833H11.5833V7.5H12.75V11.5833C12.75 11.9042 12.6358 12.1788 12.4073 12.4073C12.1788 12.6358 11.9042 12.75 11.5833 12.75H3.41667ZM6.15833 9.65833L5.34167 8.84167L10.7667 3.41667H8.66667V2.25H12.75V6.33333H11.5833V4.23333L6.15833 9.65833Z" fill="%231D1D1F" fill-opacity="0.55"/></svg>') no-repeat center center;
  background-size: 100% 100%;
  margin: 0 0 min(.27778vw,6.6667px) min(.27778vw,6.6667px);
  vertical-align: middle;
}

.drawer__sub-list {
  display: flex;
  flex-wrap: wrap;
  gap: min(1.66667vw, 40px);
  margin-top: auto;
}

.drawer__sub-list li {
  font-size: min(.972222vw,23.33px);
  line-height: 1;
}

.drawer__sub-list li a {
  color: var(--color-gs-tertiary);
}

.drawer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: min(1.66667vw, 40px) 0 0;
  margin: min(2.77778vw, 66.667px) 0 0;
  border-top: solid 1px #0000001A;
}

.drawer__copyright {
  font-size: min(.972222vw,23.33px);
  line-height: 1.0;
  color: var(--color-gs-tertiary);
}

.drawer__sns {
  display: flex;
  gap: min(.555556vw, 13.3333px);
}

.drawer__sns li {
  line-height: 0;
}

.drawer__sns li a .-opacity {
  fill-opacity: 0.35;
}

.drawer__sns li a svg {
  width: min(2.77778vw, 66.667px);
  height: min(2.77778vw, 66.667px);
}

@media (min-width: 769px) {
  /* body.is-open {
    position: fixed;
    left: 0;
    width: 100%;
    overflow-y: scroll;
  } */
  .drawer__link {
    position: relative;
  }

  .drawer__link::after {
    content: "";
    height: 1px;
    inset: 100% 0 auto;
    transform: scale(0, 1);
    transform-origin: right center;
    background: var(--primary-color);
    transition-duration: .6s;
    transition-property: transform;
    transition-timing-function: var(--transition-2);
    position: absolute;
    top: calc(100% - .2rem);
  }

  .drawer__link:hover::after {
    transform: scale(1, 1);
    transform-origin: left center;
  }
  
  .drawer__child-list li a:hover {
    color: var(--color-black);
  }
  .drawer__child-list li a:hover::after {
    background-image: url('data:image/svg+xml;charset=utf-8,<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.41667 12.75C3.09583 12.75 2.82118 12.6358 2.59271 12.4073C2.36424 12.1788 2.25 11.9042 2.25 11.5833V3.41667C2.25 3.09583 2.36424 2.82118 2.59271 2.59271C2.82118 2.36424 3.09583 2.25 3.41667 2.25H7.5V3.41667H3.41667V11.5833H11.5833V7.5H12.75V11.5833C12.75 11.9042 12.6358 12.1788 12.4073 12.4073C12.1788 12.6358 11.9042 12.75 11.5833 12.75H3.41667ZM6.15833 9.65833L5.34167 8.84167L10.7667 3.41667H8.66667V2.25H12.75V6.33333H11.5833V4.23333L6.15833 9.65833Z" fill="%23303030"/></svg>');
  }
  .drawer__sub-list li a:hover {
    color: var(--color-gs-secondary);
  }
  .drawer__sns li a:hover .-opacity {
    fill-opacity: 0.55;
  }
}

@media (max-width: 768px) {

  .drawer {
    width: 100%;
    overflow: auto;
  }

  .drawer__logo {
    display: none;
  }

  .drawer__inner {
    padding: 10rem 2rem 4.5rem;
    margin: 0;
  }
  
  .drawer__bg {
    display: none;
  }

  .drawer__nav {
    gap: 4.8rem;
    width: 100%;
    margin: 0;
  }

  .drawer__list {
    flex-direction: column;
    gap: 0;
    border-top: solid 1px #1D1D1F26;
    margin: 0;
  }

  .drawer__item {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border-bottom: solid 1px #1D1D1F26;
  }

  .drawer__link {
    display: block;
    width: 100%;
    font-size: 1.8rem;
    padding: 2.4rem 0;
  }

  .drawer__link[data-show-pc] {
    display: none;
  }

  .drawer__toggle-button {
    flex: 1;
    background: none;
    border: none;
    position: relative;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-black);
    padding: 2.4rem 0;
    text-align: left;
    &::before,
    &::after {
      content: "";
      display: block;
      width: 1rem;
      height: .1rem;
      background: var(--primary-color);
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      transition: .6s;
    }
    &::after {
      transform: rotate(90deg);
    }

    &[aria-expanded="true"] {
      &::before {
        transform: rotate(180deg);
      }
      &::after {
        opacity: 0;
      }
    }
  }

  .drawer__child {
    width: 100%;
    display: none;
  }

  .drawer__child-list {
    margin: 0;
    padding: 0 0 .8rem;
    gap: 0;
  }

  .drawer__child-list li {
    line-height: 1;
    font-size: 1.5rem;
  }
  
  .drawer__child-list li a {
    display: block;
    padding: 1.6rem 0 1.6rem 3.4rem;
  }
  
  .drawer__child-list li:first-child a {
    padding-top: .8rem;
  }
  
  .drawer__child-list li a[target]::after {
  
      width: 1.4rem;
      height: 1.4rem;
      margin: 0 0 .6rem .6rem;
  }

  .drawer__sub-list {
    flex-direction: column;
    gap: 1.6rem;
    margin: 0;
  }

  .drawer__sub-list li {
    font-size: 1.5rem;
    line-height: 1.5;
  }
  
  .drawer__bottom {
    margin: 0;
    padding-bottom: 4.8rem;
  }

  .drawer__copyright {
    font-size: 1.4rem;
  }

  .drawer__sns li a svg {
    width: 4rem;
    height: 4rem;
  }
}
.footer {
  background: #333333;
  padding: min(8.333333vw, 200px) 0 min(2.77778vw, 66.667px);
  position: relative;
  z-index: 1;
  will-change: transform;
}

.footer__inner {
  padding: 0 min(5.55555vw, 133.333px);
  max-width: 2400px;
  margin: 0 auto;
}

.footer__column {
  display: flex;
  gap: min(1.388889vw, 33.3333px);
}

.footer__logo {
  width: min(21.180556vw, 508.328px);
}

.footer__logo a {
  display: block;
  width: min(13.6805556vw, 328.328px);
}

.footer__nav {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: min(5.55555vw, 133.333px) min(2.77778vw, 66.667px);
}

.footer__nav dl {
  flex: 1;
  margin: 0 0 min(-1.6667vw, -40px);
}

.footer__nav dl:last-child {
  margin: 4rem 0 0 0;
}

.footer__nav dl:first-child .footer__list {
  column-count: 2;
}

.footer__nav dl dt {
  font-family: "Figtree", sans-serif;
  font-size: min(1.25vw, 30px);
  line-height: 1.2;
  font-weight: 600;
  color: #FFFFFF59;
  padding: 0 0 min(.555555vw, 13.3333px);
  margin: 0 0 min(1.6667vw, 40px);
  border-bottom: solid 1px #FFFFFF59;
}

.footer__nav dl dd {
  margin: 0;
}

.footer__list li {
  page-break-inside: avoid;
  font-size: min(1.041667vw, 25px);
  line-height: 1;
  margin: 0 0 min(1.6667vw, 40px);
}

.footer__list li a {
  display: inline-flex;
  align-items: center;
  gap: min(.27778vw,6.6667px);
  color: #fff;
  padding: 0 0 min(.27778vw,6.6667px);
  position: relative;
}

.footer__list li a[target]::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: min(.972222vw,23.33px);
  height: min(.972222vw,23.33px);
  background: url('data:image/svg+xml;charset=utf-8,<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.76742 5.59826L5.15797 10.2077C5.0411 10.3246 4.90361 10.383 4.74549 10.383C4.58738 10.383 4.44988 10.3246 4.33302 10.2077C4.21615 10.0908 4.15771 9.95335 4.15771 9.79523C4.15771 9.63711 4.21615 9.49962 4.33302 9.38275L8.94247 4.7733L4.90017 4.7733C4.73518 4.7733 4.59941 4.71658 4.49285 4.60315C4.38629 4.48972 4.33302 4.35051 4.33302 4.18552C4.33989 4.0274 4.39661 3.89163 4.50316 3.77819C4.60972 3.66476 4.74549 3.60805 4.91049 3.60805L10.3552 3.60805C10.4377 3.60805 10.5116 3.62352 10.5769 3.65445C10.6422 3.68539 10.7024 3.72835 10.7574 3.78335C10.8124 3.83835 10.8553 3.8985 10.8863 3.96381C10.9172 4.02912 10.9327 4.10302 10.9327 4.18552L10.9327 9.63024C10.9327 9.78148 10.876 9.91382 10.7625 10.0273C10.6491 10.1407 10.5133 10.2008 10.3552 10.2077C10.1902 10.2077 10.051 10.151 9.93757 10.0376C9.82414 9.92413 9.76743 9.78492 9.76743 9.61993L9.76742 5.59826Z" fill="white"/></svg>') no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  left: calc(100% + min(.27778vw,6.6667px));
}

.footer__child-list {
  display: flex;
  flex-direction: column;
  gap: min(1.111111vw, 26.6667px);
  margin: min(1.38889vw, 33.3333px) 0 0;
}

.footer__child-list li {
  font-size: min(.972222vw,23.33px);
  line-height: 1;
  margin: 0;
}
.footer__child-list li a {
  color: #FFFFFF8C;
}

.footer__child-list li a[target]::after {
  background-image: url('data:image/svg+xml;charset=utf-8,<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.76742 5.59826L5.15797 10.2077C5.0411 10.3246 4.90361 10.383 4.74549 10.383C4.58738 10.383 4.44988 10.3246 4.33302 10.2077C4.21615 10.0908 4.15771 9.95335 4.15771 9.79523C4.15771 9.63711 4.21615 9.49962 4.33302 9.38275L8.94247 4.7733L4.90017 4.7733C4.73518 4.7733 4.59941 4.71658 4.49285 4.60315C4.38629 4.48972 4.33302 4.35051 4.33302 4.18552C4.33989 4.0274 4.39661 3.89163 4.50316 3.77819C4.60972 3.66476 4.74549 3.60805 4.91049 3.60805L10.3552 3.60805C10.4377 3.60805 10.5116 3.62352 10.5769 3.65445C10.6422 3.68539 10.7024 3.72835 10.7574 3.78335C10.8124 3.83835 10.8553 3.8985 10.8863 3.96381C10.9172 4.02912 10.9327 4.10302 10.9327 4.18552L10.9327 9.63024C10.9327 9.78148 10.876 9.91382 10.7625 10.0273C10.6491 10.1407 10.5133 10.2008 10.3552 10.2077C10.1902 10.2077 10.051 10.151 9.93757 10.0376C9.82414 9.92413 9.76743 9.78492 9.76743 9.61993L9.76742 5.59826Z" fill="white" fill-opacity="0.55"/></svg>');
}

.footer__sub {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer__sub-list {
  display: flex;
  gap: min(1.6667vw, 40px);
}

.footer__sub-list li {
  font-size: min(.9027778vw, 21.6667px);
  line-height: 1;
}

.footer__sub-list li a {
  color: #FFFFFF8C;
  font-feature-settings: "palt";
}

.footer__sns {
  display: flex;
  gap: min(.555555vw, 13.3333px);
}

.footer__sns li a {
  display: block;
  line-height: 0;
}

.footer__sns li a .-opacity {
  fill-opacity: 0.55;
}

.footer__sns li a svg {
  width: min(2.77778vw, 66.667px);
  height: min(2.77778vw, 66.667px);
}

.footer__bottom {
  padding: min(2.77778vw, 66.667px) 0 0;
  margin: min(2.77778vw, 66.667px) 0 0;
  border-top: solid 1px #FFFFFF1A
}

.fooer__copyright {
  font-family: "Figtree", sans-serif;
  font-size: min(.972222vw,23.33px);
  color: #FFFFFF59;
  text-align: right;
  margin: 0;
}
@media (min-width: 2401px) {
  .footer__inner {
    padding: 0;
  }
}
@media (min-width: 769px) {

  .footer__list > li > a::before {
    background: #fff;
    content: "";
    height: 1px;
    inset: 100% 0 auto;
    position: absolute;
    top: 100%;
    transform: scaleX(0);
    transform-origin: right center;
    transition-duration: .6s;
    transition-property: transform;
    transition-timing-function: var(--transition-2);
  }
  .footer__list > li > a:hover::before {
    transform: scaleX(1);
    transform-origin: left center;
  }

  .footer__child-list li a:hover {
    color: #fff;
  }
  .footer__child-list li a[target]:hover::after {
    background-image: url('data:image/svg+xml;charset=utf-8,<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.76742 5.59826L5.15797 10.2077C5.0411 10.3246 4.90361 10.383 4.74549 10.383C4.58738 10.383 4.44988 10.3246 4.33302 10.2077C4.21615 10.0908 4.15771 9.95335 4.15771 9.79523C4.15771 9.63711 4.21615 9.49962 4.33302 9.38275L8.94247 4.7733L4.90017 4.7733C4.73518 4.7733 4.59941 4.71658 4.49285 4.60315C4.38629 4.48972 4.33302 4.35051 4.33302 4.18552C4.33989 4.0274 4.39661 3.89163 4.50316 3.77819C4.60972 3.66476 4.74549 3.60805 4.91049 3.60805L10.3552 3.60805C10.4377 3.60805 10.5116 3.62352 10.5769 3.65445C10.6422 3.68539 10.7024 3.72835 10.7574 3.78335C10.8124 3.83835 10.8553 3.8985 10.8863 3.96381C10.9172 4.02912 10.9327 4.10302 10.9327 4.18552L10.9327 9.63024C10.9327 9.78148 10.876 9.91382 10.7625 10.0273C10.6491 10.1407 10.5133 10.2008 10.3552 10.2077C10.1902 10.2077 10.051 10.151 9.93757 10.0376C9.82414 9.92413 9.76743 9.78492 9.76743 9.61993L9.76742 5.59826Z" fill="white"/></svg>');
  }
  .footer__sub-list li a:hover {
    color: #fff;
  }
  .footer__sns li a:hover .-opacity {
    fill-opacity: 1;
  }
}

@media (max-width: 768px) {
  .footer {
    padding: 6.4rem 0 4rem;
  }
  
  .footer__column {
    display: block;
    gap: 0;
  }
  
  .footer__logo {
    width: auto;
  }
  
  .footer__logo a {
    width: 12.9rem;
    line-height: 0;
  }
  
  .footer__nav {
    flex-direction: column;
    gap: 4.8rem;
  }

  .footer__nav dl {
    margin: 0 0 -2.4rem;
  }
  
  .footer__nav dl:last-child {
    margin: 5rem 0 1rem 0;
  }

  .footer__nav dl dt {
    font-size: 1.8rem;
    margin: 0 0 2.4rem;
    padding: 0 0 .8rem;
  }
  
  .footer__list li {
    font-size: 1.4rem;
    margin: 0 0 2.4rem;
  }
  
  .footer__list li a {
    padding: 0;
  }

  .footer__list li a[target]:after {
    height: 1.4rem;
    left: calc(100% + .4rem);
    width: 1.4rem;
  }

  .footer__child-list {
    gap: 1.6rem;
    margin-top: 2rem;
  }
  
  .footer__child-list li {
    font-size: 1.3rem;
    margin: 0;
  }
  
  .footer__sub {
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
  }
  
  .footer__sub-list {
    flex-wrap: wrap;
    gap: 1.6rem;
  }
  
  .footer__sub-list li {
    font-size: 1.2rem;
  }

  .footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 4rem 0 0;
    padding: 4rem 0 0;
  }
  
  .footer__sns {
    gap: .8rem;
  }
  
  .footer__sns li a svg {
    height: 4rem;
    width: 4rem;
  }

  .fooer__copyright {
    font-size: 1.4rem;
  }
  
}
/* Missing Template at Path: \'corp-monicle\/css\/components\/_hero.css\' */
.breadcrumbs {
  padding: 0 0 4rem;
}

.breadcrumbs__list {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.breadcrumbs__list li {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-shrink: 0;
  font-size: 1.3rem;
  line-height: 1;
}

.breadcrumbs__list li a {
  color: var(--color-gs-tertiary);
}

.breadcrumbs__list li + li::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: .4rem;
  height: .4rem;
  background: var(--primary-color);
  border-radius: 50%;
}

.breadcrumbs__list li:last-child span {
  max-width: 40rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .breadcrumbs {
    padding: 0 0 2.4rem;
  }
  .breadcrumbs__list {
    gap: .8rem;
    width: 100%;
    justify-content: flex-end;
    margin: 0 -.4rem;
  }
  .breadcrumbs__list li {
    gap: .8rem;
    font-size: 1.2rem;
    letter-spacing: -0.01em;
  }
  .breadcrumbs__list li:last-child {
    flex-grow: 1;
    flex-shrink: 1;
    overflow: hidden;
  }
  .breadcrumbs__list li:last-child span{
    width: 100%;
  }
}
/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}
/* Missing Template at Path: \'corp-monicle\/css\/components\/_slider.css\' */
/* Missing Template at Path: \'corp-monicle\/css\/components\/_recruit.css\' */

/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 768px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}