@charset "UTF-8";
:root {
  --base: 16;
  --z-go-top: 10;
  --z-header: 100;
  --z-drawer: 300;
  --z-hamburger: 600;
  --z-modal: 900;
  --z-skip-main: 999;
  --z-loading: 1000;
  --artboard-width: 1400px;
  --inner-xs: 840px;
  --inner-sm: 996px;
  --inner: 1100px;
  --inner-lg: 1200px;
  --inner-xl: 1300px;
  --inner-gutter: 40px;
  --inner-gutter-sp: 20px;
  --space-unit: 1em;
  --space-xxs: calc(0.25 * var(--space-unit));
  --space-xs: calc(0.5 * var(--space-unit));
  --space-sm: calc(0.75 * var(--space-unit));
  --space-md: calc(1.25 * var(--space-unit));
  --space-lg: calc(2 * var(--space-unit));
  --space-xl: calc(3.25 * var(--space-unit));
  --space-xxl: calc(5.25 * var(--space-unit));
  --c-font: #191919;
  --c-black: #191919;
  --c-white: #fff;
  --c-accent-red: #ffd1d1;
  --c-accent-blue: #bae0f8;
  --c-accent-green: #d8f4c6;
  --c-gray: #efefef;
  --c-gray-light: #f6f6f8;
  --c-gray-dark: #d0d0d0;
  --c-link: #008cd6;
  --c-note: #e64e21;
  --ff-body: "Zen Kaku Gothic New", sans-serif;
  --ff-title: "Zen Kaku Gothic New", sans-serif;
  --ff-en: "Righteous", sans-serif;
  --ff-viga: "Viga", sans-serif;
  --ff-montserrat: "Montserrat", sans-serif;
  --fz-xxs: 10px;
  --fz-xs: 12px;
  --fz-sm: 14px;
  --fz-default: 16px;
  --fz-md: 18px;
  --fz-lg: 22px;
  --fz-xl: 24px;
  --fz-xxl: 28px;
  --fz-clamp-xs: clamp(11px, 2.75vw, var(--fz-xs));
  --fz-clamp-sm: clamp(12px, 3.2vw, var(--fz-sm));
  --fz-clamp-default: clamp(15px, 1.875vw, var(--fz-default));
  --fz-clamp-md: clamp(16px, 4vw, var(--fz-md));
  --fz-clamp-lg: clamp(18px, 4.5vw, var(--fz-lg));
  --fz-clamp-xl: clamp(20px, 5vw, var(--fz-xl));
  --fz-clamp-xxl: clamp(22px, 5.5vw, var(--fz-xxl));
  --outer-link-svg: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18.06 16.26"><g transform="translate(-8652 -13595.766)"><rect width="11.558" height="10.057" transform="translate(8657.502 13596.766)" fill="none" stroke="%23fff" stroke-miterlimit="10" stroke-width="2"/><g  transform="translate(8653 13601.119)"><path d="M316.958,281.805v2.1H305.4V274h2.4" transform="translate(-305.4 -274)" fill="none" stroke="%23fff" stroke-miterlimit="10" stroke-width="2"/></g></g></svg>');
  --anime-duration: 0.2s ease-in-out;
}

/* アニメーション */
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

html {
  font-size: 100%;
}

body {
  font-family: var(--ff-body);
  color: var(--c-font);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: revert;
  font-family: var(--ff-title);
  font-weight: 700;
  line-height: 1.4;
}

a {
  display: inline-block;
  color: currentColor;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

button {
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

dt {
  font-weight: 700;
}

summary {
  display: block;
  list-style: none;
}

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

small {
  font-size: 100%;
}

button,
input,
select,
textarea {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  border-width: 1px;
  background-color: transparent;
}

/* 選択系パーツ */
input[type=radio],
input[type=checkbox] {
  cursor: pointer;
  vertical-align: revert;
}

b,
strong {
  font-weight: 700;
}

/* 	スクリーンリーダー
---------------------------------------------*/
.visually-hidden:not(:focus-visible) {
  position: absolute;
  border: 0;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.l-breadcrumb {
  --breadcrumb-gap: 10px;
  margin-inline: auto;
  margin-top: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
  width: 100%;
}

.l-breadcrumb__list {
  display: flex;
  justify-content: flex-end;
  padding: 0 20px;
  align-items: center;
  gap: 0 var(--breadcrumb-gap);
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .l-breadcrumb__list {
    padding: 0;
  }
}

.l-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: var(--breadcrumb-gap);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.4;
}
.l-breadcrumb__item:not(:last-of-type)::after {
  content: "";
  background-image: url('data:image/svg+xml,<svg width="5" height="9" viewBox="0 0 5 9" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_570_2)"><path d="M0.348633 0.365845L4.30042 4.50045L0.348633 8.63505" stroke="%237B7B7B"/></g><defs><clipPath id="clip0_570_2"><rect width="5" height="9" fill="white"/></clipPath></defs></svg>');
  display: block;
  width: 5px;
  aspect-ratio: 5/9;
}

.l-breadcrumb__link {
  color: var(--c-main);
  transition: color var(--anime-duration);
  position: relative;
}
.l-breadcrumb__link::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform var(--anime-duration);
  background: var(--c-main);
}
.l-breadcrumb__link:hover {
  color: var(--c-main) !important;
}
.l-breadcrumb__link:hover::after {
  transform: scale(1, 1);
}

/* ===========================================
 * フッター
 * ======================================== */
.l-footer-wrap {
  background-color: var(--c-bg);
  position: relative;
  z-index: 1;
}

.l-footer {
  background-image: url(../images/common/bg_footer.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom left;
  padding-top: clamp(7.5rem, 6.023rem + 6.3vw, 10.75rem);
  margin-top: -78px;
}
@media screen and (max-width: 768px) {
  .l-footer {
    background-image: url(../images/common/bg_footer--sp.jpg);
  }
}

.l-footer__address {
  margin-top: 16px;
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
}

/* 	ロゴ
---------------------------------------------*/
.l-footer-logo {
  max-width: 517px;
}
@media screen and (max-width: 768px) {
  .l-footer-logo {
    max-width: 320px;
  }
}

/* 	サイトマップ
---------------------------------------------*/
.l-footer-sitemap {
  margin-top: clamp(2.5rem, 1.932rem + 2.42vw, 3.75rem);
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap {
    display: none;
  }
}

.l-footer-sitemap-heading__link {
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
}

a.l-footer-sitemap-heading__link {
  transition: color var(--anime-duration);
  position: relative;
}
a.l-footer-sitemap-heading__link::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform var(--anime-duration);
  background: var(--c-main);
}
a.l-footer-sitemap-heading__link:hover {
  color: var(--c-main) !important;
}
a.l-footer-sitemap-heading__link:hover::after {
  transform: scale(1, 1);
}

.l-footer-sitemap-content {
  margin-top: 8px;
}

.l-footer-sitemap-list-item + .l-footer-sitemap-list-item {
  margin-top: 12px;
}

.l-footer-sitemap-list-item__link {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.4;
  transition: color var(--anime-duration);
  position: relative;
}
.l-footer-sitemap-list-item__link::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform var(--anime-duration);
  background: var(--c-main);
}
.l-footer-sitemap-list-item__link:hover {
  color: var(--c-main) !important;
}
.l-footer-sitemap-list-item__link:hover::after {
  transform: scale(1, 1);
}

.l-footer-sitemap-child-list {
  margin-top: 4px;
}
.l-footer-sitemap-child-list .l-footer-sitemap-list-item {
  position: relative;
  padding-left: 16px;
  line-height: 1;
}
.l-footer-sitemap-child-list .l-footer-sitemap-list-item::before {
  content: "";
  width: 8px;
  height: 2px;
  background-color: var(--c-main);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  margin-top: 2px;
}
.l-footer-sitemap-child-list .l-footer-sitemap-list-item + .l-footer-sitemap-list-item {
  margin-top: 6px;
}
.l-footer-sitemap-child-list .l-footer-sitemap-list-item__link {
  font-size: 12px;
}

/* 	サブコンテンツ
---------------------------------------------*/
.l-footer-sub-content {
  background-color: var(--c-main);
  margin-top: clamp(12.5rem, 9.659rem + 12.12vw, 18.75rem);
  padding: clamp(0.5rem, 0.273rem + 0.97vw, 1rem) 0;
}
@media screen and (max-width: 768px) {
  .l-footer-sub-content {
    margin-top: 100px;
  }
}

.l-footer-sub-content__inner {
  display: flex;
  gap: 0 40px;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .l-footer-sub-content__inner {
    flex-direction: column;
  }
}

/*---------- サブメニュー ----------*/
.l-footer-sub-menu {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .l-footer-sub-menu {
    display: none;
  }
}

.l-footer-sub-menu-item {
  position: relative;
}
.l-footer-sub-menu-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -0.5em;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 1px;
  height: 50%;
  background-color: var(--c-white);
}

.l-footer-sub-menu-item__link {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: var(--c-white);
  transition: color var(--anime-duration);
  position: relative;
}
.l-footer-sub-menu-item__link::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform var(--anime-duration);
  background: #fff;
}
.l-footer-sub-menu-item__link:hover {
  color: #fff !important;
}
.l-footer-sub-menu-item__link:hover::after {
  transform: scale(1, 1);
}

.l-footer__copy {
  font-size: clamp(0.688rem, 0.602rem + 0.36vw, 0.875rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: var(--c-white);
}

/* ===========================================
 * ヘッダー
 * ======================================== */
.l-header {
  width: 100%;
  left: 0;
  top: 0;
  z-index: var(--z-header);
  transition: background-color var(--anime-duration);
  background-color: var(--c-bg);
}
.l-header.is-drawer-open {
  background-color: var(--c-white);
}

.l-header__content {
  padding: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem) 0;
}

/* 	ロゴ
---------------------------------------------*/
.l-header-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 1;
  max-width: 327px;
}
.l-header-logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-header-logo__link {
  transition: opacity var(--anime-duration);
}
.l-header-logo__link:hover {
  opacity: 0.8;
}

/* 	ユーティリティエリア（ヘッダー上部）
---------------------------------------------*/
.l-header-utility {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
@media screen and (max-width: 1024px) {
  .l-header-utility {
    display: grid;
    grid-template-columns: 1fr 52px;
  }
}

.l-header-utility__content {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}
@media screen and (max-width: 1260px) {
  .l-header-utility__content {
    min-height: 52px;
  }
}

/*---------- 検索窓 ----------*/
@media screen and (max-width: 1024px) {
  .l-header-search-box {
    display: none;
  }
}

/*---------- 丸ボタン ----------*/
@media screen and (max-width: 1024px) {
  .l-header-circle-btn {
    display: none;
  }
}

/*---------- 電話番号 ----------*/
.l-header-tel {
  font-family: var(--ff-viga);
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1;
  color: var(--c-black);
  display: flex;
  align-items: center;
  gap: 8px;
}
.l-header-tel::before {
  content: "";
  display: block;
  background-image: url('data:image/svg+xml,<svg width="22" height="28" viewBox="0 0 22 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_588_60)"><path d="M1.96688 1.18605C-0.0041163 2.43405 -0.392114 6.33405 0.351886 9.51305C1.12432 12.6894 2.44038 15.7083 4.24189 18.4361C6.09261 21.1579 8.37688 23.558 11.0039 25.541C13.6749 27.501 17.4819 28.746 19.4529 27.498C20.4618 26.7784 21.3257 25.8745 21.9989 24.834L20.9399 23.2401L18.0269 18.858C17.8109 18.532 16.4529 18.83 15.7639 19.211C15.0458 19.7145 14.4378 20.359 13.9769 21.105C13.3389 21.464 12.8049 21.105 11.6889 20.605C10.3169 19.989 8.77488 18.075 7.54788 16.342C6.42688 14.542 5.26489 12.387 5.24789 10.914C5.23389 9.71405 5.11689 9.09305 5.71289 8.67105C6.59226 8.56641 7.44206 8.28802 8.21289 7.85205C8.85089 7.39305 9.68288 6.30505 9.46588 5.97905L6.55389 1.59705L5.49488 0.00305176C4.25605 0.176677 3.05996 0.577743 1.96688 1.18605Z" fill="%23191919"/></g><defs><clipPath id="clip0_588_60"><rect width="22" height="28" fill="white"/></clipPath></defs></svg>');
  width: 22px;
  aspect-ratio: 11/14;
  margin-top: 2px;
}
@media screen and (max-width: 1024px) {
  .l-header-tel {
    display: none;
  }
}

.l-header-tel__link {
  pointer-events: none;
  margin-top: 2px;
}

/* 	ナビゲーションエリア（ヘッダー下部）
---------------------------------------------*/
.l-header-nav {
  background-color: var(--c-white);
  margin-top: 16px;
  border-radius: calc(infinity * 1px);
  padding: 10px;
  box-shadow: 0px 3px 10px rgba(65, 100, 50, 0.2);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 1260px) {
  .l-header-nav {
    justify-content: flex-end;
    background-color: transparent;
    box-shadow: none;
    padding: 0;
  }
}
@media screen and (max-width: 1024px) {
  .l-header-nav {
    justify-content: center;
  }
}

/*---------- サイトメニュー ----------*/
@media screen and (max-width: 1260px) {
  .l-header-menu {
    display: none;
  }
}

.l-header-menu-list {
  display: flex;
  gap: clamp(1.25rem, -8.5rem + 12vw, 2rem);
  padding-left: clamp(1.25rem, -13.375rem + 18vw, 2.375rem);
  align-items: center;
}

.l-header-menu-list-item {
  position: relative;
}
.l-header-menu-list-item.-top > .l-header-menu-list-item__link {
  color: var(--c-main);
}

.l-header-menu-list-item__link {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.4;
  padding: 4px 0;
  transition: color var(--anime-duration);
}
.l-header-menu-list-item__link:hover {
  color: var(--c-main);
}
.-has-drawer .l-header-menu-list-item__link {
  display: flex;
  align-items: center;
  gap: 6px;
}
.-has-drawer .l-header-menu-list-item__link::after {
  content: "";
  display: block;
  margin-top: 2px;
  flex-shrink: 0;
  -webkit-mask: url('data:image/svg+xml,<svg width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_594_8)"><path d="M0.000976562 0.957031C0.00155092 0.829738 0.028443 0.703937 0.0800781 0.587585C0.131713 0.471234 0.206897 0.366835 0.300903 0.281006C0.50034 0.100762 0.759625 0.000976563 1.02844 0.000976563C1.29726 0.000976563 1.55655 0.100762 1.75598 0.281006L6.5 4.69104L11.2429 0.281006C11.4424 0.100762 11.7016 0.000976563 11.9705 0.000976563C12.2393 0.000976563 12.4986 0.100762 12.698 0.281006C12.7928 0.366341 12.8686 0.470673 12.9205 0.587219C12.9724 0.703765 12.9993 0.829933 12.9993 0.95752C12.9993 1.08511 12.9724 1.21127 12.9205 1.32782C12.8686 1.44437 12.7928 1.5487 12.698 1.63403L7.22693 6.72101C7.02749 6.90125 6.76821 7.00104 6.49939 7.00104C6.23057 7.00104 5.97141 6.90125 5.77197 6.72101L0.300903 1.63403C0.206773 1.54809 0.131596 1.44356 0.0799561 1.32703C0.0283165 1.21049 0.00141278 1.08449 0.000976562 0.957031Z" fill="%2360A044"/></g><defs><clipPath id="clip0_594_8"><rect width="13" height="7" fill="white"/></clipPath></defs></svg>');
          mask: url('data:image/svg+xml,<svg width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_594_8)"><path d="M0.000976562 0.957031C0.00155092 0.829738 0.028443 0.703937 0.0800781 0.587585C0.131713 0.471234 0.206897 0.366835 0.300903 0.281006C0.50034 0.100762 0.759625 0.000976563 1.02844 0.000976563C1.29726 0.000976563 1.55655 0.100762 1.75598 0.281006L6.5 4.69104L11.2429 0.281006C11.4424 0.100762 11.7016 0.000976563 11.9705 0.000976563C12.2393 0.000976563 12.4986 0.100762 12.698 0.281006C12.7928 0.366341 12.8686 0.470673 12.9205 0.587219C12.9724 0.703765 12.9993 0.829933 12.9993 0.95752C12.9993 1.08511 12.9724 1.21127 12.9205 1.32782C12.8686 1.44437 12.7928 1.5487 12.698 1.63403L7.22693 6.72101C7.02749 6.90125 6.76821 7.00104 6.49939 7.00104C6.23057 7.00104 5.97141 6.90125 5.77197 6.72101L0.300903 1.63403C0.206773 1.54809 0.131596 1.44356 0.0799561 1.32703C0.0283165 1.21049 0.00141278 1.08449 0.000976562 0.957031Z" fill="%2360A044"/></g><defs><clipPath id="clip0_594_8"><rect width="13" height="7" fill="white"/></clipPath></defs></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-main);
  width: 13px;
  aspect-ratio: 13/7;
}

/* ドロワー */
.l-header-menu-list-item.-has-drawer:hover > .l-header-drawer {
  max-height: none;
  opacity: 1;
  visibility: visible;
}

.l-header-drawer {
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  padding-top: 38px;
  transition: visibility var(--anime-duration), opacity var(--anime-duration);
}

.l-header-drawer__content {
  display: inline-block;
  white-space: nowrap;
  background-color: var(--c-white);
  border-radius: 20px;
  padding: 30px;
}

/* 子メニュー */
.l-header-drawer-menu-item.-child {
  padding-left: 16px;
  position: relative;
}
.l-header-drawer-menu-item.-child::before {
  content: "";
  width: 8px;
  height: 2px;
  background-color: var(--c-main);
  position: absolute;
  margin-top: 1px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.l-header-drawer-menu-item.-child + .l-header-drawer-menu-item.-child {
  margin-top: 16px;
}

.l-header-drawer-menu-item + .l-header-drawer-menu-item {
  margin-top: 20px;
}

.l-header-drawer-menu-item__link {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.2;
  transition: color var(--anime-duration);
  position: relative;
}
.-child .l-header-drawer-menu-item__link {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
.l-header-drawer-menu-item__link::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform var(--anime-duration);
  background: var(--c-main);
}
.l-header-drawer-menu-item__link:hover {
  color: var(--c-main) !important;
}
.l-header-drawer-menu-item__link:hover::after {
  transform: scale(1, 1);
}

/* ===========================================
 * ハンバーガーボタン
 * ======================================== */
.l-hamburger {
  width: 52px;
  aspect-ratio: 1;
  background-color: var(--c-main-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: static;
  place-content: center;
  transition: background-color var(--anime-duration), opacity var(--anime-duration), visibility var(--anime-duration);
  z-index: var(--z-hamburger);
}
@media not screen and (max-width: 1260px) {
  .l-hamburger {
    display: none;
  }
}
.l-hamburger:hover {
  background-color: var(--c-main);
}
.l-hamburger.is-active:not(.is-sticky) {
  position: fixed;
  top: 20px;
  right: 20px;
}
.l-hamburger.is-sticky-ready {
  position: fixed;
  top: 20px;
  right: 40px;
  opacity: 0;
  visibility: hidden;
  filter: drop-shadow(0px 3px 6px rgba(65, 100, 50, 0.15));
}
@media screen and (max-width: 768px) {
  .l-hamburger.is-sticky-ready {
    top: 20px;
    right: 20px;
  }
}
.l-hamburger.is-sticky {
  visibility: visible;
  opacity: 1;
}
.l-hamburger.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.l-hamburger__line {
  width: 24px;
  height: 1px;
  background-color: var(--c-white);
  position: relative;
  transition: background-color var(--anime-duration);
}
.is-active .l-hamburger__line {
  background-color: transparent;
}
.l-hamburger__line::before, .l-hamburger__line::after {
  content: "";
  width: 24px;
  height: 1px;
  background-color: var(--c-white);
  position: absolute;
  transition: transform var(--anime-duration), top var(--anime-duration);
}
.l-hamburger__line::before {
  top: -8px;
}
.is-active .l-hamburger__line::before {
  top: 1px;
  transform: rotate(45deg);
}
.l-hamburger__line::after {
  top: 8px;
}
.is-active .l-hamburger__line::after {
  top: 1px;
  transform: rotate(-45deg);
}

.l-main {
  flex-grow: 1;
  overflow: hidden;
}

/* ===========================================
 * サイドバー
 * ======================================== */
.l-sidebar {
  filter: drop-shadow(0 3px 10px rgba(65, 100, 50, 0.15));
  max-width: 540px;
  margin-inline: auto;
  padding-bottom: 20px;
  overflow: hidden;
  border-radius: 15px;
}

.l-sidebar__heading {
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.4;
  text-align: center;
  color: var(--c-white);
  background-color: var(--c-main);
  padding: 16px;
}

.l-sidebar__heading-link {
  transition: opacity var(--anime-duration);
}
.l-sidebar__heading-link:hover {
  opacity: 0.8;
}

.l-sidebar-list {
  background-color: var(--c-white);
  padding: 8px 0 30px;
  border-radius: 0 0 15px 15px;
}

.l-sidebar-list-item {
  padding: 0 clamp(1.25rem, -2.386rem + 5.68vw, 1.875rem);
}

.l-sidebar-list-item__link {
  width: 100%;
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.4;
  padding: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
  padding-left: clamp(0.25rem, 0.08rem + 0.73vw, 0.625rem);
  border-bottom: solid 1px var(--c-gray-dark);
  position: relative;
}
.l-sidebar-list-item__link > .l-sidebar-list-item__link-text {
  position: relative;
  transition: color var(--anime-duration);
}
.l-sidebar-list-item__link > .l-sidebar-list-item__link-text::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  bottom: 1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform var(--anime-duration);
  background: var(--c-main);
}
.l-sidebar-list-item__link:hover > .l-sidebar-list-item__link-text {
  color: var(--c-main);
}
.l-sidebar-list-item__link:hover > .l-sidebar-list-item__link-text::after {
  transform: scale(1, 1);
}
.l-sidebar-list-item__link::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 8px;
  aspect-ratio: 8/15;
  -webkit-mask: url('data:image/svg+xml,<svg width="8" height="15" viewBox="0 0 8 15" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_571_12)"><path d="M0.957092 14.9981C0.830417 14.9977 0.705156 14.9711 0.588928 14.9198C0.4727 14.8685 0.367918 14.7938 0.281067 14.6999C0.101288 14.505 0.0012207 14.2477 0.0012207 13.9803C0.0012207 13.713 0.101288 13.4556 0.281067 13.2607L5.69305 7.49807L0.281067 1.73543C0.101288 1.54051 0.0012207 1.28317 0.0012207 1.01583C0.0012207 0.748481 0.101288 0.491145 0.281067 0.296226C0.367685 0.202057 0.472405 0.12702 0.588684 0.0756993C0.704963 0.0243782 0.830351 -0.0020752 0.957092 -0.0020752C1.08383 -0.0020752 1.20922 0.0243782 1.3255 0.0756993C1.44178 0.12702 1.54644 0.202057 1.63306 0.296226L7.72107 6.77847C7.90085 6.97339 8.00092 7.23072 8.00092 7.49807C8.00092 7.76541 7.90085 8.02275 7.72107 8.21767L1.63306 14.6999C1.54621 14.7938 1.44148 14.8685 1.32526 14.9198C1.20903 14.9711 1.08377 14.9977 0.957092 14.9981Z" fill="%23333333"/></g><defs><clipPath id="clip0_571_12"><rect width="8" height="15" fill="white"/></clipPath></defs></svg>');
          mask: url('data:image/svg+xml,<svg width="8" height="15" viewBox="0 0 8 15" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_571_12)"><path d="M0.957092 14.9981C0.830417 14.9977 0.705156 14.9711 0.588928 14.9198C0.4727 14.8685 0.367918 14.7938 0.281067 14.6999C0.101288 14.505 0.0012207 14.2477 0.0012207 13.9803C0.0012207 13.713 0.101288 13.4556 0.281067 13.2607L5.69305 7.49807L0.281067 1.73543C0.101288 1.54051 0.0012207 1.28317 0.0012207 1.01583C0.0012207 0.748481 0.101288 0.491145 0.281067 0.296226C0.367685 0.202057 0.472405 0.12702 0.588684 0.0756993C0.704963 0.0243782 0.830351 -0.0020752 0.957092 -0.0020752C1.08383 -0.0020752 1.20922 0.0243782 1.3255 0.0756993C1.44178 0.12702 1.54644 0.202057 1.63306 0.296226L7.72107 6.77847C7.90085 6.97339 8.00092 7.23072 8.00092 7.49807C8.00092 7.76541 7.90085 8.02275 7.72107 8.21767L1.63306 14.6999C1.54621 14.7938 1.44148 14.8685 1.32526 14.9198C1.20903 14.9711 1.08377 14.9977 0.957092 14.9981Z" fill="%23333333"/></g><defs><clipPath id="clip0_571_12"><rect width="8" height="15" fill="white"/></clipPath></defs></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: currentColor;
  transition: backgorund-color var(--anime-duration);
}
.l-sidebar-list-item__link:hover::after {
  background-color: var(--c-main);
}
.-child .l-sidebar-list-item__link {
  padding-left: 32px;
}
.-child .l-sidebar-list-item__link::before {
  content: "";
  width: 8px;
  height: 2px;
  background-color: var(--c-main);
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  margin-top: 1px;
}

.l-site-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: var(--c-bg);
}

/* ===========================================
 * 下層ページヘッダー
 * ======================================== */
.l-page-header {
  background-image: var(--page-header-bg-path);
  background-size: contain;
  background-position: -10px center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1024px) {
  .l-page-header {
    background-image: var(--page-header-bg-path--sp);
    background-size: auto 162px;
    background-position: right top;
  }
}

.l-page-header__inner {
  display: grid;
  grid-template-columns: 420px 1fr;
  align-items: center;
  gap: 0 40px;
  height: 380px;
  padding-left: clamp(1.25rem, -1.307rem + 10.91vw, 6.875rem);
}
.-no-img .l-page-header__inner {
  grid-template-columns: 1fr;
}
@media screen and (max-width: 1024px) {
  .l-page-header__inner {
    grid-template-columns: 1fr;
    height: auto;
    padding: 0 40px;
  }
}

@media screen and (max-width: 1024px) {
  .l-page-header__heading-wrap .l-page-header__heading {
    min-height: 132px;
    display: grid;
    align-items: center;
  }
}

.l-page-header__heading {
  font-size: clamp(1.625rem, 1.284rem + 1.45vw, 2.375rem);
}

.l-page-header__pic-wrap {
  height: 100%;
  margin-right: calc(50% - 50vw);
  border-radius: 50px 0 0 50px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .l-page-header__pic-wrap {
    border-radius: 20px 0 0 20px;
    height: 148px;
  }
}

.l-page-header__pic {
  width: 100%;
  height: 100%;
}
.l-page-header__pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ===========================================
 * 下層ページ
 * ======================================== */
.l-page {
  margin-top: clamp(2.5rem, 1.023rem + 6.3vw, 5.75rem);
}

/* サイドバーあり */
.l-page.-has-sidebar .l-page__inner {
  display: grid;
  grid-template-columns: 1fr clamp(15rem, -6.818rem + 34.09vw, 18.75rem);
  gap: clamp(2rem, -8.182rem + 15.91vw, 3.75rem);
}
@media screen and (max-width: 1024px) {
  .l-page.-has-sidebar .l-page__inner {
    grid-template-columns: 1fr;
  }
}

.l-page__sidebar {
  height: -moz-fit-content;
  height: fit-content;
}

/* ===========================================
 * ドロワー
 * ======================================== */
.l-drawer {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: var(--c-white);
  z-index: var(--z-drawer);
  min-height: 100lvh;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--anime-duration), visibility var(--anime-duration);
}
.l-drawer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
@media not screen and (max-width: 1260px) {
  .l-drawer {
    display: none;
  }
}

.l-drawer__content {
  height: 100lvh;
  overflow: auto;
}

.l-drawer__content-inner {
  padding-bottom: 150px;
}

/* 	ロゴ
---------------------------------------------*/
.l-drawer-logo {
  padding-top: 30px;
  min-height: 60px;
  display: grid;
  place-content: center start;
}

.l-drawer-logo__link {
  max-width: clamp(15rem, 13.722rem + 5.45vw, 17.813rem);
  transition: opacity var(--anime-duration);
}
.l-drawer-logo__link img {
  display: block;
}
.l-drawer-logo__link:hover {
  opacity: 0.8;
}

/*---------- ボタンリスト ----------*/
.l-drawer-nav-btn-list {
  margin-top: clamp(1.25rem, 0.909rem + 1.45vw, 2rem);
}

/* 	ユーティリティエリア
---------------------------------------------*/
.l-drawer-utility {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

/*---------- 検索窓 ----------*/
.l-drawer-search-box {
  width: 100%;
  max-width: 300px;
}

.l-drawer-circle-btn {
  flex-shrink: 0;
}

/* 	メニュー
---------------------------------------------*/
.l-drawer-menu-list {
  margin-top: 16px;
}

.l-drawer-menu-list-item {
  border-bottom: solid 1px var(--c-gray-dark);
}
.l-drawer-menu-list-item.-top {
  border-bottom: none;
}

.l-drawer-menu-list-item__link {
  padding: 12px 20px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  width: 100%;
}

/*---------- アコーディオン ----------*/
.l-drawer-accordion[open] .l-drawer-accordion__heading {
  border-bottom: solid 1px var(--c-main);
  color: var(--c-main);
}
.l-drawer-accordion[open] .l-drawer-accordion__heading::after {
  transform: scale(1, -1);
}

.l-drawer-accordion__heading {
  position: relative;
}
.l-drawer-accordion__heading::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 20px;
  -webkit-mask: url('data:image/svg+xml,<svg width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_597_37)"><path d="M0.000976562 0.957031C0.00155092 0.829738 0.028443 0.703937 0.0800781 0.587585C0.131713 0.471234 0.206897 0.366835 0.300903 0.281006C0.50034 0.100762 0.759625 0.000976563 1.02844 0.000976563C1.29726 0.000976563 1.55655 0.100762 1.75598 0.281006L6.5 4.69104L11.2429 0.281006C11.4424 0.100762 11.7016 0.000976563 11.9705 0.000976563C12.2393 0.000976563 12.4986 0.100762 12.698 0.281006C12.7928 0.366341 12.8686 0.470673 12.9205 0.587219C12.9724 0.703765 12.9993 0.829933 12.9993 0.95752C12.9993 1.08511 12.9724 1.21127 12.9205 1.32782C12.8686 1.44437 12.7928 1.5487 12.698 1.63403L7.22693 6.72101C7.02749 6.90125 6.76821 7.00104 6.49939 7.00104C6.23057 7.00104 5.97141 6.90125 5.77197 6.72101L0.300903 1.63403C0.206773 1.54809 0.131596 1.44356 0.0799561 1.32703C0.0283165 1.21049 0.00141278 1.08449 0.000976562 0.957031Z" fill="%2360A044"/></g><defs><clipPath id="clip0_597_37"><rect width="13" height="7" fill="white"/></clipPath></defs></svg>');
          mask: url('data:image/svg+xml,<svg width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_597_37)"><path d="M0.000976562 0.957031C0.00155092 0.829738 0.028443 0.703937 0.0800781 0.587585C0.131713 0.471234 0.206897 0.366835 0.300903 0.281006C0.50034 0.100762 0.759625 0.000976563 1.02844 0.000976563C1.29726 0.000976563 1.55655 0.100762 1.75598 0.281006L6.5 4.69104L11.2429 0.281006C11.4424 0.100762 11.7016 0.000976563 11.9705 0.000976563C12.2393 0.000976563 12.4986 0.100762 12.698 0.281006C12.7928 0.366341 12.8686 0.470673 12.9205 0.587219C12.9724 0.703765 12.9993 0.829933 12.9993 0.95752C12.9993 1.08511 12.9724 1.21127 12.9205 1.32782C12.8686 1.44437 12.7928 1.5487 12.698 1.63403L7.22693 6.72101C7.02749 6.90125 6.76821 7.00104 6.49939 7.00104C6.23057 7.00104 5.97141 6.90125 5.77197 6.72101L0.300903 1.63403C0.206773 1.54809 0.131596 1.44356 0.0799561 1.32703C0.0283165 1.21049 0.00141278 1.08449 0.000976562 0.957031Z" fill="%2360A044"/></g><defs><clipPath id="clip0_597_37"><rect width="13" height="7" fill="white"/></clipPath></defs></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-main);
  width: 13px;
  aspect-ratio: 13/7;
}

/* 子メニュー */
.l-drawer-accordion-menu {
  background-color: var(--c-bg-dark);
}

.l-drawer-accordion-menu-item:not(:last-child) {
  border-bottom: solid 1px var(--c-gray-dark);
}

.l-drawer-accordion-menu-item__link {
  padding: 12px 20px 12px 40px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  position: relative;
  width: 100%;
}
.l-drawer-accordion-menu-item__link::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: 20px;
  -webkit-mask: url('data:image/svg+xml,<svg width="7" height="12" viewBox="0 0 7 12" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_599_40)"><path d="M1.00003 12C0.802278 12 0.609018 11.9413 0.444608 11.8315C0.280198 11.7216 0.152053 11.5654 0.076383 11.3827C0.000712968 11.2 -0.0191303 10.999 0.0194372 10.8051C0.0580048 10.6111 0.153248 10.433 0.293058 10.2931L4.58603 6.00004L0.293058 1.70707C0.1109 1.51847 0.0100787 1.2659 0.0123571 1.0037C0.0146356 0.741503 0.119796 0.490622 0.305204 0.305214C0.490612 0.119805 0.741432 0.0146453 1.00363 0.0123669C1.26583 0.0100885 1.51846 0.110971 1.70706 0.293129L6.70706 5.29313C6.89453 5.48066 6.99985 5.73487 6.99985 6.00004C6.99985 6.2652 6.89453 6.51954 6.70706 6.70707L1.70706 11.7071C1.51957 11.8946 1.26522 12 1.00003 12Z" fill="%2360A044"/></g><defs><clipPath id="clip0_599_40"><rect width="7" height="12" fill="white"/></clipPath></defs></svg>');
          mask: url('data:image/svg+xml,<svg width="7" height="12" viewBox="0 0 7 12" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_599_40)"><path d="M1.00003 12C0.802278 12 0.609018 11.9413 0.444608 11.8315C0.280198 11.7216 0.152053 11.5654 0.076383 11.3827C0.000712968 11.2 -0.0191303 10.999 0.0194372 10.8051C0.0580048 10.6111 0.153248 10.433 0.293058 10.2931L4.58603 6.00004L0.293058 1.70707C0.1109 1.51847 0.0100787 1.2659 0.0123571 1.0037C0.0146356 0.741503 0.119796 0.490622 0.305204 0.305214C0.490612 0.119805 0.741432 0.0146453 1.00363 0.0123669C1.26583 0.0100885 1.51846 0.110971 1.70706 0.293129L6.70706 5.29313C6.89453 5.48066 6.99985 5.73487 6.99985 6.00004C6.99985 6.2652 6.89453 6.51954 6.70706 6.70707L1.70706 11.7071C1.51957 11.8946 1.26522 12 1.00003 12Z" fill="%2360A044"/></g><defs><clipPath id="clip0_599_40"><rect width="7" height="12" fill="white"/></clipPath></defs></svg>');
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--c-main);
  width: 7px;
  aspect-ratio: 7/12;
}
.-child .l-drawer-accordion-menu-item__link {
  padding-left: 56px;
  font-weight: 400;
}
.-child .l-drawer-accordion-menu-item__link::before {
  width: 8px;
  height: 2px;
  left: 40px;
  -webkit-mask: none;
          mask: none;
}

/* 	お問い合わせ
---------------------------------------------*/
.l-drawer-contact {
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.l-drawer-contact::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 38px;
  aspect-ratio: 19/23;
  -webkit-mask: url('data:image/svg+xml,<svg width="38" height="46" viewBox="0 0 38 46" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_599_43)"><mask id="mask0_599_43" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="38" height="46"><path d="M38 0H0V46H38V0Z" fill="white"/></mask><g mask="url(%23mask0_599_43)"><path d="M30.7304 42.3803C26.7084 41.6732 22.8651 40.1807 19.42 37.9882C15.9748 35.7957 12.9953 32.946 10.6516 29.6019C8.30785 26.2578 6.6458 22.4847 5.76034 18.4982C4.87489 14.5118 4.78338 10.3899 5.49103 6.36801C5.5538 6.00902 5.73657 5.68196 6.00942 5.44037C6.28227 5.19877 6.62905 5.05695 6.993 5.03811L14.1363 4.66163C14.5134 4.64264 14.8852 4.75696 15.1865 4.98456C15.4878 5.21216 15.6994 5.53852 15.7842 5.90648L17.6519 13.8513C17.731 14.1906 17.6977 14.5465 17.5571 14.8653C17.4164 15.1842 17.176 15.4487 16.8721 15.6191L12.2956 18.189C13.8156 23.7556 17.2249 28.6201 21.9388 31.9482L25.916 28.5232C26.1799 28.2957 26.5106 28.16 26.8582 28.1365C27.2059 28.1131 27.5518 28.2033 27.8438 28.3934L34.6786 32.8655C34.9943 33.0719 35.2274 33.3826 35.3372 33.7435C35.447 34.1043 35.4265 34.4923 35.2792 34.8395L32.4924 41.4214C32.3504 41.7564 32.0991 42.0333 31.7794 42.207C31.4597 42.3807 31.0906 42.4409 30.7323 42.3777L30.7304 42.3803Z" stroke="%2360A044" stroke-width="2.00024"/></g></g><defs><clipPath id="clip0_599_43"><rect width="38" height="46" fill="white"/></clipPath></defs></svg>');
          mask: url('data:image/svg+xml,<svg width="38" height="46" viewBox="0 0 38 46" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_599_43)"><mask id="mask0_599_43" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="38" height="46"><path d="M38 0H0V46H38V0Z" fill="white"/></mask><g mask="url(%23mask0_599_43)"><path d="M30.7304 42.3803C26.7084 41.6732 22.8651 40.1807 19.42 37.9882C15.9748 35.7957 12.9953 32.946 10.6516 29.6019C8.30785 26.2578 6.6458 22.4847 5.76034 18.4982C4.87489 14.5118 4.78338 10.3899 5.49103 6.36801C5.5538 6.00902 5.73657 5.68196 6.00942 5.44037C6.28227 5.19877 6.62905 5.05695 6.993 5.03811L14.1363 4.66163C14.5134 4.64264 14.8852 4.75696 15.1865 4.98456C15.4878 5.21216 15.6994 5.53852 15.7842 5.90648L17.6519 13.8513C17.731 14.1906 17.6977 14.5465 17.5571 14.8653C17.4164 15.1842 17.176 15.4487 16.8721 15.6191L12.2956 18.189C13.8156 23.7556 17.2249 28.6201 21.9388 31.9482L25.916 28.5232C26.1799 28.2957 26.5106 28.16 26.8582 28.1365C27.2059 28.1131 27.5518 28.2033 27.8438 28.3934L34.6786 32.8655C34.9943 33.0719 35.2274 33.3826 35.3372 33.7435C35.447 34.1043 35.4265 34.4923 35.2792 34.8395L32.4924 41.4214C32.3504 41.7564 32.0991 42.0333 31.7794 42.207C31.4597 42.3807 31.0906 42.4409 30.7323 42.3777L30.7304 42.3803Z" stroke="%2360A044" stroke-width="2.00024"/></g></g><defs><clipPath id="clip0_599_43"><rect width="38" height="46" fill="white"/></clipPath></defs></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-main);
}

.l-drawer-contact__content {
  padding-right: 20px;
}

.l-drawer-contact__heading {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: var(--c-main);
}

/*---------- 電話 ----------*/
.l-drawer-contact__tel {
  margin-top: 4px;
  font-family: var(--ff-viga);
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: var(--c-main);
}

/*---------- 営業時間 ----------*/
.l-drawer-contact-hours {
  text-align: center;
  margin-top: 12px;
}

.l-drawer-contact-hours__heading,
.l-drawer-contact-hours__body {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: var(--c-main);
}

.l-drawer-contact-hours__heading {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
}

/* ===========================================
 * お問い合わせ
 * ======================================== */
.l-contact {
  padding-top: clamp(3.75rem, 2.045rem + 7.27vw, 7.5rem);
}

.l-contact-catch {
  font-size: clamp(1.25rem, 1.136rem + 0.48vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.8;
  text-align: center;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .l-contact-catch {
    line-height: 1.6;
    gap: 16px;
  }
}
.l-contact-catch em {
  color: var(--c-main);
  font-style: normal;
}
.l-contact-catch .fz-lg {
  font-size: clamp(1.375rem, 1.261rem + 0.48vw, 1.625rem);
}
.l-contact-catch::before, .l-contact-catch::after {
  content: "";
  display: block;
  flex-shrink: 0;
  background-image: url('data:image/svg+xml,<svg width="33" height="48" viewBox="0 0 33 48" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_620_247)"><path d="M32.0029 47.634C31.8321 47.6338 31.6643 47.5898 31.5153 47.5063C31.3663 47.4228 31.2412 47.3026 31.1519 47.157L3.2969 1.50999C3.22899 1.3985 3.18374 1.27469 3.16377 1.14567C3.1438 1.01666 3.1495 0.884967 3.18053 0.758155C3.21156 0.631342 3.26731 0.511902 3.3446 0.406683C3.42188 0.301463 3.51918 0.212534 3.6309 0.144994C3.85703 0.00798099 4.12821 -0.0339039 4.38514 0.0285005C4.64206 0.0909049 4.86382 0.252519 5.0019 0.477994L32.8519 46.124C32.9432 46.2749 32.9927 46.4473 32.9954 46.6237C32.9982 46.8 32.954 46.9739 32.8674 47.1275C32.7808 47.2811 32.6549 47.409 32.5027 47.498C32.3504 47.587 32.1773 47.6339 32.0009 47.634H32.0029Z" fill="%23221815"/><path d="M24.6 48C24.4677 47.9994 24.3368 47.9726 24.2149 47.9211C24.093 47.8696 23.9826 47.7945 23.89 47.7L0.289979 23.877C0.10505 23.6883 0.0023019 23.4341 0.00417557 23.1699C0.00604925 22.9057 0.112393 22.653 0.299979 22.467C0.488659 22.2821 0.742853 22.1793 1.00704 22.1812C1.27123 22.1831 1.52394 22.2894 1.70998 22.477L25.31 46.3C25.4476 46.4404 25.5408 46.6182 25.5779 46.8112C25.615 47.0043 25.5944 47.204 25.5186 47.3854C25.4428 47.5668 25.3153 47.7218 25.1519 47.8311C24.9885 47.9404 24.7966 47.9992 24.6 48Z" fill="%23221815"/></g><defs><clipPath id="clip0_620_247"><rect width="33" height="48" fill="white"/></clipPath></defs></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  width: 33px;
  aspect-ratio: 11/16;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .l-contact-catch::before, .l-contact-catch::after {
    background-image: url('data:image/svg+xml,<svg width="20" height="29" viewBox="0 0 20 29" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_627_282)"><path d="M19.0062 28.791C18.8338 28.7912 18.6643 28.7468 18.5142 28.6622C18.364 28.5776 18.2383 28.4556 18.1492 28.308L1.95017 1.51702C1.88227 1.40461 1.83719 1.27992 1.81748 1.15009C1.79777 1.02025 1.80383 0.887802 1.83531 0.760307C1.86679 0.632811 1.92307 0.512765 2.00094 0.407022C2.07882 0.301279 2.17676 0.211909 2.28917 0.144017C2.40158 0.0761221 2.52626 0.0310333 2.6561 0.0113251C2.78594 -0.00838309 2.91838 -0.0023246 3.04588 0.0291546C3.17338 0.0606337 3.29342 0.116917 3.39916 0.194791C3.50491 0.272665 3.59428 0.370604 3.66217 0.483017L19.8562 27.273C19.9477 27.4246 19.9974 27.5979 20.0001 27.775C20.0027 27.9521 19.9583 28.1267 19.8713 28.281C19.7844 28.4353 19.658 28.5638 19.5051 28.6532C19.3522 28.7426 19.1783 28.7898 19.0012 28.79L19.0062 28.791Z" fill="%23221815"/><path d="M14.5192 29C14.3869 28.9995 14.256 28.9727 14.1342 28.9212C14.0123 28.8697 13.9018 28.7945 13.8092 28.7L0.290223 15.052C0.105294 14.8633 0.00254604 14.6092 0.00441971 14.345C0.00629339 14.0808 0.112637 13.8281 0.300223 13.642C0.488903 13.4571 0.743097 13.3544 1.00729 13.3562C1.27147 13.3581 1.52418 13.4644 1.71022 13.652L15.2292 27.296C15.3668 27.4364 15.46 27.6142 15.4971 27.8073C15.5342 28.0003 15.5136 28.2 15.4378 28.3814C15.3621 28.5628 15.2345 28.7179 15.0712 28.8272C14.9078 28.9365 14.7158 28.9952 14.5192 28.996V29Z" fill="%23221815"/></g><defs><clipPath id="clip0_627_282"><rect width="20" height="29" fill="white"/></clipPath></defs></svg>');
    width: 20px;
    aspect-ratio: 20/29;
  }
}
.l-contact-catch::after {
  transform: scale(-1, 1);
}

/*---------- カードリスト ----------*/
.l-contact-card-list {
  display: grid;
  grid-template-columns: repeat(3, auto);
  margin-top: clamp(1.875rem, 1.591rem + 1.21vw, 2.5rem);
  gap: clamp(0.938rem, 0.653rem + 1.21vw, 1.563rem);
}
@media screen and (max-width: 1024px) {
  .l-contact-card-list {
    grid-template-columns: repeat(2, minmax(160px, 350px));
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin-inline: auto;
  }
}

.l-contact-card {
  background-color: var(--c-main-light);
  padding: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
  padding-bottom: clamp(1rem, 0.602rem + 1.7vw, 1.875rem);
  border-radius: 20px;
  filter: drop-shadow(0px 3px 6px rgba(65, 100, 50, 0.15));
  text-align: center;
  display: grid;
  place-content: center;
}
@media screen and (max-width: 1024px) {
  .l-contact-card:first-child {
    grid-column: 1/3;
    display: flex;
    gap: 28px;
    align-items: center;
  }
  .l-contact-card:first-child > .l-contact-card__icon {
    display: block;
    margin-inline: unset;
    margin-top: 8px;
  }
  .l-contact-card:not(:first-child) .l-contact-card__icon {
    max-height: 38px;
  }
}

.l-contact-card__icon {
  display: grid;
  place-content: center;
  margin-inline: auto;
}

@media screen and (max-width: 1024px) {
  .l-contact-card__tel-wrap {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 26px;
  }
}

/* ボタン */
.l-contact-card-btn {
  min-width: clamp(8.125rem, 5.284rem + 12.12vw, 14.375rem);
  margin-inline: auto;
  margin-top: clamp(0.75rem, 0.523rem + 0.97vw, 1.25rem);
}

.l-contact-card-btn__link {
  font-size: clamp(0.938rem, 0.739rem + 0.85vw, 1.375rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: var(--c-main);
  background-color: var(--c-white);
  border: solid 1px var(--c-white);
  border-radius: calc(infinity * 1px);
  width: 100%;
  padding: clamp(0.5rem, 0.273rem + 0.97vw, 1rem);
  transition: border-color var(--anime-duration), background-color var(--anime-duration), color var(--anime-duration);
}
.l-contact-card-btn__link:hover {
  border-color: var(--c-white);
  background-color: var(--c-main-light);
  color: var(--c-white);
}

/* 電話でお問い合わせ */
.l-contact-card-address {
  margin-top: clamp(0rem, -0.227rem + 0.97vw, 0.5rem);
}
@media screen and (max-width: 1024px) {
  .l-contact-card-address {
    padding-right: 5%;
    text-align: left;
    flex-shrink: 0;
  }
}

.l-contact-card-address__heading {
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: var(--c-white);
}

.l-contact-card-address__tel {
  font-family: var(--ff-viga);
  font-size: clamp(1.875rem, 1.705rem + 0.73vw, 2.25rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: var(--c-white);
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .l-contact-card-address__tel {
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .l-contact-card-address__tel {
    pointer-events: all;
  }
}

@media screen and (max-width: 1024px) {
  .l-contact-card-address-hours {
    margin-top: 4px;
  }
}

.l-contact-card-address-hours__heading,
.l-contact-card-address-hours__body {
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: var(--c-white);
}

.l-contact-card-address-hours__heading {
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 700;
  margin-bottom: 4px;
}

/* ===========================================
 * ボタン
 * ======================================== */
.c-btn {
  width: -moz-fit-content;
  width: fit-content;
}

.c-btn__link {
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: var(--c-white);
  width: 100%;
  background-color: var(--c-black);
  padding: 12px 16px 12px 24px;
  border: solid 1px var(--c-black);
  border-radius: calc(infinity * 1px);
  position: relative;
  transition: background-color var(--anime-duration), color var(--anime-duration);
  display: flex;
  align-items: center;
  gap: 16px;
}
.c-btn__link::after {
  content: "";
  display: block;
  width: 28px;
  aspect-ratio: 1;
  -webkit-mask: url('data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_570_5)"><path d="M14 27.5C21.4558 27.5 27.5 21.4558 27.5 14C27.5 6.54416 21.4558 0.5 14 0.5C6.54416 0.5 0.5 6.54416 0.5 14C0.5 21.4558 6.54416 27.5 14 27.5Z" stroke="white"/><path d="M18.692 13.968L15.95 11.229V13.501H8.51001V14.44H15.95V16.712L18.692 13.968Z" fill="white"/></g><defs><clipPath id="clip0_570_5"><rect width="28" height="28" fill="white"/></clipPath></defs></svg>');
          mask: url('data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_570_5)"><path d="M14 27.5C21.4558 27.5 27.5 21.4558 27.5 14C27.5 6.54416 21.4558 0.5 14 0.5C6.54416 0.5 0.5 6.54416 0.5 14C0.5 21.4558 6.54416 27.5 14 27.5Z" stroke="white"/><path d="M18.692 13.968L15.95 11.229V13.501H8.51001V14.44H15.95V16.712L18.692 13.968Z" fill="white"/></g><defs><clipPath id="clip0_570_5"><rect width="28" height="28" fill="white"/></clipPath></defs></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-white);
  transition: background-color var(--anime-duration);
}
.c-btn__link:hover {
  background-color: var(--c-white);
  color: var(--c-font);
}
.c-btn__link:hover::after {
  background-color: var(--c-font);
}

.c-grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns, 12), 1fr);
  row-gap: var(--grid-row-gap, 0);
  -moz-column-gap: min(var(--grid-column-gap, 0), 9.0909090909%);
       column-gap: min(var(--grid-column-gap, 0), 9.0909090909%);
}

.c-grid__item {
  display: flex;
  flex-direction: column;
}
.c-grid__item > * {
  min-height: 0;
  min-width: 0%;
}

.c-grid[data-columns~="1"] {
  --grid-columns: 1;
}
.c-grid[data-columns~="2"] {
  --grid-columns: 2;
}
.c-grid[data-columns~="3"] {
  --grid-columns: 3;
}
.c-grid[data-columns~="4"] {
  --grid-columns: 4;
}
.c-grid[data-columns~="5"] {
  --grid-columns: 5;
}
.c-grid[data-columns~="6"] {
  --grid-columns: 6;
}
.c-grid[data-columns~="7"] {
  --grid-columns: 7;
}
.c-grid[data-columns~="8"] {
  --grid-columns: 8;
}
.c-grid[data-columns~="9"] {
  --grid-columns: 9;
}
.c-grid[data-columns~="10"] {
  --grid-columns: 10;
}
.c-grid[data-columns~="11"] {
  --grid-columns: 11;
}
.c-grid[data-columns~="12"] {
  --grid-columns: 12;
}
@media (max-width: 1400px) {
  .c-grid[data-columns~="xl:1"] {
    --grid-columns: 1;
  }
  .c-grid[data-columns~="xl:2"] {
    --grid-columns: 2;
  }
  .c-grid[data-columns~="xl:3"] {
    --grid-columns: 3;
  }
  .c-grid[data-columns~="xl:4"] {
    --grid-columns: 4;
  }
  .c-grid[data-columns~="xl:5"] {
    --grid-columns: 5;
  }
  .c-grid[data-columns~="xl:6"] {
    --grid-columns: 6;
  }
  .c-grid[data-columns~="xl:7"] {
    --grid-columns: 7;
  }
  .c-grid[data-columns~="xl:8"] {
    --grid-columns: 8;
  }
  .c-grid[data-columns~="xl:9"] {
    --grid-columns: 9;
  }
  .c-grid[data-columns~="xl:10"] {
    --grid-columns: 10;
  }
  .c-grid[data-columns~="xl:11"] {
    --grid-columns: 11;
  }
  .c-grid[data-columns~="xl:12"] {
    --grid-columns: 12;
  }
}
@media (max-width: 1280px) {
  .c-grid[data-columns~="lg:1"] {
    --grid-columns: 1;
  }
  .c-grid[data-columns~="lg:2"] {
    --grid-columns: 2;
  }
  .c-grid[data-columns~="lg:3"] {
    --grid-columns: 3;
  }
  .c-grid[data-columns~="lg:4"] {
    --grid-columns: 4;
  }
  .c-grid[data-columns~="lg:5"] {
    --grid-columns: 5;
  }
  .c-grid[data-columns~="lg:6"] {
    --grid-columns: 6;
  }
  .c-grid[data-columns~="lg:7"] {
    --grid-columns: 7;
  }
  .c-grid[data-columns~="lg:8"] {
    --grid-columns: 8;
  }
  .c-grid[data-columns~="lg:9"] {
    --grid-columns: 9;
  }
  .c-grid[data-columns~="lg:10"] {
    --grid-columns: 10;
  }
  .c-grid[data-columns~="lg:11"] {
    --grid-columns: 11;
  }
  .c-grid[data-columns~="lg:12"] {
    --grid-columns: 12;
  }
}
@media (max-width: 1024px) {
  .c-grid[data-columns~="md:1"] {
    --grid-columns: 1;
  }
  .c-grid[data-columns~="md:2"] {
    --grid-columns: 2;
  }
  .c-grid[data-columns~="md:3"] {
    --grid-columns: 3;
  }
  .c-grid[data-columns~="md:4"] {
    --grid-columns: 4;
  }
  .c-grid[data-columns~="md:5"] {
    --grid-columns: 5;
  }
  .c-grid[data-columns~="md:6"] {
    --grid-columns: 6;
  }
  .c-grid[data-columns~="md:7"] {
    --grid-columns: 7;
  }
  .c-grid[data-columns~="md:8"] {
    --grid-columns: 8;
  }
  .c-grid[data-columns~="md:9"] {
    --grid-columns: 9;
  }
  .c-grid[data-columns~="md:10"] {
    --grid-columns: 10;
  }
  .c-grid[data-columns~="md:11"] {
    --grid-columns: 11;
  }
  .c-grid[data-columns~="md:12"] {
    --grid-columns: 12;
  }
}
@media (max-width: 768px) {
  .c-grid[data-columns~="sm:1"] {
    --grid-columns: 1;
  }
  .c-grid[data-columns~="sm:2"] {
    --grid-columns: 2;
  }
  .c-grid[data-columns~="sm:3"] {
    --grid-columns: 3;
  }
  .c-grid[data-columns~="sm:4"] {
    --grid-columns: 4;
  }
  .c-grid[data-columns~="sm:5"] {
    --grid-columns: 5;
  }
  .c-grid[data-columns~="sm:6"] {
    --grid-columns: 6;
  }
  .c-grid[data-columns~="sm:7"] {
    --grid-columns: 7;
  }
  .c-grid[data-columns~="sm:8"] {
    --grid-columns: 8;
  }
  .c-grid[data-columns~="sm:9"] {
    --grid-columns: 9;
  }
  .c-grid[data-columns~="sm:10"] {
    --grid-columns: 10;
  }
  .c-grid[data-columns~="sm:11"] {
    --grid-columns: 11;
  }
  .c-grid[data-columns~="sm:12"] {
    --grid-columns: 12;
  }
}
@media (max-width: 480px) {
  .c-grid[data-columns~="xs:1"] {
    --grid-columns: 1;
  }
  .c-grid[data-columns~="xs:2"] {
    --grid-columns: 2;
  }
  .c-grid[data-columns~="xs:3"] {
    --grid-columns: 3;
  }
  .c-grid[data-columns~="xs:4"] {
    --grid-columns: 4;
  }
  .c-grid[data-columns~="xs:5"] {
    --grid-columns: 5;
  }
  .c-grid[data-columns~="xs:6"] {
    --grid-columns: 6;
  }
  .c-grid[data-columns~="xs:7"] {
    --grid-columns: 7;
  }
  .c-grid[data-columns~="xs:8"] {
    --grid-columns: 8;
  }
  .c-grid[data-columns~="xs:9"] {
    --grid-columns: 9;
  }
  .c-grid[data-columns~="xs:10"] {
    --grid-columns: 10;
  }
  .c-grid[data-columns~="xs:11"] {
    --grid-columns: 11;
  }
  .c-grid[data-columns~="xs:12"] {
    --grid-columns: 12;
  }
}

.c-grid[data-gap~="0"] {
  --grid-row-gap: 0px;
  --grid-column-gap: 0px;
}
.c-grid[data-gap~=x-0] {
  --grid-column-gap: 0px;
}
.c-grid[data-gap~=y-0] {
  --grid-row-gap: 0px;
}
.c-grid[data-gap~=xxs] {
  --grid-row-gap: 0.5rem;
  --grid-column-gap: 0.5rem;
}
.c-grid[data-gap~=x-xxs] {
  --grid-column-gap: 0.5rem;
}
.c-grid[data-gap~=y-xxs] {
  --grid-row-gap: 0.5rem;
}
.c-grid[data-gap~=xs] {
  --grid-row-gap: 1rem;
  --grid-column-gap: 1rem;
}
.c-grid[data-gap~=x-xs] {
  --grid-column-gap: 1rem;
}
.c-grid[data-gap~=y-xs] {
  --grid-row-gap: 1rem;
}
.c-grid[data-gap~=sm] {
  --grid-row-gap: 1.5rem;
  --grid-column-gap: 1.5rem;
}
.c-grid[data-gap~=x-sm] {
  --grid-column-gap: 1.5rem;
}
.c-grid[data-gap~=y-sm] {
  --grid-row-gap: 1.5rem;
}
.c-grid[data-gap~=md] {
  --grid-row-gap: 2rem;
  --grid-column-gap: 2rem;
}
.c-grid[data-gap~=x-md] {
  --grid-column-gap: 2rem;
}
.c-grid[data-gap~=y-md] {
  --grid-row-gap: 2rem;
}
.c-grid[data-gap~=lg] {
  --grid-row-gap: 2.5rem;
  --grid-column-gap: 2.5rem;
}
.c-grid[data-gap~=x-lg] {
  --grid-column-gap: 2.5rem;
}
.c-grid[data-gap~=y-lg] {
  --grid-row-gap: 2.5rem;
}
.c-grid[data-gap~=xl] {
  --grid-row-gap: 3rem;
  --grid-column-gap: 3rem;
}
.c-grid[data-gap~=x-xl] {
  --grid-column-gap: 3rem;
}
.c-grid[data-gap~=y-xl] {
  --grid-row-gap: 3rem;
}
.c-grid[data-gap~=xxl] {
  --grid-row-gap: 4rem;
  --grid-column-gap: 4rem;
}
.c-grid[data-gap~=x-xxl] {
  --grid-column-gap: 4rem;
}
.c-grid[data-gap~=y-xxl] {
  --grid-row-gap: 4rem;
}
@media (max-width: 1400px) {
  .c-grid[data-gap~="xl:0"] {
    --grid-row-gap: 0px;
    --grid-column-gap: 0px;
  }
  .c-grid[data-gap~="xl:x-0"] {
    --grid-column-gap: 0px;
  }
  .c-grid[data-gap~="xl:y-0"] {
    --grid-row-gap: 0px;
  }
  .c-grid[data-gap~="xl:xxs"] {
    --grid-row-gap: 0.5rem;
    --grid-column-gap: 0.5rem;
  }
  .c-grid[data-gap~="xl:x-xxs"] {
    --grid-column-gap: 0.5rem;
  }
  .c-grid[data-gap~="xl:y-xxs"] {
    --grid-row-gap: 0.5rem;
  }
  .c-grid[data-gap~="xl:xs"] {
    --grid-row-gap: 1rem;
    --grid-column-gap: 1rem;
  }
  .c-grid[data-gap~="xl:x-xs"] {
    --grid-column-gap: 1rem;
  }
  .c-grid[data-gap~="xl:y-xs"] {
    --grid-row-gap: 1rem;
  }
  .c-grid[data-gap~="xl:sm"] {
    --grid-row-gap: 1.5rem;
    --grid-column-gap: 1.5rem;
  }
  .c-grid[data-gap~="xl:x-sm"] {
    --grid-column-gap: 1.5rem;
  }
  .c-grid[data-gap~="xl:y-sm"] {
    --grid-row-gap: 1.5rem;
  }
  .c-grid[data-gap~="xl:md"] {
    --grid-row-gap: 2rem;
    --grid-column-gap: 2rem;
  }
  .c-grid[data-gap~="xl:x-md"] {
    --grid-column-gap: 2rem;
  }
  .c-grid[data-gap~="xl:y-md"] {
    --grid-row-gap: 2rem;
  }
  .c-grid[data-gap~="xl:lg"] {
    --grid-row-gap: 2.5rem;
    --grid-column-gap: 2.5rem;
  }
  .c-grid[data-gap~="xl:x-lg"] {
    --grid-column-gap: 2.5rem;
  }
  .c-grid[data-gap~="xl:y-lg"] {
    --grid-row-gap: 2.5rem;
  }
  .c-grid[data-gap~="xl:xl"] {
    --grid-row-gap: 3rem;
    --grid-column-gap: 3rem;
  }
  .c-grid[data-gap~="xl:x-xl"] {
    --grid-column-gap: 3rem;
  }
  .c-grid[data-gap~="xl:y-xl"] {
    --grid-row-gap: 3rem;
  }
  .c-grid[data-gap~="xl:xxl"] {
    --grid-row-gap: 4rem;
    --grid-column-gap: 4rem;
  }
  .c-grid[data-gap~="xl:x-xxl"] {
    --grid-column-gap: 4rem;
  }
  .c-grid[data-gap~="xl:y-xxl"] {
    --grid-row-gap: 4rem;
  }
}
@media (max-width: 1280px) {
  .c-grid[data-gap~="lg:0"] {
    --grid-row-gap: 0px;
    --grid-column-gap: 0px;
  }
  .c-grid[data-gap~="lg:x-0"] {
    --grid-column-gap: 0px;
  }
  .c-grid[data-gap~="lg:y-0"] {
    --grid-row-gap: 0px;
  }
  .c-grid[data-gap~="lg:xxs"] {
    --grid-row-gap: 0.5rem;
    --grid-column-gap: 0.5rem;
  }
  .c-grid[data-gap~="lg:x-xxs"] {
    --grid-column-gap: 0.5rem;
  }
  .c-grid[data-gap~="lg:y-xxs"] {
    --grid-row-gap: 0.5rem;
  }
  .c-grid[data-gap~="lg:xs"] {
    --grid-row-gap: 1rem;
    --grid-column-gap: 1rem;
  }
  .c-grid[data-gap~="lg:x-xs"] {
    --grid-column-gap: 1rem;
  }
  .c-grid[data-gap~="lg:y-xs"] {
    --grid-row-gap: 1rem;
  }
  .c-grid[data-gap~="lg:sm"] {
    --grid-row-gap: 1.5rem;
    --grid-column-gap: 1.5rem;
  }
  .c-grid[data-gap~="lg:x-sm"] {
    --grid-column-gap: 1.5rem;
  }
  .c-grid[data-gap~="lg:y-sm"] {
    --grid-row-gap: 1.5rem;
  }
  .c-grid[data-gap~="lg:md"] {
    --grid-row-gap: 2rem;
    --grid-column-gap: 2rem;
  }
  .c-grid[data-gap~="lg:x-md"] {
    --grid-column-gap: 2rem;
  }
  .c-grid[data-gap~="lg:y-md"] {
    --grid-row-gap: 2rem;
  }
  .c-grid[data-gap~="lg:lg"] {
    --grid-row-gap: 2.5rem;
    --grid-column-gap: 2.5rem;
  }
  .c-grid[data-gap~="lg:x-lg"] {
    --grid-column-gap: 2.5rem;
  }
  .c-grid[data-gap~="lg:y-lg"] {
    --grid-row-gap: 2.5rem;
  }
  .c-grid[data-gap~="lg:xl"] {
    --grid-row-gap: 3rem;
    --grid-column-gap: 3rem;
  }
  .c-grid[data-gap~="lg:x-xl"] {
    --grid-column-gap: 3rem;
  }
  .c-grid[data-gap~="lg:y-xl"] {
    --grid-row-gap: 3rem;
  }
  .c-grid[data-gap~="lg:xxl"] {
    --grid-row-gap: 4rem;
    --grid-column-gap: 4rem;
  }
  .c-grid[data-gap~="lg:x-xxl"] {
    --grid-column-gap: 4rem;
  }
  .c-grid[data-gap~="lg:y-xxl"] {
    --grid-row-gap: 4rem;
  }
}
@media (max-width: 1024px) {
  .c-grid[data-gap~="md:0"] {
    --grid-row-gap: 0px;
    --grid-column-gap: 0px;
  }
  .c-grid[data-gap~="md:x-0"] {
    --grid-column-gap: 0px;
  }
  .c-grid[data-gap~="md:y-0"] {
    --grid-row-gap: 0px;
  }
  .c-grid[data-gap~="md:xxs"] {
    --grid-row-gap: 0.5rem;
    --grid-column-gap: 0.5rem;
  }
  .c-grid[data-gap~="md:x-xxs"] {
    --grid-column-gap: 0.5rem;
  }
  .c-grid[data-gap~="md:y-xxs"] {
    --grid-row-gap: 0.5rem;
  }
  .c-grid[data-gap~="md:xs"] {
    --grid-row-gap: 1rem;
    --grid-column-gap: 1rem;
  }
  .c-grid[data-gap~="md:x-xs"] {
    --grid-column-gap: 1rem;
  }
  .c-grid[data-gap~="md:y-xs"] {
    --grid-row-gap: 1rem;
  }
  .c-grid[data-gap~="md:sm"] {
    --grid-row-gap: 1.5rem;
    --grid-column-gap: 1.5rem;
  }
  .c-grid[data-gap~="md:x-sm"] {
    --grid-column-gap: 1.5rem;
  }
  .c-grid[data-gap~="md:y-sm"] {
    --grid-row-gap: 1.5rem;
  }
  .c-grid[data-gap~="md:md"] {
    --grid-row-gap: 2rem;
    --grid-column-gap: 2rem;
  }
  .c-grid[data-gap~="md:x-md"] {
    --grid-column-gap: 2rem;
  }
  .c-grid[data-gap~="md:y-md"] {
    --grid-row-gap: 2rem;
  }
  .c-grid[data-gap~="md:lg"] {
    --grid-row-gap: 2.5rem;
    --grid-column-gap: 2.5rem;
  }
  .c-grid[data-gap~="md:x-lg"] {
    --grid-column-gap: 2.5rem;
  }
  .c-grid[data-gap~="md:y-lg"] {
    --grid-row-gap: 2.5rem;
  }
  .c-grid[data-gap~="md:xl"] {
    --grid-row-gap: 3rem;
    --grid-column-gap: 3rem;
  }
  .c-grid[data-gap~="md:x-xl"] {
    --grid-column-gap: 3rem;
  }
  .c-grid[data-gap~="md:y-xl"] {
    --grid-row-gap: 3rem;
  }
  .c-grid[data-gap~="md:xxl"] {
    --grid-row-gap: 4rem;
    --grid-column-gap: 4rem;
  }
  .c-grid[data-gap~="md:x-xxl"] {
    --grid-column-gap: 4rem;
  }
  .c-grid[data-gap~="md:y-xxl"] {
    --grid-row-gap: 4rem;
  }
}
@media (max-width: 768px) {
  .c-grid[data-gap~="sm:0"] {
    --grid-row-gap: 0px;
    --grid-column-gap: 0px;
  }
  .c-grid[data-gap~="sm:x-0"] {
    --grid-column-gap: 0px;
  }
  .c-grid[data-gap~="sm:y-0"] {
    --grid-row-gap: 0px;
  }
  .c-grid[data-gap~="sm:xxs"] {
    --grid-row-gap: 0.5rem;
    --grid-column-gap: 0.5rem;
  }
  .c-grid[data-gap~="sm:x-xxs"] {
    --grid-column-gap: 0.5rem;
  }
  .c-grid[data-gap~="sm:y-xxs"] {
    --grid-row-gap: 0.5rem;
  }
  .c-grid[data-gap~="sm:xs"] {
    --grid-row-gap: 1rem;
    --grid-column-gap: 1rem;
  }
  .c-grid[data-gap~="sm:x-xs"] {
    --grid-column-gap: 1rem;
  }
  .c-grid[data-gap~="sm:y-xs"] {
    --grid-row-gap: 1rem;
  }
  .c-grid[data-gap~="sm:sm"] {
    --grid-row-gap: 1.5rem;
    --grid-column-gap: 1.5rem;
  }
  .c-grid[data-gap~="sm:x-sm"] {
    --grid-column-gap: 1.5rem;
  }
  .c-grid[data-gap~="sm:y-sm"] {
    --grid-row-gap: 1.5rem;
  }
  .c-grid[data-gap~="sm:md"] {
    --grid-row-gap: 2rem;
    --grid-column-gap: 2rem;
  }
  .c-grid[data-gap~="sm:x-md"] {
    --grid-column-gap: 2rem;
  }
  .c-grid[data-gap~="sm:y-md"] {
    --grid-row-gap: 2rem;
  }
  .c-grid[data-gap~="sm:lg"] {
    --grid-row-gap: 2.5rem;
    --grid-column-gap: 2.5rem;
  }
  .c-grid[data-gap~="sm:x-lg"] {
    --grid-column-gap: 2.5rem;
  }
  .c-grid[data-gap~="sm:y-lg"] {
    --grid-row-gap: 2.5rem;
  }
  .c-grid[data-gap~="sm:xl"] {
    --grid-row-gap: 3rem;
    --grid-column-gap: 3rem;
  }
  .c-grid[data-gap~="sm:x-xl"] {
    --grid-column-gap: 3rem;
  }
  .c-grid[data-gap~="sm:y-xl"] {
    --grid-row-gap: 3rem;
  }
  .c-grid[data-gap~="sm:xxl"] {
    --grid-row-gap: 4rem;
    --grid-column-gap: 4rem;
  }
  .c-grid[data-gap~="sm:x-xxl"] {
    --grid-column-gap: 4rem;
  }
  .c-grid[data-gap~="sm:y-xxl"] {
    --grid-row-gap: 4rem;
  }
}
@media (max-width: 480px) {
  .c-grid[data-gap~="xs:0"] {
    --grid-row-gap: 0px;
    --grid-column-gap: 0px;
  }
  .c-grid[data-gap~="xs:x-0"] {
    --grid-column-gap: 0px;
  }
  .c-grid[data-gap~="xs:y-0"] {
    --grid-row-gap: 0px;
  }
  .c-grid[data-gap~="xs:xxs"] {
    --grid-row-gap: 0.5rem;
    --grid-column-gap: 0.5rem;
  }
  .c-grid[data-gap~="xs:x-xxs"] {
    --grid-column-gap: 0.5rem;
  }
  .c-grid[data-gap~="xs:y-xxs"] {
    --grid-row-gap: 0.5rem;
  }
  .c-grid[data-gap~="xs:xs"] {
    --grid-row-gap: 1rem;
    --grid-column-gap: 1rem;
  }
  .c-grid[data-gap~="xs:x-xs"] {
    --grid-column-gap: 1rem;
  }
  .c-grid[data-gap~="xs:y-xs"] {
    --grid-row-gap: 1rem;
  }
  .c-grid[data-gap~="xs:sm"] {
    --grid-row-gap: 1.5rem;
    --grid-column-gap: 1.5rem;
  }
  .c-grid[data-gap~="xs:x-sm"] {
    --grid-column-gap: 1.5rem;
  }
  .c-grid[data-gap~="xs:y-sm"] {
    --grid-row-gap: 1.5rem;
  }
  .c-grid[data-gap~="xs:md"] {
    --grid-row-gap: 2rem;
    --grid-column-gap: 2rem;
  }
  .c-grid[data-gap~="xs:x-md"] {
    --grid-column-gap: 2rem;
  }
  .c-grid[data-gap~="xs:y-md"] {
    --grid-row-gap: 2rem;
  }
  .c-grid[data-gap~="xs:lg"] {
    --grid-row-gap: 2.5rem;
    --grid-column-gap: 2.5rem;
  }
  .c-grid[data-gap~="xs:x-lg"] {
    --grid-column-gap: 2.5rem;
  }
  .c-grid[data-gap~="xs:y-lg"] {
    --grid-row-gap: 2.5rem;
  }
  .c-grid[data-gap~="xs:xl"] {
    --grid-row-gap: 3rem;
    --grid-column-gap: 3rem;
  }
  .c-grid[data-gap~="xs:x-xl"] {
    --grid-column-gap: 3rem;
  }
  .c-grid[data-gap~="xs:y-xl"] {
    --grid-row-gap: 3rem;
  }
  .c-grid[data-gap~="xs:xxl"] {
    --grid-row-gap: 4rem;
    --grid-column-gap: 4rem;
  }
  .c-grid[data-gap~="xs:x-xxl"] {
    --grid-column-gap: 4rem;
  }
  .c-grid[data-gap~="xs:y-xxl"] {
    --grid-row-gap: 4rem;
  }
}

.c-grid__item[data-span~="1"] {
  grid-column: span 1;
}
.c-grid__item[data-span~="2"] {
  grid-column: span 2;
}
.c-grid__item[data-span~="3"] {
  grid-column: span 3;
}
.c-grid__item[data-span~="4"] {
  grid-column: span 4;
}
.c-grid__item[data-span~="5"] {
  grid-column: span 5;
}
.c-grid__item[data-span~="6"] {
  grid-column: span 6;
}
.c-grid__item[data-span~="7"] {
  grid-column: span 7;
}
.c-grid__item[data-span~="8"] {
  grid-column: span 8;
}
.c-grid__item[data-span~="9"] {
  grid-column: span 9;
}
.c-grid__item[data-span~="10"] {
  grid-column: span 10;
}
.c-grid__item[data-span~="11"] {
  grid-column: span 11;
}
.c-grid__item[data-span~="12"] {
  grid-column: span 12;
}
@media (max-width: 1400px) {
  .c-grid__item[data-span~="xl:1"] {
    grid-column: span 1;
  }
  .c-grid__item[data-span~="xl:2"] {
    grid-column: span 2;
  }
  .c-grid__item[data-span~="xl:3"] {
    grid-column: span 3;
  }
  .c-grid__item[data-span~="xl:4"] {
    grid-column: span 4;
  }
  .c-grid__item[data-span~="xl:5"] {
    grid-column: span 5;
  }
  .c-grid__item[data-span~="xl:6"] {
    grid-column: span 6;
  }
  .c-grid__item[data-span~="xl:7"] {
    grid-column: span 7;
  }
  .c-grid__item[data-span~="xl:8"] {
    grid-column: span 8;
  }
  .c-grid__item[data-span~="xl:9"] {
    grid-column: span 9;
  }
  .c-grid__item[data-span~="xl:10"] {
    grid-column: span 10;
  }
  .c-grid__item[data-span~="xl:11"] {
    grid-column: span 11;
  }
  .c-grid__item[data-span~="xl:12"] {
    grid-column: span 12;
  }
}
@media (max-width: 1280px) {
  .c-grid__item[data-span~="lg:1"] {
    grid-column: span 1;
  }
  .c-grid__item[data-span~="lg:2"] {
    grid-column: span 2;
  }
  .c-grid__item[data-span~="lg:3"] {
    grid-column: span 3;
  }
  .c-grid__item[data-span~="lg:4"] {
    grid-column: span 4;
  }
  .c-grid__item[data-span~="lg:5"] {
    grid-column: span 5;
  }
  .c-grid__item[data-span~="lg:6"] {
    grid-column: span 6;
  }
  .c-grid__item[data-span~="lg:7"] {
    grid-column: span 7;
  }
  .c-grid__item[data-span~="lg:8"] {
    grid-column: span 8;
  }
  .c-grid__item[data-span~="lg:9"] {
    grid-column: span 9;
  }
  .c-grid__item[data-span~="lg:10"] {
    grid-column: span 10;
  }
  .c-grid__item[data-span~="lg:11"] {
    grid-column: span 11;
  }
  .c-grid__item[data-span~="lg:12"] {
    grid-column: span 12;
  }
}
@media (max-width: 1024px) {
  .c-grid__item[data-span~="md:1"] {
    grid-column: span 1;
  }
  .c-grid__item[data-span~="md:2"] {
    grid-column: span 2;
  }
  .c-grid__item[data-span~="md:3"] {
    grid-column: span 3;
  }
  .c-grid__item[data-span~="md:4"] {
    grid-column: span 4;
  }
  .c-grid__item[data-span~="md:5"] {
    grid-column: span 5;
  }
  .c-grid__item[data-span~="md:6"] {
    grid-column: span 6;
  }
  .c-grid__item[data-span~="md:7"] {
    grid-column: span 7;
  }
  .c-grid__item[data-span~="md:8"] {
    grid-column: span 8;
  }
  .c-grid__item[data-span~="md:9"] {
    grid-column: span 9;
  }
  .c-grid__item[data-span~="md:10"] {
    grid-column: span 10;
  }
  .c-grid__item[data-span~="md:11"] {
    grid-column: span 11;
  }
  .c-grid__item[data-span~="md:12"] {
    grid-column: span 12;
  }
}
@media (max-width: 768px) {
  .c-grid__item[data-span~="sm:1"] {
    grid-column: span 1;
  }
  .c-grid__item[data-span~="sm:2"] {
    grid-column: span 2;
  }
  .c-grid__item[data-span~="sm:3"] {
    grid-column: span 3;
  }
  .c-grid__item[data-span~="sm:4"] {
    grid-column: span 4;
  }
  .c-grid__item[data-span~="sm:5"] {
    grid-column: span 5;
  }
  .c-grid__item[data-span~="sm:6"] {
    grid-column: span 6;
  }
  .c-grid__item[data-span~="sm:7"] {
    grid-column: span 7;
  }
  .c-grid__item[data-span~="sm:8"] {
    grid-column: span 8;
  }
  .c-grid__item[data-span~="sm:9"] {
    grid-column: span 9;
  }
  .c-grid__item[data-span~="sm:10"] {
    grid-column: span 10;
  }
  .c-grid__item[data-span~="sm:11"] {
    grid-column: span 11;
  }
  .c-grid__item[data-span~="sm:12"] {
    grid-column: span 12;
  }
}
@media (max-width: 480px) {
  .c-grid__item[data-span~="xs:1"] {
    grid-column: span 1;
  }
  .c-grid__item[data-span~="xs:2"] {
    grid-column: span 2;
  }
  .c-grid__item[data-span~="xs:3"] {
    grid-column: span 3;
  }
  .c-grid__item[data-span~="xs:4"] {
    grid-column: span 4;
  }
  .c-grid__item[data-span~="xs:5"] {
    grid-column: span 5;
  }
  .c-grid__item[data-span~="xs:6"] {
    grid-column: span 6;
  }
  .c-grid__item[data-span~="xs:7"] {
    grid-column: span 7;
  }
  .c-grid__item[data-span~="xs:8"] {
    grid-column: span 8;
  }
  .c-grid__item[data-span~="xs:9"] {
    grid-column: span 9;
  }
  .c-grid__item[data-span~="xs:10"] {
    grid-column: span 10;
  }
  .c-grid__item[data-span~="xs:11"] {
    grid-column: span 11;
  }
  .c-grid__item[data-span~="xs:12"] {
    grid-column: span 12;
  }
}

.c-grid[data-align~=start] {
  justify-content: start;
}
.c-grid[data-align~=center] {
  justify-content: center;
}
.c-grid[data-align~=end] {
  justify-content: end;
}
.c-grid[data-align~=justify] {
  justify-content: space-between;
}
.c-grid[data-align~=top] {
  align-items: start;
}
.c-grid[data-align~=middle] {
  align-items: center;
}
.c-grid[data-align~=bottom] {
  align-items: end;
}
.c-grid__item[data-align~=start] {
  align-items: flex-start;
}
.c-grid__item[data-align~=center] {
  align-items: center;
}
.c-grid__item[data-align~=end] {
  align-items: flex-end;
}
.c-grid__item[data-align~=top] {
  justify-content: flex-start;
  align-self: stretch;
}
.c-grid__item[data-align~=middle] {
  justify-content: center;
  align-self: stretch;
}
.c-grid__item[data-align~=bottom] {
  justify-content: flex-end;
  align-self: stretch;
}
@media (max-width: 1400px) {
  .c-grid[data-align~="xl:start"] {
    justify-content: start;
  }
  .c-grid[data-align~="xl:center"] {
    justify-content: center;
  }
  .c-grid[data-align~="xl:end"] {
    justify-content: end;
  }
  .c-grid[data-align~="xl:justify"] {
    justify-content: space-between;
  }
  .c-grid[data-align~="xl:top"] {
    align-items: start;
  }
  .c-grid[data-align~="xl:middle"] {
    align-items: center;
  }
  .c-grid[data-align~="xl:bottom"] {
    align-items: end;
  }
}
@media (max-width: 1280px) {
  .c-grid[data-align~="lg:start"] {
    justify-content: start;
  }
  .c-grid[data-align~="lg:center"] {
    justify-content: center;
  }
  .c-grid[data-align~="lg:end"] {
    justify-content: end;
  }
  .c-grid[data-align~="lg:justify"] {
    justify-content: space-between;
  }
  .c-grid[data-align~="lg:top"] {
    align-items: start;
  }
  .c-grid[data-align~="lg:middle"] {
    align-items: center;
  }
  .c-grid[data-align~="lg:bottom"] {
    align-items: end;
  }
}
@media (max-width: 1024px) {
  .c-grid[data-align~="md:start"] {
    justify-content: start;
  }
  .c-grid[data-align~="md:center"] {
    justify-content: center;
  }
  .c-grid[data-align~="md:end"] {
    justify-content: end;
  }
  .c-grid[data-align~="md:justify"] {
    justify-content: space-between;
  }
  .c-grid[data-align~="md:top"] {
    align-items: start;
  }
  .c-grid[data-align~="md:middle"] {
    align-items: center;
  }
  .c-grid[data-align~="md:bottom"] {
    align-items: end;
  }
}
@media (max-width: 768px) {
  .c-grid[data-align~="sm:start"] {
    justify-content: start;
  }
  .c-grid[data-align~="sm:center"] {
    justify-content: center;
  }
  .c-grid[data-align~="sm:end"] {
    justify-content: end;
  }
  .c-grid[data-align~="sm:justify"] {
    justify-content: space-between;
  }
  .c-grid[data-align~="sm:top"] {
    align-items: start;
  }
  .c-grid[data-align~="sm:middle"] {
    align-items: center;
  }
  .c-grid[data-align~="sm:bottom"] {
    align-items: end;
  }
}
@media (max-width: 480px) {
  .c-grid[data-align~="xs:start"] {
    justify-content: start;
  }
  .c-grid[data-align~="xs:center"] {
    justify-content: center;
  }
  .c-grid[data-align~="xs:end"] {
    justify-content: end;
  }
  .c-grid[data-align~="xs:justify"] {
    justify-content: space-between;
  }
  .c-grid[data-align~="xs:top"] {
    align-items: start;
  }
  .c-grid[data-align~="xs:middle"] {
    align-items: center;
  }
  .c-grid[data-align~="xs:bottom"] {
    align-items: end;
  }
}

.c-grid__item[data-nowrap] {
  flex-shrink: 0;
}

/* ===========================================
 * 見出し
 * ======================================== */
.c-heading {
  font-size: clamp(2rem, 1.602rem + 1.7vw, 2.875rem);
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.4;
}
.c-heading.-white {
  color: var(--c-white);
}

.c-heading-en {
  font-family: var(--ff-en);
  font-size: clamp(2.5rem, 1.705rem + 3.39vw, 4.25rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1;
  text-transform: uppercase;
}
.c-heading-en.js-text-fade-up {
  max-height: clamp(2.5rem, 1.705rem + 3.39vw, 4.25rem);
  overflow: hidden;
}
.c-heading-en.-center {
  width: 100%;
  text-align: center;
}

.c-heading-en + .c-heading {
  font-size: clamp(1.125rem, 1.011rem + 0.48vw, 1.375rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  color: var(--c-main);
  margin-top: clamp(0.5rem, 0.386rem + 0.48vw, 0.75rem);
}

.c-heading-wrap.-center {
  justify-content: center;
}
.c-heading-wrap.-sm .c-heading-en {
  font-size: clamp(2.25rem, 1.909rem + 1.45vw, 3rem);
}
.c-heading-wrap.-sm .c-heading-en.js-text-fade-up {
  max-height: clamp(2.25rem, 1.909rem + 1.45vw, 3rem);
}
.c-heading-wrap.-sm .c-heading {
  font-size: clamp(1.25rem, 1.193rem + 0.24vw, 1.375rem);
}
.c-heading-wrap.-md .c-heading-en {
  font-size: clamp(2.75rem, 2.466rem + 1.21vw, 3.375rem);
}
.c-heading-wrap.-md .c-heading-en.js-text-fade-up {
  max-height: clamp(2.75rem, 2.466rem + 1.21vw, 3.375rem);
}
.c-heading-wrap.-md .c-heading {
  font-size: clamp(1.25rem, 1.193rem + 0.24vw, 1.375rem);
}
.c-heading-wrap.-white .c-heading-en, .c-heading-wrap.-white .c-heading {
  color: var(--c-white);
}
.c-heading-wrap.-horizontal {
  display: flex;
  align-items: center;
  gap: 0 clamp(1.25rem, 0.909rem + 1.45vw, 2rem);
  flex-wrap: wrap;
}
.c-heading-wrap.-horizontal .c-heading {
  margin-bottom: clamp(0.25rem, 0.023rem + 0.97vw, 0.75rem);
}

.c-inner {
  box-sizing: content-box;
  max-width: var(--inner);
  margin-left: auto;
  margin-right: auto;
  padding-right: var(--inner-gutter);
  padding-left: var(--inner-gutter);
}
@media screen and (max-width: 768px) {
  .c-inner {
    padding-right: var(--inner-gutter-sp);
    padding-left: var(--inner-gutter-sp);
  }
}
.c-inner.-xs {
  max-width: var(--inner-xs);
}
.c-inner.-sm {
  max-width: var(--inner-sm);
}
.c-inner.-lg {
  max-width: var(--inner-lg);
}
.c-inner.-xl {
  max-width: var(--inner-xl);
}

.c-flex {
  display: flex;
  row-gap: var(--flex-row-gap, 0);
  -moz-column-gap: var(--flex-column-gap, 0);
       column-gap: var(--flex-column-gap, 0);
}

.c-flex[data-gap~="0"] {
  --flex-row-gap: 0px;
  --flex-column-gap: 0px;
}
.c-flex[data-gap~=x-0] {
  --flex-column-gap: 0px;
}
.c-flex[data-gap~=y-0] {
  --flex-row-gap: 0px;
}
.c-flex[data-gap~=xxs] {
  --flex-row-gap: 0.5rem;
  --flex-column-gap: 0.5rem;
}
.c-flex[data-gap~=x-xxs] {
  --flex-column-gap: 0.5rem;
}
.c-flex[data-gap~=y-xxs] {
  --flex-row-gap: 0.5rem;
}
.c-flex[data-gap~=xs] {
  --flex-row-gap: 1rem;
  --flex-column-gap: 1rem;
}
.c-flex[data-gap~=x-xs] {
  --flex-column-gap: 1rem;
}
.c-flex[data-gap~=y-xs] {
  --flex-row-gap: 1rem;
}
.c-flex[data-gap~=sm] {
  --flex-row-gap: 1.5rem;
  --flex-column-gap: 1.5rem;
}
.c-flex[data-gap~=x-sm] {
  --flex-column-gap: 1.5rem;
}
.c-flex[data-gap~=y-sm] {
  --flex-row-gap: 1.5rem;
}
.c-flex[data-gap~=md] {
  --flex-row-gap: 2rem;
  --flex-column-gap: 2rem;
}
.c-flex[data-gap~=x-md] {
  --flex-column-gap: 2rem;
}
.c-flex[data-gap~=y-md] {
  --flex-row-gap: 2rem;
}
.c-flex[data-gap~=lg] {
  --flex-row-gap: 2.5rem;
  --flex-column-gap: 2.5rem;
}
.c-flex[data-gap~=x-lg] {
  --flex-column-gap: 2.5rem;
}
.c-flex[data-gap~=y-lg] {
  --flex-row-gap: 2.5rem;
}
.c-flex[data-gap~=xl] {
  --flex-row-gap: 3rem;
  --flex-column-gap: 3rem;
}
.c-flex[data-gap~=x-xl] {
  --flex-column-gap: 3rem;
}
.c-flex[data-gap~=y-xl] {
  --flex-row-gap: 3rem;
}
.c-flex[data-gap~=xxl] {
  --flex-row-gap: 4rem;
  --flex-column-gap: 4rem;
}
.c-flex[data-gap~=x-xxl] {
  --flex-column-gap: 4rem;
}
.c-flex[data-gap~=y-xxl] {
  --flex-row-gap: 4rem;
}
@media (max-width: 1400px) {
  .c-flex[data-gap~="xl:0"] {
    --flex-row-gap: 0px;
    --flex-column-gap: 0px;
  }
  .c-flex[data-gap~="xl:x-0"] {
    --flex-column-gap: 0px;
  }
  .c-flex[data-gap~="xl:y-0"] {
    --flex-row-gap: 0px;
  }
  .c-flex[data-gap~="xl:xxs"] {
    --flex-row-gap: 0.5rem;
    --flex-column-gap: 0.5rem;
  }
  .c-flex[data-gap~="xl:x-xxs"] {
    --flex-column-gap: 0.5rem;
  }
  .c-flex[data-gap~="xl:y-xxs"] {
    --flex-row-gap: 0.5rem;
  }
  .c-flex[data-gap~="xl:xs"] {
    --flex-row-gap: 1rem;
    --flex-column-gap: 1rem;
  }
  .c-flex[data-gap~="xl:x-xs"] {
    --flex-column-gap: 1rem;
  }
  .c-flex[data-gap~="xl:y-xs"] {
    --flex-row-gap: 1rem;
  }
  .c-flex[data-gap~="xl:sm"] {
    --flex-row-gap: 1.5rem;
    --flex-column-gap: 1.5rem;
  }
  .c-flex[data-gap~="xl:x-sm"] {
    --flex-column-gap: 1.5rem;
  }
  .c-flex[data-gap~="xl:y-sm"] {
    --flex-row-gap: 1.5rem;
  }
  .c-flex[data-gap~="xl:md"] {
    --flex-row-gap: 2rem;
    --flex-column-gap: 2rem;
  }
  .c-flex[data-gap~="xl:x-md"] {
    --flex-column-gap: 2rem;
  }
  .c-flex[data-gap~="xl:y-md"] {
    --flex-row-gap: 2rem;
  }
  .c-flex[data-gap~="xl:lg"] {
    --flex-row-gap: 2.5rem;
    --flex-column-gap: 2.5rem;
  }
  .c-flex[data-gap~="xl:x-lg"] {
    --flex-column-gap: 2.5rem;
  }
  .c-flex[data-gap~="xl:y-lg"] {
    --flex-row-gap: 2.5rem;
  }
  .c-flex[data-gap~="xl:xl"] {
    --flex-row-gap: 3rem;
    --flex-column-gap: 3rem;
  }
  .c-flex[data-gap~="xl:x-xl"] {
    --flex-column-gap: 3rem;
  }
  .c-flex[data-gap~="xl:y-xl"] {
    --flex-row-gap: 3rem;
  }
  .c-flex[data-gap~="xl:xxl"] {
    --flex-row-gap: 4rem;
    --flex-column-gap: 4rem;
  }
  .c-flex[data-gap~="xl:x-xxl"] {
    --flex-column-gap: 4rem;
  }
  .c-flex[data-gap~="xl:y-xxl"] {
    --flex-row-gap: 4rem;
  }
}
@media (max-width: 1280px) {
  .c-flex[data-gap~="lg:0"] {
    --flex-row-gap: 0px;
    --flex-column-gap: 0px;
  }
  .c-flex[data-gap~="lg:x-0"] {
    --flex-column-gap: 0px;
  }
  .c-flex[data-gap~="lg:y-0"] {
    --flex-row-gap: 0px;
  }
  .c-flex[data-gap~="lg:xxs"] {
    --flex-row-gap: 0.5rem;
    --flex-column-gap: 0.5rem;
  }
  .c-flex[data-gap~="lg:x-xxs"] {
    --flex-column-gap: 0.5rem;
  }
  .c-flex[data-gap~="lg:y-xxs"] {
    --flex-row-gap: 0.5rem;
  }
  .c-flex[data-gap~="lg:xs"] {
    --flex-row-gap: 1rem;
    --flex-column-gap: 1rem;
  }
  .c-flex[data-gap~="lg:x-xs"] {
    --flex-column-gap: 1rem;
  }
  .c-flex[data-gap~="lg:y-xs"] {
    --flex-row-gap: 1rem;
  }
  .c-flex[data-gap~="lg:sm"] {
    --flex-row-gap: 1.5rem;
    --flex-column-gap: 1.5rem;
  }
  .c-flex[data-gap~="lg:x-sm"] {
    --flex-column-gap: 1.5rem;
  }
  .c-flex[data-gap~="lg:y-sm"] {
    --flex-row-gap: 1.5rem;
  }
  .c-flex[data-gap~="lg:md"] {
    --flex-row-gap: 2rem;
    --flex-column-gap: 2rem;
  }
  .c-flex[data-gap~="lg:x-md"] {
    --flex-column-gap: 2rem;
  }
  .c-flex[data-gap~="lg:y-md"] {
    --flex-row-gap: 2rem;
  }
  .c-flex[data-gap~="lg:lg"] {
    --flex-row-gap: 2.5rem;
    --flex-column-gap: 2.5rem;
  }
  .c-flex[data-gap~="lg:x-lg"] {
    --flex-column-gap: 2.5rem;
  }
  .c-flex[data-gap~="lg:y-lg"] {
    --flex-row-gap: 2.5rem;
  }
  .c-flex[data-gap~="lg:xl"] {
    --flex-row-gap: 3rem;
    --flex-column-gap: 3rem;
  }
  .c-flex[data-gap~="lg:x-xl"] {
    --flex-column-gap: 3rem;
  }
  .c-flex[data-gap~="lg:y-xl"] {
    --flex-row-gap: 3rem;
  }
  .c-flex[data-gap~="lg:xxl"] {
    --flex-row-gap: 4rem;
    --flex-column-gap: 4rem;
  }
  .c-flex[data-gap~="lg:x-xxl"] {
    --flex-column-gap: 4rem;
  }
  .c-flex[data-gap~="lg:y-xxl"] {
    --flex-row-gap: 4rem;
  }
}
@media (max-width: 1024px) {
  .c-flex[data-gap~="md:0"] {
    --flex-row-gap: 0px;
    --flex-column-gap: 0px;
  }
  .c-flex[data-gap~="md:x-0"] {
    --flex-column-gap: 0px;
  }
  .c-flex[data-gap~="md:y-0"] {
    --flex-row-gap: 0px;
  }
  .c-flex[data-gap~="md:xxs"] {
    --flex-row-gap: 0.5rem;
    --flex-column-gap: 0.5rem;
  }
  .c-flex[data-gap~="md:x-xxs"] {
    --flex-column-gap: 0.5rem;
  }
  .c-flex[data-gap~="md:y-xxs"] {
    --flex-row-gap: 0.5rem;
  }
  .c-flex[data-gap~="md:xs"] {
    --flex-row-gap: 1rem;
    --flex-column-gap: 1rem;
  }
  .c-flex[data-gap~="md:x-xs"] {
    --flex-column-gap: 1rem;
  }
  .c-flex[data-gap~="md:y-xs"] {
    --flex-row-gap: 1rem;
  }
  .c-flex[data-gap~="md:sm"] {
    --flex-row-gap: 1.5rem;
    --flex-column-gap: 1.5rem;
  }
  .c-flex[data-gap~="md:x-sm"] {
    --flex-column-gap: 1.5rem;
  }
  .c-flex[data-gap~="md:y-sm"] {
    --flex-row-gap: 1.5rem;
  }
  .c-flex[data-gap~="md:md"] {
    --flex-row-gap: 2rem;
    --flex-column-gap: 2rem;
  }
  .c-flex[data-gap~="md:x-md"] {
    --flex-column-gap: 2rem;
  }
  .c-flex[data-gap~="md:y-md"] {
    --flex-row-gap: 2rem;
  }
  .c-flex[data-gap~="md:lg"] {
    --flex-row-gap: 2.5rem;
    --flex-column-gap: 2.5rem;
  }
  .c-flex[data-gap~="md:x-lg"] {
    --flex-column-gap: 2.5rem;
  }
  .c-flex[data-gap~="md:y-lg"] {
    --flex-row-gap: 2.5rem;
  }
  .c-flex[data-gap~="md:xl"] {
    --flex-row-gap: 3rem;
    --flex-column-gap: 3rem;
  }
  .c-flex[data-gap~="md:x-xl"] {
    --flex-column-gap: 3rem;
  }
  .c-flex[data-gap~="md:y-xl"] {
    --flex-row-gap: 3rem;
  }
  .c-flex[data-gap~="md:xxl"] {
    --flex-row-gap: 4rem;
    --flex-column-gap: 4rem;
  }
  .c-flex[data-gap~="md:x-xxl"] {
    --flex-column-gap: 4rem;
  }
  .c-flex[data-gap~="md:y-xxl"] {
    --flex-row-gap: 4rem;
  }
}
@media (max-width: 768px) {
  .c-flex[data-gap~="sm:0"] {
    --flex-row-gap: 0px;
    --flex-column-gap: 0px;
  }
  .c-flex[data-gap~="sm:x-0"] {
    --flex-column-gap: 0px;
  }
  .c-flex[data-gap~="sm:y-0"] {
    --flex-row-gap: 0px;
  }
  .c-flex[data-gap~="sm:xxs"] {
    --flex-row-gap: 0.5rem;
    --flex-column-gap: 0.5rem;
  }
  .c-flex[data-gap~="sm:x-xxs"] {
    --flex-column-gap: 0.5rem;
  }
  .c-flex[data-gap~="sm:y-xxs"] {
    --flex-row-gap: 0.5rem;
  }
  .c-flex[data-gap~="sm:xs"] {
    --flex-row-gap: 1rem;
    --flex-column-gap: 1rem;
  }
  .c-flex[data-gap~="sm:x-xs"] {
    --flex-column-gap: 1rem;
  }
  .c-flex[data-gap~="sm:y-xs"] {
    --flex-row-gap: 1rem;
  }
  .c-flex[data-gap~="sm:sm"] {
    --flex-row-gap: 1.5rem;
    --flex-column-gap: 1.5rem;
  }
  .c-flex[data-gap~="sm:x-sm"] {
    --flex-column-gap: 1.5rem;
  }
  .c-flex[data-gap~="sm:y-sm"] {
    --flex-row-gap: 1.5rem;
  }
  .c-flex[data-gap~="sm:md"] {
    --flex-row-gap: 2rem;
    --flex-column-gap: 2rem;
  }
  .c-flex[data-gap~="sm:x-md"] {
    --flex-column-gap: 2rem;
  }
  .c-flex[data-gap~="sm:y-md"] {
    --flex-row-gap: 2rem;
  }
  .c-flex[data-gap~="sm:lg"] {
    --flex-row-gap: 2.5rem;
    --flex-column-gap: 2.5rem;
  }
  .c-flex[data-gap~="sm:x-lg"] {
    --flex-column-gap: 2.5rem;
  }
  .c-flex[data-gap~="sm:y-lg"] {
    --flex-row-gap: 2.5rem;
  }
  .c-flex[data-gap~="sm:xl"] {
    --flex-row-gap: 3rem;
    --flex-column-gap: 3rem;
  }
  .c-flex[data-gap~="sm:x-xl"] {
    --flex-column-gap: 3rem;
  }
  .c-flex[data-gap~="sm:y-xl"] {
    --flex-row-gap: 3rem;
  }
  .c-flex[data-gap~="sm:xxl"] {
    --flex-row-gap: 4rem;
    --flex-column-gap: 4rem;
  }
  .c-flex[data-gap~="sm:x-xxl"] {
    --flex-column-gap: 4rem;
  }
  .c-flex[data-gap~="sm:y-xxl"] {
    --flex-row-gap: 4rem;
  }
}
@media (max-width: 480px) {
  .c-flex[data-gap~="xs:0"] {
    --flex-row-gap: 0px;
    --flex-column-gap: 0px;
  }
  .c-flex[data-gap~="xs:x-0"] {
    --flex-column-gap: 0px;
  }
  .c-flex[data-gap~="xs:y-0"] {
    --flex-row-gap: 0px;
  }
  .c-flex[data-gap~="xs:xxs"] {
    --flex-row-gap: 0.5rem;
    --flex-column-gap: 0.5rem;
  }
  .c-flex[data-gap~="xs:x-xxs"] {
    --flex-column-gap: 0.5rem;
  }
  .c-flex[data-gap~="xs:y-xxs"] {
    --flex-row-gap: 0.5rem;
  }
  .c-flex[data-gap~="xs:xs"] {
    --flex-row-gap: 1rem;
    --flex-column-gap: 1rem;
  }
  .c-flex[data-gap~="xs:x-xs"] {
    --flex-column-gap: 1rem;
  }
  .c-flex[data-gap~="xs:y-xs"] {
    --flex-row-gap: 1rem;
  }
  .c-flex[data-gap~="xs:sm"] {
    --flex-row-gap: 1.5rem;
    --flex-column-gap: 1.5rem;
  }
  .c-flex[data-gap~="xs:x-sm"] {
    --flex-column-gap: 1.5rem;
  }
  .c-flex[data-gap~="xs:y-sm"] {
    --flex-row-gap: 1.5rem;
  }
  .c-flex[data-gap~="xs:md"] {
    --flex-row-gap: 2rem;
    --flex-column-gap: 2rem;
  }
  .c-flex[data-gap~="xs:x-md"] {
    --flex-column-gap: 2rem;
  }
  .c-flex[data-gap~="xs:y-md"] {
    --flex-row-gap: 2rem;
  }
  .c-flex[data-gap~="xs:lg"] {
    --flex-row-gap: 2.5rem;
    --flex-column-gap: 2.5rem;
  }
  .c-flex[data-gap~="xs:x-lg"] {
    --flex-column-gap: 2.5rem;
  }
  .c-flex[data-gap~="xs:y-lg"] {
    --flex-row-gap: 2.5rem;
  }
  .c-flex[data-gap~="xs:xl"] {
    --flex-row-gap: 3rem;
    --flex-column-gap: 3rem;
  }
  .c-flex[data-gap~="xs:x-xl"] {
    --flex-column-gap: 3rem;
  }
  .c-flex[data-gap~="xs:y-xl"] {
    --flex-row-gap: 3rem;
  }
  .c-flex[data-gap~="xs:xxl"] {
    --flex-row-gap: 4rem;
    --flex-column-gap: 4rem;
  }
  .c-flex[data-gap~="xs:x-xxl"] {
    --flex-column-gap: 4rem;
  }
  .c-flex[data-gap~="xs:y-xxl"] {
    --flex-row-gap: 4rem;
  }
}

.c-flex[data-align~=wrap] {
  flex-wrap: wrap;
}
.c-flex[data-align~=col] {
  flex-direction: column;
}
.c-flex[data-align~=start] {
  justify-content: start;
}
.c-flex[data-align~=center] {
  justify-content: center;
}
.c-flex[data-align~=end] {
  justify-content: end;
}
.c-flex[data-align~=between] {
  justify-content: space-between;
}
.c-flex[data-align~=top] {
  align-items: start;
}
.c-flex[data-align~=stretch] {
  align-items: stretch;
}
.c-flex[data-align~=base] {
  align-items: first baseline;
}
.c-flex[data-align~=middle] {
  align-items: center;
}
.c-flex[data-align~=bottom] {
  align-items: end;
}
.c-flex__item[data-align~=start] {
  align-items: flex-start;
}
.c-flex__item[data-align~=base] {
  align-items: first baseline;
}
.c-flex__item[data-align~=center] {
  align-items: center;
}
.c-flex__item[data-align~=end] {
  align-items: flex-end;
}
.c-flex__item[data-align~=top] {
  justify-content: flex-start;
  align-self: stretch;
}
.c-flex__item[data-align~=middle] {
  justify-content: center;
  align-self: stretch;
}
.c-flex__item[data-align~=bottom] {
  justify-content: flex-end;
  align-self: stretch;
}
@media (max-width: 1400px) {
  .c-flex[data-align~="xl:col"] {
    flex-direction: column;
  }
  .c-flex[data-align~="xl:start"] {
    justify-content: start;
  }
  .c-flex[data-align~="xl:center"] {
    justify-content: center;
  }
  .c-flex[data-align~="xl:end"] {
    justify-content: end;
  }
  .c-flex[data-align~="xl:justify"] {
    justify-content: space-between;
  }
  .c-flex[data-align~="xl:top"] {
    align-items: start;
  }
  .c-flex[data-align~="xl:base"] {
    align-items: first baseline;
  }
  .c-flex[data-align~="xl:middle"] {
    align-items: center;
  }
  .c-flex[data-align~="xl:bottom"] {
    align-items: end;
  }
}
@media (max-width: 1280px) {
  .c-flex[data-align~="lg:col"] {
    flex-direction: column;
  }
  .c-flex[data-align~="lg:start"] {
    justify-content: start;
  }
  .c-flex[data-align~="lg:center"] {
    justify-content: center;
  }
  .c-flex[data-align~="lg:end"] {
    justify-content: end;
  }
  .c-flex[data-align~="lg:justify"] {
    justify-content: space-between;
  }
  .c-flex[data-align~="lg:top"] {
    align-items: start;
  }
  .c-flex[data-align~="lg:base"] {
    align-items: first baseline;
  }
  .c-flex[data-align~="lg:middle"] {
    align-items: center;
  }
  .c-flex[data-align~="lg:bottom"] {
    align-items: end;
  }
}
@media (max-width: 1024px) {
  .c-flex[data-align~="md:col"] {
    flex-direction: column;
  }
  .c-flex[data-align~="md:start"] {
    justify-content: start;
  }
  .c-flex[data-align~="md:center"] {
    justify-content: center;
  }
  .c-flex[data-align~="md:end"] {
    justify-content: end;
  }
  .c-flex[data-align~="md:justify"] {
    justify-content: space-between;
  }
  .c-flex[data-align~="md:top"] {
    align-items: start;
  }
  .c-flex[data-align~="md:base"] {
    align-items: first baseline;
  }
  .c-flex[data-align~="md:middle"] {
    align-items: center;
  }
  .c-flex[data-align~="md:bottom"] {
    align-items: end;
  }
}
@media (max-width: 768px) {
  .c-flex[data-align~="sm:col"] {
    flex-direction: column;
  }
  .c-flex[data-align~="sm:start"] {
    justify-content: start;
  }
  .c-flex[data-align~="sm:center"] {
    justify-content: center;
  }
  .c-flex[data-align~="sm:end"] {
    justify-content: end;
  }
  .c-flex[data-align~="sm:justify"] {
    justify-content: space-between;
  }
  .c-flex[data-align~="sm:top"] {
    align-items: start;
  }
  .c-flex[data-align~="sm:base"] {
    align-items: first baseline;
  }
  .c-flex[data-align~="sm:middle"] {
    align-items: center;
  }
  .c-flex[data-align~="sm:bottom"] {
    align-items: end;
  }
}
@media (max-width: 480px) {
  .c-flex[data-align~="xs:col"] {
    flex-direction: column;
  }
  .c-flex[data-align~="xs:start"] {
    justify-content: start;
  }
  .c-flex[data-align~="xs:center"] {
    justify-content: center;
  }
  .c-flex[data-align~="xs:end"] {
    justify-content: end;
  }
  .c-flex[data-align~="xs:justify"] {
    justify-content: space-between;
  }
  .c-flex[data-align~="xs:top"] {
    align-items: start;
  }
  .c-flex[data-align~="xs:base"] {
    align-items: first baseline;
  }
  .c-flex[data-align~="xs:middle"] {
    align-items: center;
  }
  .c-flex[data-align~="xs:bottom"] {
    align-items: end;
  }
}

/* ===========================================
 * 検索窓
 * ======================================== */
.p-search-box {
  position: relative;
}

.p-search-box__field {
  position: relative;
  padding: 8px 32px 8px 12px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.4;
  background-color: var(--c-white);
  border: solid 1px var(--c-black);
  border-radius: calc(infinity * 1px);
  min-width: 192px;
  width: 100%;
}
.p-search-box__field::-moz-placeholder {
  color: rgba(51, 51, 51, 0.5);
}
.p-search-box__field::placeholder {
  color: rgba(51, 51, 51, 0.5);
}

.p-search-box__button {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.p-search-box__button svg {
  display: block;
}

/* ===========================================
 * ページ上部リンク
 * ======================================== */
.p-top-link__link {
  display: block;
  text-align: center;
  width: 100%;
  padding: 8px 20px;
  background-color: var(--c-main);
}
.p-top-link__link:hover .p-top-link__text::after {
  transform: translateY(-50%) translateX(110%);
  -webkit-transform: translateY(-50%) translateX(110%);
  -ms-transform: translateY(-50%) translateX(110%);
}

.p-top-link__text {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: var(--c-white);
  text-decoration: underline;
  text-underline-offset: 2px;
  position: relative;
}
.p-top-link__text::after {
  content: "";
  position: absolute;
  right: calc(clamp(0.625rem, 0.568rem + 0.24vw, 0.75rem) * -1);
  top: 50%;
  transform: translateY(-50%) translateX(100%);
  -webkit-transform: translateY(-50%) translateX(100%);
  -ms-transform: translateY(-50%) translateX(100%);
  -webkit-mask: url('data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_588_53)"><path d="M14 27.5C21.4558 27.5 27.5 21.4558 27.5 14C27.5 6.54416 21.4558 0.5 14 0.5C6.54416 0.5 0.5 6.54416 0.5 14C0.5 21.4558 6.54416 27.5 14 27.5Z" stroke="white"/><path d="M18.692 13.968L15.95 11.229V13.501H8.51001V14.44H15.95V16.712L18.692 13.968Z" fill="white"/></g><defs><clipPath id="clip0_588_53"><rect width="28" height="28" fill="white"/></clipPath></defs></svg>');
          mask: url('data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_588_53)"><path d="M14 27.5C21.4558 27.5 27.5 21.4558 27.5 14C27.5 6.54416 21.4558 0.5 14 0.5C6.54416 0.5 0.5 6.54416 0.5 14C0.5 21.4558 6.54416 27.5 14 27.5Z" stroke="white"/><path d="M18.692 13.968L15.95 11.229V13.501H8.51001V14.44H15.95V16.712L18.692 13.968Z" fill="white"/></g><defs><clipPath id="clip0_588_53"><rect width="28" height="28" fill="white"/></clipPath></defs></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-white);
  width: clamp(1.25rem, 1.023rem + 0.97vw, 1.75rem);
  aspect-ratio: 1;
  transition: transform var(--anime-duration);
}

/* ===========================================
 * 丸アイコンボタン
 * ======================================== */
.p-circle-btn__link {
  display: block;
  aspect-ratio: 1;
  width: 32px;
  border-radius: 50%;
  border: solid 1px var(--c-black);
  display: grid;
  place-content: center;
  transition: background-color var(--anime-duration);
  /* 大サイズ */
}
.p-circle-btn__link::before {
  content: "";
  display: block;
  width: 18px;
  aspect-ratio: 1;
  -webkit-mask: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_592_2)"><path d="M9.005 4.38402C8.09244 4.38402 7.20037 4.65463 6.4416 5.16162C5.68283 5.66862 5.09144 6.38922 4.74222 7.23232C4.393 8.07542 4.30162 9.00314 4.47966 9.89817C4.65769 10.7932 5.09713 11.6153 5.74241 12.2606C6.38769 12.9059 7.20983 13.3453 8.10485 13.5234C8.99988 13.7014 9.9276 13.61 10.7707 13.2608C11.6138 12.9116 12.3344 12.3202 12.8414 11.5614C13.3484 10.8027 13.619 9.91059 13.619 8.99802C13.6199 8.39185 13.5012 7.79144 13.2697 7.23123C13.0381 6.67102 12.6983 6.16201 12.2696 5.73338C11.841 5.30474 11.332 4.96491 10.7718 4.73337C10.2116 4.50182 9.61118 4.3831 9.005 4.38402ZM9.005 11.998C8.41166 11.998 7.83164 11.8221 7.33829 11.4924C6.84494 11.1628 6.46042 10.6943 6.23336 10.1461C6.0063 9.5979 5.94689 8.9947 6.06264 8.41275C6.1784 7.83081 6.46412 7.29626 6.88368 6.8767C7.30324 6.45715 7.83779 6.17142 8.41973 6.05567C9.00167 5.93991 9.60487 5.99932 10.1531 6.22638C10.7012 6.45345 11.1698 6.83797 11.4994 7.33131C11.8291 7.82466 12.005 8.40468 12.005 8.99802C12.0037 9.79327 11.6872 10.5556 11.1249 11.1179C10.5625 11.6802 9.80024 11.9967 9.005 11.998ZM14.884 4.19802C14.8834 4.41058 14.8199 4.6182 14.7014 4.79468C14.583 4.97117 14.4149 5.10862 14.2184 5.18969C14.0219 5.27076 13.8058 5.29181 13.5974 5.2502C13.3889 5.20858 13.1975 5.10617 13.0472 4.95587C12.8969 4.80557 12.7944 4.61412 12.7528 4.40567C12.7112 4.19723 12.7323 3.98113 12.8133 3.78464C12.8944 3.58815 13.0319 3.42007 13.2083 3.30161C13.3848 3.18315 13.5924 3.11962 13.805 3.11902C13.9464 3.11876 14.0864 3.14641 14.2171 3.20039C14.3477 3.25437 14.4665 3.33362 14.5664 3.43359C14.6664 3.53356 14.7457 3.65228 14.7996 3.78294C14.8536 3.91361 14.8813 4.05365 14.881 4.19502L14.884 4.19802ZM17.94 5.29002C17.9696 3.89081 17.4473 2.53617 16.486 1.51902C15.4666 0.559128 14.112 0.0361871 12.712 0.0620234C11.226 -0.0219766 6.773 -0.0219766 5.287 0.0620234C3.88886 0.0342331 2.53535 0.554676 1.516 1.51202C0.556639 2.53032 0.0349473 3.88427 0.063 5.28302C-0.021 6.76902 -0.021 11.222 0.063 12.708C0.0333844 14.1072 0.5557 15.4619 1.517 16.479C2.53649 17.4358 3.88906 17.9571 5.287 17.932C6.773 18.016 11.226 18.016 12.712 17.932C14.1112 17.9616 15.4659 17.4393 16.483 16.478C17.4411 15.4588 17.9629 14.1056 17.937 12.707C18.021 11.221 18.021 6.77202 17.937 5.28602L17.94 5.29002ZM16.017 14.302C15.8642 14.6893 15.6333 15.0411 15.3388 15.3354C15.0443 15.6298 14.6924 15.8604 14.305 16.013C13.12 16.483 10.305 16.374 9.005 16.374C7.705 16.374 4.881 16.474 3.705 16.013C3.3163 15.8612 2.96304 15.631 2.66728 15.3366C2.37153 15.0422 2.13961 14.69 1.986 14.302C1.516 13.117 1.625 10.302 1.625 9.00202C1.625 7.70202 1.525 4.87802 1.986 3.70202C2.13768 3.31313 2.3679 2.95969 2.66229 2.66375C2.95668 2.36782 3.30891 2.13574 3.697 1.98202C4.882 1.51202 7.697 1.62102 8.997 1.62102C10.297 1.62102 13.121 1.52102 14.297 1.98202C14.6842 2.13474 15.0359 2.36543 15.3303 2.65976C15.6246 2.9541 15.8553 3.3058 16.008 3.69302C16.478 4.87802 16.369 7.69302 16.369 8.99302C16.369 10.293 16.487 13.122 16.017 14.302Z" fill="%23191919"/></g><defs><clipPath id="clip0_592_2"><rect width="18" height="17.996" fill="white"/></clipPath></defs></svg>');
          mask: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_592_2)"><path d="M9.005 4.38402C8.09244 4.38402 7.20037 4.65463 6.4416 5.16162C5.68283 5.66862 5.09144 6.38922 4.74222 7.23232C4.393 8.07542 4.30162 9.00314 4.47966 9.89817C4.65769 10.7932 5.09713 11.6153 5.74241 12.2606C6.38769 12.9059 7.20983 13.3453 8.10485 13.5234C8.99988 13.7014 9.9276 13.61 10.7707 13.2608C11.6138 12.9116 12.3344 12.3202 12.8414 11.5614C13.3484 10.8027 13.619 9.91059 13.619 8.99802C13.6199 8.39185 13.5012 7.79144 13.2697 7.23123C13.0381 6.67102 12.6983 6.16201 12.2696 5.73338C11.841 5.30474 11.332 4.96491 10.7718 4.73337C10.2116 4.50182 9.61118 4.3831 9.005 4.38402ZM9.005 11.998C8.41166 11.998 7.83164 11.8221 7.33829 11.4924C6.84494 11.1628 6.46042 10.6943 6.23336 10.1461C6.0063 9.5979 5.94689 8.9947 6.06264 8.41275C6.1784 7.83081 6.46412 7.29626 6.88368 6.8767C7.30324 6.45715 7.83779 6.17142 8.41973 6.05567C9.00167 5.93991 9.60487 5.99932 10.1531 6.22638C10.7012 6.45345 11.1698 6.83797 11.4994 7.33131C11.8291 7.82466 12.005 8.40468 12.005 8.99802C12.0037 9.79327 11.6872 10.5556 11.1249 11.1179C10.5625 11.6802 9.80024 11.9967 9.005 11.998ZM14.884 4.19802C14.8834 4.41058 14.8199 4.6182 14.7014 4.79468C14.583 4.97117 14.4149 5.10862 14.2184 5.18969C14.0219 5.27076 13.8058 5.29181 13.5974 5.2502C13.3889 5.20858 13.1975 5.10617 13.0472 4.95587C12.8969 4.80557 12.7944 4.61412 12.7528 4.40567C12.7112 4.19723 12.7323 3.98113 12.8133 3.78464C12.8944 3.58815 13.0319 3.42007 13.2083 3.30161C13.3848 3.18315 13.5924 3.11962 13.805 3.11902C13.9464 3.11876 14.0864 3.14641 14.2171 3.20039C14.3477 3.25437 14.4665 3.33362 14.5664 3.43359C14.6664 3.53356 14.7457 3.65228 14.7996 3.78294C14.8536 3.91361 14.8813 4.05365 14.881 4.19502L14.884 4.19802ZM17.94 5.29002C17.9696 3.89081 17.4473 2.53617 16.486 1.51902C15.4666 0.559128 14.112 0.0361871 12.712 0.0620234C11.226 -0.0219766 6.773 -0.0219766 5.287 0.0620234C3.88886 0.0342331 2.53535 0.554676 1.516 1.51202C0.556639 2.53032 0.0349473 3.88427 0.063 5.28302C-0.021 6.76902 -0.021 11.222 0.063 12.708C0.0333844 14.1072 0.5557 15.4619 1.517 16.479C2.53649 17.4358 3.88906 17.9571 5.287 17.932C6.773 18.016 11.226 18.016 12.712 17.932C14.1112 17.9616 15.4659 17.4393 16.483 16.478C17.4411 15.4588 17.9629 14.1056 17.937 12.707C18.021 11.221 18.021 6.77202 17.937 5.28602L17.94 5.29002ZM16.017 14.302C15.8642 14.6893 15.6333 15.0411 15.3388 15.3354C15.0443 15.6298 14.6924 15.8604 14.305 16.013C13.12 16.483 10.305 16.374 9.005 16.374C7.705 16.374 4.881 16.474 3.705 16.013C3.3163 15.8612 2.96304 15.631 2.66728 15.3366C2.37153 15.0422 2.13961 14.69 1.986 14.302C1.516 13.117 1.625 10.302 1.625 9.00202C1.625 7.70202 1.525 4.87802 1.986 3.70202C2.13768 3.31313 2.3679 2.95969 2.66229 2.66375C2.95668 2.36782 3.30891 2.13574 3.697 1.98202C4.882 1.51202 7.697 1.62102 8.997 1.62102C10.297 1.62102 13.121 1.52102 14.297 1.98202C14.6842 2.13474 15.0359 2.36543 15.3303 2.65976C15.6246 2.9541 15.8553 3.3058 16.008 3.69302C16.478 4.87802 16.369 7.69302 16.369 8.99302C16.369 10.293 16.487 13.122 16.017 14.302Z" fill="%23191919"/></g><defs><clipPath id="clip0_592_2"><rect width="18" height="17.996" fill="white"/></clipPath></defs></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-black);
  transition: background-color var(--anime-duration);
}
.p-circle-btn__link:hover {
  background-color: var(--c-black);
}
.p-circle-btn__link:hover::before {
  background-color: var(--c-white);
}
.-lg .p-circle-btn__link {
  width: 40px;
}
.-lg .p-circle-btn__link::before {
  width: 22px;
}

/* ===========================================
 * お知らせ一覧
 * ======================================== */
.p-post-archive {
  border-top: solid 1px var(--c-gray-dark);
}

/* ===========================================
 * お知らせ記事
 * ======================================== */
.p-post-item {
  border-bottom: solid 1px var(--c-gray-dark);
}

.p-post-item__link {
  padding: clamp(0.75rem, 0.523rem + 0.97vw, 1.25rem) 0;
  display: block;
  width: 100%;
  transition: color var(--anime-duration);
  position: relative;
}
.p-post-item__link::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform var(--anime-duration);
  background: var(--c-main);
}
.p-post-item__link:hover {
  color: var(--c-main) !important;
}
.p-post-item__link:hover::after {
  transform: scale(1, 1);
}
.p-post-item__link::after {
  transition: transform 0.6s;
}

.p-post-item__content {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 26px;
  align-items: baseline;
}
@media screen and (max-width: 768px) {
  .p-post-item__content {
    grid-template-columns: 1fr;
  }
}

.p-post-item-meta {
  display: grid;
  grid-template-columns: 100px auto;
  align-items: center;
  gap: clamp(0.5rem, 0.273rem + 0.97vw, 1rem);
}

.p-post-item__date {
  font-family: var(--ff-montserrat);
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  color: var(--c-main);
}

.p-post-item__category {
  font-size: clamp(0.75rem, 0.722rem + 0.12vw, 0.813rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  color: var(--c-black);
  background-color: var(--c-white);
  border: solid 1px var(--c-black);
  text-align: center;
  padding: 5px 1em 6px;
  border-radius: calc(infinity * 1px);
  display: block;
  min-width: 80px;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media screen and (max-width: 768px) {
  .p-post-item__category {
    padding: 4px 0.5em;
  }
}

.p-post-item__heading {
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.4;
}

/* ===========================================
 * アイコン付きボタンリスト
 * ======================================== */
.p-icon-btn-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, 400px);
  gap: 20px;
  justify-content: center;
}
.p-icon-btn-list.-sm {
  grid-template-columns: repeat(auto-fit, 320px);
}
@media screen and (max-width: 768px) {
  .p-icon-btn-list {
    grid-template-columns: repeat(auto-fit, 315px);
  }
}

.p-icon-btn-list-item__link {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: var(--c-white);
  background-color: var(--c-black);
  text-align: center;
  width: 100%;
  border: solid 2px var(--c-black);
  border-radius: calc(infinity * 1px);
  padding: 8px clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem);
  display: grid;
  grid-template-columns: clamp(3.25rem, 2.739rem + 2.18vw, 4.375rem) 1fr 24px;
  align-items: center;
  gap: clamp(0.75rem, 0.523rem + 0.97vw, 1.25rem);
  height: 74px;
  transition: background-color var(--anime-duration), color var(--anime-duration);
}
.p-icon-btn-list-item__link:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.p-icon-btn-list-item__link:hover::after {
  background-color: var(--c-black);
}
.p-icon-btn-list-item__link:hover > .p-icon-btn-list-item__icon {
  filter: brightness(0);
}
@media screen and (max-width: 768px) {
  .p-icon-btn-list-item__link {
    max-width: 315px;
  }
}
.p-icon-btn-list-item__link::after {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1;
  -webkit-mask: url('data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_570_5)"><path d="M14 27.5C21.4558 27.5 27.5 21.4558 27.5 14C27.5 6.54416 21.4558 0.5 14 0.5C6.54416 0.5 0.5 6.54416 0.5 14C0.5 21.4558 6.54416 27.5 14 27.5Z" stroke="white"/><path d="M18.692 13.968L15.95 11.229V13.501H8.51001V14.44H15.95V16.712L18.692 13.968Z" fill="white"/></g><defs><clipPath id="clip0_570_5"><rect width="28" height="28" fill="white"/></clipPath></defs></svg>');
          mask: url('data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_570_5)"><path d="M14 27.5C21.4558 27.5 27.5 21.4558 27.5 14C27.5 6.54416 21.4558 0.5 14 0.5C6.54416 0.5 0.5 6.54416 0.5 14C0.5 21.4558 6.54416 27.5 14 27.5Z" stroke="white"/><path d="M18.692 13.968L15.95 11.229V13.501H8.51001V14.44H15.95V16.712L18.692 13.968Z" fill="white"/></g><defs><clipPath id="clip0_570_5"><rect width="28" height="28" fill="white"/></clipPath></defs></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-white);
  transition: background-color var(--anime-duration);
}

.p-icon-btn-list-item__icon {
  max-width: clamp(3.25rem, 2.739rem + 2.18vw, 4.375rem);
  margin-inline: auto;
  transition: filter var(--anime-duration);
}

/* ===========================================
 * ナビゲーションボタン（ヘッダー・ドロワー）
 * ======================================== */
.p-nav-btn-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.5rem, -1.125rem + 2vw, 0.625rem);
}

.p-nav-btn-list-item {
  height: 50px;
}
@media screen and (max-width: 768px) {
  .p-nav-btn-list-item {
    min-width: 106px;
  }
}

.p-nav-btn-list-item__link {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 clamp(0.625rem, 0.455rem + 0.73vw, 1rem);
  font-size: clamp(0.875rem, 0.847rem + 0.12vw, 0.938rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: var(--c-white);
  border-radius: calc(infinity * 1px);
  height: 100%;
  word-break: keep-all;
  text-align: center;
  transition: opacity var(--anime-duration);
}
.-c-main .p-nav-btn-list-item__link {
  background-color: var(--c-main);
}
.-c-main-light .p-nav-btn-list-item__link {
  background-color: var(--c-main-light);
}
.-c-black .p-nav-btn-list-item__link {
  background-color: var(--c-black);
}
.p-nav-btn-list-item__link:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .p-nav-btn-list-item__link > svg {
    max-width: 26px;
    width: 100%;
    display: block;
    place-content: center;
  }
}

/* ===========================================
 * ページネーション
 * ======================================== */
.p-pagination__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: clamp(2.5rem, 1.932rem + 2.42vw, 3.75rem);
}

.p-pagination__list {
  font-family: var(--ff-viga);
  font-size: clamp(1.125rem, 1.068rem + 0.24vw, 1.25rem);
  font-weight: 500;
  line-height: 1;
  color: var(--c-main);
  display: flex;
  align-items: center;
  gap: 16px;
}

.p-pagination__separate {
  display: block;
  width: 2px;
  height: 20px;
  background-color: var(--c-main);
}

.p-pagination__control.-dummy {
  opacity: 0.4;
}

.p-pagination__control-link {
  transition: opacity var(--anime-duration);
}
.p-pagination__control-link:hover {
  opacity: 0.7;
}

/* ===========================================
 * 緊急のお知らせ
 * ======================================== */
.p-emergency-post {
  background-color: var(--c-note);
  position: relative;
  z-index: 2;
}

.p-emergency-post__content {
  padding: clamp(0.5rem, 0.386rem + 0.48vw, 0.75rem) 0;
  display: flex;
  align-items: center;
  gap: 4px 40px;
}
@media screen and (max-width: 768px) {
  .p-emergency-post__content {
    flex-direction: column;
    align-items: flex-start;
  }
}

.p-emergency-post__heading {
  font-size: clamp(0.938rem, 0.852rem + 0.36vw, 1.125rem);
  color: var(--c-white);
  flex-shrink: 0;
  line-height: 1.2;
}

.p-emergency-post-item__link {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  line-height: 1.2;
  gap: 4px 20px;
  transition: color var(--anime-duration);
  position: relative;
}
.p-emergency-post-item__link::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform var(--anime-duration);
  background: #fff;
}
.p-emergency-post-item__link:hover {
  color: #fff !important;
}
.p-emergency-post-item__link:hover::after {
  transform: scale(1, 1);
}
@media screen and (max-width: 1024px) {
  .p-emergency-post-item__link {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .p-emergency-post-item__link {
    display: block;
  }
}

.p-emergency-post-item__date {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-emergency-post-item__date {
    margin-right: 0.5em;
  }
}

.p-emergency-post-item__date,
.p-emergency-post-item__heading {
  font-size: clamp(0.875rem, 0.818rem + 0.24vw, 1rem);
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: var(--c-white);
}
@media screen and (max-width: 768px) {
  .p-emergency-post-item__date,
  .p-emergency-post-item__heading {
    display: inline;
  }
}

/* ===========================================
 * ページ：ホーム
 * ======================================== */
/* MV
---------------------------------------------- */
.pg-hm-mv {
  position: relative;
  z-index: 1;
}

.pg-hm-mv__inner {
  position: relative;
}

/*---------- スライドショー ----------*/
.pg-hm-mv-slider {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

.pg-hm-mv-slider-item {
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 1260px;
  border-radius: clamp(0.625rem, 0.341rem + 1.21vw, 1.25rem);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .pg-hm-mv-slider-item {
    max-width: 95%;
  }
}

.pg-hm-mv-slider-item__pic {
  display: block;
  width: 100%;
  height: 100%;
}
.pg-hm-mv-slider-item__pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 矢印 */
.pg-hm-mv-slider__arrows {
  width: calc(90% + 30px);
  max-width: 1290px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  transition: opacity var(--anime-duration);
  transition: opacity var(--anime-duration);
}
.pg-hm-mv-slider__arrows:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .pg-hm-mv-slider__arrows {
    display: none;
  }
}
.pg-hm-mv-slider__arrows .splide__arrow {
  position: relative;
  pointer-events: auto;
  inset: 0;
  transform: none;
  background-color: var(--c-white);
  border-radius: 50%;
  opacity: 1;
  aspect-ratio: 1;
  width: 30px;
  height: auto;
  border: solid 1px var(--c-black);
}
.pg-hm-mv-slider__arrows .splide__arrow::after {
  content: "";
  position: absolute;
  -webkit-mask: url('data:image/svg+xml,<svg width="12" height="6" viewBox="0 0 12 6" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_604_68)"><path d="M12 3L8.768 0V2.486H0V3.514H8.768V6L12 3Z" fill="%23191919"/></g><defs><clipPath id="clip0_604_68"><rect width="12" height="6" fill="white"/></clipPath></defs></svg>');
          mask: url('data:image/svg+xml,<svg width="12" height="6" viewBox="0 0 12 6" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_604_68)"><path d="M12 3L8.768 0V2.486H0V3.514H8.768V6L12 3Z" fill="%23191919"/></g><defs><clipPath id="clip0_604_68"><rect width="12" height="6" fill="white"/></clipPath></defs></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-black);
  width: 12px;
  aspect-ratio: 2/1;
}
.pg-hm-mv-slider__arrows .splide__arrow--prev {
  transform: scale(-1, 1);
}

/* ページネーション */
.pg-hm-mv-slider__pagination.splide__pagination {
  position: relative;
  gap: 10px;
  inset: 0;
  margin-top: clamp(0.75rem, 0.295rem + 1.94vw, 1.75rem);
}
.pg-hm-mv-slider__pagination.splide__pagination .splide__pagination__page {
  display: block;
  margin: 0;
  width: 10px;
  height: 10px;
  opacity: 1;
  background-color: var(--c-gray-dark);
}
.pg-hm-mv-slider__pagination.splide__pagination .splide__pagination__page.is-active {
  background-color: var(--c-main);
  transform: none;
}

/* コンテンツ
---------------------------------------------- */
.pg-hm__content {
  position: relative;
  z-index: 1;
  /*---------- 追従背景 ----------*/
}
.pg-hm__content::before {
  content: "";
  position: fixed;
  background-image: url(../images/home/bg_fixed.png);
  background-size: 85%;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 100%;
  top: 0;
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .pg-hm__content::before {
    background-size: 95%;
  }
}

/* 卒業までの目安期間
---------------------------------------------- */
.pg-hm-period {
  margin-top: clamp(2rem, 1.205rem + 3.39vw, 3.75rem);
}

.pg-hm-period__content {
  border: solid 2px var(--c-main);
  border-radius: 10px;
  display: grid;
  grid-template-columns: 30% 1fr;
  filter: drop-shadow(0px 3px 10px rgba(65, 100, 50, 0.15));
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .pg-hm-period__content {
    grid-template-columns: 1fr;
  }
}

.pg-hm-period__heading-wrap {
  background-color: var(--c-main);
  display: grid;
  place-content: center;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 14px;
  padding: clamp(1.5rem, -0.284rem + 3.71vw, 2.5rem) 16px;
}
@media screen and (max-width: 768px) {
  .pg-hm-period__heading-wrap {
    padding: 12px;
  }
  .pg-hm-period__heading-wrap svg {
    width: auto;
    max-height: 32px;
  }
}

.pg-hm-period__heading {
  font-size: clamp(1rem, 0.554rem + 0.93vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: var(--c-white);
}
@media screen and (max-width: 768px) {
  .pg-hm-period__heading br {
    display: none;
  }
}

.pg-hm-period__body {
  background-image: linear-gradient(0deg, transparent 19px, rgba(240, 244, 245, 0.95) 20px), linear-gradient(90deg, transparent 19px, rgba(240, 244, 245, 0.95) 20px);
  background-size: 20px 20px;
  background-color: var(--c-white);
  padding: 24px clamp(1.5rem, 0.761rem + 3.15vw, 3.125rem);
  display: grid;
  place-content: center start;
}
@media screen and (max-width: 768px) {
  .pg-hm-period__body {
    place-content: center;
  }
}

.pg-hm-period-list-item {
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  .pg-hm-period-list-item {
    padding-left: 16px;
  }
}
.pg-hm-period-list-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  display: block;
  width: 10px;
  aspect-ratio: 1;
  background-color: var(--c-main);
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .pg-hm-period-list-item::before {
    width: 8px;
    top: 0.7em;
  }
}

.pg-hm-period-list-item + .pg-hm-period-list-item {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .pg-hm-period-list-item + .pg-hm-period-list-item {
    margin-top: 8px;
  }
}

.pg-hm-period-list-item__name {
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.pg-hm-period-list-item__days {
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: var(--c-main);
}
.pg-hm-period-list-item__days span {
  font-size: clamp(1.5rem, 1.386rem + 0.48vw, 1.75rem);
  margin: 0 4px;
  display: inline-block;
  transform: translateY(2px);
  line-height: 1;
}

/* バナー
---------------------------------------------- */
.pg-hm-bnr {
  margin-top: clamp(2rem, 1.205rem + 3.39vw, 3.75rem);
}

.pg-hm-bnr-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(auto, 536px));
  place-content: center;
  gap: 16px 28px;
}

.pg-hm-bnr-list-item__link {
  filter: drop-shadow(0 1px 10px rgba(65, 100, 50, 0.15));
  transition: opacity var(--anime-duration);
}
.pg-hm-bnr-list-item__link:hover {
  opacity: 0.8;
}

/* お知らせ
---------------------------------------------- */
.hm-news {
  margin-top: clamp(2.5rem, 1.648rem + 3.64vw, 4.375rem);
}

.hm-news__heading {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  row-gap: 40px;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .hm-news__heading {
    display: contents;
  }
}

.hm-news__body {
  margin-top: 24px;
}
@media screen and (max-width: 1024px) {
  .hm-news__body {
    order: 1;
  }
}

.hm-news-content {
  background-color: var(--c-white);
  padding-top: clamp(1.75rem, 1.466rem + 1.21vw, 2.375rem);
  padding-bottom: clamp(2rem, 1.205rem + 3.39vw, 3.75rem);
  border-radius: 30px;
  filter: drop-shadow(0 1px 10px rgba(65, 100, 50, 0.15));
}

.hm-news-content__inner {
  padding: 0 clamp(1.5rem, 0.761rem + 3.15vw, 3.125rem);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 92px;
}
@media screen and (max-width: 1024px) {
  .hm-news-content__inner {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 1024px) {
  .hm-news__btn {
    order: 2;
    margin-inline: auto;
    margin-top: 24px;
  }
}

/* 選ばれる理由
---------------------------------------------- */
.hm-reason {
  margin-top: clamp(3.75rem, 2.614rem + 4.85vw, 6.25rem);
}

.hm-reason-intro__catch {
  text-align: center;
  margin-top: 24px;
  font-size: clamp(1.375rem, 1.29rem + 0.36vw, 1.563rem);
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 2.2;
}
@media screen and (max-width: 768px) {
  .hm-reason-intro__catch {
    line-height: 2;
  }
}
.hm-reason-intro__catch .fz-sm {
  font-size: clamp(1.125rem, 1.04rem + 0.36vw, 1.313rem);
}
.hm-reason-intro__catch em {
  font-style: normal;
  color: var(--c-main);
}
.hm-reason-intro__catch strong {
  font-size: clamp(1.25rem, 1.165rem + 0.36vw, 1.438rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  color: var(--c-white);
  background-color: var(--c-main);
  margin: 0 8px;
  padding: 0px 16px 8px;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .hm-reason-intro__catch strong {
    padding: 0px 12px 6px;
  }
}
.hm-reason-intro__catch strong .data {
  font-size: clamp(2rem, 1.602rem + 1.7vw, 2.875rem);
  letter-spacing: 0.01em;
  margin: 0 4px;
}
.hm-reason-intro__catch strong .unit {
  font-size: clamp(1.25rem, 1.108rem + 0.61vw, 1.563rem);
}

/*---------- コンテンツ ----------*/
.hm-reason-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(auto, 530px));
  justify-content: center;
  gap: 20px 40px;
  margin-top: clamp(2rem, 1.489rem + 2.18vw, 3.125rem);
}

.hm-reason-item {
  background-image: linear-gradient(0deg, transparent 19px, rgba(240, 244, 245, 0.95) 20px), linear-gradient(90deg, transparent 19px, rgba(240, 244, 245, 0.95) 20px);
  background-size: 20px 20px;
  background-color: var(--c-white);
  filter: drop-shadow(0px 3px 10px rgba(65, 100, 50, 0.15));
  border-radius: 20px 30px;
  padding: clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem) clamp(1.25rem, 0.114rem + 4.85vw, 3.75rem);
  display: grid;
  grid-template-columns: clamp(7.5rem, 6.08rem + 6.06vw, 10.625rem) 1fr;
  gap: 16px;
  place-content: center;
  align-items: center;
}

.hm-reason-item__heading {
  text-align: center;
  font-size: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
  letter-spacing: 0.09em;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 8px;
}
.hm-reason-item__heading em {
  color: var(--c-main);
  font-style: normal;
}
.hm-reason-item__heading::before, .hm-reason-item__heading::after {
  content: "";
  display: block;
  flex-shrink: 0;
  background-image: url('data:image/svg+xml,<svg width="20" height="29" viewBox="0 0 20 29" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_627_282)"><path d="M19.0062 28.791C18.8338 28.7912 18.6643 28.7468 18.5142 28.6622C18.364 28.5776 18.2383 28.4556 18.1492 28.308L1.95017 1.51702C1.88227 1.40461 1.83719 1.27992 1.81748 1.15009C1.79777 1.02025 1.80383 0.887802 1.83531 0.760307C1.86679 0.632811 1.92307 0.512765 2.00094 0.407022C2.07882 0.301279 2.17676 0.211909 2.28917 0.144017C2.40158 0.0761221 2.52626 0.0310333 2.6561 0.0113251C2.78594 -0.00838309 2.91838 -0.0023246 3.04588 0.0291546C3.17338 0.0606337 3.29342 0.116917 3.39916 0.194791C3.50491 0.272665 3.59428 0.370604 3.66217 0.483017L19.8562 27.273C19.9477 27.4246 19.9974 27.5979 20.0001 27.775C20.0027 27.9521 19.9583 28.1267 19.8713 28.281C19.7844 28.4353 19.658 28.5638 19.5051 28.6532C19.3522 28.7426 19.1783 28.7898 19.0012 28.79L19.0062 28.791Z" fill="%23221815"/><path d="M14.5192 29C14.3869 28.9995 14.256 28.9727 14.1342 28.9212C14.0123 28.8697 13.9018 28.7945 13.8092 28.7L0.290223 15.052C0.105294 14.8633 0.00254604 14.6092 0.00441971 14.345C0.00629339 14.0808 0.112637 13.8281 0.300223 13.642C0.488903 13.4571 0.743097 13.3544 1.00729 13.3562C1.27147 13.3581 1.52418 13.4644 1.71022 13.652L15.2292 27.296C15.3668 27.4364 15.46 27.6142 15.4971 27.8073C15.5342 28.0003 15.5136 28.2 15.4378 28.3814C15.3621 28.5628 15.2345 28.7179 15.0712 28.8272C14.9078 28.9365 14.7158 28.9952 14.5192 28.996V29Z" fill="%23221815"/></g><defs><clipPath id="clip0_627_282"><rect width="20" height="29" fill="white"/></clipPath></defs></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(0.875rem, 0.79rem + 0.36vw, 1.063rem);
  aspect-ratio: 17/24;
  margin-bottom: clamp(0rem, -0.227rem + 0.97vw, 0.5rem);
}
.hm-reason-item__heading::after {
  transform: scale(-1, 1);
}

.hm-reason-item__deco {
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-inline: auto;
  margin-top: 4px;
  min-height: clamp(5rem, 4.432rem + 2.42vw, 6.25rem);
  display: grid;
  place-content: center;
}

/*---------- グラフ ----------*/
.pg-hm-reason-graph {
  max-width: 200px;
  margin-inline: auto;
}

.pg-hm-reason-graph__figure {
  position: relative;
  max-width: 200px;
  aspect-ratio: 1;
}

.pg-hm-reason-graph-main-data {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.pg-hm-reason-graph-main-data__name {
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem); /* 16-15 */
  font-weight: 500;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-align: center;
}

.pg-hm-reason-graph-main-data__content {
  margin: 0;
  display: flex;
  align-items: flex-end;
  gap: 2px;
  margin-left: 8px;
}

.pg-hm-reason-graph-main-data__amount {
  font-size: clamp(1.625rem, 1.455rem + 0.73vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
}

.pg-hm-reason-graph-main-data__unit {
  font-size: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
}

/* SVG */
.pg-hm-reason-graph svg path {
  fill: none;
  max-width: 200px;
  stroke-width: 8px;
  opacity: 0;
}

.pg-hm-reason-graph.is-animated svg path {
  aspect-ratio: 1;
  animation: circleAnimation 1.2s ease-in-out forwards;
}

@keyframes circleAnimation {
  0% {
    stroke-dasharray: 0 100;
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
/*---------- ボタン ----------*/
.hm-reason-btn {
  margin-inline: auto;
  margin-top: clamp(2rem, 1.773rem + 0.97vw, 2.5rem);
}

/* はじめての方へ
---------------------------------------------- */
.hm-for-beginner {
  width: 100%;
  margin-inline: auto;
  margin-top: clamp(3.75rem, 2.614rem + 4.85vw, 6.25rem);
  padding-top: clamp(2.375rem, 2.034rem + 1.45vw, 3.125rem);
  padding-bottom: clamp(3.75rem, 2.614rem + 4.85vw, 6.25rem);
  background-color: var(--c-main-light);
  border-radius: 50px;
  position: relative;
}
.hm-for-beginner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 0;
  background-image: url(../images/home/bg_for-beginner.png);
  background-size: cover;
  background-position: top center;
  mix-blend-mode: screen;
}
@media screen and (max-width: 768px) {
  .hm-for-beginner::before {
    background-image: url(../images/home/bg_for-beginner--sp.png);
  }
}

.hm-for-beginner__inner {
  position: relative;
  z-index: 1;
}

.hm-for-beginner__heading {
  text-align: center;
}
.hm-for-beginner__heading svg {
  max-width: clamp(8.75rem, 7.727rem + 4.36vw, 11rem);
}

.hm-for-beginner__intro {
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.7;
  color: var(--c-white);
  padding-top: clamp(1.5rem, 0.761rem + 3.15vw, 3.125rem);
}
@media screen and (max-width: 768px) {
  .hm-for-beginner__intro {
    text-align: left;
    max-width: 620px;
    margin-inline: auto;
  }
  .hm-for-beginner__intro br {
    display: none;
  }
}

/*---------- 免許コース ----------*/
.hm-for-beginner-license {
  margin-top: clamp(2.5rem, 1.648rem + 3.64vw, 4.375rem);
}

.hm-for-beginner-license-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));
  gap: clamp(0.938rem, 0.568rem + 1.58vw, 1.75rem);
  justify-content: center;
  margin-top: 32px;
}
.hm-for-beginner-license-card-list.-col2 {
  grid-template-columns: repeat(auto-fit, minmax(auto, 400px));
}

.hm-for-beginner-license-card {
  width: 100%;
  max-width: 228px;
  text-align: center;
  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.1));
}
.-col2 .hm-for-beginner-license-card {
  max-width: 400px;
  margin-inline: auto;
}

.hm-for-beginner-license-card__link {
  width: 100%;
  background-color: var(--c-white);
  padding-top: clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem);
  padding-bottom: 20px;
  border-radius: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
  transition: opacity var(--anime-duration);
}
.hm-for-beginner-license-card__link::after {
  content: "";
  display: block;
  margin-top: 12px;
  background-image: url('data:image/svg+xml,<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_611_125)"><path d="M15 30C23.2843 30 30 23.2843 30 15C30 6.71573 23.2843 0 15 0C6.71573 0 0 6.71573 0 15C0 23.2843 6.71573 30 15 30Z" fill="%23191919"/><path d="M20.9619 15.58L17.7999 12.416V15.038H9.21387V16.122H17.7999V18.744L20.9619 15.58Z" fill="white"/></g><defs><clipPath id="clip0_611_125"><rect width="30" height="30" fill="white"/></clipPath></defs></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(1.5rem, 1.33rem + 0.73vw, 1.875rem);
  aspect-ratio: 1;
  margin-inline: auto;
}
.hm-for-beginner-license-card__link:hover {
  opacity: 0.8;
}

.hm-for-beginner-license-card__heading {
  font-size: clamp(1.125rem, 1.068rem + 0.24vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin-top: clamp(0.5rem, 0.045rem + 1.94vw, 1.5rem);
}

.hm-for-beginner-license-bnr {
  margin-top: clamp(2.5rem, 2.102rem + 1.7vw, 3.375rem);
  text-align: center;
}

.hm-for-beginner-license-bnr__link {
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  transition: opacity var(--anime-duration);
}
.hm-for-beginner-license-bnr__link:hover {
  opacity: 0.8;
}

/*---------- ボタンリスト ----------*/
.hm-for-beginner-btn-list {
  margin-top: clamp(3.125rem, 2.102rem + 4.36vw, 5.375rem);
}

/*---------- 各種講習 ----------*/
.hm-for-beginner-lecture {
  margin-top: clamp(3.75rem, 2.841rem + 3.88vw, 5.75rem);
}

.hm-for-beginner-lecture-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));
  gap: clamp(0.938rem, 0.568rem + 1.58vw, 1.75rem);
  justify-content: center;
  margin-top: 32px;
}

.hm-for-beginner-lecture-card {
  width: 100%;
  max-width: 228px;
  text-align: center;
  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.1));
}

.hm-for-beginner-lecture-card__link {
  width: 100%;
  height: 100%;
  background-color: var(--c-white);
  padding-bottom: 20px;
  border-radius: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
  border-bottom-right-radius: 8px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  transition: opacity var(--anime-duration);
}
.hm-for-beginner-lecture-card__link:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .hm-for-beginner-lecture-card__link {
    border-radius: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
  }
}
.hm-for-beginner-lecture-card__link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  background-image: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_613_185)"><path d="M9 0H24V24H0V9C0 6.61305 0.948212 4.32387 2.63604 2.63604C4.32387 0.948212 6.61305 0 9 0Z" fill="black"/><path d="M19.154 12L15.354 8.19995V11.346H5.05396V12.646H15.354V15.792L19.154 12Z" fill="white"/></g><defs><clipPath id="clip0_613_185"><rect width="24" height="24" fill="white"/></clipPath></defs></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  width: 24px;
  aspect-ratio: 1;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .hm-for-beginner-lecture-card__link::after {
    content: none;
  }
}

.hm-for-beginner-lecture-card__heading {
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
  margin-top: 16px;
  flex-grow: 1;
  display: grid;
  place-content: center;
}

/* 在校生の方へ
---------------------------------------------- */
.hm-for-students {
  margin-top: clamp(12.5rem, 6.818rem + 24.24vw, 25rem);
  background-image: linear-gradient(0deg, transparent 19px, rgba(217, 220, 221, 0.85) 20px), linear-gradient(90deg, transparent 19px, rgba(217, 220, 221, 0.85) 20px);
  background-size: 20px 20px;
  background-color: var(--c-gray-light);
  position: relative;
}

.hm-for-students__inner {
  position: relative;
  display: grid;
  padding-top: clamp(3.75rem, 2.614rem + 4.85vw, 6.25rem);
  padding-bottom: clamp(3.75rem, 2.614rem + 4.85vw, 6.25rem);
  grid-template-columns: auto 1fr;
  gap: 40px clamp(3.75rem, 2.614rem + 4.85vw, 6.25rem);
}
@media screen and (max-width: 768px) {
  .hm-for-students__inner {
    grid-template-columns: 1fr;
  }
}

.hm-for-students__deco {
  position: absolute;
  top: 0;
  right: clamp(1.25rem, 0.682rem + 2.42vw, 2.5rem);
  transform: translateY(-80%) rotate(3deg);
}
.hm-for-students__deco.is-animated {
  animation-name: decoSwing;
  animation-duration: 500ms;
  animation-timing-function: steps(1, end);
  animation-iteration-count: 2;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}

@keyframes decoSwing {
  0% {
    transform: translateY(-80%) rotate(3deg);
  }
  50% {
    transform: translateY(-80%) rotate(10deg);
  }
  100% {
    transform: translateY(-80%) rotate(3deg);
  }
}
.hm-for-students__heading {
  padding-left: 50px;
}
@media screen and (max-width: 768px) {
  .hm-for-students__heading {
    padding-left: 0px;
  }
}

/* 学校バナー
---------------------------------------------- */
.pg-hm-school-bnr {
  background-color: var(--c-bg);
  padding-top: clamp(2.5rem, 1.477rem + 4.36vw, 4.75rem);
  padding-bottom: clamp(1.25rem, 0.682rem + 2.42vw, 2.5rem);
}

.pg-hm-school-bnr__link {
  display: block;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-inline: auto;
  filter: drop-shadow(0px 3px 6px rgba(50, 94, 100, 0.15));
  transition: opacity var(--anime-duration);
}
.pg-hm-school-bnr__link:hover {
  opacity: 0.8;
}

/* ===========================================
 * ページ：お知らせ詳細
 * ======================================== */
.pg-post-detail-meta {
  display: flex;
  align-items: baseline;
  gap: 20px;
}

.pg-post-detail__date {
  font-family: var(--ff-montserrat);
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: var(--c-main);
}

.pg-post-detail__category {
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  color: var(--c-black);
  background-color: var(--c-white);
  border: solid 1px var(--c-black);
  text-align: center;
  padding: 5px 1em 6px;
  border-radius: calc(infinity * 1px);
  display: block;
  min-width: 120px;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media screen and (max-width: 768px) {
  .pg-post-detail__category {
    min-width: 100px;
  }
}

.pg-post-detail__content {
  margin-top: clamp(2rem, 1.773rem + 0.97vw, 2.5rem) !important;
}

.pg-post-detail-btn {
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-inline: auto;
}

/* ===========================================
 * ページ：検索結果
 * ======================================== */
.pg-search-card + .pg-search-card {
  margin-top: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
}

.pg-search-card__link {
  padding: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
  background-color: var(--c-white);
  border-radius: 8px;
  width: 100%;
  transition: opacity var(--anime-duration);
}
.pg-search-card__link:hover {
  opacity: 0.8;
}

.pg-search-card__heading {
  font-size: clamp(1.125rem, 1.068rem + 0.24vw, 1.25rem);
  color: var(--c-main);
  letter-spacing: 0.08em;
  line-height: 1.4;
}

.pg-search-card__content {
  margin-top: 8px;
}

.u-mt-xxs {
  margin-top: var(--space-xxs) !important;
}

.u-mr-xxs {
  margin-right: var(--space-xxs) !important;
}

.u-mb-xxs {
  margin-bottom: var(--space-xxs) !important;
}

.u-ml-xxs {
  margin-left: var(--space-xxs) !important;
}

.u-pt-xxs {
  padding-top: var(--space-xxs) !important;
}

.u-pr-xxs {
  padding-right: var(--space-xxs) !important;
}

.u-pb-xxs {
  padding-bottom: var(--space-xxs) !important;
}

.u-pl-xxs {
  padding-left: var(--space-xxs) !important;
}

.u-mt-xs {
  margin-top: var(--space-xs) !important;
}

.u-mr-xs {
  margin-right: var(--space-xs) !important;
}

.u-mb-xs {
  margin-bottom: var(--space-xs) !important;
}

.u-ml-xs {
  margin-left: var(--space-xs) !important;
}

.u-pt-xs {
  padding-top: var(--space-xs) !important;
}

.u-pr-xs {
  padding-right: var(--space-xs) !important;
}

.u-pb-xs {
  padding-bottom: var(--space-xs) !important;
}

.u-pl-xs {
  padding-left: var(--space-xs) !important;
}

.u-mt-sm {
  margin-top: var(--space-sm) !important;
}

.u-mr-sm {
  margin-right: var(--space-sm) !important;
}

.u-mb-sm {
  margin-bottom: var(--space-sm) !important;
}

.u-ml-sm {
  margin-left: var(--space-sm) !important;
}

.u-pt-sm {
  padding-top: var(--space-sm) !important;
}

.u-pr-sm {
  padding-right: var(--space-sm) !important;
}

.u-pb-sm {
  padding-bottom: var(--space-sm) !important;
}

.u-pl-sm {
  padding-left: var(--space-sm) !important;
}

.u-mt-md {
  margin-top: var(--space-md) !important;
}

.u-mr-md {
  margin-right: var(--space-md) !important;
}

.u-mb-md {
  margin-bottom: var(--space-md) !important;
}

.u-ml-md {
  margin-left: var(--space-md) !important;
}

.u-pt-md {
  padding-top: var(--space-md) !important;
}

.u-pr-md {
  padding-right: var(--space-md) !important;
}

.u-pb-md {
  padding-bottom: var(--space-md) !important;
}

.u-pl-md {
  padding-left: var(--space-md) !important;
}

.u-mt-lg {
  margin-top: var(--space-lg) !important;
}

.u-mr-lg {
  margin-right: var(--space-lg) !important;
}

.u-mb-lg {
  margin-bottom: var(--space-lg) !important;
}

.u-ml-lg {
  margin-left: var(--space-lg) !important;
}

.u-pt-lg {
  padding-top: var(--space-lg) !important;
}

.u-pr-lg {
  padding-right: var(--space-lg) !important;
}

.u-pb-lg {
  padding-bottom: var(--space-lg) !important;
}

.u-pl-lg {
  padding-left: var(--space-lg) !important;
}

.u-mt-xl {
  margin-top: var(--space-xl) !important;
}

.u-mr-xl {
  margin-right: var(--space-xl) !important;
}

.u-mb-xl {
  margin-bottom: var(--space-xl) !important;
}

.u-ml-xl {
  margin-left: var(--space-xl) !important;
}

.u-pt-xl {
  padding-top: var(--space-xl) !important;
}

.u-pr-xl {
  padding-right: var(--space-xl) !important;
}

.u-pb-xl {
  padding-bottom: var(--space-xl) !important;
}

.u-pl-xl {
  padding-left: var(--space-xl) !important;
}

.u-mt-xxl {
  margin-top: var(--space-xxl) !important;
}

.u-mr-xxl {
  margin-right: var(--space-xxl) !important;
}

.u-mb-xxl {
  margin-bottom: var(--space-xxl) !important;
}

.u-ml-xxl {
  margin-left: var(--space-xxl) !important;
}

.u-pt-xxl {
  padding-top: var(--space-xxl) !important;
}

.u-pr-xxl {
  padding-right: var(--space-xxl) !important;
}

.u-pb-xxl {
  padding-bottom: var(--space-xxl) !important;
}

.u-pl-xxl {
  padding-left: var(--space-xxl) !important;
}

.u-mt-0 {
  margin-top: 0 !important;
}

.u-mr-0 {
  margin-right: 0 !important;
}

.u-mb-0 {
  margin-bottom: 0 !important;
}

.u-ml-0 {
  margin-left: 0 !important;
}

.u-pt-0 {
  padding-top: 0 !important;
}

.u-pr-0 {
  padding-right: 0 !important;
}

.u-pb-0 {
  padding-bottom: 0 !important;
}

.u-pl-0 {
  padding-left: 0 !important;
}

@media (max-width: 1400px) {
  .u-xl-mt-xxs {
    margin-top: var(--space-xxs) !important;
  }
  .u-xl-mr-xxs {
    margin-right: var(--space-xxs) !important;
  }
  .u-xl-mb-xxs {
    margin-bottom: var(--space-xxs) !important;
  }
  .u-xl-ml-xxs {
    margin-left: var(--space-xxs) !important;
  }
  .u-xl-pt-xxs {
    padding-top: var(--space-xxs) !important;
  }
  .u-xl-pr-xxs {
    padding-right: var(--space-xxs) !important;
  }
  .u-xl-pb-xxs {
    padding-bottom: var(--space-xxs) !important;
  }
  .u-xl-pl-xxs {
    padding-left: var(--space-xxs) !important;
  }
  .u-xl-mt-xs {
    margin-top: var(--space-xs) !important;
  }
  .u-xl-mr-xs {
    margin-right: var(--space-xs) !important;
  }
  .u-xl-mb-xs {
    margin-bottom: var(--space-xs) !important;
  }
  .u-xl-ml-xs {
    margin-left: var(--space-xs) !important;
  }
  .u-xl-pt-xs {
    padding-top: var(--space-xs) !important;
  }
  .u-xl-pr-xs {
    padding-right: var(--space-xs) !important;
  }
  .u-xl-pb-xs {
    padding-bottom: var(--space-xs) !important;
  }
  .u-xl-pl-xs {
    padding-left: var(--space-xs) !important;
  }
  .u-xl-mt-sm {
    margin-top: var(--space-sm) !important;
  }
  .u-xl-mr-sm {
    margin-right: var(--space-sm) !important;
  }
  .u-xl-mb-sm {
    margin-bottom: var(--space-sm) !important;
  }
  .u-xl-ml-sm {
    margin-left: var(--space-sm) !important;
  }
  .u-xl-pt-sm {
    padding-top: var(--space-sm) !important;
  }
  .u-xl-pr-sm {
    padding-right: var(--space-sm) !important;
  }
  .u-xl-pb-sm {
    padding-bottom: var(--space-sm) !important;
  }
  .u-xl-pl-sm {
    padding-left: var(--space-sm) !important;
  }
  .u-xl-mt-md {
    margin-top: var(--space-md) !important;
  }
  .u-xl-mr-md {
    margin-right: var(--space-md) !important;
  }
  .u-xl-mb-md {
    margin-bottom: var(--space-md) !important;
  }
  .u-xl-ml-md {
    margin-left: var(--space-md) !important;
  }
  .u-xl-pt-md {
    padding-top: var(--space-md) !important;
  }
  .u-xl-pr-md {
    padding-right: var(--space-md) !important;
  }
  .u-xl-pb-md {
    padding-bottom: var(--space-md) !important;
  }
  .u-xl-pl-md {
    padding-left: var(--space-md) !important;
  }
  .u-xl-mt-lg {
    margin-top: var(--space-lg) !important;
  }
  .u-xl-mr-lg {
    margin-right: var(--space-lg) !important;
  }
  .u-xl-mb-lg {
    margin-bottom: var(--space-lg) !important;
  }
  .u-xl-ml-lg {
    margin-left: var(--space-lg) !important;
  }
  .u-xl-pt-lg {
    padding-top: var(--space-lg) !important;
  }
  .u-xl-pr-lg {
    padding-right: var(--space-lg) !important;
  }
  .u-xl-pb-lg {
    padding-bottom: var(--space-lg) !important;
  }
  .u-xl-pl-lg {
    padding-left: var(--space-lg) !important;
  }
  .u-xl-mt-xl {
    margin-top: var(--space-xl) !important;
  }
  .u-xl-mr-xl {
    margin-right: var(--space-xl) !important;
  }
  .u-xl-mb-xl {
    margin-bottom: var(--space-xl) !important;
  }
  .u-xl-ml-xl {
    margin-left: var(--space-xl) !important;
  }
  .u-xl-pt-xl {
    padding-top: var(--space-xl) !important;
  }
  .u-xl-pr-xl {
    padding-right: var(--space-xl) !important;
  }
  .u-xl-pb-xl {
    padding-bottom: var(--space-xl) !important;
  }
  .u-xl-pl-xl {
    padding-left: var(--space-xl) !important;
  }
  .u-xl-mt-xxl {
    margin-top: var(--space-xxl) !important;
  }
  .u-xl-mr-xxl {
    margin-right: var(--space-xxl) !important;
  }
  .u-xl-mb-xxl {
    margin-bottom: var(--space-xxl) !important;
  }
  .u-xl-ml-xxl {
    margin-left: var(--space-xxl) !important;
  }
  .u-xl-pt-xxl {
    padding-top: var(--space-xxl) !important;
  }
  .u-xl-pr-xxl {
    padding-right: var(--space-xxl) !important;
  }
  .u-xl-pb-xxl {
    padding-bottom: var(--space-xxl) !important;
  }
  .u-xl-pl-xxl {
    padding-left: var(--space-xxl) !important;
  }
  .u-xl-mt-0 {
    margin-top: 0 !important;
  }
  .u-xl-mr-0 {
    margin-right: 0 !important;
  }
  .u-xl-mb-0 {
    margin-bottom: 0 !important;
  }
  .u-xl-ml-0 {
    margin-left: 0 !important;
  }
  .u-xl-pt-0 {
    padding-top: 0 !important;
  }
  .u-xl-pr-0 {
    padding-right: 0 !important;
  }
  .u-xl-pb-0 {
    padding-bottom: 0 !important;
  }
  .u-xl-pl-0 {
    padding-left: 0 !important;
  }
}
@media (max-width: 1280px) {
  .u-lg-mt-xxs {
    margin-top: var(--space-xxs) !important;
  }
  .u-lg-mr-xxs {
    margin-right: var(--space-xxs) !important;
  }
  .u-lg-mb-xxs {
    margin-bottom: var(--space-xxs) !important;
  }
  .u-lg-ml-xxs {
    margin-left: var(--space-xxs) !important;
  }
  .u-lg-pt-xxs {
    padding-top: var(--space-xxs) !important;
  }
  .u-lg-pr-xxs {
    padding-right: var(--space-xxs) !important;
  }
  .u-lg-pb-xxs {
    padding-bottom: var(--space-xxs) !important;
  }
  .u-lg-pl-xxs {
    padding-left: var(--space-xxs) !important;
  }
  .u-lg-mt-xs {
    margin-top: var(--space-xs) !important;
  }
  .u-lg-mr-xs {
    margin-right: var(--space-xs) !important;
  }
  .u-lg-mb-xs {
    margin-bottom: var(--space-xs) !important;
  }
  .u-lg-ml-xs {
    margin-left: var(--space-xs) !important;
  }
  .u-lg-pt-xs {
    padding-top: var(--space-xs) !important;
  }
  .u-lg-pr-xs {
    padding-right: var(--space-xs) !important;
  }
  .u-lg-pb-xs {
    padding-bottom: var(--space-xs) !important;
  }
  .u-lg-pl-xs {
    padding-left: var(--space-xs) !important;
  }
  .u-lg-mt-sm {
    margin-top: var(--space-sm) !important;
  }
  .u-lg-mr-sm {
    margin-right: var(--space-sm) !important;
  }
  .u-lg-mb-sm {
    margin-bottom: var(--space-sm) !important;
  }
  .u-lg-ml-sm {
    margin-left: var(--space-sm) !important;
  }
  .u-lg-pt-sm {
    padding-top: var(--space-sm) !important;
  }
  .u-lg-pr-sm {
    padding-right: var(--space-sm) !important;
  }
  .u-lg-pb-sm {
    padding-bottom: var(--space-sm) !important;
  }
  .u-lg-pl-sm {
    padding-left: var(--space-sm) !important;
  }
  .u-lg-mt-md {
    margin-top: var(--space-md) !important;
  }
  .u-lg-mr-md {
    margin-right: var(--space-md) !important;
  }
  .u-lg-mb-md {
    margin-bottom: var(--space-md) !important;
  }
  .u-lg-ml-md {
    margin-left: var(--space-md) !important;
  }
  .u-lg-pt-md {
    padding-top: var(--space-md) !important;
  }
  .u-lg-pr-md {
    padding-right: var(--space-md) !important;
  }
  .u-lg-pb-md {
    padding-bottom: var(--space-md) !important;
  }
  .u-lg-pl-md {
    padding-left: var(--space-md) !important;
  }
  .u-lg-mt-lg {
    margin-top: var(--space-lg) !important;
  }
  .u-lg-mr-lg {
    margin-right: var(--space-lg) !important;
  }
  .u-lg-mb-lg {
    margin-bottom: var(--space-lg) !important;
  }
  .u-lg-ml-lg {
    margin-left: var(--space-lg) !important;
  }
  .u-lg-pt-lg {
    padding-top: var(--space-lg) !important;
  }
  .u-lg-pr-lg {
    padding-right: var(--space-lg) !important;
  }
  .u-lg-pb-lg {
    padding-bottom: var(--space-lg) !important;
  }
  .u-lg-pl-lg {
    padding-left: var(--space-lg) !important;
  }
  .u-lg-mt-xl {
    margin-top: var(--space-xl) !important;
  }
  .u-lg-mr-xl {
    margin-right: var(--space-xl) !important;
  }
  .u-lg-mb-xl {
    margin-bottom: var(--space-xl) !important;
  }
  .u-lg-ml-xl {
    margin-left: var(--space-xl) !important;
  }
  .u-lg-pt-xl {
    padding-top: var(--space-xl) !important;
  }
  .u-lg-pr-xl {
    padding-right: var(--space-xl) !important;
  }
  .u-lg-pb-xl {
    padding-bottom: var(--space-xl) !important;
  }
  .u-lg-pl-xl {
    padding-left: var(--space-xl) !important;
  }
  .u-lg-mt-xxl {
    margin-top: var(--space-xxl) !important;
  }
  .u-lg-mr-xxl {
    margin-right: var(--space-xxl) !important;
  }
  .u-lg-mb-xxl {
    margin-bottom: var(--space-xxl) !important;
  }
  .u-lg-ml-xxl {
    margin-left: var(--space-xxl) !important;
  }
  .u-lg-pt-xxl {
    padding-top: var(--space-xxl) !important;
  }
  .u-lg-pr-xxl {
    padding-right: var(--space-xxl) !important;
  }
  .u-lg-pb-xxl {
    padding-bottom: var(--space-xxl) !important;
  }
  .u-lg-pl-xxl {
    padding-left: var(--space-xxl) !important;
  }
  .u-lg-mt-0 {
    margin-top: 0 !important;
  }
  .u-lg-mr-0 {
    margin-right: 0 !important;
  }
  .u-lg-mb-0 {
    margin-bottom: 0 !important;
  }
  .u-lg-ml-0 {
    margin-left: 0 !important;
  }
  .u-lg-pt-0 {
    padding-top: 0 !important;
  }
  .u-lg-pr-0 {
    padding-right: 0 !important;
  }
  .u-lg-pb-0 {
    padding-bottom: 0 !important;
  }
  .u-lg-pl-0 {
    padding-left: 0 !important;
  }
}
@media (max-width: 1024px) {
  .u-md-mt-xxs {
    margin-top: var(--space-xxs) !important;
  }
  .u-md-mr-xxs {
    margin-right: var(--space-xxs) !important;
  }
  .u-md-mb-xxs {
    margin-bottom: var(--space-xxs) !important;
  }
  .u-md-ml-xxs {
    margin-left: var(--space-xxs) !important;
  }
  .u-md-pt-xxs {
    padding-top: var(--space-xxs) !important;
  }
  .u-md-pr-xxs {
    padding-right: var(--space-xxs) !important;
  }
  .u-md-pb-xxs {
    padding-bottom: var(--space-xxs) !important;
  }
  .u-md-pl-xxs {
    padding-left: var(--space-xxs) !important;
  }
  .u-md-mt-xs {
    margin-top: var(--space-xs) !important;
  }
  .u-md-mr-xs {
    margin-right: var(--space-xs) !important;
  }
  .u-md-mb-xs {
    margin-bottom: var(--space-xs) !important;
  }
  .u-md-ml-xs {
    margin-left: var(--space-xs) !important;
  }
  .u-md-pt-xs {
    padding-top: var(--space-xs) !important;
  }
  .u-md-pr-xs {
    padding-right: var(--space-xs) !important;
  }
  .u-md-pb-xs {
    padding-bottom: var(--space-xs) !important;
  }
  .u-md-pl-xs {
    padding-left: var(--space-xs) !important;
  }
  .u-md-mt-sm {
    margin-top: var(--space-sm) !important;
  }
  .u-md-mr-sm {
    margin-right: var(--space-sm) !important;
  }
  .u-md-mb-sm {
    margin-bottom: var(--space-sm) !important;
  }
  .u-md-ml-sm {
    margin-left: var(--space-sm) !important;
  }
  .u-md-pt-sm {
    padding-top: var(--space-sm) !important;
  }
  .u-md-pr-sm {
    padding-right: var(--space-sm) !important;
  }
  .u-md-pb-sm {
    padding-bottom: var(--space-sm) !important;
  }
  .u-md-pl-sm {
    padding-left: var(--space-sm) !important;
  }
  .u-md-mt-md {
    margin-top: var(--space-md) !important;
  }
  .u-md-mr-md {
    margin-right: var(--space-md) !important;
  }
  .u-md-mb-md {
    margin-bottom: var(--space-md) !important;
  }
  .u-md-ml-md {
    margin-left: var(--space-md) !important;
  }
  .u-md-pt-md {
    padding-top: var(--space-md) !important;
  }
  .u-md-pr-md {
    padding-right: var(--space-md) !important;
  }
  .u-md-pb-md {
    padding-bottom: var(--space-md) !important;
  }
  .u-md-pl-md {
    padding-left: var(--space-md) !important;
  }
  .u-md-mt-lg {
    margin-top: var(--space-lg) !important;
  }
  .u-md-mr-lg {
    margin-right: var(--space-lg) !important;
  }
  .u-md-mb-lg {
    margin-bottom: var(--space-lg) !important;
  }
  .u-md-ml-lg {
    margin-left: var(--space-lg) !important;
  }
  .u-md-pt-lg {
    padding-top: var(--space-lg) !important;
  }
  .u-md-pr-lg {
    padding-right: var(--space-lg) !important;
  }
  .u-md-pb-lg {
    padding-bottom: var(--space-lg) !important;
  }
  .u-md-pl-lg {
    padding-left: var(--space-lg) !important;
  }
  .u-md-mt-xl {
    margin-top: var(--space-xl) !important;
  }
  .u-md-mr-xl {
    margin-right: var(--space-xl) !important;
  }
  .u-md-mb-xl {
    margin-bottom: var(--space-xl) !important;
  }
  .u-md-ml-xl {
    margin-left: var(--space-xl) !important;
  }
  .u-md-pt-xl {
    padding-top: var(--space-xl) !important;
  }
  .u-md-pr-xl {
    padding-right: var(--space-xl) !important;
  }
  .u-md-pb-xl {
    padding-bottom: var(--space-xl) !important;
  }
  .u-md-pl-xl {
    padding-left: var(--space-xl) !important;
  }
  .u-md-mt-xxl {
    margin-top: var(--space-xxl) !important;
  }
  .u-md-mr-xxl {
    margin-right: var(--space-xxl) !important;
  }
  .u-md-mb-xxl {
    margin-bottom: var(--space-xxl) !important;
  }
  .u-md-ml-xxl {
    margin-left: var(--space-xxl) !important;
  }
  .u-md-pt-xxl {
    padding-top: var(--space-xxl) !important;
  }
  .u-md-pr-xxl {
    padding-right: var(--space-xxl) !important;
  }
  .u-md-pb-xxl {
    padding-bottom: var(--space-xxl) !important;
  }
  .u-md-pl-xxl {
    padding-left: var(--space-xxl) !important;
  }
  .u-md-mt-0 {
    margin-top: 0 !important;
  }
  .u-md-mr-0 {
    margin-right: 0 !important;
  }
  .u-md-mb-0 {
    margin-bottom: 0 !important;
  }
  .u-md-ml-0 {
    margin-left: 0 !important;
  }
  .u-md-pt-0 {
    padding-top: 0 !important;
  }
  .u-md-pr-0 {
    padding-right: 0 !important;
  }
  .u-md-pb-0 {
    padding-bottom: 0 !important;
  }
  .u-md-pl-0 {
    padding-left: 0 !important;
  }
}
@media (max-width: 768px) {
  .u-sm-mt-xxs {
    margin-top: var(--space-xxs) !important;
  }
  .u-sm-mr-xxs {
    margin-right: var(--space-xxs) !important;
  }
  .u-sm-mb-xxs {
    margin-bottom: var(--space-xxs) !important;
  }
  .u-sm-ml-xxs {
    margin-left: var(--space-xxs) !important;
  }
  .u-sm-pt-xxs {
    padding-top: var(--space-xxs) !important;
  }
  .u-sm-pr-xxs {
    padding-right: var(--space-xxs) !important;
  }
  .u-sm-pb-xxs {
    padding-bottom: var(--space-xxs) !important;
  }
  .u-sm-pl-xxs {
    padding-left: var(--space-xxs) !important;
  }
  .u-sm-mt-xs {
    margin-top: var(--space-xs) !important;
  }
  .u-sm-mr-xs {
    margin-right: var(--space-xs) !important;
  }
  .u-sm-mb-xs {
    margin-bottom: var(--space-xs) !important;
  }
  .u-sm-ml-xs {
    margin-left: var(--space-xs) !important;
  }
  .u-sm-pt-xs {
    padding-top: var(--space-xs) !important;
  }
  .u-sm-pr-xs {
    padding-right: var(--space-xs) !important;
  }
  .u-sm-pb-xs {
    padding-bottom: var(--space-xs) !important;
  }
  .u-sm-pl-xs {
    padding-left: var(--space-xs) !important;
  }
  .u-sm-mt-sm {
    margin-top: var(--space-sm) !important;
  }
  .u-sm-mr-sm {
    margin-right: var(--space-sm) !important;
  }
  .u-sm-mb-sm {
    margin-bottom: var(--space-sm) !important;
  }
  .u-sm-ml-sm {
    margin-left: var(--space-sm) !important;
  }
  .u-sm-pt-sm {
    padding-top: var(--space-sm) !important;
  }
  .u-sm-pr-sm {
    padding-right: var(--space-sm) !important;
  }
  .u-sm-pb-sm {
    padding-bottom: var(--space-sm) !important;
  }
  .u-sm-pl-sm {
    padding-left: var(--space-sm) !important;
  }
  .u-sm-mt-md {
    margin-top: var(--space-md) !important;
  }
  .u-sm-mr-md {
    margin-right: var(--space-md) !important;
  }
  .u-sm-mb-md {
    margin-bottom: var(--space-md) !important;
  }
  .u-sm-ml-md {
    margin-left: var(--space-md) !important;
  }
  .u-sm-pt-md {
    padding-top: var(--space-md) !important;
  }
  .u-sm-pr-md {
    padding-right: var(--space-md) !important;
  }
  .u-sm-pb-md {
    padding-bottom: var(--space-md) !important;
  }
  .u-sm-pl-md {
    padding-left: var(--space-md) !important;
  }
  .u-sm-mt-lg {
    margin-top: var(--space-lg) !important;
  }
  .u-sm-mr-lg {
    margin-right: var(--space-lg) !important;
  }
  .u-sm-mb-lg {
    margin-bottom: var(--space-lg) !important;
  }
  .u-sm-ml-lg {
    margin-left: var(--space-lg) !important;
  }
  .u-sm-pt-lg {
    padding-top: var(--space-lg) !important;
  }
  .u-sm-pr-lg {
    padding-right: var(--space-lg) !important;
  }
  .u-sm-pb-lg {
    padding-bottom: var(--space-lg) !important;
  }
  .u-sm-pl-lg {
    padding-left: var(--space-lg) !important;
  }
  .u-sm-mt-xl {
    margin-top: var(--space-xl) !important;
  }
  .u-sm-mr-xl {
    margin-right: var(--space-xl) !important;
  }
  .u-sm-mb-xl {
    margin-bottom: var(--space-xl) !important;
  }
  .u-sm-ml-xl {
    margin-left: var(--space-xl) !important;
  }
  .u-sm-pt-xl {
    padding-top: var(--space-xl) !important;
  }
  .u-sm-pr-xl {
    padding-right: var(--space-xl) !important;
  }
  .u-sm-pb-xl {
    padding-bottom: var(--space-xl) !important;
  }
  .u-sm-pl-xl {
    padding-left: var(--space-xl) !important;
  }
  .u-sm-mt-xxl {
    margin-top: var(--space-xxl) !important;
  }
  .u-sm-mr-xxl {
    margin-right: var(--space-xxl) !important;
  }
  .u-sm-mb-xxl {
    margin-bottom: var(--space-xxl) !important;
  }
  .u-sm-ml-xxl {
    margin-left: var(--space-xxl) !important;
  }
  .u-sm-pt-xxl {
    padding-top: var(--space-xxl) !important;
  }
  .u-sm-pr-xxl {
    padding-right: var(--space-xxl) !important;
  }
  .u-sm-pb-xxl {
    padding-bottom: var(--space-xxl) !important;
  }
  .u-sm-pl-xxl {
    padding-left: var(--space-xxl) !important;
  }
  .u-sm-mt-0 {
    margin-top: 0 !important;
  }
  .u-sm-mr-0 {
    margin-right: 0 !important;
  }
  .u-sm-mb-0 {
    margin-bottom: 0 !important;
  }
  .u-sm-ml-0 {
    margin-left: 0 !important;
  }
  .u-sm-pt-0 {
    padding-top: 0 !important;
  }
  .u-sm-pr-0 {
    padding-right: 0 !important;
  }
  .u-sm-pb-0 {
    padding-bottom: 0 !important;
  }
  .u-sm-pl-0 {
    padding-left: 0 !important;
  }
}
@media (max-width: 480px) {
  .u-xs-mt-xxs {
    margin-top: var(--space-xxs) !important;
  }
  .u-xs-mr-xxs {
    margin-right: var(--space-xxs) !important;
  }
  .u-xs-mb-xxs {
    margin-bottom: var(--space-xxs) !important;
  }
  .u-xs-ml-xxs {
    margin-left: var(--space-xxs) !important;
  }
  .u-xs-pt-xxs {
    padding-top: var(--space-xxs) !important;
  }
  .u-xs-pr-xxs {
    padding-right: var(--space-xxs) !important;
  }
  .u-xs-pb-xxs {
    padding-bottom: var(--space-xxs) !important;
  }
  .u-xs-pl-xxs {
    padding-left: var(--space-xxs) !important;
  }
  .u-xs-mt-xs {
    margin-top: var(--space-xs) !important;
  }
  .u-xs-mr-xs {
    margin-right: var(--space-xs) !important;
  }
  .u-xs-mb-xs {
    margin-bottom: var(--space-xs) !important;
  }
  .u-xs-ml-xs {
    margin-left: var(--space-xs) !important;
  }
  .u-xs-pt-xs {
    padding-top: var(--space-xs) !important;
  }
  .u-xs-pr-xs {
    padding-right: var(--space-xs) !important;
  }
  .u-xs-pb-xs {
    padding-bottom: var(--space-xs) !important;
  }
  .u-xs-pl-xs {
    padding-left: var(--space-xs) !important;
  }
  .u-xs-mt-sm {
    margin-top: var(--space-sm) !important;
  }
  .u-xs-mr-sm {
    margin-right: var(--space-sm) !important;
  }
  .u-xs-mb-sm {
    margin-bottom: var(--space-sm) !important;
  }
  .u-xs-ml-sm {
    margin-left: var(--space-sm) !important;
  }
  .u-xs-pt-sm {
    padding-top: var(--space-sm) !important;
  }
  .u-xs-pr-sm {
    padding-right: var(--space-sm) !important;
  }
  .u-xs-pb-sm {
    padding-bottom: var(--space-sm) !important;
  }
  .u-xs-pl-sm {
    padding-left: var(--space-sm) !important;
  }
  .u-xs-mt-md {
    margin-top: var(--space-md) !important;
  }
  .u-xs-mr-md {
    margin-right: var(--space-md) !important;
  }
  .u-xs-mb-md {
    margin-bottom: var(--space-md) !important;
  }
  .u-xs-ml-md {
    margin-left: var(--space-md) !important;
  }
  .u-xs-pt-md {
    padding-top: var(--space-md) !important;
  }
  .u-xs-pr-md {
    padding-right: var(--space-md) !important;
  }
  .u-xs-pb-md {
    padding-bottom: var(--space-md) !important;
  }
  .u-xs-pl-md {
    padding-left: var(--space-md) !important;
  }
  .u-xs-mt-lg {
    margin-top: var(--space-lg) !important;
  }
  .u-xs-mr-lg {
    margin-right: var(--space-lg) !important;
  }
  .u-xs-mb-lg {
    margin-bottom: var(--space-lg) !important;
  }
  .u-xs-ml-lg {
    margin-left: var(--space-lg) !important;
  }
  .u-xs-pt-lg {
    padding-top: var(--space-lg) !important;
  }
  .u-xs-pr-lg {
    padding-right: var(--space-lg) !important;
  }
  .u-xs-pb-lg {
    padding-bottom: var(--space-lg) !important;
  }
  .u-xs-pl-lg {
    padding-left: var(--space-lg) !important;
  }
  .u-xs-mt-xl {
    margin-top: var(--space-xl) !important;
  }
  .u-xs-mr-xl {
    margin-right: var(--space-xl) !important;
  }
  .u-xs-mb-xl {
    margin-bottom: var(--space-xl) !important;
  }
  .u-xs-ml-xl {
    margin-left: var(--space-xl) !important;
  }
  .u-xs-pt-xl {
    padding-top: var(--space-xl) !important;
  }
  .u-xs-pr-xl {
    padding-right: var(--space-xl) !important;
  }
  .u-xs-pb-xl {
    padding-bottom: var(--space-xl) !important;
  }
  .u-xs-pl-xl {
    padding-left: var(--space-xl) !important;
  }
  .u-xs-mt-xxl {
    margin-top: var(--space-xxl) !important;
  }
  .u-xs-mr-xxl {
    margin-right: var(--space-xxl) !important;
  }
  .u-xs-mb-xxl {
    margin-bottom: var(--space-xxl) !important;
  }
  .u-xs-ml-xxl {
    margin-left: var(--space-xxl) !important;
  }
  .u-xs-pt-xxl {
    padding-top: var(--space-xxl) !important;
  }
  .u-xs-pr-xxl {
    padding-right: var(--space-xxl) !important;
  }
  .u-xs-pb-xxl {
    padding-bottom: var(--space-xxl) !important;
  }
  .u-xs-pl-xxl {
    padding-left: var(--space-xxl) !important;
  }
  .u-xs-mt-0 {
    margin-top: 0 !important;
  }
  .u-xs-mr-0 {
    margin-right: 0 !important;
  }
  .u-xs-mb-0 {
    margin-bottom: 0 !important;
  }
  .u-xs-ml-0 {
    margin-left: 0 !important;
  }
  .u-xs-pt-0 {
    padding-top: 0 !important;
  }
  .u-xs-pr-0 {
    padding-right: 0 !important;
  }
  .u-xs-pb-0 {
    padding-bottom: 0 !important;
  }
  .u-xs-pl-0 {
    padding-left: 0 !important;
  }
}
.u-color-black {
  color: var(--c-font) !important;
}

.u-color-white {
  color: var(--c-white) !important;
}

.u-color-main {
  color: var(--c-main) !important;
}

.u-color-main-light {
  color: var(--c-main-light) !important;
}

.u-color-accent {
  color: var(--c-accent) !important;
}

.u-color-gray {
  color: var(--c-gray-dark) !important;
}

.u-color-link {
  color: var(--c-link) !important;
}

.u-color-note {
  color: var(--c-note) !important;
}

/* =====================
  font-size
===================== */
.u-fz-xs {
  font-size: var(--fz-xs) !important;
}

.u-fz-sm {
  font-size: var(--fz-sm) !important;
}

.u-fz-default {
  font-size: var(--fz-default) !important;
}

.u-fz-md {
  font-size: var(--fz-md) !important;
}

.u-fz-lg {
  font-size: var(--fz-lg) !important;
}

.u-fz-xl {
  font-size: var(--fz-xl) !important;
}

.u-fz-xxl {
  font-size: var(--fz-xxl) !important;
}

.u-fz-clamp-xs {
  font-size: var(--fz-clamp-xs) !important;
}

.u-fz-clamp-sm {
  font-size: var(--fz-clamp-sm) !important;
}

.u-fz-clamp-default {
  font-size: var(--fz-clamp-default) !important;
}

.u-fz-clamp-md {
  font-size: var(--fz-clamp-md) !important;
}

.u-fz-clamp-lg {
  font-size: var(--fz-clamp-lg) !important;
}

.u-fz-clamp-xl {
  font-size: var(--fz-clamp-xl) !important;
}

@media (max-width: 1400px) {
  .u-xl-fz-xs {
    font-size: var(--fz-xs) !important;
  }
  .u-xl-fz-sm {
    font-size: var(--fz-sm) !important;
  }
  .u-xl-fz-normal {
    font-size: var(--fz-normal) !important;
  }
  .u-xl-fz-md {
    font-size: var(--fz-md) !important;
  }
  .u-xl-fz-lg {
    font-size: var(--fz-lg) !important;
  }
  .u-xl-fz-xl {
    font-size: var(--fz-xl) !important;
  }
  .u-xl-fz-xxl {
    font-size: var(--fz-xxl) !important;
  }
}
@media (max-width: 1280px) {
  .u-lg-fz-xs {
    font-size: var(--fz-xs) !important;
  }
  .u-lg-fz-sm {
    font-size: var(--fz-sm) !important;
  }
  .u-lg-fz-normal {
    font-size: var(--fz-normal) !important;
  }
  .u-lg-fz-md {
    font-size: var(--fz-md) !important;
  }
  .u-lg-fz-lg {
    font-size: var(--fz-lg) !important;
  }
  .u-lg-fz-xl {
    font-size: var(--fz-xl) !important;
  }
  .u-lg-fz-xxl {
    font-size: var(--fz-xxl) !important;
  }
}
@media (max-width: 1024px) {
  .u-md-fz-xs {
    font-size: var(--fz-xs) !important;
  }
  .u-md-fz-sm {
    font-size: var(--fz-sm) !important;
  }
  .u-md-fz-normal {
    font-size: var(--fz-normal) !important;
  }
  .u-md-fz-md {
    font-size: var(--fz-md) !important;
  }
  .u-md-fz-lg {
    font-size: var(--fz-lg) !important;
  }
  .u-md-fz-xl {
    font-size: var(--fz-xl) !important;
  }
  .u-md-fz-xxl {
    font-size: var(--fz-xxl) !important;
  }
}
@media (max-width: 768px) {
  .u-sm-fz-xs {
    font-size: var(--fz-xs) !important;
  }
  .u-sm-fz-sm {
    font-size: var(--fz-sm) !important;
  }
  .u-sm-fz-normal {
    font-size: var(--fz-normal) !important;
  }
  .u-sm-fz-md {
    font-size: var(--fz-md) !important;
  }
  .u-sm-fz-lg {
    font-size: var(--fz-lg) !important;
  }
  .u-sm-fz-xl {
    font-size: var(--fz-xl) !important;
  }
  .u-sm-fz-xxl {
    font-size: var(--fz-xxl) !important;
  }
}
@media (max-width: 480px) {
  .u-xs-fz-xs {
    font-size: var(--fz-xs) !important;
  }
  .u-xs-fz-sm {
    font-size: var(--fz-sm) !important;
  }
  .u-xs-fz-normal {
    font-size: var(--fz-normal) !important;
  }
  .u-xs-fz-md {
    font-size: var(--fz-md) !important;
  }
  .u-xs-fz-lg {
    font-size: var(--fz-lg) !important;
  }
  .u-xs-fz-xl {
    font-size: var(--fz-xl) !important;
  }
  .u-xs-fz-xxl {
    font-size: var(--fz-xxl) !important;
  }
}
.u-fw-n {
  font-weight: normal !important;
}

.u-fw-m {
  font-weight: 500 !important;
}

.u-fw-b {
  font-weight: bold !important;
}

.u-ls-0 {
  letter-spacing: 0 !important;
}

.u-ls-20 {
  letter-spacing: 0.02em !important;
}

.u-lh-10 {
  line-height: 1 !important;
}

.u-lh-15 {
  line-height: 1.5 !important;
}

.u-lh-20 {
  line-height: 2 !important;
}

.u-underline {
  text-decoration: underline;
}

.u-tal {
  text-align: left !important;
}

.u-tac {
  text-align: center !important;
}

.u-tar {
  text-align: right !important;
}

@media (max-width: 1400px) {
  .u-xl-tal {
    text-align: left !important;
  }
  .u-xl-tac {
    text-align: center !important;
  }
  .u-xl-tar {
    text-align: right !important;
  }
}
@media not all and (max-width: 1400px) {
  .u-xl-over-tal {
    text-align: left !important;
  }
  .u-xl-over-tac {
    text-align: center !important;
  }
  .u-xl-over-tar {
    text-align: right !important;
  }
}
@media (max-width: 1280px) {
  .u-lg-tal {
    text-align: left !important;
  }
  .u-lg-tac {
    text-align: center !important;
  }
  .u-lg-tar {
    text-align: right !important;
  }
}
@media not all and (max-width: 1280px) {
  .u-lg-over-tal {
    text-align: left !important;
  }
  .u-lg-over-tac {
    text-align: center !important;
  }
  .u-lg-over-tar {
    text-align: right !important;
  }
}
@media (max-width: 1024px) {
  .u-md-tal {
    text-align: left !important;
  }
  .u-md-tac {
    text-align: center !important;
  }
  .u-md-tar {
    text-align: right !important;
  }
}
@media not all and (max-width: 1024px) {
  .u-md-over-tal {
    text-align: left !important;
  }
  .u-md-over-tac {
    text-align: center !important;
  }
  .u-md-over-tar {
    text-align: right !important;
  }
}
@media (max-width: 768px) {
  .u-sm-tal {
    text-align: left !important;
  }
  .u-sm-tac {
    text-align: center !important;
  }
  .u-sm-tar {
    text-align: right !important;
  }
}
@media not all and (max-width: 768px) {
  .u-sm-over-tal {
    text-align: left !important;
  }
  .u-sm-over-tac {
    text-align: center !important;
  }
  .u-sm-over-tar {
    text-align: right !important;
  }
}
@media (max-width: 480px) {
  .u-xs-tal {
    text-align: left !important;
  }
  .u-xs-tac {
    text-align: center !important;
  }
  .u-xs-tar {
    text-align: right !important;
  }
}
@media not all and (max-width: 480px) {
  .u-xs-over-tal {
    text-align: left !important;
  }
  .u-xs-over-tac {
    text-align: center !important;
  }
  .u-xs-over-tar {
    text-align: right !important;
  }
}
@media not all and (max-width: 1400px) {
  .u-xl-only {
    display: none !important;
  }
}
@media (max-width: 1400px) {
  .u-xl-over-only {
    display: none !important;
  }
}
@media not all and (max-width: 1280px) {
  .u-lg-only {
    display: none !important;
  }
}
@media (max-width: 1280px) {
  .u-lg-over-only {
    display: none !important;
  }
}
@media not all and (max-width: 1024px) {
  .u-md-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .u-md-over-only {
    display: none !important;
  }
}
@media not all and (max-width: 768px) {
  .u-sm-only {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .u-sm-over-only {
    display: none !important;
  }
}
@media not all and (max-width: 480px) {
  .u-xs-only {
    display: none !important;
  }
}
@media (max-width: 480px) {
  .u-xs-over-only {
    display: none !important;
  }
}
.u-dib {
  display: inline-block !important;
}

[class*=js-scroll-animation] {
  transition-property: var(--property);
  transition-timing-function: var(--easing);
}
[class*=js-scroll-animation].is-animated {
  transition-duration: var(--duration);
}

/* Fade
---------------------------------------------- */
.js-scroll-animation-fade-in {
  --property: opacity;
  --easing: ease;
  --duration: 0.3s;
}
.js-scroll-animation-fade-in:not(.is-animated) {
  opacity: 0;
}

.js-scroll-animation-fade-in-up {
  --property: opacity, translate;
  --easing: ease-in-out;
  --duration: 0.5s;
  --starting-position: 20px;
}
.js-scroll-animation-fade-in-up.-delay {
  transition-delay: 250ms;
}
.js-scroll-animation-fade-in-up:not(.is-animated) {
  opacity: 0;
  translate: 0 var(--starting-position);
}

.js-text-fade-up {
  opacity: 0;
}
.js-text-fade-up.is-animated {
  opacity: 1;
}
.js-text-fade-up.is-animated span {
  animation: showText 1s backwards;
  display: inline-block;
}
.js-text-fade-up.is-animated > span {
  overflow: hidden;
}
.js-text-fade-up.is-animated > span > span {
  animation: showTextFromBottom 0.8s backwards;
}

@keyframes showTextFromBottom {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
    transform: translate3d(0);
  }
}
/* no-scroll
---------------------------------------------- */
.is-no-scroll {
  overflow: hidden;
}

@media print {
  .no-print {
    display: none;
  }
}
