@charset "UTF-8";
:root {
  --header-height: clamp(4.375rem, 2.9005rem + 4.5454vw, 5.625rem);
  --page-gap: clamp(0.9375rem, 0.468rem + 2.3474vw, 1.875rem);
  --outline-width: 0.25rem;
  --border-radius-s: 0.625rem;
  --border-radius-m: 1.25rem;
  --border-radius-l: 1.875rem;
  --border-radius-2l: 2.5rem;
  --border-radius-infinity: 100vmax;
  --leading-trim: calc((1em - 1lh) / 2);
}

/* ------------------------------------------------------------
 * リセット
 * ------------------------------------------------------------ */
@view-transition {
  navigation: auto;
}
* {
  padding: 0;
  margin: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

:target {
  scroll-margin-block-start: var(--header-height);
}
:where(html) {
  scroll-behavior: smooth;
}

:where(body) {
  min-block-size: 100vb;
  min-block-size: 100dvb;
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  line-height: 1.6;
  color: #000;
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  background-color: #fff;
  line-break: strict; /* 禁則処理を厳格に適用 */
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%; /* 文字サイズの自動調整を無効化 */
  scroll-behavior: smooth;
}

:where(h1, h2, h3, h4, h5, h6) {
  font-size: inherit;
  font-weight: inherit;
}

:where(em) {
  font-style: normal;
}

:where(ul, ol) {
  list-style: none;
}

:where(table) {
  font-size: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  border: none;
}

:where(img) {
  max-inline-size: 100%;
  block-size: auto;
  vertical-align: top;
  border: 0;
}

:where(a) {
  color: #00e;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
:where(a):visited {
  color: #551b8c;
}
:where(a):hover {
  color: #fe0000;
  text-decoration: none;
}
:where(a):active {
  color: #fe0000;
}

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

:where(input:not([type=checkbox], [type=radio], [type=date], [type=time]),
select,
textarea) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

:where(button) {
  padding: 0;
  cursor: pointer;
  background-color: transparent;
  border: none;
}
:where(button):not(:disabled) {
  cursor: pointer;
}

:where(a,
button,
input,
select,
textarea,
summary,
[role=tabpanel],
[tabindex="0"]) {
  outline: 0 transparent;
  transition: 0.2s;
}
:where(a,
button,
input,
select,
textarea,
summary,
[role=tabpanel],
[tabindex="0"]):focus-visible {
  outline: var(--outline-width) solid #003685;
  outline-offset: var(--outline-width);
}

:where(label) {
  cursor: pointer;
}

:where(summary) {
  cursor: pointer;
  list-style: none;
}
:where(summary)::-webkit-details-marker {
  display: none;
}

::-moz-selection {
  color: #fff;
  background-color: #003685;
}

::selection {
  color: #fff;
  background-color: #003685;
}

/* ------------------------------------------------------------
 * Webフォント
 * ------------------------------------------------------------ */
/* Fontello
 * -------------------------------------------------- */
@font-face {
  font-family: icons;
  src: url(../font/ico_hattori_blog.woff2) format("woff2");
  font-display: block;
}
/* ------------------------------------------------------------
 * コンテンツ内、中央寄せの大枠
 * ------------------------------------------------------------ */
.l-container {
  position: relative;
  inline-size: 100%;
  max-inline-size: calc(75rem + var(--page-gap) * 2);
  padding-inline: var(--page-gap);
  margin-inline: auto;
}

.l-container_sm {
  max-inline-size: 61.25rem;
  margin-inline: auto;
}

/* ------------------------------------------------------------
 * コンテンツ
 * ------------------------------------------------------------ */
.l-contents {
  display: flow-root;
  line-height: 2;
}

/* ------------------------------------------------------------
 * フッター
 * ------------------------------------------------------------ */
.l-footer {
  position: sticky;
  inset-block-start: 100vb;
  padding-block: clamp(2.5rem, 1.0255rem + 4.5454vw, 3.75rem);
  padding-inline: var(--page-gap);
  margin-block-start: clamp(4.375rem, 3.749rem + 3.1298vw, 5.625rem);
  color: #fff;
  text-align: center;
  background-color: #000;
}

.l-footer_inner {
  max-inline-size: 61.25rem;
  margin: 0 auto;
}

/* ページの先頭へ戻る
 * -------------------------------------------------- */
.l-footerPageTop {
  position: fixed;
  inset-block-end: 1.25rem;
  z-index: 2;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s, visibility 0s ease 0.3s;
}
.l-footerPageTop.is-show {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}
.l-footerPageTop a {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: clamp(3.125rem, 2.499rem + 3.1298vw, 4.375rem);
  aspect-ratio: 1/1;
  overflow: hidden;
  font-size: clamp(1.125rem, 0.9998rem + 0.6259vw, 1.375rem);
  background-color: #555;
  box-shadow: var(--box-shadow-m);
  color: #fff;
  text-decoration: none;
}
.l-footerPageTop a::after {
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
  content: '\e807';
}
.l-footerPageTop a {
  transition: background-color 0.2s ease-out;
}
.l-footerPageTop a.is-hover {
  background-color: #003685;
}
/* 服部学園ブログ
 * -------------------------------------------------- */
.l-footer_hattoriBlog {
  display: flex;
  flex-direction: column;
  row-gap: 0.3125rem;
  align-items: center;
  font-size: clamp(1rem, 0.8525rem + 0.4545vw, 1.125rem);
}

/* カテゴリーリスト
 * -------------------------------------------------- */
.l-footerList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-block: 0.3125rem;
  margin-block-start: 1.25rem;
  border-block: 0.0625rem solid;
}

.l-footerList_item a {
  display: block;
  padding-block: 0.3125rem;
  padding-inline: 0.9375rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 2;
  color: #fff;
  text-decoration: none;
}
.l-footerList_item a span {
  display: inline-block;
  -webkit-text-decoration: underline transparent;
  text-decoration: underline transparent;
  text-underline-offset: 0.5em;
}
.l-footerList_item a span {
  transition: -webkit-text-decoration 0.2s ease-out;
  transition: text-decoration 0.2s ease-out;
  transition: text-decoration 0.2s ease-out, -webkit-text-decoration 0.2s ease-out;
}
.l-footerList_item a:is(.is-hover, [aria-current=page]) span {
  text-decoration: underline;
}
/* ロゴ
 * -------------------------------------------------- */
.l-footer_logo {
  margin-block-start: 2.5rem;
}
.l-footer_logo a {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.3125rem;
  column-gap: 0.3125rem;
  align-items: center;
  justify-content: center;
  min-block-size: 3.5rem;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
  margin-block-start: 1.25rem;
  font-size: clamp(1rem, 0.8525rem + 0.4545vw, 1.125rem);
  font-weight: 700;
  background-color: #fff;
  border-radius: var(--border-radius-s);
  color: #000;
  text-decoration: none;
}
.l-footer_logo a {
  transition: color 0.2s ease-out;
}
.l-footer_logo a::before {
  justify-self: end;
  content: '\e812';
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.l-footer_logo a.is-hover {
  color: #003685;
}

/* ------------------------------------------------------------
 * ヘッダー
 * ------------------------------------------------------------ */
.l-header {
  position: sticky;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 3;
  inline-size: 100%;
  padding-inline-start: var(--page-gap);
  background-color: #fff;
}

.l-header_inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  max-inline-size: 1400px;
  min-block-size: var(--header-height);
  margin-inline: auto;
}
/* スキップリンク
 * -------------------------------------------------- */
.l-header_skip {
  position: fixed;
  inset-block-start: 0.625rem;
  inset-inline-start: 0;
  inline-size: 100%;
  color: #fff;
  text-align: center;
}
.l-header_skip:not(:focus, :focus-within) {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.l-header_skip a {
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
  align-items: center;
  justify-content: center;
  min-block-size: 3.125rem;
  padding: 0.625rem var(--page-gap);
  text-align: center;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: var(--border-radius-infinity);
  backdrop-filter: blur(5px);
  color: inherit;
  text-decoration: none;
}
.l-header_skip a::before {
  content: "";
}
.l-header_skip a::after {
  inline-size: 0.625rem;
  block-size: 0.625rem;
  content: "";
  border-block-end: 0.125rem solid;
  border-inline-end: 0.125rem solid;
  transform: rotate(45deg);
}

/* ロゴ
 * -------------------------------------------------- */
.l-header_logo a {
  display: flex;
  -moz-column-gap: clamp(0.625rem, -0.1123rem + 2.2727vw, 1.25rem);
  column-gap: clamp(0.625rem, -0.1123rem + 2.2727vw, 1.25rem);
  align-items: center;
  block-size: 100%;
  font-size: clamp(0.625rem, 0.0352rem + 1.8181vw, 1.125rem);
  color: inherit;
  text-decoration: none;
}
.l-header_logo a img {
  inline-size: clamp(11.25rem, 2.4034rem + 27.2727vw, 18.75rem);
}
/* ボタン
 * -------------------------------------------------- */
.l-header_btn {
  display: flex;
  align-items: center;
  margin-inline: auto 1.25rem;
}
.l-header_btn a {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.3125rem;
  column-gap: 0.3125rem;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  min-block-size: 3.5rem;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  border: 0.0625rem solid;
  border-radius: var(--border-radius-s);
  color: #003685;
  text-decoration: none;
}
.l-header_btn a {
  transition: color 0.2s ease-out, background-color 0.2s ease-out, border-color 0.2s ease-out;
}
.l-header_btn a::before {
  justify-self: end;
  content: '\e812';
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.l-header_btn a.is-hover {
  color: #fff;
  background-color: #003685;
  border-color: #003685;
}
/* ハンバーガーメニューボタン
 * -------------------------------------------------- */
.l-headerBurger {
  margin-inline-start: auto;
}

.l-headerBurger_btn {
  position: relative;
  z-index: 1;
  block-size: 100%;
}
.l-headerBurger_btn span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  inline-size: 4.375rem;
  block-size: 100%;
}
.l-headerBurger_btn span {
  transition: color 0.2s ease-out, background-color 0.2s ease-out;
}
.l-headerBurger_btn span::before {
  font-size: 3rem;
  line-height: 1;
  content: '\e808';
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.l-headerBurger_btn.is-hover span {
  color: #fff;
  background-color: #003685;
}
body.is-menuShow .l-headerBurger_btn span {
  color: #fff;
}
body.is-menuShow .l-headerBurger_btn span::before {
  font-size: 1.375rem;
  content: '\e809';
}
body.is-menuShow .l-headerBurger_btn.is-hover span {
  color: #003685;
  background-color: #fff;
}
/* メニュー
 * -------------------------------------------------- */
.l-headerMenu {
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 100%;
  overflow-y: auto;
  background-color: #003685;
  animation-name: menu-hide;
  animation-duration: 0s;
  animation-fill-mode: forwards;
}
body.is-menuShow .l-headerMenu {
  animation-name: menu-show;
  animation-duration: 0.5s;
  animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  animation-fill-mode: forwards;
}
body.is-menuHide .l-headerMenu {
  animation-name: menu-hide;
  animation-duration: 0.5s;
  animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  animation-fill-mode: forwards;
}

.l-headerMenu_inner {
  max-inline-size: 1400px;
  block-size: 100%;
  padding-block-start: var(--header-height);
  padding-inline: var(--page-gap);
  margin-inline: auto;
}

@keyframes menu-show {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}
@keyframes menu-hide {
  0% {
    visibility: visible;
    opacity: 1;
  }
  100% {
    visibility: hidden;
    opacity: 0;
  }
}
.l-headerMenu_logo {
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: grid;
  inline-size: 100%;
  min-block-size: var(--header-height);
  padding-inline: var(--page-gap);
  background-color: #003685;
}
.l-headerMenu_logo a {
  display: flex;
  -moz-column-gap: clamp(0.625rem, -0.1123rem + 2.2727vw, 1.25rem);
  column-gap: clamp(0.625rem, -0.1123rem + 2.2727vw, 1.25rem);
  align-items: center;
  block-size: 100%;
  font-size: clamp(0.625rem, 0.0352rem + 1.8181vw, 1.125rem);
  color: #fff;
  text-decoration: none;
}
.l-headerMenu_logo a img {
  inline-size: clamp(11.25rem, 2.4034rem + 27.2727vw, 18.75rem);
}

.l-headerMenuNav {
  max-inline-size: 61.25rem;
  padding-block: clamp(1.25rem, 0.5127rem + 2.2727vw, 1.875rem) clamp(1.875rem, 0.4005rem + 4.5454vw, 3.125rem);
  padding-inline: clamp(0.9375rem, 0.155rem + 3.9123vw, 2.5rem);
  margin-block-start: clamp(1.25rem, -1.6989rem + 9.0909vw, 3.75rem);
  margin-inline: auto;
  background-color: #fff;
  border-radius: clamp(1.25rem, -0.2245rem + 4.5454vw, 2.5rem);
}

.l-headerMenuNavList_item:first-child a {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  max-inline-size: 19.375rem;
  min-block-size: 3.5rem;
  padding-block: 0.625rem;
  padding-inline: clamp(1.25rem, 0.937rem + 1.5649vw, 1.875rem);
  margin-inline: auto;
  font-size: clamp(1rem, 0.8525rem + 0.4545vw, 1.125rem);
  font-weight: 700;
  text-align: center;
  background-color: #f3f0eb;
  border: 0.0625rem solid #003685;
  border-radius: var(--border-radius-infinity);
  color: #003685;
  text-decoration: none;
}
.l-headerMenuNavList_item:first-child a {
  transition: color 0.2s ease-out, background-color 0.2s ease-out;
}
.l-headerMenuNavList_item:first-child a::after {
  font-size: 1.5rem;
  content: '\e816';
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.l-headerMenuNavList_item:first-child a.is-hover {
  color: #fff;
  background-color: #003685;
}

.l-headerMenuNavDetails {
  margin-block-start: 1.25rem;
}

.l-headerMenuNavDetails_summary {
  padding-block-end: 0.625rem;
  font-size: clamp(1.125rem, 0.9775rem + 0.4545vw, 1.25rem);
  font-weight: 700;
  line-height: 1.4;
  border-block-end: 0.0625rem solid #555;
}
.l-headerMenuNavDetails_summary span {
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
  align-items: center;
  padding-block: 0.625rem;
  padding-inline-start: 0.9375rem;
  border-inline-start: 0.375rem solid #003685;
}
.l-headerMenuNavDetails_summary span::after {
  content: '\e811';
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.l-headerMenuNavDetails_summary span:is(.l-headerMenuNavDetails[open] span)::after {
  content: '\e810';
}

.l-headerMenuNavDetails_content {
  overflow: hidden;
}

.l-headerMenu_btn {
  padding-block-end: 2.5rem;
  margin-block: 2.5rem;
  text-align: center;
}
.l-headerMenu_btn a {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.3125rem;
  column-gap: 0.3125rem;
  align-items: center;
  justify-content: center;
  min-block-size: 3.5rem;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
  font-size: clamp(1rem, 0.8525rem + 0.4545vw, 1.125rem);
  font-weight: 700;
  border: 0.0625rem solid;
  border-radius: var(--border-radius-s);
  color: #fff;
  text-decoration: none;
}
.l-headerMenu_btn a {
  transition: color 0.2s ease-out, background-color 0.2s ease-out, border-color 0.2s ease-out;
}
.l-headerMenu_btn a::before {
  justify-self: end;
  content: '\e812';
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.l-headerMenu_btn a.is-hover {
  color: #003685;
  background-color: #fff;
  border-color: #fff;
}
/* ------------------------------------------------------------
 * 服部学園公式SNS
 * ------------------------------------------------------------ */
.l-snsNav {
  padding-block: clamp(2.5rem, 1.0255rem + 4.5454vw, 3.75rem);
  padding-inline: var(--page-gap);
  margin-block-start: clamp(2.5rem, 1.0255rem + 4.5454vw, 3.75rem);
  border-image-source: linear-gradient(#f3f0eb, #f3f0eb);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vi;
}

.l-snsNav_heading {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.l-snsNavList {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem clamp(1.25rem, 0.5127rem + 2.2727vw, 1.875rem);
  justify-content: center;
  max-inline-size: 41.875rem;
  padding-block: clamp(1.25rem, -0.9617rem + 6.8181vw, 3.125rem);
  padding-inline: 1.25rem;
  margin-block-start: 1.25rem;
  margin-inline: auto;
  background-color: #fff;
  border-radius: var(--border-radius-2l);
}

.l-snsNavList_item a {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 3.75rem;
  aspect-ratio: 1/1;
  background-color: #ededed;
  border-radius: var(--border-radius-infinity);
  color: inherit;
  text-decoration: none;
}
.l-snsNavList_item a {
  transition: color 0.2s ease-out, background-color 0.2s ease-out;
}
.l-snsNavList_item a.is-hover {
  color: #fff;
  background-color: #003685;
}
.l-snsNavList_item a::before {
  font-size: 1.625rem;
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.l-snsNavList_item a[href*=youtube]::before {
  content: '\e821';
}
.l-snsNavList_item a[href*=tiktok]::before {
  content: '\e823';
}
.l-snsNavList_item a[href*=instagram]::before {
  content: '\e825';
}
.l-snsNavList_item a[href*="x.com"]::before {
  content: '\e822';
}
.l-snsNavList_item a[href*=facebook]::before {
  content: '\e820';
}
.l-snsNavList_item a[href*=line]::before {
  content: '\e824';
}

/* ------------------------------------------------------------
 * アーカイブリスト
 * ------------------------------------------------------------ */
.e-archiveList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(clamp(12.5rem, 7.3394rem + 15.909vw, 16.875rem), 100%), 1fr));
  gap: clamp(0.625rem, -0.1123rem + 2.2727vw, 1.25rem) clamp(1.25rem, -0.2245rem + 4.5454vw, 2.5rem);
  margin-block-start: 1.25rem;
}

.e-archiveList_item a {
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
  align-items: center;
  padding-block: 0.625rem;
  font-weight: 700;
  border-block-end: 0.0625rem solid #000;
  color: inherit;
  text-decoration: none;
}
.e-archiveList_item a {
  transition: color 0.2s ease-out;
}
.e-archiveList_item a::after {
  content: '\e816';
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.e-archiveList_item a:is(.is-hover, [aria-current=page]) {
  color: #003685;
}

/* ------------------------------------------------------------
 * パンくず
 * ------------------------------------------------------------ */
.e-breadcrumbs_list {
  --min-height: 3.125rem;
  --background-color-rgb: 255 255 255;
  --shadow-size: var(--page-gap);
  --shadow-color-rgb: 0 0 0;
  --shadow-opacity: 0.4;
  display: flex;
  padding-inline: var(--page-gap);
}
.e-breadcrumbs_list li a, .e-breadcrumbs_list li:last-child {
  display: flex;
  align-items: center;
  padding-block: 0.25em;
  font-size: 0.875rem;
  line-height: 1.6;
}
.e-breadcrumbs_list li a {
  color: #8d8d8d;
  text-decoration: none;
}
.e-breadcrumbs_list li a {
  transition: color 0.2s ease-out;
}
.e-breadcrumbs_list li a span {
  -webkit-text-decoration: underline transparent;
  text-decoration: underline transparent;
  text-underline-offset: 0.25em;
}
.e-breadcrumbs_list li a span {
  transition: color 0.2s ease-out, -webkit-text-decoration 0.2s ease-out;
  transition: color 0.2s ease-out, text-decoration 0.2s ease-out;
  transition: color 0.2s ease-out, text-decoration 0.2s ease-out, -webkit-text-decoration 0.2s ease-out;
}
.e-breadcrumbs_list li a.is-hover span {
  color: #000;
  text-decoration: underline;
}
.e-breadcrumbs_list li:not(:last-child) a {
  position: relative;
  padding-inline-end: calc(10px + 1.4em);
}
.e-breadcrumbs_list li:not(:last-child) a::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.75rem;
  font-size: 1.2em;
  content: "/";
  translate: 0 -50%;
}
/* ------------------------------------------------------------
 * 汎用ボタン
 * ------------------------------------------------------------ */
.e-btn {
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  -moz-column-gap: 0.3125rem;
  column-gap: 0.3125rem;
  align-items: center;
  justify-content: center;
  min-inline-size: 21.875rem;
  min-block-size: 3.75rem;
  padding: 0.625rem 1.5em;
  margin-block-start: 40px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  background-color: #003685;
  border: 0.0625rem solid #003685;
  transition: color 0.2s ease-out, background-color 0.2s ease-out, border-color 0.2s ease-out, transform 0.1s ease-out;
  color: #fff;
  text-decoration: none;
}
.e-btn:visited, .e-btn:hover, .e-btn:active {
  color: #fff;
}
.e-btn:active {
  transform: scale(0.98);
}
.e-btn::before {
  justify-self: end;
  content: '\e819';
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.e-btn.is-hover {
  color: #003685;
  background-color: #fff;
  border-color: currentcolor;
}
.e-btn[data-btn-width=auto] {
  min-inline-size: auto;
}
.e-btn[data-btn-width=fluid] {
  min-inline-size: 100%;
}
.e-btn[target=_blank]::before {
  content: '\e812';
}

/* ------------------------------------------------------------
 * 日付
 * ------------------------------------------------------------ */
.e-date {
  font-size: clamp(0.875rem, 0.7275rem + 0.4545vw, 1rem);
  font-weight: 700;
}
.e-date:is(.e-articleCard .e_date) {
  font-size: 0.75rem;
  font-weight: normal;
}
.e-date time {
  display: block;
  padding-block-start: 0.625rem;
  margin-block-start: 1.25rem;
  border-block-start: 1px solid;
}

/* ------------------------------------------------------------
 * 見出し
 * ------------------------------------------------------------ */
.e-headingStyle01 {
  position: relative;
  padding-block: 0.625rem;
  padding-inline-start: 0.9375rem;
  margin-block: clamp(2.5rem, 1.0255rem + 4.5454vw, 3.75rem) clamp(1.875rem, 1.1377rem + 2.2727vw, 2.5rem);
  font-size: clamp(1.125rem, 0.9775rem + 0.4545vw, 1.25rem);
  font-weight: 700;
  border-inline-start: 0.375rem solid #003685;
}
.e-headingStyle01::before {
  position: absolute;
  inset-block-end: calc(0.9375rem * -1);
  inset-inline-start: calc(0.375rem * -1);
  inline-size: calc(100% + 0.375rem);
  padding-block: 0.625rem;
  content: "";
  border-block-end: 0.0625rem solid #555;
}

/* ---------------------------------------------------------
	ページャー
---------------------------------------------------------- */
.e-pager {
  margin-block-start: 3.75rem;
}

.e-pagerList {
  display: flex;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
  align-items: center;
  justify-content: center;
}

.e-pagerList_item a, .e-pagerList_item[aria-disabled=true] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-block-size: 3.75rem;
}
.e-pagerList_item a {
  text-align: center;
  border: 0.125rem solid transparent;
  border-radius: var(--border-radius-infinity);
  color: inherit;
  text-decoration: none;
}
.e-pagerList_item a {
  transition: color 0.2s ease-out, background-color 0.2s ease-out;
}
.e-pagerList_item a.is-hover {
  color: #fff;
  background-color: #003685;
}
.e-pagerList_item:is(.is-prev, .is-next) {
  aspect-ratio: 1/1;
}
.e-pagerList_item:is(.is-prev, .is-next) a {
  aspect-ratio: 1/1;
  font-size: clamp(1.125rem, 0.9775rem + 0.4545vw, 1.25rem);
  color: #8d8d8d;
}
.e-pagerList_item:is(.is-prev, .is-next) a::before {
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.e-pagerList_item:is(.is-prev, .is-next) a.is-hover {
  color: #fff;
}
.e-pagerList_item.is-index {
  inline-size: min(15rem, 100%);
}
.e-pagerList_item.is-index a {
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
  font-size: clamp(1rem, 0.8525rem + 0.4545vw, 1.125rem);
  font-weight: 700;
}
.e-pagerList_item.is-prev a::before {
  content: '\e813';
}
.e-pagerList_item.is-next a::before {
  content: '\e814';
}

/* ------------------------------------------------------------
 * ページネーション
 * ------------------------------------------------------------ */
.e-pagination {
  margin-block-start: 3.75rem;
  container-type: inline-size;
  margin-inline: calc(var(--page-gap) * -1);
}

.e-pagination_list {
  display: flex;
  -moz-column-gap: clamp(0.3125rem, -0.0121rem + 0.8375vw, 0.625rem);
  column-gap: clamp(0.3125rem, -0.0121rem + 0.8375vw, 0.625rem);
  justify-content: center;
}
.e-pagination_list li {
  display: flex;
}
.e-pagination_list li a {
  color: inherit;
  text-decoration: none;
}
.e-pagination_list li a, .e-pagination_list li.is-current, .e-pagination_list li:empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-inline-size: clamp(3.125rem, 2.4759rem + 1.675vw, 3.75rem);
  min-block-size: clamp(3.125rem, 2.4759rem + 1.675vw, 3.75rem);
  padding-inline: 0.9375rem;
  font-size: clamp(1.25rem, 0.8605rem + 1.005vw, 1.625rem);
  font-weight: 700;
  text-align: center;
  border-radius: var(--border-radius-infinity);
}
.e-pagination_list li a, .e-pagination_list li.is-current, .e-pagination_list li:empty {
  transition: color 0.2s ease-out, background-color 0.2s ease-out;
}
.e-pagination_list li a.is-hover, .e-pagination_list li.is-current {
  color: #fff;
  background-color: #003685;
}
.e-pagination_list li:is(.is-first, .is-prev, .is-next, .is-last) a {
  font-size: clamp(1.125rem, 0.9951rem + 0.335vw, 1.25rem);
  color: #8d8d8d;
}
.e-pagination_list li:is(.is-first, .is-prev, .is-next, .is-last) a::before {
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.e-pagination_list li:is(.is-first, .is-prev, .is-next, .is-last) a.is-hover {
  color: #fff;
}
.e-pagination_list li.is-first a::before {
  content: '\e817';
}
.e-pagination_list li.is-prev a::before {
  content: '\e813';
}
.e-pagination_list li.is-next a::before {
  content: '\e814';
}
.e-pagination_list li.is-last a::before {
  content: '\e818';
}
.e-pagination_list li:empty {
  visibility: hidden;
}

@container (max-width: 38.75rem) {
  .e-pagination_list li:not([class]) {
    display: none;
  }
  .e-pagination_list li a, .e-pagination_list li.is-current, .e-pagination_list li:empty {
    min-inline-size: clamp(3.125rem, 2.4583rem + 3.3333vw, 3.75rem);
    min-block-size: clamp(3.125rem, 2.4583rem + 3.3333vw, 3.75rem);
  }
  .e-pagination_list li.is-current {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-block: 0.625rem;
    padding-inline: 1.25rem;
    font-size: 1rem;
  }
  .e-pagination_list li.is-current span {
    display: inline-flex;
    -moz-column-gap: 0.6em;
    column-gap: 0.6em;
  }
  .e-pagination_list li.is-current span::after {
    content: "";
    border: solid 0.0625rem;
    rotate: 30deg;
  }
  .e-pagination_list li.is-current::after {
    margin-inline-start: 0.6em;
    content: attr(data-last-page);
  }
}
/* ------------------------------------------------------------
 * 記事のカード
 * ------------------------------------------------------------ */
.e-postCard {
  line-height: 1.6;
}
.e-postCard a {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  color: inherit;
  text-decoration: none;
}
.e-postCard a.is-hover .e-postCard_pic img {
  scale: 1.2;
}
.e-postCard a.is-hover .e-postCard_heading span {
  background-size: 100% 0.0625rem;
}
.e-postCard a .e-date {
  margin-block-start: auto;
}

.e-postCard_heading {
  margin-block-start: 0.625rem;
  font-size: clamp(1rem, 0.8525rem + 0.4545vw, 1.125rem);
  font-weight: 700;
}
.e-postCard_heading span {
  background: linear-gradient(90deg, currentcolor 100%, transparent 0) no-repeat;
  background-position: left bottom;
  background-size: 0% 0.0625rem;
  transition: background-size 0.3s ease-in-out;
}

.e-postCard_pic {
  display: flex;
  align-items: center;
  justify-content: center;
  order: -1;
  aspect-ratio: 1.91/1;
  overflow: hidden;
  background-color: #f7f8f8;
  border-radius: var(--border-radius-m);
}
.e-postCard_pic img {
  inline-size: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.e-postCard_pic img {
  transition: scale 0.2s ease-out;
}

/* ------------------------------------------------------------
 * 記事のカテゴリーリスト
 * ------------------------------------------------------------ */
.e-postCategoryList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-block-start: 1.875rem;
}

.e-postCategoryList_item :is(a, span) {
  display: inline-block;
  padding-block: 0.3125rem;
  padding-inline: 1.25rem;
  font-size: clamp(1rem, 0.8525rem + 0.4545vw, 1.125rem);
  font-weight: 700;
  color: #fff;
  background-color: #555;
}
.e-postCategoryList_item a {
  text-decoration: none;
}
.e-postCategoryList_item a {
  transition: background-color 0.2s ease-out;
}
.e-postCategoryList_item a.is-hover {
  background-color: #003685;
}

.e-postCard .e-postCategoryList {
  margin-block-start: 1.25rem;
}
.e-postCard .e-postCategoryList_item span {
  padding-inline: 0.625rem;
  font-size: clamp(0.75rem, 0.6025rem + 0.4545vw, 0.875rem);
}

/* ------------------------------------------------------------
 * タグリスト
 * ------------------------------------------------------------ */
.e-tagList {
  display: flex;
  flex-wrap: wrap;
  margin-block-start: 1.25rem;
  margin-inline: -5px;
}
.e-tagList:is(.e-postCard .e-tagList) {
  margin-block-start: 0.625rem;
}

.e-tagList_item a,
.e-tagList_item > span {
  display: block;
  padding: 0.3125rem;
}
.e-tagList_item a > span,
.e-tagList_item > span > span {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.3125rem;
  column-gap: 0.3125rem;
  align-items: center;
  padding-block: 0.3125rem;
  padding-inline: 0.625rem;
  font-size: 0.75rem;
  line-height: 1.4;
  border: 0.0625rem solid #000;
  border-radius: var(--border-radius-infinity);
}
.e-tagList_item a > span,
.e-tagList_item > span > span {
  transition: color 0.2s ease-out, background-color 0.2s ease-out, border-color 0.2s ease-out;
}
.e-tagList_item a > span::before,
.e-tagList_item > span > span::before {
  content: '\e826';
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  speak: none;
}
.e-tagList_item a {
  color: inherit;
  text-decoration: none;
}
.e-tagList_item a:is(.is-hover, [aria-current=page]) > span {
  color: #fff;
  background-color: #003685;
  border-color: #003685;
}

/* ------------------------------------------------------------
 * タイトル
 * ------------------------------------------------------------ */
.e-title {
  font-size: clamp(1.75rem, 1.4551rem + 0.909vw, 2rem);
  font-weight: 700;
  line-height: 1.4;
}

/* ------------------------------------------------------------
 * 記事リスト
 * ------------------------------------------------------------ */
.m-postList {
  padding-block: clamp(2.5rem, 1.0255rem + 4.5454vw, 3.75rem);
  padding-inline: clamp(0.625rem, -0.1123rem + 2.2727vw, 1.25rem);
}
.m-postList:is(.home .m-postList) {
  border-image-source: linear-gradient(#f3f0eb, #f3f0eb);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vi;
}
.m-postList:is(.e-headingStyle01 + .m-postList) {
  padding-block-start: 1.25rem;
}

.m-postList_inner {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(clamp(13.125rem, 7.9644rem + 15.909vw, 17.5rem), 100%), 1fr));
  gap: 2.5rem clamp(1.25rem, -0.2245rem + 4.5454vw, 2.5rem);
}

.m-postList_btn {
  text-align: center;
}

/* ------------------------------------------------------------
 * ディスプレイ
 * ------------------------------------------------------------ */
.u-dbl {
  display: block;
}

.u-dinbl {
  display: inline-block;
}

.u-din {
  display: inline;
}

/* ------------------------------------------------------------
 * フォントウェイト
 * ------------------------------------------------------------ */
.u-fwb {
  font-weight: bold !important;
}

.u-fwn {
  font-weight: normal !important;
}

/* ------------------------------------------------------------
 * メディアクエリによって要素を消す
 * ------------------------------------------------------------ */
/* 以上
* -------------------------------------------------- */
/* 以下
* -------------------------------------------------- */
/* ブレイクポイント間
* -------------------------------------------------- */
/* ------------------------------------------------------------
 * リスト
 * ------------------------------------------------------------ */
/* 順序あり、順序なしリスト共通
* -------------------------------------------------- */
.u-list li {
  margin-inline-start: 1.5em;
}

/* 順序なしリスト
* -------------------------------------------------- */
ul.u-list {
  list-style-type: disc;
  /* 白丸 */
  /* 黒四角 */
}
ul.u-list.is-circle {
  list-style-type: circle;
}
ul.u-list.is-square {
  list-style-type: square;
}

/* 順序ありリスト
* -------------------------------------------------- */
ol.u-list {
  list-style-type: decimal;
  /* 算用数字（先頭に0） */
  /* ローマ数字（小文字） */
  /* ローマ数字（大文字） */
  /* 漢数字 */
  /* ひらがな（あいうえお順） */
  /* ひらがな（いろはにほへと順） */
  /* カタカナ（アイウエオ順） */
  /* カタカナ（イロハニホヘト順） */
  /* アルファベット（小文字） */
  /* アルファベット（大文字） */
}
ol.u-list.is-decimal-leading-zero {
  list-style-type: decimal-leading-zero;
}
ol.u-list.is-lower-roman {
  list-style-type: lower-roman;
}
ol.u-list.is-upper-roman {
  list-style-type: upper-roman;
}
ol.u-list.is-cjk-ideographic {
  list-style-type: cjk-ideographic;
}
ol.u-list.is-hiragana {
  list-style-type: hiragana;
}
ol.u-list.is-hiragana-iroha {
  list-style-type: hiragana-iroha;
}
ol.u-list.is-katakana {
  list-style-type: katakana;
}
ol.u-list.is-katakana-iroha {
  list-style-type: katakana-iroha;
}
ol.u-list.is-lower-alpha {
  list-style-type: lower-alpha;
}
ol.u-list.is-upper-alpha {
  list-style-type: upper-alpha;
}

/* ------------------------------------------------------------
 * マージン
 * ------------------------------------------------------------ */
.u-mt5 {
  margin-block-start: 5px !important;
}

.u-mr5 {
  margin-inline-end: 5px !important;
}

.u-mb5 {
  margin-block-end: 5px !important;
}

.u-ml5 {
  margin-inline-start: 5px !important;
}

.u-mt10 {
  margin-block-start: 10px !important;
}

.u-mr10 {
  margin-inline-end: 10px !important;
}

.u-mb10 {
  margin-block-end: 10px !important;
}

.u-ml10 {
  margin-inline-start: 10px !important;
}

.u-mt15 {
  margin-block-start: 15px !important;
}

.u-mr15 {
  margin-inline-end: 15px !important;
}

.u-mb15 {
  margin-block-end: 15px !important;
}

.u-ml15 {
  margin-inline-start: 15px !important;
}

.u-mt20 {
  margin-block-start: 20px !important;
}

.u-mr20 {
  margin-inline-end: 20px !important;
}

.u-mb20 {
  margin-block-end: 20px !important;
}

.u-ml20 {
  margin-inline-start: 20px !important;
}

.u-mt25 {
  margin-block-start: 25px !important;
}

.u-mr25 {
  margin-inline-end: 25px !important;
}

.u-mb25 {
  margin-block-end: 25px !important;
}

.u-ml25 {
  margin-inline-start: 25px !important;
}

.u-mt30 {
  margin-block-start: 30px !important;
}

.u-mr30 {
  margin-inline-end: 30px !important;
}

.u-mb30 {
  margin-block-end: 30px !important;
}

.u-ml30 {
  margin-inline-start: 30px !important;
}

.u-mt35 {
  margin-block-start: 35px !important;
}

.u-mr35 {
  margin-inline-end: 35px !important;
}

.u-mb35 {
  margin-block-end: 35px !important;
}

.u-ml35 {
  margin-inline-start: 35px !important;
}

.u-mt40 {
  margin-block-start: 40px !important;
}

.u-mr40 {
  margin-inline-end: 40px !important;
}

.u-mb40 {
  margin-block-end: 40px !important;
}

.u-ml40 {
  margin-inline-start: 40px !important;
}

.u-mt45 {
  margin-block-start: 45px !important;
}

.u-mr45 {
  margin-inline-end: 45px !important;
}

.u-mb45 {
  margin-block-end: 45px !important;
}

.u-ml45 {
  margin-inline-start: 45px !important;
}

.u-mt50 {
  margin-block-start: 50px !important;
}

.u-mr50 {
  margin-inline-end: 50px !important;
}

.u-mb50 {
  margin-block-end: 50px !important;
}

.u-ml50 {
  margin-inline-start: 50px !important;
}

.u-mt1em {
  margin-block-start: 1em !important;
}

.u-mt1_5em {
  margin-block-start: 1.5em !important;
}

.u-mt2em {
  margin-block-start: 2em !important;
}

.u-mt2_5em {
  margin-block-start: 2.5em !important;
}

.u-mt3em {
  margin-block-start: 3em !important;
}

/* ------------------------------------------------------------
 * パディング
 * ------------------------------------------------------------ */
.u-pt5 {
  padding-block-start: 5px !important;
}

.u-pr5 {
  padding-inline-end: 5px !important;
}

.u-pb5 {
  padding-block-end: 5px !important;
}

.u-pl5 {
  padding-inline-start: 5px !important;
}

.u-pt10 {
  padding-block-start: 10px !important;
}

.u-pr10 {
  padding-inline-end: 10px !important;
}

.u-pb10 {
  padding-block-end: 10px !important;
}

.u-pl10 {
  padding-inline-start: 10px !important;
}

.u-pt15 {
  padding-block-start: 15px !important;
}

.u-pr15 {
  padding-inline-end: 15px !important;
}

.u-pb15 {
  padding-block-end: 15px !important;
}

.u-pl15 {
  padding-inline-start: 15px !important;
}

.u-pt20 {
  padding-block-start: 20px !important;
}

.u-pr20 {
  padding-inline-end: 20px !important;
}

.u-pb20 {
  padding-block-end: 20px !important;
}

.u-pl20 {
  padding-inline-start: 20px !important;
}

.u-pt25 {
  padding-block-start: 25px !important;
}

.u-pr25 {
  padding-inline-end: 25px !important;
}

.u-pb25 {
  padding-block-end: 25px !important;
}

.u-pl25 {
  padding-inline-start: 25px !important;
}

.u-pt30 {
  padding-block-start: 30px !important;
}

.u-pr30 {
  padding-inline-end: 30px !important;
}

.u-pb30 {
  padding-block-end: 30px !important;
}

.u-pl30 {
  padding-inline-start: 30px !important;
}

.u-pt35 {
  padding-block-start: 35px !important;
}

.u-pr35 {
  padding-inline-end: 35px !important;
}

.u-pb35 {
  padding-block-end: 35px !important;
}

.u-pl35 {
  padding-inline-start: 35px !important;
}

.u-pt40 {
  padding-block-start: 40px !important;
}

.u-pr40 {
  padding-inline-end: 40px !important;
}

.u-pb40 {
  padding-block-end: 40px !important;
}

.u-pl40 {
  padding-inline-start: 40px !important;
}

.u-pt45 {
  padding-block-start: 45px !important;
}

.u-pr45 {
  padding-inline-end: 45px !important;
}

.u-pb45 {
  padding-block-end: 45px !important;
}

.u-pl45 {
  padding-inline-start: 45px !important;
}

.u-pt50 {
  padding-block-start: 50px !important;
}

.u-pr50 {
  padding-inline-end: 50px !important;
}

.u-pb50 {
  padding-block-end: 50px !important;
}

.u-pl50 {
  padding-inline-start: 50px !important;
}

/* ------------------------------------------------------------
 * 横位置
 * ------------------------------------------------------------ */
.u-tac {
  text-align: center !important;
}

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

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

/* ------------------------------------------------------------
 * インデント
 * ------------------------------------------------------------ */
.u-indent {
  margin-inline-start: 1em;
  text-indent: -1em;
}
.u-indent_1_5 {
  margin-inline-start: 1.5em;
  text-indent: -1.5em;
}
.u-indent_2 {
  margin-inline-start: 2em;
  text-indent: -2em;
}
.u-indent_2_5 {
  margin-inline-start: 2.5em;
  text-indent: -2.5em;
}
.u-indent_3 {
  margin-inline-start: 3em;
  text-indent: -3em;
}

ol.u-indent,
ul.u-indent {
  margin-inline-start: 0 !important;
  text-indent: 0 !important;
}
ol.u-indent li,
ul.u-indent li {
  margin-inline-start: 1em;
  text-indent: -1em;
}
ol.u-indent_1_5,
ul.u-indent_1_5 {
  margin-inline-start: 1.5em;
  text-indent: -1.5em;
}
ol.u-indent_2 li,
ul.u-indent_2 li {
  margin-inline-start: 2em;
  text-indent: -2em;
}
ol.u-indent_2_5 li,
ul.u-indent_2_5 li {
  margin-inline-start: 2.5em;
  text-indent: -2.5em;
}
ol.u-indent_3 li,
ul.u-indent_3 li {
  margin-inline-start: 3em;
  text-indent: -3em;
}

/* ------------------------------------------------------------
 * 文字変換
 * ------------------------------------------------------------ */
.u-upper {
  text-transform: uppercase;
}

/* ------------------------------------------------------------
 * 縦位置
 * ------------------------------------------------------------ */
.u-vat {
  vertical-align: top !important;
}

.u-vam {
  vertical-align: middle !important;
}

.u-vab {
  vertical-align: bottom !important;
}

/* ------------------------------------------------------------
 * 横幅
 * ------------------------------------------------------------ */
.u-w_fluid {
  inline-size: 100% !important;
}

.u-w_auto {
  inline-size: auto !important;
}@media (min-width: 519.98px) and (max-width: 959px) {
  .u-mediumHide {
    display: none;
  }
}@media not all and (max-width: 32.4375rem) {
  .u-minSmallHide {
    display: none;
  }
}@media not all and (max-width: 76.0625rem) {
  .u-minLargeHide {
    display: none;
  }
}@media not all and (max-width: 59.9375rem) {
  .l-headerBurger_btn {
    padding-block: 0.625rem;
  }
  .e-breadcrumbs_list {
    flex-wrap: wrap;
    align-items: center;
    max-inline-size: calc(75rem + var(--page-gap) * 2);
    min-block-size: var(--min-height);
    padding-block: 0.625rem;
    margin-inline: auto;
  }
  .u-minMediumHide {
    display: none;
  }
}@media not all and (max-width: 86.25rem) {
  .l-footerPageTop {
    inset-inline-start: 50%;
    margin-inline-start: 37.5rem;
  }
}@media (max-width: 86.25rem) {
  .l-footerPageTop {
    inset-inline-end: var(--page-gap);
  }
}@media (max-width: 76.0625rem) {
  .u-maxLargeHide {
    display: none;
  }
}@media (max-width: 59.9375rem) {
  .l-header_btn {
    display: none;
  }
  .e-breadcrumbs_list {
    flex-wrap: nowrap;
    overflow-x: auto;
    background: linear-gradient(90deg, rgb(var(--background-color-rgb)) 50%, rgb(var(--background-color-rgb)/0)), linear-gradient(90deg, rgb(var(--background-color-rgb)/0), rgb(var(--background-color-rgb)) 50%) 0 100%, radial-gradient(farthest-side at 0 50%, rgb(var(--shadow-color-rgb)/var(--shadow-opacity)), transparent), radial-gradient(farthest-side at 100% 50%, rgb(var(--shadow-color-rgb)/var(--shadow-opacity)), transparent) 0 100%;
    background-color: rgb(var(--background-color-rgb));
    background-repeat: no-repeat;
    background-attachment: local, local, scroll, scroll;
    background-position: 0 0, 100%, 0 0, 100%;
    background-size: calc(var(--shadow-size) * 2) 100%, calc(var(--shadow-size) * 2) 100%, var(--shadow-size) 100%, var(--shadow-size) 100%;
  }
  .e-breadcrumbs_list li {
    white-space: nowrap;
  }
  .e-breadcrumbs_list li a, .e-breadcrumbs_list li:last-child {
    min-block-size: var(--min-height);
  }
  .u-maxMediumHide {
    display: none;
  }
}@media (max-width: 32.4375rem) {
  .l-footerList {
    flex-direction: column;
  }
  .l-footerList_item a {
    padding-block: 0.625rem;
  }
  .l-header_logo a {
    flex-direction: column;
    row-gap: 0.3125rem;
    align-items: flex-start;
    justify-content: center;
  }
  .l-headerMenu_logo a {
    flex-direction: column;
    row-gap: 0.3125rem;
    align-items: flex-start;
    justify-content: center;
  }
  .e-btn {
    inline-size: 100%;
    min-inline-size: auto !important;
    max-inline-size: 25rem;
  }
  .e-btn.is-hover {
    transform: scale(0.98);
  }
  .u-maxSmallHide {
    display: none;
  }
}@media (max-height: 480px) {
  .l-header {
    position: relative !important;
  }
}@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after,
  ::backdrop {
    background-attachment: initial !important;
    transition-delay: 0s !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-delay: -1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
