/* 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 {
  --brand-color: #E50012;
  --link-color: #107EC8;
}

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

*, *:before, *:after {
  box-sizing: border-box;
}
/*! 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;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 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;
}

/* 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: 768px) {
  .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));
    }
  
}
.content-wrapper {
  max-width: 800px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .content-wrapper {
    margin: 0 2.4rem;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 1rem;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* 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: 62.5%;
  scroll-behavior: smooth;
}
body {
  font-family: indivisible-variable, heisei-kaku-gothic-std, sans-serif;
  font-variation-settings: "wght" 500;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  text-size-adjust: 100%;
  color: #222;
}

/* 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;
  color: var(--link-color);
  text-decoration: none;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

/* Lists */

ul,
ol {
  margin: 0;
}

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

ul.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: indivisible-variable, sans-serif;
}
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 {
  background-color: #0000000F;
  border-color: #0000000F;
  color: #6D6D6D;
}

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

/* cta */
.button--cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  text-decoration: none;
}

.button-text {
  padding: 1.35rem 3.2rem;
  color: #fff;
  background: var(--brand-color);
  text-decoration: none;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: -0.1em;
  line-height: 1.5;
  border-radius: .4rem;
  transition: .3s;
}

.button-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.4rem;
  height: 5.4rem;
  background: var(--brand-color);
  border-radius: .4rem;
  position: relative;
  overflow: hidden;
}

.button-icon img {
  position: absolute;
}

.button-icon img:nth-child(1) {
  transform: translateX(-200%);
}

@media (min-width: 768px) {
  .button-text,
  .button-icon,
  .button-icon img {
    transition: .3s;
  }
  .button--cta:hover .button-text,
  .button--cta:hover .button-icon {
    background: #C9020F;
  }

  .button--cta:hover .button-icon img:nth-child(1) {
    transform: translateX(0);
  }
  .button--cta:hover .button-icon img:nth-child(2) {
    transform: translateX(200%);
  }
}
[data-hsfc-id=Renderer] .hsfc-Form {
  --hsf-global__font-family: indivisible-variable, heisei-kaku-gothic-std, sans-serif;
  --hsf-default-field-input__font-family: indivisible-variable, heisei-kaku-gothic-std, sans-serif;
  --hsf-default-heading__font-family: indivisible-variable, heisei-kaku-gothic-std, sans-serif;
  --hsf-default-erroralert__font-family: indivisible-variable, heisei-kaku-gothic-std, sans-serif;
  --hsf-default-button__font-family: indivisible-variable, heisei-kaku-gothic-std, sans-serif;
  --hsf-default-button__font-size: 1.8rem;
  --hsf-default-field-input__border-width: 0px 0px 1px 0px;
  --hsf-default-background__padding: 0;
  --hsf-default-row__vertical-spacing: 5.6rem;
  --hsf-default-module__vertical-spacing: 1.5rem;
  --hsf-default-row__horizontal-spacing: 2rem;
}
/* Fields */

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

.hs-form-field > label {
  margin-bottom: 1.5rem;
}

fieldset.form-columns-2 {
  display: flex;
  gap: 2rem;
}

fieldset.form-columns-2 .hs-form-field {
  flex: 1;
  float: none !important;
}

fieldset .input {
  margin: 0 !important;
}

fieldset.form-columns-1 input,
fieldset.form-columns-1 select {
  width: 100% !important;
  overflow: hidden !important;
}

/* 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: 767px) {
  form label {
    font-size: 1.6rem;
    line-height: 1.25;
    margin: 0;
  }
  .hs-form-field > label {
    margin-bottom: 1.2rem;
  }
  
}

/* 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: 767px) {
  form legend {
    font-size: 1.4rem;
    line-height: 1.8;
  }
}

/* Inputs */
.hsfc-TextInput,
form input[type=text],
form input[type=search],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  display: block;
  font-size: 1.6rem;
  line-height: 1.25;
  padding: 1.8rem 1.2rem;
  width: 100%;
  background: none;
  border: none;
  border-bottom: solid 1px #262626;
  border-radius: 0;
}

input:focus-visible {
  outline: none;
}

[data-hsfc-id=Renderer] .hsfc-TextInput:active,
form input[type=text]:focus,
form input[type=search]:focus,
form input[type=email]:focus,
form input[type=tel]:focus,
form input[type=number]:focus,
form input[type=file]:focus,
form select:focus,
form textarea:focus {
  background-color: #fff;
  border: none;
  border-bottom: solid 2px #4698FF;
  box-shadow: none !important;
}
form input[type=text]:focus-visible,
form input[type=search]:focus-visible,
form input[type=email]:focus-visible,
form input[type=tel]:focus-visible,
form input[type=number]:focus-visible,
form input[type=file]:focus-visible,
form select:focus-visible,
form textarea:focus-visible {
  background-color: #fff;
  border: none;
  border-bottom: solid 2px #4698FF;
  box-shadow: none !important;
}

form select {
  padding-right: 3.8rem;
  appearance: none;
  background-image: url('data:image/svg+xml;charset=utf-8,<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.99983 14.227C9.75816 14.227 9.52483 14.1187 9.36649 13.9354L4.36649 8.10204C4.06649 7.75204 4.10816 7.22704 4.45816 6.92704C4.80816 6.62704 5.33316 6.66871 5.63316 7.01871L9.99983 12.1104L14.3665 7.01871C14.6665 6.66871 15.1915 6.62704 15.5415 6.92704C15.8915 7.22704 15.9332 7.75204 15.6332 8.10204L10.6332 13.9354C10.4748 14.1187 10.2415 14.227 9.99983 14.227Z" fill="%23222222"/></svg>');
  background-repeat: no-repeat;
  background-position: right 1.8rem center;
  background-size: 2rem;
}

form fieldset {
  max-width: 100% !important;
}

input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fbfbfb inset;
}

@media (min-width: 768px) {
  [data-hsfc-id=Renderer] .hsfc-TextInput:hover,
  form input[type=text]:hover,
  form input[type=search]:hover,
  form input[type=email]:hover,
  form input[type=tel]:hover,
  form input[type=number]:hover,
  form input[type=file]:hover,
  form select:hover,
  form textarea:hover {
    background-color: #fff;
    box-shadow: none !important;
  }
}

@media (max-width: 767px) {
  form select {
    background-position: right 1.2rem center;
    padding-right: 3.2rem;
  }
}

/* Inputs - checkbox/radio */
form input[type=checkbox],
form input[type=radio] {
  display: none;
}

form input[type=checkbox] + span {
  display: inline-block;
  margin: 0 !important;
  padding: 0 0 0 2.4rem;
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
  cursor: pointer;
}

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

form input[type=checkbox]:checked + span::before {
  background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="17" viewBox="0 0 16 17" fill="none"><path d="M14.224 0.476562H1.776C0.8 0.476562 0 1.26856 0 2.25256V14.7006C0 15.6766 0.8 16.4766 1.776 16.4766H14.224C15.208 16.4766 16 15.6766 16 14.7006V2.25256C16 1.26856 15.208 0.476562 14.224 0.476562ZM12.768 6.30856L7.168 11.9006C7 12.0766 6.768 12.1566 6.544 12.1566C6.32 12.1566 6.088 12.0766 5.912 11.9006L3.248 9.23656C2.904 8.89256 2.904 8.33256 3.248 7.98056C3.592 7.63656 4.152 7.63656 4.504 7.98056L6.552 10.0126L11.512 5.04456C11.856 4.70056 12.416 4.70056 12.776 5.04456C13.12 5.39656 13.12 5.95656 12.776 6.30856H12.768Z" fill="%234698FF"/></svg>') no-repeat center center;
  background-size: 100% 100%;
  border: none;
}

.inputs-list {
  padding: 0;
  list-style-type: none;
}

.inputs-list li {
  list-style-type: 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 */

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

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  line-height: 1.7;
}

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

@media (max-width: 767px) {
  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 input[type=checkbox] + span {
  padding: 0;
}

.legal-consent-container .hs-form-booleancheckbox input[type=checkbox] + span::before {
  display: none;
}

/* Validation */

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

.hs-input.invalid.error {
  border-color: #FA4E57;
  border-width: 2px;
}

.hs-error-msg {
  display: flex;
  align-items: flex-start;
  gap: .4rem;
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 300;
  color: #FA4E57;
  margin-top: 0.8rem;
}

.hs-error-msg::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background: url('data:image/svg+xml;charset=utf-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.99967 14.6668C4.32634 14.6668 1.33301 11.6735 1.33301 8.00016C1.33301 4.32683 4.32634 1.3335 7.99967 1.3335C11.673 1.3335 14.6663 4.32683 14.6663 8.00016C14.6663 11.6735 11.673 14.6668 7.99967 14.6668ZM7.99967 2.66683C5.05967 2.66683 2.66634 5.06016 2.66634 8.00016C2.66634 10.9402 5.05967 13.3335 7.99967 13.3335C10.9397 13.3335 13.333 10.9402 13.333 8.00016C13.333 5.06016 10.9397 2.66683 7.99967 2.66683Z" fill="%23FA4E57"/><path d="M6.82634 11.0802C6.82634 10.7668 6.93967 10.5002 7.17301 10.2735C7.40634 10.0468 7.67967 9.9335 7.99967 9.9335C8.31967 9.9335 8.58634 10.0402 8.81967 10.2535C9.05301 10.4668 9.17301 10.7335 9.17301 11.0468C9.17301 11.3602 9.05967 11.6268 8.82634 11.8535C8.59301 12.0802 8.31967 12.1935 7.99967 12.1935C7.84634 12.1935 7.69301 12.1668 7.55301 12.1068C7.41301 12.0468 7.28634 11.9668 7.17967 11.8735C7.07301 11.7735 6.98634 11.6602 6.91967 11.5202C6.85301 11.3802 6.82634 11.2335 6.82634 11.0802ZM8.87967 8.98683H7.11967V4.06683H8.87967V8.98683Z" fill="%23FA4E57"/></svg>') no-repeat center center;
  background-size: 100% 100%;
  flex-shrink: 0;
}

/* Submit button */
.hs-submit {
  margin-top: 1.6rem;
}

.actions:has(.hs-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  cursor: pointer;
}
form input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.3s;
  white-space: normal;
  padding: 0;
  border: none;
  background: none;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 1.4rem 3.2rem 1.3rem;
  border-radius: .4rem;
  background: var(--brand-color);
  color: #fff;
  transition: 0.3s;
}

form input[type=submit]:disabled,
form .hs-button:disabled {
  color: #5c5c5c;
}

.actions:has(input[type=submit]) {
  display: flex;
  align-items: center;
  gap: .4rem;
}

.actions:has(input[type=submit])::after {
  --arrow: url('data:image/svg+xml;charset=utf-8,<svg width="22" height="15" viewBox="0 0 22 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.1 8.57439L0.5 8.57439L0.5 6.47439L13.1 6.47439V8.57439Z" fill="%23F4F4F4"/><path d="M21.5 7.5C21.5 7.5 16.4631 8.02962 10.699 14.5C10.699 14.5 13.1 10.4292 13.1 7.5C13.1 4.57083 10.699 0.5 10.699 0.5C10.699 0.5 16.6993 7.5 21.5 7.5Z" fill="%23F4F4F4"/></svg>');
  content: "";
  display: block;
  width: 5.4rem;
  height: 5.4rem;
  background-color: var(--brand-color);
  background-image: var(--arrow) , var(--arrow);
  background-repeat: no-repeat;
  background-position: left -100% center, center center;
  background-size: 2.2rem 1.5rem;
  border-radius: .4rem;
  transition: 0.3s;
}

.actions:has(input[type=submit]:disabled)::after {
  background: #0000000F url('data:image/svg+xml;charset=utf-8,<svg width="22" height="15" viewBox="0 0 22 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.1 8.57439L0.5 8.57439L0.5 6.47439L13.1 6.47439V8.57439Z" fill="%235c5c5c"/><path d="M21.5 7.5C21.5 7.5 16.4631 8.02962 10.699 14.5C10.699 14.5 13.1 10.4292 13.1 7.5C13.1 4.57083 10.699 0.5 10.699 0.5C10.699 0.5 16.6993 7.5 21.5 7.5Z" fill="%235c5c5c"/></svg>') no-repeat center center;
}

@media (min-width: 768px) {
  .actions:not(:has([disabled])):hover input[type=submit] {
    background-color: #C9020F;
  }
  .actions:not(:has([disabled])):has(input[type=submit]):hover::after {
    background-color: #C9020F;
    background-position: center center, right -100% center;
    color: #fff;
  }
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}


  /* Search button input field and suggestions */
  .body-container-wrapper .hs-search-field__button {
    padding: 15px;
  }

  .body-container-wrapper .hs-search-field__bar--button-inline .hs-search-field__button {
    margin-left: 6px;
    margin-bottom: 0;
  }

  .body-container-wrapper .hs-search-field__button svg {
    height: 15px;
    fill: #fff;
  }

  .body-container-wrapper .hs-search-field__bar > form > .hs-search-field__input {
    padding: 10px;
  }

  .body-container-wrapper .hs-search-field__suggestions li a {
    color: #494A52;
    padding: 0.35rem 0.7rem;
    text-decoration: none;
    transition: background-color 0.3s;
  }


.hs-seminar_age {
  width: calc(50% - 1rem);
}

@media (max-width: 767px) {
  .hs-seminar_age {
    width: 100%;
  }
}

.hs-seminar_age .input {
  position: relative;
  &::after {
    content: "歳";
    line-height: 1;
    position: absolute;
    right: -2.6rem;
    bottom: -.4rem;
  }
}

@media (max-width: 767px) {
  .hs-seminar_age .input {
    display: flex;
    align-items: flex-end;
    gap: 1.6rem;
    &::after {
      position: relative;
      right: 0;
    }
  }
}
.complete-text {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  padding-bottom: 3rem;
  margin-bottom: 3.6rem;
  border-bottom: solid 1px #ccc;
}

@media (max-width: 767px) {
  .complete-text {
    font-size: 2.0rem;
    line-height: 1.4;
    padding-bottom: 2.4rem;
    margin-bottom: 2.6rem;
  }
}

.submitted-message {
  line-height: 1.75;
}

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

/* new forms */

[data-hsfc-id=Renderer] .hsfc-DataPrivacyField>*:not(:last-child) {
  margin-bottom: 1.6rem !important;
}

[data-hsfc-id=Renderer] .hsfc-DataPrivacyField .hsfc-Row:last-child {
  margin: 5.6rem 0 0;
}

.hsfc-DataPrivacyField .hsfc-RichText {
  font-weight: 700;
}

[data-hsfc-id=Renderer] .hsfc-DataPrivacyField .hsfc-Row:last-child .hsfc-RichText {
  font-weight: 400;
}

[data-hsfc-id=Renderer] .hsfc-DropdownInput__Caret {
  padding: 0 1.2rem !important;
}

[data-hsfc-id=Renderer] .hsfc-DropdownInput__Caret>span {
  border: none !important;
  width: 2rem !important;
  height: 2.1rem !important;
  background-image: url('data:image/svg+xml;charset=utf-8,<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.99983 14.227C9.75816 14.227 9.52483 14.1187 9.36649 13.9354L4.36649 8.10204C4.06649 7.75204 4.10816 7.22704 4.45816 6.92704C4.80816 6.62704 5.33316 6.66871 5.63316 7.01871L9.99983 12.1104L14.3665 7.01871C14.6665 6.66871 15.1915 6.62704 15.5415 6.92704C15.8915 7.22704 15.9332 7.75204 15.6332 8.10204L10.6332 13.9354C10.4748 14.1187 10.2415 14.227 9.99983 14.227Z" fill="%23222222"/></svg>');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 2rem;
}

[data-hsfc-id=Renderer] .hsfc-ErrorAlert {
  display: flex;
  align-items: flex-start;
  gap: .4rem;
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 300;
  color: #FA4E57;
  margin-top: 0.8rem;
}

[data-hsfc-id=Renderer] .hsfc-ErrorAlert::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background: url('data:image/svg+xml;charset=utf-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.99967 14.6668C4.32634 14.6668 1.33301 11.6735 1.33301 8.00016C1.33301 4.32683 4.32634 1.3335 7.99967 1.3335C11.673 1.3335 14.6663 4.32683 14.6663 8.00016C14.6663 11.6735 11.673 14.6668 7.99967 14.6668ZM7.99967 2.66683C5.05967 2.66683 2.66634 5.06016 2.66634 8.00016C2.66634 10.9402 5.05967 13.3335 7.99967 13.3335C10.9397 13.3335 13.333 10.9402 13.333 8.00016C13.333 5.06016 10.9397 2.66683 7.99967 2.66683Z" fill="%23FA4E57"/><path d="M6.82634 11.0802C6.82634 10.7668 6.93967 10.5002 7.17301 10.2735C7.40634 10.0468 7.67967 9.9335 7.99967 9.9335C8.31967 9.9335 8.58634 10.0402 8.81967 10.2535C9.05301 10.4668 9.17301 10.7335 9.17301 11.0468C9.17301 11.3602 9.05967 11.6268 8.82634 11.8535C8.59301 12.0802 8.31967 12.1935 7.99967 12.1935C7.84634 12.1935 7.69301 12.1668 7.55301 12.1068C7.41301 12.0468 7.28634 11.9668 7.17967 11.8735C7.07301 11.7735 6.98634 11.6602 6.91967 11.5202C6.85301 11.3802 6.82634 11.2335 6.82634 11.0802ZM8.87967 8.98683H7.11967V4.06683H8.87967V8.98683Z" fill="%23FA4E57"/></svg>') no-repeat center center;
  background-size: 100% 100%;
  flex-shrink: 0;
}

[data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px !important;
  cursor: pointer;
}

[data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons::after {
  --arrow: url('data:image/svg+xml;charset=utf-8,<svg width="22" height="15" viewBox="0 0 22 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.1 8.57439L0.5 8.57439L0.5 6.47439L13.1 6.47439V8.57439Z" fill="%23F4F4F4"/><path d="M21.5 7.5C21.5 7.5 16.4631 8.02962 10.699 14.5C10.699 14.5 13.1 10.4292 13.1 7.5C13.1 4.57083 10.699 0.5 10.699 0.5C10.699 0.5 16.6993 7.5 21.5 7.5Z" fill="%23F4F4F4"/></svg>');
  content: "";
  display: block;
  width: 5.4rem;
  height: 5.4rem;
  background-color: var(--brand-color);
  background-image: var(--arrow) , var(--arrow);
  background-repeat: no-repeat;
  background-position: left -100% center, center center;
  background-size: 2.2rem 1.5rem;
  border-radius: .4rem;
  transition: 0.3s;
}

[data-hsfc-id=Renderer] .hsfc-Button {
  font-size: 1.8rem;
  line-height: 1.5;
  transition: 0.3s !important;
}

@media (min-width: 768px) {
  [data-hsfc-id=Renderer] .hsfc-Button:not([disabled]):hover {
    background-color: #C9020F !important;
    transform: none !important;
    filter: none !important;
  }
  [data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons:hover::after {
    background-color: #C9020F;
    background-position: center center, right -100% center;
    color: #fff;
  }
}

[data-hsfc-id=Renderer] .hsfc-NavigationRow {
  margin-top: 3.2rem !important;
}

@media (max-width: 430px) {
  [data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons {
    flex-direction: row !important;
  }
  [data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons>* {
    width: auto !important;
  }
}

[data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content {
  padding: 0 !important;
}

[data-hsfc-id=Renderer] .hsfc-RichText p {
  line-height: 1.75;
}

.hsfc-TextField:has([name="0-1/seminar_age"]) {
  width: calc(50% - 1rem);
  position: relative;
  &::after {
    content: "歳";
    line-height: 1;
    position: absolute;
    right: -2.6rem;
    bottom: -0.4rem;
  }
}

@media (max-width: 767px) {
  .hsfc-TextField:has([name="0-1/seminar_age"]) {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0 1.6rem;
    width: 100%;
    &::after {
      position: relative;
      right: 0;
    }
  }
  .hsfc-FieldLabel {
    width: 100%;
  }
  
  [data-hsfc-id=Renderer] .hsfc-TextInput[name="0-1/seminar_age"] {
    flex: 1;
  }
}
/* 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;
}

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

.header {
  background: #000;
  padding: 1.2rem 2.4rem;
}
@media (max-width: 767px) {
  .header {
    padding: 1.2rem 2.2rem;
  }
}
/* Header DND sections */

.header .dnd-section {
  padding: 0;
}

/* Header container */

.header__container {
  display: flex;
  justify-content: space-between;
  line-height: 0;
}

.header__row-1 {
  padding-top: 1rem;
}

.header__row-1,
.header__row-2 {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

@media (max-width: 1150px) and (min-width: 767px) {
  .header__column {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .header__column {
    position: relative;
  }

  .header__row-1 {
    padding-top: 0;
  }

  .header__row-2 {
    justify-content: center;
    padding: 1.05rem;
  }
}

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

/* Logo */

.header__logo {
  align-items: center;
  display: flex;
  height: auto;
  margin-right: auto;
  max-width: 200px;
  overflow: hidden;
}

.header__logo picture {
  width: 100%;
}

@media (max-width: 767px) {
  .header__logo {
    width: 11.7rem;
  }
  .header__logo-mark {
    display: none;
  }
}

.header__logo img {
  max-width: 100%;
}

.header__logo .logo-company-name {
  font-size: 1.167rem;
  margin-top: 0.7rem;
}

.header__logo--main {
  padding-top: 1rem;
}

/* Search bar */

.header__search {
  padding: 0 1rem;
  width: auto;
}



  .hs-search-field__form {
    position: relative;
  }

  .header__search .hs-search-field__label {
    flex-basis: auto;
  }



.header__search .hs-search-field__input {
  
  height: 45px;
  padding: 0 0.7rem;
}



  .header__search .hs-search-field__button {
    padding: 0;
    fill: #000;
    background-color: transparent;
    border: none;
    padding: 10px;
    position: absolute;
    top: 0;
    right: 0;
  }

  .header__search .hs-search-field__button svg {
    height: 25px;
  }


.header__search .hs-search-field--open .hs-search-field__input {
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  max-width: 100%;
}

.header__search .hs-search-field--open .hs-search-field__suggestions {
  background-color: #FFF;
  border: 2px solid #D1D6DC;
  border-radius: 0 0 6px 6px;
  border-top-width: 1px;
  position: absolute;
  width: 100%;
  z-index: 10;
}

.header__search .hs-search-field__suggestions li {
  border-top: 1px solid #D1D6DC;
  font-size: 0.875rem;
}

.header__search .hs-search-field__suggestions li a {
  color: #494A52;
  padding: 0.35rem 0.7rem;
  text-decoration: none;
  transition: background-color 0.3s;
}

.header__search .hs-search-field__suggestions #results-for {
  display: none;
}

@media (min-width: 767px) {
  .header__search form {
    align-items: center;
    display: flex;
    flex-direction: row;
  }

  .header__search label {
    margin: 0 1rem 0 0;
  }

  .header__search .hs-search-field__input {
    width: auto;
  }
}

@media (max-width: 767px) {
  .header__search {
    border-top: 2px solid #CED4DB;
    order: 1;
    padding: 1.05rem;
  }
}

/* Language switcher */

.header__language-switcher {
  cursor: pointer;
  padding-right: 1.4rem;
}

.header__language-switcher .lang_switcher_class {
  position: static;
}

.header__language-switcher .lang_list_class {
  border: 2px solid;
  border-radius: 3px;
  box-shadow: 0 2px 9px 0 rgba(0, 0, 0, 0.2);
  display: block;
  left: calc(100% - 24px);
  opacity: 0;
  min-width: 100px;
  padding-top: 0;
  text-align: left;
  top: 100%;
  transition: opacity 0.3s;
  visibility: hidden;
}

.header__language-switcher:hover .lang_list_class,
.header__language-switcher:focus .lang_list_class {
  opacity: 1;
  transition: opacity 0.3s;
  visibility: visible;
}

.header__language-switcher .lang_list_class:before {
  left: 70%;
  top: -25px;
}

.header__language-switcher .lang_list_class:after {
  left: 70%;
  top: -22px;
}

.header__language-switcher .lang_list_class.first-active::after {
  top: -22px;
  transition: 0.3s;
}

.header__language-switcher .lang_list_class li {
  border: none;
  font-size: 18px;
  padding: 0.35rem 0.7rem;
}

.header__language-switcher .lang_list_class li:first-child {
  border-radius: 6px 6px 0 0;
  border-top: none;
}

.header__language-switcher .lang_list_class li:last-child {
  border-bottom: none;
  border-radius: 0 0 6px 6px;
}

.header__language-switcher .lang_list_class li:hover {
  transition: background-color 0.3s;
}

.header__language-switcher--label {
  display: flex;
  position: relative;
}

.header__language-switcher--label-current {
  align-items: center;
  display: flex;
  font-size: 0.75rem;
  margin-bottom: 0.175rem;
  margin-left: 0.7rem;
}

.header__language-switcher--label-current:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid #494A52;
  content: "";
  display: block;
  height: 0px;
  margin-left: 0.7rem;
  margin-top: 0.175rem;
  width: 0px;
}

@media (max-width: 767px) {
  .header__language-switcher {
    border-top: 2px solid #CED4DB;
    padding-left: 1.05rem;
    padding-right: 0;
  }

  .header__language-switcher .lang_list_class {
    border: none;
    box-shadow: unset;
    display: block;
    left: 30px;
    opacity: 1;
    padding: 0 1.05rem;
    top: 0;
    visibility: visible;
  }

  .header__language-switcher .lang_list_class li {
    background-color: inherit;
    font-size: 0.917rem;
  }

  .header__language-switcher--label-current {
    display: none;
  }

  .header__language-switcher .globe_class {
    background-image: none;
  }

  .header__language-switcher .lang_list_class li:hover{
    background-color: inherit;
  }

  .header__language-switcher .lang_list_class:before,
  .header__language-switcher .lang_list_class:after {
    content: none;
  }}

/* Navigation */

#nav-toggle {
  display: none;
}

/* Mobile toggles */

@media (max-width: 767px) {
  .header__navigation,
  .header__search,
  .header__language-switcher {
    display: none;
    width: 100%;
  }

  .header__navigation.open,
  .header__search.open,
  .header__language-switcher.open {
    background-color: #F8FAFC;
    display: block;
    left: 0;
    min-height: calc(100vh - 115px);
    position: absolute;
    right: 0;
    top: 75px;
    z-index: 2;
  }

  .header__navigation--toggle,
  .header__search--toggle,
  .header__language-switcher--toggle,
  .header__close--toggle {
    cursor: pointer;
    margin: 0 5vw;
    position: relative;
  }

  .header__navigation--toggle.hide,
  .header__search--toggle.hide,
  .header__language-switcher--toggle.hide {
    display: none;
  }

  .header__navigation--toggle.open,
  .header__search--toggle.open,
  .header__language-switcher--toggle.open {
    display: block;
    margin-left: 0;
    margin-right: auto;
  }

  .header__navigation--toggle:after,
  .header__search--toggle:after,
  .header__language-switcher--toggle:after {
    display: none;
    font-size: 1.083rem;
    font-weight: 600;
    position: absolute;
    left: 40px;
    text-transform: uppercase;
    top: -10px;
  }

  .header__navigation--toggle.open:after,
  .header__search--toggle.open:after,
  .header__language-switcher--toggle.open:after {
    display: block;
    word-break: normal;
  }

  .header__navigation--toggle {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAxOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5oYW1idXJnZXI8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGcgaWQ9ImhhbWJ1cmdlciIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+ICAgICAgICA8ZyBpZD0iR3JvdXAiIHN0cm9rZT0iIzQ5NEE1MiIgc3Ryb2tlLXdpZHRoPSIzIj4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjUiPjwvcmVjdD4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLUNvcHktNCIgeD0iMS41IiB5PSI5LjUiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxIiByeD0iMC41Ij48L3JlY3Q+ICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1Db3B5LTUiIHg9IjEuNSIgeT0iMTcuNSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjUiPjwvcmVjdD4gICAgICAgIDwvZz4gICAgPC9nPjwvc3ZnPg==);
    background-size: cover;
    height: 25px;
    width: 25px;
  }

  .header__navigation--toggle:after {
    content: "Menu";
  }

  .header__language-switcher--toggle {
    background-image: url(//static.hsappstatic.net/cos-LanguageSwitcher/static-1.1/img/globe.png);
    background-size: cover;
    height: 25px;
    width: 25px;
  }

  .header__language-switcher--toggle:after {
    content: "Language";
  }

  .header__search--toggle {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5TZWFyY2g8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+ICAgICAgICA8cGF0aCBkPSJNOS4xMzg2MTUzNCwxNS44OTI1Njg1IEM1LjQxMzk1NzQyLDE1Ljg5MjU2ODUgMi4zODM4ODUyNywxMi44NjM0NDc1IDIuMzgzODg1MjcsOS4xMzkwMDM3NiBDMi4zODM4ODUyNyw1LjQxNDU2MDA1IDUuNDEzOTU3NDIsMi4zODM4ODUyNyA5LjEzODYxNTM0LDIuMzgzODg1MjcgQzEyLjg2MzI3MzMsMi4zODM4ODUyNyAxNS44OTI1Njg1LDUuNDE0NTYwMDUgMTUuODkyNTY4NSw5LjEzOTAwMzc2IEMxNS44OTI1Njg1LDEyLjg2MzQ0NzUgMTIuODYzMjczMywxNS44OTI1Njg1IDkuMTM4NjE1MzQsMTUuODkyNTY4NSBNOS4xMzg3NTI0NSwyLjQzMzYwODg3ZS0xMyBDMTQuMTc3OTk1NSwyLjQzMzYwODg3ZS0xMyAxOC4yNzY0NTM3LDQuMTAwMzI0NzEgMTguMjc2NDUzNyw5LjEzOTI3Nzk2IEMxOC4yNzY0NTM3LDExLjIyOTgyMTEgMTcuNTcxMDE2OSwxMy4xNTg0NDM0IDE2LjM4NTYzMTMsMTQuNjk5NjY5NiBMMjMuNjUwODg4MSwyMS45NjUyMjY2IEMyNC4xMTYzNzA2LDIyLjQzMDcwOTIgMjQuMTE2MzcwNiwyMy4xODU0MDU1IDIzLjY1MDg4ODEsMjMuNjUwODg4MSBDMjMuMTg1NDA1NSwyNC4xMTYzNzA2IDIyLjQzMDcwOTIsMjQuMTE2MzcwNiAyMS45NjUyMjY2LDIzLjY1MDg4ODEgTDE0LjY5OTgxMzMsMTYuMzg1NDcxMyBDMTMuMTU4NDQwNSwxNy41NzA5NTA5IDExLjIyOTU3MzgsMTguMjc2NDUzNyA5LjEzODc1MjQ1LDE4LjI3NjQ1MzcgQzQuMDk5NTA5MzgsMTguMjc2NDUzNyAtMy43MzAzNDkzNmUtMTQsMTQuMTc4MjMxMiAtMy43MzAzNDkzNmUtMTQsOS4xMzkyNzc5NiBDLTMuNzMwMzQ5MzZlLTE0LDQuMTAwMzI0NzEgNC4wOTk1MDkzOCwyLjQzMzYwODg3ZS0xMyA5LjEzODc1MjQ1LDIuNDMzNjA4ODdlLTEzIFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4gICAgPC9kZWZzPiAgICA8ZyBpZD0iU2VhcmNoIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4gICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPiAgICAgICAgPC9tYXNrPiAgICAgICAgPHVzZSBpZD0iSWNvbnMvQWN0aW9ucy9TZWFyY2giIGZpbGw9IiM0OTRBNTIiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPiAgICA8L2c+PC9zdmc+);
    background-size: cover;
    height: 25px;
    width: 25px;
  }

  .header__search--toggle:after {
    content: "Search";
  }

  .header__close--toggle {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjE5cHgiIHZpZXdCb3g9IjAgMCAyNCAxOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5jbG9zZTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZyBpZD0iY2xvc2UiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgLTEuMDAwMDAwKSIgc3Ryb2tlPSIjNDk0QTUyIiBzdHJva2Utd2lkdGg9IjMiPiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwLjAwMDAwMCwgMTAuNTAwMDAwKSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xMC4wMDAwMDAsIC0xMC41MDAwMDApICIgeD0iLTAuNSIgeT0iMTAuNSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjUiPjwvcmVjdD4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLUNvcHktNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCAxMC41MDAwMDApIHJvdGF0ZSg0NS4wMDAwMDApIHRyYW5zbGF0ZSgtMTAuMDAwMDAwLCAtMTAuNTAwMDAwKSAiIHg9Ii0wLjUiIHk9IjEwLjUiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxIiByeD0iMC41Ij48L3JlY3Q+ICAgICAgICA8L2c+ICAgIDwvZz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-size: 110%;
    display: none;
    height: 25px;
    margin-right: 0;
    width: 25px;
  }

  .header__close--toggle.show {
    display: block;
  }
}
.footer {
  padding: 6.4rem 0 4rem;
  background: #000;
}

.footer__container {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.footer__copy {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.22;
  color: #fff;
  margin: 0 0 2rem;
}

.footer__copy-en {
  font-size: 1.2rem;
  letter-spacing: -0.03em;
  line-height: 1.3;
  color: #AFAFAF;
  margin: 0 0 4rem;
}

.footer__logo {
  display: block;
  width: 19.4rem;
  height: 6rem;
  margin: 0 0 1.6rem;

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

.footer__copyright {
  font-size: 1.2rem;
  letter-spacing: -0.02em;
  color: #AFAFAF;
}

.footer__nav {
  width: 49.2rem;
}

.footer__menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.8rem 4rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}

.footer__menu-link {
  color: #fff;
  text-decoration: none;
  transition: .3s;
  position: relative;
  &::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #B6B4B4;
    opacity: 0;
    transition: .3s;
    position: absolute;
    bottom: 0;
  }
}
@media (min-width: 768px) {
  .footer__menu-link:hover {
    color: #B6B4B4;
    &::after {
      opacity: 1;
    }
  }
}
@media (max-width: 767px) {
  .footer__container {
    flex-direction: column;
    gap: 7.4rem;
    margin: 0 2.2rem;
  }
  .footer__nav {
    width: 100%;
  }
  .footer__menu {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.6rem;
  }
}
/* 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%;
}

/* 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: 767px) {
  .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;
  }
}

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

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