@charset "UTF-8";
:root {
  --leading-trim: calc((1em - 1lh) / 2);
  --content-size: 720px;
  --content-wide: 1000px;
  --content-max: 1120px;
  --color-base: #fff;
  --color-contrast: #383838;
  --color-accent-1: #0044a9;
  --color-accent-2: #4286C0;
  --color-accent-3: #afafaf;
  --color-accent-4: #edf7ff;
  --color-accent-5: #ff0;
  --color-gray: #777;
  --color-link: var(--color-accent-1);
  --color-link-hover: var(--color-accent-1);
  --color-disabled: var(--color-gray);
  --color-btn-hover: #d8eeff;
  --outline: 3px solid #222;
  --outline-offset: 2px;
  --underline-offset: 3px;
  --font-noto: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  --font-jp: var(--font-noto);
  --font-en: "Jost", sans-serif;
  --fz-small: clamp(0.75rem, 0.688rem + 0.3vw, 0.875rem);
  --fz-medium: clamp(0.875rem, 0.813rem + 0.3vw, 1rem);
  --fz-large: clamp(1rem, 0.938rem + 0.3vw, 1.125rem);
  --fz-x-large: clamp(1.125rem, 1.063rem + 0.3vw, 1.25rem);
  --fz-xx-large: clamp(1.25rem, 1.125rem + 0.6vw, 1.5rem);
  --fz-huge: clamp(1.5rem, 1.063rem + 1.9vw, 2.25rem);
  --ls-normal: .05em;
  --ls-narrow: .03em;
  --lh-normal: 1.7;
  --lh-narrow: 1.35;
  --spacing-10: 10px;
  --spacing-20: clamp(0.9375rem, 0.75rem + 0.8vw, 1.25rem);
  --spacing-30: clamp(1.25rem, 0.875rem + 1.6vw, 1.875rem);
  --spacing-40: clamp(1.875rem, 1.5rem + 1.6vw, 2.5rem);
  --spacing-50: clamp(2.5rem, 1.75rem + 3.2vw, 3.75rem);
  --spacing-60: clamp(4.375rem, 2.5rem + 8vw, 7.5rem);
  --root-padding: clamp(1.25rem, 0.5rem + 3.2vw, 2.5rem);
  --block-gap: var(--spacing-40);
}

/* A (more) Modern CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

:where(html) {
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
          text-size-adjust: none;
}

:where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd) {
  margin-block-end: 0;
}

:where(ul[role=list], ol[role=list]) {
  list-style: none;
}

:where(body) {
  min-height: 100vh;
  line-height: 1.5;
}

:where(h1, h2, h3, h4, button, input, label) {
  line-height: 1.1;
}

:where(h1, h2, h3, h4) {
  text-wrap: balance;
}

:where(a:not([class])) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

:where(img, picture) {
  max-width: 100%;
  display: block;
}

:where(input, button, textarea, select) {
  font-family: inherit;
  font-size: inherit;
}

:where(textarea:not([rows])) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 5ex;
}

* {
  min-inline-size: 0;
  min-block-size: 0;
}

:root {
  --header-height: 84px;
}

html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

body {
  overflow-x: hidden;
  scrollbar-gutter: stable;
  position: relative;
  margin: 0;
  font-family: var(--font-jp);
  font-style: normal;
  font-size: var(--fz-medium);
  line-height: var(--lh-normal);
  font-weight: 400;
  letter-spacing: var(--ls-normal) !important;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
}

:where(h1, h2, h3) {
  line-height: var(--lh-narrow);
  word-break: auto-phrase;
}

:where(h4, h5, h6) {
  word-break: auto-phrase;
}

:where(ul, ol) {
  padding-inline-start: 2em;
  line-height: var(--lh-narrow);
}
:where(ul, ol) li + li {
  margin-block-start: 0.25em;
}

:where(ul) {
  list-style-type: disc;
}

:where(ol) {
  list-style-type: decimal;
}

:where(a) {
  text-underline-offset: var(--underline-offset);
  text-decoration-color: color-mix(in srgb, currentcolor, transparent 30%);
  transition: color 0.3s ease;
}
:where(a):-moz-any-link {
  color: var(--color-link);
}
:where(a):any-link {
  color: var(--color-link);
}
:where(a):focus-visible {
  color: var(--color-link-hover);
  text-decoration-line: underline;
  text-underline-offset: var(--underline-offset);
  text-decoration-thickness: 1px;
}
:where(a):not([href]) {
  color: var(--color-disabled);
  text-decoration: none !important;
  cursor: default;
  pointer-events: none;
}

:where(input, button, textarea, select) {
  color: inherit;
  font: inherit;
}

:where(img) {
  height: auto;
}

:where(input[type=text],
input[type=email],
input[type=tel],
input[type=date],
input[type=time],
input[type=url],
input[type=search],
input[type=password],
textarea,
select) {
  padding: 0.25em 0.5em;
  border: 1px solid var(--color-gray);
  border-radius: 4px;
}

:where(select) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-inline-end: 32px;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2C14l-4-4h8l-4%2C4Z%22%20fill%3D%22%23383838%22%2F%3E%3C%2Fsvg%3E");
  background-size: 24px;
  background-position: right 4px center;
  background-repeat: no-repeat;
  border-radius: 4px;
}

:where(textarea) {
  inline-size: 40em;
  min-block-size: 5lh;
  max-block-size: 10lh;
  field-sizing: content;
  line-height: var(--lh-narrow);
}

:where(button, [type=button], [type=reset], [type=submit]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
  touch-action: manipulation;
  cursor: pointer;
}

:where(label[for], select, summary, [role=tab], [role=button]) {
  cursor: pointer;
}

:focus-visible {
  outline: var(--outline);
  outline-offset: var(--outline-offset);
}

:where(svg) {
  fill: currentColor;
}
.ly_body {
  position: relative;
  display: grid;
  grid-template: "header" auto "main" 1fr "footer" auto/1fr;
  min-block-size: 100vh;
  min-block-size: 100dvb;
}

.ly_header {
  grid-area: main;
  justify-self: stretch;
  align-self: start;
  position: sticky;
  top: 0;
  z-index: 100;
  padding-inline: 15px;
  background-color: rgba(10, 70, 137, 0);
  transition: background 0.3s ease;
}
.ly_header.is_scrolled {
  transition: background 0.3s ease;
  background: rgba(10, 70, 137, 0.2) url(../img/header-bg.webp) 0 0/auto 100% repeat-x;
}
.ly_header.is_scrolled .ly_header_inner {
  padding-block: 10px;
}

.ly_header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-30);
  max-inline-size: 1360px;
  margin-inline: auto;
  padding-block: 20px;
  transition: padding-block 0.3s ease;
}

.ly_main {
  grid-area: main;
}

.ly_footer {
  grid-area: footer;
}

.ly_inner__max {
  max-inline-size: var(--content-max);
  margin-inline: auto;
}

.el_burger {
  display: grid;
  place-content: center;
  inline-size: 44px;
  block-size: 44px;
  margin: 0;
  padding: 0;
  color: var(--color-base, #fff);
  line-height: 1;
}
.el_burger svg {
  inline-size: 30px;
  block-size: 30px;
}

.el_pageTitle {
  margin-block-start: var(--spacing-60);
  font-family: var(--font-jp);
  font-size: clamp(1.3125rem, 0.819rem + 2.1vw, 2rem);
  font-weight: 700;
  line-height: var(--lh-narrow);
  letter-spacing: 0.08em;
  word-break: normal;
  text-wrap-style: auto;
}

.el_pageTitle_en {
  margin: 0;
  font-size: var(--fz-xx-large);
  font-family: var(--font-en);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: var(--lh-narrow);
  text-transform: uppercase;
}

h2,
.el_heading2 {
  margin: 0;
  padding-inline: var(--spacing-20);
  border-left: 2px solid var(--color-accent-2, #4286c0);
  font-size: var(--fz-xx-large);
  font-weight: 700;
  letter-spacing: var(--ls-narrow);
}

.el_heading2__lg {
  margin: 0;
  padding-inline: 0;
  border: none !important;
  font-size: var(--fz-huge);
  font-weight: 700;
  letter-spacing: var(--ls-narrow);
}

.el_heading2__xlg {
  margin: 0;
  padding-inline: 0;
  border: none !important;
  color: var(--color-accent-1);
  font-family: var(--font-en);
  font-size: clamp(2rem, 0.813rem + 5.1vw, 4rem);
  font-weight: 500;
  letter-spacing: var(--ls-narrow);
}

.el_heading2__bdis0 {
  padding-inline: 0 !important;
  border: none !important;
  font-weight: 700;
}

.el_btn_ar {
  display: inline-block;
  padding: 12px 48px 12px 22px;
  border-radius: 999px;
  border: 1px solid currentColor;
  background: #fafafa;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%230044a9"><polygon points="12 15.29 15.29 12 12 8.71 11.31 9.4 13.41 11.5 8.5 11.5 8.5 12.5 13.41 12.5 11.31 14.6 12 15.29"/><path d="M20.29,8.49c-.47-1.09-1.11-2.05-1.92-2.86-.81-.81-1.76-1.45-2.86-1.92-1.1-.47-2.27-.71-3.51-.71s-2.41.24-3.51.71c-1.09.47-2.05,1.11-2.86,1.92-.81.81-1.45,1.76-1.92,2.86-.47,1.1-.71,2.27-.71,3.51s.24,2.41.71,3.51c.47,1.09,1.11,2.05,1.92,2.86.81.81,1.76,1.45,2.86,1.92,1.1.47,2.27.71,3.51.71s2.41-.24,3.51-.71c1.09-.47,2.05-1.11,2.86-1.92.81-.81,1.45-1.76,1.92-2.86.47-1.1.71-2.27.71-3.51s-.24-2.41-.71-3.51ZM17.67,17.67c-1.55,1.55-3.44,2.33-5.67,2.33s-4.12-.78-5.67-2.33-2.33-3.44-2.33-5.67.78-4.12,2.33-5.67,3.44-2.33,5.67-2.33,4.12.78,5.67,2.33,2.33,3.44,2.33,5.67-.78,4.12-2.33,5.67Z"/></svg>');
  background-size: 22px 22px;
  background-position: center right 22px;
  background-repeat: no-repeat;
  color: var(--key, #0044A9);
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: var(--ls-normal);
  transition: background-color 0.3s ease, background-position 0.3s ease;
}
.el_btn_ar:-moz-any-link {
  text-decoration-line: none;
}
.el_btn_ar:any-link {
  text-decoration-line: none;
}
.el_btn_ar:focus-visible {
  background-color: #D8EEFF;
  background-position: center right 16px;
  color: var(--key, #0044A9);
  text-decoration: none;
}

.el_eyecatch > img {
  inline-size: 100%;
  max-inline-size: 100%;
  block-size: auto;
}

.bl_headerLogo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: clamp(0.5rem, -0.063rem + 2.4vw, 1.4375rem);
  color: var(--color-base);
  transition: translate 0.3s ease;
}
.bl_headerLogo:-moz-any-link {
  text-decoration-line: none;
  color: var(--color-base);
}
.bl_headerLogo:any-link {
  text-decoration-line: none;
  color: var(--color-base);
}
.bl_headerLogo:focus-visible {
  translate: 0 -2px;
  color: var(--color-base);
  text-decoration-line: none;
}

.bl_headerLogo_img {
  margin: 0;
}
.bl_headerLogo_img img {
  inline-size: clamp(3.125rem, -1.856rem + 13.3vw, 5.625rem);
  block-size: auto;
  vertical-align: middle;
  transition: inline-size 0.3s ease;
}

.bl_headerLogo_txt {
  margin: 0 0 0 -0.5em;
  font-size: clamp(0.75rem, 0.625rem + 0.6vw, 1rem);
  font-weight: 700;
  line-height: var(--lh-narrow);
  letter-spacing: var(--ls-normal);
  text-indent: 0.5em;
}

.bl_headerBtns {
  display: none;
}

.bl_headerBtn {
  --color-txt: var(--color-accent-1, #0044a9);
  --color-bg: var(--color-accent-5, #ff0);
  --color-hover: oklch(from var(--color-bg) 120% 50% 80deg);
  display: inline-block;
  padding: 1rem 1.25rem;
  border-radius: 4px;
  background-color: var(--color-bg);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.46;
  letter-spacing: var(--ls-normal);
  transition: background-color 0.3s ease;
}
.bl_headerBtn:-moz-any-link {
  color: var(--color-txt);
  text-decoration-line: none;
}
.bl_headerBtn:any-link {
  color: var(--color-txt);
  text-decoration-line: none;
}
.bl_headerBtn:focus-visible {
  background-color: var(--color-hover);
  color: var(--color-txt);
  text-decoration-line: none;
}
.bl_headerBtn.bl_headerBtn__2nd {
  --color-bg: var(--color-base, #fff);
  --color-txt: var(--color-contrast, #383838);
  --color-hover: oklch(from var(--color-bg) 120% 10% 200deg);
}

.bl_modal {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  max-width: 100% !important;
  height: 100vh;
  margin: 0 !important;
  opacity: 0;
}
.bl_modal[aria-hidden=false] {
  display: block;
  z-index: 2000;
  animation: fadein 0.3s ease-out forwards;
}

.bl_modal_overlay {
  height: 100%;
  overflow-y: scroll;
  padding: 0 0 100px;
  background: rgba(82, 82, 82, 0.26);
  border: 1px solid transparent;
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
}

.bl_modal_container {
  inline-size: min(90%, 773px);
  margin-inline-start: auto;
  padding: var(--spacing-30) var(--spacing-30) var(--spacing-60) clamp(3rem, 0rem + 8vw, 5rem);
  border-radius: 10px 0 0 10px;
  background-color: var(--wp--preset--color--base, #fff);
  color: var(--wp--preset--color--blue-black, #0b1c34);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
}

.bl_modal_close {
  position: relative;
  display: grid;
  place-content: center;
  inline-size: 40px;
  block-size: 40px;
  margin-inline-start: auto;
  color: var(--color-accent-2, #4286C0);
  text-align: right;
  line-height: 1;
}
.bl_modal_close::after {
  content: "";
  position: absolute;
  inset: -2px;
}
.bl_modal_close svg {
  width: 30px;
  height: 30px;
}

.bl_modal_heading {
  margin-block-end: 16px;
  color: var(--wp--preset--color--blue-black, #0b1c34);
  font-weight: 700;
  line-height: 1.4;
}
.bl_modal_heading h2 {
  margin: 0 0 16px;
  font-size: clamp(1.25rem, 0.938rem + 1.3vw, 1.75rem);
}
.bl_modal_heading p {
  margin: 0;
  font-size: 16px;
}

@keyframes fadein {
  0% {
    display: block;
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.bl_modal_body {
  display: flex;
  flex-flow: column;
  gap: 12px;
}

.bl_gmenu {
  flex-shrink: 0;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.bl_gmenu li + li {
  margin-block-start: 12px;
}
.bl_gmenu a {
  display: inline-block;
  padding-block: 0.5em;
  color: var(--color-contrast);
  font-weight: 700;
  letter-spacing: var(--ls-normal);
}
.bl_gmenu a:-moz-any-link {
  text-decoration-line: none;
}
.bl_gmenu a:any-link {
  text-decoration-line: none;
}
.bl_gmenu a:focus-visible {
  color: #000;
  text-decoration-line: underline;
}

.bl_gmenu_btns {
  flex-shrink: 0;
  display: grid;
  gap: 20px;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-block-start: var(--spacing-30);
}

.bl_bc {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-10);
  margin: 0;
  padding: var(--spacing-20) var(--root-padding);
  font-size: var(--fz-small);
  line-height: var(--lh-narrow);
}
.bl_bc li + li {
  margin-block-start: 0;
}
.bl_bc li + li::before {
  content: "/";
  margin-inline-end: var(--spacing-10);
  color: var(--color-accent-3, #afafaf);
}
.bl_bc a:-moz-any-link {
  color: var(--color-link);
  text-decoration-line: none;
  letter-spacing: var(--lh-normal);
}
.bl_bc a:not(href), .bl_bc a:any-link {
  color: var(--color-link);
  text-decoration-line: none;
  letter-spacing: var(--lh-normal);
}
.bl_bc a:focus-visible {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}

.bl_footerCont {
  background: #0a4689 url(../img/bg2.png);
  padding: clamp(2.5rem, 1rem + 6.4vw, 5rem) var(--root-padding) clamp(0.9375rem, 0.375rem + 2.4vw, 1.875rem);
}

.bl_footerCont_inner {
  display: grid;
  grid-template: "logo" auto "menu" auto "cr" auto/1fr;
  gap: var(--spacing-50);
  max-inline-size: 1200px;
  margin: 0 auto;
}

.bl_footerCont_logo {
  grid-area: logo;
  justify-self: center;
}

.bl_footerCont_menu {
  grid-area: menu;
  display: flex;
  justify-content: space-around;
  gap: var(--spacing-50);
  align-items: flex-start;
}

.bl_footerLogo {
  display: inline-block;
  color: var(--color-base, #fff);
  transition: translate 0.3s ease;
}
.bl_footerLogo:-moz-any-link {
  color: var(--color-base, #fff);
  text-decoration-line: none;
  letter-spacing: var(--lh-normal);
}
.bl_footerLogo:any-link {
  color: var(--color-base, #fff);
  text-decoration-line: none;
  letter-spacing: var(--lh-normal);
}
.bl_footerLogo:focus-visible {
  color: var(--color-base, #fff);
  text-decoration-line: none;
  translate: 0 -2px;
}

.bl_footerLogo_img {
  margin: 0;
}
.bl_footerLogo_img img {
  inline-size: min(70%, 240px);
  block-size: auto;
  margin-inline: auto;
}

.bl_footerLogo_txt {
  margin-top: var(--spacing-10);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: var(--lh-narrow);
  letter-spacing: var(--lh-normal);
}

.bl_fmenu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  color: var(--color-base, #fff);
}
.bl_fmenu li + li {
  margin-block-start: 1.2em;
  letter-spacing: var(--lh-narrow);
}
.bl_fmenu a:-moz-any-link {
  color: var(--color-base, #fff);
  font-weight: 700;
  text-decoration-line: none;
  letter-spacing: var(--ls-normal);
}
.bl_fmenu a:any-link {
  color: var(--color-base, #fff);
  font-weight: 700;
  text-decoration-line: none;
  letter-spacing: var(--ls-normal);
}
.bl_fmenu a:focus-visible {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}

.bl_cr {
  grid-area: cr;
  justify-self: center;
  color: var(--color-base, #fff);
  font-size: clamp(0.6875rem, 0.638rem + 0.2vw, 0.75rem);
  text-align: center;
  letter-spacing: 0.1em;
}

.bl_entry {
  overflow: hidden;
  margin-block-start: 0 !important;
}

.bl_pageHeader {
  min-block-size: clamp(12.5rem, 5.788rem + 28.6vw, 21.875rem);
  background-color: #666;
  background: #0a4689 url(../img/mv-bg.webp) center top/cover no-repeat;
}

.bl_postMeta {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-block-start: var(--spacing-10);
  font-size: var(--fz-small);
}
.bl_postMeta time {
  color: var(--color-accent-3);
  font-family: var(--font-jp);
  font-weight: bold;
  letter-spacing: var(--ls-normal);
}

.bl_postMeta_cate {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  padding: 0;
}
.bl_postMeta_cate li + li {
  margin-block-start: 0;
}
.bl_postMeta_cate a {
  --icon-size: 1.43em;
  padding-inline-start: calc(var(--icon-size) + 4px);
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg  xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.56,6.44c-.29-.29-.65-.44-1.06-.44h-6.5l-2-2H3.5c-.4,0-.75.15-1.05.44-.3.29-.45.65-.45,1.06v9c0,.4.15.75.45,1.05s.65.45,1.05.45h13c.41,0,.77-.15,1.06-.45.29-.3.44-.65.44-1.05v-7c0-.41-.15-.77-.44-1.06ZM16.5,14.5H3.5V5.5h3.88l2,2h7.12v7Z" style="fill: %230044a9;"/></svg>');
  background-position: left top;
  background-size: var(--icon-size);
  background-repeat: no-repeat;
  line-height: var(--lh-normal);
  text-decoration-line: none;
  letter-spacing: var(--ls-normal);
}

.bl_postMeta_tags {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
}
.bl_postMeta_tags li + li {
  margin-block-start: 0;
}
.bl_postMeta_tags a {
  display: inline-block;
  padding: 8px 10px;
  border-radius: 4px;
  border: 1px solid var(--color-accent-3, #afafaf);
  color: var(--color-accent-1, #0044a9);
  font-size: var(--fz-small);
  letter-spacing: var(--ls-normal);
  transition: background-color 0.3s ease;
}
.bl_postMeta_tags a:-moz-any-link {
  text-decoration-line: none;
}
.bl_postMeta_tags a:any-link {
  text-decoration-line: none;
}
.bl_postMeta_tags a:focus-visible {
  background-color: var(--color-btn-hover);
  border-color: currentColor;
  color: var(--color-accent-1, #0044a9);
}

.bl_pageHgroup {
  margin-block-start: clamp(0.75rem, 0.313rem + 1.9vw, 1.5rem);
  color: var(--color-base, #fff);
  font-size: clamp(1.75rem, 1rem + 3.2vw, 3rem);
  text-align: center;
}
.bl_pageHgroup .el_pageTitle {
  margin-block-start: 0;
  font-size: clamp(1.875rem, 1.188rem + 2.9vw, 3rem);
}

.bl_sec {
  margin-block-start: 0 !important;
  padding-block: var(--spacing-60);
}
.bl_sec.bl_sec__bg {
  background: var(--color-accent-4, #edf7ff) url(../img/bg1.png) 0 0 repeat;
}
.bl_sec.bl_secDeco {
  position: relative;
  padding-block-start: 200px;
}
.bl_sec.bl_secDeco__h {
  position: relative;
  padding-block-start: clamp(5rem, 2rem + 12.8vw, 10rem);
  padding-block-end: 60px;
}
.bl_sec.bl_sec__wide {
  max-inline-size: var(--content-wide) !important;
}
.bl_sec.bl_sec__max {
  max-inline-size: var(--content-max) !important;
}

.bl_secTitle {
  margin-block-end: var(--spacing-30);
  text-align: center;
}
.bl_secTitle .el_heading2 {
  margin-block-start: 0;
}

.bl_secTitle_en {
  margin: 0 0 6px;
  color: var(--color-accent-2, #4286c0);
  font-family: var(--font-en);
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--ls-narrow);
}

.bl_sec_lead {
  max-inline-size: 640px;
  margin: var(--spacing-30) auto 0;
}

.bl_secDeco_cont {
  position: relative;
  z-index: 1;
}

.bl_secDeco_img {
  position: absolute;
  z-index: 0;
  right: -7px;
  top: -49px;
  aspect-ratio: 659/536;
  margin: 0 !important;
  inline-size: clamp(17rem, 8.475rem + 36.4vw, 22.125rem);
  line-height: 1;
}
.bl_secDeco_img img {
  inline-size: 100%;
  height: auto;
}

.bl_column2 {
  display: grid;
  gap: var(--spacing-40);
}

.bl_column3 {
  display: grid;
  gap: var(--spacing-40);
  max-inline-size: var(--content-wide) !important;
  margin-inline: auto;
}

.bl_card_link {
  display: block;
}
.bl_card_link:-moz-any-link {
  text-decoration-line: none;
}
.bl_card_link:any-link {
  text-decoration-line: none;
}
.bl_card_link:focus-visible {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}
.bl_card_link:focus-visible img {
  scale: 1.05;
}

.bl_card_img {
  overflow: hidden;
  inline-size: 100%;
  margin: 0 0 var(--spacing-10);
  aspect-ratio: 3/2;
  line-height: 1;
}
.bl_card_img img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0.3s ease;
}

.bl_card_title {
  margin: 0;
  font-weight: 700;
  letter-spacing: var(--ls-normal);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: var(--color-contrast);
}

.bl_card_meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.5em 1rem;
  margin: 8px 0 0;
  font-size: var(--fz-small);
  letter-spacing: var(--ls-normal);
}

.bl_card_time {
  color: var(--color-accent-3, #afafaf);
  font-family: var(--font-jp);
  line-height: 1.2;
}

.bl_card_cate {
  list-style-type: none;
  display: flex;
  flex-wrap: warp;
  gap: 0.5em 1.5em;
  margin: 0;
  padding: 0;
}
.bl_card_cate li {
  line-height: 1.2;
}
.bl_card_cate li + li {
  margin: 0;
}
.bl_card_cate a {
  color: var(--color-accent-2, #4286c0);
}
.bl_card_cate a:-moz-any-link {
  text-decoration-line: none;
}
.bl_card_cate a:any-link {
  text-decoration-line: none;
}
.bl_card_cate a:focus-visible {
  color: var(--color-accent-2, #4286c0);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}

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

.bl_postList_item {
  margin-block-start: 0 !important;
  padding: 0.65em 0;
  border-block-end: 1px solid var(--color-accent-2, #4286c0);
}

.bl_postList_link {
  display: flex;
  align-items: center;
  gap: var(--spacing-20);
  padding: 1em 0;
}
.bl_postList_link:-moz-any-link {
  color: var(--color-contrast, #383838);
  text-decoration-line: none;
}
.bl_postList_link:any-link {
  color: var(--color-contrast, #383838);
  text-decoration-line: none;
}
.bl_postList_link:focus-visible .bl_postList_title {
  color: #000;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}

.bl_postList_date {
  flex: 0 0 5.5em;
  color: var(--color-accent-2, #4286c0);
  font-family: var(--font-jp);
  font-size: var(--fz-small);
  letter-spacing: var(--ls-normal);
}

.bl_postList_title {
  overflow: hidden;
  margin: 0;
  font-size: var(--fz-medium);
  font-weight: 700;
  line-height: var(--lh-normal);
  letter-spacing: var(--ls-normal);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bl_postList.bl_postList__v .bl_postList_item {
  padding-block: 7px;
}
.bl_postList.bl_postList__v .bl_postList_item .bl_postList_link {
  display: block;
  padding-block: 6px;
}
.bl_postList.bl_postList__v .bl_postList_item .bl_postList_link:focus-visible {
  text-underline-offset: 2px;
}
.bl_postList.bl_postList__v .bl_postList_item .bl_postList_title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-block-start: 4px;
  font-size: 13px;
  font-weight: 400;
  line-height: var(--lh-narrow);
  letter-spacing: var(--ls-normal);
  white-space: revert;
}

.bl_archive {
  display: grid;
  gap: 60px;
}

.bl_archive_select {
  display: block;
  inline-size: min(280px, 100%);
  padding: 12px 36px 12px 20px;
  background-color: #fff;
  border: 1px solid var(--color-accent-2, #4286c0);
  background-color: #fafafa;
}

.bl_archive_cateList {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.bl_archive_cateList li {
  padding: 1em 0;
  border-block-end: 1px solid rgba(66, 134, 192, 0.5);
}
.bl_archive_cateList li + li {
  margin-block-start: 0;
}
.bl_archive_cateList a {
  --icon-size: 1.34em;
  padding-inline-start: calc(var(--icon-size) + 4px);
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg  xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.56,6.44c-.29-.29-.65-.44-1.06-.44h-6.5l-2-2H3.5c-.4,0-.75.15-1.05.44-.3.29-.45.65-.45,1.06v9c0,.4.15.75.45,1.05s.65.45,1.05.45h13c.41,0,.77-.15,1.06-.45.29-.3.44-.65.44-1.05v-7c0-.41-.15-.77-.44-1.06ZM16.5,14.5H3.5V5.5h3.88l2,2h7.12v7Z" style="fill: %230044a9;"/></svg>');
  background-position: left top;
  background-size: var(--icon-size);
  background-repeat: no-repeat;
  font-size: 13px;
  line-height: var(--lh-normal);
  text-decoration-line: none;
  letter-spacing: var(--ls-normal);
}
.bl_archive_cateList a:-moz-any-link {
  color: var(--color-contrast);
  text-decoration-line: none;
}
.bl_archive_cateList a:any-link {
  color: var(--color-contrast);
  text-decoration-line: none;
}
.bl_archive_cateList a:focus-visible {
  color: var(--color-contrast);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}

.bl_archive_title {
  padding-inline-start: var(--spacing-20);
  border-inline-start: 2px solid var(--color-accent-2, #4286C0);
}
.bl_archive_title .el_heading2__bdis0 {
  margin-block-start: 0;
  font-size: var(--fz-xx-large);
}

.bl_archive_desc {
  margin: 0 0 var(--spacing-30);
}

.bl_pagination {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-10);
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin: var(--spacing-40) auto;
  padding-block: var(--spacing-20);
}

.page-numbers {
  display: grid;
  place-content: center;
  min-inline-size: 48px;
  block-size: 48px;
  border-radius: 999px;
  transition: background-color 0.3s ease;
}
.page-numbers:-moz-any-link {
  text-decoration-line: none;
}
.page-numbers:any-link {
  text-decoration-line: none;
}
.page-numbers:focus-visible {
  border: 1px solid var(--color-accent-2, #4286C0);
  background-color: var(--color-btn-hover);
  text-decoration: none;
}
.page-numbers.current {
  border: 1px solid currentColor;
  color: var(--color-accent-2, #4286C0);
}

.bl_pageNav {
  display: grid;
  grid-template: "prev next" auto "back back" auto/1fr 1fr;
  align-items: center;
  gap: var(--spacing-20);
  margin-block-start: var(--spacing-50) !important;
  padding-block: var(--spacing-20);
}

.bl_pageNav_prev {
  grid-area: prev;
}
.bl_pageNav_prev .bl_pageNav_btn:focus-visible svg {
  translate: -4px 0;
}

.bl_pageNav_next {
  grid-area: next;
  text-align: right;
}
.bl_pageNav_next .bl_pageNav_btn:focus-visible svg {
  translate: 4px 0;
}

.bl_pageNav_back {
  grid-area: back;
  text-align: center;
}

.bl_pageNav_btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 12px 16px;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: var(--color-accent-2, #4286c0);
  font-size: var(--fz-small);
  line-height: 1em;
  letter-spacing: var(--ls-normal);
  text-over-flow: ellipsis;
  transition: background-color 0.3s ease;
}
.bl_pageNav_btn:-moz-any-link {
  text-decoration-line: none;
}
.bl_pageNav_btn:any-link {
  text-decoration-line: none;
}
.bl_pageNav_btn:focus-visible {
  background-color: var(--color-btn-hover);
  color: var(--color-accent-2, #4286c0);
  text-decoration-line: none;
}
.bl_pageNav_btn svg {
  transition: translate 0.3s ease;
}
.bl_pageNav_btn.bl_pageNav_btn__disabled {
  color: var(--color-accent-3);
}

.bl_pageNav_link {
  grid-area: link;
  font-size: var(--fz-small);
  letter-spacing: var(--ls-normal);
}
.bl_pageNav_link:-moz-any-link {
  color: var(--color-contrast);
  text-decoration-line: none;
}
.bl_pageNav_link:any-link {
  color: var(--color-contrast);
  text-decoration-line: none;
}
.bl_pageNav_link:focus-visible {
  color: #000;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}

.bl_decoText {
  display: none;
}

.bl_decoTextH {
  position: absolute;
  top: -0.15625em;
  left: 0;
  color: rgba(0, 68, 169, 0.2);
  font-family: var(--font-en);
  font-size: 12vw;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bl_form_item + .bl_form_item {
  margin-block-start: var(--spacing-30);
}
.bl_form_item:has([aria-required=true]) .bl_form_label::after {
  content: "※必須";
  color: var(--color-accent-2, #4286c0);
  font-size: var(--text-text-small, 14px);
  font-weight: 400;
  letter-spacing: var(--ls-normal);
}

.bl_form_label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-block-end: 2px;
  line-height: var(--lh-normal);
  font-weight: 700;
}

.wpcf7-form-control-wrap input[type=text],
.wpcf7-form-control-wrap input[type=email],
.wpcf7-form-control-wrap input[type=tel],
.wpcf7-form-control-wrap input[type=date],
.wpcf7-form-control-wrap input[type=time],
.wpcf7-form-control-wrap input[type=url],
.wpcf7-form-control-wrap input[type=search],
.wpcf7-form-control-wrap textarea {
  display: block;
  inline-size: 100%;
  padding: 10px 8px;
  border-radius: 4px;
  border: 1px solid var(--color-accent3, #afafaf);
  background: var(--color-base, #fff);
  font-size: 1rem;
  line-height: 1.6;
}
.wpcf7-form-control-wrap input[type=date],
.wpcf7-form-control-wrap select {
  inline-size: 100%;
}
.wpcf7-form-control-wrap select {
  padding: 10px 8px;
  border: 1px solid var(--color-accent3, #afafaf);
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.6;
}
.wpcf7-form-control-wrap textarea {
  block-size: 12.5em;
}

.bl_form_privacy-txt {
  font-size: var(--fz-small);
}

.bl_form_btn {
  margin-block-start: var(--spacing-50);
  text-align: center;
}
.bl_form_btn input[type=submit] {
  display: block;
  inline-size: min(332px, 100%);
  margin-inline: auto;
  padding: var(--spacing-20);
  background-color: var(--color-accent-1);
  border-radius: 999px;
  color: var(--color-base);
  font-size: var(--fz-x-large);
  text-align: center;
  transition: background-color 0.3s ease;
}
.bl_form_btn input[type=submit]:focus-visible {
  background-color: oklch(from var(--color-accent-1) 30% 30% h);
}

.bl_leadBlock .bl_cta_wrapper {
  margin-block-start: var(--spacing-30);
  text-align: center;
}
.bl_leadBlock_txt > * + * {
  margin-block-start: var(--spacing-30);
}
.bl_leadBlock_txt .el_heading2__bdis0 {
  text-align: center;
}

.bl_cta_wrapper {
  padding-block-start: 16px;
}
.bl_cta_wrapper.bl_cta_wrapper__lg {
  margin-block-start: var(--spacing-30);
  padding-block-start: 0;
  text-align: center;
}
.bl_cta_wrapper.bl_cta_wrapper__lg .bl_cta {
  inline-size: min(100%, 340px);
  margin-inline: auto;
  font-size: var(--fz-xx-large);
}

.bl_cta {
  --txt: var(--color-base, #fff);
  --bg: var(--color-accent-1, #0044a9);
  --hover: color-mix(in srgb, var(--bg), #000 20%);
  position: relative;
  display: inline-block;
  min-inline-size: 286px;
  padding: 1.4em 1.35em 1.4em 1.4em;
  background-color: var(--bg);
  border-radius: 999px;
  font-size: clamp(1rem, 0.875rem + 0.6vw, 1.25rem);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
  transition: background-color 0.3s ease;
}
.bl_cta:-moz-any-link {
  color: var(--txt);
  text-decoration-line: none;
}
.bl_cta:any-link {
  color: var(--txt);
  text-decoration-line: none;
}
.bl_cta:focus-visible {
  background-color: var(--hover);
  color: var(--txt);
  text-decoration: none;
  box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.3);
}
.bl_cta.un_mv_btn2 {
  --txt: var(--color-contrast, #383838);
  --bg: var(--color-base, #fff);
  --hover: oklch(from var(--bg) 120% 10% 200deg);
}

.bl_cta_catch {
  position: absolute;
  top: -1.2em;
  left: 0;
  right: 0;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin: 0 auto;
  padding: 0.4em 1.22em 0.4em 1.3em;
  background-color: var(--color-accent-5, #ff0);
  border-radius: 999px;
  color: #285d8a;
  font-size: var(--fz-small);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.bl_cta_label {
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.05em;
}

.bl_cta_bubble {
  position: relative;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin: 0 auto 18px;
  padding: 5px 1.35em 5px 1.43em;
  background-color: var(--color-accent-5);
  border-radius: 5px;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.25);
  color: #285D8A;
  font-size: var(--fz-large);
  font-weight: 700;
  line-height: var(--lh-narrow);
  letter-spacing: 0.08em;
}
.bl_cta_bubble::after {
  content: "";
  position: absolute;
  top: 100%;
  left: calc(50% - 6.5px);
  display: block;
  width: 13px;
  height: 8px;
  background-color: var(--color-accent-5);
  clip-path: polygon(50% 8px, 0% 0%, 13px 0%);
}

.bl_content_column {
  display: grid;
  gap: 60px;
}

.bl_content_main .el_pageTitle {
  margin-block-start: 0;
}

.bl_content_sub__bg {
  align-self: start;
  padding: var(--spacing-30) var(--spacing-20);
  background-color: #edf7ff;
  background-image: url(../img/bg1.png);
  border-radius: 10px;
}

.bl_content_subSec + .bl_content_subSec {
  margin-block-start: var(--spacing-50);
}

.bl_content_subHeading {
  margin: 0 0 var(--spacing-30);
  padding-inline: var(--spacing-20);
  border-left: 2px solid var(--color-accent-2, #4286c0);
  font-size: var(--fz-xx-large);
  font-weight: 700;
  letter-spacing: var(--ls-narrow);
}

.hp_tac {
  text-align: center !important;
}

.hp_tar {
  text-align: right !important;
}

.hp_tal {
  text-align: left !important;
}
.hp_tbCenter {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
}

.hp_uppercase {
  text-transform: uppercase;
}

.hp_aster {
  padding-inline-start: 1em;
  text-indent: -1em;
}
.hp_aster::before {
  content: "※";
}

.hp_db {
  display: block !important;
}

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

.hp_dn {
  display: none !important;
}

.hp_dnSp {
  display: none !important;
}

.hp_i100 {
  inline-size: 100% !important;
}

.hp_mbs30 {
  margin-block-start: var(--spacing-30) !important;
}

.hp_mbs40 {
  margin-block-start: var(--spacing-40) !important;
}

.hp_mbs50 {
  margin-block-start: var(--spacing-50) !important;
}

.hp_mbe30 {
  margin-block-end: var(--spacing-30) !important;
}

.hp_mbe10 {
  margin-block-end: var(--spacing-10) !important;
}

.hp_mbe50 {
  margin-block-end: var(--spacing-50) !important;
}

.hp_pbs50 {
  padding-block-start: var(--spacing-50) !important;
}

.hp_pbe0 {
  padding-block-end: 0;
}

.hp_pbs0 {
  padding-block-start: 0 !important;
}

.hp_centering {
  margin-inline: auto;
}

.hp_imgLink {
  display: inline-block;
  transition: transform 0.3s ease;
}

.hp_por {
  position: relative;
}

.hp_pos {
  position: static !important;
}

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

.home {
  --txt: var(--color-base, #fff);
  --bg: var(--color-accent-1, #0044a9);
  --hover: color-mix(in srgb, var(--bg), #000 20%);
}
.home .bl_sec.bl_sec__wide {
  max-inline-size: 1200px !important;
}

.un_mv {
  display: grid;
  place-content: center;
  min-block-size: clamp(36.25rem, 12.313rem + 63.8vw, 52.1875rem);
  background: #276aa5 url(../img/home-mv-bg.webp) center center/cover no-repeat;
}

.un_mv_title {
  max-inline-size: min(70%, 400px);
  margin: 0 auto;
  text-align: center;
  line-height: 1;
}
.un_mv_title img {
  inline-size: 100%;
  height: auto;
  margin-inline: auto;
}

.un_mv_btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 36px 20px;
  margin-block-start: 40px;
  padding-inline: 1rem;
}

.un_mv_btn {
  position: relative;
  flex: 0 0 auto;
  min-inline-size: 286px;
  padding: 1.4em 1.35em 1.4em 1.4em;
  background-color: var(--bg);
  border-radius: 999px;
  font-size: clamp(1rem, 0.875rem + 0.6vw, 1.25rem);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
  transition: background-color 0.3s ease;
}
.un_mv_btn:-moz-any-link {
  color: var(--txt);
  text-decoration-line: none;
}
.un_mv_btn:any-link {
  color: var(--txt);
  text-decoration-line: none;
}
.un_mv_btn:focus-visible {
  background-color: var(--hover);
  color: var(--txt);
  text-decoration-line: none;
  box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.3);
}
.un_mv_btn.un_mv_btn2 {
  --txt: var(--color-contrast, #383838);
  --bg: var(--color-base, #fff);
  --hover: oklch(from var(--bg) 120% 10% 200deg);
}

.un_mv_btnCatch {
  position: absolute;
  top: -1.2em;
  left: 0;
  right: 0;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin: 0 auto;
  padding: 0.4em 1.22em 0.4em 1.3em;
  background-color: var(--color-accent-5, #ff0);
  border-radius: 999px;
  color: #285d8a;
  font-size: var(--fz-small);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.un_mv_btnLabel {
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.05em;
}

.un_homeService {
  margin-block-start: 0;
  padding-block: var(--spacing-50);
}
.un_homeService .bl_sec_lead {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
}

.un_homeService_btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing-20) var(--spacing-30);
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin: var(--spacing-30) auto 0;
}

.un_homeService_btn {
  position: relative;
  flex: 0 0 auto;
  position: relative;
  padding: 3.6em 0 0 1.1em;
  font-size: clamp(1rem, 0.875rem + 0.6vw, 1.25rem);
  line-height: 1.2;
}
.un_homeService_btn:-moz-any-link {
  text-decoration-line: none;
}
.un_homeService_btn:any-link {
  text-decoration-line: none;
}
.un_homeService_btn:focus-visible span {
  background-color: var(--hover);
}
.un_homeService_btn span {
  display: block;
  inline-size: 16.6em;
  padding: 1.4em 2.35em 1.4em 0;
  background-color: var(--bg);
  border-radius: 999px;
  box-shadow: 0 0 1em 0 rgba(0, 0, 0, 0.25);
  color: var(--txt);
  font-weight: 700;
  text-align: right;
  transition: background-color 0.3s ease;
}
.un_homeService_btn img {
  position: absolute;
  bottom: 0;
  left: 0;
  inline-size: 7em;
  height: auto;
}

.un_about_heading {
  margin: 0 0 var(--spacing-30);
  padding: 0;
  border: none !important;
  color: var(--color-accent-1, #0044a9);
  font-family: var(--font-en);
  font-size: 48px;
  letter-spacing: var(--ls-narrow);
  text-transform: uppercase;
}

.un_homeArchives {
  gap: var(--spacing-50) !important;
}

.un_homeArchive {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  align-items: start;
  gap: var(--spacing-30);
  padding: var(--spacing-50);
  background: var(--color-accent-4, #edf7ff) url(../img/bg1.png) 0 0 repeat;
  border-radius: 10px;
}
.un_homeArchive .bl_sec_lead {
  margin: 0;
}

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

.un_homeBlog_item {
  padding: var(--spacing-10) 0;
  border-block-end: 1px solid var(--color-accent-2, #4286c0);
}
.un_homeBlog_item + .un_homeBlog_item {
  margin-block-start: 0;
}

.un_homeBlog_link {
  position: relative;
  display: grid;
  grid-template: "img title" auto "img date" 1fr/min(27.1%, 122px) 1fr;
  align-items: start;
  gap: 4px var(--spacing-20);
}
.un_homeBlog_link:-moz-any-link {
  color: var(--color-contrast, #383838);
  text-decoration-line: none;
}
.un_homeBlog_link:any-link {
  color: var(--color-contrast, #383838);
  text-decoration-line: none;
}
.un_homeBlog_link:focus-visible .un_homeBlog_title {
  color: #000;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}

.un_homeBlog_img {
  grid-area: img;
  margin: 0;
  line-height: 1;
}
.un_homeBlog_img img {
  inline-size: 100%;
  height: auto;
}

.un_homeBlog_title {
  grid-area: title;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: var(--fz-medium);
  line-height: var(--lh-normal);
  font-weight: 700;
}
.un_homeBlog_title a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
}
.un_homeBlog_title a:-moz-any-link {
  text-decoration-line: none;
}
.un_homeBlog_title a:any-link {
  text-decoration-line: none;
}
.un_homeBlog_title a:focus-visible {
  color: var(--color-contrast, #383838);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}

.un_homeBlog_date {
  grid-area: date;
  color: var(--color-accent-2, #4286c0);
  font-family: var(--font-jp);
  font-size: var(--fz-small);
  letter-spacing: var(--ls-normal);
}

.un_homeArchive .bl_postList_item {
  padding-block: 12px;
}
.un_homeArchive .bl_postList_link {
  padding: 0;
}
.un_homeArchive .bl_postList_link:focus-visible .bl_postList_title {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}
.un_homeArchive .bl_postList_title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: revert;
}

.single {
  --wp--style--global--content-size: 720px !important;
}
.single .ly_header {
  background: #0a4689 url(../img/header-bg.svg) 0 0/auto 100% repeat-x !important;
}
.single .ly_main {
  padding-block-end: var(--spacing-60);
}
.single .bl_pageHeader {
  min-block-size: revert;
  margin: 0 auto var(--spacing-40);
  padding-block-end: var(--spacing-40);
  border-bottom: 1px solid var(--color-accent-2, #4286C0);
  background: none;
}
.single .bl_entry {
  margin-block-start: 0;
  padding-block-start: var(--spacing-40);
}
.single .bl_entry .wp-block-heading {
  margin-block-start: calc(var(--block-gap) + 1em);
}
.single .bl_entry h2.wp-block-heading,
.single .bl_entry .el_heaading2 {
  padding-inline: var(--spacing-20);
  border-left: 2px solid var(--color-accent-2, #4286c0);
  font-size: var(--fz-xx-large);
  font-weight: 700;
  letter-spacing: var(--ls-narrow);
}
.single .bl_entry h3.wp-block-heading,
.single .bl_entry .el_heaading3 {
  color: var(--color-accent-1);
  font-size: var(--fz-x-large);
}
.single .bl_entry h4.wp-block-heading,
.single .bl_entry .el_heaading4 {
  padding: var(--spacing-10);
  background-image: url(../img/bg1.png);
  font-size: var(--fz-large);
}
.single .bl_entry h5.wp-block-heading,
.single .bl_entry h6.wp-block-heading,
.single .bl_entry .el_heaading5,
.single .bl_entry .el_heaading6 {
  font-size: var(--fz-medium);
}
.single .bl_entry .wp-block-verse {
  padding: var(--spacing-20) var(--spacing-30);
  background-color: #f8f8f8;
  border-inline-start: 3px solid var(--color-accent-3, #afafaf);
}
.single .bl_entry .addtoany_content.addtoany_content_bottom {
  margin: var(--spacing-40) 0 var(--spacing-20);
}

.un_overview {
  max-inline-size: var(--narrow-size);
  margin-inline: auto;
}
.un_overview > div {
  display: flex;
  align-items: center;
  gap: var(--spacing-10);
  padding-block: 1em;
  border-block-end: 1px solid var(--color-accent-2, #4286c0);
}
.un_overview dt {
  flex: 0 0 10em;
  padding-inline-start: 4px;
  color: var(--color-accent-2, #4286c0);
  font-weight: 700;
}
.un_overview dd {
  flex-grow: 1;
  margin: 0;
  padding-inline-end: 4px;
}

.un_address {
  margin-block-start: var(--spacing-30);
}
.un_address > div {
  display: flex;
  align-items: flex-start;
}
.un_address > div + div {
  margin-block-start: 4px;
}
.un_address dt {
  flex: 0 0 5.625em;
}
.un_address dd {
  margin: 0;
}

.un_map {
  position: relative;
  aspect-ratio: 100/55;
}
.un_map > iframe {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
}

.un_president_media {
  text-align: center;
}

.un_president_img {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
}

.un_president_txt {
  margin-block-start: var(--spacing-30);
  padding-block-start: var(--spacing-30);
}

.un_guideline .bl_secTitle {
  text-align: left;
}
.un_guideline .bl_secTitle p {
  margin-bottom: var(--spacing-30);
  font-size: var(--fz-x-large);
  font-weight: 700;
}
.un_guideline .el_heading2__lg {
  color: var(--color-accent-1, #0044A9);
}
.un_guideline ol {
  padding-inline-start: 1.6em;
}
.un_guideline ol li + li {
  margin-block-start: 1em;
}

.un_logos {
  margin-block-start: 0;
  padding-block-end: var(--spacing-50);
}
.un_logos.un_logos__wide {
  max-inline-size: var(--content-max) !important;
}

.un_logos_heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px 30px;
}
.un_logos_heading .el_heading2 {
  margin: 0;
}
.un_logos_heading p {
  margin: 0;
  font-size: var(--fz-small);
  letter-spacing: 0.05em;
}

.un_logos_splide {
  margin-block-start: var(--spacing-30);
}
.un_logos_splide .splide__track {
  align-items: center !important;
  line-height: 1 !important;
}
.un_logos_splide .splide__slide {
  max-height: 40px;
}

.un_logos_img {
  display: grid;
  place-content: center;
  inline-size: 100%;
  block-size: 100%;
  margin: 0 !important;
}
.un_logos_img img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.un_flow {
  list-style-type: none;
  margin: 0;
  padding: var(--spacing-30) 0 0;
}

.un_flow_item .wp-block-media-text__media img {
  inline-size: 80px;
  margin-inline: auto;
}

.un_flow_title {
  text-align: center;
}
.un_flow_title .wp-block-heading {
  margin: 0;
  color: var(--color-accent-1);
  font-size: var(--fz-xx-large);
}
.un_flow_title p {
  margin: 0;
  color: var(--color-accent-2);
  font-size: 12px;
  text-transform: uppercase;
}

.un_lab_splide .splide__track {
  overflow: visible;
}

.un_ov {
  margin: 0 auto;
  display: grid;
  gap: clamp(0.9375rem, 0rem + 4vw, 2.5rem);
  grid-template: "img1 img1" auto "img2 img3" auto "img2 img4" auto "img5 img5"/1fr 1fr;
}

.un_ov_item {
  overflow: hidden;
  margin: 0;
  border-radius: 10px;
  line-height: 1;
}
.un_ov_item img {
  inline-size: 100%;
  height: auto;
  display: block;
}

.un_ov_item1 {
  grid-area: img1;
}

.un_ov_item2 {
  grid-area: img2;
}

.un_ov_item3 {
  grid-area: img3;
}

.un_ov_item4 {
  grid-area: img4;
}

.un_ov_item5 {
  grid-area: img5;
}

#ez-toc-container {
  max-inline-size: 640px !important;
  margin-inline: auto;
  margin-block: var(--spacing-30) !important;
  padding: 20px;
}

.ez-toc-list.ez-toc-list-level-1 li {
  padding-block: 0.25em !important;
}

.splide__pagination {
  margin-block-start: var(--spacing-40);
  padding: 0;
  gap: 16px;
}

.splide__pagination__page {
  width: 16px;
  height: 16px;
  background: #ccc;
  border-radius: 50%;
}

.splide__pagination__page.is-active {
  background: var(--color-accent-2);
}

@media (min-width: 480px){
  .wpcf7-form-control-wrap input[type=date],
  .wpcf7-form-control-wrap select {
    inline-size: min(20rem, 100%);
  }
}

@media (any-hover: hover) and (min-width: 600px){
  .el_btn_ar[href]:hover {
    background-position: center right 18px;
  }
}

@media all and (min-width: 600px){
  .ly_header {
    padding-inline: var(--root-padding);
  }
  .ly_header.is_scrolled .ly_header_inner .bl_headerLogo_img img {
    inline-size: 60px;
  }
  .el_burger svg {
    inline-size: 40px;
    block-size: 40px;
  }
  .el_btn_ar {
    padding: 14px 52px 14px 24px;
    background-size: 24px 24px;
    background-position: center right 24px;
    font-size: 15px;
  }
  .el_btn_ar:focus-visible {
    background-position: center right 18px;
  }
  .bl_modal_overlay {
    padding: 0;
  }
  .bl_modal_container {
    padding: var(--spacing-40) var(--spacing-40) var(--spacing-40) clamp(3rem, 0rem + 8vw, 5rem);
  }
  .bl_modal_close svg {
    width: 40px;
    height: 40px;
  }
  .bl_modal_body {
    flex-flow: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: clamp(2.5rem, -5rem + 20vw, 6.25rem);
    padding: 20px 0 60px;
  }
  .bl_gmenu_btns {
    margin-block-start: 0;
  }
  .bl_secTitle_en {
    margin: 0 0 10px;
    font-size: 0.9375rem;
  }
  .bl_secDeco_txt {
    max-inline-size: 70% !important;
  }
  .bl_secDeco_img {
    top: calc(var(--spacing-60) * -1);
    left: 54%;
    right: auto;
    inline-size: clamp(20rem, 4.828rem + 40.4vw, 41.1875rem);
  }
  .bl_column3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .bl_postList.bl_postList__v .bl_postList_item .bl_postList_title {
    font-size: 15px;
  }
  .bl_pageNav {
    grid-template: "prev back next" auto/1fr 1fr 1fr;
  }
  .bl_pageNav_btn {
    padding: 15.5px 24px;
  }
  .bl_decoTextH {
    font-size: clamp(4.625rem, 1.25rem + 9vw, 8rem);
  }
  .bl_cta_wrapper.bl_cta_wrapper__lg .bl_cta {
    min-inline-size: 340px;
  }
  .hp_tacTb {
    text-align: center !important;
  }
  .hp_tarTb {
    text-align: right !important;
  }
  .hp_talTb {
    text-align: left !important;
  }
  .hp_dnSp {
    display: revert !important;
  }
  .hp_dnTb {
    display: none !important;
  }
  .un_mv_title {
    max-inline-size: clamp(25rem, 6.519rem + 49.3vw, 34.25rem);
  }
  .un_homeService .bl_sec_lead {
    text-align: center;
  }
  .un_about_heading {
    font-size: 64px;
  }
  .un_logos_splide .splide__slide {
    max-height: 60px;
  }
  .un_flow_item .wp-block-media-text__media img {
    inline-size: auto;
    max-inline-size: 100%;
  }
  .un_flow_title {
    text-align: left;
  }
  .un_flow_title p {
    font-size: 15px;
  }
}

@media not all and (min-width: 600px){
  .hp_tacSp {
    text-align: center !important;
  }
  .hp_tarSp {
    text-align: right !important;
  }
  .hp_talSp {
    text-align: left !important;
  }
}

@media all and (min-width: 900px){
  :root {
    --header-height: 158px;
  }
  .ly_header.is_scrolled .ly_header_inner {
    padding-block: 16px;
  }
  .ly_header_inner {
    padding-block: 40px;
  }
  .bl_headerBtns {
    display: flex;
    align-items: center;
    gap: var(--spacing-20);
    margin-inline-start: auto;
  }
  .bl_footerCont_inner {
    grid-template: "logo menu" auto "cr cr" auto/minmax(240px, 1fr);
    align-items: start;
    gap: var(--spacing-40);
    padding-inline: var(--spacing-40);
  }
  .bl_footerCont_logo {
    justify-self: start;
  }
  .bl_footerCont_menu {
    justify-self: end;
  }
  .bl_footerLogo_img img {
    inline-size: min(90%, 288px);
    margin-inline: 0;
  }
  .bl_footerLogo_txt {
    font-size: 0.75rem;
    margin-top: var(--spacing-20);
  }
  .bl_sec.bl_secDeco {
    padding-block-start: var(--spacing-60);
  }
  .bl_column2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .bl_column3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .bl_archive {
    grid-template-columns: 1fr 280px;
    gap: 80px;
  }
  .bl_archive_cateList a {
    font-size: 15px;
  }
  .bl_decoText {
    position: absolute;
    display: inline-block;
    rotate: 90deg;
    transform-origin: 0 0;
    margin: 0 !important;
    color: rgba(0, 68, 169, 0.2);
    font-family: var(--font-en);
    font-size: 128px;
    font-weight: 500;
    line-height: var(--lh-narrow);
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .bl_decoText.bl_decoText__company {
    top: 70px;
    left: 80px;
  }
  .bl_decoText.bl_decoText__career {
    top: 70px;
    left: min(101%, 50% + 680px);
  }
  .bl_leadBlock .bl_cta_wrapper {
    text-align: left;
  }
  .bl_leadBlock_txt {
    inline-size: 52.5%;
  }
  .bl_leadBlock_txt .el_heading2__bdis0 {
    text-align: left;
  }
  .bl_leadBlock_img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 53.4027777778%;
    aspect-ratio: 622/550;
    inline-size: min(43.1944444444%, 622px);
    margin-block: auto !important;
    padding: var(--spacing-10);
  }
  .bl_content_column {
    grid-template-columns: 1fr 320px;
    gap: 80px;
  }
  .hp_tacTb-lg {
    text-align: center !important;
  }
  .hp_tarTb-lg {
    text-align: right !important;
  }
  .hp_talTb-lg {
    text-align: left !important;
  }
  .hp_dnTb-lg {
    display: none !important;
  }
  .un_mv {
    gap: var(--spacing-30);
  }
  .un_mv_btns {
    margin-block-start: 30px;
  }
  .un_president {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-50);
  }
  .un_president_media {
    flex: 0 0 240px;
  }
  .un_president_txt {
    margin-block-start: 0;
  }
  .un_ov {
    grid-template: "img1 img1 img2" auto "img3 img5 img5" auto "img4 img5 img5" auto/30.7% 1fr 30.7%;
    inline-size: min(100%, var(--content-wide)) !important;
    max-inline-size: var(--content-wide) !important;
    margin-inline: auto;
  }
}

@media all and (min-width: 900px) and (min-width: 1200px){
  .bl_decoText.bl_decoText__company {
    left: calc(50% - 500px);
  }
}

@media all and (min-width: 1200px){
  .bl_secDeco_img {
    left: max(54%, 50% + 85px);
  }
  .hp_tacPc {
    text-align: center !important;
  }
  .hp_tarPc {
    text-align: right !important;
  }
  .hp_talPc {
    text-align: left !important;
  }
}

@media (min-width: 1300px){
  .bl_decoText.bl_decoText__overview {
    top: 70px;
    left: min(101%, 50% + 680px);
  }
}

@media (any-hover: hover){
  :where(a)[href]:hover {
    color: var(--color-link-hover);
    text-decoration-line: underline;
    text-underline-offset: var(--underline-offset);
    text-decoration-thickness: 1px;
  }
  .el_btn_ar[href]:hover {
    background-color: #D8EEFF;
    background-position: center right 16px;
    color: var(--key, #0044A9);
    text-decoration: none;
  }
  .bl_headerLogo[href]:hover {
    translate: 0 -2px;
    color: var(--color-base);
    text-decoration-line: none;
  }
  .bl_headerBtn[href]:hover {
    background-color: var(--color-hover);
    color: var(--color-txt);
    text-decoration-line: none;
  }
  .bl_gmenu a[href]:hover {
    color: #000;
    text-decoration-line: underline;
  }
  .bl_bc a[href]:hover {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
  }
  .bl_footerLogo[href]:hover {
    color: var(--color-base, #fff);
    text-decoration-line: none;
    translate: 0 -2px;
  }
  .bl_fmenu a[href]:hover {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
  }
  .bl_postMeta_tags a[href]:hover {
    background-color: var(--color-btn-hover);
    border-color: currentColor;
    color: var(--color-accent-1, #0044a9);
  }
  .bl_card_link[href]:hover {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
  }
  .bl_card_link[href]:hover img {
    scale: 1.05;
  }
  .bl_card_cate a[href]:hover {
    color: var(--color-accent-2, #4286c0);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
  }
  .bl_postList_link[href]:hover .bl_postList_title {
    color: #000;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
  }
  .bl_postList.bl_postList__v .bl_postList_item .bl_postList_link[href]:hover {
    text-underline-offset: 2px;
  }
  .bl_archive_cateList a[href]:hover {
    color: var(--color-contrast);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
  }
  .page-numbers[href]:hover {
    border: 1px solid var(--color-accent-2, #4286C0);
    background-color: var(--color-btn-hover);
    text-decoration: none;
  }
  .bl_pageNav_prev .bl_pageNav_btn[href]:hover svg {
    translate: -4px 0;
  }
  .bl_pageNav_next .bl_pageNav_btn[href]:hover svg {
    translate: 4px 0;
  }
  .bl_pageNav_btn[href]:hover {
    background-color: var(--color-btn-hover);
    color: var(--color-accent-2, #4286c0);
    text-decoration-line: none;
  }
  .bl_pageNav_link[href]:hover {
    color: #000;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
  }
  .bl_form_btn input[type=submit]:enabled:hover {
    background-color: oklch(from var(--color-accent-1) 30% 30% h);
  }
  .bl_cta[href]:hover {
    background-color: var(--hover);
    color: var(--txt);
    text-decoration: none;
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.3);
  }
  .un_mv_btn[href]:hover {
    background-color: var(--hover);
    color: var(--txt);
    text-decoration-line: none;
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.3);
  }
  .un_homeService_btn[href]:hover span {
    background-color: var(--hover);
  }
  .un_homeBlog_link[href]:hover .un_homeBlog_title {
    color: #000;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
  }
  .un_homeBlog_title a[href]:hover {
    color: var(--color-contrast, #383838);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
  }
  .un_homeArchive .bl_postList_link[href]:hover .bl_postList_title {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
  }
}

@media (hover: hover){
  .hp_imgLink:hover {
    transform: translateY(-2px);
    filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.25));
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  ::before,
  ::after {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition: all 0 !important;
  }
}

/*# sourceMappingURL=style.css.map */