@charset "UTF-8";
/* ==================================================
[Style]
    1. setting
	2. foundation
	3. Layout
	4. object

================================================== */
/* --------------------------------------------------
	1. setting
-------------------------------------------------- */
/* --------------------------------------------------
	2. foundation
-------------------------------------------------- */
/* reset */
@import 'https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@500;700;900&family=Noto+Sans+JP:wght@500;700&family=Zen+Old+Mincho:wght@600&display=swap';
@import 'https://use.typekit.net/wqu7ivf.css';
/*! 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;
  min-width: 0;
  border-style: solid;
  border-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%;
     -moz-text-size-adjust: 100%;
          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 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  padding: 0;
  margin: 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 */
  margin: 0;
  overflow: visible; /* 2 */
  clear: both;
  color: inherit;
  border-top-width: pxtorem(1);
}

/**
 * 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; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

/**
 * 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; /* 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 {
  position: relative;
  font-size: 75%;
  line-height: 0;
  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 {
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  text-transform: inherit; /* 2 */
  vertical-align: middle;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
}

/**
 * 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 {
  min-width: 0;
  padding: 0;
  margin: 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: pxtorem(-2); /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
          appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  font: inherit; /* 2 */
  -webkit-appearance: button;
          appearance: button; /* 1 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          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-collapse: collapse;
  border-color: inherit; /* 1 */
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

/* base */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  color: #000;
  word-break: normal;
  word-wrap: normal;
  overflow-wrap: normal;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  background: url("../images/common/bg-dot-grey.jpg") repeat;
}
body.is-menuopen, body.is-popupopen {
  overflow: hidden;
}
body.is-menuopen .l-overlay, body.is-popupopen .l-overlay {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
}
body.is-menuopen .l-overlay {
  z-index: 102;
}

a {
  color: inherit;
  text-decoration: none;
  word-break: break-all;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

ul,
ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  font-style: italic;
  vertical-align: middle;
}

iframe {
  max-width: 100%;
}

input,
button,
select,
textarea {
  font: inherit;
  font-size: 1rem;
  color: #000;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
}

textarea {
  resize: none;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* font */
/* anime */
.anime-faderight {
  opacity: 0;
  animation-name: fadeRight;
  animation-duration: calc(var(--anime-duration) * 1s);
  animation-play-state: paused;
  animation-delay: calc(var(--anime-delay) * 1s);
  animation-fill-mode: forwards;
}
@media only screen and (max-width: 767px) {
  .anime-faderight {
    animation-delay: calc(var(--anime-delay-sp, var(--anime-delay)) * 1s);
  }
}

.anime {
  --anime-duration: 0.5;
  --anime-delay: 0;
}
.anime.is-active {
  animation-play-state: running;
}

.anime-child {
  --anime-duration: 0.5;
  --anime-delay: 0;
}
.anime-child.is-active .anime-faderight {
  animation-play-state: running;
}

@media only screen and (max-width: 767px) {
  .anime-sp {
    animation-play-state: paused !important;
  }
  .anime-sp.is-active {
    animation-play-state: running !important;
  }
}
@keyframes sliderLinearHor {
  0% {
    transform: translate(0%);
  }
  100% {
    transform: translate(-50%);
  }
}
@keyframes fadeRight {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* icon */
.com-icon {
  --icon-color: #000;
  --icon-wrap-size: 2rem;
  --icon-size: 2rem;
  --icon-size: 100%;
  position: relative;
  display: inline-flex;
  width: var(--icon-wrap-width, var(--icon-wrap-size));
  height: var(--icon-wrap-height, var(--icon-wrap-size));
}
.com-icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--icon-width, var(--icon-size));
  height: var(--icon-height, var(--icon-size));
  content: "";
  background-color: var(--icon-color);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: translate(-50%, -50%);
}
.com-icon.--person::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.9921 3.10626C24.0843 2.51563 22.8866 2.70157 22.1921 3.52735C20.8632 5.10782 18.3585 7.39376 14.8312 7.71094H13.1687C9.64133 7.39376 7.13665 5.10782 5.80774 3.52735C5.11321 2.6961 3.91555 2.51563 3.01321 3.10079C1.92493 3.81173 1.71712 5.3211 2.57571 6.29454C3.91008 7.81485 6.1468 9.84923 9.26946 10.9649V10.9813V26.0422C9.26946 27.1195 10.1445 27.9945 11.2218 27.9945C12.2991 27.9945 13.1741 27.1195 13.1741 26.0422V19.9391H14.8476V26.0477C14.8476 27.125 15.7226 28 16.7999 28C17.8773 28 18.7523 27.125 18.7523 26.0477V10.9867C18.7523 10.9813 18.7523 10.9758 18.7523 10.9703C21.8749 9.8547 24.1116 7.82032 25.446 6.30001C26.2882 5.3211 26.0804 3.81173 24.9921 3.10626Z' fill='%2309675B'/%3E%3Cpath d='M14 6.89062C15.9028 6.89062 17.4453 5.34811 17.4453 3.44531C17.4453 1.54252 15.9028 0 14 0C12.0972 0 10.5547 1.54252 10.5547 3.44531C10.5547 5.34811 12.0972 6.89062 14 6.89062Z' fill='%2309675B'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.9921 3.10626C24.0843 2.51563 22.8866 2.70157 22.1921 3.52735C20.8632 5.10782 18.3585 7.39376 14.8312 7.71094H13.1687C9.64133 7.39376 7.13665 5.10782 5.80774 3.52735C5.11321 2.6961 3.91555 2.51563 3.01321 3.10079C1.92493 3.81173 1.71712 5.3211 2.57571 6.29454C3.91008 7.81485 6.1468 9.84923 9.26946 10.9649V10.9813V26.0422C9.26946 27.1195 10.1445 27.9945 11.2218 27.9945C12.2991 27.9945 13.1741 27.1195 13.1741 26.0422V19.9391H14.8476V26.0477C14.8476 27.125 15.7226 28 16.7999 28C17.8773 28 18.7523 27.125 18.7523 26.0477V10.9867C18.7523 10.9813 18.7523 10.9758 18.7523 10.9703C21.8749 9.8547 24.1116 7.82032 25.446 6.30001C26.2882 5.3211 26.0804 3.81173 24.9921 3.10626Z' fill='%2309675B'/%3E%3Cpath d='M14 6.89062C15.9028 6.89062 17.4453 5.34811 17.4453 3.44531C17.4453 1.54252 15.9028 0 14 0C12.0972 0 10.5547 1.54252 10.5547 3.44531C10.5547 5.34811 12.0972 6.89062 14 6.89062Z' fill='%2309675B'/%3E%3C/svg%3E%0A");
}
.com-icon.--arrow-right::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.com-icon.--avatar::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1C5.96456 1 4.30859 2.65596 4.30859 4.69141C4.30859 6.72685 5.96456 8.38281 8 8.38281C10.0354 8.38281 11.6914 6.72685 11.6914 4.69141C11.6914 2.65596 10.0354 1 8 1Z' fill='white'/%3E%3Cpath d='M12.5928 10.7944C11.5822 9.76824 10.2424 9.20312 8.82031 9.20312H7.17969C5.75759 9.20312 4.4178 9.76824 3.40718 10.7944C2.4015 11.8155 1.84766 13.1634 1.84766 14.5898C1.84766 14.8164 2.0313 15 2.25781 15H13.7422C13.9687 15 14.1523 14.8164 14.1523 14.5898C14.1523 13.1634 13.5985 11.8155 12.5928 10.7944Z' fill='white'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1C5.96456 1 4.30859 2.65596 4.30859 4.69141C4.30859 6.72685 5.96456 8.38281 8 8.38281C10.0354 8.38281 11.6914 6.72685 11.6914 4.69141C11.6914 2.65596 10.0354 1 8 1Z' fill='white'/%3E%3Cpath d='M12.5928 10.7944C11.5822 9.76824 10.2424 9.20312 8.82031 9.20312H7.17969C5.75759 9.20312 4.4178 9.76824 3.40718 10.7944C2.4015 11.8155 1.84766 13.1634 1.84766 14.5898C1.84766 14.8164 2.0313 15 2.25781 15H13.7422C13.9687 15 14.1523 14.8164 14.1523 14.5898C14.1523 13.1634 13.5985 11.8155 12.5928 10.7944Z' fill='white'/%3E%3C/svg%3E%0A");
}
.com-icon.--map::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='15' viewBox='0 0 16 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.3805 14.1178L7.48083 10.9941C7.32709 10.9125 7.13959 10.9238 6.99427 11.0222L2.48302 14.1459C2.31427 14.2631 2.24114 14.4759 2.30302 14.6719C2.36302 14.8659 2.54489 15 2.74927 15H13.1602C13.3749 15 13.5633 14.8538 13.6149 14.6438C13.6674 14.4347 13.5699 14.2181 13.3805 14.1178Z' fill='black'/%3E%3Cpath d='M15.3552 13.2272L13.9677 6.98063C13.934 6.82782 13.8262 6.70313 13.6809 6.64594C13.5346 6.58875 13.3705 6.60844 13.243 6.69657L8.73085 9.82032C8.59585 9.91407 8.51992 10.0706 8.53023 10.2328C8.5396 10.3969 8.63429 10.5431 8.77866 10.6191L14.6774 13.7428C14.7468 13.7794 14.8218 13.7981 14.8968 13.7981C14.9971 13.7981 15.0974 13.7663 15.1809 13.7016C15.3262 13.5909 15.3946 13.4063 15.3552 13.2272Z' fill='black'/%3E%3Cpath d='M12.0904 5.95406C12.0285 5.75812 11.8476 5.625 11.6423 5.625H7.36354C6.58542 7.03406 5.43417 8.38125 4.96073 8.90813C4.69448 9.20438 4.31292 9.375 3.91448 9.375C3.51604 9.375 3.13448 9.20438 2.86823 8.90813C2.68542 8.70469 2.40229 8.37938 2.07791 7.97625L0.943539 13.0819C0.902289 13.2703 0.980102 13.4644 1.13948 13.5722C1.21823 13.6256 1.3101 13.6519 1.40104 13.6519C1.49479 13.6519 1.5876 13.6247 1.66823 13.5684L11.9085 6.47813C12.0782 6.36281 12.1504 6.15 12.0904 5.95406Z' fill='black'/%3E%3Cpath d='M3.91504 0C2.10567 0 0.633789 1.47188 0.633789 3.28125C0.633789 4.965 3.26629 7.94719 3.56629 8.28188C3.65535 8.38032 3.78192 8.43751 3.91504 8.43751C4.04817 8.43751 4.17473 8.38032 4.26379 8.28188C4.56379 7.94719 7.19629 4.965 7.19629 3.28125C7.19629 1.47188 5.72442 0 3.91504 0ZM3.91504 4.6875C3.13879 4.6875 2.50879 4.0575 2.50879 3.28125C2.50879 2.505 3.13879 1.875 3.91504 1.875C4.69129 1.875 5.32129 2.505 5.32129 3.28125C5.32129 4.0575 4.69129 4.6875 3.91504 4.6875Z' fill='black'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='16' height='15' viewBox='0 0 16 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.3805 14.1178L7.48083 10.9941C7.32709 10.9125 7.13959 10.9238 6.99427 11.0222L2.48302 14.1459C2.31427 14.2631 2.24114 14.4759 2.30302 14.6719C2.36302 14.8659 2.54489 15 2.74927 15H13.1602C13.3749 15 13.5633 14.8538 13.6149 14.6438C13.6674 14.4347 13.5699 14.2181 13.3805 14.1178Z' fill='black'/%3E%3Cpath d='M15.3552 13.2272L13.9677 6.98063C13.934 6.82782 13.8262 6.70313 13.6809 6.64594C13.5346 6.58875 13.3705 6.60844 13.243 6.69657L8.73085 9.82032C8.59585 9.91407 8.51992 10.0706 8.53023 10.2328C8.5396 10.3969 8.63429 10.5431 8.77866 10.6191L14.6774 13.7428C14.7468 13.7794 14.8218 13.7981 14.8968 13.7981C14.9971 13.7981 15.0974 13.7663 15.1809 13.7016C15.3262 13.5909 15.3946 13.4063 15.3552 13.2272Z' fill='black'/%3E%3Cpath d='M12.0904 5.95406C12.0285 5.75812 11.8476 5.625 11.6423 5.625H7.36354C6.58542 7.03406 5.43417 8.38125 4.96073 8.90813C4.69448 9.20438 4.31292 9.375 3.91448 9.375C3.51604 9.375 3.13448 9.20438 2.86823 8.90813C2.68542 8.70469 2.40229 8.37938 2.07791 7.97625L0.943539 13.0819C0.902289 13.2703 0.980102 13.4644 1.13948 13.5722C1.21823 13.6256 1.3101 13.6519 1.40104 13.6519C1.49479 13.6519 1.5876 13.6247 1.66823 13.5684L11.9085 6.47813C12.0782 6.36281 12.1504 6.15 12.0904 5.95406Z' fill='black'/%3E%3Cpath d='M3.91504 0C2.10567 0 0.633789 1.47188 0.633789 3.28125C0.633789 4.965 3.26629 7.94719 3.56629 8.28188C3.65535 8.38032 3.78192 8.43751 3.91504 8.43751C4.04817 8.43751 4.17473 8.38032 4.26379 8.28188C4.56379 7.94719 7.19629 4.965 7.19629 3.28125C7.19629 1.47188 5.72442 0 3.91504 0ZM3.91504 4.6875C3.13879 4.6875 2.50879 4.0575 2.50879 3.28125C2.50879 2.505 3.13879 1.875 3.91504 1.875C4.69129 1.875 5.32129 2.505 5.32129 3.28125C5.32129 4.0575 4.69129 4.6875 3.91504 4.6875Z' fill='black'/%3E%3C/svg%3E%0A");
}

/* --------------------------------------------------
	3. Layout
-------------------------------------------------- */
/* header */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  min-height: 8.5rem;
  padding-top: 2.5rem;
}
.l-header__inner {
  max-width: 117.5rem;
  padding: 0 1.25rem;
  margin: 0 auto;
}
.l-header__container {
  position: relative;
  display: flex;
  gap: 2rem;
  align-items: center;
}
.l-header__logo {
  max-width: 42%;
  margin-bottom: 0.1875rem;
}
.l-header__logo a {
  display: inline-block;
}
@media (hover: hover) {
  .l-header__logo a {
    transition: opacity 0.3s linear;
  }
  .l-header__logo a:hover {
    opacity: 0.7;
  }
}
.l-header__buttons {
  display: flex;
  gap: 1.25rem;
  align-items: center;
  margin-left: auto;
}
.l-header__button {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  justify-content: center;
  width: 15rem;
  min-height: 3.5rem;
  padding-right: 0.5rem;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.2;
  color: #09675b;
  letter-spacing: 0.08em;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(0.25rem);
          backdrop-filter: blur(0.25rem);
  border: 0.125rem solid #09675b;
}
.l-header__button .com-icon {
  --icon-size: 1.75rem;
  --icon-color: currentcolor;
}
@media (hover: hover) {
  .l-header__button {
    transition: opacity 0.3s linear;
  }
  .l-header__button:hover {
    opacity: 0.7;
  }
}
.l-header__menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 67.5rem;
  max-width: 100%;
  height: 100vh;
  padding: 6.25rem 0 0;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%), var(--brand-brand-sub, #003d58);
  box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.25);
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
  transform: translateX(80%);
}
.l-header__menu-logo {
  position: absolute;
  top: 1.5rem;
  left: 1.25rem;
}
.l-header__nav-container {
  width: 100%;
  max-height: 100%;
  overflow-y: auto;
}
.l-header__nav {
  display: flex;
  -moz-column-gap: 7.3563218391%;
       column-gap: 7.3563218391%;
  width: 54.375rem;
  max-width: calc(100% - 5rem);
  height: 100%;
  margin-right: auto;
  margin-left: auto;
  color: #fff;
  opacity: 0;
  transition-delay: 0s;
}
.l-header__list {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 46.3218390805%;
}
.l-header__list-item {
  display: flex;
  align-items: flex-end;
  min-height: 4.25rem;
}
.l-header__list-link {
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  width: 100%;
  min-height: 3.5rem;
  padding: 0 1rem 0.9375rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .l-header__list-link {
    font-size: 1.125rem;
  }
}
.l-header__list-link::before {
  position: absolute;
  top: -0.8125rem;
  bottom: 0rem;
  left: 0;
  z-index: -1;
  width: 100%;
  pointer-events: none;
  content: "";
  border-bottom: 0.125rem solid #e3e3e3;
}
.l-header__list-link::after {
  position: absolute;
  top: -0.9375rem;
  right: 1.0625rem;
  bottom: 0;
  width: 1.25rem;
  aspect-ratio: 1/1;
  margin: auto;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.l-header__list-link.--blank::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_837)'%3E%3Cpath d='M13.667 4V6H6V26H26V18.333H28V28H4V4H13.667ZM28 4V13.333H26V7.4668L14 19.333L12.667 18L24.5332 6H18.667V4H28Z' fill='%23EF4823'/%3E%3Cpath d='M13.667 4H13.967V3.7H13.667V4ZM13.667 6V6.3H13.967V6H13.667ZM6 6V5.7H5.7V6H6ZM6 26H5.7V26.3H6V26ZM26 26V26.3H26.3V26H26ZM26 18.333V18.033H25.7V18.333H26ZM28 18.333H28.3V18.033H28V18.333ZM28 28V28.3H28.3V28H28ZM4 28H3.7V28.3H4V28ZM4 4V3.7H3.7V4H4ZM28 4H28.3V3.7H28V4ZM28 13.333V13.633H28.3V13.333H28ZM26 13.333H25.7V13.633H26V13.333ZM26 7.4668H26.3V6.74824L25.7891 7.25348L26 7.4668ZM14 19.333L13.7879 19.5451L13.9988 19.7561L14.2109 19.5463L14 19.333ZM12.667 18L12.4537 17.7891L12.2439 18.0012L12.4549 18.2121L12.667 18ZM24.5332 6L24.7465 6.21094L25.2518 5.7H24.5332V6ZM18.667 6H18.367V6.3H18.667V6ZM18.667 4V3.7H18.367V4H18.667ZM13.667 4H13.367V6H13.667H13.967V4H13.667ZM13.667 6V5.7H6V6V6.3H13.667V6ZM6 6H5.7V26H6H6.3V6H6ZM6 26V26.3H26V26V25.7H6V26ZM26 26H26.3V18.333H26H25.7V26H26ZM26 18.333V18.633H28V18.333V18.033H26V18.333ZM28 18.333H27.7V28H28H28.3V18.333H28ZM28 28V27.7H4V28V28.3H28V28ZM4 28H4.3V4H4H3.7V28H4ZM4 4V4.3H13.667V4V3.7H4V4ZM28 4H27.7V13.333H28H28.3V4H28ZM28 13.333V13.033H26V13.333V13.633H28V13.333ZM26 13.333H26.3V7.4668H26H25.7V13.333H26ZM26 7.4668L25.7891 7.25348L13.7891 19.1197L14 19.333L14.2109 19.5463L26.2109 7.68011L26 7.4668ZM14 19.333L14.2121 19.1209L12.8791 17.7879L12.667 18L12.4549 18.2121L13.7879 19.5451L14 19.333ZM12.667 18L12.8803 18.2109L24.7465 6.21094L24.5332 6L24.3199 5.78906L12.4537 17.7891L12.667 18ZM24.5332 6V5.7H18.667V6V6.3H24.5332V6ZM18.667 6H18.967V4H18.667H18.367V6H18.667ZM18.667 4V4.3H28V4V3.7H18.667V4Z' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_837'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_837)'%3E%3Cpath d='M13.667 4V6H6V26H26V18.333H28V28H4V4H13.667ZM28 4V13.333H26V7.4668L14 19.333L12.667 18L24.5332 6H18.667V4H28Z' fill='%23EF4823'/%3E%3Cpath d='M13.667 4H13.967V3.7H13.667V4ZM13.667 6V6.3H13.967V6H13.667ZM6 6V5.7H5.7V6H6ZM6 26H5.7V26.3H6V26ZM26 26V26.3H26.3V26H26ZM26 18.333V18.033H25.7V18.333H26ZM28 18.333H28.3V18.033H28V18.333ZM28 28V28.3H28.3V28H28ZM4 28H3.7V28.3H4V28ZM4 4V3.7H3.7V4H4ZM28 4H28.3V3.7H28V4ZM28 13.333V13.633H28.3V13.333H28ZM26 13.333H25.7V13.633H26V13.333ZM26 7.4668H26.3V6.74824L25.7891 7.25348L26 7.4668ZM14 19.333L13.7879 19.5451L13.9988 19.7561L14.2109 19.5463L14 19.333ZM12.667 18L12.4537 17.7891L12.2439 18.0012L12.4549 18.2121L12.667 18ZM24.5332 6L24.7465 6.21094L25.2518 5.7H24.5332V6ZM18.667 6H18.367V6.3H18.667V6ZM18.667 4V3.7H18.367V4H18.667ZM13.667 4H13.367V6H13.667H13.967V4H13.667ZM13.667 6V5.7H6V6V6.3H13.667V6ZM6 6H5.7V26H6H6.3V6H6ZM6 26V26.3H26V26V25.7H6V26ZM26 26H26.3V18.333H26H25.7V26H26ZM26 18.333V18.633H28V18.333V18.033H26V18.333ZM28 18.333H27.7V28H28H28.3V18.333H28ZM28 28V27.7H4V28V28.3H28V28ZM4 28H4.3V4H4H3.7V28H4ZM4 4V4.3H13.667V4V3.7H4V4ZM28 4H27.7V13.333H28H28.3V4H28ZM28 13.333V13.033H26V13.333V13.633H28V13.333ZM26 13.333H26.3V7.4668H26H25.7V13.333H26ZM26 7.4668L25.7891 7.25348L13.7891 19.1197L14 19.333L14.2109 19.5463L26.2109 7.68011L26 7.4668ZM14 19.333L14.2121 19.1209L12.8791 17.7879L12.667 18L12.4549 18.2121L13.7879 19.5451L14 19.333ZM12.667 18L12.8803 18.2109L24.7465 6.21094L24.5332 6L24.3199 5.78906L12.4537 17.7891L12.667 18ZM24.5332 6V5.7H18.667V6V6.3H24.5332V6ZM18.667 6H18.967V4H18.667H18.367V6H18.667ZM18.667 4V4.3H28V4V3.7H18.667V4Z' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_837'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.l-header__list-link.--eto {
  gap: 0.5rem;
  padding-left: 0;
}
.l-header__list-link.--eto picture {
  flex-shrink: 0;
}
.l-header__list-link.--eto img {
  width: 4.375rem;
  margin-bottom: 0.25rem;
}
@media (hover: hover) {
  .l-header__list-link {
    transition: all 0.3s linear;
  }
  .l-header__list-link::before {
    transition: all 0.3s linear;
  }
  .l-header__list-link:hover {
    color: #fff;
  }
  .l-header__list-link:hover::before {
    background-color: #ef4823;
    border-bottom-color: #ef4823;
  }
}
.l-header__textlink {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
  padding-right: 0.0625rem;
  margin-top: 2.5rem;
}
.l-header__textlink-item {
  margin-right: -1.25rem;
}

.l-hum {
  position: relative;
  z-index: 2;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  width: 15rem;
  min-height: 3.5rem;
  padding-left: 0.375rem;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.2;
  color: #003d58;
  letter-spacing: 0.08em;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(0.25rem);
          backdrop-filter: blur(0.25rem);
  border: 0.125rem solid #003d58;
}
@media (hover: hover) {
  .l-hum {
    transition: opacity 0.3s linear;
  }
  .l-hum:hover {
    opacity: 0.7;
  }
}
.l-hum__bar {
  position: relative;
  width: 1.75rem;
  aspect-ratio: 1/1;
}
.l-hum__bar span {
  position: absolute;
  left: 50%;
  width: 1.25rem;
  height: 0.1875rem;
  background: #003d58;
  transform: translate(-50%, -50%);
}
.l-hum__bar span:nth-child(1) {
  top: calc(50% - 0.5rem);
}
.l-hum__bar span:nth-child(2) {
  top: 50%;
}
.l-hum__bar span:nth-child(3) {
  top: calc(50% + 0.5rem);
}
.l-hum__txt {
  font-size: 0;
}
.l-hum__txt::before {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.08em;
  content: "メニュー";
}
.l-hum.is-active {
  background-color: #fff;
}

body.is-menuopen .l-header__menu {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
  transform: translateX(0);
}
body.is-menuopen .l-header__nav {
  opacity: 1;
  transition: all 0.3s;
  transition-delay: 0.4s;
}
body.is-menuopen .l-hum {
  padding-left: 0.875rem;
}
body.is-menuopen .l-hum__txt::before {
  content: "とじる";
}
body.is-menuopen .l-hum__bar span:nth-child(1), body.is-menuopen .l-hum__bar span:nth-child(3) {
  top: 50%;
  opacity: 0;
  transition: all 0.3s;
}

@media only screen and (max-width: 767px) {
  .l-header {
    min-height: 5rem;
    padding-top: 1.25rem;
  }
  .l-header__buttons {
    gap: 0.5rem;
  }
  .l-header__logo {
    flex-shrink: 0;
  }
  .l-header__button {
    gap: 0.1875rem;
    width: 8rem;
    min-height: 2.5rem;
    padding-right: 0;
    font-size: 0.75rem;
  }
  .l-header__button .com-icon {
    --icon-wrap-size: 1.25rem;
    --icon-size: 100%;
  }
  .l-header__inner {
    max-width: 100%;
    padding: 0 1.25rem;
  }
  .l-header__list {
    gap: 1.5rem;
    width: 100%;
  }
  .l-header__list-item {
    width: 100%;
    min-height: unset;
  }
  .l-header__list-link {
    width: 100%;
    min-height: 2.25rem;
    padding: 0 0.5rem 0.625rem;
    font-size: 0.9375rem;
    font-weight: bold;
    line-height: 1.6;
  }
  .l-header__list-link::before {
    top: -0.625rem;
  }
  .l-header__list-link::after {
    top: 0;
    right: 0;
    bottom: 0.8125rem;
  }
  .l-header__list-link.--eto img {
    width: 3.25rem;
    margin-bottom: 0;
  }
  .l-header__textlink {
    margin-top: 1.4375rem;
  }
  .l-header__nav {
    flex-wrap: wrap;
    gap: 1.5rem;
    width: 100%;
    max-width: calc(100% - 4.75rem);
    padding-top: 0.625rem;
    padding-bottom: 7.5rem;
  }
  .l-header__menu {
    padding: 5.1875rem 0 0;
  }
  .l-hum {
    gap: 0.1875rem;
    width: 2.5rem;
    min-height: 2.5rem;
    padding-left: 0;
  }
  .l-hum__txt {
    display: none;
  }
  .l-hum__bar span {
    width: 0.875rem;
    height: 0.125rem;
  }
  .l-hum__bar span:nth-child(1) {
    top: calc(50% - 0.375rem);
  }
  .l-hum__bar span:nth-child(3) {
    top: calc(50% + 0.375rem);
  }
  body.is-menuopen .l-hum {
    padding-left: 0;
  }
}
/* footer */
.l-footer {
  position: relative;
  padding: 2.375rem 0 3.5rem;
  margin-top: 12.1875rem;
  background-color: #fff;
}
.l-footer .l-inner {
  width: 97.5rem;
}
.l-footer__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.125rem 3.8157894737%;
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .l-footer__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.l-footer__list-item {
  display: flex;
  align-items: flex-end;
  min-height: 5.25rem;
}
.l-footer__list-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 100%;
  min-height: 3.625rem;
  padding: 1rem;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.l-footer__list-link::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  border-bottom: 0.125rem solid #000;
}
.l-footer__list-link::after {
  position: absolute;
  top: 0;
  right: 1.125rem;
  bottom: 0;
  width: 1.25rem;
  aspect-ratio: 1/1;
  margin: auto;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.l-footer__list-link.--blank::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_837)'%3E%3Cpath d='M13.667 4V6H6V26H26V18.333H28V28H4V4H13.667ZM28 4V13.333H26V7.4668L14 19.333L12.667 18L24.5332 6H18.667V4H28Z' fill='%23EF4823'/%3E%3Cpath d='M13.667 4H13.967V3.7H13.667V4ZM13.667 6V6.3H13.967V6H13.667ZM6 6V5.7H5.7V6H6ZM6 26H5.7V26.3H6V26ZM26 26V26.3H26.3V26H26ZM26 18.333V18.033H25.7V18.333H26ZM28 18.333H28.3V18.033H28V18.333ZM28 28V28.3H28.3V28H28ZM4 28H3.7V28.3H4V28ZM4 4V3.7H3.7V4H4ZM28 4H28.3V3.7H28V4ZM28 13.333V13.633H28.3V13.333H28ZM26 13.333H25.7V13.633H26V13.333ZM26 7.4668H26.3V6.74824L25.7891 7.25348L26 7.4668ZM14 19.333L13.7879 19.5451L13.9988 19.7561L14.2109 19.5463L14 19.333ZM12.667 18L12.4537 17.7891L12.2439 18.0012L12.4549 18.2121L12.667 18ZM24.5332 6L24.7465 6.21094L25.2518 5.7H24.5332V6ZM18.667 6H18.367V6.3H18.667V6ZM18.667 4V3.7H18.367V4H18.667ZM13.667 4H13.367V6H13.667H13.967V4H13.667ZM13.667 6V5.7H6V6V6.3H13.667V6ZM6 6H5.7V26H6H6.3V6H6ZM6 26V26.3H26V26V25.7H6V26ZM26 26H26.3V18.333H26H25.7V26H26ZM26 18.333V18.633H28V18.333V18.033H26V18.333ZM28 18.333H27.7V28H28H28.3V18.333H28ZM28 28V27.7H4V28V28.3H28V28ZM4 28H4.3V4H4H3.7V28H4ZM4 4V4.3H13.667V4V3.7H4V4ZM28 4H27.7V13.333H28H28.3V4H28ZM28 13.333V13.033H26V13.333V13.633H28V13.333ZM26 13.333H26.3V7.4668H26H25.7V13.333H26ZM26 7.4668L25.7891 7.25348L13.7891 19.1197L14 19.333L14.2109 19.5463L26.2109 7.68011L26 7.4668ZM14 19.333L14.2121 19.1209L12.8791 17.7879L12.667 18L12.4549 18.2121L13.7879 19.5451L14 19.333ZM12.667 18L12.8803 18.2109L24.7465 6.21094L24.5332 6L24.3199 5.78906L12.4537 17.7891L12.667 18ZM24.5332 6V5.7H18.667V6V6.3H24.5332V6ZM18.667 6H18.967V4H18.667H18.367V6H18.667ZM18.667 4V4.3H28V4V3.7H18.667V4Z' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_837'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_837)'%3E%3Cpath d='M13.667 4V6H6V26H26V18.333H28V28H4V4H13.667ZM28 4V13.333H26V7.4668L14 19.333L12.667 18L24.5332 6H18.667V4H28Z' fill='%23EF4823'/%3E%3Cpath d='M13.667 4H13.967V3.7H13.667V4ZM13.667 6V6.3H13.967V6H13.667ZM6 6V5.7H5.7V6H6ZM6 26H5.7V26.3H6V26ZM26 26V26.3H26.3V26H26ZM26 18.333V18.033H25.7V18.333H26ZM28 18.333H28.3V18.033H28V18.333ZM28 28V28.3H28.3V28H28ZM4 28H3.7V28.3H4V28ZM4 4V3.7H3.7V4H4ZM28 4H28.3V3.7H28V4ZM28 13.333V13.633H28.3V13.333H28ZM26 13.333H25.7V13.633H26V13.333ZM26 7.4668H26.3V6.74824L25.7891 7.25348L26 7.4668ZM14 19.333L13.7879 19.5451L13.9988 19.7561L14.2109 19.5463L14 19.333ZM12.667 18L12.4537 17.7891L12.2439 18.0012L12.4549 18.2121L12.667 18ZM24.5332 6L24.7465 6.21094L25.2518 5.7H24.5332V6ZM18.667 6H18.367V6.3H18.667V6ZM18.667 4V3.7H18.367V4H18.667ZM13.667 4H13.367V6H13.667H13.967V4H13.667ZM13.667 6V5.7H6V6V6.3H13.667V6ZM6 6H5.7V26H6H6.3V6H6ZM6 26V26.3H26V26V25.7H6V26ZM26 26H26.3V18.333H26H25.7V26H26ZM26 18.333V18.633H28V18.333V18.033H26V18.333ZM28 18.333H27.7V28H28H28.3V18.333H28ZM28 28V27.7H4V28V28.3H28V28ZM4 28H4.3V4H4H3.7V28H4ZM4 4V4.3H13.667V4V3.7H4V4ZM28 4H27.7V13.333H28H28.3V4H28ZM28 13.333V13.033H26V13.333V13.633H28V13.333ZM26 13.333H26.3V7.4668H26H25.7V13.333H26ZM26 7.4668L25.7891 7.25348L13.7891 19.1197L14 19.333L14.2109 19.5463L26.2109 7.68011L26 7.4668ZM14 19.333L14.2121 19.1209L12.8791 17.7879L12.667 18L12.4549 18.2121L13.7879 19.5451L14 19.333ZM12.667 18L12.8803 18.2109L24.7465 6.21094L24.5332 6L24.3199 5.78906L12.4537 17.7891L12.667 18ZM24.5332 6V5.7H18.667V6V6.3H24.5332V6ZM18.667 6H18.967V4H18.667H18.367V6H18.667ZM18.667 4V4.3H28V4V3.7H18.667V4Z' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_837'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.l-footer__list-link.--eto {
  gap: 0.5rem;
  padding-left: 0;
}
.l-footer__list-link.--eto picture {
  flex-shrink: 0;
}
@media (hover: hover) {
  .l-footer__list-link {
    transition: all 0.3s linear;
  }
  .l-footer__list-link:hover {
    color: #fff;
    background-color: #ef4823;
  }
}
.l-footer__info {
  display: flex;
  flex-wrap: wrap;
  gap: 2.375rem 1.25rem;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 2.5rem;
}
.l-footer__logo {
  display: flex;
  gap: 1rem;
  align-items: center;
  text-align: center;
}
.l-footer__logo-img {
  display: inline-block;
}
.l-footer__logo-text {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  display: inline-block;
  margin-left: 0.25rem;
}
@media only screen and (max-width: 767px) {
  .l-footer__logo-text {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.l-footer__contact {
  margin-top: 0.375rem;
}
.l-footer__contact-item {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .l-footer__contact-item {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.l-footer__contact-item + .l-footer__contact-item {
  margin-top: -0.25rem;
}
.l-footer__contact-label {
  flex-shrink: 0;
  width: 4.375rem;
  word-break: keep-all;
}
.l-footer__copyright {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .l-footer__copyright {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .l-footer {
    padding-bottom: 4.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer {
    padding: 2.125rem 0 3.625rem;
    margin-top: 5rem;
  }
  .l-footer .l-inner {
    padding: 0 2.375rem;
  }
  .l-footer__logo-img {
    width: 4.75rem;
  }
  .l-footer__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    width: 100%;
  }
  .l-footer__list-item {
    display: block;
    min-height: unset;
  }
  .l-footer__list-link {
    min-height: 2.25rem;
    padding: 0 1rem 0.625rem 0.5rem;
    font-size: 0.9375rem;
  }
  .l-footer__list-link::after {
    right: 0;
    bottom: 0.75rem;
  }
  .l-footer__info {
    display: block;
    margin-top: 2.375rem;
  }
  .l-footer__copyright {
    margin-top: 2.375rem;
  }
  .l-footer__contact {
    margin-top: 0.125rem;
  }
  .l-footer__contact-label {
    width: 3.375rem;
  }
  .l-footer__contact-item {
    gap: 0.875rem;
  }
}
/* main */
.l-inner {
  width: 92.5rem;
  max-width: 100%;
  height: inherit;
  padding: 0 1.25rem;
  margin: 0 auto;
}
.l-inner.--wide {
  width: 105rem;
}
.l-inner.--narrow {
  width: 82.5rem;
}

.l-section-first {
  margin-top: 7.5rem;
}

/* margin */
.l-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  visibility: hidden;
  background: #a1a1a1;
  mix-blend-mode: multiply;
  opacity: 0;
  transition: opacity 0.3s;
}

/* margin */
.l-margin p {
  margin-top: 1rem;
}
.l-margin p:first-child {
  margin-top: 0;
}
.l-margin ul,
.l-margin ol,
.l-margin dl {
  margin-top: 1.5rem;
}
.l-margin ul:first-child,
.l-margin ol:first-child,
.l-margin dl:first-child {
  margin-top: 0;
}
.l-margin .p-table-conteiner,
.l-margin table {
  margin-top: 2rem;
}
.l-margin .p-table-conteiner:first-child,
.l-margin table:first-child {
  margin-top: 0;
}
.l-margin img {
  margin-top: 1.5rem;
}
.l-margin img:first-child {
  margin-top: 0;
}
.l-margin blockquote {
  margin-top: 1.5rem;
}
.l-margin blockquote:first-child {
  margin-top: 0;
}
.l-margin .c-button,
.l-margin .e-button {
  margin-top: 1.5rem;
}
.l-margin .c-button:first-child,
.l-margin .e-button:first-child {
  margin-top: 0;
}
.l-margin .p-box,
.l-margin .e-box {
  margin-top: 1.5rem;
}
.l-margin .p-box:first-child,
.l-margin .e-box:first-child {
  margin-top: 0;
}
.l-margin .p-grid,
.l-margin .e-grid {
  margin-top: 5rem;
}
.l-margin .p-grid:first-child,
.l-margin .e-grid:first-child {
  margin-top: 0;
}
.l-margin .p-grid + .l-margin .p-grid,
.l-margin .p-grid + .l-margin .e-grid,
.l-margin .e-grid + .l-margin .p-grid,
.l-margin .e-grid + .l-margin .e-grid {
  margin-top: 2.5rem;
}
.l-margin .p-grid p,
.l-margin .e-grid p {
  margin-top: 0.5rem;
}
.l-margin h2:not(:first-child) {
  margin-top: 6rem;
}
.l-margin h2 + p {
  margin-top: 3rem;
}
.l-margin h2 + ul {
  margin-top: 3rem;
}
.l-margin h2 + ol {
  margin-top: 3rem;
}
.l-margin h2 + dl {
  margin-top: 3rem;
}
.l-margin h2 + img {
  margin-top: 3rem;
}
.l-margin h2 + table {
  margin-top: 3rem;
}
.l-margin h2 + blockquote {
  margin-top: 3rem;
}
.l-margin h2 + .c-button, .l-margin h2 + .e-button {
  margin-top: 3rem;
}
.l-margin h2 + .p-box, .l-margin h2 + .e-box {
  margin-top: 3rem;
}
.l-margin h2 + .p-grid, .l-margin h2 + .e-grid {
  margin-top: 3rem;
}
.l-margin h3:not(:first-child) {
  margin-top: 5rem;
}
.l-margin h3 + p {
  margin-top: 2rem;
}
.l-margin h3 + ul {
  margin-top: 2rem;
}
.l-margin h3 + ol {
  margin-top: 2rem;
}
.l-margin h3 + dl {
  margin-top: 2rem;
}
.l-margin h3 + img {
  margin-top: 2rem;
}
.l-margin h3 + table {
  margin-top: 2rem;
}
.l-margin h3 + blockquote {
  margin-top: 2rem;
}
.l-margin h3 + .c-button, .l-margin h3 + .e-button {
  margin-top: 2rem;
}
.l-margin h3 + .p-box, .l-margin h3 + .e-box {
  margin-top: 2rem;
}
.l-margin h3 + .p-grid, .l-margin h3 + .e-grid {
  margin-top: 2rem;
}
.l-margin h4:not(:first-child) {
  margin-top: 3.5rem;
}
.l-margin h4 + p {
  margin-top: 1.75rem;
}
.l-margin h4 + ul {
  margin-top: 1.75rem;
}
.l-margin h4 + ol {
  margin-top: 1.75rem;
}
.l-margin h4 + dl {
  margin-top: 1.75rem;
}
.l-margin h4 + img {
  margin-top: 1.75rem;
}
.l-margin h4 + table {
  margin-top: 1.75rem;
}
.l-margin h4 + blockquote {
  margin-top: 1.75rem;
}
.l-margin h4 + .c-button, .l-margin h4 + .e-button {
  margin-top: 1.75rem;
}
.l-margin h4 + .p-box, .l-margin h4 + .e-box {
  margin-top: 1.75rem;
}
.l-margin h4 + .p-grid, .l-margin h4 + .e-grid {
  margin-top: 1.75rem;
}
.l-margin h5:not(:first-child) {
  margin-top: 2.5rem;
}
.l-margin h5 + p {
  margin-top: 1.25rem;
}
.l-margin h5 + ul {
  margin-top: 1.25rem;
}
.l-margin h5 + ol {
  margin-top: 1.25rem;
}
.l-margin h5 + dl {
  margin-top: 1.25rem;
}
.l-margin h5 + img {
  margin-top: 1.25rem;
}
.l-margin h5 + table {
  margin-top: 1.25rem;
}
.l-margin h5 + blockquote {
  margin-top: 1.25rem;
}
.l-margin h5 + .c-button, .l-margin h5 + .e-button {
  margin-top: 1.25rem;
}
.l-margin h5 + .p-box, .l-margin h5 + .e-box {
  margin-top: 1.25rem;
}
.l-margin h5 + .p-grid, .l-margin h5 + .e-grid {
  margin-top: 1.25rem;
}
.l-margin h6:not(:first-child) {
  margin-top: 1.5rem;
}
.l-margin h6 + p {
  margin-top: 1.125rem;
}
.l-margin h6 + ul {
  margin-top: 1.125rem;
}
.l-margin h6 + ol {
  margin-top: 1.125rem;
}
.l-margin h6 + dl {
  margin-top: 1.125rem;
}
.l-margin h6 + img {
  margin-top: 1.125rem;
}
.l-margin h6 + table {
  margin-top: 1.125rem;
}
.l-margin h6 + blockquote {
  margin-top: 1.125rem;
}
.l-margin h6 + .c-button, .l-margin h6 + .e-button {
  margin-top: 1.125rem;
}
.l-margin h6 + .p-box, .l-margin h6 + .e-box {
  margin-top: 1.125rem;
}
.l-margin h6 + .p-grid, .l-margin h6 + .e-grid {
  margin-top: 1.125rem;
}

/* page */
.l-page-01 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  --button-height: 2.5rem;
  --header-height: 5rem;
}
.l-page-01__button {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  min-height: var(--button-height);
  font-size: 0;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  letter-spacing: 0.08em;
  background: #ef4823;
  border: 0.125rem solid #ef4823;
}
.l-page-01__button::before {
  font-size: 0.75rem;
  content: "目次";
  background-image: url(../images/common/icon_submenu.svg);
  background-position: left center;
  background-repeat: no-repeat;
  padding: 0 1.5rem;
}
.l-page-01__button::after {
  display: none;
  width: 1.25rem;
  aspect-ratio: 1/1;
  margin-left: 0.25rem;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11400_9806)'%3E%3Cpath d='M16.5625 10.9375H3.4375V9.0625H16.5625V10.9375Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11400_9806'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11400_9806)'%3E%3Cpath d='M16.5625 10.9375H3.4375V9.0625H16.5625V10.9375Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11400_9806'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.l-page-01__button.is-open {
  color: #ef4823;
}
.l-page-01__button.is-open::before {
  content: "閉じる";
  padding: 0;
  background-image: none;
}
.l-page-01__button.is-open::after {
  display: block;
}
.l-page-01__nav {
  position: sticky;
  top: 9.375rem;
  flex-shrink: 0;
  width: 24.375rem;
  height: 38rem;
  max-height: calc(100vh - 21.25rem);
  padding-right: 1.25rem;
  overflow: auto;
  scrollbar-gutter: stable;
  /* width */
  /* Track */
  /* Handle */
}
.l-page-01__nav::-webkit-scrollbar {
  width: 0.625rem;
  margin-bottom: 0.5rem;
  margin-left: 2.5rem;
}
.l-page-01__nav::-webkit-scrollbar-track {
  background: transparent;
  background-color: transparent;
  border: 0.125rem solid #000;
}
.l-page-01__nav::-webkit-scrollbar-thumb {
  width: 0.375rem;
  margin-right: auto;
  margin-left: auto;
  background: #003d58;
  background-clip: content-box;
  border: 0.125rem solid transparent;
}
.l-page-01__nav::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
.l-page-01__nav::-webkit-scrollbar-button:single-button:vertical:increment {
  height: 0.5rem;
}
@media all and (min-width: 1281px), print {
  .l-page-01__nav {
    display: block !important;
  }
}
.l-page-01__cont {
  width: calc(100% - 26.875rem);
  max-width: 60rem;
}
.l-page-01.--mt-md {
  margin-top: 5rem;
}

@media only screen and (max-width: 1280px) {
  .l-page-01 {
    display: block;
  }
  .l-page-01__button {
    display: flex;
    transition: background-color 0.3s linear;
  }
  .l-page-01__button.is-open {
    background-color: #fff;
  }
  .l-page-01__nav {
    position: fixed;
    top: unset;
    right: 0;
    bottom: var(--button-height);
    left: 0;
    z-index: 99;
    display: none;
    width: unset;
    height: 16.875rem;
    max-height: calc(100vh - var(--button-height) - var(--header-height));
    padding: 1.25rem 1.25rem 1.0625rem;
    background: #fff;
    scrollbar-gutter: unset;
  }
  .l-page-01__nav .p-nav-01,
  .l-page-01__nav .e-nav {
    max-height: 100%;
    overflow: auto;
    /* width */
    /* Track */
    /* Handle */
  }
  .l-page-01__nav .p-nav-01::-webkit-scrollbar,
  .l-page-01__nav .e-nav::-webkit-scrollbar {
    width: 2.1875rem;
  }
  .l-page-01__nav .p-nav-01::-webkit-scrollbar-track,
  .l-page-01__nav .e-nav::-webkit-scrollbar-track {
    background: transparent;
    background-color: transparent;
    border-left: 1.5625rem solid #fff;
    box-shadow: inset 0 0 0 0.125rem #000;
  }
  .l-page-01__nav .p-nav-01::-webkit-scrollbar-thumb,
  .l-page-01__nav .e-nav::-webkit-scrollbar-thumb {
    width: 0.375rem;
    margin-right: auto;
    margin-left: auto;
    background: #003d58;
    background-clip: content-box;
    border: 0.125rem solid transparent;
    border-left: 1.6875rem solid transparent;
  }
  .l-page-01__nav .p-nav-01::-webkit-scrollbar-button,
  .l-page-01__nav .e-nav::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
  }
  .l-page-01__nav .p-nav-01::-webkit-scrollbar-button:single-button:vertical:increment,
  .l-page-01__nav .e-nav::-webkit-scrollbar-button:single-button:vertical:increment {
    height: 0.5rem;
  }
  .l-page-01__nav .p-nav-01__item:first-child,
  .l-page-01__nav .p-nav-01 li:first-child,
  .l-page-01__nav .e-nav__item:first-child,
  .l-page-01__nav .e-nav li:first-child {
    border-top: none;
  }
  .l-page-01__nav .p-nav-01__item:first-child a,
  .l-page-01__nav .p-nav-01 li:first-child a,
  .l-page-01__nav .e-nav__item:first-child a,
  .l-page-01__nav .e-nav li:first-child a {
    min-height: unset;
    padding-top: 0;
  }
  .l-page-01__cont {
    width: 100%;
    max-width: unset;
    margin-top: 5rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .l-page-01 {
    --button-height: 3.125rem;
    --header-height: 8.5rem;
  }
  .l-page-01__nav {
    height: 18.75rem;
  }
  .l-page-01__button::before {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-page-01__cont {
    margin-top: 3.75rem;
  }
  .l-page-01.--mt-md {
    margin-top: 3.75rem;
  }
}
/* --------------------------------------------------
	4. object
-------------------------------------------------- */
/* component */
.c-bg-parallax {
  position: relative;
  clip-path: inset(0);
}
.c-bg-parallax .c-bg-parallax__bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
}
.c-bg-parallax .c-bg-parallax__bg img,
.c-bg-parallax .c-bg-parallax__bg video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: unset;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transform: translate(-50%, -50%);
}

.c-control-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: auto;
  aspect-ratio: 1/1;
  color: #000;
  border: 0.125rem solid #000;
}
.c-control-button::before {
  width: 55.5555555556%;
  max-width: 100%;
  aspect-ratio: 1/1;
  content: "";
  background-color: currentcolor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-control-button::after {
  content: none;
}
.c-control-button.--prev::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  transform: rotate(180deg);
}
.c-control-button.--next::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.c-control-button.--play-state::before {
  width: 0.5625rem;
  height: 0.8125rem;
  aspect-ratio: unset;
  background: transparent;
  border-right: 0.125rem solid currentcolor;
  border-left: 0.125rem solid currentcolor;
}
.c-control-button.is-pause.--play-state::before {
  border-top: 0.4375rem solid transparent;
  border-right: none;
  border-bottom: 0.4375rem solid transparent;
  border-left: 0.5625rem solid currentcolor;
}

.c-control-page {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  width: auto;
}
.c-control-page.swiper-pagination-bullets {
  width: auto;
}
.c-control-page.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0;
}
.c-control-page .swiper-pagination-bullet {
  width: 1rem;
  height: auto;
  aspect-ratio: 1/1;
  margin: 0;
  background-color: transparent;
  border: 0.125rem solid currentcolor;
  opacity: 1;
}
.c-control-page .swiper-pagination-bullet-active {
  color: #ef4823;
  background-color: #ef4823;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  .c-control-button {
    width: 1.875rem;
  }
  .c-control-page {
    gap: 0.5rem;
  }
  .c-control-page .swiper-pagination-bullet {
    width: 0.5rem;
  }
}
.c-img {
  display: block;
}
.c-img.--center {
  text-align: center;
}
.c-img.--full img {
  width: 100%;
}

.c-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
  min-width: 10.5rem;
  min-height: 3.8125rem;
  padding: 0.875rem 3.4375rem 0.875rem 1rem;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.08em;
  border-bottom: 0.125rem solid #000;
}
.c-button::after {
  position: absolute;
  top: 0;
  right: 0.5rem;
  bottom: 0;
  width: 1.5rem;
  aspect-ratio: 1/1;
  margin: auto;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-button.--blank::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_837)'%3E%3Cpath d='M13.667 4V6H6V26H26V18.333H28V28H4V4H13.667ZM28 4V13.333H26V7.4668L14 19.333L12.667 18L24.5332 6H18.667V4H28Z' fill='%23EF4823'/%3E%3Cpath d='M13.667 4H13.967V3.7H13.667V4ZM13.667 6V6.3H13.967V6H13.667ZM6 6V5.7H5.7V6H6ZM6 26H5.7V26.3H6V26ZM26 26V26.3H26.3V26H26ZM26 18.333V18.033H25.7V18.333H26ZM28 18.333H28.3V18.033H28V18.333ZM28 28V28.3H28.3V28H28ZM4 28H3.7V28.3H4V28ZM4 4V3.7H3.7V4H4ZM28 4H28.3V3.7H28V4ZM28 13.333V13.633H28.3V13.333H28ZM26 13.333H25.7V13.633H26V13.333ZM26 7.4668H26.3V6.74824L25.7891 7.25348L26 7.4668ZM14 19.333L13.7879 19.5451L13.9988 19.7561L14.2109 19.5463L14 19.333ZM12.667 18L12.4537 17.7891L12.2439 18.0012L12.4549 18.2121L12.667 18ZM24.5332 6L24.7465 6.21094L25.2518 5.7H24.5332V6ZM18.667 6H18.367V6.3H18.667V6ZM18.667 4V3.7H18.367V4H18.667ZM13.667 4H13.367V6H13.667H13.967V4H13.667ZM13.667 6V5.7H6V6V6.3H13.667V6ZM6 6H5.7V26H6H6.3V6H6ZM6 26V26.3H26V26V25.7H6V26ZM26 26H26.3V18.333H26H25.7V26H26ZM26 18.333V18.633H28V18.333V18.033H26V18.333ZM28 18.333H27.7V28H28H28.3V18.333H28ZM28 28V27.7H4V28V28.3H28V28ZM4 28H4.3V4H4H3.7V28H4ZM4 4V4.3H13.667V4V3.7H4V4ZM28 4H27.7V13.333H28H28.3V4H28ZM28 13.333V13.033H26V13.333V13.633H28V13.333ZM26 13.333H26.3V7.4668H26H25.7V13.333H26ZM26 7.4668L25.7891 7.25348L13.7891 19.1197L14 19.333L14.2109 19.5463L26.2109 7.68011L26 7.4668ZM14 19.333L14.2121 19.1209L12.8791 17.7879L12.667 18L12.4549 18.2121L13.7879 19.5451L14 19.333ZM12.667 18L12.8803 18.2109L24.7465 6.21094L24.5332 6L24.3199 5.78906L12.4537 17.7891L12.667 18ZM24.5332 6V5.7H18.667V6V6.3H24.5332V6ZM18.667 6H18.967V4H18.667H18.367V6H18.667ZM18.667 4V4.3H28V4V3.7H18.667V4Z' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_837'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_837)'%3E%3Cpath d='M13.667 4V6H6V26H26V18.333H28V28H4V4H13.667ZM28 4V13.333H26V7.4668L14 19.333L12.667 18L24.5332 6H18.667V4H28Z' fill='%23EF4823'/%3E%3Cpath d='M13.667 4H13.967V3.7H13.667V4ZM13.667 6V6.3H13.967V6H13.667ZM6 6V5.7H5.7V6H6ZM6 26H5.7V26.3H6V26ZM26 26V26.3H26.3V26H26ZM26 18.333V18.033H25.7V18.333H26ZM28 18.333H28.3V18.033H28V18.333ZM28 28V28.3H28.3V28H28ZM4 28H3.7V28.3H4V28ZM4 4V3.7H3.7V4H4ZM28 4H28.3V3.7H28V4ZM28 13.333V13.633H28.3V13.333H28ZM26 13.333H25.7V13.633H26V13.333ZM26 7.4668H26.3V6.74824L25.7891 7.25348L26 7.4668ZM14 19.333L13.7879 19.5451L13.9988 19.7561L14.2109 19.5463L14 19.333ZM12.667 18L12.4537 17.7891L12.2439 18.0012L12.4549 18.2121L12.667 18ZM24.5332 6L24.7465 6.21094L25.2518 5.7H24.5332V6ZM18.667 6H18.367V6.3H18.667V6ZM18.667 4V3.7H18.367V4H18.667ZM13.667 4H13.367V6H13.667H13.967V4H13.667ZM13.667 6V5.7H6V6V6.3H13.667V6ZM6 6H5.7V26H6H6.3V6H6ZM6 26V26.3H26V26V25.7H6V26ZM26 26H26.3V18.333H26H25.7V26H26ZM26 18.333V18.633H28V18.333V18.033H26V18.333ZM28 18.333H27.7V28H28H28.3V18.333H28ZM28 28V27.7H4V28V28.3H28V28ZM4 28H4.3V4H4H3.7V28H4ZM4 4V4.3H13.667V4V3.7H4V4ZM28 4H27.7V13.333H28H28.3V4H28ZM28 13.333V13.033H26V13.333V13.633H28V13.333ZM26 13.333H26.3V7.4668H26H25.7V13.333H26ZM26 7.4668L25.7891 7.25348L13.7891 19.1197L14 19.333L14.2109 19.5463L26.2109 7.68011L26 7.4668ZM14 19.333L14.2121 19.1209L12.8791 17.7879L12.667 18L12.4549 18.2121L13.7879 19.5451L14 19.333ZM12.667 18L12.8803 18.2109L24.7465 6.21094L24.5332 6L24.3199 5.78906L12.4537 17.7891L12.667 18ZM24.5332 6V5.7H18.667V6V6.3H24.5332V6ZM18.667 6H18.967V4H18.667H18.367V6H18.667ZM18.667 4V4.3H28V4V3.7H18.667V4Z' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_837'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.c-button.--pdf::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_837)'%3E%3Cpath d='M13.667 4V6H6V26H26V18.333H28V28H4V4H13.667ZM28 4V13.333H26V7.4668L14 19.333L12.667 18L24.5332 6H18.667V4H28Z' fill='%23EF4823'/%3E%3Cpath d='M13.667 4H13.967V3.7H13.667V4ZM13.667 6V6.3H13.967V6H13.667ZM6 6V5.7H5.7V6H6ZM6 26H5.7V26.3H6V26ZM26 26V26.3H26.3V26H26ZM26 18.333V18.033H25.7V18.333H26ZM28 18.333H28.3V18.033H28V18.333ZM28 28V28.3H28.3V28H28ZM4 28H3.7V28.3H4V28ZM4 4V3.7H3.7V4H4ZM28 4H28.3V3.7H28V4ZM28 13.333V13.633H28.3V13.333H28ZM26 13.333H25.7V13.633H26V13.333ZM26 7.4668H26.3V6.74824L25.7891 7.25348L26 7.4668ZM14 19.333L13.7879 19.5451L13.9988 19.7561L14.2109 19.5463L14 19.333ZM12.667 18L12.4537 17.7891L12.2439 18.0012L12.4549 18.2121L12.667 18ZM24.5332 6L24.7465 6.21094L25.2518 5.7H24.5332V6ZM18.667 6H18.367V6.3H18.667V6ZM18.667 4V3.7H18.367V4H18.667ZM13.667 4H13.367V6H13.667H13.967V4H13.667ZM13.667 6V5.7H6V6V6.3H13.667V6ZM6 6H5.7V26H6H6.3V6H6ZM6 26V26.3H26V26V25.7H6V26ZM26 26H26.3V18.333H26H25.7V26H26ZM26 18.333V18.633H28V18.333V18.033H26V18.333ZM28 18.333H27.7V28H28H28.3V18.333H28ZM28 28V27.7H4V28V28.3H28V28ZM4 28H4.3V4H4H3.7V28H4ZM4 4V4.3H13.667V4V3.7H4V4ZM28 4H27.7V13.333H28H28.3V4H28ZM28 13.333V13.033H26V13.333V13.633H28V13.333ZM26 13.333H26.3V7.4668H26H25.7V13.333H26ZM26 7.4668L25.7891 7.25348L13.7891 19.1197L14 19.333L14.2109 19.5463L26.2109 7.68011L26 7.4668ZM14 19.333L14.2121 19.1209L12.8791 17.7879L12.667 18L12.4549 18.2121L13.7879 19.5451L14 19.333ZM12.667 18L12.8803 18.2109L24.7465 6.21094L24.5332 6L24.3199 5.78906L12.4537 17.7891L12.667 18ZM24.5332 6V5.7H18.667V6V6.3H24.5332V6ZM18.667 6H18.967V4H18.667H18.367V6H18.667ZM18.667 4V4.3H28V4V3.7H18.667V4Z' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_837'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_837)'%3E%3Cpath d='M13.667 4V6H6V26H26V18.333H28V28H4V4H13.667ZM28 4V13.333H26V7.4668L14 19.333L12.667 18L24.5332 6H18.667V4H28Z' fill='%23EF4823'/%3E%3Cpath d='M13.667 4H13.967V3.7H13.667V4ZM13.667 6V6.3H13.967V6H13.667ZM6 6V5.7H5.7V6H6ZM6 26H5.7V26.3H6V26ZM26 26V26.3H26.3V26H26ZM26 18.333V18.033H25.7V18.333H26ZM28 18.333H28.3V18.033H28V18.333ZM28 28V28.3H28.3V28H28ZM4 28H3.7V28.3H4V28ZM4 4V3.7H3.7V4H4ZM28 4H28.3V3.7H28V4ZM28 13.333V13.633H28.3V13.333H28ZM26 13.333H25.7V13.633H26V13.333ZM26 7.4668H26.3V6.74824L25.7891 7.25348L26 7.4668ZM14 19.333L13.7879 19.5451L13.9988 19.7561L14.2109 19.5463L14 19.333ZM12.667 18L12.4537 17.7891L12.2439 18.0012L12.4549 18.2121L12.667 18ZM24.5332 6L24.7465 6.21094L25.2518 5.7H24.5332V6ZM18.667 6H18.367V6.3H18.667V6ZM18.667 4V3.7H18.367V4H18.667ZM13.667 4H13.367V6H13.667H13.967V4H13.667ZM13.667 6V5.7H6V6V6.3H13.667V6ZM6 6H5.7V26H6H6.3V6H6ZM6 26V26.3H26V26V25.7H6V26ZM26 26H26.3V18.333H26H25.7V26H26ZM26 18.333V18.633H28V18.333V18.033H26V18.333ZM28 18.333H27.7V28H28H28.3V18.333H28ZM28 28V27.7H4V28V28.3H28V28ZM4 28H4.3V4H4H3.7V28H4ZM4 4V4.3H13.667V4V3.7H4V4ZM28 4H27.7V13.333H28H28.3V4H28ZM28 13.333V13.033H26V13.333V13.633H28V13.333ZM26 13.333H26.3V7.4668H26H25.7V13.333H26ZM26 7.4668L25.7891 7.25348L13.7891 19.1197L14 19.333L14.2109 19.5463L26.2109 7.68011L26 7.4668ZM14 19.333L14.2121 19.1209L12.8791 17.7879L12.667 18L12.4549 18.2121L13.7879 19.5451L14 19.333ZM12.667 18L12.8803 18.2109L24.7465 6.21094L24.5332 6L24.3199 5.78906L12.4537 17.7891L12.667 18ZM24.5332 6V5.7H18.667V6V6.3H24.5332V6ZM18.667 6H18.967V4H18.667H18.367V6H18.667ZM18.667 4V4.3H28V4V3.7H18.667V4Z' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_837'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.c-button.--white {
  color: #fff;
  border-bottom-color: #fff;
}
.c-button.--arrow-down::after {
  transform: rotate(90deg);
}
@media (hover: hover) {
  .c-button {
    transition: color 0.3s linear, background-color 0.3s linear;
  }
  .c-button:hover {
    color: #fff;
    background-color: #ef4823;
  }
}
@media only screen and (max-width: 767px) {
  .c-button {
    min-width: 9.375rem;
    min-height: 2.375rem;
    padding: 0 3.125rem 0.625rem 0.75rem;
    font-size: 1rem;
  }
  .c-button::after {
    bottom: 0.625rem;
    width: 1.25rem;
  }
}

.c-heading {
  position: relative;
  display: inline-block;
  font-size: 2rem;
  color: #000;
}

@media only screen and (max-width: 767px) {
  .c-heading {
    font-size: 1.5rem;
  }
}
.c-heading-lv1 {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv1 {
    font-size: 2rem;
  }
}

.c-heading-lv2 {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv2 {
    font-size: 1.75rem;
  }
}

.c-heading-lv3 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv3 {
    font-size: 1.5rem;
    line-height: 1.4;
  }
}

.c-heading-lv4 {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv4 {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}

.c-heading-lv5 {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv5 {
    font-size: 1.125rem;
    line-height: 1.4;
  }
}

.c-heading-h6 {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .c-heading-h6 {
    font-size: 1rem;
    line-height: 1.4;
  }
}

.c-list-dot {
  list-style: none;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .c-list-dot {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.c-list-dot__item {
  position: relative;
  padding-left: 1.7777777778em;
}
.c-list-dot__item + li {
  margin-top: 0.25rem;
}
.c-list-dot__item::before {
  --w: 0.556em;
  --h: 0.556em;
  position: absolute;
  top: calc(0.9em - var(--h) / 2);
  left: calc(0.8888888889em - var(--w) / 2);
  display: block;
  width: 0.556em;
  height: 0.556em;
  content: "";
  background: #003d58;
  border-radius: 50%;
}
.c-list-dot__item.--custom-01 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #919191;
}
.c-list-dot__item.--custom-01::before {
  --w: 0.652em;
  --h: 0.652em;
  background: currentcolor;
  border-radius: 0;
  transform: rotate(-45deg);
}
.c-list-dot.--red {
  color: #ef4823;
}
.c-list-dot.--red .c-list-dot__item::before {
  background-color: currentcolor;
}
.c-list-dot.--row-gap-0 .c-list-dot__item + .c-list-dot__item {
  margin-top: 0;
}

.c-list-ol {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
  counter-reset: count;
}
.c-list-ol__item {
  position: relative;
  padding-left: 1.6875rem;
  counter-increment: count;
}
.c-list-ol__item::before {
  position: absolute;
  top: 0;
  left: 0.625rem;
  content: counter(count) ".";
}
.c-list-ol__item + li {
  margin-top: 0;
}
@media only screen and (max-width: 767px) {
  .c-list-ol {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}

.c-list-dl__dt {
  font-weight: bold;
}
.c-list-dl__dd {
  padding-left: 1em;
}

.c-text-link {
  display: inline-block;
  text-decoration: underline;
  text-decoration-color: rgba(0, 0, 0, 0.3);
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .c-text-link {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.c-text-link.--blank::after {
  display: inline-block;
  width: 1.25rem;
  aspect-ratio: 1/1;
  margin-bottom: 0.375rem;
  margin-left: 0.4375rem;
  vertical-align: middle;
  content: "";
  background-color: #ef4823;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_837)'%3E%3Cpath d='M13.667 4V6H6V26H26V18.333H28V28H4V4H13.667ZM28 4V13.333H26V7.4668L14 19.333L12.667 18L24.5332 6H18.667V4H28Z' fill='%23EF4823'/%3E%3Cpath d='M13.667 4H13.967V3.7H13.667V4ZM13.667 6V6.3H13.967V6H13.667ZM6 6V5.7H5.7V6H6ZM6 26H5.7V26.3H6V26ZM26 26V26.3H26.3V26H26ZM26 18.333V18.033H25.7V18.333H26ZM28 18.333H28.3V18.033H28V18.333ZM28 28V28.3H28.3V28H28ZM4 28H3.7V28.3H4V28ZM4 4V3.7H3.7V4H4ZM28 4H28.3V3.7H28V4ZM28 13.333V13.633H28.3V13.333H28ZM26 13.333H25.7V13.633H26V13.333ZM26 7.4668H26.3V6.74824L25.7891 7.25348L26 7.4668ZM14 19.333L13.7879 19.5451L13.9988 19.7561L14.2109 19.5463L14 19.333ZM12.667 18L12.4537 17.7891L12.2439 18.0012L12.4549 18.2121L12.667 18ZM24.5332 6L24.7465 6.21094L25.2518 5.7H24.5332V6ZM18.667 6H18.367V6.3H18.667V6ZM18.667 4V3.7H18.367V4H18.667ZM13.667 4H13.367V6H13.667H13.967V4H13.667ZM13.667 6V5.7H6V6V6.3H13.667V6ZM6 6H5.7V26H6H6.3V6H6ZM6 26V26.3H26V26V25.7H6V26ZM26 26H26.3V18.333H26H25.7V26H26ZM26 18.333V18.633H28V18.333V18.033H26V18.333ZM28 18.333H27.7V28H28H28.3V18.333H28ZM28 28V27.7H4V28V28.3H28V28ZM4 28H4.3V4H4H3.7V28H4ZM4 4V4.3H13.667V4V3.7H4V4ZM28 4H27.7V13.333H28H28.3V4H28ZM28 13.333V13.033H26V13.333V13.633H28V13.333ZM26 13.333H26.3V7.4668H26H25.7V13.333H26ZM26 7.4668L25.7891 7.25348L13.7891 19.1197L14 19.333L14.2109 19.5463L26.2109 7.68011L26 7.4668ZM14 19.333L14.2121 19.1209L12.8791 17.7879L12.667 18L12.4549 18.2121L13.7879 19.5451L14 19.333ZM12.667 18L12.8803 18.2109L24.7465 6.21094L24.5332 6L24.3199 5.78906L12.4537 17.7891L12.667 18ZM24.5332 6V5.7H18.667V6V6.3H24.5332V6ZM18.667 6H18.967V4H18.667H18.367V6H18.667ZM18.667 4V4.3H28V4V3.7H18.667V4Z' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_837'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_837)'%3E%3Cpath d='M13.667 4V6H6V26H26V18.333H28V28H4V4H13.667ZM28 4V13.333H26V7.4668L14 19.333L12.667 18L24.5332 6H18.667V4H28Z' fill='%23EF4823'/%3E%3Cpath d='M13.667 4H13.967V3.7H13.667V4ZM13.667 6V6.3H13.967V6H13.667ZM6 6V5.7H5.7V6H6ZM6 26H5.7V26.3H6V26ZM26 26V26.3H26.3V26H26ZM26 18.333V18.033H25.7V18.333H26ZM28 18.333H28.3V18.033H28V18.333ZM28 28V28.3H28.3V28H28ZM4 28H3.7V28.3H4V28ZM4 4V3.7H3.7V4H4ZM28 4H28.3V3.7H28V4ZM28 13.333V13.633H28.3V13.333H28ZM26 13.333H25.7V13.633H26V13.333ZM26 7.4668H26.3V6.74824L25.7891 7.25348L26 7.4668ZM14 19.333L13.7879 19.5451L13.9988 19.7561L14.2109 19.5463L14 19.333ZM12.667 18L12.4537 17.7891L12.2439 18.0012L12.4549 18.2121L12.667 18ZM24.5332 6L24.7465 6.21094L25.2518 5.7H24.5332V6ZM18.667 6H18.367V6.3H18.667V6ZM18.667 4V3.7H18.367V4H18.667ZM13.667 4H13.367V6H13.667H13.967V4H13.667ZM13.667 6V5.7H6V6V6.3H13.667V6ZM6 6H5.7V26H6H6.3V6H6ZM6 26V26.3H26V26V25.7H6V26ZM26 26H26.3V18.333H26H25.7V26H26ZM26 18.333V18.633H28V18.333V18.033H26V18.333ZM28 18.333H27.7V28H28H28.3V18.333H28ZM28 28V27.7H4V28V28.3H28V28ZM4 28H4.3V4H4H3.7V28H4ZM4 4V4.3H13.667V4V3.7H4V4ZM28 4H27.7V13.333H28H28.3V4H28ZM28 13.333V13.033H26V13.333V13.633H28V13.333ZM26 13.333H26.3V7.4668H26H25.7V13.333H26ZM26 7.4668L25.7891 7.25348L13.7891 19.1197L14 19.333L14.2109 19.5463L26.2109 7.68011L26 7.4668ZM14 19.333L14.2121 19.1209L12.8791 17.7879L12.667 18L12.4549 18.2121L13.7879 19.5451L14 19.333ZM12.667 18L12.8803 18.2109L24.7465 6.21094L24.5332 6L24.3199 5.78906L12.4537 17.7891L12.667 18ZM24.5332 6V5.7H18.667V6V6.3H24.5332V6ZM18.667 6H18.967V4H18.667H18.367V6H18.667ZM18.667 4V4.3H28V4V3.7H18.667V4Z' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_837'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-text-link.--pdf::after {
  display: inline-block;
  width: 1.625rem;
  aspect-ratio: 26/20;
  margin-bottom: 0.5rem;
  margin-left: 0.25rem;
  vertical-align: middle;
  content: "";
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='26' height='20' viewBox='0 0 26 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 3H26V17H0V3Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M24.5 4.5H1.5V15.5H24.5V4.5ZM0 3V17H26V3H0Z' fill='%23EF4823'/%3E%3Cpath d='M16.7732 13V7H21V8.17773H18.2698V9.4082H20.7309V10.5889H18.2698V13H16.7732Z' fill='%23EF4823'/%3E%3Cpath d='M12.8427 13H10.554V7H12.8397C13.4706 7 14.0138 7.12012 14.4693 7.36035C14.9268 7.59863 15.2796 7.94238 15.5275 8.3916C15.7754 8.83887 15.8994 9.37402 15.8994 9.99707C15.8994 10.6221 15.7754 11.1592 15.5275 11.6084C15.2816 12.0576 14.9299 12.4023 14.4723 12.6426C14.0148 12.8809 13.4716 13 12.8427 13ZM12.0506 11.7637H12.7852C13.1319 11.7637 13.4252 11.707 13.6651 11.5938C13.9069 11.4785 14.0894 11.292 14.2123 11.0342C14.3373 10.7744 14.3998 10.4287 14.3998 9.99707C14.3998 9.56543 14.3373 9.22168 14.2123 8.96582C14.0873 8.70801 13.9029 8.52246 13.659 8.40918C13.4171 8.29395 13.1188 8.23633 12.7641 8.23633H12.0506V11.7637Z' fill='%23EF4823'/%3E%3Cpath d='M5 13V7H7.55782C8.02142 7 8.42152 7.08789 8.75813 7.26367C9.09675 7.4375 9.35777 7.68066 9.54119 7.99316C9.72462 8.30371 9.81633 8.66504 9.81633 9.07715C9.81633 9.49121 9.7226 9.85352 9.53515 10.1641C9.34971 10.4727 9.08466 10.7119 8.73998 10.8818C8.39531 11.0518 7.98614 11.1367 7.51247 11.1367H5.93424V9.99414H7.23432C7.46007 9.99414 7.64853 9.95605 7.7997 9.87988C7.95288 9.80371 8.06878 9.69727 8.14739 9.56055C8.226 9.42188 8.26531 9.26074 8.26531 9.07715C8.26531 8.8916 8.226 8.73145 8.14739 8.59668C8.06878 8.45996 7.95288 8.35449 7.7997 8.28027C7.64651 8.20605 7.45805 8.16895 7.23432 8.16895H6.4966V13H5Z' fill='%23EF4823'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask-image: none;
          mask-image: none;
}
.c-text-link.--word::after {
  display: inline-block;
  width: 1.625rem;
  aspect-ratio: 26/20;
  margin-bottom: 0.5rem;
  margin-left: 0.25rem;
  vertical-align: middle;
  content: "";
  background-color: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='14' viewBox='0 0 26 14' fill='none'%3E%3Cpath d='M0 0H26V14H0V0Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M24.5 1.5H1.5V12.5H24.5V1.5ZM0 0V14H26V0H0Z' fill='%23EF4823'/%3E%3Cpath d='M19.6959 9.97977C19.4154 9.97977 19.1605 9.89503 18.9311 9.72555C18.7018 9.55608 18.5186 9.30187 18.3817 8.96292C18.2447 8.62397 18.1763 8.20317 18.1763 7.70052C18.1763 7.17862 18.2472 6.74915 18.3891 6.41213C18.531 6.0751 18.7166 5.82571 18.946 5.66393C19.177 5.50216 19.4253 5.42128 19.6909 5.42128C19.8906 5.42128 20.0613 5.46172 20.2032 5.54261C20.3451 5.62157 20.4623 5.72364 20.5547 5.84882C20.6471 5.974 20.7172 6.10399 20.765 6.2388H20.7898V4H22V9.91621H20.8021V9.19691H20.765C20.7139 9.33364 20.6413 9.46171 20.5472 9.58112C20.4532 9.70052 20.3352 9.79681 20.1933 9.86999C20.0531 9.94318 19.8873 9.97977 19.6959 9.97977ZM20.1166 8.87914C20.2634 8.87914 20.3888 8.831 20.4928 8.7347C20.5967 8.63649 20.6768 8.49879 20.7328 8.32161C20.7889 8.14443 20.817 7.93644 20.817 7.69763C20.817 7.45498 20.7889 7.24602 20.7328 7.07077C20.6784 6.89552 20.5984 6.76071 20.4928 6.66634C20.3888 6.57197 20.2634 6.52479 20.1166 6.52479C19.9665 6.52479 19.8394 6.57294 19.7355 6.66923C19.6315 6.76552 19.5523 6.90129 19.4979 7.07655C19.4451 7.2518 19.4187 7.45883 19.4187 7.69763C19.4187 7.93644 19.4459 8.14443 19.5003 8.32161C19.5548 8.49879 19.6332 8.63649 19.7355 8.7347C19.8394 8.831 19.9665 8.87914 20.1166 8.87914Z' fill='%23EF4823'/%3E%3Cpath d='M15.5713 9.91628V5.47912H16.7469V6.28798H16.7865C16.8558 5.99525 16.9688 5.77763 17.1255 5.63512C17.2823 5.49068 17.4646 5.41846 17.6725 5.41846C17.7286 5.41846 17.7863 5.42327 17.8457 5.4329C17.9051 5.4406 17.9604 5.45312 18.0115 5.47046V6.69818C17.9538 6.67507 17.8779 6.65678 17.7839 6.6433C17.6915 6.62982 17.609 6.62308 17.5364 6.62308C17.3928 6.62308 17.2633 6.66063 17.1478 6.73574C17.034 6.80892 16.944 6.91195 16.878 7.04484C16.8137 7.1758 16.7815 7.32986 16.7815 7.50704V9.91628H15.5713Z' fill='%23EF4823'/%3E%3Cpath d='M13.0309 9.99997C12.6316 9.99997 12.2884 9.90464 12.0013 9.71399C11.7159 9.5214 11.4956 9.25371 11.3405 8.91091C11.1871 8.56618 11.1104 8.16656 11.1104 7.71206C11.1104 7.25564 11.1871 6.85602 11.3405 6.51322C11.4956 6.16849 11.7159 5.9008 12.0013 5.71014C12.2884 5.51756 12.6316 5.42126 13.0309 5.42126C13.4302 5.42126 13.7725 5.51756 14.058 5.71014C14.3451 5.9008 14.5653 6.16849 14.7188 6.51322C14.8739 6.85602 14.9514 7.25564 14.9514 7.71206C14.9514 8.16656 14.8739 8.56618 14.7188 8.91091C14.5653 9.25371 14.3451 9.5214 14.058 9.71399C13.7725 9.90464 13.4302 9.99997 13.0309 9.99997ZM13.0383 8.93402C13.1835 8.93402 13.3064 8.88202 13.4071 8.77802C13.5077 8.67403 13.5844 8.52959 13.6372 8.34471C13.6917 8.15982 13.7189 7.94605 13.7189 7.7034C13.7189 7.45689 13.6917 7.24119 13.6372 7.05631C13.5844 6.87143 13.5077 6.72699 13.4071 6.623C13.3064 6.519 13.1835 6.467 13.0383 6.467C12.8882 6.467 12.7611 6.519 12.6572 6.623C12.5549 6.72699 12.4765 6.87143 12.4221 7.05631C12.3693 7.24119 12.3429 7.45689 12.3429 7.7034C12.3429 7.94605 12.3693 8.15982 12.4221 8.34471C12.4765 8.52959 12.5549 8.67403 12.6572 8.77802C12.7611 8.88202 12.8882 8.93402 13.0383 8.93402Z' fill='%23EF4823'/%3E%3Cpath d='M5.47504 9.91621L4 4H5.35377L6.11852 7.87674H6.16059L7.03424 4H8.13805L9.01169 7.8854H9.05376L9.82098 4H11.1723L9.69971 9.91621H8.51918L7.60594 6.32835H7.56634L6.6531 9.91621H5.47504Z' fill='%23EF4823'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.c-text-link.--white {
  color: #fff;
}
.c-text-link.--white::after {
  background-color: #fff;
}
.c-text-link.--orange {
  color: #ef4823;
  text-decoration-color: rgba(239, 72, 35, 0.3);
}
.c-text-link.--inline {
  display: inline;
}
@media (hover: hover) {
  .c-text-link {
    transition: 0.3s linear all;
  }
  .c-text-link:hover {
    color: #ef4823;
  }
  .c-text-link.--white:hover::after {
    background-color: currentcolor;
  }
}
@media only screen and (max-width: 767px) {
  .c-text-link.--blank::after {
    width: 1rem;
    margin-bottom: 0.375rem;
    margin-left: 0.25rem;
  }
  .c-text-link.--pdf::after {
    width: 1.375rem;
  }
}

.c-text {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-text {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.c-text.--lg {
  font-size: 1.25rem;
}
@media only screen and (max-width: 767px) {
  .c-text.--lg {
    font-size: 1rem;
  }
}
.c-text.--xlg {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .c-text.--xlg {
    font-size: 1.125rem;
  }
}
.c-text.--sm {
  font-size: 1rem;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .c-text.--sm {
    font-size: 0.8125rem;
  }
}
.c-text.--xsm {
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .c-text.--xsm {
    font-size: 0.6875rem;
    letter-spacing: 0;
  }
}

/* project */
.p-accordion {
  border: 0.125rem solid #000;
  --pd-x: 3.625rem;
}
.p-accordion__head {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  padding: 2.5rem var(--pd-x);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-accordion__head {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.p-accordion__head.--red {
  color: #ef4823;
}
.p-accordion__head.--sm {
  font-size: 1.5rem;
}
.p-accordion__head.--bold {
  font-weight: bold;
}
.p-accordion__head.is-active .p-accordion__button::before {
  content: "閉じる";
}
.p-accordion__head.is-active .p-accordion__button::after {
  transform: rotate(180deg);
}
.p-accordion__button {
  display: inline-flex;
  flex-shrink: 0;
  justify-content: flex-end;
  font-size: 0;
  color: #000;
  text-align: right;
  letter-spacing: 0;
}
.p-accordion__button::before {
  flex-grow: 1;
  flex-shrink: 0;
  min-width: 3.75rem;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  white-space: nowrap;
  content: "開く";
}
@media only screen and (max-width: 767px) {
  .p-accordion__button::before {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-accordion__button::after {
  flex-shrink: 0;
  width: 1.25rem;
  aspect-ratio: 1/1;
  margin-left: 0.25rem;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_843)'%3E%3Cpath d='M16 22.8L4 10.6667L5.33333 9.33337L16 20L26.6667 9.33337L28 10.6667L16 22.8Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_843'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_843)'%3E%3Cpath d='M16 22.8L4 10.6667L5.33333 9.33337L16 20L26.6667 9.33337L28 10.6667L16 22.8Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_843'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: transform 0.3s linear;
}
.p-accordion__body {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  padding: 0 var(--pd-x) 2.5rem;
}
@media only screen and (max-width: 767px) {
  .p-accordion__body {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-accordion__body.--mt-md {
  margin-top: 1.5rem;
}

@media all and (min-width: 768px), print {
  .p-accordion.--space-01 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
  .p-accordion.--space-01 .p-accordion__head {
    position: relative;
    padding: 1.375rem var(--pd-x);
  }
  .p-accordion.--space-01 .p-accordion__head::before {
    position: absolute;
    top: -0.625rem;
    bottom: -0.625rem;
    left: 0;
    width: 100%;
    content: "";
  }
  .p-accordion.--space-02 .p-accordion__head {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
  .p-accordion.--space-02 .p-accordion__body {
    padding-bottom: 3.4375rem;
  }
  .p-accordion.--space-03 {
    padding: 0.625rem 0;
  }
  .p-accordion.--space-03 .p-accordion__head {
    position: relative;
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
  .p-accordion.--space-03 .p-accordion__head::before {
    position: absolute;
    inset: -0.625rem 0;
    content: "";
  }
  .p-accordion.--space-03 .p-accordion__body {
    padding-top: 0.1875rem;
    padding-bottom: 2.625rem;
  }
  .p-accordion.--space-04 {
    padding: 1.125rem 0;
  }
  .p-accordion.--space-04 .p-accordion__head {
    position: relative;
    padding: 0.5rem var(--pd-x);
  }
  .p-accordion.--space-04 .p-accordion__head::before {
    position: absolute;
    inset: -1.125rem 0;
    content: "";
  }
  .p-accordion.--space-04 .p-accordion__body {
    padding-bottom: 0.375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .p-accordion {
    --pd-x: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-accordion__head {
    gap: 1.25rem;
    padding: 1.125rem;
    font-size: 1rem;
  }
  .p-accordion__head.--sm {
    font-size: 1.125rem;
  }
  .p-accordion__body {
    padding: 0.5rem 1.125rem 1.25rem;
  }
  .p-accordion__button::before {
    min-width: 0;
    font-size: 0;
  }
}
.p-anchor-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
.p-anchor-list__link {
  position: relative;
  display: block;
  padding: 0.875rem 3.5rem 0.875rem 1rem;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.08em;
  border-top: 0.125rem solid transparent;
  border-bottom: 0.125rem solid #000;
}
.p-anchor-list__link::after {
  position: absolute;
  top: 0;
  right: 0.5rem;
  bottom: 0;
  width: 1.5rem;
  aspect-ratio: 1/1;
  margin: auto;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_843)'%3E%3Cpath d='M16 22.8L4 10.6667L5.33333 9.33337L16 20L26.6667 9.33337L28 10.6667L16 22.8Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_843'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_843)'%3E%3Cpath d='M16 22.8L4 10.6667L5.33333 9.33337L16 20L26.6667 9.33337L28 10.6667L16 22.8Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_843'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover: hover) {
  .p-anchor-list__link {
    transition: 0.3s linear background-color;
  }
  .p-anchor-list__link .p-anchor-list__link::after {
    transition: all 0.3s linear;
  }
  .p-anchor-list__link:hover {
    color: #fff;
    background-color: #43847c;
  }
}

@media only screen and (max-width: 767px) {
  .p-anchor-list {
    gap: 0.75rem 1.25rem;
  }
  .p-anchor-list__link {
    padding: 0 3.125rem 0.625rem 0.75rem;
    font-size: 1rem;
  }
  .p-anchor-list__link::after {
    width: 1.25rem;
  }
  .p-anchor-list__link::after {
    bottom: 0.625rem;
  }
}
.p-breadline {
  margin-top: 0.5rem;
}
.p-breadline__list {
  display: flex;
  align-items: center;
}
.p-breadline__item {
  font-size: 0.875rem;
  font-weight: 500;
  color: #000;
  white-space: nowrap;
}
.p-breadline__item a {
  margin-right: 0.75rem;
  color: #000;
}
.p-breadline__item.--active {
  overflow: hidden;
  text-overflow: ellipsis;
}
.p-breadline__divider {
  margin-right: 0.75rem;
  font-size: 1rem;
}

.p-card-01-wrap {
  --gap-col: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem var(--gap-col);
}
.p-card-01-wrap .p-card-01 {
  width: calc((100% - var(--gap-col)) / 2);
}

.p-card-01__video {
  position: relative;
  width: 100%;
  aspect-ratio: 560/315;
  background-color: #000;
}
.p-card-01__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-card-01__img {
  display: block;
  width: 100%;
}
.p-card-01__img img {
  width: 100%;
}
.p-card-01__text {
  margin-top: 1rem;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-card-01__text {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-card-01__text.--center {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-card-01-wrap {
    flex-direction: column;
  }
  .p-card-01-wrap .p-card-01 {
    width: 100%;
  }
}
.p-card-02 {
  color: #000;
  background-color: #fff;
}
.p-card-02__head {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  padding: 1.5rem 3.75rem;
  border-bottom: 0.125rem solid #000;
}
.p-card-02__head-pin {
  display: flex;
  flex-shrink: 0;
  align-items: center;
}
.p-card-02__head-pin-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5625rem;
  aspect-ratio: 1/1;
  padding-bottom: 0.375rem;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.6;
  color: #fff;
  text-align: center;
  letter-spacing: 0.08em;
  background-color: #000;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='57' height='57' viewBox='0 0 57 57' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.0538 12.4462C22.9277 5.57234 34.0723 5.57234 40.9462 12.4462C46.8845 18.3845 47.8005 27.6908 43.134 34.673L28.5 56.5685L13.866 34.673C9.19949 27.6908 10.1155 18.3845 16.0538 12.4462Z' fill='black'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='57' height='57' viewBox='0 0 57 57' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.0538 12.4462C22.9277 5.57234 34.0723 5.57234 40.9462 12.4462C46.8845 18.3845 47.8005 27.6908 43.134 34.673L28.5 56.5685L13.866 34.673C9.19949 27.6908 10.1155 18.3845 16.0538 12.4462Z' fill='black'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-card-02__head-pin-item:not(:first-child) {
  margin-left: -1rem;
}
.p-card-02__head-txt {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
.p-card-02__body {
  padding: 0 3.75rem 1rem;
}
.p-card-02__list {
  position: relative;
  display: flex;
  gap: var(--gap);
  padding: 2.5rem 0;
  --gap: calc(60 / 720 * 100%);
}
.p-card-02__list + .p-card-02__list::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 0.125rem;
  content: "";
  background: repeating-linear-gradient(to right, #000 0, #000 0.125rem, #fff 0.125rem, #fff 0.625rem);
  background-repeat: no-repeat;
  background-position: center;
}
.p-card-02__item {
  width: calc((100% - 2 * var(--gap)) / 3);
  text-align: center;
}
.p-card-02__item-img {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 50%;
}
.p-card-02__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-card-02__item-title {
  margin-top: 0.5rem;
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-card-02__item-title {
    font-size: 1.125rem;
  }
}
.p-card-02__item-btn {
  min-width: 8.125rem;
}
.p-card-02__item02 {
  position: relative;
  display: flex;
  gap: 8.3333333333%;
  align-items: flex-start;
  padding: 2.5rem 0;
}
.p-card-02__item02 + .p-card-02__item02::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 0.125rem;
  content: "";
  background: repeating-linear-gradient(to right, #000 0, #000 0.125rem, #fff 0.125rem, #fff 0.625rem);
  background-repeat: no-repeat;
  background-position: center;
}
.p-card-02__item02-img {
  flex-shrink: 0;
  width: 27.7777777778%;
  overflow: hidden;
  border-radius: 50%;
}
.p-card-02__item02-title {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-card-02__item02-title {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.p-card-02__item02-address {
  position: relative;
  padding-left: 1.625rem;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .p-card-02__item02-address {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }
}
.p-card-02__item02-address::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5rem;
  aspect-ratio: 1/1;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='57' height='57' viewBox='0 0 57 57' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.0538 12.4462C22.9277 5.57234 34.0723 5.57234 40.9462 12.4462C46.8845 18.3845 47.8005 27.6908 43.134 34.673L28.5 56.5685L13.866 34.673C9.19949 27.6908 10.1155 18.3845 16.0538 12.4462Z' fill='black'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='57' height='57' viewBox='0 0 57 57' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.0538 12.4462C22.9277 5.57234 34.0723 5.57234 40.9462 12.4462C46.8845 18.3845 47.8005 27.6908 43.134 34.673L28.5 56.5685L13.866 34.673C9.19949 27.6908 10.1155 18.3845 16.0538 12.4462Z' fill='black'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-card-02__item02-txt {
  margin-top: 0.5rem;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-card-02__item02-txt {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}

@media only screen and (max-width: 767px) {
  .p-card-02__body {
    padding: 0 1.0625rem 0 1.125rem;
  }
  .p-card-02__item02 {
    flex-direction: column;
    align-items: center;
    padding: 2rem 0 2.5rem;
  }
  .p-card-02__item02-img {
    width: 8.5rem;
  }
  .p-card-02__item02-cont {
    width: 100%;
    margin-top: 1rem;
  }
  .p-card-02__item02-address {
    padding-left: 1.5rem;
    margin-top: 0.75rem;
  }
  .p-card-02__item02-address::before {
    width: 1.25rem;
  }
  .p-card-02__item02-txt {
    margin-top: 0.75rem;
  }
  .p-card-02__head {
    min-height: 3.75rem;
    padding: 1rem 1.125rem;
  }
  .p-card-02__head-txt {
    font-size: 1.125rem;
  }
  .p-card-02__list {
    --gap: 1.75rem;
    flex-wrap: wrap;
  }
  .p-card-02__item {
    width: calc((100% - 1 * var(--gap)) / 2);
  }
  .p-card-02__item-btn {
    min-width: 7.1875rem;
    margin-top: 0.25rem;
  }
  .p-card-02__head-pin-item {
    width: 2.75rem;
    padding-bottom: 0.25rem;
    font-size: 0.9375rem;
  }
  .p-card-02__head-pin-item:not(:first-child) {
    margin-left: -0.75rem;
  }
}
.p-box {
  padding: 2rem 4rem 2rem 3.5rem;
  border: 0.125rem solid #000;
}
.p-box__title {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-box__title {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.p-box__cont {
  margin-top: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .p-box {
    padding: 1.25rem;
  }
  .p-box__cont {
    margin-top: 1rem;
  }
}
.p-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
}
.p-grid.--repeat-2 {
  grid-template-columns: repeat(2, 1fr);
}
.p-grid.--repeat-3 {
  grid-template-columns: repeat(3, 1fr);
}
.p-grid__texts {
  margin-top: 1rem;
}
.p-grid__col {
  /* CMSエディタ―のみで適応 */
  /* border: dashed pxtorem(1) #c2c2c2; */
}

.p-table__th {
  padding: 0.75rem 1rem;
  font-weight: bold;
  vertical-align: middle;
  background-color: #ededed;
  border: 0.0625rem solid #ccc;
}
.p-table__td {
  padding: 0.75rem 1rem;
  border: 0.0625rem solid #ccc;
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .p-table__th {
    padding: 0.5rem 0.75rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .p-table__td {
    padding: 0.5rem 0.75rem;
  }
}
.p-nav-01__item {
  border-top: 0.0625rem solid #000;
}
.p-nav-01__item:last-child {
  border-bottom: 0.0625rem solid #000;
}
.p-nav-01__link {
  display: flex;
  align-items: center;
  min-height: 4.6875rem;
  padding: 1.125rem 1.25rem;
  text-decoration: none;
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-nav-01__link {
    font-size: 1rem;
  }
}
.p-nav-01__link rt {
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.06em;
}
@media (hover: hover) {
  .p-nav-01__link {
    transition: color 0.3s linear;
  }
  .p-nav-01__link:hover {
    color: #ef4823;
  }
}

@media only screen and (max-width: 1280px) {
  .p-nav-01__link {
    align-items: baseline;
    min-height: unset;
    padding: 1rem 1.25rem;
  }
}
.p-mainvisual {
  width: 100%;
  padding: 10rem 0 11.5625rem;
  margin: 0 auto;
}
.p-mainvisual__container {
  display: flex;
  gap: 6.2893081761%;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 99.375rem;
}
.p-mainvisual__copy {
  position: sticky;
  top: 10rem;
  width: 45.2830188679%;
  min-width: 15.625rem;
}
.p-mainvisual__cont {
  flex-grow: 1;
  padding-top: 6rem;
  color: #fff;
}
.p-mainvisual__dl-dt {
  font-size: 2.75rem;
  font-weight: 900;
  line-height: 2;
  letter-spacing: 0.12em;
}
.p-mainvisual__dl-dt:not(:first-child) {
  margin-top: 3.5rem;
}
.p-mainvisual__dl-dd {
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.12em;
}
.p-mainvisual__desc {
  margin-top: 10rem;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 2.2;
  letter-spacing: 0.08em;
}
.p-mainvisual__desc p + p {
  margin-top: 2.0909090909em;
}
.p-mainvisual__bg {
  background-color: #ef4823;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .p-mainvisual__container {
    gap: 4%;
  }
  .p-mainvisual__cont {
    padding-top: 3vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainvisual {
    padding: 0;
  }
  .p-mainvisual__container {
    display: block;
  }
  .p-mainvisual__copy {
    top: 0;
    /* margin-bottom: -100vh; */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 20.9375rem;
    height: 100vh;
    margin-right: auto;
    margin-left: auto;
    pointer-events: none;
  }
  .p-mainvisual__cont {
    position: relative;
    z-index: 1;
    padding-top: 6.75rem;
    padding-bottom: 6.25rem;
    margin-top: -100vh;
  }
  .p-mainvisual__dl-dt {
    font-size: 2rem;
  }
  .p-mainvisual__dl-dd {
    margin-top: -0.1875rem;
    margin-right: -0.125rem;
    font-size: 1.25rem;
  }
  .p-mainvisual__dl-dt:not(:first-child) {
    margin-top: 2.4375rem;
  }
  .p-mainvisual__desc {
    margin-top: 3.625rem;
    font-size: 0.9375rem;
  }
  .p-mainvisual__desc p + p {
    margin-top: 2.2em;
  }
}
.p-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100svh;
  padding: 1.25rem;
  color: #000;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s;
}
.p-modal.is-active {
  visibility: visible;
  opacity: 1;
}
.p-modal__inner {
  position: relative;
  width: 52.5rem;
  max-width: 100%;
  height: 32.8125rem;
  max-height: 100%;
  padding: 4.4375rem 3.125rem 2.5rem 4rem;
  pointer-events: auto;
  background: #fff;
  -webkit-backdrop-filter: blur(0.1875rem);
          backdrop-filter: blur(0.1875rem);
  border: 0.125rem solid #000;
}
.p-modal__inner.--space-0 {
  padding: 0;
}
.p-modal__body {
  max-height: 100%;
  padding-right: 5rem;
}
.p-modal__body:not(.js-boxsimplebar) {
  overflow-y: auto;
  /* width */
  /* Track */
  /* Handle */
}
.p-modal__body:not(.js-boxsimplebar)::-webkit-scrollbar {
  width: 0.625rem;
  margin-bottom: 0.5rem;
  margin-left: 2.5rem;
}
.p-modal__body:not(.js-boxsimplebar)::-webkit-scrollbar-track {
  background-color: transparent;
  border: 0.125rem solid #000;
}
.p-modal__body:not(.js-boxsimplebar)::-webkit-scrollbar-thumb {
  width: 0.375rem;
  margin-right: auto;
  margin-left: auto;
  background: #003d58;
  background-clip: content-box;
  border: 0.125rem solid transparent;
}
.p-modal__body:not(.js-boxsimplebar)::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
.p-modal__body .simplebar-track {
  width: 0.625rem;
  margin-left: 2.5rem;
  background-color: transparent;
  border: 0.125rem solid #000;
}
.p-modal__body .simplebar-scrollbar {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  background: #003d58;
}
.p-modal__body .simplebar-scrollbar::before {
  background-color: transparent;
}
.p-modal__close {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
  padding: 0.5rem 1.25rem;
  background-color: #fff;
  border-bottom: 0.125rem solid #000;
  border-left: 0.125rem solid #000;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-modal__close {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-modal__close::after {
  width: 1.25rem;
  aspect-ratio: 1/1;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11400_9806)'%3E%3Cpath d='M16.5625 10.9375H3.4375V9.0625H16.5625V10.9375Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11400_9806'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11400_9806)'%3E%3Cpath d='M16.5625 10.9375H3.4375V9.0625H16.5625V10.9375Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11400_9806'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-modal__close.--arrow-up::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.33333 21.9999L4 20.6665L16 8.5332L28 20.6665L26.6667 21.9999L16 11.4665L5.33333 21.9999Z' fill='black' stroke='black'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.33333 21.9999L4 20.6665L16 8.5332L28 20.6665L26.6667 21.9999L16 11.4665L5.33333 21.9999Z' fill='black' stroke='black'/%3E%3C/svg%3E%0A");
}
@media (hover: hover) {
  .p-modal__close {
    transition: background 0.3s, color 0.3s;
  }
  .p-modal__close::after {
    transition: color 0.3s;
  }
  .p-modal__close:hover {
    color: #fff;
    background-color: #ef4823;
  }
  .p-modal__close:hover::after {
    color: #ef4823;
  }
}
.p-modal__title {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.08em;
  border-bottom: 0.125rem solid currentcolor;
}
.p-modal__txt {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .p-modal__txt {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-modal__footer-close {
  position: absolute;
  bottom: 4rem;
  left: 0;
  width: 100%;
  margin-top: 2rem;
  text-align: center;
}
.p-modal__footer-close .c-button {
  min-width: 8.125rem;
}
.p-modal__footer-close .c-button::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11400_9806)'%3E%3Cpath d='M16.5625 10.9375H3.4375V9.0625H16.5625V10.9375Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11400_9806'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11400_9806)'%3E%3Cpath d='M16.5625 10.9375H3.4375V9.0625H16.5625V10.9375Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11400_9806'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.p-modal__footer-close .c-button.--arrow-top::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.33333 21.9999L4 20.6665L16 8.5332L28 20.6665L26.6667 21.9999L16 11.4665L5.33333 21.9999Z' fill='black' stroke='black'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.33333 21.9999L4 20.6665L16 8.5332L28 20.6665L26.6667 21.9999L16 11.4665L5.33333 21.9999Z' fill='black' stroke='black'/%3E%3C/svg%3E%0A");
}
.p-modal.--left {
  right: 0;
  width: 110rem;
  max-width: 100%;
  padding-top: 2.5rem;
  padding-bottom: 0;
  margin-right: auto;
  margin-left: auto;
}
.p-modal.--left .p-modal__inner {
  width: 48.8372093023%;
  height: 70.25rem;
  margin-right: auto;
  border: none;
}
.p-modal.--left .p-modal__close {
  border: none;
}
@media all and (min-width: 768px), print {
  .p-modal.--left .p-modal__footer-close {
    bottom: 1.25rem;
  }
}

@media only screen and (max-width: 1280px) {
  .p-modal.--left .p-modal__inner {
    width: 52.5rem;
    max-width: 100%;
    margin-left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .p-modal.--left .p-modal__inner {
    height: 80%;
  }
  .p-modal__inner {
    padding: 3.125rem 1.25rem;
  }
  .p-modal__close {
    padding: 0.25rem 0.75rem;
  }
  .p-modal__body {
    padding-right: 1.375rem;
  }
  .p-modal__title {
    padding-bottom: 0.5rem;
    font-size: 1.5rem;
  }
  .p-modal__footer-close {
    bottom: 2.1875rem;
  }
  .p-modal__txt {
    margin-top: 1rem;
  }
}
.p-news__item {
  border-top: 0.0625rem solid #000;
}
.p-news__item:last-child {
  border-bottom: 0.0625rem solid #000;
}
.p-news__link {
  display: flex;
  align-items: center;
  min-height: 4.4375rem;
  padding: 1.125rem 2.4375rem;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  --color-pin: #ef4823;
}
@media only screen and (max-width: 767px) {
  .p-news__link {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-news__link.--pin {
  padding-left: 0.25rem;
}
.p-news__link-pin {
  flex-shrink: 0;
  width: 2rem;
  aspect-ratio: 1/1;
  margin-right: 0.25rem;
  background-color: var(--color-pin);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11875_4581)'%3E%3Ccircle cx='16' cy='10' r='6' fill='%23EF4823'/%3E%3Crect x='15' y='14' width='2' height='14' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11875_4581'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11875_4581)'%3E%3Ccircle cx='16' cy='10' r='6' fill='%23EF4823'/%3E%3Crect x='15' y='14' width='2' height='14' fill='%23EF4823'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11875_4581'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-news__link-day {
  display: inline-block;
  flex-shrink: 0;
  width: 6.25rem;
  margin-right: 1.375rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.p-news__link-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (hover: hover) {
  .p-news__link-pin {
    transition: 0.3s linear all;
  }
  .p-news__link {
    transition: 0.3s linear all;
  }
  .p-news__link:hover {
    color: #fff;
    background-color: #ef4823;
    --color-pin: #fff;
  }
}
@media only screen and (max-width: 767px) {
  .p-news__link {
    flex-wrap: wrap;
    padding: 0.75rem 1.125rem 0.9375rem;
  }
  .p-news__link.--pin {
    padding-left: 1.125rem;
  }
  .p-news__link-pin {
    width: 1.375rem;
  }
  .p-news__link-day {
    width: auto;
    margin-right: 0.25rem;
    letter-spacing: 0.08em;
  }
  .p-news__link-title {
    width: 100%;
  }
}
.p-pagetitle {
  overflow: hidden;
  --duration: 70s;
}
.p-pagetitle__copy {
  display: flex;
  gap: 8.25rem;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  max-width: unset;
  padding-right: 8.25rem;
  animation: sliderLinearHor var(--duration) infinite linear;
}
.p-pagetitle__copy img {
  width: auto;
  height: 11.25rem;
}
.p-pagetitle__title {
  margin-top: 1.5rem;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-pagetitle__title {
    font-size: 2rem;
  }
}

@media all and (min-width: 768px), print {
  .p-pagetitle__title {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .p-pagetitle__copy {
    --duration: 60s;
    gap: 6rem;
  }
  .p-pagetitle__copy img {
    height: 8.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagetitle {
    --duration: 40s;
  }
  .p-pagetitle__copy {
    gap: 3.625rem;
  }
  .p-pagetitle__copy img {
    height: 5.5rem;
    margin-top: 1.25rem;
  }
  .p-pagetitle__title {
    margin-top: 0;
  }
}
.p-pagination {
  margin-top: 2.5rem;
  text-align: center;
}
.p-pagination__list {
  display: inline-flex;
  gap: 12px;
}
.p-pagination__item span,
.p-pagination__item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.08em;
  border-bottom: 2px solid #000;
}
@media (hover: hover) {
  .p-pagination__item a {
    transition: all 0.3s;
  }
  .p-pagination__item a:hover {
    opacity: 0.7;
  }
}
.p-pagination__item span {
  color: #fff;
  background-color: #ef4823;
}
.p-pagination__item.--next span,
.p-pagination__item.--next a, .p-pagination__item.--prev span,
.p-pagination__item.--prev a {
  font-size: 0;
  border: 0.125rem solid #000;
}
.p-pagination__item.--next span::before,
.p-pagination__item.--next a::before, .p-pagination__item.--prev span::before,
.p-pagination__item.--prev a::before {
  width: 20px;
  max-width: 100%;
  aspect-ratio: 1/1;
  font-size: 0;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_193_841)'%3E%3Cpath d='M12.0001 28L10.6667 26.6667L21.3334 16L10.6667 5.33333L12.0001 4L24.1334 16L12.0001 28Z' fill='black' stroke='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_193_841'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-pagination__item.--next {
  margin-left: 12px;
}
.p-pagination__item.--prev {
  margin-right: 12px;
}
.p-pagination__item.--prev a::before,
.p-pagination__item.--prev span::before {
  transform: rotate(180deg);
}

@media only screen and (max-width: 767px) {
  .p-pagination__item a,
  .p-pagination__item span {
    width: 33px;
    height: 33px;
    font-size: 18px;
  }
}
.p-section-title-h1 {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-section-title-h2 {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-section-title-h3 {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-swiper-01__control {
  position: relative;
  display: flex;
  gap: 2rem;
  align-items: center;
  justify-content: center;
  width: -moz-max-content;
  width: max-content;
  max-width: calc(100% - 9.5rem);
  margin-top: 1.5625rem;
  margin-right: auto;
  margin-left: auto;
}
.p-swiper-01__control > * {
  position: static;
  flex-shrink: 0;
  margin: 0;
  transform: none;
}
.p-swiper-01__control-play-state {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  margin: auto;
  margin-left: 2.5rem;
}
.p-swiper-01.--kotonoha .swiper-slide {
  width: 17.5rem;
  margin-right: 2.5rem;
  filter: drop-shadow(0.25rem 0.25rem 0.75rem rgba(0, 0, 0, 0.1));
}
.p-swiper-01.--kotonoha .p-swiper-01__swiper {
  margin-right: min((90rem - 100vw) / 2, -1.25rem);
}
.p-swiper-01.--kotonoha .p-swiper-01__control {
  margin-top: 2.5rem;
}

@media only screen and (max-width: 767px) {
  .p-swiper-01__control {
    gap: 1rem;
    max-width: calc(100% - 5.75rem);
  }
  .p-swiper-01__control-play-state {
    margin-left: 1rem;
  }
  .p-swiper-01.--kotonoha .swiper-slide {
    width: 12.5rem;
    margin-right: 1.25rem;
  }
}
.p-table-dl {
  width: 100%;
  --th01: "title 01";
  --th02: "title 02";
  --th03: "title 03";
}
.p-table-dl__th {
  padding: 0.9375rem 0;
  font-weight: bold;
  border-bottom: 0.125rem solid #000;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-table-dl__th {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-table-dl__td {
  padding: 1.1875rem 0;
  border-bottom: 0.125rem solid #000;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-table-dl__td {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-table-dl__tr.--border-bt-dash {
  position: relative;
  border-bottom: none;
}
.p-table-dl__tr.--border-bt-dash .p-table-dl__th, .p-table-dl__tr.--border-bt-dash .p-table-dl__td {
  border-color: transparent;
}
.p-table-dl__tr.--border-bt-dash .p-table-dl__th:first-child::before, .p-table-dl__tr.--border-bt-dash .p-table-dl__td:first-child::before {
  position: absolute;
  bottom: -0.0625rem;
  left: 0;
  width: 100%;
  height: 0.125rem;
  content: "";
  background: repeating-linear-gradient(to right, #000 0rem, #000 0.5rem, transparent 0.5rem, transparent 1rem);
}

@media all and (min-width: 768px), print {
  .p-table-dl.--history .p-table-dl__th:nth-child(1), .p-table-dl.--history .p-table-dl__td:nth-child(1) {
    padding-right: 0.625rem;
    padding-left: 1.125rem;
  }
  .p-table-dl.--history .p-table-dl__th:nth-child(3), .p-table-dl.--history .p-table-dl__td:nth-child(3) {
    padding-right: 1.25rem;
    padding-left: 1.5rem;
  }
  .p-table-dl.--history .p-table-dl__th:nth-child(2), .p-table-dl.--history .p-table-dl__td:nth-child(2) {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .p-table-dl.--vertical-sp {
    display: block;
    width: 100%;
  }
  .p-table-dl.--vertical-sp tr,
  .p-table-dl.--vertical-sp tbody,
  .p-table-dl.--vertical-sp thead {
    display: block;
    width: 100%;
  }
  .p-table-dl.--vertical-sp tr {
    border-bottom: 0.125rem solid currentcolor;
  }
  .p-table-dl.--vertical-sp .p-table-dl__th, .p-table-dl.--vertical-sp .p-table-dl__td {
    display: block;
    width: 100%;
    padding: 0;
    text-align: left;
    border-bottom: none;
  }
  .p-table-dl.--vertical-sp .p-table-dl__tr.--border-bt-dash {
    border-bottom: none;
  }
  .p-table-dl.--vertical-sp thead {
    display: none;
  }
  .p-table-dl.--vertical-sp tbody tr {
    padding: 1.5rem 0;
  }
  .p-table-dl.--vertical-sp tbody td:first-child::before {
    display: inline-block;
    margin-right: 0.75rem;
    font-weight: bold;
    content: var(--th01) ":";
  }
  .p-table-dl.--vertical-sp tbody td:nth-child(2)::before {
    display: inline-block;
    margin-right: 0.75rem;
    font-weight: bold;
    content: var(--th02) ":";
  }
  .p-table-dl.--vertical-sp tbody td:nth-child(3)::before {
    display: block;
    margin-top: 0.5rem;
    font-weight: bold;
    content: var(--th03) ":";
  }
}
.p-tags {
  display: flex;
  align-items: center;
  min-height: 5.6875rem;
  overflow: hidden;
  background: #fff;
  border-top: 0.125rem solid #003d58;
  border-bottom: 0.125rem solid #003d58;
}
.p-tags__inner {
  display: flex;
  gap: 2.5rem;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  max-width: unset;
  padding-right: 2.5rem;
  animation: sliderLinearHor 40s infinite linear;
}
.p-tags__item {
  flex-shrink: 0;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4;
  color: #003d58;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  .p-tags {
    min-height: 3.75rem;
  }
  .p-tags__item {
    font-size: 1.125rem;
  }
  .p-tags__inner {
    gap: 1.5rem;
    padding-right: 1.5rem;
  }
}
.p-timeline {
  position: relative;
  padding-bottom: 2.5rem;
  border-left: 0.125rem solid #000;
}
.p-timeline__sec:not(:first-child) {
  margin-top: 5rem;
}
.p-timeline__head {
  padding-left: 3.5625rem;
}
.p-timeline__row {
  position: relative;
  display: flex;
  align-items: flex-start;
  min-height: 2.6875rem;
  padding-left: 7rem;
  margin-top: 1.25rem;
}
.p-timeline__row::before {
  position: absolute;
  top: 1.375rem;
  left: -0.125rem;
  width: 5rem;
  height: 0.125rem;
  content: "";
  background: currentcolor;
}
.p-timeline__row.--grey {
  color: #919191;
}
.p-timeline__row.--grey::before {
  width: 3.125rem;
}
.p-timeline__row.--mt-0 {
  margin-top: 0;
}
.p-timeline__year {
  flex-shrink: 0;
  min-width: 3.125rem;
  margin-right: 1rem;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.p-timeline__label {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  flex-shrink: 0;
  min-width: 5rem;
  margin-top: 0.375rem;
  margin-right: 1rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .p-timeline__label {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-timeline__label-text01 {
  display: block;
  margin-top: -0.5rem;
}
.p-timeline__cont {
  margin-top: 0.375rem;
}
.p-timeline__cont .c-list-dot__item {
  margin-top: 0;
}

@media only screen and (max-width: 767px) {
  .p-timeline__head {
    padding-left: 1.25rem;
  }
  .p-timeline__row {
    flex-wrap: wrap;
    min-height: 2.25rem;
    padding-left: 2.5rem;
    margin-top: 0.75rem;
  }
  .p-timeline__row::before {
    top: 1rem;
    width: 2rem;
  }
  .p-timeline__row.--grey::before {
    width: 1.5rem;
  }
  .p-timeline__year {
    min-width: 2.8125rem;
    margin-right: 0.5rem;
    font-size: 1.25rem;
  }
  .p-timeline__label {
    margin-top: 0.25rem;
    margin-right: 0;
  }
  .p-timeline__cont {
    width: 100%;
    margin-top: 0;
  }
}
.p-wide-card-01 {
  --gap-col: 2rem;
  display: flex;
  gap: 4.1666666667%;
  align-items: flex-start;
  justify-content: space-between;
}
.p-wide-card-01__img {
  flex-grow: 1;
}
.p-wide-card-01__img img {
  width: 100%;
}
.p-wide-card-01__cont {
  flex-shrink: 0;
  width: 50%;
  min-width: 25.625rem;
}
.p-wide-card-01__title {
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-wide-card-01__title {
    font-size: 1.125rem;
  }
}
.p-wide-card-01__text {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .p-wide-card-01__text {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}

@media only screen and (max-width: 767px) {
  .p-wide-card-01 {
    display: block;
  }
  .p-wide-card-01__cont {
    width: 100%;
    min-width: unset;
    margin-top: 1.25rem;
  }
  .p-wide-card-01__img {
    width: 100%;
  }
}
.p-wide-card-02 {
  display: flex;
  gap: 4.7169811321%;
  align-items: flex-start;
  justify-content: space-between;
  padding: 3rem 3rem 3.8125rem 4rem;
  background-color: #fff;
}
.p-wide-card-02__img {
  flex-shrink: 0;
  width: 29.2452830189%;
}
.p-wide-card-02__img img {
  width: 100%;
}
.p-wide-card-02__cont {
  flex-grow: 1;
}
.p-wide-card-02__head {
  display: flex;
  flex-wrap: wrap;
  gap: 0rem 0.625rem;
  align-items: center;
  padding-bottom: 0.9375rem;
  margin-top: 0.5rem;
  border-bottom: 0.125rem solid #000;
}
.p-wide-card-02__head-title {
  display: inline-block;
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.08em;
}
.p-wide-card-02__head-subtitle {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-wide-card-02__head-subtitle {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }
}
.p-wide-card-02__head-note {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #919191;
}
@media only screen and (max-width: 767px) {
  .p-wide-card-02__head-note {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }
}
.p-wide-card-02__head-year {
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-wide-card-02__head-year {
    font-size: 1rem;
  }
}
.p-wide-card-02__label {
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-top: 1.375rem;
  font-weight: bold;
  color: #ef4823;
}
@media only screen and (max-width: 767px) {
  .p-wide-card-02__label {
    font-size: 1.125rem;
  }
}
.p-wide-card-02__text {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .p-wide-card-02__text {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-wide-card-02__btn {
  margin-top: 1rem;
}
.p-wide-card-02__link {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 1rem;
}
.p-wide-card-02__text-sub {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .p-wide-card-02__text-sub {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }
}

@media only screen and (max-width: 767px) {
  .p-wide-card-02 {
    display: block;
    padding: 2.5rem 1.25rem;
  }
  .p-wide-card-02__cont {
    width: 100%;
    margin-top: 1.25rem;
  }
  .p-wide-card-02__img {
    display: block;
    width: 11.25rem;
    max-width: 100%;
    margin: 0 auto;
  }
  .p-wide-card-02__head-title {
    font-size: 1.5rem;
  }
}
/* pages */
body.content-single .content-single-main .p-editor__content {
  margin-top: 5rem;
}
body.content-single .content-single-main__button {
  margin-top: 5rem;
  text-align: center;
}

body.content p {
  margin-top: 1rem;
}
body.content p:first-child {
  margin-top: 0;
}
body.content h2:not(:first-child) {
  margin-top: 4rem;
}
body.content h2 + p {
  margin-top: 0.4375rem;
}
body.content h2 + .e-box-01 {
  margin-top: 0.375rem;
}
body.content h3:not(:first-child) {
  margin-top: 2.5rem;
}
body.content h3 + p {
  margin-top: 1rem;
}
body.content .e-button-01 + .e-button-01 {
  margin-top: 1.5rem;
}

@media all and (min-width: 1281px), print {
  body.eto .l-footer {
    margin-top: 13.875rem;
  }
}
body.eto .eto-heading-lv5 {
  padding: 0.875rem 1.25rem;
  border-top: 0.125rem solid #000;
  border-bottom: 0.125rem solid #000;
}
body.eto .eto-text-01 {
  display: flex;
  gap: 1rem;
  align-items: center;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  body.eto .eto-text-01 {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
body.eto .eto-text-01__label {
  flex-shrink: 0;
  min-width: 3.375rem;
  padding: 0 0.375rem;
  font-size: 1.125rem;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.08em;
  border: 0.0625rem solid #000;
}
body.eto .eto-text-01.--gap-sm {
  gap: 0.75rem;
}
body.eto .eto-column2 {
  display: flex;
  gap: 2.5rem;
}
body.eto .eto-column2__col {
  width: calc(100% - 1.25rem);
}
body.eto .eto-textlinks {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
body.eto .eto-mv {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: url("../images/eto/bg-linear-mv-01.png") no-repeat center/cover, linear-gradient(#003d58, #003d58);
  background-blend-mode: multiply, normal;
}
body.eto .eto-mv__cont {
  padding-bottom: 5.625rem;
  margin-bottom: -5.625rem;
  overflow: hidden;
}
body.eto .eto-mv__copy {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
}
body.eto .eto-mv__copy-inner {
  display: flex;
  gap: 0.7625em;
  width: -moz-max-content;
  width: max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  max-width: unset;
  padding-right: 0.7625em;
  font-family: futura-pt-bold, sans-serif;
  font-size: 10rem;
  font-weight: bold;
  line-height: 1.1;
  color: #ef4823;
  letter-spacing: 0.02em;
  filter: drop-shadow(-0.125rem -0.125rem 0.5rem rgba(0, 0, 0, 0.4));
  animation: sliderLinearHor 40s infinite linear;
}
body.eto .eto-mv__main {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body.eto .eto-mv__detail {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  min-width: 40%;
  padding: 11.25rem 0 6.625rem;
  color: #fff;
}
body.eto .eto-mv__head {
  font-size: 5rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.16em;
}
body.eto .eto-mv__year {
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
body.eto .eto-mv__text {
  margin-top: 2rem;
}
body.eto .eto-mv__img {
  position: relative;
  width: 50%;
  margin-top: -0.625rem;
  margin-bottom: -4.375rem;
}
body.eto .eto-mv__img-inner {
  display: block;
  width: 100%;
}
body.eto .eto-mv__img-inner img {
  width: 100%;
}
body.eto .eto-mv__img-circle {
  position: absolute;
  top: 50%;
  left: 48.5%;
  z-index: -1;
  width: 93.3333333333%;
  transform: translateY(-50%);
}
body.eto .eto-mv__img-circle img {
  width: 100%;
}
body.eto .eto-mv__circle-inner {
  display: block;
}
body.eto .eto-tags {
  position: relative;
  z-index: -1;
}
body.eto .eto-journey .p-table-dl {
  --th01: "年号 / 西暦";
  --th02: "年齢";
  --th03: "起こったこと";
}

@media only screen and (max-width: 767px) {
  body.eto .eto-column2 {
    gap: 0.5rem;
  }
  body.eto .eto-column2__col {
    width: calc(100% - 0.5rem);
  }
  body.eto .eto-text-01 {
    flex-wrap: wrap;
    gap: 0.75rem;
  }
  body.eto .eto-text-01__label {
    min-width: 2.5rem;
    padding: 0 0.25rem;
    font-size: 0.9375rem;
  }
  body.eto .eto-mv__cont {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  body.eto .eto-mv__copy-inner {
    gap: 0;
    padding-right: 3rem;
  }
  body.eto .eto-mv__copy-inner img {
    width: auto;
    height: 3.75rem;
  }
  body.eto .eto-mv__detail {
    display: block;
    width: 100%;
    padding: 0;
    margin-top: -0.5rem;
  }
  body.eto .eto-mv__head {
    font-size: 3.5rem;
  }
  body.eto .eto-mv__year {
    margin-top: -0.5rem;
    font-size: 1.5rem;
  }
  body.eto .eto-mv__main {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 2.5rem;
    padding-bottom: 1.25rem;
  }
  body.eto .eto-mv__text {
    margin-top: 0.75rem;
  }
  body.eto .eto-mv__copy {
    position: static;
    width: 100%;
    margin-top: 0;
  }
  body.eto .eto-mv__img {
    z-index: -1;
    order: -1;
    width: 82%;
    max-width: 22.5rem;
    margin: 0 auto;
  }
  body.eto .eto-mv__img-circle {
    top: -50%;
    left: 50%;
    width: 110%;
    max-width: unset;
    transform: rotate(-90deg) translate(54%, -24.2%);
  }
}
@media only screen and (max-width: 1280px) {
  body.expo .l-all {
    overflow: hidden;
  }
}

@media only screen and (max-width: 1280px) {
  body.festival .l-all {
    overflow: hidden;
  }
}
@media only screen and (max-width: 1280px) {
  body.figures .l-all {
    overflow: hidden;
  }
}

body.index .l-footer {
  margin-top: 0;
}
body.index .index-banner-01 {
  padding: 7.5rem 0;
  text-align: center;
}
body.index .index-banner-01__link {
  display: inline-block;
}
@media (hover: hover) {
  body.index .index-banner-01__link {
    transition: opacity 0.3s;
  }
  body.index .index-banner-01__link:hover {
    opacity: 0.7;
  }
}
body.index .index-news {
  margin-top: 12.5rem;
  overflow: hidden;
}
body.index .index-news__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body.index .index-news__left {
  flex-shrink: 0;
}
body.index .index-news__list {
  width: 65.625%;
}
body.index .index-news__list .p-news__item:nth-child(1) {
  --anime-delay: 0.4;
}
body.index .index-news__list .p-news__item:nth-child(2) {
  --anime-delay: 0.8;
}
body.index .index-news__list .p-news__item:nth-child(3) {
  --anime-delay: 1.2;
}
body.index .index-news__list .p-news__item:nth-child(4) {
  --anime-delay: 1.6;
}
body.index .index-news__link {
  margin-top: 5.5rem;
}
body.index .index-restoration {
  position: relative;
  width: 115rem;
  max-width: calc(100% - 2.5rem);
  padding: 4.75rem 0;
  margin: 0 auto;
  margin-top: 12.5rem;
  overflow: hidden;
  clip-path: inset(0 round 1.25rem);
  color: #fff;
  background: url("../images/index/bg-grey-dot-restoration.png") no-repeat center/cover, linear-gradient(#003d58, #003d58);
  background-blend-mode: multiply, normal;
  border-radius: 1.25rem;
}
body.index .index-restoration__copy {
  position: absolute;
  inset: 0;
}
body.index .index-restoration__copy-row {
  width: -moz-max-content;
  width: max-content;
}
body.index .index-restoration__copy-row:not(:first-child) {
  margin-top: 22px;
}
body.index .index-restoration__copy-row.--slide {
  margin-top: -0.125rem;
  transform: translateX(-16%);
}
body.index .index-restoration__copy-row.--second {
  transform: translateX(-5.2%);
}
body.index .index-restoration__copy-row.--third {
  transform: translateX(-16%);
}
body.index .index-restoration__container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body.index .index-restoration__cont {
  flex-shrink: 0;
  order: -1;
  width: 61%;
  max-width: 40rem;
  margin-bottom: 1.375rem;
}
body.index .index-restoration__img-wrap {
  width: 35.9375%;
}
body.index .index-restoration__img {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 14.375rem;
}
body.index .index-restoration__img-caption {
  display: block;
  text-align: right;
}
body.index .index-restoration__img-bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
body.index .index-restoration__img-main {
  display: block;
}
body.index .index-restoration__text {
  margin-top: 2.5rem;
}
body.index .index-restoration__link {
  margin-top: 2.5rem;
}
body.index .index-sec {
  position: relative;
  padding-top: var(--copy-top);
  --copy-top: 14.5rem;
  --gap-copy: 3rem;
  --copy-duration: 45;
}
body.index .index-sec__copy {
  position: absolute;
  top: var(--copy-top);
  right: 0;
  left: 0;
  overflow: hidden;
}
body.index .index-sec__copy-inner {
  display: flex;
  gap: var(--gap-copy);
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  padding-right: var(--gap-copy);
  animation: sliderLinearHor calc(var(--copy-duration) * 1s) infinite linear;
}
body.index .index-sec__copy-inner.--reverse {
  animation-direction: reverse;
}
body.index .index-sec__card {
  position: relative;
  display: flex;
  gap: 6.25%;
  align-items: center;
}
body.index .index-sec__card-cont {
  flex-shrink: 0;
  order: -1;
  width: 34.375%;
  padding: 5rem 0;
}
body.index .index-sec__card-img {
  flex-grow: 1;
}
body.index .index-sec__card-img-caption {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2.2;
  text-align: right;
  letter-spacing: 0.08em;
}
body.index .index-sec__card-swiper .swiper-wrapper {
  transition-timing-function: linear;
}
body.index .index-sec__card-swiper .swiper-slide {
  /* width: pxtorem(280); */
  width: 36.8421052632%;
}
body.index .index-sec__card-text {
  margin-top: 2.5rem;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  body.index .index-sec__card-text {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
body.index .index-sec__card-link {
  margin-top: 2.375rem;
}
body.index .index-sec__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
body.index .index-sec__bg img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  max-width: unset;
  height: 100%;
  transform: translate(-50%, -50%);
}
body.index .index-sec.--war {
  --copy-top: 14.5rem;
  padding-bottom: 12.25rem;
}
body.index .index-sec.--saga {
  --copy-duration: 60;
  --copy-top: 2.875rem;
  margin-top: -0.75rem;
}
body.index .index-sec.--map {
  --copy-top: 3.75rem;
  padding-bottom: 4.25rem;
  margin-top: 10.75rem;
}
body.index .index-sec.--kid {
  --copy-top: 6.5625rem;
  margin-top: 3.875rem;
}
body.index .index-sec.--kid .index-sec__copy {
  top: 6.25rem;
}
body.index .index-nav {
  padding-bottom: 12.75rem;
  margin-top: 12.1875rem;
  overflow: hidden;
}
body.index .index-nav__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  gap: 6.25rem 7.8125%;
}
body.index .index-nav__list-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
body.index .index-nav__list-title {
  display: flex;
  align-items: center;
  min-height: 4.625rem;
  font-size: 1.625rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
body.index .index-nav__list-text {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-top: 1.375rem;
  margin-bottom: 0.625rem;
}
@media only screen and (max-width: 767px) {
  body.index .index-nav__list-text {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
body.index .index-nav__list-link {
  display: block;
  display: flex;
  align-items: flex-end;
  max-width: 20rem;
  min-height: 5.625rem;
  margin-top: auto;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
  body.index .index-sec__card {
    gap: 2.7472527473%;
  }
  body.index .index-sec__card-cont {
    min-width: 20rem;
  }
}
@media only screen and (max-width: 767px) {
  body.index .index-banner-01 {
    padding: 0;
    margin-top: 4.5rem;
  }
  body.index .index-news {
    margin-top: 4.375rem;
  }
  body.index .index-news__container {
    position: relative;
    display: block;
    padding-bottom: 3.8125rem;
  }
  body.index .index-news__list {
    width: 100%;
    margin-top: 1.5rem;
  }
  body.index .index-news__link {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  body.index .index-restoration {
    padding-top: 2.5rem;
    padding-bottom: 2.375rem;
    margin-top: 4.5rem;
    background: url("../images/index/bg-grey-dot-restoration-sp.png") no-repeat center/cover, linear-gradient(#003d58, #003d58);
  }
  body.index .index-restoration .l-inner {
    padding-right: 1.125rem;
    padding-left: 1.125rem;
  }
  body.index .index-restoration__copy-row img {
    width: auto;
    height: 70px;
  }
  body.index .index-restoration__copy-row:first-child {
    margin-top: -0.625rem;
  }
  body.index .index-restoration__copy-row:not(:first-child) {
    margin-top: 1.6875rem;
  }
  body.index .index-restoration__copy-row.--slide {
    transform: translateX(-10.3%);
  }
  body.index .index-restoration__copy-row.--second {
    transform: translateX(0.9%);
  }
  body.index .index-restoration__copy-row.--third {
    transform: translateX(-12.5%);
  }
  body.index .index-restoration__copy-row.--four {
    transform: translateX(-10.3%);
  }
  body.index .index-restoration__copy-row.--five {
    transform: translate(1%);
  }
  body.index .index-restoration__copy-row.--six {
    transform: translateX(-12.5%);
  }
  body.index .index-restoration__container {
    display: block;
  }
  body.index .index-restoration__cont {
    width: 100%;
    margin-top: 1.5rem;
    margin-bottom: 0;
  }
  body.index .index-restoration__cont::after {
    display: block;
    clear: both;
    content: "";
  }
  body.index .index-restoration__img-wrap {
    width: 15rem;
    margin-right: auto;
    margin-left: auto;
  }
  body.index .index-restoration__img-caption {
    text-align: center;
  }
  body.index .index-restoration__text {
    margin-top: 1.5625rem;
  }
  body.index .index-restoration__link {
    float: right;
    margin-top: 0.875rem;
  }
  body.index .index-sec {
    --copy-top: 0rem;
    --gap-copy: 1.5rem;
    padding-top: unset;
    padding-bottom: unset;
  }
  body.index .index-sec .l-inner {
    padding-right: 0;
    padding-left: 0;
  }
  body.index .index-sec__bg {
    position: absolute;
    height: 100%;
    overflow: hidden;
  }
  body.index .index-sec__bg img {
    position: static;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    transform: none;
  }
  body.index .index-sec__copy {
    position: static;
  }
  body.index .index-sec__card {
    display: block;
    margin-top: 0.5rem;
  }
  body.index .index-sec__card-cont {
    width: 100%;
    padding: 0;
    padding: 0 2.375rem;
    margin-top: 1.5rem;
  }
  body.index .index-sec__card-cont::after {
    display: block;
    clear: both;
    content: "";
  }
  body.index .index-sec__card-text {
    margin-top: 1.5rem;
  }
  body.index .index-sec__card-link {
    float: right;
    margin-top: 1.5625rem;
  }
  body.index .index-sec__card-swiper .swiper-slide {
    /* width: pxtorem(280); */
    width: 36.8vw;
  }
  body.index .index-sec.--war {
    --copy-top: 0rem;
    padding-bottom: 0;
    margin-top: 4.5rem;
  }
  body.index .index-sec.--war .index-sec__copy img {
    width: 12.375rem;
  }
  body.index .index-sec.--war .index-sec__bg img {
    -o-object-position: center 95%;
       object-position: center 95%;
  }
  body.index .index-sec.--saga {
    margin-top: 4.0625rem;
    --copy-top: 0rem;
    --copy-duration: 45;
  }
  body.index .index-sec.--saga .index-sec__copy img {
    width: 28.9375rem;
  }
  body.index .index-sec.--saga .index-sec__bg img {
    -o-object-position: center 92%;
       object-position: center 92%;
  }
  body.index .index-sec.--map {
    --copy-top: 0rem;
    padding-bottom: 0;
    margin-top: 4.25rem;
  }
  body.index .index-sec.--map .index-sec__bg {
    right: 0;
    left: auto;
    width: 94.5%;
  }
  body.index .index-sec.--map .index-sec__bg img {
    -o-object-position: center 80%;
       object-position: center 80%;
  }
  body.index .index-sec.--map .index-sec__copy img {
    width: 19.9375rem;
  }
  body.index .index-sec.--map .index-sec__card-text {
    margin-top: 0.875rem;
  }
  body.index .index-sec.--kid {
    --copy-top: 0rem;
    margin-top: 4.125rem;
  }
  body.index .index-sec.--kid .index-sec__copy img {
    width: 11.75rem;
  }
  body.index .index-sec.--kid .index-sec__card-text {
    margin-top: 0.875rem;
  }
  body.index .index-sec.--kid .index-sec__bg img {
    -o-object-position: center 59%;
       object-position: center 59%;
  }
  body.index .index-nav {
    padding-bottom: 5rem;
    margin-top: 4.1875rem;
  }
  body.index .index-nav .l-inner {
    padding: 0 2.375rem;
  }
  body.index .index-nav__list {
    display: flex;
    flex-direction: column;
    gap: 3rem;
  }
  body.index .index-nav__list-item {
    width: 100%;
  }
  body.index .index-nav__list-title {
    min-height: unset;
    font-size: 1.375rem;
  }
  body.index .index-nav__list-text {
    margin-top: 1rem;
    margin-bottom: 0;
  }
  body.index .index-nav__list-link {
    max-width: 16.25rem;
    min-height: unset;
    margin-top: 1rem;
    margin-left: auto;
  }
  body.index .index-nav__list-link .c-button.--blank::after {
    background-color: #ef4823;
  }
}
@media all and (min-width: 1281px), print {
  body.kids .l-footer {
    margin-top: 31.25rem;
  }
}
@media all and (min-width: 768px), print {
  body.kids .p-nav-01__link {
    min-height: 4.25rem;
    padding: 1rem 1.25rem;
  }
}
body.kids .kids-card-01 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  font-family: "Noto Sans JP", sans-serif;
}
body.kids .kids-card-01__item {
  cursor: pointer;
  perspective: 93.75rem;
  --bg-color: #9cd0ca;
}
body.kids .kids-card-01__item.is-active .kids-card-01__item-inner {
  transform: rotateY(-180deg);
}
body.kids .kids-card-01__item.--bg-02 {
  --bg-color: #95b6ce;
  --bg-front-color: #436984;
}
body.kids .kids-card-01__item.--bg-03 {
  --bg-color: #cda9a9;
  --bg-front-color: #997070;
}
body.kids .kids-card-01__item.--bg-04 {
  --bg-color: #ddd6ae;
  --bg-front-color: #b8aa58;
}
body.kids .kids-card-01__item.--bg-01 {
  --bg-color: #9cd0ca;
  --bg-front-color: #43847c;
}
body.kids .kids-card-01__item-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.8s cubic-bezier(0.75, 0, 0.85, 1);
}
body.kids .kids-card-01__front {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--bg-front-color);
}
body.kids .kids-card-01__front, body.kids .kids-card-01__back {
  height: 100%;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}
body.kids .kids-card-01__back {
  background: var(--bg-color);
  transform: rotateY(180deg);
}
body.kids .kids-card-01__back-inner {
  min-height: 23.25rem;
  padding: 1.5rem 2.625rem 2rem;
}
body.kids .kids-card-01__back-head {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  body.kids .kids-card-01__back-head {
    font-size: 1.125rem;
  }
}
body.kids .kids-card-01__back-sub {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-top: -0.5rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  body.kids .kids-card-01__back-sub {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }
}
body.kids .kids-card-01__back-txt {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  body.kids .kids-card-01__back-txt {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }
}
body.kids .kids-card-01__front::after {
  position: absolute;
  right: -0.0625rem;
  bottom: -0.0625rem;
  width: 17.2413793103%;
  aspect-ratio: 1/1;
  content: "";
  background: url("../images/common/icon-pointer.svg") no-repeat center/contain, linear-gradient(to right bottom, var(--bg-color) 50%, transparent 50%), url("../images/common/bg-main.png");
}
body.kids .kids-card-01__front-img {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
body.kids .kids-card-01__front-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center bottom;
     object-position: center bottom;
}
body.kids .kids-card-01__front-txt {
  position: absolute;
  top: 0;
  padding: 1.625rem 2.625rem;
  color: #fff;
}
body.kids .kids-card-01__front-txt span {
  display: block;
  font-weight: bold;
  letter-spacing: 0.08em;
}
body.kids .kids-card-01__front-txt span:first-child {
  font-size: 1.5rem;
  line-height: 1.8;
}
body.kids .kids-card-01__front-txt span:last-child {
  margin-top: -0.25rem;
  font-size: 1rem;
  line-height: 1.6;
}
body.kids .kids-card-02 {
  display: flex;
  gap: 4.7169811321%;
  align-items: center;
  justify-content: space-between;
  padding: 3rem 3rem 3.8125rem 4rem;
  background-color: #fff;
}
body.kids .kids-card-02__img {
  flex-shrink: 0;
  width: 29.2452830189%;
}
body.kids .kids-card-02__img img {
  width: 100%;
}
body.kids .kids-card-02__cont {
  flex-grow: 1;
}
body.kids .kids-card-02__head {
  display: flex;
  flex-wrap: wrap;
  gap: 0rem 0.625rem;
  align-items: center;
  padding-bottom: 0.9375rem;
  margin-top: 0.5rem;
  border-bottom: 0.125rem solid #000;
}
body.kids .kids-card-02__head-title {
  display: inline-block;
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.08em;
}
body.kids .kids-card-02__head-subtitle {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  body.kids .kids-card-02__head-subtitle {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }
}
body.kids .kids-card-02__head-note {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #919191;
}
@media only screen and (max-width: 767px) {
  body.kids .kids-card-02__head-note {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }
}
body.kids .kids-card-02__head-year {
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  body.kids .kids-card-02__head-year {
    font-size: 1rem;
  }
}
body.kids .kids-card-02__label {
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-top: 1.375rem;
  font-weight: bold;
  color: #ef4823;
}
@media only screen and (max-width: 767px) {
  body.kids .kids-card-02__label {
    font-size: 1.125rem;
  }
}
body.kids .kids-card-02__text {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  body.kids .kids-card-02__text {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
body.kids .kids-card-03 {
  display: flex;
  flex-direction: row-reverse;
  gap: 8.75%;
  align-items: center;
  justify-content: space-between;
}
body.kids .kids-card-03__img {
  flex-shrink: 0;
  width: 37.5%;
}
body.kids .kids-card-03__img img {
  width: 100%;
}
body.kids .kids-card-03__cont {
  flex-grow: 1;
}
body.kids .kids-card-03__cont-text {
  max-width: 27rem;
}
body.kids .kids-card-04 {
  display: flex;
  gap: 4.1666666667%;
  justify-content: space-between;
}
body.kids .kids-card-04__img {
  flex-grow: 1;
}
body.kids .kids-card-04__img img {
  width: 100%;
}
body.kids .kids-card-04__cont {
  flex-shrink: 0;
  width: 50%;
  min-width: 25.625rem;
}
body.kids .kids-button {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  display: flex;
  gap: 0.25rem;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  body.kids .kids-button {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
body.kids .kids-button::after {
  width: 1.25rem;
  aspect-ratio: 1/1;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.33333 21.9999L4 20.6665L16 8.5332L28 20.6665L26.6667 21.9999L16 11.4665L5.33333 21.9999Z' fill='black' stroke='black'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.33333 21.9999L4 20.6665L16 8.5332L28 20.6665L26.6667 21.9999L16 11.4665L5.33333 21.9999Z' fill='black' stroke='black'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover: hover) {
  body.kids .kids-button {
    transition: color 0.3s linear;
  }
  body.kids .kids-button:hover {
    color: #ef4823;
  }
}
body.kids .kids-mv {
  position: relative;
  z-index: 1;
  background: url("../images/kids/mv-bg-01.png") no-repeat center/cover;
}
body.kids .kids-mv__inner {
  position: relative;
  overflow: hidden;
}
body.kids .kids-mv__bg {
  position: absolute;
  inset: 0 0 0 31.5625%;
  right: 0;
}
body.kids .kids-mv__bg-layer {
  position: absolute;
  --wrap-width: 1314;
  --wrap-height: 1080;
  --item-width: 0;
  width: calc(var(--item-width) / var(--wrap-width) * 100%);
}
body.kids .kids-mv__bg-layer.--01 {
  --item-width: 306;
  --wrap-width: 1920;
  right: 0;
  bottom: 0;
  transform: translateY(30%);
}
body.kids .kids-mv__bg-layer.--02 {
  --item-width: 872;
  right: 0%;
  bottom: 3%;
}
body.kids .kids-mv__bg-layer.--03 {
  --item-width: 871;
  right: 0%;
  bottom: 0%;
}
body.kids .kids-mv__bg-layer.--04 {
  --item-width: 270;
  top: 7%;
  right: 10%;
}
body.kids .kids-mv__bg-layer.--05 {
  --item-width: 1314;
  right: 0%;
  bottom: 0%;
  display: flex;
  align-items: center;
  height: 100%;
}
body.kids .kids-mv__bg-layer.--06 {
  --item-width: 798;
  top: 0%;
  left: 0%;
}
body.kids .kids-mv__cont {
  position: relative;
  overflow: hidden;
}
body.kids .kids-mv__copy {
  position: absolute;
  top: 1.625rem;
  left: 0;
  z-index: 1;
  width: 100%;
}
body.kids .kids-mv__copy-inner {
  display: flex;
  gap: 8.75rem;
  width: -moz-max-content;
  width: max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  max-width: unset;
  padding-right: 8.75rem;
  animation: sliderLinearHor 60s infinite linear;
}
body.kids .kids-mv__cont-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 45rem;
  padding-left: 0.75rem;
}
body.kids .kids-mv__cont-wrap::before {
  position: absolute;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #1c5750;
}
body.kids .kids-mv__cont-inner {
  position: relative;
  z-index: 1;
  padding: 10.625rem 0 11.5rem;
  margin: 0 1.25rem;
  color: #fff;
}
body.kids .kids-mv__cont-txt {
  margin-top: 3rem;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.08em;
}
body.kids .kids-mv__cont-txt ruby {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media all and (min-width: 1281px), print {
  body.kids .kids-mv__cont-txt ruby {
    display: inline-block;
  }
}
body.kids .kids-mv__cont-txt rt {
  position: absolute;
  bottom: calc(50% + 1.2em);
  left: 50%;
  font-size: 50%;
  line-height: 1.2;
  color: #fff;
  letter-spacing: 0.06em;
  white-space: nowrap;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transform: translateX(-50%);
}
@media all and (min-width: 1281px), print {
  body.kids .kids-mv__cont-txt rt {
    display: inline-block;
  }
}
body.kids .kids-mv__cont-txt rt.--ls-lg {
  letter-spacing: 0.33em;
}
body.kids .kids-mv__cont-txt-02 {
  margin-top: 2.625rem;
}
body.kids .kids-mv__cont-txt-03 {
  margin-top: 1.125rem;
}
body.kids .kids-mv__cont-txt-04 {
  margin-top: 0.5rem;
}
body.kids .kids-mv__cont-txt-05 {
  margin-top: 0.5rem;
}
body.kids .kids-mv__cont-label {
  display: inline-block;
  padding: 0.125rem 1rem;
  margin-right: 0.5rem;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2;
  color: #1c5750;
  letter-spacing: 0.08em;
  background-color: #fff;
}
body.kids .kids-mv__cont-label rt {
  margin-bottom: 1.4em;
}
body.kids .kids-domain {
  padding-top: 0.0625rem;
}
body.kids .kids-domain__card {
  display: flex;
  gap: 7.9166666667%;
  align-items: center;
}
@media all and (min-width: 1281px), print {
  body.kids .kids-domain__card {
    margin-top: -4.875rem;
  }
}
body.kids .kids-domain__card-img {
  flex-shrink: 0;
  width: 37.5%;
}

@media only screen and (max-width: 1280px) {
  body.kids .kids-domain__card {
    flex-direction: column-reverse;
    gap: 1.5rem;
  }
  body.kids .kids-domain__card-img {
    width: 12.5rem;
  }
  body.kids .kids-domain__card-cont {
    width: 100%;
  }
  body.kids .kids-people .p-anchor-list__link {
    padding: 0 2rem 0.625rem 0.375rem;
    font-size: 0.75rem;
  }
  body.kids .kids-people .p-anchor-list__link::after {
    width: 1rem;
  }
  body.kids .kids-card-01 {
    grid-template-columns: minmax(0rem, 1fr);
  }
  body.kids .kids-card-01__front-txt {
    padding: 1.25rem;
  }
  body.kids .kids-card-01__front-txt span:first-child {
    font-size: 1.125rem;
  }
  body.kids .kids-card-01__front-txt span:last-child {
    font-size: 0.8125rem;
  }
  body.kids .kids-card-01__back-inner {
    max-width: 100%;
    min-height: 18.125rem;
    aspect-ratio: 464/372;
    padding: 1.25rem 1.25rem 1.5rem;
  }
  body.kids .kids-card-01__back-txt {
    margin-top: 0.5rem;
  }
  body.kids .kids-card-02 {
    display: block;
    padding: 1.875rem 1.25rem;
  }
  body.kids .kids-card-02__cont {
    width: 100%;
    margin-top: 1.25rem;
  }
  body.kids .kids-card-02__img {
    display: block;
    width: 11.25rem;
    max-width: 100%;
    margin: 0 auto;
  }
  body.kids .kids-card-02__head-title {
    font-size: 1.5rem;
  }
  body.kids .kids-card-03 {
    display: block;
  }
  body.kids .kids-card-03__img {
    display: block;
    width: 13.75rem;
    max-width: 100%;
    margin: 0 auto;
  }
  body.kids .kids-card-03__cont {
    margin-top: 1.5rem;
  }
  body.kids .kids-card-04 {
    display: block;
  }
  body.kids .kids-card-04__cont {
    width: 100%;
    min-width: unset;
    margin-top: 1.25rem;
  }
  body.kids .kids-card-04__img {
    width: 100%;
  }
  body.kids .kids-mv {
    background: #1c5750;
  }
  body.kids .kids-mv__bg {
    position: relative;
    inset: unset;
  }
  body.kids .kids-mv__bg-layer {
    display: none;
    overflow: hidden;
    --wrap-width: 375;
  }
  body.kids .kids-mv__bg-layer.--01 {
    z-index: 1;
    display: block;
    transform: translateY(54%);
    --wrap-width: 375;
    --item-width: 96;
  }
  body.kids .kids-mv__bg-layer.--01.u-hidden-sp {
    display: none;
  }
  body.kids .kids-mv__bg-layer.--sp {
    position: static;
    display: block;
    width: 100%;
    background: url("../images/kids/mv-ins-sp-bg.png") no-repeat center/cover;
  }
  body.kids .kids-mv__bg-layer.--05 {
    display: none;
  }
  body.kids .kids-mv__copy {
    position: static;
    margin-top: 0.5rem;
  }
  body.kids .kids-mv__copy-inner {
    gap: 2.625rem;
    padding-right: 2.625rem;
  }
  body.kids .kids-mv__copy-inner img {
    width: auto;
    height: 2.875rem;
  }
  body.kids .kids-mv__cont-wrap {
    display: block;
    padding: 0 2.375rem 3.75rem;
  }
  body.kids .kids-mv__cont-wrap::before {
    content: none;
  }
  body.kids .kids-mv__cont-inner {
    padding: 0;
    margin: 0;
  }
  body.kids .kids-mv__head {
    font-size: 1.875rem;
  }
  body.kids .kids-mv__cont-txt {
    margin-top: 1.1875rem;
    font-size: 1.125rem;
    font-weight: 500;
  }
  body.kids .kids-mv__cont-txt ruby {
    position: static;
  }
  body.kids .kids-mv__cont-txt rt {
    position: static;
    bottom: calc(50% + 0.8em);
    font-size: 0.625rem;
    font-weight: bold;
    transform: none;
  }
  body.kids .kids-mv__cont-label {
    padding: 0;
    margin-right: 0;
    font-size: 1.125rem;
    font-weight: 500;
  }
  body.kids .kids-mv__cont-label rt {
    margin-bottom: 0;
    color: #1c5750;
  }
}
body.monument {
  --theme-color: #003d58;
  --theme-color-reverse: #43847c;
  --theme-color-reverse-dark: #09675b;
  background: var(--theme-color);
}
body.monument .is-show-kids {
  display: none !important;
}
body.monument.is-mode-kid {
  --theme-color: #43847c;
  --theme-color-reverse: #003d58;
  --theme-color-reverse-dark: #003d58;
}
body.monument.is-mode-kid .is-show-normal {
  display: none !important;
}
body.monument.is-mode-kid .is-show-kids {
  display: block !important;
}
body.monument.is-mode-kid .p-pagetitle img:nth-child(1), body.monument.is-mode-kid .p-pagetitle img:nth-child(2) {
  display: none;
}
body.monument.is-mode-kid .p-pagetitle img:nth-child(3), body.monument.is-mode-kid .p-pagetitle img:nth-child(4) {
  display: block;
}
body.monument.is-mode-kid .monument-main__svg-overlay {
  opacity: 1;
}
body.monument.is-mode-kid .monument-modal__mode-btn {
  padding: 0.125rem;
  background: #43847c;
  background-clip: content-box;
}
body.monument.is-popupopen .l-overlay {
  visibility: hidden;
  opacity: 0;
}
body.monument.is-popupopen .monument-main__inner {
  opacity: 0;
}
body.monument.is-menuopen .l-overlay {
  visibility: visible;
  opacity: 1;
}
body.monument .p-pagetitle {
  position: relative;
  z-index: 1;
  pointer-events: none;
}
body.monument .p-pagetitle__copy img:nth-child(3), body.monument .p-pagetitle__copy img:nth-child(4) {
  display: none;
}
body.monument .p-pagetitle .l-inner {
  width: 110rem;
}
body.monument .l-container {
  color: #fff;
}
body.monument .monument-nav {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
  display: flex;
  justify-content: center;
  visibility: hidden;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(0.25rem);
          backdrop-filter: blur(0.25rem);
  border-radius: 6.25rem;
  box-shadow: inset 0 0 0 0.125rem #000;
  opacity: 0;
}
body.monument .monument-nav__link {
  display: flex;
  flex-shrink: 0;
  gap: 0.25rem;
  align-items: center;
  justify-content: center;
  width: calc(50% + 0.8125rem);
  min-height: 2.5rem;
  margin: 0 -0.8125rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.08em;
  border-radius: 6.25rem;
}
body.monument .monument-nav__link .com-icon {
  --icon-wrap-size: 1rem;
  --icon-color: currentcolor;
}
body.monument .monument-nav__link.is-active {
  color: #fff;
  background-color: #ef4823;
  border: 0.125rem solid #000;
}
body.monument .monument-modal {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  max-height: 100%;
  padding-bottom: 2.5rem;
}
body.monument .monument-modal__title {
  margin-top: 1.5rem;
  font-weight: bold;
  color: #ef4823;
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  body.monument .monument-modal__title {
    font-size: 1.125rem;
  }
}
body.monument .monument-modal__desc {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  body.monument .monument-modal__desc {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
body.monument .monument-modal__img {
  aspect-ratio: 840/400;
}
body.monument .monument-modal__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
body.monument .monument-modal__mode {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin: 2.5rem 3.75rem 0;
}
body.monument .monument-modal__mode-btn {
  position: relative;
  flex-shrink: 0;
  width: 6rem;
  height: 2rem;
  background: #fff;
  border: 0.125rem solid #43847c;
  border-radius: 6.25rem;
}
body.monument .monument-modal__mode-btn::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.1875rem;
  width: 1.5rem;
  aspect-ratio: 1/1;
  margin: auto;
  content: "";
  background: #09675b;
  border-radius: 50%;
}
body.monument .monument-modal__mode-btn.is-active::before {
  left: calc(100% - 0.1875rem - 1.5rem);
}
body.monument .monument-modal__head {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  padding-bottom: 1rem;
  border-bottom: 0.125rem solid #000;
}
body.monument .monument-modal__body {
  max-height: 100%;
  padding-right: 5.125rem;
  margin-top: 2.5rem;
  margin-right: 3.75rem;
  margin-left: 3.75rem;
  overflow-y: auto;
  /* width */
  /* Track */
  /* Handle */
}
body.monument .monument-modal__body::-webkit-scrollbar {
  width: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: 2.5rem;
}
body.monument .monument-modal__body::-webkit-scrollbar-track {
  background-color: transparent;
  border: 0.125rem solid #000;
}
body.monument .monument-modal__body::-webkit-scrollbar-thumb {
  width: 0.375rem;
  margin-right: auto;
  margin-left: auto;
  background: var(--theme-color);
  background-clip: content-box;
  border: 0.125rem solid transparent;
}
body.monument .monument-modal__body::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
body.monument .monument-modal__head-spin {
  display: flex;
  flex-shrink: 0;
  align-items: center;
}
body.monument .monument-modal__head-spin span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  aspect-ratio: 1/1;
  padding-bottom: 0.375rem;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.6;
  color: #fff;
  background: #000;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='57' height='57' viewBox='0 0 57 57' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.0538 12.4462C22.9277 5.57234 34.0723 5.57234 40.9462 12.4462C46.8845 18.3845 47.8005 27.6908 43.134 34.673L28.5 56.5685L13.866 34.673C9.19949 27.6908 10.1155 18.3845 16.0538 12.4462Z' fill='black'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='57' height='57' viewBox='0 0 57 57' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.0538 12.4462C22.9277 5.57234 34.0723 5.57234 40.9462 12.4462C46.8845 18.3845 47.8005 27.6908 43.134 34.673L28.5 56.5685L13.866 34.673C9.19949 27.6908 10.1155 18.3845 16.0538 12.4462Z' fill='black'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
body.monument .monument-modal__head-spin span + span {
  margin-left: -1rem;
}
body.monument .monument-modal__head-main {
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.08em;
}
body.monument .monument-modal__head-txt {
  display: flex;
  flex-grow: 1;
  flex-wrap: wrap;
  gap: 0 0.75rem;
  align-items: center;
}
body.monument .monument-modal__head-sub {
  margin-top: 0.25rem;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  body.monument .monument-modal__head-sub {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }
}
body.monument .monument-modal__head-year {
  width: 100%;
  margin-top: -0.5rem;
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  body.monument .monument-modal__head-year {
    font-size: 1rem;
  }
}
body.monument .monument-options {
  display: flex;
  align-items: center;
  background-color: #fff;
  border: 0.1875rem solid var(--theme-color-reverse);
}
body.monument .monument-options__switch {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  align-self: stretch;
  width: 8.125rem;
  padding: 0.8125rem 1.0625rem;
  margin-right: 1.25rem;
  background-color: var(--theme-color-reverse);
}
body.monument .monument-options__switch-thumb {
  position: relative;
  display: block;
  width: 100%;
  height: 2rem;
  overflow: hidden;
  background-color: #fff;
  border-radius: 6.25rem;
}
body.monument .monument-options__switch-thumb::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.3125rem;
  z-index: 1;
  width: 1.5rem;
  aspect-ratio: 1/1;
  margin: auto;
  overflow: hidden;
  content: "";
  background-color: var(--theme-color-reverse-dark);
  border-radius: 50%;
}
body.monument .monument-options__switch-thumb::after {
  position: absolute;
  inset: 0;
  content: "";
  background-color: #fff;
  border: 0.125rem solid #fff;
  border-radius: inherit;
}
body.monument .monument-options__switch-thumb.is-active::before {
  left: calc(100% - 1.5rem - 0.3125rem);
}
body.monument .monument-options__switch-thumb.is-active::after {
  padding: 0.125rem;
  background: rgba(12, 59, 87, 0.85);
  background-clip: content-box;
}
body.monument .monument-options__cont {
  display: flex;
  gap: 1rem;
  align-items: center;
}
body.monument .monument-options__label {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  display: flex;
  flex-shrink: 0;
  gap: 0.5rem;
  align-items: center;
  margin-right: 1rem;
  font-weight: bold;
  color: var(--theme-color-reverse);
}
@media only screen and (max-width: 767px) {
  body.monument .monument-options__label {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
body.monument .monument-options__label::before {
  width: 1.75rem;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--theme-color-reverse-dark);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.9921 3.10626C24.0843 2.51563 22.8866 2.70157 22.1921 3.52735C20.8632 5.10782 18.3585 7.39376 14.8312 7.71094H13.1687C9.64133 7.39376 7.13665 5.10782 5.80774 3.52735C5.11321 2.6961 3.91555 2.51563 3.01321 3.10079C1.92493 3.81173 1.71712 5.3211 2.57571 6.29454C3.91008 7.81485 6.1468 9.84923 9.26946 10.9649V10.9813V26.0422C9.26946 27.1195 10.1445 27.9945 11.2218 27.9945C12.2991 27.9945 13.1741 27.1195 13.1741 26.0422V19.9391H14.8476V26.0477C14.8476 27.125 15.7226 28 16.7999 28C17.8773 28 18.7523 27.125 18.7523 26.0477V10.9867C18.7523 10.9813 18.7523 10.9758 18.7523 10.9703C21.8749 9.8547 24.1116 7.82032 25.446 6.30001C26.2882 5.3211 26.0804 3.81173 24.9921 3.10626Z' fill='%2309675B'/%3E%3Cpath d='M14 6.89062C15.9028 6.89062 17.4453 5.34811 17.4453 3.44531C17.4453 1.54252 15.9028 0 14 0C12.0972 0 10.5547 1.54252 10.5547 3.44531C10.5547 5.34811 12.0972 6.89062 14 6.89062Z' fill='%2309675B'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.9921 3.10626C24.0843 2.51563 22.8866 2.70157 22.1921 3.52735C20.8632 5.10782 18.3585 7.39376 14.8312 7.71094H13.1687C9.64133 7.39376 7.13665 5.10782 5.80774 3.52735C5.11321 2.6961 3.91555 2.51563 3.01321 3.10079C1.92493 3.81173 1.71712 5.3211 2.57571 6.29454C3.91008 7.81485 6.1468 9.84923 9.26946 10.9649V10.9813V26.0422C9.26946 27.1195 10.1445 27.9945 11.2218 27.9945C12.2991 27.9945 13.1741 27.1195 13.1741 26.0422V19.9391H14.8476V26.0477C14.8476 27.125 15.7226 28 16.7999 28C17.8773 28 18.7523 27.125 18.7523 26.0477V10.9867C18.7523 10.9813 18.7523 10.9758 18.7523 10.9703C21.8749 9.8547 24.1116 7.82032 25.446 6.30001C26.2882 5.3211 26.0804 3.81173 24.9921 3.10626Z' fill='%2309675B'/%3E%3Cpath d='M14 6.89062C15.9028 6.89062 17.4453 5.34811 17.4453 3.44531C17.4453 1.54252 15.9028 0 14 0C12.0972 0 10.5547 1.54252 10.5547 3.44531C10.5547 5.34811 12.0972 6.89062 14 6.89062Z' fill='%2309675B'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
body.monument .monument-options__text {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #000;
}
@media only screen and (max-width: 767px) {
  body.monument .monument-options__text {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
body.monument .monument-main {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  justify-content: space-between;
  width: 110rem;
}
body.monument .monument-main .p-card-02 + .p-card-02 {
  margin-top: 2.5rem;
}
body.monument .monument-main__inner {
  position: relative;
  flex-shrink: 0;
  width: 48.8372093023%;
  margin-top: 5rem;
  margin-right: auto;
}
body.monument .monument-main__svg {
  position: fixed;
  top: 0rem;
  right: 0;
  width: 59.1145833333%;
  height: 100vh;
  margin-top: 0;
  text-align: right;
}
body.monument .monument-main__svg svg {
  position: absolute;
  right: 0;
  bottom: 0;
  width: auto;
  height: 100%;
  max-height: 100%;
}
@media only screen and (max-width: 1280px) {
  body.monument .monument-main__svg-map.--pc {
    display: none;
  }
}
@media all and (min-width: 1281px), print {
  body.monument .monument-main__svg-map.--tabsp {
    display: none;
  }
}
body.monument .monument-main__svg-overlay {
  position: absolute;
  inset: 0;
  left: auto;
  height: 94.2%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s linear;
}
body.monument .monument-main__svg-overlay img {
  width: auto;
  max-width: unset;
  height: 100%;
}
body.monument .monument-main__svg-btn {
  position: absolute;
  right: 1.25rem;
  bottom: 1.125rem;
  background-color: #ef4823;
}
@media (hover: hover) {
  body.monument .monument-main__svg-btn:hover {
    color: #000;
    background: #fff;
  }
}
body.monument .monument-main__svg-pin path,
body.monument .monument-main__svg-pin rect {
  transition: all 0.3s linear;
}
body.monument .monument-main__svg-pin.is-active path,
body.monument .monument-main__svg-pin.is-active rect {
  fill: #ef4823;
}
body.monument .monument-main__svg-pin.is-active path:last-child,
body.monument .monument-main__svg-pin.is-active rect:last-child {
  fill: #fff;
}
@media (hover: hover) {
  body.monument .monument-main__svg-pin:hover rect {
    fill: #ef4823;
  }
  body.monument .monument-main__svg-pin:hover path {
    fill: #ef4823;
  }
  body.monument .monument-main__svg-pin:hover path:last-child {
    fill: #fff;
  }
}
body.monument .monument-main__map {
  position: relative;
  display: block;
  padding-top: 3.625rem;
  padding-bottom: 2.5rem;
  text-align: center;
}
body.monument .monument-main__map::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 0.125rem;
  content: "";
  background: repeating-linear-gradient(to right, #000 0, #000 0.125rem, #fff 0.125rem, #fff 0.625rem);
  background-repeat: no-repeat;
  background-position: center;
}

@media only screen and (max-width: 1280px) {
  body.monument.is-mode-kid .monument-main__box-01 {
    background-color: rgba(67, 132, 124, 0.8);
  }
  body.monument .monument-main {
    display: block;
    padding: 0;
    padding-top: 100vh;
    margin-top: -4.125rem;
    clip-path: inset(0);
  }
  body.monument .monument-main__map {
    padding-top: 3.375rem;
    padding-bottom: 3rem;
  }
  body.monument .monument-main__svg {
    position: fixed;
    top: 10.375rem;
    left: 0;
    z-index: -1;
    width: auto;
    width: 100%;
    height: calc(100% - 10.375rem);
    margin: 0;
  }
  body.monument .monument-main__svg-overlay {
    height: 100%;
    aspect-ratio: 654/626;
  }
  body.monument .monument-main__svg-overlay img {
    position: absolute;
    top: 0;
    right: 7%;
  }
  body.monument .monument-main__inner {
    width: 100%;
    max-width: unset;
    padding: 0 1.25rem;
  }
  body.monument .monument-main__box-01 {
    padding: 2.5rem 2.3125rem 2.5rem 2.375rem;
    margin-right: -1.25rem;
    margin-left: -1.25rem;
    background: rgba(0, 61, 88, 0.8);
    -webkit-backdrop-filter: blur(0.25rem);
            backdrop-filter: blur(0.25rem);
  }
}
@media only screen and (max-width: 1280px) {
  body.monument.is-scrolled .monument-main__svg-btn {
    opacity: 0;
  }
  body.monument.is-scrolled .monument-nav {
    visibility: visible;
    opacity: 1;
  }
  body.monument .monument-nav {
    transition: opacity 0.3s linear;
  }
  body.monument .monument-modal__mode {
    margin: 1rem 1.25rem;
  }
  body.monument .monument-modal__mode-btn {
    width: 3.5rem;
    height: 1.75rem;
  }
  body.monument .monument-modal__mode-btn::before {
    width: 1.25rem;
  }
  body.monument .monument-modal__mode-btn.is-active::before {
    left: calc(100% - 0.1875rem - 1.25rem);
  }
  body.monument .monument-modal__body {
    padding-right: 0.625rem;
    margin: 0.5rem 1.25rem 0;
  }
  body.monument .monument-modal__title {
    margin-top: 1rem;
  }
  body.monument .monument-modal__head-main {
    font-size: 1.5rem;
  }
  body.monument .monument-modal__head-txt {
    flex-direction: column;
    align-items: flex-start;
  }
  body.monument .monument-modal__head-sub {
    margin-top: -0.5rem;
  }
  body.monument .monument-modal__head-year {
    margin-top: -0.25rem;
  }
  body.monument .monument-modal__head-spin span {
    width: 2.75rem;
    font-size: 0.9375rem;
  }
  body.monument .monument-modal__head {
    padding-bottom: 0.5rem;
  }
  body.monument .monument-options {
    flex-wrap: wrap;
    padding: 0.875rem 1rem;
  }
  body.monument .monument-options__label {
    order: -1;
    margin-right: 0.5rem;
  }
  body.monument .monument-options__label::before {
    width: 1.25rem;
  }
  body.monument .monument-options__text {
    width: 100%;
    margin-top: 0.0625rem;
  }
  body.monument .monument-options__switch {
    width: 3.5rem;
    padding: 0;
    background: none;
  }
  body.monument .monument-options__switch-thumb {
    height: 1.75rem;
  }
  body.monument .monument-options__switch-thumb::after {
    border: 0.125rem solid var(--theme-color-reverse);
  }
  body.monument .monument-options__switch-thumb::before {
    left: 0.3125rem;
    width: 1.25rem;
  }
  body.monument .monument-options__switch-thumb.is-active::before {
    left: calc(100% - 1.25rem - 0.3125rem);
  }
  body.monument .monument-main {
    margin-top: -5.5rem;
  }
  body.monument .monument-main .p-card-02 + .p-card-02 {
    margin-top: 1.5rem;
  }
  body.monument .monument-main__box-01 {
    padding: 1.5rem 2.3125rem 1.5rem 2.375rem;
  }
  body.monument .monument-main__map {
    padding-top: 3.375rem;
    padding-bottom: 3rem;
  }
  body.monument .monument-main__inner {
    margin-top: 2.5rem;
  }
  body.monument .monument-main__svg {
    top: 7.5rem;
    bottom: 0;
    height: auto;
  }
  body.monument .monument-main__svg::before {
    position: absolute;
    top: -0.9375rem;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 5.625rem;
    content: "";
    background: linear-gradient(to top, transparent 0%, var(--theme-color) 100%);
  }
  body.monument .monument-main__svg svg {
    top: 0;
    right: -0.07vh;
  }
  body.monument .monument-main__svg-btn {
    right: 0;
    bottom: 0;
    padding: 0.5rem 1.875rem 0.5rem 1.125rem;
    font-size: 0.8125rem;
    transition: opacity 0.3s linear;
  }
  body.monument .monument-main__svg-btn::after {
    top: 0;
    right: 0.75rem;
    bottom: 0;
    width: 1rem;
  }
}
body.news-single .news-single-main .p-editor__content {
  margin-top: 5rem;
}
body.news-single .news-single-main__button {
  margin-top: 5rem;
  text-align: center;
}

body.news .p-pagination {
  margin-top: 5rem;
}

body.timeline .l-article {
  position: relative;
}
body.timeline .timeline-text01 {
  position: absolute;
  top: 50%;
  right: min((90rem - 100vw) / 2, -1.25rem);
  z-index: -1;
  width: 100vw;
  overflow: hidden;
  transform: translateY(-50%);
}
body.timeline .timeline-text01__inner {
  display: flex;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  animation: sliderLinearHor 55s infinite linear;
}
body.timeline .timeline-note {
  display: inline-flex;
  gap: 1.25rem;
  align-items: center;
  padding: 0.75rem 1.25rem;
  background: #fff;
}
body.timeline .timeline-note .c-list-dot__item {
  margin: 0;
}
body.timeline .c-text-link {
  vertical-align: inherit;
}

@media only screen and (max-width: 767px) {
  body.timeline .timeline-note {
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-start;
    width: 100%;
  }
  body.timeline .timeline-text01__inner {
    animation-duration: 30s;
  }
  body.timeline .timeline-text01__inner img {
    width: auto;
    height: 4rem;
  }
}
body.war .war-history__head {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: baseline;
}
body.war .war-history .p-table-dl {
  --th01: "日付";
  --th02: "場所・戦場";
  --th03: "起こったこと";
}
@media all and (min-width: 768px), print {
  body.war .war-history .p-table-dl {
    table-layout: fixed;
  }
  body.war .war-history .p-table-dl th,
  body.war .war-history .p-table-dl td {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
  body.war .war-history .p-table-dl th:first-child,
  body.war .war-history .p-table-dl td:first-child {
    text-align: center;
  }
  body.war .war-history .p-table-dl th:nth-child(2),
  body.war .war-history .p-table-dl td:nth-child(2) {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
    text-align: left;
  }
}

@media only screen and (max-width: 1280px) {
  body.war .l-all {
    overflow: hidden;
  }
}
/* utility */
.u-asterisk {
  padding-left: 1em;
  text-indent: -1em;
}

.u-block {
  display: block;
}

.u-hr {
  border-top: 1px solid #000;
  margin: 2rem 0;
}

@media all and (min-width: 1281px), print {
  .u-hidden-pc {
    display: none;
  }
}
@media all and (min-width: 768px), print {
  .u-hidden-pc-tab {
    display: none;
  }
}
@media only screen and (max-width: 1280px) {
  .u-hidden-tab-sp {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .u-hidden-sp {
    display: none;
  }
}
.u-tel-link {
  text-decoration: underline;
  pointer-events: auto;
}

@media (hover: hover) {
  .u-tel-link {
    text-decoration: none;
    pointer-events: none;
  }
}
.u-mt-0-5 {
  margin-top: 0.25rem;
}

.u-mt-1 {
  margin-top: 0.5rem;
}

.u-mt-2 {
  margin-top: 1rem;
}

.u-mt-3 {
  margin-top: 1.5rem;
}

.u-mt-4 {
  margin-top: 2rem;
}

.u-mt-5 {
  margin-top: 2.5rem;
}

.u-mt-6 {
  margin-top: 3rem;
}

.u-mt-7 {
  margin-top: 3.5rem;
}

.u-mt-8 {
  margin-top: 4rem;
}

.u-mt-9 {
  margin-top: 4.5rem;
}

.u-mt-10 {
  margin-top: 5rem;
}

.u-mt-11 {
  margin-top: 5.5rem;
}

.u-mt-12 {
  margin-top: 6rem;
}

.u-mt-13 {
  margin-top: 6.5rem;
}

.u-mt-14 {
  margin-top: 7rem;
}

.u-mt-15 {
  margin-top: 7.5rem;
}

.u-mt-16 {
  margin-top: 8rem;
}

.u-mt-17 {
  margin-top: 8.5rem;
}

.u-mt-18 {
  margin-top: 9rem;
}

.u-mt-19 {
  margin-top: 9.5rem;
}

.u-mt-20 {
  margin-top: 10rem;
}

.u-mt-21 {
  margin-top: 10.5rem;
}

.u-mt-22 {
  margin-top: 11rem;
}

.u-mt-23 {
  margin-top: 11.5rem;
}

.u-mt-24 {
  margin-top: 12rem;
}

.u-mt-25 {
  margin-top: 12.5rem;
}

@media only screen and (max-width: 767px) {
  .u-mt-1-sp {
    margin-top: 0.5rem;
  }
  .u-mt-2-sp {
    margin-top: 1rem;
  }
  .u-mt-3-sp {
    margin-top: 1.5rem;
  }
  .u-mt-4-sp {
    margin-top: 2rem;
  }
  .u-mt-5-sp {
    margin-top: 2.5rem;
  }
  .u-mt-6-sp {
    margin-top: 3rem;
  }
  .u-mt-7-sp {
    margin-top: 3.5rem;
  }
  .u-mt-8-sp {
    margin-top: 4rem;
  }
  .u-mt-9-sp {
    margin-top: 4.5rem;
  }
  .u-mt-10-sp {
    margin-top: 5rem;
  }
  .u-mt-11-sp {
    margin-top: 5.5rem;
  }
  .u-mt-12-sp {
    margin-top: 6rem;
  }
  .u-mt-13-sp {
    margin-top: 6.5rem;
  }
  .u-mt-14-sp {
    margin-top: 7rem;
  }
  .u-mt-15-sp {
    margin-top: 7.5rem;
  }
  .u-mt-16-sp {
    margin-top: 8rem;
  }
  .u-mt-17-sp {
    margin-top: 8.5rem;
  }
  .u-mt-18-sp {
    margin-top: 9rem;
  }
  .u-mt-19-sp {
    margin-top: 9.5rem;
  }
  .u-mt-20-sp {
    margin-top: 10rem;
  }
  .u-mt-21-sp {
    margin-top: 10.5rem;
  }
  .u-mt-22-sp {
    margin-top: 11rem;
  }
  .u-mt-23-sp {
    margin-top: 11.5rem;
  }
  .u-mt-24-sp {
    margin-top: 12rem;
  }
  .u-mt-25-sp {
    margin-top: 12.5rem;
  }
}
.u-parallax-01 {
  transition: transform 0.1s linear 0s;
}

.u-parallax-02 {
  transition: transform 0.2s linear 0.004s;
}

.u-parallax-03 {
  transition: transform 0.3s linear 0.008s;
}

.u-parallax-04 {
  transition: transform 0.4s linear 0.01s;
}

.u-parallax-05 {
  transition: transform 0.5s linear 0.012s;
}

.u-parallax-sp-01 {
  transition: transform 0.4s linear 0s;
}

.u-text-center {
  text-align: center;
}

.u-text-left {
  text-align: left;
}

.u-text-right {
  text-align: right;
}

@media all and (min-width: 768px), print {
  .u-text-center-pc {
    text-align: center;
  }
  .u-text-left-pc {
    text-align: left;
  }
  .u-text-right-pc {
    text-align: right;
  }
}
@media only screen and (max-width: 767px) {
  .u-text-center-sp {
    text-align: center;
  }
  .u-text-left-sp {
    text-align: left;
  }
  .u-text-right-sp {
    text-align: right;
  }
}
.u-text-bold {
  font-weight: bold;
}