@charset "UTF-8";
/* --------------------------------------------------------------
# 共通CSS
# 全てのページで一番目に読み込むこと
-------------------------------------------------------------- */
/* --------------------------------------------------------------
# 初期設定
-------------------------------------------------------------- */
@import 'https://fonts.googleapis.com/earlyaccess/notosansjp.css';
/* 初期化CSS
# https://coliss.com/articles/build-websites/operation/css/acab-reset-css.html
-------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

[hidden]:not([hidden=until-found]) {
  display: none !important;
}

html {
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
          text-size-adjust: none;
  color-scheme: dark light;
}

@supports not (min-block-size: 100dvb) {
  html {
    height: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}
body {
  font-family: system-ui, sans-serif;
  line-height: 1.5;
  /* block-size: 100%;
  block-size: 100dvb; */
  height: 100%;
  height: 100dvb;
  -webkit-font-smoothing: antialiased;
}

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

textarea {
  resize: vertical;
  resize: block;
}

button, label, select, summary, a, [role=button], [role=option] {
  cursor: pointer;
}

:disabled {
  cursor: not-allowed;
}

label:has(> input:disabled), label:has(+ input:disabled) {
  cursor: not-allowed;
}

button {
  border-style: solid;
}

button:disabled {
  border: #ccc !important;
  background-color: #ccc !important;
}

a {
  text-underline-offset: 0.2ex;
}

ul, ol {
  list-style: none;
}

img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
}

img, picture, svg {
  /* max-inline-size: 100%;
  block-size: auto; */
  max-width: 100%;
  height: auto;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

h1, h2, h3 {
  line-height: calc(1em + 0.5rem);
}

hr {
  overflow: visible;
  color: inherit;
  border: none;
  /* border-block-start: 1px solid;
  block-size: 0; */
  border-top: 1px solid;
  height: 0;
}

:focus-visible {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 色設定
-------------------------------------------------------------- */
:root {
  /* カラーパレット */
  --blue: #207ac7;
  --dark-blue: #272c38;
  --green: #00c24b;
  --red: #d84910;
  --white: #fff;
  --black: #252525;
  --gray-100: #212429;
  --gray-300: #495057;
  --gray-500: #acb5bd;
  --gray-700: #dde2e5;
  --gray-900: #f8f9fa;
  /* メインカラー（指定したい変数またはカラーコードを指定する） */
  /* ボタン影カラー */
  --button-shadow: #395a77;
}

/* -------------------------------------------------------------- 
# 標準スタイル
-------------------------------------------------------------- */
html {
  color-scheme: normal;
}

body {
  font-family: Arial, "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--black, #252525);
  background-color: var(--gray-900, #f8f9fa);
}

a {
  color: var(--blue, #207ac7);
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a:hover {
    text-decoration: underline;
  }
}

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

/* レスポンシブ非表示用
#  https://www.tam-tam.co.jp/tipsnote/html_css/post10708.html
--------------------------------------------- */
@media screen and (min-width: 640px) {
  .mq-dn-up-sm {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .mq-dn-up-md {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .mq-dn-up-lg {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .mq-dn-up-xl {
    display: none;
  }
}
@media screen and (max-width: 639px) {
  .mq-dn-dowm-sm {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .mq-dn-dowm-md {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .mq-dn-dowm-lg {
    display: none;
  }
}
@media screen and (max-width: 1279px) {
  .mq-dn-dowm-xl {
    display: none;
  }
}
/* -------------------------------------------------------------- 
# レイアウト
-------------------------------------------------------------- */
.container {
  max-width: calc(1000px + 2em);
  /* padding-inline: $container-padding;
  margin-inline: auto; */
  padding-left: 1em;
  padding-right: 1em;
  margin-left: auto;
  margin-right: auto;
}

.section {
  /* margin-block-start: 2rem;
  margin-block-end: 3.5rem; */
  margin-top: 2rem;
  margin-bottom: 3.5rem;
}

.grid-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  row-gap: 1.5rem;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
@supports not (row-gap: 1.5rem) {
  .grid-content {
    grid-row-gap: 1.5rem;
  }
}

ul {
  list-style: none;
}

/* --------------------------------------------------------------
# コンポーネント
-------------------------------------------------------------- */
/* ボタン
--------------------------------------------- */
.button-home-nav, .button-nav, .button-secondary, .col-button-primary, .button-primary {
  display: inline-block;
  width: 100%;
  text-decoration: none;
  cursor: pointer;
  background: none;
  border: none;
}
@media screen and (min-width: 768px) {
  .button-home-nav, .button-nav, .button-secondary, .col-button-primary, .button-primary {
    width: auto;
  }
  .button-home-nav:hover, .button-nav:hover, .button-secondary:hover, .col-button-primary:hover, .button-primary:hover {
    text-decoration: none;
  }
}
.button-home-nav .button-inner, .button-nav .button-inner, .button-secondary .button-inner, .col-button-primary .button-inner, .button-primary .button-inner {
/* 	READMINE-13403 20240815 BEGIN DELETE 
  height: 100%; 
	READMINE-13403 20240815 END DELETE */
  /* padding-block: 0.75em;
  padding-inline: 1em; */
  padding: 0.75em 1em;
  text-align: center;
  border-radius: 8px;
  /* ボタンに矢印が付く場合の処理 */
}
@media screen and (min-width: 768px) {
  .button-home-nav .button-inner, .button-nav .button-inner, .button-secondary .button-inner, .col-button-primary .button-inner, .button-primary .button-inner {
    /* padding-inline: 1.5em; */
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
}
.button-home-nav .button-inner.arrow, .button-nav .button-inner.arrow, .button-secondary .button-inner.arrow, .col-button-primary .button-inner.arrow, .button-primary .button-inner.arrow, .button-home-nav .button-inner.arrow-white, .button-nav .button-inner.arrow-white, .button-secondary .button-inner.arrow-white, .col-button-primary .button-inner.arrow-white, .button-primary .button-inner.arrow-white {
  /* padding-inline-end: 1.5em; */
  padding-right: 1.5em;
}
.button-home-nav .button-inner.arrow::after, .button-nav .button-inner.arrow::after, .button-secondary .button-inner.arrow::after, .col-button-primary .button-inner.arrow::after, .button-primary .button-inner.arrow::after, .button-home-nav .button-inner.arrow-white::after, .button-nav .button-inner.arrow-white::after, .button-secondary .button-inner.arrow-white::after, .col-button-primary .button-inner.arrow-white::after, .button-primary .button-inner.arrow-white::after {
  right: 0.25rem;
}
@media screen and (min-width: 768px) {
  .button-home-nav .button-inner.arrow, .button-nav .button-inner.arrow, .button-secondary .button-inner.arrow, .col-button-primary .button-inner.arrow, .button-primary .button-inner.arrow, .button-home-nav .button-inner.arrow-white, .button-nav .button-inner.arrow-white, .button-secondary .button-inner.arrow-white, .col-button-primary .button-inner.arrow-white, .button-primary .button-inner.arrow-white {
    /* padding-inline-end: 2em; */
    padding-right: 2em;
  }
}

.button-primary .button-inner {
  color: var(--white, #fff);
  background-color: var(--main-color, #252525);
  border: 1px solid var(--main-color, #252525);
}

.col-button-primary {
  font-size: 13px;
}
.col-button-primary .button-inner {
  color: var(--white, #fff);
  background-color: var(--main-color, #252525);
  border: 1px solid var(--main-color, #252525);
  padding: 0.5em 1em;
  cursor: pointer;
}
.col-button-primary .arrow-white::after {
  height: 20px;
}

.button-secondary .button-inner {
  color: var(--black, #252525);
  background-color: var(--white, #fff);
  border: 1px solid var(--gray-500, #acb5bd);
}

.button-nav .button-inner {
  display: flex;
  flex-direction: column;
  row-gap: 0.5em;
  margin-bottom: 0.5em;
  justify-content: center;
  color: var(--white, #fff);
  background-color: var(--main-color, #252525);
  border: 1px solid var(--main-color, #252525);
  border-radius: 8px;
  box-shadow: 0 4px 0 0 var(--button-shadow, #395a77);
}
.button-nav .button-inner .icon {
  height: 60px;
}
@supports not (row-gap: 0.5em) {
  .button-nav .button-inner .icon:not(:last-child) {
    margin-bottom: 0.5em;
  }
}
@supports not (row-gap: 0.5em) {
  .button-nav .button-inner .text:not(:last-child) {
    margin-bottom: 0.5em;
  }
}
@media screen and (min-width: 768px) {
  .button-nav:hover .button-inner {
    box-shadow: none;
    translate: 0 4px 0;
  }
}

.button-home-nav {
  color: var(--white, #fff);
  background-color: var(--main-color, #252525);
  border: 1px solid var(--main-color, #252525);
  border-radius: 8px;
  box-shadow: 0 4px 0 0 var(--button-shadow, #395a77);
}
.button-home-nav .button-inner {
  display: flex;
  flex-direction: column;
  row-gap: 0.5em;
  margin-bottom: 0.5em;
  justify-content: center;
}
.button-home-nav .button-inner .icon {
  height: 60px;
}
@supports not (row-gap: 0.5em) {
  .button-home-nav .button-inner .icon:not(:last-child) {
    margin-bottom: 0.5em;
  }
}
@supports not (row-gap: 0.5em) {
  .button-home-nav .button-inner .text:not(:last-child) {
    margin-bottom: 0.5em;
  }
}
@media screen and (min-width: 768px) {
  .button-home-nav:hover .button-inner {
    box-shadow: none;
    translate: 0 4px 0;
  }
}

.button-wrap {
  /* margin-block: 2rem; */
  margin-top: 2rem;
  margin-bottom: 2rem;
  text-align: center;
}

/* 矢印
--------------------------------------------- */
.arrow-white, .arrow {
  position: relative;
  display: block;
  /* padding-inline-end: 1.5rem; */
  padding-right: 1.5rem;
}
.arrow-white::after, .arrow::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  margin: auto;
  content: "";
  -webkit-mask-image: url("../img/icons/arrow.svg");
          mask-image: url("../img/icons/arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.arrow::after {
  background-color: var(--main-color, #252525);
}

.arrow-white::after {
  background-color: var(--white, #fff);
}

/* 見出し
--------------------------------------------- */
.caption {
  /* padding-block-end: 0.5rem;
  margin-block-end: 1.5rem; */
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  border-bottom: 1px solid var(--main-color, #252525);
}

/* テーブル
--------------------------------------------- */
.table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--gray-500, #acb5bd);
}
.table tr > * + * {
  border-top: 1px solid var(--gray-500, #acb5bd);
}
@media screen and (min-width: 768px) {
  .table tr > * + * {
    border-top: none;
    border-left: 1px solid var(--gray-500, #acb5bd);
  }
}
.table tr + tr > * {
  border-top: 1px solid var(--gray-500, #acb5bd);
}
.table th,
.table td {
  display: block;
  /* padding-block: 0.75em;
  padding-inline: 1.25em; */
  padding: 0.75em 1.25em;
  font-weight: normal;
  color: var(--gray-300, #495057);
  text-align: left;
}
@media screen and (min-width: 768px) {
  .table th,
  .table td {
    display: table-cell;
  }
}
.table th {
  background-color: var(--gray-700, #dde2e5);
}
.table td {
  background-color: var(--white, #fff);
}

/* 注釈
--------------------------------------------- */
ol.note li, ul.note li {
  position: relative;
  font-size: 0.75rem;
  line-height: 1rem;
  color: var(--gray-500, #acb5bd);
}
ol.note li::before, ul.note li::before {
  position: absolute;
  top: 0;
  left: 0;
}

ul.note li {
  /* padding-inline-start: 1.25em; */
  padding-left: 1.25em;
}
ul.note li::before {
  content: "※";
}

ol.note li {
  /* ※の後の数字に入る桁数で余白を調整 */
  /* padding-inline-start: 2em; */
  padding-left: 2em;
  counter-increment: count 1;
}
ol.note li::before {
  content: "※" counter(count);
}

/* ヘッダー
--------------------------------------------- */
.header-wrap {
  /* padding-block: 0.5em; */
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  background-color: var(--white, #fff);
}
@media screen and (min-width: 768px) {
  .header-wrap {
    /* padding-block: 1.5em; */
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
}
.header-wrap .header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-wrap .header .logo img {
  width: auto;
  height: 35px;
}
@media screen and (min-width: 768px) {
  .header-wrap .header .logo img {
    height: 50px;
  }
}
.header-wrap .header .logout {
  width: auto;
}
@media screen and (max-width: 767px) {
  .header-wrap .header .logout .button-inner {
    /* padding-block: 0.25em; */
    padding-top: 0.25em;
    padding-bottom: 0.25em;
  }
}

/* メインビジュアル
--------------------------------------------- */
.mainv {
  /* padding-block: 1.75rem; */
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
  text-align: center;
  background-color: var(--main-color);
}
@media screen and (min-width: 768px) {
  .mainv {
    /* padding-block: 0.5rem; */
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: left;
    background-color: var(--white, #fff);
  }
  .mainv:not(:has(+ #main-nav)) {
    /* 隣接する要素にメインナビゲーションがない時 */
    /* padding-block-end: 2rem; */
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--gray-700, #dde2e5);
  }
}
.mainv .page-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
  color: var(--white, #fff);
}
@media screen and (min-width: 768px) {
  .mainv .page-title {
    font-size: 3rem;
    line-height: 1;
    color: var(--black, #252525);
  }
}

/* メインナビゲーション
--------------------------------------------- */
.main-nav .main-nav-list a:hover, .main-nav .main-nav-list a.current {
  color: var(--black, #252525);
  border-bottom-color: var(--main-color, #252525);
}

.main-nav {
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: var(--white, #fff);
  border-bottom: 1px solid var(--gray-700, #dde2e5);
}
@media screen and (max-width: 767px) {
  .main-nav {
    display: none;
  }
}
.main-nav .main-nav-list {
  display: grid;
  /* 全角8文字程度の最小横幅を確保して改行させる */
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  gap: 0.5rem;
}
@supports not (gap: 0.5rem) {
  .main-nav .main-nav-list {
    grid-gap: 0.5rem;
  }
}
.main-nav .main-nav-list a {
  display: block;
  /* padding-block-start: 0.5em;
  padding-block-end: 0.75em; */
  padding-top: 0.5em;
  padding-bottom: 0.75em;
  color: var(--gray-500, #acb5bd);
  text-decoration: none;
  border-bottom: 0.25rem solid transparent;
}
/* パンくずリスト
--------------------------------------------- */
.breadcrumbs {
  display: flex;
  align-items: center;
  /* margin-block: 0.75rem; */
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.breadcrumbs > * + *::before {
  /* margin-inline: 0.25rem; */
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  content: ">";
}
.breadcrumbs li {
  font-size: 0.75rem;
  color: var(--gray-500, #acb5bd);
}
.breadcrumbs li a {
  color: var(--gray-500, #acb5bd);
}

/* ページネーション
--------------------------------------------- */
.visuallyhidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

.pagination {
  display: flex;
  justify-content: center;
  text-align: center;
}
.pagination a {
  display: inline-block;
  padding: 0.5rem 0.7rem;
  color: var(--black, #252525);
  text-decoration: none;
  background-color: var(--gray-700, #dde2e5);
  border-radius: 8px;
}
.pagination a:hover, .pagination a:focus {
  color: var(--white, #fff);
  background-color: var(--main-color, #207ac7);
}

.pagination-prev::before {
  content: "<";
}

.pagination-next::before {
  content: ">";
}

.pagination-items {
  display: flex;
  padding: 0;
  margin: 0;
  margin: 0 1px;
  list-style: none;
  counter-reset: pagination;
}
.pagination-items li {
  position: absolute;
  top: -100vh;
  margin: 0 1px;
  counter-increment: pagination;
}
.pagination-items li:first-child, .pagination-items li:last-child {
  position: static;
}
.pagination-items li.is-active {
  position: static;
}
.pagination-items li.is-active:not(:nth-child(1), :nth-child(2))::before {
  display: inline-block;
  padding: 0.5rem 0.7rem;
  margin-right: 2px;
  content: "...";
  background-color: var(--gray-700, #dde2e5);
  border-radius: 8px;
}
.pagination-items li.is-active + li, .pagination-items li.is-active + li + li {
  position: static;
}
.pagination-items li.is-active + li + li:not(:last-child, :nth-last-child(2))::after {
  display: inline-block;
  padding: 0.5rem 0.7rem;
  margin-left: 2px;
  content: "...";
  background-color: var(--gray-700, #dde2e5);
  border-radius: 8px;
}
.pagination-items a::before {
  content: counter(pagination);
}
.pagination-items .is-active a {
  color: var(--white, #fff);
  background-color: var(--main-color, #207ac7);
}

/* Banner
--------------------------------------------- */
.banner a {
  display: flex;
  justify-content: center;
}

/* SNS
--------------------------------------------- */
.sns .sns-nav .sns-nav-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(3.5rem, 1fr));
  gap: 1.5rem;
}
@supports not (gap: 1.5rem) {
  .sns .sns-nav .sns-nav-list {
    grid-gap: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .sns .sns-nav .sns-nav-list {
    gap: 2.5rem;
  }
  @supports not (gap: 2.5rem) {
    .sns .sns-nav .sns-nav-list {
      grid-gap: 2.5rem;
    }
  }
}
.sns .sns-nav .sns-nav-list .icon {
  max-height: 3.5rem;
}

/* Aside
--------------------------------------------- */
.aside {
  /* margin-block-start: 4rem; */
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .aside {
    /* margin-block-start: 5rem; */
    margin-top: 5rem;
  }
}

/* フッター
--------------------------------------------- */
.footer-wrap {
  position: sticky;
  top: 100vh;
  /* margin-block-start: 4rem; */
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .footer-wrap {
    /* margin-block-start: 8rem; */
    margin-top: 8rem;
    background-color: var(--white, #fff);
  }
}
@media screen and (max-width: 767px) {
  .footer-wrap:has(.follow-footer-nav) {
    /* padding-block-end: calc(1.25em + 4.5rem); */
    padding-bottom: calc(1.25em + 4.5rem);
  }
}
.footer-wrap .footer {
  display: grid;
  gap: 1.75rem;
  justify-items: center;
}
@supports not (gap: 1.75rem) {
  .footer-wrap .footer {
    grid-gap: 1.75rem;
  }
}
.footer-wrap .footer .logo {
  order: 2;
}
@media screen and (max-width: 767px) {
  .footer-wrap .footer {
    /* padding-inline: 0; */
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .footer-wrap .footer {
    grid-template-columns: 3fr 6fr;
    align-items: center;
    justify-items: start;
    /* padding-block: 1.25em; */
    padding-top: 1.25em;
    padding-bottom: 1.25em;
  }
  .footer-wrap .footer .logo {
    order: 0;
  }
}
.footer-wrap .footer .footer-nav {
  width: 100%;
}
.footer-wrap .footer .footer-nav .footer-nav-list {
  display: grid;
}
@media screen and (max-width: 767px) {
  .footer-wrap .footer .footer-nav .footer-nav-list {
    border-top: 1px solid var(--gray-500, #acb5bd);
    border-bottom: 1px solid var(--gray-500, #acb5bd);
  }
  .footer-wrap .footer .footer-nav .footer-nav-list > * + * {
    border-top: 1px solid var(--gray-500, #acb5bd);
  }
}
@media screen and (min-width: 768px) {
  .footer-wrap .footer .footer-nav .footer-nav-list {
    grid-template-columns: 1fr 1fr;
    row-gap: 0.75rem;
    -moz-column-gap: 1.75rem;
         column-gap: 1.75rem;
  }
  @supports not (row-gap: 0.75rem) {
    .footer-wrap .footer .footer-nav .footer-nav-list {
      grid-row-gap: 0.75rem;
    }
  }
}
.footer-wrap .footer .footer-nav .footer-nav-list a {
  display: block;
  /* padding-block: 1.5em;
  padding-inline-start: 1em;
  padding-inline-end: 0.5em; */
  padding: 1.5em 0.5em 1.5em 1em;
  color: var(--black, #252525);
  background-color: var(--white, #fff);
}
@media screen and (min-width: 768px) {
  .footer-wrap .footer .footer-nav .footer-nav-list a {
    /* padding-block: 0.25em;
    padding-inline-end: 0; */
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    padding-right: 0;
  }
}
.footer-wrap .follow-footer-nav {
  position: fixed;
  bottom: 0;
  z-index: 10;
  width: 100%;
  /* padding-block: 0.5rem; */
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background: var(--white, #fff);
  box-shadow: 0 -10px 30px 0 rgba(0, 0, 0, 0.1);
}
.footer-wrap .follow-footer-nav .follow-footer-nav-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer-wrap .follow-footer-nav .follow-footer-nav-list > * + * {
  border-left: 1px solid var(--gray-700, #dde2e5);
}
.footer-wrap .follow-footer-nav .follow-footer-nav-list a {
  display: block;
  color: var(--black, #252525);
  text-decoration: none;
}
.footer-wrap .follow-footer-nav .follow-footer-nav-list a .icon {
  height: 2rem;
  /* margin-block-end: 0.25rem; */
  margin-bottom: 0.25rem;
}
.footer-wrap .follow-footer-nav .follow-footer-nav-list a .text {
  font-size: 0.75rem;
  text-align: center;
}
.footer-wrap .copyright {
  /* padding-block: 1.25em; */
  padding-top: 1.25em;
  padding-bottom: 1.25em;
  color: var(--gray-500, #acb5bd);
  text-align: center;
}

#ft-contextpath {
  display: none;
}

/* --------------------------------------------------------------
# エラーページ
-------------------------------------------------------------- */
.ft-form-container-wide .ft-box-error {
  padding: 20px;
  margin: 0px auto;
  background-color: #eeeeee;
  color: #404040;
  line-height: 18px;
  background-color: #fdfdff;
  margin-top: 10px;
  border: 1px solid #aaaaaa;
  -webkit-border-top-left-radius: 6px;
  -webkit-border-top-right-radius: 6px;
  -webkit-border-bottom-right-radius: 6px;
  -webkit-border-bottom-left-radius: 6px;
  -moz-border-radius-topleft: 6px;
  -moz-border-radius-topright: 6px;
  -moz-border-radius-bottomright: 6px;
  -moz-border-radius-bottomleft: 6px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
  width: 90%;
}

#ft-container .ft-box-error .ft-box-error-inner {
  background: #ffeeee;
  border: 2px solid #c00000;
  font-weight: bold;
  padding: 15px;
  width: 80%;
  margin: 100px auto 10px;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

#ft-container .ft-box-error .ft-box-error-inner dl dt {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}

#ft-container .ft-box-error .ft-box-error-inner dl dd {
  margin-top: 10px;
  font-size: 16px;
  font-weight: normal;
  text-align: center;
}

#ft-container .ft-box-error .ft-box-error-inner .inner-error {
  background: #ffeeee;
  border: 2px solid #c00000;
}

.custom-dialog {
  left: 50% !important;
  transform: translateX(-50%);
}

.custom-dialog .ui-dialog-titlebar,
.custom-dialog .ui-button {
  color: var(--white);
  background: var(--main-color);
}

.custom-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close,
.custom-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close.ui-state-hover {
  border: none;
  padding: 0;
  background: #dadada;
}

.separator {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.terms {
  margin-top: 2rem;
  margin-bottom: 3.5rem;
}

.terms .message {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.terms a {
  display: block;
  margin-bottom: 0.25rem;
}
