@charset "UTF-8";
:root {
  --leading-trim: calc((1em - 1lh) / 2);
  --content-size: 1000px;
  --wide-size: 1200px;
  --color-base: #fff;
  --color-contrast: #333;
  --color-primary: #43B4C0;
  --color-primary-pale: #E1F5F8;
  --color-secondary: #41BA6A;
  --color-secondary-pale: #EBF8EF;
  --color-secondary-tint: #F6FFF9;
  --color-secondary-light: #8ECC2B;
  --color-secondary-dull: #bbdd8e;
  --color-secondary-dark: #F34C1E;
  --color-tertiary: #fff18b;
  --color-bland: #ff9931;
  --color-accent: #e65c4f;
  --color-accent-pale: #ffefe7;
  --color-btn: var(--color-primary);
  --color-topBar: var(--color-secondary);
  --color-gray: #777;
  --color-light-gray: #dddddd;
  --color-pale-gray: #f0f0f0;
  --color-link: #1D82CF;
  --color-link-hover: color-mix(in srgb, var(--color-link) 50%, var(--color-contrast));
  --color-disabled: var(--color-gray);
  --gradient-bg1: linear-gradient(180deg, color-mix(in srgb, var(--color-secondary) 12%, transparent ) 0, transparent 244px);
  --gradient-bg2: linear-gradient(180deg, color-mix(in srgb, var(--color-primary-tint) 100%, transparent ) 0, transparent 244px);
  --gradient-bg3: linear-gradient(180deg, var(--color-secondary-pale) 0%, #FFF 100%);
  --gradient-bg4: linear-gradient(90deg, var(--color-secondary) 0%, var(--color-secondary-light) 100%);
  --gradient-bg4-v: linear-gradient(180deg, var(--color-secondary) 0%, var(--color-secondary-light) 100%);
  --gradient-bg5: linear-gradient(0deg, var(--color-secondary) 0%, var(--color-secondary-light) 100%);
  --gradient-bg6: linear-gradient(180deg, #EE5F51 0%, #FF9931 100%);
  --gradient-triangle: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--color-secondary) 60%, transparent ) 45%, var(--color-secondary) 100%);
  --gradient-triangle2: linear-gradient(0deg, #EE5F51 0%, #FF9931 48.9%, rgba(255, 255, 255, 0.00) 100%);
  --text-stroke: 1px 1px 0 var(--color-base),
     -1px 1px 0 var(--color-base),
     1px -1px 0 var(--color-base),
     -1px -1px 0 var(--color-base),
     0 1px 0 var(--color-base),
     0 -1px 0 var(--color-base),
     1px 0 0 var(--color-base),
     -1px 0 0 var(--color-base),
     0 0 4px var(--color-base),
     0 0 4px var(--color-base),
     0 0 4px var(--color-base),
     0 0 4px var(--color-base);
  --outline: 3px solid #333;
  --outline-offset: 2px;
  --underline-offset: .25em;
  --font-noto: "Local Noto Sans JP", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  --font-accent: "Zen Maru Gothic", sans-serif;
  --font-jp: var(--font-noto);
  --font-en: Oswald, sans-serif;
  --fz-x-small: clamp(0.75rem, 0.473rem + 1.4vw, 0.875rem);
  --fz-small: clamp(0.8125rem, 0.396rem + 2.1vw, 1rem);
  --fz-medium: clamp(0.9375rem, 0.354rem + 2.9vw, 1.1875rem);
  --fz-large: clamp(1rem, 0.416rem + 2.9vw, 1.25rem);
  --fz-x-large: 5.2cqw;
  --fz-xx-large: 6.6cqw;
  --fz-xxx-large: 9.5cqw;
  --ls-normal: .05em;
  --ls-narrow: .012em;
  --lh-normal: 1.8;
  --lh-narrow: 1.4;
  --spacing-x-small: 10px;
  --spacing-small: 20px;
  --spacing-medium: clamp(1.25rem, -0.166rem + 7.1vw, 1.875rem);
  --spacing-large: clamp(1.6875rem, -0.174rem + 9.3vw, 2.5rem);
  --spacing-x-large: clamp(3.25rem, 0.666rem + 12.9vw, 4.375rem);
  --spacing-xx-large: clamp(3.75rem, 0.889rem + 14.3vw, 5rem);
  --box-rounded-small: 5px;
  --box-rounded: 10px;
  --box-rounded-large: 20px;
  --box-sausage: calc(infinity * 1px);
}

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

/* @font-face でローカルフォントを優先 */
@font-face {
  font-family: "Local Noto Sans JP";
  src: local("Noto Sans JP");
}
* {
  min-inline-size: 0;
  min-block-size: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-block-start: 0px;
}

:target {
  scroll-margin-top: 0px;
}

body {
  overflow-x: hidden;
  scrollbar-gutter: stable;
  position: relative;
  display: grid;
  grid-template: "image main menu" auto/1fr min(100%, 500px) 1fr;
  min-block-size: 100vh;
  min-block-size: 100dvb;
  margin: 0;
  font-family: var(--font-jp);
  font-style: normal;
  font-size: var(--fz-medium);
  line-height: var(--lh-narrow);
  font-weight: 400;
  letter-spacing: var(--ls-normal);
  overflow-wrap: anywhere;
  line-break: strict;
  -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-decoration-line: underline;
  text-underline-offset: var(--underline-offset);
  text-decoration-thickness: 1px;
  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-thickness: 2px;
}
: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(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);
}

: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%20id%3D%22select-bg%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M14.24%2C15.4l-5.48-6%2C1.28-1.4%2C4.2%2C4.6%2C4.2-4.6%2C1.28%2C1.4-5.48%2C6Z%22%20fill%3D%22%23000%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E");
  background-size: 24px;
  background-position: right 4px center;
  background-repeat: no-repeat;
}

: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;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

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

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

.bl_gNavSp_inner[aria-modal=true] :focus-visible {
  outline: none;
}

:where(svg) {
  fill: currentColor;
}

:where(strong) {
  font-weight: 700;
}

:where(img) {
  height: auto;
}
.ly_side__left {
  position: relative;
  grid-area: image;
  container: image/inline-size;
}

.ly_main {
  position: relative;
  z-index: 2;
  grid-area: main;
  background-color: var(--color-base);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.12);
  overflow: hidden;
}

.ly_side__right {
  position: relative;
  grid-area: menu;
  container: menu/inline-size;
}

.ly_side > * {
  position: fixed;
  inline-size: 100cqw;
  block-size: 100vh;
}

.ly_header {
  block-size: 70px;
  padding-block: var(--spacing-x-small);
  padding-inline: min(4vw, var(--spacing-small)) var(--spacing-x-small);
}

.ly_footer {
  background: var(--color-secondary);
  color: white;
  text-align: center;
  padding: 20px 20px 7.5em;
  grid-area: footer;
}

.el_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  min-block-size: 23.8cqw;
  padding: var(--spacing-x-small) 1em;
  position: relative;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  margin-inline: auto;
  border-radius: var(--btn-rounded, var(--box-sausage));
  border: 2px solid var(--color-base);
  background: var(--current-btn-color, var(--color-btn));
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2);
  color: var(--color-base);
  font-size: var(--fz-x-large);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

button.el_btn {
  inline-size: 100%;
  letter-spacing: var(--ls-normal);
}

.el_btn svg {
  inline-size: 100%;
  block-size: auto;
}
.el_btn:hover:focus-visible {
  background: color-mix(in srgb, var(--current-btn-color, var(--color-btn)), black 8%);
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.35);
  color: var(--color-base);
}

.el_btn__blank {
  display: grid;
  grid-template-columns: 1.37em 1fr 1.37em;
  gap: 0.45em;
}

.el_btn__blank::before {
  content: "";
  display: block;
}

.el_btn__tel {
  font-size: var(--fz-xx-large) !important;
  line-height: 1;
}

.el_btn__border {
  border: 2px solid var(--btn-border-color, var(--color-base));
}

.el_btn_icon__right {
  line-height: 1;
}

.el_btn_icon__inlineLeft {
  margin-inline-end: 7px;
}

.el_btn_icon__inlineLeft svg {
  display: block;
  margin-block-start: 3px;
}

.el_btn__txtSmall {
  font-size: var(--fz-medium) !important;
}

.el_btn__txtSmall .el_btn_em {
  font-size: var(--fz-xx-large) !important;
}

.el_btn__arwBottom {
  position: relative;
  padding-block: calc(var(--spacing-small) - 3px) var(--spacing-large);
}

.el_btn__arwBottom::after {
  content: "";
  position: absolute;
  bottom: 15px;
  right: calc(50% - 11px);
  inline-size: 22px;
  block-size: 12px;
  background-color: var(--btn-arwBottom-color, var(--color-base));
  clip-path: polygon(50% 12px, 0% 0%, 22px 0%);
}

.el_menuBtn_wrap {
  position: relative;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline-start: auto;
  z-index: 19;
}

.el_menuBtn {
  width: 50px;
  height: 50px;
  padding: 4px;
  background-color: var(--color-base);
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  cursor: pointer;
  display: grid;
  gap: 2px;
  grid-template-rows: 1fr auto;
  align-items: center;
  transition: all 0.3s ease;
  pointer-events: all;
}
.el_menuBtn:focus-visible {
  background-color: color-mix(in srgb, var(--color-secondary) 20%, var(--color-base));
}

.el_menuBtn_lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.el_menuBtn_line {
  width: 30px;
  height: 2px;
  background-color: var(--color-secondary);
  border-radius: 1px;
  transition: background 0.3s ease, transform 0.3s ease;
}

.el_menuBtn.is-open {
  position: absolute;
  top: var(--spacing-x-small);
  right: var(--spacing-x-small);
  z-index: 1;
}

.el_menuBtn.is-open .el_menuBtn_line:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}

.el_menuBtn.is-open .el_menuBtn_line:nth-child(2) {
  transform: translateY(-5px) rotate(-45deg);
}

.el_menuBtn_txt {
  color: var(--color-secondary);
  font-size: var(--fz-x-small);
  text-align: center;
  transition: color 0.3s ease;
  line-height: 1;
}

.el_menuBtn.is-open + .el_menuBtn_txt {
  color: var(--color-base);
}

.el_pagelinkBtn {
  position: relative;
  display: block;
  margin-block-start: var(--spacing-medium);
  padding: 3px var(--spacing-small);
  border: 2px solid var(--pagelink-btn-color, var(--color-secondary));
  border-radius: var(--box-sausage);
  color: var(--pagelink-btn-color, var(--color-secondary));
  font-size: var(--fz-small);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.el_pagelinkBtn:focus-visible {
  background: color-mix(in srgb, var(--pagelink-btn-color, var(--color-secondary)) 20%, transparent);
}

.el_pagelinkBtn::after {
  content: "";
  position: absolute;
  top: calc(50% - 3px);
  right: 0.8em;
  inline-size: 14px;
  block-size: 7px;
  background-color: var(--pagelink-btn-color, var(--color-secondary));
  clip-path: polygon(50% 7px, 0% 0%, 14px 0%);
}

.el_title {
  margin-block: var(--title-top-spacing, var(--spacing-medium)) var(--title-bottom-spacing, var(--spacing-medium));
  font-size: var(--fz-xx-large);
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.03em;
  color: var(--title-line-color, var(--color-contrast));
}

.el_title:has(.el_titleBadge) {
  --badge-right-space: 0.4em;
}

.el_title_sub {
  display: block;
  color: var(--color-contrast);
  font-size: var(--fz-xx-large);
}

.el_title_em {
  font-size: var(--fz-xxx-large);
  color: var(--title-line-color, var(--color-secondary));
}

.el_title_color {
  color: var(--title-line-color, var(--color-secondary));
}

.el_title__border {
  position: relative;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
  padding: 0 0.4em var(--spacing-x-small);
  border-block-end: var(--color-secondary) solid 3px;
}

.el_title__border::before,
.el_title__border::after {
  position: absolute;
  content: "";
  bottom: -7px;
  left: -7px;
  inline-size: 12px;
  aspect-ratio: 1/1;
  background: var(--color-secondary);
  border-radius: 50%;
}

.el_title__border::after {
  left: auto;
  right: -7px;
}

.el_title__leftBorder {
  position: relative;
  padding: 2px 0 2px 0.4em;
  text-align: left !important;
}

.el_title__leftBorder::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  inline-size: 3px;
  block-size: 100%;
  background: linear-gradient(180deg, #01BEC2 35.1%, rgba(187, 221, 142, 0.75) 100%);
}

.el_title__large {
  font-size: var(--fz-xxx-large) !important;
}

.el_title__medium {
  font-size: var(--fz-x-large) !important;
}

.el_title__small {
  font-size: var(--fz-large) !important;
}

.el_title__x-small {
  font-size: var(--fz-medium) !important;
}

.el_title__left {
  text-align: left !important;
}

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

.el_title__lh-narrow {
  line-height: var(--lh-narrow) !important;
}

.el_title__angleBrackets {
  position: relative;
  padding-inline: 6.2cqi;
}

.el_title__angleBrackets::before,
.el_title__angleBrackets::after {
  content: "";
  position: absolute;
  top: 50%;
  inline-size: 4.8cqi;
  aspect-ratio: 10/23;
  background: linear-gradient(180deg, #01bec2 0%, rgba(1, 190, 194, 0.6) 22.5%, rgba(1, 190, 194, 0.2) 50%, rgba(1, 190, 194, 0.6) 72.5%, #01bec2 100%);
  mask: url(../img/deco_angle_brackets.svg) center/contain no-repeat;
  -webkit-mask: url(../img/deco_angle_brackets.svg) center/contain no-repeat;
}

.el_title__angleBrackets::before {
  left: 0;
  transform: translateY(-50%);
}

.el_title__angleBrackets::after {
  right: 0;
  transform: translateY(-50%) scaleX(-1);
}

.el_title__blockCenter > span {
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
}

.el_titleBadge {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
  font-size: var(--fz-medium);
  margin-block-end: var(--spacing-x-small);
  color: var(--title-badge-txt, var(--color-contrast));
  font-weight: 700;
  text-align: center;
  vertical-align: 5px;
}

span.el_titleBadge {
  margin-inline: var(--badge-left-space, 0) var(--badge-right-space, 0);
  padding-inline: 0.8em;
}

.el_titleBadge + .el_title {
  margin-block-start: 0;
}

.el_titleLabel {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
  font-size: var(--fz-medium);
  margin-block-end: var(--spacing-x-small);
  color: var(--title-badge-txt, var(--color-contrast));
  font-weight: 700;
  text-align: center;
}

.el_reasonTitle {
  position: relative;
  margin-block-end: var(--reasonTitle-bottom-spacing, 0);
  padding: 1.9em var(--spacing-small) 1.37em;
  background: var(--color-base);
  border-radius: var(--box-rounded-large);
  font-weight: 700;
}

.el_reasonTitle_txt {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-block: 0;
  margin-inline: auto;
  padding: 3px var(--spacing-small) 4px;
  background: var(--section-title-bg, var(--color-base));
  border-radius: var(--box-rounded-small);
  border: 2px solid var(--color-secondary);
  color: var(--color-secondary);
  line-height: 1.2;
}

.el_reasonTitle_title {
  margin-block: 0;
  font-size: var(--fz-xx-large);
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.03em;
  color: var(--section-title-color, var(--color-contrast));
}

.el_subSectionHeading {
  margin-block: var(--spacing-small) 0;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.el_subSectionHeading__normal {
  font-weight: normal;
}

.el_subSectionHeading__medium {
  font-size: var(--fz-medium);
}

.el_subSectionHeading__large {
  font-size: var(--fz-x-large);
}

.el_subSectionHeading + .el_subSectionHeading {
  margin-block-start: var(--spacing-x-small);
}

.el_pointTitle {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-block: var(--pointTitle-spacing-top, var(--spacing-small)) var(--spacing-x-small);
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.2em;
  font-size: 6.5cqw;
  font-family: var(--font-accent);
}

.el_pointTitle::before, .el_pointTitle::after {
  content: "";
  inline-size: 22px;
  block-size: 23px;
}

.el_pointTitle::before {
  background: url(../img/icon_point_l.svg) center/contain no-repeat;
}

.el_pointTitle::after {
  background: url(../img/icon_point_r.svg) center/contain no-repeat;
}

.el_emphasis {
  margin: var(--emphasis-spacer-top, 0) 0 var(--emphasis-spacer-bottom, var(--spacing-medium));
  font-size: 10.95cqw;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
}

.el_emphasis_highlight {
  color: var(--color-secondary);
  vertical-align: -1px;
}

.el_emphasis_small {
  font-size: 7.14cqw;
}

.el_roundBadge {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
  padding: 1px 0.5em;
  background: var(--round-badge-color, var(--color-secondary));
  border-radius: var(--box-rounded-small);
  color: var(--color-base);
  font-size: var(--fz-medium);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.el_roundBadge__left {
  margin-inline-start: 0 !important;
}

.el_nameBadge {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
  padding: 2px 1.2em 2px 0.7em;
  font-size: var(--fz-small);
  margin-block-end: var(--spacing-x-small);
  margin-inline: var(--badge-left-space, 0) var(--badge-right-space, 0);
  background: linear-gradient(-90deg, var(--color-secondary) 0%, var(--color-secondary-light) 100%);
  color: var(--color-base);
  font-weight: 700;
  text-align: center;
  vertical-align: 2px;
  clip-path: polygon(0 1%, 100% 1%, 90% 50%, 100% 100%, 0 100%);
}

.bl_gNav {
  display: none;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin: 0 auto;
  font-size: var(--fz-small);
}

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

.bl_gNav_list a {
  display: grid;
  grid-template-columns: 0.9em 1fr;
  justify-content: center;
  align-items: center;
  padding-block: var(--spacing-x-small);
  color: var(--color-base);
  font-weight: bold;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.bl_gNav_list a:focus-visible {
  color: var(--color-base);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.bl_gNav_list a:focus-visible::before {
  background: #fff18b;
}

.bl_gNav_list a::before {
  content: "";
  display: block;
  inline-size: 6px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: rgba(255, 241, 139, 0.4);
}

.bl_gNav_list .is-active a {
  text-decoration: underline;
}

.bl_gNav_list .is-active a::before {
  background: #fff18b;
}

.bl_gNavSp {
  position: fixed;
  top: 0;
  left: 0;
  inline-size: 100vw;
  block-size: 100dvh;
  overflow: auto;
  z-index: 20;
  pointer-events: visible;
  display: none;
}

.bl_gNavSp.is-open {
  display: block;
}

.bl_gNavSp_inner {
  min-block-size: 100%;
  display: grid;
  align-items: center;
  justify-content: center;
  padding-block: var(--spacing-large);
  background: var(--gradient-bg4-v);
  background-color: var(--color-secondary);
  font-size: var(--fz-medium);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.bl_gNav_btn {
  --fz-x-large: max(14px, 5.2cqi);
  container-type: inline-size;
  inline-size: min(80cqi, 350px);
  margin-block-start: var(--spacing-small);
}

.bl_sideImg {
  background: url(../img/img_side01@2x.webp) right clamp(20px, 20.5%, 205px) top/350px auto no-repeat;
  background-color: var(--color-secondary-pale);
}

.bl_sideImg::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  inline-size: min(100%, 1000px);
  block-size: clamp(660px, 66vh, 1000px);
  background: url(../img/bg_side.svg) center bottom/auto 100% no-repeat;
}

.bl_sideImg::after {
  content: "";
  display: block;
  position: absolute;
  right: min(62%, 620px);
  bottom: -80px;
  inline-size: 300px;
  aspect-ratio: 1/1;
  background: var(--gradient-bg4-v);
  border-radius: 50%;
}

@container (max-width: 130px) {
  .bl_sideImg {
    background: var(--color-secondary-pale);
  }
  .bl_sideImg::before,
  .bl_sideImg::after {
    display: none;
  }
}
.bl_sideMenu {
  display: grid;
  align-items: center;
  background: var(--gradient-bg4-v);
}

.bl_header {
  display: flex;
  align-items: center;
  gap: 10px;
  block-size: 100%;
}

.bl_header_logo {
  inline-size: min(34%, 145px);
  margin: 0;
}

.bl_header_logo img {
  inline-size: 100%;
  block-size: auto;
}

.bl_header_head {
  padding-inline: 0.8em;
  border-radius: var(--box-sausage);
  background-color: var(--color-topBar);
  color: var(--color-base);
  font-size: min(3.2vw, 14px);
  text-align: center;
}

.bl_header_body {
  margin-block-start: 0.2em;
  font-size: min(3.2vw, 16px);
}

.bl_header_menuBtn {
  position: fixed;
  top: 10px;
  right: max(10px, 50% - 250px + 10px);
}

.bl_section {
  container-type: inline-size;
  padding-block: var(--sec-spacing-top, var(--spacing-medium)) var(--sec-spacing-bottom, var(--spacing-x-large));
  padding-inline: var(--sec-spacing-inline, var(--spacing-large));
  background-color: var(--section-base, transparent);
}

.bl_sectionInner {
  container-type: inline-size;
  margin: 0 auto;
  padding-inline: var(--spacing-large);
}

.bl_borderSection {
  position: relative;
  container-type: inline-size;
  overflow: hidden;
  background: var(--current-base, var(--gradient-bg5));
  border-radius: var(--current-outerbox-rounded, var(--box-rounded-large));
  padding: var(--current-border-top, var(--spacing-medium)) var(--current-border-inline, var(--spacing-medium)) var(--current-border-bottom, var(--spacing-medium));
}

.bl_borderSection--white .bl_borderSection_inner {
  background: var(--color-base);
}

.bl_borderSection_inner {
  container-type: inline-size;
  max-width: var(--max-width, 1200px);
  margin: 0 auto;
  padding: var(--borderSection-spacing-block, var(--spacing-x-large)) var(--borderSection-spacing-inline, calc(var(--spacing-medium) - 10px));
  background: var(--current-inner-base, var(--gradient-bg3));
  border-radius: var(--current-box-rounded, var(--box-rounded));
}

.bl_sectionTitle {
  container-type: inline-size;
  inline-size: min(100%, 420px);
  margin-inline: auto;
}

.bl_sectionTitle--full {
  inline-size: min(84%, 420px);
}

.bl_gridVertical {
  display: grid;
  row-gap: var(--grid-vertical-gap, var(--spacing-large));
}

.bl_grid {
  display: grid;
  gap: var(--grid-row-gap, var(--spacing-small)) var(--grid-col-gap, var(--spacing-large));
}

.bl_iconList {
  margin: 0;
  padding-inline-start: 0;
  list-style: none;
}

.bl_iconList li,
.bl_iconList_item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5em;
}

.bl_iconList li + li,
.bl_iconList_item + .bl_iconList_item {
  margin-block-start: var(--list-gap, 1.1em);
}

.bl_iconList li::before,
.bl_iconList_item::before {
  content: "";
  display: block;
}

.bl_iconList_txt {
  margin-block: 0 var(--spacing-small);
  font-weight: 400;
  line-height: var(--lh-normal);
}

.bl_iconList__point {
  font-weight: 700;
}

.bl_iconList__point li::before,
.bl_iconList__point .bl_iconList_item::before {
  inline-size: 9.29cqw;
  aspect-ratio: 34/35;
  margin-block-start: calc(-1 * ((9.56cqw - 1lh) / 2 - 1px));
  background: url(../img/icon_point_list.svg) center/contain no-repeat;
}

.bl_courseList_wrap {
  margin-block: var(--courseList-space-top, 0) var(--courseList-space-bottom, 0);
  border: 1px solid var(--color-base);
  border-radius: var(--box-rounded);
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.15);
}

.bl_courseList {
  inline-size: 100%;
  border-collapse: collapse;
  background: var(--color-base);
  border-radius: 8px;
  overflow: hidden;
  font-size: 4.5cqw;
}

.bl_courseList__small th {
  padding: 8px 0.2em !important;
  font-size: var(--fz-x-small) !important;
}

.bl_courseList__small td {
  padding: 8px 0.7em !important;
  font-size: var(--fz-small) !important;
}

.bl_courseList__stripe .bl_courseList_row:nth-child(even) {
  background: var(--color-pale-gray);
}

.bl_courseList_row {
  border-bottom: 1px solid #e0e0e0;
}

.bl_courseList_row:last-child {
  border-bottom: none;
}

.bl_courseList_em {
  color: var(--current-color, var(--color-secondary));
  font-size: var(--fz-xx-large);
}

.bl_courseList_left {
  text-align: left !important;
}

.bl_courseList_note {
  display: block;
  font-size: var(--fz-x-small);
  font-weight: normal;
}

.bl_courseList th {
  background: rgba(255, 241, 139, 0.6);
  color: var(--color-contrast);
  font-weight: bold;
  padding: var(--spacing-small) 0.5em;
  text-align: center;
  border-inline-end: 1px dashed #e0e0e0;
}

.bl_courseList th:last-child {
  border-inline-end: none;
}

.bl_courseList td {
  font-weight: bold;
  color: var(--color-contrast);
  text-align: center;
  padding: var(--spacing-small) 0.5em;
  border-inline-end: 1px dashed #e0e0e0;
}

.bl_courseList td:last-child {
  border-inline-end: none;
}

.bl_moreCards {
  display: grid;
  gap: var(--card-gap, var(--spacing-small));
  margin-block: var(--card-space-top, var(--spacing-large)) var(--card-space-bottom, 0);
}

.bl_moreCard {
  --triangle-box-h: 30px;
  --triangle-w: 70px;
  --triangle-h: 24px;
  --triangle-box-bottom: -24px;
  background: var(--color-base);
  border-radius: var(--box-rounded);
  padding: var(--spacing-small) 1.3em;
  margin-inline: auto;
}

.bl_moreCard_header {
  display: grid;
  grid-template-columns: 80px auto;
  gap: var(--spacing-x-small);
  align-items: center;
}

.bl_moreCard_q {
  font-weight: 700;
  font-size: var(--fz-x-large);
}

.bl_moreCard_body {
  position: relative;
}

.bl_moreCard_text {
  line-height: 1.7;
  height: 3lh; /* 3行分 */
  overflow: hidden;
  position: relative;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

.bl_moreCard_text.is-open {
  -webkit-line-clamp: unset;
}

.bl_moreCard_btn {
  position: relative;
  display: block;
  inline-size: 100%;
  margin-block: var(--spacing-small) 0;
  background: #fff;
  border: 2px solid var(--color-secondary);
  color: var(--color-secondary);
  border-radius: var(--box-rounded);
  padding: calc(var(--spacing-x-small) + 5px);
  font-weight: 700;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background 0.2s;
}

.bl_moreCard_btn::before, .bl_moreCard_btn::after {
  position: absolute;
  top: 50%;
  right: calc(var(--spacing-x-small) + 5px);
  content: "";
  width: 16px;
  height: 2px;
  background: var(--color-secondary);
}

.bl_moreCard_btn::after {
  rotate: 90deg;
}

.bl_moreCard_btn.is-open::after {
  rotate: 0deg;
}

.bl_moreCard_btn:hover {
  background: color-mix(in srgb, var(--color-secondary) 15%, transparent 0%);
}

.bl_cta_container {
  --current-color: var(--color-accent);
}

.bl_cta_container__tel {
  --current-color: var(--color-secondary);
  --current-btn-color: var(--color-secondary);
}

.bl_cta_container:not(:last-child) {
  margin-block-end: var(--spacing-small);
}

.bl_cta_lead {
  margin-block-start: var(--cta-lead-spacing-start, 1em);
  margin-block-end: var(--cta-lead-spacing-bottom, var(--spacing-x-small));
  color: var(--color-contrast);
  text-align: center;
}

.bl_cta_lead::before, .bl_cta_lead::after {
  content: "";
  display: inline-block;
  inline-size: 20px;
  block-size: 20px;
  background: var(--current-color, var(--color-accent));
  vertical-align: -2px;
  -webkit-mask-image: url("../img/icon_line.svg");
          mask-image: url("../img/icon_line.svg");
  margin-inline-end: 5px;
}

.bl_cta_lead::after {
  transform: scaleX(-1);
  margin-inline: 5px 0;
}

.bl_cta_hours {
  text-align: center;
  font-size: var(--fz-small);
  color: var(--color-contrast);
  margin-top: 10px;
  margin-block-end: 0;
}

.bl_faq {
  --sec-spacing-bottom: 0;
  --title-bottom-spacing: var(--spacing-small);
}

.bl_faq_container {
  padding-block-end: var(--spacing-large);
}

.bl_faq_container__primary {
  --title-line-color: #007E58;
  --current-color: #007E58;
  --current-base-color: #E7F4E7;
}

.bl_faq_container__secondary {
  --title-line-color: var(--color-accent);
}

.bl_faq_list {
  display: grid;
  gap: var(--spacing-small);
  margin-block: var(--faq-space-top, 0) var(--faq-space-bottom, 0);
}

.bl_faq_item {
  border-radius: var(--btn-rounded, var(--box-rounded));
  overflow: hidden;
}

.bl_faq_item details {
  border-radius: var(--btn-rounded, var(--box-rounded));
  background: var(--current-base-color, var(--color-accent-pale));
}

.bl_faq_item summary {
  display: grid;
  grid-template-columns: auto 1fr 16px;
  gap: 10px;
  padding: var(--spacing-small);
  font-weight: 700;
  font-size: var(--fz-medium);
  color: var(--color-contrast);
  list-style: none;
  transition: background-color 0.3s ease;
}

.bl_faq_item summary::-webkit-details-marker {
  display: none;
}

.bl_faq_item summary::before {
  content: "Q";
  color: var(--current-color, var(--color-accent));
}

.bl_faq_toggle {
  --size: 16px;
  position: relative;
  display: block;
  inline-size: var(--size);
  block-size: var(--size);
  align-self: center;
}

.bl_faq_toggle::before, .bl_faq_toggle::after {
  position: absolute;
  content: "";
  display: block;
  inline-size: 100%;
  block-size: 2px;
  inset: 0;
  margin: auto;
  background: var(--current-color, var(--color-accent));
  transition: rotate 0.1s ease;
}

.bl_faq_toggle::after {
  rotate: 90deg;
}

.bl_faq_item details[open] .bl_faq_toggle::after {
  rotate: 0deg;
}

.bl_faq_contentInner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  padding: var(--spacing-small);
  background: var(--faq-inner-color, var(--color-base));
  border-radius: 0 0 15px 15px;
  border: 5px solid var(--current-base-color, var(--color-accent-pale));
  font-size: var(--fz-medium);
}

.bl_faq_contentInner::before {
  content: "A";
  color: color-mix(in srgb, var(--current-color, var(--color-accent)) 50%, transparent);
  font-weight: 700;
  font-size: var(--fz-x-large);
  line-height: 32px;
}

.bl_faq_content p {
  margin: 0;
  line-height: 1.8;
}

.bl_faq_content p + p {
  margin-block-start: 0.8em;
}

/* ホバー効果 */
.bl_faq__explain summary {
  grid-template-columns: 1fr 16px;
}

.bl_faq__explain summary::before {
  display: none;
}

.bl_faq__explain .bl_faq_content {
  position: relative;
  padding: 0 5px;
}

.bl_faq__explain .bl_faq_content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 5px;
  inline-size: calc(100% - 10px);
  block-size: 1px;
  background: var(--color-secondary);
}

.bl_pagetop {
  text-align: center;
  margin-block: var(--spacing-medium) 0;
}

.bl_pagetop a {
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
  padding: var(--spacing-x-small) var(--spacing-x-small) var(--spacing-small);
  text-decoration: none;
  color: var(--color-contrast);
  font-size: var(--fz-small);
}

.bl_pagetop a::before {
  content: "";
  display: block;
  inline-size: 30px;
  block-size: 30px;
  margin-inline: auto;
  margin-block-end: 0.4em;
  background: var(--color-bland);
  mask: url(../img/icon_arrow-up.svg) center/contain no-repeat;
  -webkit-mask: url(../img/icon_arrow-up.svg) center/contain no-repeat;
}

.bl_footerNav {
  margin-block-end: 30px;
}

.bl_footerNav_list {
  list-style: none;
  padding: 0;
}

.bl_footerNav_item {
  position: relative;
  line-height: 2;
  padding-block: 0.25em;
  font-size: var(--fz-x-small);
}

.bl_footerNav_item a {
  color: var(--color-base);
  text-decoration: underline;
  padding: 8px 20px;
}
.bl_footerNav_item a:focus-visible {
  text-decoration: none;
  color: var(--color-base);
}

.bl_copyright {
  font-size: var(--fz-x-small);
}

.bl_fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  padding-block: var(--spacing-x-small);
  background: color-mix(in srgb, var(--color-base) 70%, transparent);
  z-index: 10;
  inline-size: 100%;
}

.bl_fixed_inner {
  container-type: inline-size;
  inline-size: min(100%, 500px);
  margin: 0 auto;
  padding-inline: var(--spacing-large);
}

.bl_reasons {
  display: grid;
  gap: var(--spacing-x-large);
  margin-block: var(--reasons-top-spacing, var(--spacing-medium)) var(--reasons-bottom-spacing, 0);
}

.bl_reason:has(.el_reasonTitle) {
  --iconTitle-bottom-spacing: calc(var(--spacing-large) + var(--spacing-x-small));
}

.bl_reason:not(h4) {
  --reasonTitle-bottom-spacing: var(--spacing-small);
}

.bl_reason_img {
  padding: 4.7cqi;
  background: var(--color-base);
}

.bl_merits {
  display: grid;
  gap: var(--block-gap, var(--spacing-x-large));
}

.bl_merits__border {
  position: relative;
}

.bl_merits__border .bl_merit::after {
  content: "";
  position: absolute;
  bottom: calc(var(--block-gap, var(--spacing-x-large)) * -1 / 2);
  left: 0;
  inline-size: 100%;
  block-size: 1px;
  border: 1px dashed var(--current-color, var(--color-secondary));
}

.bl_merit:not(:has(.bl_merit_img)) .bl_merit_title {
  margin-block-start: 0;
}

.bl_merit_title {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.45em;
  align-items: center;
}

.bl_merit_title_em {
  color: var(--current-color, var(--color-secondary));
  font-size: var(--fz-xx-large);
}

.bl_merit_title_num {
  position: relative;
  inline-size: 14.3cqw;
  aspect-ratio: 1/1;
  margin-block: 0;
  border: 2px solid var(--color-secondary);
  color: var(--color-secondary);
  font-size: var(--fz-xx-large);
  line-height: 1.2;
  text-align: center;
  align-content: center;
}

.bl_recommend_section {
  display: grid;
  gap: var(--spacing-large);
}

.bl_recommend {
  position: relative;
}

.bl_recommend:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(var(--spacing-large) * -0.5);
  display: block;
  inline-size: 100%;
  block-size: 1px;
  border-bottom: 1px dashed var(--color-secondary);
}

.bl_recommend_title {
  position: relative;
  margin: 0;
  padding-inline-start: 43px;
  font-size: var(--fz-large);
  text-wrap: auto;
  word-break: normal;
}

.bl_recommend_title::before {
  content: "";
  position: absolute;
  top: 0.25em;
  left: 0;
  inline-size: 32px;
  aspect-ratio: 8/7;
  background: url(../img/icon_check.svg) no-repeat left center/contain;
}

.bl_recommend_title-em {
  color: var(--current-title-accent, var(--color-secondary));
  font-size: calc(var(--fz-xx-large) * 1.08);
}

.bl_recommend_dList dd {
  position: relative;
  inline-size: 91.5%;
  margin-block-start: var(--spacing-x-small);
  margin-inline: auto;
  padding-inline-start: 1em;
}
.bl_recommend_dList dd::before {
  content: "•";
  position: absolute;
  top: 0;
  left: 0;
  inline-size: 1em;
  margin-inline-end: 0.5em;
}

.bl_recommend_txt {
  margin-block-start: var(--spacing-x-small);
  padding-inline-start: 1em;
}

.bl_note {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: var(--note-min-width, 0);
  margin-inline: auto;
  text-align: center;
  margin-block-start: var(--spacing-large);
  padding-block: var(--spacing-small);
  padding-inline: var(--spacing-medium);
  border-block: 1px solid var(--color-secondary);
}

.bl_note_title {
  font-size: var(--fz-medium);
  font-weight: 700;
  margin-block: var(--spacing-x-small);
}

.bl_note_title:first-child {
  margin-block-start: 0 !important;
}

.bl_note p {
  color: var(--color-contrast);
  margin: 0;
}

.bl_note strong {
  font-weight: 700;
}

.bl_prefModal {
  position: fixed;
  top: 0;
  left: 0;
  inline-size: 100%;
  block-size: 100%;
  z-index: 200;
  transition: 0.3s;
}

.bl_prefModal_base {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1;
  cursor: pointer;
}

.bl_prefModal_close {
  width: clamp(45px, 5.1851851852vw, 56px);
  height: clamp(45px, 5.1851851852vw, 56px);
  top: 2.6svh;
  right: calc(50vw - min(43.9814814815vw, 475px) - min(2.3148148148vw, 25px));
  position: absolute;
  background: var(--color-secondary);
  border-radius: var(--box-sausage);
  cursor: pointer;
  z-index: 3;
  transition: background-color 0.3s ease;
}
.bl_prefModal_close:focus-visible {
  background: color-mix(in srgb, var(--color-secondary) 80%, var(--color-primary-pale) 20%);
}

.bl_prefModal_close::before, .bl_prefModal_close::after {
  position: absolute;
  content: "";
  display: block;
  inline-size: 60%;
  block-size: 2px;
  inset: 0;
  margin: auto;
  background: var(--color-base);
  border-radius: 1px;
}

.bl_prefModal_close::before {
  rotate: 45deg;
}

.bl_prefModal_close::after {
  rotate: -45deg;
}

.bl_prefModal_content {
  position: absolute;
  inset: 0;
  width: min(87.962962963vw, 950px);
  min-height: min(18.5185185185vw, 200px);
  max-height: 90svh;
  border-radius: min(1.4814814815vw, 16px);
  margin: auto;
  padding: min(4.6296296296vw, 50px) min(5.5555555556vw, 60px) min(5.5555555556vw, 60px);
  background: #fff;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  z-index: 2;
}

.bl_prefModal_content_title {
  margin-block-end: var(--spacing-medium);
  font-size: min(6.4vw, 28px);
  text-align: center;
}

.bl_prefsBtn_list {
  display: grid;
  gap: var(--spacing-medium);
}

.bl_prefsBtn_link {
  display: grid;
  grid-template-columns: 1fr 1em;
  align-items: center;
  padding: var(--spacing-medium) var(--spacing-small);
  border-radius: var(--box-rounded);
  background: var(--color-secondary);
  color: var(--color-base);
  font-size: min(4.5vw, 22px);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
}
.bl_prefsBtn_link:focus-visible {
  background: color-mix(in srgb, var(--color-secondary) 80%, var(--color-primary-pale) 20%);
  color: var(--color-base);
}

.bl_prefsBtn_link_icon svg {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.bl_prefList_trigger {
  display: grid;
  grid-template-columns: 1fr 16px;
  gap: 10px;
  padding: var(--spacing-small);
  border: 1px solid var(--current-color, var(--color-secondary));
  border-radius: var(--box-rounded);
  color: var(--color-contrast);
  font-size: min(5vw, 22px);
  font-weight: 700;
  text-align: center;
  list-style: none;
  transition: background-color 0.3s ease;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.1);
}
.bl_prefList_trigger:focus-visible {
  background: var(--current-base-color, var(--color-secondary-pale));
}

.bl_prefList_toggle {
  --size: 16px;
  position: relative;
  display: block;
  inline-size: var(--size);
  block-size: var(--size);
  align-self: center;
}

.bl_prefList_toggle::before, .bl_prefList_toggle::after {
  position: absolute;
  content: "";
  display: block;
  inline-size: 100%;
  block-size: 2px;
  inset: 0;
  margin: auto;
  background: var(--current-color, var(--color-secondary));
  transition: rotate 0.1s ease;
}

.bl_prefList_toggle::after {
  rotate: 90deg;
}

.bl_prefList[open] .bl_prefList_toggle::after {
  rotate: 0deg;
}

.bl_prefList_contentInner {
  padding-block: var(--spacing-medium) var(--spacing-x-small);
}

.bl_prefList_btns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-small);
}

.bl_prefList_btn {
  display: block;
  padding: var(--spacing-small) var(--spacing-x-small);
  border-radius: var(--box-rounded);
  border: 1px solid var(--color-light-gray);
  background: var(--color-pale-gray);
  color: var(--color-contrast);
  font-size: min(5vw, 22px);
  font-weight: 700;
  align-content: center;
  text-align: center;
  text-decoration: none;
  transition: background 0.3s ease;
}
.bl_prefList_btn:focus-visible {
  color: currentColor;
  background: var(--color-light-gray);
}

.bl_solution {
  --triangle-box-h: 40px;
  --triangle-w: 60px;
  --triangle-h: 20px;
  --triangle-box-bottom: -30px;
  padding: var(--spacing-small);
  border-radius: var(--box-rounded);
  border: 1px solid var(--color-light-gray);
  background: linear-gradient(180deg, var(--color-pale-gray) 0%, var(--color-base) 50%);
}

.bl_solution_head {
  font-size: 4.5cqi;
  font-weight: 700;
}

.bl_solution_body {
  font-size: 4.5cqi;
}

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

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

.hp_tal {
  text-align: left !important;
}
.hp_uppercase {
  text-transform: uppercase;
}

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

.hp_highlight {
  color: var(--current-color, var(--color-secondary));
  font-weight: bold;
}

.hp_largeTxt {
  font-size: var(--fz-large) !important;
}

.hp_smallTxt {
  font-size: var(--fz-small) !important;
}

.hp_x-smallTxt {
  font-size: var(--fz-x-small) !important;
}

.hp_sup {
  position: relative;
  font-size: var(--fz-x-small);
  line-height: 1;
  top: -0.5em;
}

.hp_sub {
  position: relative;
  font-size: var(--fz-x-small);
  line-height: 1;
  bottom: 0;
}

.hp_auto-phrase {
  word-break: auto-phrase;
}

.hp_txt {
  line-height: var(--lh-normal);
}

.hp_marker {
  position: relative;
  display: inline;
  background: linear-gradient(transparent 75%, var(--marker-color, #fff18b) 75%, var(--marker-color, #fff18b) 100%);
  line-height: 1.6;
}

.hp_font-accent {
  font-family: var(--font-accent) !important;
}

.hp_no-break {
  word-break: normal !important;
  text-wrap: auto !important;
}

.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_centering {
  margin-inline: auto;
}

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

.hp_srOnly {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 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;
}

.hp_triangleGradient {
  position: relative;
  margin-block-end: var(--triangle-box-h, 80px);
}

.hp_triangleGradient::after {
  content: "";
  position: absolute;
  bottom: var(--triangle-box-bottom, -70px);
  left: 0;
  right: 0;
  inline-size: var(--triangle-w, 124px);
  block-size: var(--triangle-h, 40px);
  margin-inline: auto;
  background: var(--triangle-bg, var(--gradient-triangle));
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

.hp_triangleGradient__up::after {
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.hp_triangleGradient__down::after {
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

.hp_triangleGradient__left::after {
  clip-path: polygon(100% 0%, 0% 50%, 100% 100%);
}

.hp_triangleGradient__right::after {
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}

.hp_glow {
  box-shadow: 0 0 15px 0 color-mix(in srgb, var(--color-base) 75%, transparent);
}

.hp_note {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
  text-align: center;
  margin-block-start: var(--spacing-large);
  padding-block: var(--spacing-small);
  border-block: 1px solid var(--color-secondary-light);
}

.hp_box {
  margin-block: var(--borderBox-spacing-top, 0) var(--borderBox-spacing-bottom, 0);
  padding: var(--spacing-medium);
  border-radius: var(--box-rounded);
  background: var(--border-box-base, var(--color-base));
}

.hp_box > :first-child {
  margin-block-start: 0;
}

.hp_borderBox {
  padding: 25px 30px;
  border-radius: 20px;
  border: var(--border-box-size, 3px) solid var(--border-box-border, rgba(1, 190, 194, 0.2196078431));
  background: var(--border-box-base, var(--color-base));
}

.hp_grd_border {
  position: relative;
  margin-block-start: 10px;
}

.hp_grd_border::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  inline-size: 100%;
  block-size: 10px;
  background: var(--gradient-bg4);
}

.hp_topBorder {
  border-block-start: 4px solid var(--current-border-color, var(--color-secondary-light));
}

.un_mv {
  container-type: inline-size;
  --sec-spacing-top: var(--spacing-medium);
  --sec-spacing-bottom: var(--spacing-medium);
  position: relative;
}

.un_mv_bg {
  position: absolute;
  top: 0;
  left: 0;
  inline-size: 100%;
  opacity: 0;
}

.un_mv_content {
  position: relative;
  inline-size: 88%;
  block-size: 94cqi;
  display: grid;
  grid-template-areas: "imgTxt" "title" "copy";
  grid-template-columns: 1fr;
  grid-template-rows: 10fr 9fr max-content;
  margin-inline: auto;
}

.un_mv_imgTxt {
  grid-area: imgTxt;
  align-self: end;
  inline-size: 25.2cqi;
  margin-inline: auto 29.5cqi;
  margin-block-end: 3cqi;
  opacity: 0;
}

.un_mv_copy {
  grid-area: copy;
  align-self: end;
  inline-size: 100%;
  margin-inline: auto;
  padding-inline: 1.3em;
  padding-block: 4px 6px;
  background: linear-gradient(270deg, transparent 0%, color-mix(in srgb, var(--color-base) 60%, transparent) 1.3em, color-mix(in srgb, var(--color-base) 60%, transparent) 50%, color-mix(in srgb, var(--color-base) 60%, transparent) calc(100% - 1.3em), transparent 100%);
  color: var(--color-contrast);
  font-size: 3.8cqi;
  font-weight: 700;
  letter-spacing: var(--ls-normal);
  line-height: 1.3;
  text-align: center;
  opacity: 0;
}

.un_mv_copy_em {
  background-color: var(--color-secondary);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.47em;
}

.un_mv_title {
  grid-area: title;
}

.un_mv_title_main {
  filter: url(#dilate);
  margin: 0;
  font-size: 6cqi;
  line-height: 1.15;
  text-shadow: 0px 0px 6px var(--color-base);
}

.un_mv_title_accent {
  color: var(--color-secondary);
  font-size: 10.4cqi;
}

.un_mv_iconBlock {
  inline-size: min(95%, 460px);
  margin-inline: auto;
  margin-block: 8px var(--spacing-x-small);
  display: grid;
  grid-template-columns: 19.5% 21.7% auto;
  align-items: center;
  gap: 10px;
  opacity: 0;
}

.un_mv_iconBlock_txt {
  font-size: var(--fz-x-small);
}

.un_mv_cta {
  background: var(--color-secondary-tint);
}

.un_about-qualification {
  position: relative;
  background: url(../img/deco_about.webp) right top/70px auto no-repeat;
  background-color: var(--color-secondary-tint);
}

.un_about-qualification > * {
  position: relative;
  z-index: 2;
}

.un_about-qualification::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115px;
  background: linear-gradient(180deg, transparent 0%, #FFF 100%);
}

.un_eligibility {
  --title-bottom-spacing: var(--spacing-x-large);
  --section-base: var(--color-secondary-pale);
  position: relative;
  background: linear-gradient(180deg, var(--color-secondary-pale) 0%, var(--color-secondary-pale) calc(100% - 115px), #FFF 100%);
}

.un_eligibility_cta {
  margin-block-start: var(--spacing-x-large);
}

.un_solution {
  --courseList-space-top: var(--spacing-small);
  --grid-row-gap: var(--spacing-large);
  --sec-spacing-top: var(--spacing-large);
  --sec-spacing-bottom: var(--spacing-large);
  --title-bottom-spacing: var(--spacing-x-large);
  --triangle-box-bottom: -60px;
  --triangle-box-h: 70px;
  background: url(../img/bg_solution_right.webp) right top min(21.4vw, 107px)/min(16vw, 80px) auto no-repeat, url(../img/bg_solution_left.webp) left top min(28.2vw, 141px)/min(16vw, 80px) auto no-repeat;
  background-color: var(--color-pale-gray);
}

.un_solution_note {
  margin-block-start: 0.5em;
}

.un_solutio > * {
  position: relative;
  z-index: 2;
}

.un_solutio::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115px;
  background: linear-gradient(180deg, transparent 0%, #FFF 100%);
}

.un_recommend {
  --sec-spacing-top: var(--spacing-x-large);
  --title-top-spacing: var(--spacing-x-small);
  background: linear-gradient(180deg, var(--color-secondary-pale) 0%, var(--color-secondary-pale) calc(100% - 1220px), #FFF 100%);
}

.un_interview {
  --sec-spacing-top: var(--spacing-large);
  --sec-spacing-bottom: var(--spacing-large);
  --current-border-inline: var(--spacing-x-small);
  --current-base: var(--color-base);
  --current-border-top: 0;
  --borderSection-spacing-block: var(--spacing-medium);
  --badge-right-space: 0.8em;
  --card-space-top: var(--spacing-x-large);
  --current-box-rounded: var(--box-rounded-large);
  --borderSection-spacing-inline: var(--spacing-medium);
  background: var(--gradient-bg1);
}

.un_interview_btns {
  --btn-rounded: var(--box-rounded-large);
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  gap: var(--spacing-small);
  margin-block-start: var(--spacing-medium);
  padding-inline: 11.5%;
  padding-block: var(--spacing-medium);
  background: var(--color-pale-gray);
}

.un_interview_btns::before, .un_interview_btns::after {
  position: absolute;
  content: "";
  bottom: 0;
  z-index: 1;
  inline-size: 24.5%;
}

.un_interview_btns::before {
  left: -9.5%;
  height: 100%;
  background: url(../img/deco_interview_l@2x.webp) center bottom/contain no-repeat;
}

.un_interview_btns::after {
  right: -9.5%;
  height: 100%;
  background: url(../img/deco_interview_r@2x.webp) center bottom/contain no-repeat;
}

.un_interview_btns > * {
  position: relative;
  z-index: 2;
  inline-size: 100%;
  aspect-ratio: 1/1;
  padding-inline: 10px;
}

.un_interview_copy {
  inline-size: 100%;
  padding-inline: 1em;
}

.un_interview01 {
  --sec-spacing-inline: var(--spacing-medium);
  --current-inner-base: var(--color-secondary-pale);
  --title-top-spacing: var(--spacing-x-small);
}

.un_interview02 {
  --sec-spacing-inline: var(--spacing-medium);
  --current-inner-base: var(--color-primary-pale);
  --title-top-spacing: var(--spacing-x-small);
}

.un_interview_cta {
  --sec-spacing-top: var(--spacing-x-small);
}

.un_about {
  --sec-spacing-top: 0;
  --sec-spacing-bottom: calc(var(--spacing-x-large) + 20px);
  --sec-spacing-inline: 0;
  --title-top-spacing: var(--spacing-x-small);
  --title-bottom-spacing: 0.8em;
  --emphasis-spacer-top: var(--spacing-medium);
  --emphasis-spacer-bottom: var(--spacing-small);
  position: relative;
  background: url(../img/deco_about_top.webp) right top/14.8% auto no-repeat, url(../img/deco_about_bottom.webp) left bottom -1px/69% auto no-repeat;
  background-color: var(--color-secondary-pale);
}

.un_about_header {
  position: relative;
  padding-block-start: var(--spacing-large);
}

.un_about_header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  inline-size: 100%;
  aspect-ratio: 500/154;
  opacity: 0.06;
  background: linear-gradient(0deg, color-mix(in srgb, var(--color-secondary) 0%, transparent) 0%, color-mix(in srgb, var(--color-secondary) 50%, transparent) 45%, var(--color-secondary) 100%);
}

.un_about_header > * {
  position: relative;
  z-index: 2;
}

.un_about_logo {
  inline-size: min(90%, 320px);
  margin-block-end: var(--spacing-x-small);
  margin-inline: auto;
}

.un_about_logo img {
  margin-inline: auto;
}

.un_about_body {
  padding-block-start: var(--spacing-medium);
}

.un_about_heading {
  display: grid;
  grid-template-columns: 35.7cqw 1fr;
  align-items: center;
  padding-inline-start: var(--spacing-x-small);
}

.un_about_info_title {
  margin-inline-start: -2.5cqw;
  padding-block: 2px;
  padding-inline: calc(2.5cqw + 4px);
  background: var(--color-bland);
  color: var(--color-base);
  font-size: 5.2cqw;
  border-radius: 0 var(--box-sausage) var(--box-sausage) 0;
}

.un_about_info_title span {
  font-size: 4.5cqw;
  font-weight: 400;
}

.un_about_info_text {
  padding-inline-start: 4px;
  font-size: 4.5cqw;
}

.un_about_apeals {
  --current-color: var(--color-accent);
  display: grid;
  gap: var(--spacing-small);
}

.un_about_apeal {
  container-type: inline-size;
  background: var(--gradient-bg6);
  border-radius: var(--box-rounded-large);
  padding: 2px;
}

.un_about_apeal_inner {
  position: relative;
  display: grid;
  grid-template-columns: auto 19cqw;
  align-items: center;
  padding: 4.8cqw 7.14cqw;
  background: var(--color-base);
  border-radius: calc(var(--box-rounded-large) - 2px);
}

.un_about_apeal_inner::before {
  position: absolute;
  content: "";
  top: -4.75cqw;
  left: 7.14cqw;
  inline-size: 9.5cqw;
  aspect-ratio: 1/1;
  background: url(../img/icon_apeal.svg) no-repeat center/contain;
}

.un_about_apeal_text {
  margin: 0;
  font-size: 4.5cqw;
}

.un_about_apeal_text strong {
  font-size: 5.2cqw;
}

.un_about_apeal_notice {
  font-size: 2.8cqw;
}

.un_merit {
  --title-top-spacing: var(--spacing-x-small);
  --title-bottom-spacing: var(--spacing-large);
  --current-outerbox-rounded: 0;
  --current-box-rounded: var(--box-rounded-large);
  --current-border-inline: var(--spacing-small);
  --current-inner-base: var(--color-secondary-tint);
  position: relative;
}

.un_merit_bg::before,
.un_merit_bg::after {
  content: "";
  position: absolute;
  inline-size: 100%;
  z-index: 1;
}

.un_merit_bg::before {
  top: 0;
  right: 0;
  inline-size: 57.2%;
  aspect-ratio: 143/138;
  background: url(../img/deco_merit_top.webp) top right/contain no-repeat;
}

.un_merit_bg::after {
  bottom: 0;
  left: 0;
  inline-size: 55.6%;
  aspect-ratio: 278/259;
  background: url(../img/deco_merit_bottom.webp) bottom left/contain no-repeat;
}

.un_merit_bg > * {
  position: relative;
  z-index: 2;
}

.un_merit_upper {
  --sec-spacing-top: var(--spacing-x-large);
  --sec-spacing-bottom: var(--spacing-large);
}

.un_merit_list {
  --title-bottom-spacing: 0;
}

.un_merit_note {
  margin-block: var(--spacing-x-large) var(--spacing-small);
}

.un_merit_points {
  background-color: var(--color-base);
  border: 3px solid var(--color-secondary);
  border-radius: var(--box-rounded-large);
  padding: var(--spacing-medium);
}

.un_merit_more {
  --title-bottom-spacing: var(--spacing-x-small);
}

.un_merit_image {
  --title-bottom-spacing: 0;
  aspect-ratio: 500/335;
  background: url(../img/pic_recommend@2x.webp) center/cover no-repeat;
}

.un_merit_image_content {
  inline-size: 11em;
  padding-block-start: 13%;
}

.un_merit_image_txt {
  margin-block-start: var(--spacing-x-small);
  font-size: 4.5cqi;
}

.un_merit_lower {
  --sec-spacing-top: var(--spacing-small);
  --sec-spacing-bottom: calc(var(--spacing-x-large) + 20px);
}

.un_merit_lowerTxt {
  font-size: 4.6cqi;
}

.un_merit_cta {
  position: relative;
  z-index: 2;
}

.un_faq {
  --current-base: var(--color-base);
  --title-top-spacing: var(--spacing-x-small);
}

.js-anim_fadeUp {
  opacity: 0;
}

.js-modal {
  opacity: 0;
  visibility: hidden;
}

.js-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.js-modal[aria-hidden=false] {
  animation: mmfadeIn 0.1s cubic-bezier(0, 0, 0.2, 1);
}

.js-modal[aria-hidden=true] {
  animation: mmfadeOut 0.1s cubic-bezier(0, 0, 0.2, 1);
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    opacity: 0;
    transform: translateY(15%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-10%);
  }
}
@media (min-width: 600px){
  .bl_prefList_btns {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (min-width: 769px){
  :root {
    --fz-x-small: clamp(0.8125rem, 0.676rem + 0.3vw, 0.875rem);
    --fz-small: clamp(0.875rem, 0.535rem + 0.7vw, 1rem);
    --fz-medium: clamp(1rem, 0.523rem + 1vw, 1.1875rem);
    --spacing-medium: clamp(1.25rem, -0.384rem + 3.4vw, 1.875rem);
    --spacing-large: clamp(1.6875rem, -0.423rem + 4.4vw, 2.5rem);
    --spacing-x-large: clamp(2.6875rem, -0.103rem + 5.8vw, 3.75rem);
    --spacing-xx-large: clamp(3.75rem, 0.482rem + 6.8vw, 5rem);
  }
  body {
    grid-template: "image main menu" auto/630fr clamp(23.4375rem, 9.575rem + 28.9vw, 31.25rem) minmax(310px, 310fr);
  }
  .ly_footer {
    padding-block-end: 20px;
  }
  .el_menuBtn_wrap {
    display: none;
  }
  .bl_gNav {
    display: revert;
  }
  .bl_header {
    gap: 5%;
  }
  .bl_header_logo {
    inline-size: 35%;
  }
  .bl_header_head {
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline: auto;
    padding-inline: 1.8em;
  }
  .bl_fixed {
    display: none;
  }
  .bl_prefsBtn_link {
    grid-template-columns: 1fr 24px;
    font-size: min(5vw, 22px);
    padding: var(--spacing-small);
    line-height: normal;
  }
  .bl_prefList_btns {
    grid-template-columns: repeat(4, 1fr);
  }
  .bl_prefList_btn {
    font-size: min(2.2vw, 22px);
  }
  .hp_tacTb {
    text-align: center !important;
  }
  .hp_tarTb {
    text-align: right !important;
  }
  .hp_talTb {
    text-align: left !important;
  }
  .hp_dnSp {
    display: revert;
  }
  .hp_dnTb {
    display: none !important;
  }
}
@media not all and (min-width: 769px){
  .hp_tacSp {
    text-align: center !important;
  }
  .hp_tarSp {
    text-align: right !important;
  }
  .hp_talSp {
    text-align: left !important;
  }
}
@media all and (min-width: 900px){
  .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;
  }
}
@media all and (min-width: 1200px){
  .hp_tacPc {
    text-align: center !important;
  }
  .hp_tarPc {
    text-align: right !important;
  }
  .hp_talPc {
    text-align: left !important;
  }
}
@media (any-hover: hover){
  :where(a)[href]:hover {
    color: var(--color-link-hover);
    text-decoration-thickness: 2px;
  }
  .el_btn:hover:hover {
    background: color-mix(in srgb, var(--current-btn-color, var(--color-btn)), black 8%);
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.35);
    color: var(--color-base);
  }
  .el_menuBtn:hover {
    background-color: color-mix(in srgb, var(--color-secondary) 20%, var(--color-base));
  }
  .el_pagelinkBtn:hover {
    background: color-mix(in srgb, var(--pagelink-btn-color, var(--color-secondary)) 20%, transparent);
  }
  .bl_gNav_list a:hover {
    color: var(--color-base);
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .bl_gNav_list a:hover::before {
    background: #fff18b;
  }
  .bl_faq_item summary:hover {
    background: color-mix(in srgb, var(--current-color, var(--color-accent)) 15%, transparent);
  }
  .bl_footerNav_item a:hover {
    text-decoration: none;
    color: var(--color-base);
  }
  .bl_prefModal_close:hover {
    background: color-mix(in srgb, var(--color-secondary) 80%, var(--color-primary-pale) 20%);
  }
  .bl_prefsBtn_link:hover {
    background: color-mix(in srgb, var(--color-secondary) 80%, var(--color-primary-pale) 20%);
    color: var(--color-base);
  }
  .bl_prefList_trigger:hover {
    background: var(--current-base-color, var(--color-secondary-pale));
  }
  .bl_prefList_btn:hover {
    color: currentColor;
    background: var(--color-light-gray);
  }
}
@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;
  }
}
