.ly_header,
.ly_footer {
  /*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
  /* Reset box-model and set borders */
  /* ============================================ */
  /* Document */
  /* ============================================ */
  /**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   * 3. Remove gray overlay on links for iOS.
   */
  /* Sections */
  /* ============================================ */
  /**
   * Remove the margin in all browsers.
   */
  /**
   * Render the `main` element consistently in IE.
   */
  /* Vertical rhythm */
  /* ============================================ */
  /* Headings */
  /* ============================================ */
  /* Lists (enumeration) */
  /* ============================================ */
  /* Lists (definition) */
  /* ============================================ */
  /* Grouping content */
  /* ============================================ */
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  /* Text-level semantics */
  /* ============================================ */
  /**
   * Remove the gray background on active links in IE 10.
   */
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  /**
   * Add the correct font size in all browsers.
   */
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  /* Embedded content */
  /* ============================================ */
  /**
   * Prevent vertical alignment issues.
   */
  /* Forms */
  /* ============================================ */
  /**
   * Reset form fields to make them styleable
   */
  /**
   * Reset radio and checkbox appearance to preserve their look in iOS.
   */
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  /**
   * Remove the inner border and padding in Firefox.
   */
  /**
   * Restore the focus styles unset by the previous rule.
   */
  /**
   * Remove arrow in IE10 & IE11
   */
  /**
   * Remove padding
   */
  /**
   * Reset to invisible
   */
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  /**
   * 1. Correct the outline style in Safari.
   */
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  /**
   * Clickable labels
   */
  /* Interactive */
  /* ============================================ */
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  /*
   * Add the correct display in all browsers.
   */
  /*
   * Remove outline for editable content.
   */
  /* Table */
  /* ============================================ */
  /* Misc */
  /* ============================================ */
  /**
   * Add the correct display in IE 10+.
   */
  /**
   * Add the correct display in IE 10.
   */
}
.ly_header *,
.ly_header ::before,
.ly_header ::after,
.ly_footer *,
.ly_footer ::before,
.ly_footer ::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}
.ly_header html,
.ly_footer html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}
.ly_header body,
.ly_footer body {
  margin: 0;
}
.ly_header main,
.ly_footer main {
  display: block;
}
.ly_header p,
.ly_header table,
.ly_header blockquote,
.ly_header address,
.ly_header pre,
.ly_header iframe,
.ly_header form,
.ly_header figure,
.ly_header dl,
.ly_footer p,
.ly_footer table,
.ly_footer blockquote,
.ly_footer address,
.ly_footer pre,
.ly_footer iframe,
.ly_footer form,
.ly_footer figure,
.ly_footer dl {
  margin: 0;
}
.ly_header h1,
.ly_header h2,
.ly_header h3,
.ly_header h4,
.ly_header h5,
.ly_header h6,
.ly_footer h1,
.ly_footer h2,
.ly_footer h3,
.ly_footer h4,
.ly_footer h5,
.ly_footer h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}
.ly_header ul,
.ly_header ol,
.ly_footer ul,
.ly_footer ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ly_header dt,
.ly_footer dt {
  font-weight: bold;
}
.ly_header dd,
.ly_footer dd {
  margin-left: 0;
}
.ly_header hr,
.ly_footer hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
.ly_header pre,
.ly_footer pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
.ly_header address,
.ly_footer address {
  font-style: inherit;
}
.ly_header a,
.ly_footer a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
.ly_header abbr[title],
.ly_footer abbr[title] {
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; /* 2 */
}
.ly_header b,
.ly_header strong,
.ly_footer b,
.ly_footer strong {
  font-weight: bolder;
}
.ly_header code,
.ly_header kbd,
.ly_header samp,
.ly_footer code,
.ly_footer kbd,
.ly_footer samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
.ly_header small,
.ly_footer small {
  font-size: 80%;
}
.ly_header sub,
.ly_header sup,
.ly_footer sub,
.ly_footer sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.ly_header sub,
.ly_footer sub {
  bottom: -0.25em;
}
.ly_header sup,
.ly_footer sup {
  top: -0.5em;
}
.ly_header img,
.ly_header embed,
.ly_header object,
.ly_header iframe,
.ly_footer img,
.ly_footer embed,
.ly_footer object,
.ly_footer iframe {
  vertical-align: bottom;
}
.ly_header button,
.ly_header input,
.ly_header optgroup,
.ly_header select,
.ly_header textarea,
.ly_footer button,
.ly_footer input,
.ly_footer optgroup,
.ly_footer select,
.ly_footer textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}
.ly_header [type=checkbox],
.ly_footer [type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}
.ly_header [type=radio],
.ly_footer [type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}
.ly_header button,
.ly_header input,
.ly_footer button,
.ly_footer input {
  /* 1 */
  overflow: visible;
}
.ly_header button,
.ly_header select,
.ly_footer button,
.ly_footer select {
  /* 1 */
  text-transform: none;
}
.ly_header button,
.ly_header [type=button],
.ly_header [type=reset],
.ly_header [type=submit],
.ly_footer button,
.ly_footer [type=button],
.ly_footer [type=reset],
.ly_footer [type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.ly_header button[disabled],
.ly_header [type=button][disabled],
.ly_header [type=reset][disabled],
.ly_header [type=submit][disabled],
.ly_footer button[disabled],
.ly_footer [type=button][disabled],
.ly_footer [type=reset][disabled],
.ly_footer [type=submit][disabled] {
  cursor: default;
}
.ly_header button::-moz-focus-inner,
.ly_header [type=button]::-moz-focus-inner,
.ly_header [type=reset]::-moz-focus-inner,
.ly_header [type=submit]::-moz-focus-inner,
.ly_footer button::-moz-focus-inner,
.ly_footer [type=button]::-moz-focus-inner,
.ly_footer [type=reset]::-moz-focus-inner,
.ly_footer [type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
.ly_header button:-moz-focusring,
.ly_header [type=button]:-moz-focusring,
.ly_header [type=reset]:-moz-focusring,
.ly_header [type=submit]:-moz-focusring,
.ly_footer button:-moz-focusring,
.ly_footer [type=button]:-moz-focusring,
.ly_footer [type=reset]:-moz-focusring,
.ly_footer [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
.ly_header select::-ms-expand,
.ly_footer select::-ms-expand {
  display: none;
}
.ly_header option,
.ly_footer option {
  padding: 0;
}
.ly_header fieldset,
.ly_footer fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
.ly_header legend,
.ly_footer legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}
.ly_header progress,
.ly_footer progress {
  vertical-align: baseline;
}
.ly_header textarea,
.ly_footer textarea {
  overflow: auto;
}
.ly_header [type=number]::-webkit-inner-spin-button,
.ly_header [type=number]::-webkit-outer-spin-button,
.ly_footer [type=number]::-webkit-inner-spin-button,
.ly_footer [type=number]::-webkit-outer-spin-button {
  height: auto;
}
.ly_header [type=search],
.ly_footer [type=search] {
  outline-offset: -2px; /* 1 */
}
.ly_header [type=search]::-webkit-search-decoration,
.ly_footer [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
.ly_header ::-webkit-file-upload-button,
.ly_footer ::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
.ly_header label[for],
.ly_footer label[for] {
  cursor: pointer;
}
.ly_header details,
.ly_footer details {
  display: block;
}
.ly_header summary,
.ly_footer summary {
  display: list-item;
}
.ly_header [contenteditable],
.ly_footer [contenteditable] {
  outline: none;
}
.ly_header table,
.ly_footer table {
  border-collapse: collapse;
  border-spacing: 0;
}
.ly_header caption,
.ly_footer caption {
  text-align: left;
}
.ly_header td,
.ly_header th,
.ly_footer td,
.ly_footer th {
  vertical-align: top;
  padding: 0;
}
.ly_header th,
.ly_footer th {
  text-align: left;
  font-weight: bold;
}
.ly_header template,
.ly_footer template {
  display: none;
}
.ly_header [hidden],
.ly_footer [hidden] {
  display: none;
}
.ly_header ::-moz-placeholder, .ly_footer ::-moz-placeholder {
  opacity: 1;
}
.ly_header ::placeholder,
.ly_footer ::placeholder {
  opacity: 1;
}
.ly_header label,
.ly_footer label {
  cursor: pointer;
}
.ly_header img,
.ly_header iframe,
.ly_header video,
.ly_footer img,
.ly_footer iframe,
.ly_footer video {
  vertical-align: top;
}
.ly_header dt,
.ly_footer dt {
  font-weight: inherit;
}
.ly_header :where(dialog),
.ly_footer :where(dialog) {
  inset: 0;
  border: unset;
  padding: unset;
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  background-color: unset;
  overflow: unset;
  color: unset;
}
.ly_header :focus:not(:focus-visible),
.ly_footer :focus:not(:focus-visible) {
  outline: none;
}

:root {
  --negLeading: calc((1em - 1lh) / 2);
  --transEasing: ease-in-out;
  --transDur: 0.3s;
  --transProps: var(--transEasing) var(--transDur);
  --designW: 1440;
  --contW: min(calc(100% - 60px), 1150px);
  --contMargin_hor: calc((100% - var(--contW)) / 2);
  --clr_black: #000;
  --clr_blue: #081E6F;
  --ff_notoSansJp: "Noto Sans JP", sans-serif;
  --ff_nunitoSans: "Nunito Sans", sans-serif;
  --headerH: 112px;
}
@media screen and (max-width: 767px) {
  :root {
    --designW: 750;
    --contW: calc(100% - 40px);
    --headerH: 65px;
  }
}

:lang(en) {
  --negLeading: calc((1cap - 1lh) / 2);
}

/**
 * Base
 */
:root {
  interpolate-size: allow-keywords;
}

html.is_locked {
  position: fixed;
  width: 100%;
}

.ly_header,
.ly_footer {
  color: var(--clr_black);
  font-family: var(--ff_notoSansJp);
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  overflow-wrap: anywhere;
  -moz-osx-font-smoothing: unset;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  .ly_header,
  .ly_footer {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
  }
}

.ly_header img,
.ly_footer img {
  max-width: 100%;
  height: auto;
}

.ly_header :lang(en),
.ly_footer :lang(en) {
  font-family: var(--ff_nunitoSans);
}

/**
 * Layout
 */
.ly_wrapper {
  padding-top: var(--headerH);
}

.ly_cont {
  padding-block: calc(80px + var(--headerH)) 150px;
}
@media screen and (max-width: 767px) {
  .ly_cont {
    padding-block: calc(60px + var(--headerH)) 60px;
  }
}
/**
 * Header
 */
.ly_header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  background-color: #fff;
}
.ly_header .ly_header_inner {
  position: relative;
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 15px 30px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 10px 10px 20px;
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_logo {
    width: 240px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_logo {
    width: 114px;
  }
}
.ly_header .ly_header_logo a {
  display: block;
}
.ly_header .ly_header_logo img {
  width: 100%;
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_hamburger {
    display: none !important;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_hamburger {
    display: grid;
    place-items: center;
    width: 45px;
    height: auto;
    aspect-ratio: 1;
    border-radius: 16px 16px 16px 0;
    background-color: var(--clr_blue);
  }
}
.ly_header .ly_header_hamburger[aria-expanded=true] span:before, .ly_header .ly_header_hamburger[aria-expanded=true] span:after {
  transition: rotate var(--transProps);
}
.ly_header .ly_header_hamburger[aria-expanded=true] span:before {
  top: 50%;
  rotate: 30deg;
}
.ly_header .ly_header_hamburger[aria-expanded=true] span:after {
  top: 50%;
  rotate: -30deg;
}
.ly_header .ly_header_hamburger span {
  position: relative;
  display: block;
  width: 25px;
  height: 9px;
}
.ly_header .ly_header_hamburger span:before, .ly_header .ly_header_hamburger span:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transform-origin: center;
}
.ly_header .ly_header_hamburger span:before {
  top: calc(50% - 3px);
}
.ly_header .ly_header_hamburger span:after {
  top: calc(50% + 3px);
}
.ly_header .ly_header_body {
  transition-property: opacity, visibility;
  transition-timing-function: var(--transEasing);
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_body {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #fff;
    overflow-y: auto;
  }
}
.ly_header .ly_header_body[hidden] {
  display: block;
  opacity: 0;
  visibility: hidden;
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_body > div {
    display: grid;
    gap: 8px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_body > div {
    padding-bottom: 60px;
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_nav {
    order: 2;
    display: flex;
    align-items: center;
    gap: 40px;
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_menus {
    display: flex;
    align-items: center;
    gap: 40px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_menus > li {
    padding-inline: 20px;
    border-bottom: 1px solid #ccc;
  }
}
.ly_header .ly_header_menus > li > a {
  position: relative;
  display: block;
  letter-spacing: 0.05em;
  line-height: 2;
  background-image: linear-gradient(0deg, currentcolor, currentcolor);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition-property: background-size, color;
  transition-timing-function: var(--transEasing);
  transition-duration: var(--transDur);
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_menus > li > a {
    font-size: 1rem;
    font-weight: 500;
  }
  .ly_header .ly_header_menus > li > a:focus-visible {
    color: var(--clr_blue);
    background-position: 0% 100%;
    background-size: 100% 1px;
  }
  @media (any-hover: hover) {
    .ly_header .ly_header_menus > li > a:hover {
      color: var(--clr_blue);
      background-position: 0% 100%;
      background-size: 100% 1px;
    }
  }
  .ly_header .ly_header_menus > li > a[aria-expanded=true] {
    background-position: 0% 100%;
    background-size: 100% 1px;
    color: var(--clr_blue);
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_menus > li > a {
    padding-block: 21px;
    color: var(--clr_blue);
    font-size: 1.125rem;
    font-weight: 700;
  }
  .ly_header .ly_header_menus > li > a[aria-expanded=true] .ly_header_toggleIcon:after {
    rotate: 0deg;
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_toggleIcon {
    display: none !important;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_toggleIcon {
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    width: 32px;
    height: auto;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: #F4F4F4;
  }
  .ly_header .ly_header_toggleIcon:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 14px;
    height: 2px;
    background-color: var(--clr_blue);
  }
  .ly_header .ly_header_toggleIcon:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    rotate: 90deg;
    width: 14px;
    height: 2px;
    background-color: var(--clr_blue);
    transition: rotate var(--transProps);
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_contact {
    display: none !important;
  }
}
.ly_header .ly_header_contact > a {
  display: block;
  padding: 7px 20px 8px;
  border-radius: 5px;
  background-color: var(--clr_blue);
  color: #fff;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
  transition: background-color var(--transProps);
}
.ly_header .ly_header_contact > a:focus-visible {
  background-color: var(--clr_black);
}
@media (any-hover: hover) {
  .ly_header .ly_header_contact > a:hover {
    background-color: var(--clr_black);
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_sub {
    order: 1;
    display: flex;
    align-items: center;
    justify-self: flex-end;
    gap: 30px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_sub {
    display: grid;
    padding-inline: 20px;
  }
}
.ly_header .ly_header_lang {
  position: relative;
  display: flex;
  align-items: center;
  gap: 31px;
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_lang {
    padding-top: 6px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_lang {
    order: 2;
    justify-content: center;
    margin-top: 20px;
  }
}
.ly_header .ly_header_lang:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 1px;
  height: 100%;
  background-color: #d9d9d9;
}
.ly_header .ly_header_lang .link {
  display: flex;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.05em;
  transition: color var(--transProps);
}
.ly_header .ly_header_lang .link:focus-visible {
  color: var(--clr_blue);
}
@media (any-hover: hover) {
  .ly_header .ly_header_lang .link:hover {
    color: var(--clr_blue);
  }
}
.ly_header .ly_header_lang .link[aria-current=page] {
  color: var(--clr_blue);
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_search {
    order: 1;
    margin-top: 30px;
  }
}
.ly_header .ly_header_search form {
  position: relative;
  border: 1px solid #ccc;
  border-radius: 200px;
  background-color: #f4f4f4;
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_search form {
    width: 200px;
    padding: 2px 40px 6px 15px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_search form {
    width: 100%;
    padding: 14px 40px 16px 16px;
  }
}
.ly_header .ly_header_search input[type=text] {
  width: 100%;
}
.ly_header .ly_header_search input[type=text]::-moz-placeholder {
  color: #999;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.ly_header .ly_header_search input[type=text]::placeholder {
  color: #999;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_search input[type=text]::-moz-placeholder {
    font-size: 0.8125rem;
  }
  .ly_header .ly_header_search input[type=text]::placeholder {
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_search input[type=text]::-moz-placeholder {
    font-size: 1rem;
  }
  .ly_header .ly_header_search input[type=text]::placeholder {
    font-size: 1rem;
  }
}
.ly_header .ly_header_search input[type=submit] {
  position: absolute;
  top: 50%;
  right: 16px;
  translate: 0 -50%;
  width: 16px;
  height: auto;
  aspect-ratio: 1;
  background-color: var(--clr_black);
  -webkit-mask-image: url(../img/common/icon/icon_search.svg);
  mask-image: url(../img/common/icon/icon_search.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.ly_header .ly_header_mega {
  width: 100%;
  transition-property: opacity, visibility;
  transition-timing-function: var(--transEasing);
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_mega {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    overflow-y: auto;
  }
  .ly_header .ly_header_mega[hidden] {
    display: block;
    opacity: 0;
    visibility: hidden;
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_mega > div {
    padding-block: 60px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_mega > div {
    width: 100%;
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_title {
    display: flex;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_title {
    padding-inline: 10px;
    border-bottom: 1px solid #e4e4e4;
  }
}
.ly_header .ly_header_title > a {
  position: relative;
  display: block;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
  transition: color var(--transProps);
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_title > a {
    padding-right: 60px;
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_title > a {
    padding-right: 20px;
    padding-bottom: 15px;
    font-size: 1rem;
  }
  .ly_header .ly_header_title > a:not([target=_blank]):after {
    content: "";
    position: absolute;
    top: calc(50% - 7.5px);
    right: 0;
    translate: 0 -50%;
    width: 10px;
    height: auto;
    aspect-ratio: 10/8;
    background-color: var(--clr_blue);
    -webkit-mask-image: url(../img/common/icon/icon_arrow_02.svg);
    mask-image: url(../img/common/icon/icon_arrow_02.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .ly_header .ly_header_title > a[target=_blank]:after {
    content: "";
    position: absolute;
    top: calc(50% - 7.5px);
    right: 0;
    translate: 0 -50%;
    width: 18px;
    height: auto;
    aspect-ratio: 1;
    background-color: var(--clr_blue);
    -webkit-mask-image: url(../img/common/icon/icon_blank.svg);
    mask-image: url(../img/common/icon/icon_blank.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
  }
}
.ly_header .ly_header_title > a:focus-visible {
  color: var(--clr_blue);
}
.ly_header .ly_header_title > a:focus-visible .ly_header_icon:before {
  animation: iconSlideFade 0.6s ease-in-out forwards;
}
@media (any-hover: hover) {
  .ly_header .ly_header_title > a:hover {
    color: var(--clr_blue);
  }
  .ly_header .ly_header_title > a:hover .ly_header_icon:before {
    animation: iconSlideFade 0.6s ease-in-out forwards;
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_icon {
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    width: 30px;
    height: auto;
    aspect-ratio: 1;
    border-radius: 12px 12px 12px 0;
    background-color: var(--clr_blue);
  }
  .ly_header .ly_header_icon:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 10px;
    height: auto;
    aspect-ratio: 10/8;
    background-color: #fff;
    -webkit-mask-image: url(../img/common/icon/icon_arrow_02.svg);
    mask-image: url(../img/common/icon/icon_arrow_02.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_icon {
    display: none !important;
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_units {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_units {
    margin-top: 15px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_units > li:has(.ly_header_list) {
    padding-bottom: 20px;
  }
  .ly_header .ly_header_units > li:not(:last-child) {
    border-bottom: 1px solid #e4e4e4;
    margin-bottom: 15px;
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_hdg {
    border-bottom: 1px solid #ccc;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_hdg {
    padding-inline: 10px;
  }
  .ly_header .ly_header_hdg:only-child > a {
    padding-bottom: 20px;
  }
}
.ly_header .ly_header_hdg > a {
  position: relative;
  display: block;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_hdg > a {
    display: grid;
    align-items: center;
    min-height: 65px;
    padding-inline: 9px 14px;
    padding-bottom: 13px;
    font-size: 1.125rem;
    transition: color var(--transProps);
  }
  .ly_header .ly_header_hdg > a:focus-visible {
    color: var(--clr_blue);
  }
  .ly_header .ly_header_hdg > a:focus-visible:before {
    transform-origin: left;
    scale: 1 1;
  }
  .ly_header .ly_header_hdg > a:focus-visible:after {
    animation: iconSlideFade 0.6s ease-in-out forwards;
  }
  @media (any-hover: hover) {
    .ly_header .ly_header_hdg > a:hover {
      color: var(--clr_blue);
    }
    .ly_header .ly_header_hdg > a:hover:before {
      transform-origin: left;
      scale: 1 1;
    }
    .ly_header .ly_header_hdg > a:hover:after {
      animation: iconSlideFade 0.6s ease-in-out forwards;
    }
  }
  .ly_header .ly_header_hdg > a:before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--clr_blue);
    transform-origin: right;
    scale: 0 1;
    transition: scale var(--transProps);
  }
  .ly_header .ly_header_hdg > a:not([target=_blank]):after {
    content: "";
    position: absolute;
    top: calc(50% - 6.5px);
    right: 0;
    translate: 0 -50%;
    width: 10px;
    height: auto;
    aspect-ratio: 10/8;
    background-color: var(--clr_blue);
    -webkit-mask-image: url(../img/common/icon/icon_arrow_02.svg);
    mask-image: url(../img/common/icon/icon_arrow_02.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
  }
  .ly_header .ly_header_hdg > a[target=_blank]:after {
    content: "";
    position: absolute;
    top: calc(50% - 6.5px);
    right: 0;
    translate: 0 -50%;
    width: 18px;
    height: auto;
    aspect-ratio: 1;
    background-color: var(--clr_blue);
    -webkit-mask-image: url(../img/common/icon/icon_blank.svg);
    mask-image: url(../img/common/icon/icon_blank.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_hdg > a {
    padding-right: 20px;
    padding-bottom: 15px;
    font-size: 1rem;
  }
  .ly_header .ly_header_hdg > a:not([target=_blank]):after {
    content: "";
    position: absolute;
    top: calc(50% - 7.5px);
    right: 0;
    translate: 0 -50%;
    width: 10px;
    height: auto;
    aspect-ratio: 10/8;
    background-color: var(--clr_blue);
    -webkit-mask-image: url(../img/common/icon/icon_arrow_02.svg);
    mask-image: url(../img/common/icon/icon_arrow_02.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .ly_header .ly_header_hdg > a[target=_blank]:after {
    content: "";
    position: absolute;
    top: calc(50% - 7.5px);
    right: 0;
    translate: 0 -50%;
    width: 18px;
    height: auto;
    aspect-ratio: 1;
    background-color: var(--clr_blue);
    -webkit-mask-image: url(../img/common/icon/icon_blank.svg);
    mask-image: url(../img/common/icon/icon_blank.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
  }
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_list {
    display: grid;
    gap: 8px;
    padding-top: 20px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_list {
    padding-inline: 25px;
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_list > li + li {
    margin-top: 15px;
  }
}
.ly_header .ly_header_list > li > a {
  line-height: 2;
  font-weight: 350;
  letter-spacing: 0.05em;
  background-image: linear-gradient(0deg, currentcolor, currentcolor);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition-property: background-size, color;
  transition-timing-function: var(--transEasing);
  transition-duration: var(--transDur);
}
@media not all and (max-width: 1130px), print {
  .ly_header .ly_header_list > li > a {
    font-size: 1rem;
  }
  .ly_header .ly_header_list > li > a:focus-visible {
    color: var(--clr_blue);
    background-position: 0% 100%;
    background-size: 100% 1px;
  }
  @media (any-hover: hover) {
    .ly_header .ly_header_list > li > a:hover {
      color: var(--clr_blue);
      background-position: 0% 100%;
      background-size: 100% 1px;
    }
  }
}
@media screen and (max-width: 1130px) {
  .ly_header .ly_header_list > li > a {
    display: block;
    font-size: 0.9375rem;
  }
}
@media not all and (max-width: 1130px), print {
  html[lang=en] .ly_header .ly_header_nav, html[lang=en] .ly_header .ly_header_menus {
    gap: 20px;
  }
}
@media not all and (max-width: 1130px), print {
  html[lang=en] .ly_header .ly_header_menus > li > a {
    font-size: 14px;
  }
}
@media not all and (max-width: 1130px), print {
  html[lang=en] .ly_header .ly_header_inner {
    gap: 30px;
  }
}

/**
 * Footer
 */
.ly_footer {
  background-color: #fff;
}
.ly_footer .bl_contactBanner {
  margin-inline: auto;
}
@media not all and (max-width: 767px), print {
  .ly_footer .bl_contactBanner {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .bl_contactBanner {
    width: calc(100% - 20px);
  }
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_container {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_container {
    padding-bottom: 30px;
  }
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_header {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_header {
    display: grid;
  }
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_head {
    display: grid;
    align-content: flex-start;
    gap: 30px;
    width: 249px;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_head {
    display: contents;
  }
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_logo {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_logo {
    order: 1;
    width: 200px;
  }
}
.ly_footer .ly_footer_logo a {
  display: block;
}
.ly_footer .ly_footer_logo img {
  width: 100%;
}
.ly_footer .ly_footer_address {
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_address {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_address {
    order: 2;
    margin-top: 20px;
    font-size: 0.8125rem;
  }
}
.ly_footer .ly_footer_sns {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 210px;
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_sns {
    order: 4;
    justify-self: center;
    margin-top: 30px;
  }
}
.ly_footer .ly_footer_sns > li a {
  display: flex;
}
.ly_footer .ly_footer_sns > li img {
  width: auto;
}
.ly_footer .ly_footer_body {
  display: grid;
  align-content: flex-start;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_body {
    order: 3;
    margin-top: 20px;
  }
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_units {
    display: flex;
    justify-content: space-between;
    gap: 50px;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_units {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
.ly_footer .ly_footer_hdg__top > a {
  display: inline-block !important;
}
.ly_footer .ly_footer_hdg > a {
  position: relative;
  display: block;
  padding-left: 16px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_hdg > a {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_hdg > a {
    font-size: 0.9375rem;
  }
}
.ly_footer .ly_footer_hdg > a:focus-visible > span {
  background-position: 0% 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .ly_footer .ly_footer_hdg > a:hover > span {
    background-position: 0% 100%;
    background-size: 100% 1px;
  }
}
.ly_footer .ly_footer_hdg > a:before {
  content: "";
  position: absolute;
  top: calc(0.5lh - 3px);
  left: 0;
  width: 6px;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgba(8, 30, 111, 0.5019607843);
}
.ly_footer .ly_footer_hdg > a[target=_blank] span:after {
  content: "";
  display: inline-block;
  width: 18px;
  height: auto;
  aspect-ratio: 1;
  margin-left: 3px;
  vertical-align: -4px;
  background-color: var(--clr_blue);
  -webkit-mask-image: url(../img/common/icon/icon_blank.svg);
  mask-image: url(../img/common/icon/icon_blank.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}
.ly_footer .ly_footer_hdg > a > span {
  background-image: linear-gradient(0deg, currentcolor, currentcolor);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size var(--transProps);
}
.ly_footer .ly_footer_list {
  display: grid;
  padding-left: 16px;
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_list {
    gap: 12px;
    margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_list {
    gap: 10px;
    margin-top: 10px;
  }
}
.ly_footer .ly_footer_list > li > a {
  display: block;
  color: #666;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_list > li > a {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_list > li > a {
    font-size: 0.8125rem;
  }
}
.ly_footer .ly_footer_list > li > a:focus-visible > span {
  background-position: 0% 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .ly_footer .ly_footer_list > li > a:hover > span {
    background-position: 0% 100%;
    background-size: 100% 1px;
  }
}
.ly_footer .ly_footer_list > li > a[target=_blank] span:after {
  content: "";
  display: inline-block;
  width: 18px;
  height: auto;
  aspect-ratio: 1;
  margin-left: 3px;
  vertical-align: -5px;
  background-color: var(--clr_blue);
  -webkit-mask-image: url(../img/common/icon/icon_blank.svg);
  mask-image: url(../img/common/icon/icon_blank.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}
.ly_footer .ly_footer_list > li > a > span {
  background-image: linear-gradient(0deg, currentcolor, currentcolor);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size var(--transProps);
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_footer {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_footer {
    margin-top: 30px;
  }
}
.ly_footer .ly_footer_subLink {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 25px;
}
.ly_footer .ly_footer_subLink > li > a {
  display: block;
  color: #666;
  font-size: 0.75rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.ly_footer .ly_footer_subLink > li > a:focus-visible > span {
  background-position: 0% 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .ly_footer .ly_footer_subLink > li > a:hover > span {
    background-position: 0% 100%;
    background-size: 100% 1px;
  }
}
.ly_footer .ly_footer_subLink > li > a[target=_blank] span:after {
  content: "";
  display: inline-block;
  width: 18px;
  height: auto;
  aspect-ratio: 1;
  margin-left: 3px;
  vertical-align: -5px;
  background-color: var(--clr_blue);
  -webkit-mask-image: url(../img/common/icon/icon_blank.svg);
  mask-image: url(../img/common/icon/icon_blank.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}
.ly_footer .ly_footer_subLink > li > a > span {
  background-image: linear-gradient(0deg, currentcolor, currentcolor);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size var(--transProps);
}
.ly_footer .ly_footer_copy {
  display: block;
  margin-top: 20px;
  text-align: center;
  color: #666;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media not all and (max-width: 767px), print {
  .ly_footer .ly_footer_copy {
    font-size: 0.6875rem;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .ly_footer_copy {
    font-size: 0.625rem;
  }
}
.ly_footer .bl_contactBanner {
  overflow: hidden;
}
@media not all and (max-width: 767px), print {
  .ly_footer .bl_contactBanner {
    border-radius: 50px;
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .bl_contactBanner {
    border-radius: 20px;
    margin-bottom: 50px;
  }
}
.ly_footer .bl_contactBanner a {
  display: block;
}
.ly_footer .bl_contactBanner a:focus-visible .bl_contactBanner_container {
  background-color: var(--clr_black);
}
.ly_footer .bl_contactBanner a:focus-visible .bl_contactBanner_icon {
  background-color: #fff;
}
.ly_footer .bl_contactBanner a:focus-visible .bl_contactBanner_icon:before {
  background-color: var(--clr_black);
  animation: iconSlideFade 0.6s ease-in-out forwards;
}
@media (any-hover: hover) {
  .ly_footer .bl_contactBanner a:hover .bl_contactBanner_container {
    background-color: var(--clr_black);
  }
  .ly_footer .bl_contactBanner a:hover .bl_contactBanner_icon {
    background-color: #fff;
  }
  .ly_footer .bl_contactBanner a:hover .bl_contactBanner_icon:before {
    background-color: var(--clr_black);
    animation: iconSlideFade 0.6s ease-in-out forwards;
  }
}
.ly_footer .bl_contactBanner .ct_std {
  position: relative;
}
@media screen and (max-width: 767px) {
  .ly_footer .bl_contactBanner .ct_std {
    width: calc(100% - 60px);
  }
}
.ly_footer .bl_contactBanner_container {
  background-color: var(--clr_blue);
  color: #fff;
  transition: background-color var(--transProps);
}
@media not all and (max-width: 767px), print {
  .ly_footer .bl_contactBanner_inner {
    padding-block: 90px;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .bl_contactBanner_inner {
    padding-block: 60px;
  }
}
.ly_footer .bl_contactBanner_ruby {
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media not all and (max-width: 767px), print {
  .ly_footer .bl_contactBanner_ruby {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .bl_contactBanner_ruby {
    margin-bottom: 8px;
    font-size: 1rem;
  }
}
.ly_footer .bl_contactBanner_title {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media not all and (max-width: 767px), print {
  .ly_footer .bl_contactBanner_title {
    font-size: 4.125rem;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .bl_contactBanner_title {
    font-size: 2.4375rem;
  }
}
.ly_footer .bl_contactBanner_desc {
  margin-top: 30px;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media not all and (max-width: 767px), print {
  .ly_footer .bl_contactBanner_desc {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .bl_contactBanner_desc {
    font-size: 0.9375rem;
  }
}
.ly_footer .bl_contactBanner_icon {
  position: absolute;
  height: auto;
  aspect-ratio: 1;
  background-color: rgba(255, 255, 255, 0.2);
  transition: background-color var(--transProps);
}
@media not all and (max-width: 767px), print {
  .ly_footer .bl_contactBanner_icon {
    top: 50%;
    right: 0;
    translate: 0 -50%;
    width: 100px;
    border-radius: 30px 30px 30px 0;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .bl_contactBanner_icon {
    bottom: 15px;
    right: -15px;
    width: 42px;
    border-radius: 16px 16px 16px 0;
  }
}
.ly_footer .bl_contactBanner_icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  aspect-ratio: 30/24;
  background-color: #fff;
  -webkit-mask-image: url(../img/common/icon/icon_arrow_01.svg);
  mask-image: url(../img/common/icon/icon_arrow_01.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  transition: background-color var(--transProps);
}
@media not all and (max-width: 767px), print {
  .ly_footer .bl_contactBanner_icon:before {
    width: 30px;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer .bl_contactBanner_icon:before {
    width: 12px;
  }
}

@media not all and (max-width: 767px), print {
  :lang(en) .ly_footer_header {
    flex-wrap: nowrap;
    gap: 20px 40px;
  }
}
@media screen and (max-width: 1000px) {
  :lang(en) .ly_footer_header {
    flex-wrap: wrap;
  }
}
@media not all and (max-width: 767px), print {
  :lang(en) .ly_footer_head {
    flex-shrink: 0;
    width: 280px;
  }
}
@media not all and (max-width: 767px), print {
  :lang(en) .ly_footer_units {
    gap: 50px 20px;
  }
}
/**
 * Container
 */
.ct_std {
  width: var(--contW);
  margin-inline: auto;
}
/**
 * Block
 */
.bl_breadcrumb {
  margin-bottom: 60px;
}
.bl_breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0 15px;
}
.bl_breadcrumb li {
  color: #666;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .bl_breadcrumb li {
    font-size: 13px;
  }
}
.bl_breadcrumb li:not(:first-child) {
  position: relative;
  padding-left: 20px;
}
.bl_breadcrumb li:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5lh;
  display: block;
  border-radius: 50%;
  width: 5px;
  height: 5px;
  background-color: #081e6f;
  aspect-ratio: 1/1;
  translate: 0 -50%;
}
.bl_breadcrumb a {
  display: block;
}
.bl_breadcrumb a:focus-visible > span {
  background-position: 0% 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .bl_breadcrumb a:hover > span {
    background-position: 0% 100%;
    background-size: 100% 1px;
  }
}
.bl_breadcrumb a span {
  background-image: linear-gradient(0deg, currentcolor, currentcolor);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size var(--transProps);
}
.bl_breadcrumb li:last-child a {
  pointer-events: none;
  color: var(--clr_blue);
  font-weight: 500;
}

.bl_contSet > * {
  margin-top: 100px;
}
@media screen and (max-width: 1130px) {
  .bl_contSet > * {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .bl_contSet > * {
    margin-top: 60px;
  }
}
.bl_contSet > .bl_hdgSet + * {
  margin-top: 0;
}

.bl_anchorLinks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .bl_anchorLinks {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 21px;
  }
}
.bl_anchorLinks > li {
  border-bottom: 1px solid #ccc;
}
.bl_anchorLinks a {
  position: relative;
  text-decoration: none;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 15px;
  column-gap: 15px;
  height: 100%;
  padding-bottom: 20px;
  line-height: 1.4;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1130px) {
  .bl_anchorLinks a {
    padding-bottom: 18px;
  }
}
@media screen and (max-width: 767px) {
  .bl_anchorLinks a {
    padding-bottom: 16px;
    font-size: 15px;
  }
}
.bl_anchorLinks a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0;
  height: 1px;
  background-color: var(--clr_blue);
  transition: width 0.3s ease;
}
.bl_anchorLinks a::after {
  content: "";
  width: 10px;
  height: 12px;
  background: url(../img/common/icon/icon_down_arrow_01.svg) no-repeat center/cover;
  transition: transform 0.3s ease;
}
@media (any-hover: hover) {
  .bl_anchorLinks a:hover {
    color: var(--clr_blue);
  }
  .bl_anchorLinks a:hover::before {
    width: 100%;
  }
  .bl_anchorLinks a:hover::after {
    transform: translateY(4px);
  }
}

.bl_btns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 48px;
}
@media screen and (max-width: 1130px) {
  .bl_btns {
    gap: 20px;
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .bl_btns {
    gap: 11px;
    margin-top: 30px;
  }
}
.bl_btns__left {
  justify-content: flex-start;
}
.bl_btns__right {
  justify-content: flex-end;
}
.bl_btns__2col, .bl_btns__3col, .bl_btns__4col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .bl_btns__2col .el_btn, .bl_btns__3col .el_btn, .bl_btns__4col .el_btn {
    gap: 8px;
    min-width: auto;
    padding: 15px 12px 15px 15px;
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .bl_btns__2col .el_btn .icon, .bl_btns__3col .el_btn .icon, .bl_btns__4col .el_btn .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 6px 6px 6px 0;
    background-color: var(--clr_blue);
    transition: background-color 0.3s ease;
  }
  .bl_btns__2col .el_btn .icon::after, .bl_btns__3col .el_btn .icon::after, .bl_btns__4col .el_btn .icon::after {
    content: "";
    display: block;
    width: 10px;
    height: auto;
    aspect-ratio: 10/8;
    background: url(../img/common/icon/icon_arrow_01.svg) no-repeat center/contain;
    transform: translateX(0);
    opacity: 1;
  }
}
@media not all and (max-width: 1130px), print {
  .bl_btns__2col {
    display: grid;
    grid-template-columns: repeat(2, auto);
  }
}
@media not all and (max-width: 1130px), print {
  .bl_btns__3col {
    display: grid;
    grid-template-columns: repeat(3, auto);
  }
}
@media not all and (max-width: 1130px), print {
  .bl_btns__4col {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 1130px) {
  .bl_btns__4col {
    margin-top: 52px;
  }
}
@media screen and (max-width: 767px) {
  .bl_btns__4col {
    margin-top: 42px;
  }
}
.bl_btns__4col .el_btn {
  min-width: auto;
}
@media screen and (max-width: 767px) {
  .bl_btns > li {
    width: 100%;
  }
}

.bl_imgAndBody,
.bl_videoAndBody {
  --_gap_row: 50px;
  --_gap_col: 50px;
  --_imageMaxW: 47%;
}
.bl_imgAndBody_inner,
.bl_videoAndBody_inner {
  display: grid;
  gap: var(--_gap_row) var(--_gap_col);
}
@media screen and (max-width: 767px) {
  .bl_imgAndBody_inner,
  .bl_videoAndBody_inner {
    row-gap: 28px;
  }
}
@media not all and (max-width: 767px), print {
  .bl_imgAndBody__imgRight .bl_imgAndBody_inner, .bl_imgAndBody__videoRight .bl_imgAndBody_inner,
  .bl_imgAndBody__imgRight .bl_videoAndBody_inner,
  .bl_imgAndBody__videoRight .bl_videoAndBody_inner,
  .bl_videoAndBody__imgRight .bl_imgAndBody_inner,
  .bl_videoAndBody__videoRight .bl_imgAndBody_inner,
  .bl_videoAndBody__imgRight .bl_videoAndBody_inner,
  .bl_videoAndBody__videoRight .bl_videoAndBody_inner {
    grid-template-columns: auto var(--_imageMaxW);
  }
}
@media not all and (max-width: 767px), print {
  .bl_imgAndBody__imgRight .bl_imgAndBody_img, .bl_imgAndBody__videoRight .bl_imgAndBody_video,
  .bl_imgAndBody__imgRight .bl_videoAndBody_img,
  .bl_imgAndBody__videoRight .bl_videoAndBody_video,
  .bl_videoAndBody__imgRight .bl_imgAndBody_img,
  .bl_videoAndBody__videoRight .bl_imgAndBody_video,
  .bl_videoAndBody__imgRight .bl_videoAndBody_img,
  .bl_videoAndBody__videoRight .bl_videoAndBody_video {
    order: 1;
  }
}
@media not all and (max-width: 767px), print {
  .bl_imgAndBody__imgLeft .bl_imgAndBody_inner, .bl_imgAndBody__videoLeft .bl_imgAndBody_inner,
  .bl_imgAndBody__imgLeft .bl_videoAndBody_inner,
  .bl_imgAndBody__videoLeft .bl_videoAndBody_inner,
  .bl_videoAndBody__imgLeft .bl_imgAndBody_inner,
  .bl_videoAndBody__videoLeft .bl_imgAndBody_inner,
  .bl_videoAndBody__imgLeft .bl_videoAndBody_inner,
  .bl_videoAndBody__videoLeft .bl_videoAndBody_inner {
    grid-template-columns: var(--_imageMaxW) auto;
  }
}
@media not all and (max-width: 767px), print {
  .bl_imgAndBody__imgFloatRight .bl_imgAndBody_inner, .bl_imgAndBody__imgFloatLeft .bl_imgAndBody_inner, .bl_imgAndBody__videoFloatRight .bl_imgAndBody_inner, .bl_imgAndBody__videoFloatLeft .bl_imgAndBody_inner,
  .bl_imgAndBody__imgFloatRight .bl_videoAndBody_inner,
  .bl_imgAndBody__imgFloatLeft .bl_videoAndBody_inner,
  .bl_imgAndBody__videoFloatRight .bl_videoAndBody_inner,
  .bl_imgAndBody__videoFloatLeft .bl_videoAndBody_inner,
  .bl_videoAndBody__imgFloatRight .bl_imgAndBody_inner,
  .bl_videoAndBody__imgFloatLeft .bl_imgAndBody_inner,
  .bl_videoAndBody__videoFloatRight .bl_imgAndBody_inner,
  .bl_videoAndBody__videoFloatLeft .bl_imgAndBody_inner,
  .bl_videoAndBody__imgFloatRight .bl_videoAndBody_inner,
  .bl_videoAndBody__imgFloatLeft .bl_videoAndBody_inner,
  .bl_videoAndBody__videoFloatRight .bl_videoAndBody_inner,
  .bl_videoAndBody__videoFloatLeft .bl_videoAndBody_inner {
    display: block;
    margin-bottom: calc(var(--_gap_row) * -1);
  }
  .bl_imgAndBody__imgFloatRight .bl_imgAndBody_inner::after, .bl_imgAndBody__imgFloatLeft .bl_imgAndBody_inner::after, .bl_imgAndBody__videoFloatRight .bl_imgAndBody_inner::after, .bl_imgAndBody__videoFloatLeft .bl_imgAndBody_inner::after,
  .bl_imgAndBody__imgFloatRight .bl_videoAndBody_inner::after,
  .bl_imgAndBody__imgFloatLeft .bl_videoAndBody_inner::after,
  .bl_imgAndBody__videoFloatRight .bl_videoAndBody_inner::after,
  .bl_imgAndBody__videoFloatLeft .bl_videoAndBody_inner::after,
  .bl_videoAndBody__imgFloatRight .bl_imgAndBody_inner::after,
  .bl_videoAndBody__imgFloatLeft .bl_imgAndBody_inner::after,
  .bl_videoAndBody__videoFloatRight .bl_imgAndBody_inner::after,
  .bl_videoAndBody__videoFloatLeft .bl_imgAndBody_inner::after,
  .bl_videoAndBody__imgFloatRight .bl_videoAndBody_inner::after,
  .bl_videoAndBody__imgFloatLeft .bl_videoAndBody_inner::after,
  .bl_videoAndBody__videoFloatRight .bl_videoAndBody_inner::after,
  .bl_videoAndBody__videoFloatLeft .bl_videoAndBody_inner::after {
    content: "";
    display: block;
    clear: both;
  }
}
@media not all and (max-width: 767px), print {
  .bl_imgAndBody__imgFloatRight .bl_imgAndBody_img, .bl_imgAndBody__imgFloatLeft .bl_imgAndBody_img, .bl_imgAndBody__videoFloatRight .bl_imgAndBody_video, .bl_imgAndBody__videoFloatLeft .bl_imgAndBody_video,
  .bl_imgAndBody__imgFloatRight .bl_videoAndBody_img,
  .bl_imgAndBody__imgFloatLeft .bl_videoAndBody_img,
  .bl_imgAndBody__videoFloatRight .bl_videoAndBody_video,
  .bl_imgAndBody__videoFloatLeft .bl_videoAndBody_video,
  .bl_videoAndBody__imgFloatRight .bl_imgAndBody_img,
  .bl_videoAndBody__imgFloatLeft .bl_imgAndBody_img,
  .bl_videoAndBody__videoFloatRight .bl_imgAndBody_video,
  .bl_videoAndBody__videoFloatLeft .bl_imgAndBody_video,
  .bl_videoAndBody__imgFloatRight .bl_videoAndBody_img,
  .bl_videoAndBody__imgFloatLeft .bl_videoAndBody_img,
  .bl_videoAndBody__videoFloatRight .bl_videoAndBody_video,
  .bl_videoAndBody__videoFloatLeft .bl_videoAndBody_video {
    max-width: var(--_imageMaxW);
  }
}
@media not all and (max-width: 767px), print {
  .bl_imgAndBody__imgFloatRight .bl_imgAndBody_img, .bl_imgAndBody__videoFloatRight .bl_imgAndBody_video,
  .bl_imgAndBody__imgFloatRight .bl_videoAndBody_img,
  .bl_imgAndBody__videoFloatRight .bl_videoAndBody_video,
  .bl_videoAndBody__imgFloatRight .bl_imgAndBody_img,
  .bl_videoAndBody__videoFloatRight .bl_imgAndBody_video,
  .bl_videoAndBody__imgFloatRight .bl_videoAndBody_img,
  .bl_videoAndBody__videoFloatRight .bl_videoAndBody_video {
    float: right;
    margin-left: var(--_gap_col);
  }
}
@media not all and (max-width: 767px), print {
  .bl_imgAndBody__imgFloatLeft .bl_imgAndBody_img, .bl_imgAndBody__videoFloatLeft .bl_imgAndBody_video,
  .bl_imgAndBody__imgFloatLeft .bl_videoAndBody_img,
  .bl_imgAndBody__videoFloatLeft .bl_videoAndBody_video,
  .bl_videoAndBody__imgFloatLeft .bl_imgAndBody_img,
  .bl_videoAndBody__videoFloatLeft .bl_imgAndBody_video,
  .bl_videoAndBody__imgFloatLeft .bl_videoAndBody_img,
  .bl_videoAndBody__videoFloatLeft .bl_videoAndBody_video {
    float: left;
    margin-right: var(--_gap_col);
  }
}
@media not all and (max-width: 767px), print {
  .bl_imgAndBody__imgFloatRight .bl_imgAndBody_body, .bl_imgAndBody__videoFloatRight .bl_imgAndBody_body,
  .bl_imgAndBody__imgFloatRight .bl_videoAndBody_body,
  .bl_imgAndBody__videoFloatRight .bl_videoAndBody_body,
  .bl_videoAndBody__imgFloatRight .bl_imgAndBody_body,
  .bl_videoAndBody__videoFloatRight .bl_imgAndBody_body,
  .bl_videoAndBody__imgFloatRight .bl_videoAndBody_body,
  .bl_videoAndBody__videoFloatRight .bl_videoAndBody_body {
    padding-bottom: var(--_gap_row);
  }
}
.bl_imgAndBody_video,
.bl_videoAndBody_video {
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
}
.bl_imgAndBody_video video,
.bl_videoAndBody_video video {
  width: 100%;
  border-radius: 20px;
}
@media screen and (max-width: 1130px) {
  .bl_imgAndBody_video video,
  .bl_videoAndBody_video video {
    border-radius: 14px;
  }
}
.bl_imgAndBody_txt,
.bl_videoAndBody_txt {
  font-weight: 400;
  line-height: 2;
}

.bl_img {
  display: table;
  margin: auto;
  caption-side: bottom;
}
.bl_img > div {
  border-radius: 20px;
  overflow: hidden;
}
@media screen and (max-width: 1130px) {
  .bl_img > div {
    border-radius: 14px;
  }
}
.bl_img__w100p {
  width: 100%;
}
.bl_img__w100p img {
  width: 100%;
}
.bl_img figcaption {
  display: table-caption;
  margin-top: 15px;
  color: #666;
  font-size: 0.875rem;
  line-height: 1.6;
}
@media screen and (max-width: 1130px) {
  .bl_img figcaption {
    margin-top: 12px;
    font-size: 13px;
  }
}

.bl_imgGroupList {
  display: grid;
  justify-items: center;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .bl_imgGroupList {
    justify-items: normal;
    gap: 40px;
  }
}
@media screen and (max-width: 1130px) {
  .bl_imgGroupList .el_textLink_icon {
    width: 26px !important;
  }
}
@media not all and (max-width: 767px), print {
  .bl_imgGroupList__2col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 1130px) {
  .bl_imgGroupList__2col {
    gap: 44px;
  }
}
@media screen and (max-width: 767px) {
  .bl_imgGroupList__2col {
    gap: 30px 24px;
  }
}
.bl_imgGroupList__3col {
  gap: 60px 50px;
}
@media not all and (max-width: 767px), print {
  .bl_imgGroupList__3col {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1130px) {
  .bl_imgGroupList__3col {
    gap: 30px;
  }
}
.bl_imgGroupList__4col {
  gap: 50px 30px;
}
@media screen and (max-width: 1130px) {
  .bl_imgGroupList__4col {
    gap: 40px 20px;
  }
}
@media not all and (max-width: 767px), print {
  .bl_imgGroupList__4col {
    grid-template-columns: repeat(4, 1fr);
  }
}
.bl_imgGroupList__4col .bl_imgGroup .bl_img > div {
  border-radius: 15px;
}
@media screen and (max-width: 1130px) {
  .bl_imgGroupList__4col .bl_imgGroup .bl_img > div {
    border-radius: 10px;
  }
}
.bl_imgGroupList__4col .bl_imgGroup .bl_img figcaption {
  font-size: 12px;
}
.bl_imgGroupList__4col .bl_imgGroup .el_textLink {
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .bl_imgGroupList__3col, .bl_imgGroupList__4col {
    gap: 30px 19px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.bl_imgGroupList__3col .bl_img:not(:last-child), .bl_imgGroupList__4col .bl_img:not(:last-child) {
  margin-bottom: 20px !important;
}
@media screen and (max-width: 767px) {
  .bl_imgGroupList__3col .bl_img:not(:last-child), .bl_imgGroupList__4col .bl_img:not(:last-child) {
    margin-bottom: 14px !important;
  }
}
@media screen and (max-width: 767px) {
  .bl_imgGroupList__3col .bl_img figcaption, .bl_imgGroupList__4col .bl_img figcaption {
    font-size: 11px !important;
  }
}
.bl_imgGroupList__3col .el_textLink_icon, .bl_imgGroupList__4col .el_textLink_icon {
  width: 26px !important;
}
@media screen and (max-width: 1130px) {
  .bl_imgGroupList__3col .el_textLink_icon, .bl_imgGroupList__4col .el_textLink_icon {
    width: 20px !important;
  }
}
.bl_imgGroupList__3col .el_textLink_text, .bl_imgGroupList__4col .el_textLink_text {
  padding-top: 2px !important;
  padding-bottom: 4px !important;
}
@media screen and (max-width: 1130px) {
  .bl_imgGroupList__3col .el_textLink_text, .bl_imgGroupList__4col .el_textLink_text {
    padding-top: 0 !important;
    padding-bottom: 2px !important;
  }
}
@media screen and (max-width: 1130px) {
  .bl_imgGroupList__3col a[target=_blank]:not([href$=".pdf"]) .el_textLink_icon::after, .bl_imgGroupList__4col a[target=_blank]:not([href$=".pdf"]) .el_textLink_icon::after {
    width: 10px !important;
  }
}
@media screen and (max-width: 1130px) {
  .bl_imgGroupList__3col a[href$=".pdf"] .el_textLink_icon::after, .bl_imgGroupList__4col a[href$=".pdf"] .el_textLink_icon::after {
    width: 9px !important;
  }
}
@media screen and (max-width: 767px) {
  .bl_imgGroupList__spRow .bl_imgGroup {
    display: flex;
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
  .bl_imgGroupList__spRow .bl_imgGroup .bl_img:not(:last-child) {
    flex-shrink: 0;
    margin-top: 0;
    margin-bottom: 0;
    width: 48%;
  }
}
.bl_imgGroupList a {
  transition: opacity 0.3s ease;
}
.bl_imgGroupList a .bl_img {
  overflow: hidden;
}
.bl_imgGroupList a .bl_img figcaption {
  transition: color 0.3s ease;
}
.bl_imgGroupList a .bl_imgGroup_body {
  transition: color 0.3s ease;
}
.bl_imgGroupList a .bl_imgGroup_txt p,
.bl_imgGroupList a .bl_imgGroup_txt h3 {
  display: inline;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: 0 100%;
  transition: background-size 0.4s ease;
  transition-delay: 0.1s;
}
.bl_imgGroupList a .bl_imgGroup_title,
.bl_imgGroupList a .bl_imgGroup_date {
  position: relative;
  display: inline-block;
}
.bl_imgGroupList a .bl_imgGroup_title::after,
.bl_imgGroupList a .bl_imgGroup_date::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  height: 1px;
  width: 0;
  background-color: currentColor;
  transition: width 0.4s ease;
}
.bl_imgGroupList a[target=_blank]:not([href$=".pdf"]) .el_textLink_icon::after {
  aspect-ratio: 1;
  width: 12px;
  background-image: url(../img/common/icon/icon_blank02.svg);
}
.bl_imgGroupList a[href$=".pdf"] .el_textLink_icon::after {
  aspect-ratio: 10/12;
  width: 11px;
  background-image: url(../img/common/icon/icon_pdf02.svg);
}
@media (any-hover: hover) {
  .bl_imgGroupList a:hover .bl_img img {
    transform: scale(1.1);
  }
  .bl_imgGroupList a:hover figcaption {
    color: var(--clr_blue);
  }
  .bl_imgGroupList a:hover .bl_imgGroup_body {
    color: #081e6f;
  }
  .bl_imgGroupList a:hover .el_textLink_text::after {
    animation: underlineShrinkExpand 0.6s ease-in-out forwards;
  }
  .bl_imgGroupList a:hover .el_textLink_icon::after {
    animation: iconSlideFade 0.6s ease-in-out forwards;
  }
}

@media screen and (max-width: 767px) {
  .bl_imgGroup {
    max-width: none;
  }
}
.bl_imgGroup .bl_img:not(:last-child) {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .bl_imgGroup .bl_img:not(:last-child) {
    margin-bottom: 20px;
  }
}
.bl_imgGroup .bl_img img {
  transition: transform 0.3s ease;
}
.bl_imgGroup .bl_img figcaption {
  margin-top: 10px;
}
@media screen and (max-width: 1130px) {
  .bl_imgGroup .bl_img figcaption {
    font-size: 13px;
  }
}
.bl_imgGroup_title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1130px) {
  .bl_imgGroup_title {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .bl_imgGroup_title {
    font-size: 1.125rem;
  }
}
.bl_imgGroup_title:not(:last-child) {
  margin-bottom: 15px;
}
.bl_imgGroup_title__sm {
  font-size: 1.25rem;
}
@media screen and (max-width: 1130px) {
  .bl_imgGroup_title__sm {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .bl_imgGroup_title__sm {
    font-size: 0.9375rem;
  }
}
.bl_imgGroup_title__sm:not(:last-child) {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .bl_imgGroup_title__sm:not(:last-child) {
    margin-bottom: 12px;
  }
}
.bl_imgGroup_title__xs {
  font-size: 1.0625rem;
}
@media screen and (max-width: 1130px) {
  .bl_imgGroup_title__xs {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .bl_imgGroup_title__xs {
    font-size: 0.9375rem;
  }
}
.bl_imgGroup_time {
  letter-spacing: 0.05em;
}
.bl_imgGroup_txt {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (max-width: 1130px) {
  .bl_imgGroup_txt {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .bl_imgGroup_txt {
    font-size: 0.9375rem;
  }
}
.bl_imgGroup_txt__sm {
  font-size: 0.9375rem;
}
@media screen and (max-width: 1130px) {
  .bl_imgGroup_txt__sm {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .bl_imgGroup_txt__sm {
    font-size: 0.8125rem;
  }
}
.bl_imgGroup_txt > * + * {
  margin-top: 10px;
}

.bl_wysiwyg > *:first-child {
  margin-top: 0;
}
.bl_wysiwyg > * + * {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .bl_wysiwyg > * + * {
    margin-top: 20px;
  }
}
.bl_wysiwyg__hasBg {
  border-radius: 30px;
  padding: 80px;
  background: var(--4, rgba(8, 30, 111, 0.04));
}
@media screen and (max-width: 1130px) {
  .bl_wysiwyg__hasBg {
    border-radius: 25px;
    padding: 60px;
  }
}
@media screen and (max-width: 767px) {
  .bl_wysiwyg__hasBg {
    border-radius: 20px;
    padding: 25px;
  }
}
.bl_wysiwyg h2 {
  display: flex;
  margin-bottom: 40px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--clr_blue);
  font-size: 2.625rem;
  font-weight: 500;
  color: var(--clr_blue);
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1130px) {
  .bl_wysiwyg h2 {
    margin-bottom: 35px;
    padding-bottom: 25px;
    font-size: 2.125rem;
  }
}
@media screen and (max-width: 767px) {
  .bl_wysiwyg h2 {
    margin-bottom: 30px;
    padding-bottom: 20px;
    font-size: 1.625rem;
  }
}
.bl_wysiwyg h3 {
  margin-bottom: 35px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1130px) {
  .bl_wysiwyg h3 {
    margin-bottom: 28px;
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 767px) {
  .bl_wysiwyg h3 {
    margin-bottom: 24px;
    font-size: 1.375rem;
  }
}
.bl_wysiwyg h4 {
  position: relative;
  display: flex;
  margin-bottom: 30px;
  padding-left: 25px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1130px) {
  .bl_wysiwyg h4 {
    margin-bottom: 24px;
    padding-left: 20px;
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .bl_wysiwyg h4 {
    margin-bottom: 16px;
    padding-left: 18px;
    font-size: 1.125rem;
  }
}
.bl_wysiwyg h4::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  display: inline-block;
  margin-right: 15px;
  width: 10px;
  height: 10px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--clr_blue);
  vertical-align: middle;
  transform: translateY(25%);
}
@media screen and (max-width: 1130px) {
  .bl_wysiwyg h4::before {
    width: 8px;
    height: 8px;
  }
}
.bl_wysiwyg p {
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.bl_wysiwyg p span {
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .bl_wysiwyg p {
    font-size: 0.9375rem;
    line-height: 1.8;
  }
}
.bl_wysiwyg a {
  color: var(--clr_blue);
  line-height: 1.8;
  text-decoration: underline;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  transition: all 0.3s ease;
}
.bl_wysiwyg a::after {
  display: inline-block;
}
.bl_wysiwyg a[target=_blank]:not([href$=".pdf"])::after {
  content: "";
  width: 18px;
  aspect-ratio: 1;
  background-color: var(--clr_blue);
  -webkit-mask-image: url(../img/common/icon/icon_blank.svg);
  mask-image: url(../img/common/icon/icon_blank.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}
.bl_wysiwyg a[href$=".pdf"]::after {
  content: "";
  width: 18px;
  height: auto;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_pdf.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.bl_wysiwyg a::after {
  translate: 0 4px;
}
.bl_wysiwyg a > span {
  margin-right: 5px;
}
.bl_wysiwyg a:focus-visible {
  font-weight: bolder;
}
@media (any-hover: hover) {
  .bl_wysiwyg a:hover {
    font-weight: bolder;
  }
}
.bl_wysiwyg ol li,
.bl_wysiwyg ul li {
  line-height: 1.6;
}
.bl_wysiwyg ol li:not(:first-child),
.bl_wysiwyg ul li:not(:first-child) {
  margin-top: 8px;
}
.bl_wysiwyg ol li ol,
.bl_wysiwyg ol li ul,
.bl_wysiwyg ul li ol,
.bl_wysiwyg ul li ul {
  margin-top: 8px;
}
.bl_wysiwyg ol {
  counter-reset: liCounter;
}
.bl_wysiwyg ol > li {
  position: relative;
  padding-left: 24px;
}
@media screen and (max-width: 767px) {
  .bl_wysiwyg ol > li {
    padding-left: 20px;
  }
}
.bl_wysiwyg ol > li::before {
  content: counter(liCounter) ".";
  counter-increment: liCounter;
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
  color: var(--Black, #222);
  font-family: "Nunito Sans";
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .bl_wysiwyg ol > li::before {
    font-size: 15px;
  }
}
.bl_wysiwyg ul > li {
  position: relative;
  padding-left: 1em;
}
.bl_wysiwyg ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5lh;
  border-radius: 50%;
  width: 4px;
  flex-shrink: 0;
  aspect-ratio: 1;
  background-color: rgba(8, 30, 111, 0.5);
  translate: 0 -50%;
}
.bl_wysiwyg table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-collapse: separate;
}
.bl_wysiwyg th,
.bl_wysiwyg td {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 20px;
  vertical-align: middle;
  line-height: 1.6;
}
@media screen and (max-width: 1130px) {
  .bl_wysiwyg th,
  .bl_wysiwyg td {
    padding: 16px;
  }
}
@media screen and (max-width: 767px) {
  .bl_wysiwyg th,
  .bl_wysiwyg td {
    padding: 12px;
    font-size: 15px;
  }
}
.bl_wysiwyg th {
  background-color: rgba(8, 30, 111, 0.08);
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .bl_table__spScroll {
    padding: 0 var(--contMargin_hor) 1px 0;
  }
}
@media screen and (max-width: 767px) {
  .bl_table__spScroll table {
    width: 200%;
  }
}

.bl_video {
  margin: auto;
  width: -moz-fit-content;
  width: fit-content;
  caption-side: bottom;
}
.bl_video > div {
  margin: auto;
}
.bl_video__w100p {
  width: 100%;
}
.bl_video__w100p iframe {
  width: 100%;
}
.bl_video iframe {
  max-width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border-radius: 20px;
}
@media screen and (max-width: 1130px) {
  .bl_video iframe {
    border-radius: 14px;
  }
}
.bl_video figcaption {
  margin-top: 15px;
  color: #666;
  font-size: 0.875rem;
  line-height: 1.6;
}
@media screen and (max-width: 1130px) {
  .bl_video figcaption {
    margin-top: 12px;
  }
}

.bl_videoGroupList {
  display: grid;
  gap: 40px 24px;
}
@media not all and (max-width: 767px), print {
  .bl_videoGroupList__2col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media not all and (max-width: 767px), print {
  .bl_videoGroupList__3col {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media not all and (max-width: 767px), print {
  .bl_videoGroupList__4col {
    grid-template-columns: repeat(4, 1fr);
  }
}

.bl_videoGroup .bl_video:not(:last-child) {
  margin-bottom: 20px;
}
.bl_videoGroup_title {
  font-size: 1.25rem;
  font-weight: bold;
}
.bl_videoGroup_title:not(:last-child) {
  margin-bottom: 15px;
}

.bl_dataTable {
  display: grid;
  grid-template-columns: minmax(200px, max-content) 1fr;
  gap: 0 2em;
}
@media screen and (max-width: 767px) {
  .bl_dataTable {
    grid-template-columns: minmax(100px, max-content) 1fr;
  }
}
.bl_dataTable_row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  align-items: center;
  border-bottom: 2px solid;
  padding: 20px;
}
.bl_dataTable_row:nth-child(odd) {
  background-color: #ddd;
}
.bl_dataTable dt {
  font-weight: bold;
}

.bl_accordionList {
  display: grid;
  gap: 30px;
}

.bl_accordion {
  border: 2px solid;
}
.bl_accordion_head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
  padding: 20px 30px;
  cursor: pointer;
}
.bl_accordion_head::-webkit-details-marker {
  display: none;
}
.bl_accordion_head .icon {
  position: relative;
  width: 20px;
  height: 2px;
  background-color: currentColor;
}
.bl_accordion_head .icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: inherit;
  rotate: 90deg;
}
.bl_accordion[open] .bl_accordion_head .icon::before {
  opacity: 0;
}
.bl_accordion_body {
  overflow: hidden;
}
.bl_accordion_body > div {
  padding: 0 30px 20px;
}

.bl_dialog {
  opacity: 0;
  visibility: hidden;
  display: block;
  overflow-y: auto;
  overscroll-behavior: contain;
  transition-property: opacity, visibility, overlay;
  transition-duration: var(--transDur);
  transition-timing-function: var(--transEasing);
  transition-behavior: allow-discrete;
  scrollbar-width: none;
}
.bl_dialog::-webkit-scrollbar {
  display: none;
}
.bl_dialog[open] {
  opacity: 1;
  visibility: visible;
}
.bl_dialog::backdrop {
  display: none;
}
.bl_dialog_backdrop {
  height: calc(100% + 1px);
}
.bl_dialog_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  min-height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
.bl_dialog_body {
  position: relative;
  padding: 40px;
  background-color: #fff;
}
.bl_dialog_closeBtn {
  display: grid;
  place-items: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 32px;
  aspect-ratio: 1;
  background-color: #000;
}
.bl_dialog_closeBtn > span:not([class]) {
  position: relative;
  width: 16px;
  height: 2px;
}
.bl_dialog_closeBtn > span:not([class])::before, .bl_dialog_closeBtn > span:not([class])::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
}
.bl_dialog_closeBtn > span:not([class])::before {
  rotate: -45deg;
}
.bl_dialog_closeBtn > span:not([class])::after {
  rotate: 45deg;
}

.bl_tabCont_tablist button {
  border: 1px solid var(--clr_black);
  border-bottom: 0;
  padding: 1em;
}
.bl_tabCont_tablist button[aria-selected=true] {
  background-color: var(--clr_black);
  color: #fff;
}
.bl_tabCont_tabpanel {
  border: 2px solid;
  padding: 2em;
}

.bl_newsList {
  border-top: 1px solid #ccc;
}
.bl_newsList_item {
  border-bottom: 1px solid #ccc;
}
.bl_newsList_item > a {
  display: block;
  padding: 30px 20px;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 1130px) {
  .bl_newsList_item > a {
    padding: 20px 0;
  }
}
@media (any-hover: hover) {
  .bl_newsList_item > a:hover {
    background-color: rgba(8, 30, 111, 0.05);
  }
  .bl_newsList_item > a:hover .el_news_category {
    background-color: #081e6f;
    color: #fff;
  }
}
.bl_newsList_meta {
  display: flex;
  -moz-column-gap: 20px;
  column-gap: 20px;
  align-items: center;
}
.bl_newsList_title {
  display: -webkit-box;
  margin-top: 15px;
  font-size: 18px;
  font-weight: 350;
  line-height: 1.6;
  letter-spacing: 0.05em;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 1130px) {
  .bl_newsList_title {
    margin-top: 10px;
    font-size: 15px;
  }
}

.bl_section {
  padding: 75px 0;
}
@media screen and (max-width: 1130px) {
  .bl_section {
    padding: 55px 0;
  }
}
@media screen and (max-width: 767px) {
  .bl_section {
    padding: 40px 0;
  }
}

.bl_flowList > * {
  margin-top: 0;
}

.bl_flowGroup {
  margin-top: 20px;
  padding: 50px;
  border-radius: 30px;
  border: 2px solid rgba(8, 30, 111, 0.1);
}
@media screen and (max-width: 1130px) {
  .bl_flowGroup {
    padding: 40px;
    border-radius: 20px;
  }
}
@media screen and (max-width: 767px) {
  .bl_flowGroup {
    padding: 25px;
  }
}
.bl_flowGroup_title {
  position: relative;
  margin-bottom: 0;
  padding-left: 25px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1130px) {
  .bl_flowGroup_title {
    padding-right: 20px;
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .bl_flowGroup_title {
    padding-left: 18px;
    font-size: 18px;
  }
}
.bl_flowGroup_title::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  display: inline-block;
  margin-right: 15px;
  width: 10px;
  height: 10px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--clr_blue);
  vertical-align: middle;
  transform: translateY(25%);
}
@media screen and (max-width: 1130px) {
  .bl_flowGroup_title::before {
    width: 8px;
    height: 8px;
  }
}
.bl_flowGroup_title + .bl_flowGroup_txt p {
  margin-top: 30px;
}
@media screen and (max-width: 1130px) {
  .bl_flowGroup_title + .bl_flowGroup_txt p {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .bl_flowGroup_title + .bl_flowGroup_txt p {
    margin-top: 16px;
  }
}

.bl_singleHeader {
  position: relative;
  padding-bottom: 30px;
  border-bottom: 1px solid #ccc;
}
.bl_singleHeader_title {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  padding-bottom: 70px;
  padding-right: 210px;
}
@media screen and (max-width: 1130px) {
  .bl_singleHeader_title {
    padding-right: 100px;
    padding-bottom: 32px;
  }
}
@media screen and (max-width: 767px) {
  .bl_singleHeader_title {
    row-gap: 6px;
  }
}
.bl_singleHeader_title_ja {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1130px) {
  .bl_singleHeader_title_ja {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .bl_singleHeader_title_ja {
    font-size: 16px;
  }
}
.bl_singleHeader_title_en {
  color: #081e6f;
  font-family: "Nunito Sans";
  font-size: 68px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1130px) {
  .bl_singleHeader_title_en {
    font-size: 48px;
  }
}
@media screen and (max-width: 767px) {
  .bl_singleHeader_title_en {
    font-size: 42px;
  }
}
.bl_singleHeader_bg {
  position: absolute;
  top: -30px;
  right: 4%;
  width: 16%;
  max-width: 240px;
  height: auto;
  aspect-ratio: 1;
  flex-shrink: 0;
  z-index: -1;
}
@media screen and (max-width: 1130px) {
  .bl_singleHeader_bg {
    right: 0;
    width: 130px;
    height: 130px;
  }
}
@media screen and (max-width: 767px) {
  .bl_singleHeader_bg {
    width: 100px;
    height: 100px;
  }
}
.bl_singleHeader_bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.bl_singleHeader .bl_breadcrumb {
  margin-bottom: 0;
}
@media not all and (max-width: 1130px), print {
  .bl_singleHeader__en {
    padding-top: 50px;
  }
  .bl_singleHeader__en .bl_singleHeader_title {
    padding-bottom: 88px;
  }
  .bl_singleHeader__en .bl_singleHeader_bg {
    top: 0;
  }
}

.bl_singleHeader + .bl_singleBody {
  padding-top: 100px;
}
@media screen and (max-width: 1130px) {
  .bl_singleHeader + .bl_singleBody {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .bl_singleHeader + .bl_singleBody {
    padding-top: 60px;
  }
}
.bl_singleBody__mission {
  margin-bottom: -150px;
}
@media screen and (max-width: 767px) {
  .bl_singleBody__mission {
    margin-bottom: -60px;
  }
}

/**
 * Element
 */
.el_hdgLg {
  display: flex;
  margin-bottom: 40px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--clr_blue);
  font-size: 2.625rem;
  font-weight: 500;
  color: var(--clr_blue);
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1130px) {
  .el_hdgLg {
    margin-bottom: 35px;
    padding-bottom: 25px;
    font-size: 2.125rem;
  }
}
@media screen and (max-width: 767px) {
  .el_hdgLg {
    margin-bottom: 30px;
    padding-bottom: 20px;
    font-size: 1.625rem;
  }
}

.el_hdgMd {
  margin-bottom: 35px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1130px) {
  .el_hdgMd {
    margin-bottom: 28px;
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 767px) {
  .el_hdgMd {
    margin-bottom: 24px;
    font-size: 1.375rem;
  }
}

.el_hdgSm {
  position: relative;
  display: flex;
  margin-bottom: 30px;
  padding-left: 25px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1130px) {
  .el_hdgSm {
    margin-bottom: 24px;
    padding-left: 20px;
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .el_hdgSm {
    margin-bottom: 16px;
    padding-left: 18px;
    font-size: 1.125rem;
  }
}
.el_hdgSm::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  display: inline-block;
  margin-right: 15px;
  width: 10px;
  height: 10px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--clr_blue);
  vertical-align: middle;
  transform: translateY(25%);
}
@media screen and (max-width: 1130px) {
  .el_hdgSm::before {
    width: 8px;
    height: 8px;
  }
}

.el_btn {
  position: relative;
  display: flex;
  justify-content: space-between;
  min-width: 272px;
  height: 100%;
  padding: 25px 15px 25px 30px;
  align-items: center;
  gap: 20px;
  border-radius: 10px;
  background: rgba(8, 30, 111, 0.08);
  overflow: hidden;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .el_btn {
    gap: 16px;
    font-size: 15px;
  }
}
.el_btn:focus-visible {
  color: #fff;
}
.el_btn:focus-visible::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}
.el_btn:focus-visible .icon {
  background-color: rgba(255, 255, 255, 0.2);
}
.el_btn:focus-visible .icon::after {
  animation: iconSlideFade 0.6s ease-in-out forwards;
}
@media (any-hover: hover) {
  .el_btn:hover {
    color: #fff;
  }
  .el_btn:hover::before {
    transform-origin: 0% 50%;
    transform: scaleX(1);
  }
  .el_btn:hover .icon {
    background-color: rgba(255, 255, 255, 0.2);
  }
  .el_btn:hover .icon::after {
    animation: iconSlideFade 0.6s ease-in-out forwards;
  }
}
@media screen and (max-width: 767px) {
  .el_btn {
    padding: 22px 12px 22px 26px;
  }
}
.el_btn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: var(--clr_blue);
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease 0.5s;
  z-index: 1;
}
.el_btn_inner::after {
  translate: 0 4px;
}
.el_btn .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 10px 10px 10px 0;
  background-color: var(--clr_blue);
  transition: background-color 0.3s ease;
}
.el_btn .icon::after {
  content: "";
  display: block;
  width: 10px;
  height: auto;
  aspect-ratio: 10/8;
  background: url(../img/common/icon/icon_arrow_01.svg) no-repeat center/contain;
  transform: translateX(0);
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .el_btn .icon {
    width: 26px;
    border-radius: 8px 8px 8px 0;
  }
}
.el_btn[target=_blank]:not([href$=".pdf"]) .icon::after {
  aspect-ratio: 1;
  width: 12px;
  background-image: url(../img/common/icon/icon_blank02.svg);
}
@media screen and (max-width: 767px) {
  .el_btn[target=_blank]:not([href$=".pdf"]) .icon::after {
    width: 10px;
  }
}
.el_btn[href$=".pdf"] .icon::after {
  aspect-ratio: 10/12;
  width: 11px;
  background-image: url(../img/common/icon/icon_pdf02.svg);
}
@media screen and (max-width: 767px) {
  .el_btn[href$=".pdf"] .icon::after {
    width: 8.5px;
  }
}
.el_btn_inner,
.el_btn .icon {
  z-index: 2;
}
.el_btn__bgWhite {
  border: 1px solid #081e6f;
  background-color: #fff;
}

.el_section_title {
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}
.el_section_title__center {
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 1130px) {
  .el_section_title__mdCenter {
    align-items: center;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .el_section_title__spCenter {
    align-items: center;
    text-align: center;
  }
}

.el_section_title_sub {
  font-size: 20px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1130px) {
  .el_section_title_sub {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .el_section_title_sub {
    font-size: 16px;
  }
}
.el_section_title_sub__sm {
  font-size: 18px;
}
@media screen and (max-width: 1130px) {
  .el_section_title_sub__sm {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .el_section_title_sub__sm {
    font-size: 15px;
  }
}

.el_section_title_main {
  letter-spacing: 0.05em;
}

.el_section_title_main__xs {
  font-size: 36px;
}
@media screen and (max-width: 1130px) {
  .el_section_title_main__xs {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .el_section_title_main__xs {
    font-size: 20px;
  }
}

.el_section_title_main__sm {
  font-size: 48px;
}
@media screen and (max-width: 1130px) {
  .el_section_title_main__sm {
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  .el_section_title_main__sm {
    font-size: 32px;
  }
}

.el_section_title_main__md {
  font-size: 56px;
}
@media screen and (max-width: 1130px) {
  .el_section_title_main__md {
    font-size: 44px;
  }
}
@media screen and (max-width: 767px) {
  .el_section_title_main__md {
    font-size: 36px;
  }
}

.el_section_title_main__ml {
  font-size: 60px;
}
@media screen and (max-width: 1130px) {
  .el_section_title_main__ml {
    font-size: 48px;
  }
}
@media screen and (max-width: 767px) {
  .el_section_title_main__ml {
    font-size: 36px;
  }
}

.el_section_title_main__lg {
  font-size: 66px;
}
@media screen and (max-width: 1130px) {
  .el_section_title_main__lg {
    font-size: 52px;
  }
}
@media screen and (max-width: 767px) {
  .el_section_title_main__lg {
    font-size: 39px;
  }
}

.el_lang_en {
  color: #081e6f;
  font-family: "Nunito Sans";
  font-weight: 700;
  text-transform: uppercase;
}

.el_lang_en__blk {
  color: #000;
}

.el_lang_ja {
  color: #000;
  font-family: "Noto Sans JP";
  font-weight: 500;
}

.el_section_title_sub.el_lang_ja {
  letter-spacing: 0.1em;
}

.el_textLink {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1130px) {
  .el_textLink {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .el_textLink {
    font-size: 15px;
  }
}
.el_textLink > a,
.el_textLink > span {
  display: flex;
  -moz-column-gap: 20px;
  column-gap: 20px;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .el_textLink > a,
  .el_textLink > span {
    justify-content: center;
    -moz-column-gap: 15px;
    column-gap: 15px;
  }
}
@media (any-hover: hover) {
  .el_textLink > a:hover .el_textLink_text::after,
  .el_textLink > span:hover .el_textLink_text::after {
    animation: underlineShrinkExpand 0.6s ease-in-out forwards;
  }
  .el_textLink > a:hover .el_textLink_icon::after,
  .el_textLink > span:hover .el_textLink_icon::after {
    animation: iconSlideFade 0.6s ease-in-out forwards;
  }
}
.el_textLink_text {
  position: relative;
}
.el_textLink_text {
  position: relative;
}
.el_textLink_text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(1);
  transform-origin: right;
}
@media screen and (max-width: 767px) {
  .el_textLink_text::after {
    bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .el_textLink_text {
    display: flex;
    align-items: center;
  }
}
.el_textLink_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 26px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 10px 10px 10px 0;
  background-color: var(--clr_blue);
  transition: background-color 0.3s ease;
}
.el_textLink_icon::after {
  content: "";
  display: block;
  width: 10px;
  height: auto;
  aspect-ratio: 10/8;
  background: url(../img/common/icon/icon_arrow_01.svg) no-repeat center/contain;
  transform: translateX(0);
  opacity: 1;
}
.el_textLink__sm {
  font-size: 14px;
}
.el_textLink__sm > span,
.el_textLink__sm > a {
  -moz-column-gap: 10px;
  column-gap: 10px;
}
.el_textLink__sm .el_textLink_icon {
  width: 26px;
}
.el_textLink__md {
  font-size: 15px;
}
@media screen and (max-width: 1130px) {
  .el_textLink__md {
    font-size: 13px;
  }
}
.el_textLink__md > span,
.el_textLink__md > a {
  align-items: center;
  -moz-column-gap: 15px;
  column-gap: 15px;
}
@media screen and (max-width: 1130px) {
  .el_textLink__md > span,
  .el_textLink__md > a {
    -moz-column-gap: 8px;
    column-gap: 8px;
  }
}
.el_textLink__md .el_textLink_text {
  padding-top: 4px;
  padding-bottom: 5px;
}
@media screen and (max-width: 1130px) {
  .el_textLink__md .el_textLink_text {
    padding-top: 0;
  }
}
.el_textLink__md .el_textLink_icon {
  width: 30px;
}
@media screen and (max-width: 1130px) {
  .el_textLink__md .el_textLink_icon {
    width: 20px;
    border-radius: 7px 7px 7px 0;
  }
}
.el_textLink__lg {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .el_textLink__lg {
    font-size: 16px;
  }
}
.el_textLink__lg > span,
.el_textLink__lg > a {
  align-items: flex-end;
  -moz-column-gap: 20px;
  column-gap: 20px;
}
@media screen and (max-width: 767px) {
  .el_textLink__lg > span,
  .el_textLink__lg > a {
    -moz-column-gap: 15px;
    column-gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .el_textLink__lg {
    -moz-column-gap: 16px;
    column-gap: 16px;
  }
}
.el_textLink__lg .el_textLink_text {
  padding-bottom: 5px;
}
.el_textLink__lg .el_textLink_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 50px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 15px 15px 15px 0;
  background-color: var(--clr_blue);
  transition: background-color 0.3s ease;
}
.el_textLink__lg .el_textLink_icon::after {
  content: "";
  display: block;
  width: 16px;
  height: auto;
  aspect-ratio: 10/8;
  background: url(../img/common/icon/icon_arrow_02.svg) no-repeat center/contain;
  transform: translateX(0);
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .el_textLink__lg .el_textLink_icon {
    width: 30px;
    border-radius: 10px 10px 10px 0;
  }
  .el_textLink__lg .el_textLink_icon::after {
    width: 12px;
  }
}
.el_textLink__left > span,
.el_textLink__left > a {
  justify-content: flex-start;
}
.el_textLink__right > span,
.el_textLink__right > a {
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .el_textLink__spLeft > span,
  .el_textLink__spLeft > a {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .el_textLink__spRight > span,
  .el_textLink__spRight > a {
    justify-content: flex-end;
  }
}

.el_news_date {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1130px) {
  .el_news_date {
    font-size: 14px;
  }
}

.el_news_category {
  padding: 5px 20px;
  border-radius: 20px;
  background: rgba(8, 30, 111, 0.1);
  color: #081e6f;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 1130px) {
  .el_news_category {
    padding: 5px 15px;
    font-size: 13px;
  }
}

.el_textlinkSet li {
  padding-left: 0;
}
.el_textlinkSet li::before {
  display: none;
}

/**
 * Helper
 */
@media screen and (max-width: 767px) {
  .hp_pcOnly {
    display: none !important;
  }
}

@media not all and (max-width: 767px), print {
  .hp_spOnly {
    display: none !important;
  }
}

@media not all and (max-width: 1130px), print {
  .hp_tbOnly {
    display: none !important;
  }
}

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

.hp_trimLeading::before, .hp_trimLeading::after {
  content: "";
  display: block;
}
.hp_trimLeading::before {
  margin-block-end: var(--negLeading);
}
.hp_trimLeading::after {
  margin-block-start: var(--negLeading);
}

.hp_capitalize {
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: 0;
}

.hp_bgGray {
  display: inline-block;
  padding: 0 10px;
  background: #ededed;
}

@media not all and (max-width: 767px), print {
  .hp_pcMt60 {
    margin-top: 60px;
  }
}

@media not all and (max-width: 767px), print {
  .hp_pcMt50 {
    margin-top: 50px;
  }
}

@media not all and (max-width: 767px), print {
  .hp-pcMt80 {
    margin-top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .hp_spMt30 {
    margin-top: 30px;
  }
}

@media not all and (max-width: 767px), print {
  .hp_1col {
    max-width: 545px;
  }
}

.hp_gap30 {
  gap: 30px;
}

.hp_clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.hp_pb0 {
  padding-bottom: 0 !important;
}

.hp_fw600 {
  font-weight: 600;
}

/**
 * Keyframes
 */
@keyframes iconSlideFade {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  40% {
    transform: translateX(10px);
    opacity: 0;
  }
  60% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes underlineShrinkExpand {
  0% {
    transform-origin: right;
    transform: scaleX(1);
  }
  40% {
    transform-origin: right;
    transform: scaleX(0);
  }
  60% {
    transform-origin: left;
    transform: scaleX(0);
  }
  100% {
    transform-origin: left;
    transform: scaleX(1);
  }
}