@charset "UTF-8";
/* Base
----------------------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

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

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

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

/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
  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] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
  border-style: none;
}

/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
  overflow: visible;
}

/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
  text-transform: none;
}

/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
* Correct the padding in Firefox.
*/
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

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

/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

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

/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

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

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

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

/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
  display: none;
}

/**
* Add the correct display in IE 10.
*/
[hidden] {
  display: none;
}

:root {
  --header-height: 96px;
}

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

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 40px);
  scrollbar-gutter: stable;
}

body {
  display: flex;
  flex-direction: column;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.7;
  font-size: 1.6rem;
  padding-top: var(--header-height);
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.04em;
  min-height: 100vh;
}
body.is-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

a {
  color: currentColor;
  text-decoration: none;
}

p {
  margin: 0 0 1.5em;
  line-height: 1.7;
}
p:last-child {
  margin-bottom: 0;
}
p {
  /* 文中リンク */
}
p a:not(.c-link, .c-btn, .c-link-anchor) {
  font-weight: 700;
  text-decoration: none;
  transition: 0.3s all;
  border-bottom: 1px solid currentColor;
  margin-right: 4px;
}
body:not(.is-touch) p a:not(.c-link, .c-btn, .c-link-anchor):hover {
  color: #140078;
}
p a:not(.c-link, .c-btn, .c-link-anchor)[target=_blank]::after, p a:not(.c-link, .c-btn, .c-link-anchor)[href$=".pdf"]::after {
  display: inline-block;
  font-family: "mtl";
  font-size: 1em;
  color: #140078;
  font-weight: 400;
  margin-left: 4px;
}
p a:not(.c-link, .c-btn, .c-link-anchor)[target=_blank]::after {
  content: "\e908";
}
p a:not(.c-link, .c-btn, .c-link-anchor)[href$=".pdf"]::after {
  content: "\e909";
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

dl,
dl dd {
  margin: 0;
}

table {
  border-collapse: collapse;
}

figure {
  margin: 0;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

fieldset {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  border: none;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #000;
  margin: 0;
  padding: 0;
  border: none;
  background: inherit;
  cursor: pointer;
}

picture {
  display: block;
  max-width: 100%;
  height: auto;
  line-height: 1;
}

sub {
  bottom: 0;
}

/* PC
----------------------------------------------------------- */
@media (min-width: 768px) {
  a {
    cursor: pointer;
    transition: 0.3s all;
  }
  .sp-view {
    display: none !important;
  }
}
/* SP
----------------------------------------------------------- */
@media (max-width: 767px) {
  .pc-view {
    display: none !important;
  }
}
/* tablet
----------------------------------------------------------- */
@media (max-width: 810px) {
  .tablet-view {
    display: none !important;
  }
}
/* Layout
----------------------------------------------------------- */
.l-breadcrumb {
  width: 100%;
  background: #fff;
  padding: 16px;
}
@media (min-width: 768px) {
  .l-breadcrumb {
    border-bottom: 1px solid #d5d5d5;
  }
}
.l-breadcrumb__list {
  overflow-x: auto;
  -webkit-overflow-scroling: touch;
  display: flex;
  max-width: 1080px;
  margin-inline: auto;
  white-space: nowrap;
}
.l-breadcrumb__list:not(:hover) {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-breadcrumb__item {
  font-size: 1.2rem;
  font-weight: 500;
  position: relative;
}
.l-breadcrumb__item:not(:first-child)::before {
  display: inline-block;
  content: "";
  width: 4.5px;
  height: 9px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%225.515%22%20height%3D%2210.03%22%3E%3Cpath%20d%3D%22M.5%2010.03a.5.5%200%2001-.354-.854l4.161-4.161L.146.854A.502.502%200%2011.857.146l4.511%204.515a.5.5%200%20010%20.707L.857%209.884a.5.5%200%2001-.357.146z%22%20fill%3D%22%23696969%22%2F%3E%3C%2Fsvg%3E");
  margin: 0 8px;
}
.l-breadcrumb__item a {
  color: #140078;
  border-bottom: 1px solid transparent;
}
body:not(.is-touch) .l-breadcrumb__item > a:hover {
  border-color: currentColor;
  text-decoration: none;
}
@media (max-width: 767px) {
  .l-breadcrumb {
    padding: 12px 20px;
  }
  .l-breadcrumb__item:not(:first-child)::before {
    margin: 0 4px;
  }
}

.l-footer {
  padding: 40px 20px 16px;
  background: #fff;
  position: relative;
  margin-top: auto;
}
.l-footer::after {
  display: block;
  content: "";
  width: 100%;
  height: 8px;
  background-image: linear-gradient(to right, #aa0a0a, #e61e1e);
  position: absolute;
  bottom: 0;
  left: 0;
}
.l-footer a {
  color: #000;
}
.l-footer.-simple {
  padding-top: 24px;
}
.l-footer.-simple .l-footer__nav {
  margin-top: 0;
}
@media (max-width: 767px) {
  .l-footer.-simple .l-footer__nav {
    margin-top: 16px;
  }
}
.l-footer__pagetop {
  height: 40px;
  width: 40px;
  position: fixed;
  bottom: 24px;
  right: 32px;
}
.l-footer__pagetop-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #140078;
  font-size: 15px;
  height: 40px;
  width: 40px;
  border-radius: 100vh;
  background: #fff;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
  transition: 0.3s all;
}
body:not(.is-touch) .l-footer__pagetop-btn:hover {
  background: #140078;
  color: #fff;
  text-decoration: none;
}
.l-footer__sitemap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 24px;
  max-width: 1080px;
  margin: 0 auto;
}
.l-footer__sitemap-heading {
  display: block;
  font-weight: 700;
  line-height: 1.5;
  width: 100%;
  padding-bottom: 12px;
  border-bottom: 2px solid #d5d5d5;
}
.l-footer__sitemap-heading + .l-footer__sitemap-heading {
  margin-top: 40px;
}
.l-footer__sitemap-heading span {
  display: inline-block;
  padding-right: 28px;
  position: relative;
}
.l-footer__sitemap-heading span::after {
  font-family: "mtl";
  color: #140078;
  font-size: 20px;
  font-weight: 400;
  content: "\e900";
  transition: 0.3s all;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.l-footer__sitemap-heading[target=_blank] span::after {
  content: "\e908";
}
.l-footer__sitemap-heading[href$=".pdf"] span::after {
  content: "\e909";
}
body:not(.is-touch) .l-footer__sitemap-heading:hover {
  color: #140078;
}
body:not(.is-touch) .l-footer__sitemap-heading:hover span::after {
  right: -4px;
}
.l-footer__sitemap-list {
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 12px;
}
.l-footer__sitemap-list li a span {
  background-image: linear-gradient(90deg, currentcolor, currentcolor);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  transition: background-size 0.3s;
}
body:not(.is-touch) .l-footer__sitemap-list li a:hover {
  color: #140078;
  text-decoration: none;
}
body:not(.is-touch) .l-footer__sitemap-list li a:hover span {
  background-size: 100% 1px;
}
.l-footer__sitemap-list li a span {
  position: relative;
}
.l-footer__sitemap-list li a[target=_blank] span::after, .l-footer__sitemap-list li a[href$=".pdf"] span::after {
  font-family: "mtl";
  color: #140078;
  font-size: 1em;
  font-weight: 400;
  margin-left: 4px;
}
.l-footer__sitemap-list li a[target=_blank] span::after {
  content: "\e908";
}
.l-footer__sitemap-list li a[href$=".pdf"] span::after {
  content: "\e909";
}
.l-footer__sitemap-list li:not(:first-child) {
  margin-top: 8px;
}
.l-footer__marks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 32px;
  margin-top: 72px;
}
body:not(.is-touch) .l-footer__marks a:hover {
  opacity: 0.6;
}
.l-footer__logo {
  display: none;
}
.l-footer__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 48px;
}
.l-footer__nav a span {
  background-image: linear-gradient(90deg, currentcolor, currentcolor);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  transition: background-size 0.3s;
}
body:not(.is-touch) .l-footer__nav a:hover {
  color: #140078;
  text-decoration: none;
}
body:not(.is-touch) .l-footer__nav a:hover span {
  background-size: 100% 1px;
}
.l-footer__nav .sp-break,
.l-footer__nav .tablet-break {
  flex-basis: 100%;
  height: 0;
  display: none;
}
@media (max-width: 767px) {
  .l-footer__nav .sp-break {
    display: block;
  }
  .l-footer__nav .sp-break + .l-footer__nav-item {
    padding-left: 0;
    margin-left: 0;
    border-left: none;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .l-footer__nav .tablet-break {
    display: block;
  }
  .l-footer__nav .tablet-break + .l-footer__nav-item {
    padding-left: 0;
    margin-left: 0;
    border-left: none;
  }
  .l-footer__nav .sp-break {
    display: none;
  }
}
.l-footer__nav-item {
  padding-left: 16px;
  margin-left: 16px;
  border-left: 1px solid #d5d5d5;
  margin-top: 16px;
}
.l-footer__nav-item:first-of-type {
  padding-left: 0;
  margin-left: 0;
  border-left: none;
}
.l-footer__nav-item a[target=_blank] span::after, .l-footer__nav-item a[href$=".pdf"] span::after {
  font-family: "mtl";
  color: #140078;
  font-size: 1em;
  font-weight: 400;
  margin-left: 4px;
}
.l-footer__nav-item a[target=_blank] span::after {
  content: "\e908";
}
.l-footer__nav-item a[href$=".pdf"] span::after {
  content: "\e909";
}
.l-footer__copy {
  color: #666666;
  font-size: 1.2rem;
  text-align: center;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .l-footer {
    padding: 24px 15px 14px;
  }
  .l-footer::after {
    height: 6px;
  }
  .l-footer__pagetop {
    height: 36px;
    width: 36px;
    bottom: 15px;
    right: 15px;
  }
  .l-footer__pagetop-btn {
    font-size: 14px;
    height: 40px;
    width: 40px;
  }
  .l-footer__sitemap, .l-footer__marks {
    display: none;
  }
  .l-footer__logo {
    display: block;
    line-height: 1;
    width: 240px;
    margin: auto;
    transition: 0.3s all;
  }
  .l-footer__logo img {
    width: 100%;
    height: auto;
  }
  body:not(.is-touch) .l-footer__logo:hover {
    opacity: 0.6;
  }
  .l-footer__nav {
    font-size: 1.2rem;
    margin-top: 16px;
  }
  .l-footer__nav-item {
    padding-left: 8px;
    margin-left: 8px;
    margin-top: 8px;
  }
  .l-footer__copy {
    font-size: 0.8rem;
    margin-top: 24px;
  }
}

.l-gnav {
  display: flex;
  gap: 0 min(2.22vw, 32px);
  font-size: min(1.11vw, 1.6rem);
}
.l-gnav__link {
  color: #000;
  font-weight: 500;
  line-height: 1.5;
  position: relative;
}
body:not(.is-touch) .l-gnav__link:hover {
  color: #140078;
  text-decoration: none;
}
@media (max-width: 1200px) {
  .l-gnav {
    font-size: clamp(1.4rem, 1.33vw, 1.6rem);
  }
}
@media (min-width: 768px) {
  .l-gnav__item {
    height: 50px;
  }
  .l-gnav__link {
    display: flex;
    align-items: flex-start;
    height: 100%;
    padding: 0;
  }
  .l-gnav__link.-drawer::before {
    font-family: "mtl";
    color: #140078;
    content: "\e902";
    font-size: 14px;
    line-height: 1;
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.3s;
  }
  .l-gnav__link.is-active.-drawer::before {
    content: "\e907";
  }
  .l-gnav__link.is-current {
    color: #140078;
  }
  .l-gnav__link.is-current::after {
    display: block;
    content: "";
    width: 100%;
    height: 4px;
    background-image: linear-gradient(to right, #140078, #0a6ad9);
    position: absolute;
    bottom: 0;
    left: 0;
  }
  body:not(.is-touch) .l-gnav__link:hover.-drawer:not(.is-active)::before {
    bottom: 4px;
  }
  .l-gnav__close-btn {
    display: none;
  }
}
@media (max-width: 767px) {
  .l-gnav {
    display: block;
    font-size: 1.6rem;
  }
  .l-gnav__link {
    display: block;
    text-align: left;
    width: 100%;
    color: #000;
    height: auto;
    padding: 16px 0;
    border-bottom: 1px solid #d5d5d5;
    transition: 0.3s all;
  }
  .l-gnav__link.-drawer::before, .l-gnav__link.-drawer::after {
    display: block;
    content: "";
    width: 2px;
    height: 12px;
    border-radius: 100vh;
    background: #140078;
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
  }
  .l-gnav__link.-drawer::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .l-gnav__link.is-active {
    color: #140078;
    border-color: transparent;
  }
  .l-gnav__link.is-active::before {
    display: none;
  }
  .l-gnav__close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #696969;
    font-weight: 500;
    padding: 16px;
    width: 100%;
    border-top: 1px solid #d5d5d5;
  }
  .l-gnav__close-btn::before {
    font-family: "mtl";
    content: "\e901";
    font-size: 14px;
    font-weight: 400;
  }
}

.l-gnav-sub {
  display: flex;
  justify-content: flex-end;
  gap: 0 min(1.66vw, 24px);
  font-size: min(0.972vw, 1.4rem);
  font-weight: 500;
}
.l-gnav-sub li {
  display: flex;
  align-items: center;
}
.l-gnav-sub__link {
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.43;
  padding: 0;
}
.l-gnav-sub__link .icon-mail {
  color: #140078;
  font-size: 14px;
  font-weight: 400;
}
.l-gnav-sub__link[target=_blank]::after {
  font-family: "mtl";
  color: #140078;
  font-size: 14px;
  font-weight: 400;
  content: "\e908";
}
.l-gnav-sub__link.-search {
  font-weight: 500;
}
.l-gnav-sub__link.-search::before {
  font-family: "mtl";
  content: "\e906";
  color: #140078;
  font-size: 14px;
  font-weight: 400;
}
@media (max-width: 767px) {
  .l-gnav-sub__link.-search.is-active::before {
    content: "\e901";
  }
}
body:not(.is-touch) .l-gnav-sub__link:hover {
  color: #140078;
  text-decoration: none;
}
@media (max-width: 1200px) {
  .l-gnav-sub {
    gap: 0 min(2vw, 24px);
    font-size: clamp(1.2rem, 1.16vw, 1.4rem);
  }
}
@media (max-width: 767px) {
  .l-gnav-sub li:not(.l-gnav-search) {
    display: none;
  }
  .l-gnav-sub__link.-search {
    line-height: 1;
  }
  .l-gnav-sub__link.-search::before {
    font-size: 20px;
  }
  .l-gnav-sub__link.-search.is-active::before {
    content: "\e901";
  }
  .l-gnav-sub__link.-search span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

.l-gnav-dropdown {
  display: none;
}
.l-gnav-dropdown a span {
  background-image: linear-gradient(90deg, currentcolor, currentcolor);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  transition: background-size 0.3s;
}
body:not(.is-touch) .l-gnav-dropdown a:hover {
  color: #140078;
  text-decoration: none;
}
body:not(.is-touch) .l-gnav-dropdown a:hover span {
  background-size: 100% 1px;
}
.l-gnav-dropdown a[target=_blank] span::after, .l-gnav-dropdown a[href$=".pdf"] span::after {
  font-family: "mtl";
  color: #140078;
  font-size: 1em;
  font-weight: 400;
  margin-left: 4px;
}
.l-gnav-dropdown a[target=_blank] span::after {
  content: "\e908";
}
.l-gnav-dropdown a[href$=".pdf"] span::after {
  content: "\e909";
}
.l-gnav-dropdown__inner {
  max-width: 1080px;
  margin: auto;
}
@media (min-width: 768px) {
  .l-gnav-dropdown {
    position: fixed;
    width: 100%;
    top: 102px;
    left: 0;
    padding: 24px 20px 32px;
    background: #fff;
    box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.2) inset;
  }
  .l-gnav-dropdown__title {
    display: inline-block;
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 24px;
    padding-right: 32px;
    position: relative;
  }
  .l-gnav-dropdown__title::after {
    font-family: "mtl";
    content: "\e900";
    font-size: 24px;
    font-weight: 400;
    color: #140078;
    position: absolute;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 0;
    transition: 0.3s all;
  }
  body:not(.is-touch) .l-gnav-dropdown__title:hover::after {
    right: -4px;
  }
  .l-gnav-dropdown__list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: 24px;
    border-top: 1px solid #d5d5d5;
  }
  .l-gnav-dropdown__item {
    font-weight: 500;
    width: calc((100% - 48px) / 4);
  }
  .l-gnav-dropdown__close {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #696969;
    font-weight: 500;
    line-height: 1.5;
    padding-bottom: 2px;
    position: absolute;
    right: 48px;
    top: 24px;
    border-bottom: 1px solid transparent;
    background-image: linear-gradient(90deg, currentcolor, currentcolor);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 1px;
    transition: background-size 0.3s;
  }
  .l-gnav-dropdown__close::before {
    font-family: "mtl";
    content: "\e901";
    font-size: 14px;
    font-weight: 400;
    padding-top: 2px;
  }
  body:not(.is-touch) .l-gnav-dropdown__close:hover {
    color: #140078;
    text-decoration: none;
    background-size: 100% 1px;
  }
}
@media (max-width: 767px) {
  .l-gnav-dropdown {
    font-size: 1.4rem;
    font-weight: 500;
    padding: 16px;
    background: #f8f8f8;
  }
  body:not(.is-touch) .l-gnav-dropdown a:hover {
    color: #140078;
    text-decoration: none;
  }
  .l-gnav-dropdown__item:not(:first-child) {
    margin-top: 16px;
  }
  .l-gnav-dropdown__close {
    display: none;
  }
}

@media (min-width: 768px) {
  .l-gnav-sp-sub {
    display: none;
  }
}
@media (max-width: 767px) {
  .l-gnav-sp-sub {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 16px;
    padding: 16px 0;
  }
  .l-gnav-sp-sub li {
    width: calc(50% - 8px);
  }
  .l-gnav-sp-sub li a {
    font-size: 1.4rem;
    font-weight: 500;
  }
  .l-gnav-sp-sub li a[target=_blank]::after {
    font-family: "mtl";
    content: "\e908";
    margin-left: 4px;
  }
  body:not(.is-touch) .l-gnav-sp-sub li a:hover {
    color: #140078;
    text-decoration: none;
  }
}

.l-header {
  width: 100%;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.l-header.-simple .l-header__inner {
  height: 96px;
}
.l-header__inner {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: auto auto;
  gap: 16px;
  padding: 0 min(3.33vw, 48px) 0 min(2vw, 30px);
}
.l-header__logo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(1.1vw, 16px);
  grid-row: 1/3;
  grid-column: 1/2;
  line-height: 1;
  width: min(27.2vw, 392px);
}
.l-header__logo-mark {
  width: min(15vw, 216px);
  height: auto;
}
.l-header__logo-link {
  display: flex;
  align-items: center;
  width: min(11.1vw, 160px);
}
body:not(.is-touch) .l-header__logo-link:hover {
  opacity: 0.6;
}
.l-header__sub-nav {
  grid-row: 1/2;
  grid-column: 2/3;
  margin-top: 16px;
}
.l-header__sub-nav a {
  color: #000;
}
.l-header__nav {
  grid-row: 2/3;
  grid-column: 2/3;
  display: flex;
  justify-content: flex-end;
}
.l-header__nav a {
  color: #000;
}
.l-header__overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.3);
  z-index: 99;
}
@media (min-width: 768px) {
  .l-header__menu-btn {
    display: none;
  }
}
@media (max-width: 1200px) {
  .l-header.-simple .l-header__logo {
    grid-row: 1/3;
    margin-top: 0;
  }
  .l-header__inner {
    gap: 19px;
  }
  .l-header__logo {
    grid-row: 1/2;
    margin-top: 19px;
    width: 391px;
  }
  .l-header__logo-mark {
    width: 215px;
  }
  .l-header__logo-link {
    width: 160px;
  }
  .l-header__sub-nav {
    margin-top: 16px;
  }
  .l-header__nav {
    grid-column: 1/3;
  }
}
@media (max-width: 767px) {
  .l-header.-simple .l-header__inner {
    height: 48px;
  }
  .l-header__inner {
    grid-template-rows: auto;
    grid-template-columns: 1fr 24px 24px;
    align-items: center;
    padding: 16px 12px 16px 20px;
  }
  .l-header__logo {
    grid-column: 1/2;
    width: 134px;
    margin: 0;
  }
  .l-header__logo-mark {
    width: 100%;
  }
  .l-header__logo-link {
    display: none;
  }
  .l-header__nav {
    display: none;
    width: 100%;
    height: calc(100svh - 52px);
    padding: 0 20px 40px;
    background: #fff;
    position: fixed;
    top: 52px;
    left: 0;
    box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.2) inset;
    overflow-y: auto;
  }
  .l-header__sub-nav {
    margin-top: 0;
    grid-column: 2/3;
  }
  .l-header__menu-btn {
    grid-column: 3/4;
    display: block;
    width: 20px;
    height: 16px;
    position: relative;
    cursor: pointer;
  }
  .l-header__menu-btn > span {
    display: block;
    position: absolute;
    left: 0;
    width: 20px;
    height: 2px;
    background-color: #140078;
    border-radius: 100vh;
    transition: all 0.5s;
    box-sizing: border-box;
  }
  .l-header__menu-btn > span:nth-of-type(1) {
    top: 0;
  }
  .l-header__menu-btn > span:nth-of-type(2) {
    top: 7px;
  }
  .l-header__menu-btn > span:nth-of-type(3) {
    bottom: 0;
  }
  .l-header__menu-btn.is-active > span:nth-of-type(1) {
    transform: translateY(7px) rotate(-45deg);
  }
  .l-header__menu-btn.is-active > span:nth-of-type(2) {
    opacity: 0;
  }
  .l-header__menu-btn.is-active > span:nth-of-type(3) {
    transform: translateY(-7px) rotate(45deg);
  }
}

.l-header-search {
  display: none;
  position: fixed;
  width: 100%;
  top: 102px;
  left: 50%;
  transform: translateX(-50%);
  background: #d5d5d5;
}
.l-header-search form[name=search_form] {
  display: flex;
  justify-content: center;
  flex-grow: 1;
  gap: 12px;
  padding: 12px;
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
}
.l-header-search input[type=text],
.l-header-search input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.l-header-search input[type=text] {
  flex-grow: 1;
  padding: 8px 12px;
  background: #fff;
  min-width: 0;
  border-radius: 8px;
  box-sizing: border-box;
}
.l-header-search input[type=text]::-moz-placeholder {
  color: #696969;
}
.l-header-search input[type=text]::placeholder {
  color: #696969;
}
.l-header-search input[type=submit] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  background: #140078;
  color: #fff;
  min-width: 80px;
  font-weight: 500;
  letter-spacing: 0.03em;
  padding: 8px 24px;
  border-radius: 100vh;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  transition: 0.3s all;
}
body:not(.is-touch) .l-header-search input[type=submit]:hover {
  color: #140078;
  background: #fff;
}
@media (max-width: 1200px) {
  .l-header-search {
    top: 107px;
  }
}
@media (max-width: 767px) {
  .l-header-search {
    top: 52px;
  }
  .l-header-search input[type=text] {
    flex: 1;
  }
}

.l-header-search-close {
  display: flex;
  justify-content: center;
  padding: 8px;
  width: 100%;
  min-height: 38px;
  background: #fff;
}
.l-header-search-close .l-header-search-close-btn {
  width: 100%;
  color: #696969;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
.l-header-search-close .l-header-search-close-btn span {
  border-bottom: 1px solid transparent;
  transition: 0.3s all;
}
.l-header-search-close .l-header-search-close-btn span::before {
  font-family: "mtl";
  font-size: 0.8em;
  content: "\e901";
  margin-right: 8px;
}
body:not(.is-touch) .l-header-search-close .l-header-search-close-btn:hover span {
  color: #140078;
  border-color: #140078;
}

.l-wrap {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  flex: 1;
}
.l-wrap::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/bg_pattern-pc.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  will-change: transform;
  z-index: -1;
}
@media (max-width: 767px) {
  .l-wrap::before {
    background-image: url("../img/bg_pattern-sp.jpg");
  }
}
.l-wrap.-lower {
  background-color: #f8f8f8;
}
.l-wrap.-lower::before {
  content: none;
  background-image: none;
}

.l-container {
  min-width: 0;
  margin-bottom: 120px;
}
.l-container.-small {
  margin-bottom: 72px;
}
.l-container:has(.l-container__localnav) {
  display: flex;
  gap: 40px 24px;
  padding: 0 20px;
  max-width: 1216px;
  margin-inline: auto;
}
.l-container:has(.l-container__localnav) .l-section {
  padding: 0;
}
.l-container__main {
  flex: 1;
  min-width: 0;
}
.l-container__localnav {
  width: 252px;
}
@media (max-width: 767px) {
  .l-container {
    margin-bottom: 40px;
  }
  .l-container.-small {
    margin-bottom: 30px;
  }
  .l-container:has(.l-container__localnav) {
    flex-direction: column;
  }
  .l-container__localnav {
    width: 100%;
  }
}

.l-title {
  display: flex;
  align-items: center;
  min-height: 132px;
  padding: 40px 20px;
  background-image: linear-gradient(85deg, #140078, #113b9f 20%, #105cb5 40%, #0f6abf 70%, #44ade8);
}
.l-title.-lower {
  background-image: none;
}
.l-title.-lower .l-title__text {
  color: #000;
  font-weight: 500;
}
.l-title__text {
  display: flex;
  align-items: center;
  gap: 24px;
  color: #fff;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4;
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
  z-index: 1;
}
@media (max-width: 767px) {
  .l-title {
    min-height: 109px;
  }
  .l-title__text {
    font-size: 2.6rem;
  }
}

.l-localnav {
  font-weight: 500;
  border-radius: 16px;
  overflow: hidden;
}
.l-localnav__heading a {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 24px 44px 24px 24px;
  width: 100%;
  background: #fff;
  border-bottom: 4px solid #140078;
  position: relative;
}
.l-localnav__heading a::after {
  font-family: "mtl";
  color: #140078;
  font-size: 1em;
  font-weight: 400;
  content: "\e900";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s all;
}
body:not(.is-touch) .l-localnav__heading a:hover {
  color: #fff;
  background: #140078;
}
body:not(.is-touch) .l-localnav__heading a:hover::after {
  color: #fff;
  right: 12px;
}
.l-localnav__list > li:not(:last-child) .l-localnav__btn,
.l-localnav__list > li:not(:last-child) .l-localnav__link {
  border-bottom: 1px solid #d5d5d5;
}
.l-localnav__btn, .l-localnav__link {
  display: block;
  line-height: 1.7;
  font-weight: 500;
  text-align: left;
  padding: 16px 44px 16px 24px;
  width: 100%;
  background: #fff;
  position: relative;
}
.l-localnav__btn::before, .l-localnav__btn::after {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  transition: 0.3s all;
  z-index: 2;
  right: 16px;
  position: absolute;
  width: 14px;
  height: 2px;
  border-radius: 100vh;
  background: #140078;
  content: "";
}
.l-localnav__btn::after {
  transform: translateY(-50%) rotate(90deg);
}
.l-localnav__btn[aria-expanded=true]::after {
  content: none;
}
body:not(.is-touch) .l-localnav__btn:hover {
  color: #fff;
  background: #140078;
}
body:not(.is-touch) .l-localnav__btn:hover::before, body:not(.is-touch) .l-localnav__btn:hover::after {
  background: #fff;
}
.l-localnav__link {
  display: block;
  line-height: 1.7;
  font-weight: 500;
  text-align: left;
  padding: 16px 44px 16px 24px;
  width: 100%;
  background: #fff;
  position: relative;
}
.l-localnav__link::after {
  font-family: "mtl";
  color: #140078;
  font-size: 1em;
  font-weight: 400;
  content: "\e900";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s all;
}
body:not(.is-touch) .l-localnav__link:hover {
  color: #fff;
  background: #140078;
}
body:not(.is-touch) .l-localnav__link:hover::after {
  color: #fff;
  right: 12px;
}
.l-localnav__link.is-current {
  font-weight: 700;
  background: #f3f4ff;
  border-bottom: 1px solid #140078 !important;
  pointer-events: none;
}
.l-localnav__link.is-current::after {
  content: none;
}
.l-localnav__sub {
  overflow: hidden;
}
.l-localnav__sub[aria-hidden=false] {
  display: block;
}
.l-localnav__sub:has(.is-current) {
  display: block;
}
.l-localnav__sub > li {
  color: #140078;
  border-bottom: 1px solid #d5d5d5;
}
.l-localnav__sub > li:has(.is-current) {
  border-bottom: 1px solid #140078;
}
.l-localnav__sub-link {
  display: block;
  padding: 16px 44px 16px 40px;
  position: relative;
}
.l-localnav__sub-link::after {
  font-family: "mtl";
  color: #140078;
  font-size: 1em;
  font-weight: 400;
  content: "\e900";
  transition: 0.3s all;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}
.l-localnav__sub-link[target=_blank]::after, .l-localnav__sub-link[href$=".pdf"]::after {
  font-family: "mtl";
  color: #140078;
  font-size: 1em;
  font-weight: 400;
  margin-left: 4px;
}
.l-localnav__sub-link[target=_blank]::after {
  content: "\e908";
}
.l-localnav__sub-link[href$=".pdf"]::after {
  content: "\e909";
}
.l-localnav__sub-link.is-current {
  pointer-events: none;
  font-weight: 700;
  background: #f3f4ff;
}
.l-localnav__sub-link.is-current::after {
  content: none;
}
body:not(.is-touch) .l-localnav__sub-link:hover {
  color: #fff;
  background: #140078;
}
body:not(.is-touch) .l-localnav__sub-link:hover::after {
  right: 12px;
  color: #fff;
}

.l-localnav.-news .is-current {
  pointer-events: auto;
}
.l-localnav.-news .is-current::after {
  content: "\e900";
}
body:not(.is-touch) .l-localnav.-news .is-current:hover {
  background: #140078;
}

/* .l-column
----------------------------------------------------------- */
.l-column {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 47.4% 48.9%;
  gap: 0 3.4%;
}
.l-column + .l-column {
  margin-top: 48px;
}
.l-column.-reverse {
  grid-template-columns: 48.9% 47.4%;
}
.l-column.-reverse .l-column__text {
  grid-column: 2/3;
}
.l-column.-reverse .l-column__btn {
  grid-column: 2/3;
}
.l-column.-reverse .l-column__img {
  grid-column: 1/2;
}
.l-column__text {
  grid-row: 1/2;
  grid-column: 1/2;
  margin: 0;
}
.l-column__btn {
  grid-row: 2/3;
  grid-column: 1/2;
  margin-top: 32px;
}
.l-column__img {
  grid-row: 1/3;
  grid-column: 2/3;
}
.l-column__img.-bordered > img {
  border: 1px solid #d5d5d5;
}
.l-column__img > img {
  border-radius: 12px;
}
.l-column.-align-center {
  grid-template-rows: auto auto;
}
.l-column.-align-center .l-column__text {
  align-self: end;
}
.l-column.-align-center .l-column__btn {
  align-self: start;
}
.l-column.-align-center .l-column__img {
  align-self: center;
}
@media (max-width: 767px) {
  .l-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .l-column + .l-column {
    margin-top: 40px;
  }
  .l-column__text {
    align-self: start;
  }
  .l-column__btn {
    order: 4;
    width: 100%;
    margin-top: 24px;
  }
  .l-column__img {
    text-align: center;
    width: 100%;
    margin-top: 24px;
  }
  .l-column__img > img {
    border-radius: 8px;
  }
}

.l-section {
  margin: 72px auto 0;
  padding: 0 20px;
}
.l-section.-top {
  margin-top: 0;
}
.l-section.-large {
  margin-top: 120px;
}
.l-section__inner {
  max-width: 1080px;
  margin-inline: auto;
}
.l-section__inner.-bg, .l-section__inner.-bg-white, .l-section__inner.-bg-blue {
  max-width: 1176px;
  padding: 72px 48px;
  border-radius: 16px;
  background-color: #fff;
}
.l-section__inner.-bg {
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.l-section__inner.-bg-blue {
  background-color: #e1f1f6;
}
.l-section__inner.-narrow {
  padding: 40px 48px;
}
.l-section__inner + .l-section__inner {
  margin-top: 72px;
}
.l-section__block + .l-section__block {
  margin-top: 72px;
}
@media (max-width: 767px) {
  .l-section {
    margin: 40px auto 0;
  }
  .l-section.-large {
    margin-top: 40px;
  }
  .l-section__inner.-bg, .l-section__inner.-bg-blue, .l-section__inner.-bg-white {
    padding: 40px 16px;
    border-radius: 12px;
  }
  .l-section__inner.-narrow {
    padding: 32px 16px;
  }
  .l-section__inner + .l-section__inner {
    margin-top: 40px;
  }
  .l-section__block + .l-section__block {
    margin-top: 40px;
  }
}

.l-news-list__item {
  border-bottom: 1px solid #d5d5d5;
}
.l-news-list__item:has(a.c-news:hover) {
  border-color: transparent;
}
.l-news-list.-important {
  background: #fce5e5;
  border-radius: 8px;
}
.l-news-list.-important .l-news-list__item:last-of-type {
  border-bottom: none;
}
.l-news-list.-important .c-news::before {
  background: #fce5e5;
}
body:not(.is-touch) .l-news-list.-important .c-news::before {
  background: #fce5e5;
}
.l-news-list + .l-news-list {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .l-news-list + .l-news-list {
    margin-top: 24px;
  }
}

/* Component ------------ */
.c-box {
  display: block;
  width: 100%;
  padding: 40px;
  border-radius: 12px;
}
.c-box.-narrow {
  padding: 24px 40px;
}
.c-box.-white {
  background: #fff;
}
.c-box.-gray {
  background: #f8f8f8;
}
.c-box.-bordered {
  border: 1px solid #d5d5d5;
}
@media (max-width: 767px) {
  .c-box.-scroll {
    max-height: 448px;
    overflow-y: auto;
  }
}
@media (max-width: 767px) {
  .c-box {
    padding: 24px 16px;
  }
}

.c-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.c-btns.-center {
  justify-content: center;
}
.c-btns.-col2 .c-btn, .c-btns.-col3 .c-btn, .c-btns.-col4 .c-btn {
  max-width: 100%;
}
.c-btns.-col2 > * {
  width: calc((100% - 24px) / 2);
}
.c-btns.-col2 > * > * {
  width: 100%;
}
.c-btns.-col3 > * {
  width: calc((100% - 48px) / 3);
}
.c-btns.-col4 > * {
  width: calc((100% - 72px) / 4);
}
@media (max-width: 1200px) {
  .c-btns.-col3 > *, .c-btns.-col4 > * {
    width: calc((100% - 24px) / 2);
  }
}
@media (max-width: 767px) {
  .c-btns {
    flex-direction: column;
    gap: 12px;
  }
  .c-btns.-col2 > *, .c-btns.-col4 > *, .c-btns.-col3 > * {
    width: 100%;
  }
}

.c-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #140078;
  font-size: 1.6rem;
  text-align: center;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-decoration: none;
  width: 100%;
  max-width: 390px;
  min-height: 56px;
  padding: 4px 40px;
  border-radius: 100vh;
  background: #fff;
  position: relative;
  transition: 0.3s all;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  line-break: strict;
  word-break: keep-all;
}
.c-btn::after {
  font-family: "mtl";
  content: "\e900";
  font-size: 20px;
  line-height: 1;
  position: absolute;
  right: 20px;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  transition: 0.3s all;
}
.c-btn[target=_blank]::after {
  font-family: "mtl";
  content: "\e908";
}
.c-btn[href$=".pdf"]::after {
  font-family: "mtl";
  content: "\e909";
}
body:not(.is-touch) .c-btn:hover {
  color: #fff;
  text-decoration: none;
  background: #140078;
}
body:not(.is-touch) .c-btn:hover::after {
  right: 16px;
}
.c-btn.-small {
  max-width: 342px;
}
.c-btn.-xsmall {
  max-width: 310px;
}
.c-btn.-no-icon::after {
  content: none;
}
.c-btn.-reverse {
  color: #fff;
  background: #140078;
}
body:not(.is-touch) .c-btn.-reverse:hover {
  color: #140078;
  background: #fff;
}
.c-btn.-disabled {
  background: #d5d5d5;
  color: #696969;
  pointer-events: none;
}
body:not(.is-touch) .c-btn.-disabled:hover {
  cursor: default;
}
@media (max-width: 767px) {
  .c-btn {
    line-height: 1.13;
    max-width: 100%;
    min-height: 48px;
    padding: 3px 34px;
  }
  .c-btn::after {
    font-size: 14px;
    right: 12px;
  }
  .c-btn.-small, .c-btn.-xsmall {
    max-width: 271px;
  }
  body:not(.is-touch) .c-btn:hover::after {
    right: 8px;
  }
}

.c-icon-btn {
  display: grid;
  grid-template-columns: 80px auto;
  gap: 24px;
  color: #000;
  text-decoration: none !important;
  height: 100%;
  min-height: 128px;
  padding: 10px 48px 10px 10px;
  border-radius: 12px;
  background: #fff;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  position: relative;
}
.c-icon-btn::after {
  font-family: "mtl";
  color: #140078;
  content: "\e900";
  font-size: 20px;
  line-height: 1;
  transition: 0.3s;
  position: absolute;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 24px;
}
.c-icon-btn[target=_blank]::after {
  content: "\e908";
}
.c-icon-btn__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #f8f8f8;
}
.c-icon-btn__icon img {
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-icon-btn__text {
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-weight: 500;
  flex-grow: 1;
}
body:not(.is-touch) .c-icon-btn:hover {
  color: #fff;
  background: #140078;
}
body:not(.is-touch) .c-icon-btn:hover::after {
  color: #fff;
  right: 16px;
}
.c-icon-btn.-col3 {
  grid-template-columns: 60px auto;
  min-height: 96px;
  padding-right: 51px;
}
.c-icon-btn.-col3 .c-icon-btn__text {
  line-height: 1.5;
}
.c-icon-btn.-col4 {
  grid-template-columns: 50px auto;
  gap: 12px;
  min-height: 80px;
}
.c-icon-btn.-col4 .c-icon-btn__icon::after {
  font-size: 14px;
}
.c-icon-btn.-col4 .c-icon-btn__text {
  font-size: 1.8rem;
  line-height: 1.33;
}
.c-icon-btn.-small {
  grid-template-columns: 60px auto;
  min-height: 96px;
}
.c-icon-btn.-small .c-icon-btn__text {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-icon-btn {
    grid-template-columns: 40px auto;
    gap: 16px;
    min-height: 72px;
    padding: 8px 32px 8px 8px;
    border-radius: 8px;
    box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.2);
  }
  .c-icon-btn::after {
    font-size: 14px;
  }
  .c-icon-btn__icon {
    border-radius: 6px;
  }
  .c-icon-btn__text {
    font-size: 1.6rem;
  }
  .c-icon-btn.-small, .c-icon-btn.-col3, .c-icon-btn.-col4 {
    grid-template-columns: 40px auto;
    min-height: 72px;
  }
  .c-icon-btn.-small .c-icon-btn__text, .c-icon-btn.-col3 .c-icon-btn__text, .c-icon-btn.-col4 .c-icon-btn__text {
    font-size: 1.6rem;
  }
}

.c-card-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.c-card-list.-col3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .c-card-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 12px;
  }
  .c-card-list.-col3 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.c-card {
  display: flex;
  flex-direction: column;
  color: #000;
  text-decoration: none !important;
  height: 100%;
  padding-bottom: 24px;
  border-radius: 12px;
  background: #fff;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  position: relative;
}
.c-card.-disabled {
  pointer-events: none;
}
.c-card.-text-all .c-card__text {
  display: block;
  text-overflow: clip;
  white-space: normal;
  overflow: visible;
}
@media (min-width: 768px) {
  .c-card.-side {
    display: grid;
    grid-template-rows: 1fr auto;
    grid-template-columns: repeat(2, 1fr);
    padding: 0;
  }
  .c-card.-side .c-card__img {
    grid-row: 1/3;
    grid-column: 2/3;
    height: 100%;
    border-radius: 0 12px 12px 0;
  }
  .c-card.-side .c-card__inner {
    grid-row: 1/2;
    grid-column: 1/2;
    padding: 40px 40px 0 40px;
  }
  .c-card.-side .c-card__arrow {
    grid-row: 2/3;
    grid-column: 1/2;
    padding: 0 40px 16px 0;
  }
  .c-card.-side .c-card__arrow::after {
    font-family: "mtl";
    color: #140078;
    content: "\e900";
    font-size: 14px;
    line-height: 1;
    transition: 0.3s;
  }
  .c-card.-side.-narrow .c-card__inner {
    grid-row: 1/2;
    grid-column: 1/2;
    padding: 24px 24px 0 24px;
  }
  .c-card.-side.-narrow .c-card__arrow {
    padding: 0 24px 12px 0;
  }
}
.c-card__img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.c-card__img.-bordered {
  border: 1px solid #d5d5d5;
  border-radius: 12px 12px 0 0;
}
.c-card__img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
.c-card__inner {
  flex: 1;
  padding: 24px 24px 0;
}
.c-card__label {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 4px;
}
.c-card__label + .c-card__title {
  margin: 16px 0 0;
}
.c-card__title {
  font-size: 2rem;
  font-weight: 700;
}
.c-card__title + .c-card__text {
  margin: 12px 0 0;
}
.c-card__title + .c-card__note {
  margin: 16px 0 0;
}
.c-card__text {
  font-size: 1.4rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
}
.c-card__text + .c-card__note {
  margin: 16px 0 0;
}
.c-card__note {
  color: #696969;
  font-size: 1.4rem;
  transition: 0.3s;
}
.c-card__arrow {
  align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  color: #140078;
  padding: 0 24px 0 46px;
  margin: 16px 0 0 auto;
}
.c-card__arrow::after {
  font-family: "mtl";
  color: #140078;
  content: "\e900";
  font-size: 14px;
  line-height: 1;
  transition: 0.3s;
  margin-left: 8px;
}
body:not(.is-touch) .c-card:hover {
  color: #140078;
}
body:not(.is-touch) .c-card:hover .c-card__note {
  color: #140078;
}
body:not(.is-touch) .c-card:hover .c-card__img img {
  transform: scale(1.1, 1.1);
}
@media (max-width: 767px) {
  .c-card {
    border-radius: 8px;
    padding-bottom: 16px;
  }
  .c-card__img.-bordered {
    border-radius: 8px 8px 0 0;
  }
  .c-card__inner {
    padding: 16px 12px 0;
  }
  .c-card__label + .c-card__title {
    margin-top: 12px;
  }
  .c-card__title {
    font-size: 1.6rem;
  }
  .c-card__title + .c-card__text {
    margin-top: 8px;
  }
  .c-card__title + .c-card__note {
    margin: 12px 0 0;
  }
  .c-card__text + .c-card__note {
    margin: 12px 0 16px;
  }
  .c-card__arrow {
    gap: 10px;
    padding: 0 16px;
  }
}

/* c-form-required
----------------------------------------------------------- */
.c-form-required {
  margin: 32px 0 40px;
}
.c-form-required .c-label {
  margin-right: 8px;
}
@media (max-width: 767px) {
  .c-form-required {
    margin: 24px 0 40px;
  }
}

/* c-form
----------------------------------------------------------- */
.c-form {
  padding: 0;
}
.c-form + .c-form {
  margin-top: 40px;
}
.c-form__title {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 16px;
}
.c-form__title .c-label {
  margin-left: 8px;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -1px;
}
.c-form__note {
  font-size: 1.4rem;
  color: #696969;
  margin: 12px 0;
}
.c-form__note:has(.c-form__note-mark) {
  display: flex;
  gap: 0.5em;
}
.c-form__note__mark {
  flex: none;
}
.c-form__body.-flex {
  display: flex;
  gap: 24px;
}
.c-form__body + .c-form__body {
  margin-top: 16px;
}
.c-form__body-item {
  display: flex;
  align-items: center;
  gap: 16px;
}
.c-form__alert {
  margin-bottom: 8px;
  color: #e61e1e;
  font-weight: 700;
}
@media (max-width: 767px) {
  .c-form + .c-form {
    margin-top: 24px;
  }
  .c-form__title {
    margin-bottom: 8px;
  }
  .c-form__note {
    margin: 8px 0;
  }
  .c-form__body.-flex {
    gap: 8px;
  }
  .c-form__body + .c-form__body {
    margin-top: 8px;
  }
  .c-form__body-item {
    gap: 8px;
  }
  .c-form__alert {
    margin-bottom: 8px;
    color: #e61e1e;
    font-weight: 700;
  }
}
.c-form {
  /* 法人のお客様入力欄 */
}
.c-form.company-form.is-hidden {
  display: none;
}

/* c-input
----------------------------------------------------------- */
.c-input label {
  cursor: pointer;
}
.c-input__text {
  width: 100%;
  max-width: 540px;
  height: 56px;
  padding: 14px 24px;
  border-radius: 8px;
  border: 1px solid #c1baba;
  background: #f8f8f8;
}
.c-input__text::-moz-placeholder {
  color: #696969;
}
.c-input__text::placeholder {
  color: #696969;
}
.c-input__text.-wide {
  max-width: 100%;
}
.c-input__text.-small {
  max-width: 258px;
}
.c-input__textarea {
  resize: vertical;
  width: 100%;
  height: 110px;
  padding: 16px 24px;
  border-radius: 8px;
  border: 1px solid #c1baba;
  background: #f8f8f8;
}
.c-input__textarea::-moz-placeholder {
  color: #696969;
}
.c-input__textarea::placeholder {
  color: #696969;
}
.c-input__radio {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  cursor: pointer;
}
.c-input__radio + span {
  padding-left: 28px;
  position: relative;
}
.c-input__radio + span::before {
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  border: 1px solid #c1baba;
  border-radius: 100vh;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0.2em;
}
.c-input__radio + span::after {
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  background: #140078;
  border-radius: 100vh;
  position: absolute;
  left: 4px;
  top: calc(0.2em + 4px);
  opacity: 0;
}
.c-input__radio:checked + span::after {
  opacity: 1;
}
.c-input__checkbox {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  cursor: pointer;
}
.c-input__checkbox + span {
  padding-left: 36px;
  position: relative;
}
.c-input__checkbox + span::before {
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  border: 1px solid #c1baba;
  border-radius: 4px;
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.c-input__checkbox + span::after {
  content: "";
  background: transparent;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 4px;
  width: 13px;
  height: 10px;
  z-index: 2;
}
.c-input__checkbox:checked + span::before {
  background: #140078 !important;
  border-color: #140078 !important;
}
.c-input__checkbox:checked + span::after {
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213%22%20height%3D%2210%22%20viewBox%3D%220%200%2013%2010%22%3E%3Cpath%20d%3D%22M32.167%2C31.5h-.038a1%2C1%2C0%2C0%2C1-.748-.381l-3.667-4.667a1%2C1%2C0%2C1%2C1%2C1.573-1.236l2.939%2C3.741%2C6.537-7.132a1%2C1%2C0%2C0%2C1%2C1.474%2C1.351l-7.333%2C8A1%2C1%2C0%2C0%2C1%2C32.167%2C31.5Z%22%20transform%3D%22translate(-27.5%20-21.5)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}
.c-input.-error:not(:has(.c-input__radio, .c-input__checkbox)) * {
  background: #fce5e5;
  border-color: #d22c44;
}
.c-input.-error:not(:has(.c-input__radio, .c-input__checkbox)) *::-moz-placeholder {
  color: #696969;
}
.c-input.-error:not(:has(.c-input__radio, .c-input__checkbox)) *::placeholder {
  color: #696969;
}
.c-input.-error .c-input__checkbox + span::before,
.c-input.-error .c-input__radio + span::before {
  background: #fce5e5;
  border-color: #d22c44;
}
@media (max-width: 767px) {
  .c-input__text {
    max-width: 100%;
  }
  .c-input__text.-small {
    max-width: 100%;
  }
  .c-input__textarea {
    height: 138px;
  }
}
.c-input.-btn-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}
@media (max-width: 767px) {
  .c-input.-btn-list {
    gap: 12px 16px;
  }
}
@media (max-width: 767px) {
  .c-input.-sp-column {
    flex-direction: column;
  }
}

.c-form-agreement {
  display: block;
  width: 100%;
  padding: 24px 40px;
  border-radius: 12px;
  background: #f8f8f8;
  margin-top: 40px;
  line-height: 1.5;
}
.c-form-agreement p {
  margin-bottom: 15px;
}
.c-form-agreement__check {
  display: flex;
  justify-content: center;
}
.c-form-agreement__check-box {
  display: block;
  padding: 8px 16px;
  border: 1px solid #c1baba;
  border-radius: 8px;
  background: #fff;
}
@media (max-width: 767px) {
  .c-form-agreement {
    padding: 16px;
    margin-top: 24px;
  }
}

.c-form-submit {
  margin-top: 40px;
}
.c-form-submit li {
  display: flex;
  justify-content: center;
}
.c-form-submit li:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .c-form-submit {
    margin-top: 24px;
  }
}

/* c-form-modal
----------------------------------------------------------- */
body.is-modal-open {
  overflow: hidden;
}

.c-form-modal {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.c-form-modal.is-show {
  opacity: 1;
  visibility: visible;
}
.c-form-modal__content {
  padding: 40px 40px 0;
  width: 100%;
  max-width: 800px;
  background: #fff;
  border-radius: 16px;
}
.c-form-modal__box {
  padding: 16px 24px;
  border-radius: 8px;
  border: 1px solid #d5d5d5;
}
.c-form-modal__item:not(:first-child) {
  margin-top: 12px;
}
.c-form-modal__btn {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}
.c-form-modal__close {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #696969;
  font-size: 1.4rem;
  font-weight: 500;
  gap: 8px;
  padding: 12px;
  margin-top: 24px;
  width: 100%;
  border-top: 1px solid #d5d5d5;
}
.c-form-modal__close .icon-close {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-modal {
    padding: 36px;
  }
  .c-form-modal__content {
    padding: 24px 20px 0;
  }
  .c-form-modal__box {
    padding: 16px;
  }
  .c-form-modal__close {
    padding: 12px;
    margin-top: 16px;
  }
}

.c-form-modal-btn {
  color: #fff;
  text-align: center;
  font-weight: 500;
  min-width: 150px;
  padding: 11px 24px;
  border-radius: 100vh;
  background: #140078;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  transition: 0.3s all;
}
.c-form-modal-btn + .c-form__body {
  margin-top: 12px;
}
body:not(.is-touch) .c-form-modal-btn:hover {
  color: #140078;
  background: #fff;
}
@media (max-width: 767px) {
  .c-form-modal-btn {
    padding: 11px 16px;
  }
}

/* c-form-error
----------------------------------------------------------- */
.c-form-error {
  color: #d22c44;
}
.c-form-error__text {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 16px;
}

/* c-form-confirm
----------------------------------------------------------- */
.c-form-confirm__body {
  display: flex;
  gap: 24px;
  padding: 16px 0;
  border-bottom: 1px solid #d5d5d5;
}
.c-form-confirm__body:first-child {
  padding: 0 0 16px;
}
.c-form-confirm__body dt {
  width: 23%;
  max-width: 252px;
  font-weight: 700;
}
.c-form-confirm__body dd {
  flex: 1;
}
@media (max-width: 767px) {
  .c-form-confirm__body {
    flex-direction: column;
    gap: 8px;
    padding: 12px 0;
  }
  .c-form-confirm__body:first-child {
    padding: 0 0 12px;
  }
  .c-form-confirm__body dt {
    width: 100%;
    max-width: 100%;
  }
}

.c-grid {
  display: flex;
  flex-wrap: wrap;
  margin: -12px -12px 0;
}
.c-grid__item {
  padding: 12px;
}
.c-grid__item.-col-1 {
  width: 8.3333333333%;
}
.c-grid__item.-col-2 {
  width: 16.6666666667%;
}
.c-grid__item.-col-3 {
  width: 25%;
}
.c-grid__item.-col-4 {
  width: 33.3333333333%;
}
.c-grid__item.-col-5 {
  width: 41.6666666667%;
}
.c-grid__item.-col-6 {
  width: 50%;
}
.c-grid__item.-col-7 {
  width: 58.3333333333%;
}
.c-grid__item.-col-8 {
  width: 66.6666666667%;
}
.c-grid__item.-col-9 {
  width: 75%;
}
.c-grid__item.-col-10 {
  width: 83.3333333333%;
}
.c-grid__item.-col-11 {
  width: 91.6666666667%;
}
.c-grid__item.-col-12 {
  width: 100%;
}
@media (max-width: 767px) {
  .c-grid {
    margin: -8px -8px 0;
  }
  .c-grid__item {
    padding: 8px;
  }
  .c-grid__item.-col-sp-1 {
    width: 8.3333333333%;
  }
  .c-grid__item.-col-sp-2 {
    width: 16.6666666667%;
  }
  .c-grid__item.-col-sp-3 {
    width: 25%;
  }
  .c-grid__item.-col-sp-4 {
    width: 33.3333333333%;
  }
  .c-grid__item.-col-sp-5 {
    width: 41.6666666667%;
  }
  .c-grid__item.-col-sp-6 {
    width: 50%;
  }
  .c-grid__item.-col-sp-7 {
    width: 58.3333333333%;
  }
  .c-grid__item.-col-sp-8 {
    width: 66.6666666667%;
  }
  .c-grid__item.-col-sp-9 {
    width: 75%;
  }
  .c-grid__item.-col-sp-10 {
    width: 83.3333333333%;
  }
  .c-grid__item.-col-sp-11 {
    width: 91.6666666667%;
  }
  .c-grid__item.-col-sp-12 {
    width: 100%;
  }
}

.c-heading {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 40px;
}
.c-heading.-mark {
  display: flex;
  gap: 16px;
  letter-spacing: 0.03em;
}
.c-heading.-mark::before {
  display: block;
  content: "";
  flex: none;
  width: 32px;
  height: 32px;
  background: url("../img/icon_heading.svg") no-repeat center/contain;
  margin-top: 0.4em;
}
.c-heading.-line {
  display: flex;
  gap: 8px;
  font-size: 2.4rem;
  margin-bottom: 24px;
}
.c-heading.-line::before {
  display: block;
  content: "";
  width: 4px;
  height: 32px;
  border-radius: 100vh 100vh 0 0;
  margin-top: 0.2em;
  background: #0168ce;
  flex: none;
}
.c-heading.-small {
  font-size: 2.4rem;
  margin-bottom: 24px;
}
.c-heading.-xsmall {
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 24px;
}
.c-heading.-xxsmall {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
  margin-bottom: 16px;
}
.c-heading.-center {
  text-align: center;
}
@media (max-width: 767px) {
  .c-heading {
    font-size: 2.4rem;
    margin-bottom: 32px;
  }
  .c-heading.-mark {
    gap: 12px;
  }
  .c-heading.-mark::before {
    width: 24px;
    height: 24px;
  }
  .c-heading.-line {
    font-size: 2.2rem;
    margin-bottom: 24px;
  }
  .c-heading.-line::before {
    width: 4px;
    height: 29px;
  }
  .c-heading.-small {
    font-size: 2.2rem;
  }
  .c-heading.-xsmall {
    margin-bottom: 16px;
  }
  .c-heading.-center {
    text-align: center;
  }
}

.c-heading-icon {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 3.2rem;
  font-weight: 500;
  margin-bottom: 32px;
}
.c-heading-icon__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 100vh;
  background: #f8f8f8;
  flex: none;
}
.c-heading-icon.-small {
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  .c-heading-icon {
    gap: 12px;
    font-size: 2.2rem;
    margin-bottom: 24px;
  }
  .c-heading-icon__icon {
    width: 48px;
    height: 48px;
  }
  .c-heading-icon.-small {
    font-size: 2.2rem;
  }
}

@font-face {
  font-family: "mtl";
  src: url("../icon/fonts/mtl.ttf?7qdleg") format("truetype"), url("../icon/fonts/mtl.woff?7qdleg") format("woff"), url("../icon/fonts/mtl.svg?7qdleg#mtl") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "mtl" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-window:before {
  content: "\e908";
}

.icon-pdf:before {
  content: "\e909";
}

.icon-arrow:before {
  content: "\e900";
}

.icon-close:before {
  content: "\e901";
}

.icon-down:before {
  content: "\e902";
}

.icon-left:before {
  content: "\e903";
}

.icon-mail:before {
  content: "\e904";
}

.icon-right:before {
  content: "\e905";
}

.icon-search:before {
  content: "\e906";
}

.icon-up:before {
  content: "\e907";
}

.c-indent {
  padding-left: 40px;
}
.c-indent.-small {
  padding-left: 24px;
}
.c-indent.-large {
  padding-left: 64px;
}
@media (max-width: 767px) {
  .c-indent {
    padding-left: 32px;
  }
  .c-indent.-small {
    padding-left: 16px;
  }
  .c-indent.-large {
    padding-left: 56px;
  }
}

.c-image {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.c-image__caption {
  margin-top: 12px;
  font-size: 1.4rem;
  text-align: center;
}
.c-image.-left {
  align-items: flex-start;
}
.c-image.-left .c-image__caption {
  text-align: left;
}
.c-image.-right {
  align-items: flex-end;
}
.c-image.-right .c-image__caption {
  text-align: right;
}
.c-image.-bordered > img {
  border: 1px solid #d5d5d5;
}
.c-image.-rounded > img {
  border-radius: 12px;
}
.c-image.-shadow {
  filter: drop-shadow(-2px 2px 8px rgba(0, 0, 0, 0.2));
}
.c-image.-full {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .c-image.-rounded > img {
    border-radius: 8px;
  }
}

.c-label-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .c-label-list {
    gap: 4px;
  }
}

.c-label {
  display: inline-block;
  vertical-align: middle;
  min-width: 64px;
  font-size: 1.2rem;
  padding: 5px 8px;
  border: 0.5px solid #d5d5d5;
  text-align: center;
  line-height: 1;
  border-radius: 2px;
  background: #fff;
}
.c-label.-new, .c-label.-required {
  color: #fff;
  background: #d22c44;
  border: none;
  min-width: 40px;
}
.c-label.-blue {
  color: #0f6abf;
  border-color: #0f6abf;
}
.c-label.-red {
  color: #b34972;
  border-color: #b34972;
}

.c-list {
  list-style-type: none;
}
.c-list__inner {
  font-weight: 400;
  margin: 16px 0 24px;
}
.c-list__wide {
  font-weight: 400;
  width: calc(100% + 18px);
  margin-left: -18px;
}
.c-list > li {
  padding-left: 18px;
  position: relative;
}
.c-list > li::before {
  display: block;
  width: 6px;
  height: 6px;
  content: "";
  background: currentColor;
  border-radius: 100vh;
  flex: none;
  position: absolute;
  left: 0;
  top: calc((1.7em - 6px) / 2);
}
.c-list > li:not(:first-child) {
  margin-top: 12px;
}
.c-list > li:last-child > .c-list__inner {
  margin-bottom: 0;
}
.c-list.-bold > li {
  font-weight: 700;
  font-size: 1.8rem;
}
.c-list.-bold > li .c-list__inner,
.c-list.-bold > li .c-list__wide {
  font-size: 1.6rem;
}
.c-list.-bold > li .c-list__wide {
  width: calc(100% + 30px);
  margin-left: -30px;
}
.c-list.-small, .c-list.-note {
  font-size: 1.4rem;
  font-weight: 400;
  color: #696969;
}
.c-list.-small > li:not(:first-child), .c-list.-note > li:not(:first-child) {
  margin-top: 8px;
}
.c-list.-small .c-list__inner, .c-list.-note .c-list__inner {
  margin: 8px 0 16px;
}
.c-list.-small > li {
  padding-left: 18px;
}
.c-list.-note > li {
  padding-left: calc(1em + 8px);
}
.c-list.-note > li::before {
  content: "※";
  width: 1em;
  height: 100%;
  background: transparent;
  top: 0;
}
.c-list.-black {
  color: #000;
}
.c-list.-mark > li {
  padding-left: calc(1em + 8px);
}
.c-list.-mark > li::before {
  content: none;
}
.c-list.-mark .c-list__mark {
  position: absolute;
  left: 0;
}
.c-list.-order {
  counter-reset: list-num;
}
.c-list.-order > li {
  padding-left: calc(1em + 12px);
}
.c-list.-order > li::before {
  display: flex;
  counter-increment: list-num;
  content: counter(list-num) ".";
  font-size: 1em;
  white-space: nowrap;
  width: 1em;
  height: 100%;
  background: transparent;
  position: absolute;
  left: 0;
  top: 0;
}
.c-list.-order > li .c-list__wide {
  width: calc(100% + 28px);
  margin-left: -28px;
}
@media (max-width: 767px) {
  .c-list__inner {
    margin: 8px 0 16px;
  }
}
.c-list {
  /* リスト内リンク */
}
.c-list a:not(.c-link, .c-btn, .c-link-image) {
  font-weight: 700;
  text-decoration: none;
  transition: 0.3s all;
  border-bottom: 1px solid currentColor;
  margin-right: 4px;
}
body:not(.is-touch) .c-list a:not(.c-link, .c-btn, .c-link-image):hover {
  color: #140078;
}
.c-list a:not(.c-link, .c-btn, .c-link-image)[target=_blank]::after, .c-list a:not(.c-link, .c-btn, .c-link-image)[href$=".pdf"]::after {
  display: inline-block;
  font-family: "mtl";
  font-size: 1em;
  color: #140078;
  font-weight: 400;
  margin-left: 4px;
}
.c-list a:not(.c-link, .c-btn, .c-link-image)[target=_blank]::after {
  content: "\e908";
}
.c-list a:not(.c-link, .c-btn, .c-link-image)[href$=".pdf"]::after {
  content: "\e909";
}

.c-list-bar > li {
  position: relative;
  padding-left: 18px;
}
.c-list-bar > li::before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: 0.75em;
  width: 10px;
  height: 0;
  border-top: solid 1px #000;
}

.c-news-title {
  width: 100%;
  max-width: 1120px;
  padding: 40px 20px;
  margin-inline: auto;
  z-index: 1;
}
.c-news-title__top {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 16px;
}
.c-news-title__date {
  font-size: 1.4rem;
}
.c-news-title__label {
  line-height: 1;
}
.c-news-title__text {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .c-news-title {
    padding: 24px 20px;
  }
  .c-news-title__top {
    gap: 12px;
    margin-bottom: 12px;
  }
  .c-news-title__date {
    font-size: 1.2rem;
  }
  .c-news-title__text {
    font-size: 2.6rem;
  }
}

.c-news-important-heading {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 1.6rem;
  color: #d22c44;
  padding: 16px 16px 10px 16px;
}
.c-news-important-heading::before {
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%0A%20%20%3Cg%20transform%3D%22translate(9377%20-445.016)%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M10%2C0A10%2C10%2C0%2C1%2C1%2C0%2C10%2C10%2C10%2C0%2C0%2C1%2C10%2C0Z%22%20transform%3D%22translate(-9377%20445.016)%22%20fill%3D%22%23d22c44%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M2.541-7.388H4.018l.323-5.675L4.418-15.2H2.141l.077%2C2.138ZM3.279-3.3A1.426%2C1.426%2C0%2C0%2C0%2C4.694-4.773%2C1.416%2C1.416%2C0%2C0%2C0%2C3.279-6.249a1.4%2C1.4%2C0%2C0%2C0-1.4%2C1.476A1.413%2C1.413%2C0%2C0%2C0%2C3.279-3.3Z%22%20transform%3D%22translate(-9369.88%20464.216)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E");
}
@media (max-width: 767px) {
  .c-news-important-heading {
    padding: 12px 12px 0 12px;
  }
}

.c-news {
  display: flex;
  color: #000;
  padding: 16px;
}
.c-news__date {
  font-size: 1.4rem;
  color: #696969;
  padding-top: 2px;
  margin-right: 24px;
  width: 5.5em;
  flex: none;
}
.c-news__label {
  display: flex;
  align-items: flex-start;
  flex: none;
  gap: 8px;
  min-width: 48px;
  padding-top: 0.2em;
  margin-right: 24px;
}
.c-news__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
.c-news__new {
  display: flex;
  align-items: flex-start;
  flex: none;
  margin-top: 0.2em;
  margin-left: 12px;
}
@media (max-width: 767px) {
  .c-news {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: auto auto 1fr;
    justify-content: flex-start;
    align-items: center;
    gap: 8px 12px;
    padding: 12px;
  }
  .c-news__date {
    font-size: 1.2rem;
    grid-row: 1/2;
    grid-column: 1/2;
    width: auto;
    padding-top: 0;
    margin: 0;
  }
  .c-news__label {
    gap: 4px;
    grid-row: 1/2;
    grid-column: 2/3;
    padding-top: 0;
    margin: 0;
  }
  .c-news__text {
    grid-row: 2/3;
    grid-column: 1/4;
    -webkit-line-clamp: 3;
  }
  .c-news__new {
    grid-row: 1/2;
    grid-column: 3/4;
    margin: 0;
  }
}

a.c-news {
  padding: 16px 64px 16px 16px;
  position: relative;
}
a.c-news::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: transparent;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 8px;
  z-index: -1;
}
a.c-news::after {
  font-family: "mtl";
  color: #140078;
  content: "\e900";
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 24px;
  transition: 0.3s;
}
a.c-news[target=_blank]::after {
  content: "\e908";
}
a.c-news[href$=".pdf"]::after {
  content: "\e909";
}
body:not(.is-touch) a.c-news:hover {
  text-decoration: none;
  border-color: transparent;
  filter: drop-shadow(-1px 2px 4px rgba(0, 0, 0, 0.2));
  z-index: 2;
}
body:not(.is-touch) a.c-news:hover .c-news__date,
body:not(.is-touch) a.c-news:hover .c-news__text {
  color: #140078;
}
body:not(.is-touch) a.c-news:hover::before {
  background: #fff;
}
body:not(.is-touch) a.c-news:hover::after {
  right: 20px;
}
@media (max-width: 767px) {
  a.c-news {
    padding: 12px 34px 12px 12px;
  }
  a.c-news::after {
    font-size: 14px;
    right: 12px;
  }
  body:not(.is-touch) a.c-news:hover::after {
    right: 8px;
  }
}

/* ニュース専用注釈 */
.c-news-note {
  font-size: 1.4rem;
}
.c-news-note:has(.c-news-note__mark) {
  display: flex;
  gap: 0.5em;
}
.c-news-note__mark {
  flex: none;
}
.c-news-note.-bold {
  font-weight: 700;
}

/* ニュース専用リスト */
.c-news-list {
  font-size: 1.4rem;
  list-style-type: none;
}
.c-news-list.-bold > li {
  font-weight: 700;
}
.c-news-list > li {
  padding-left: 18px;
  position: relative;
}
.c-news-list > li::before {
  display: block;
  width: 6px;
  height: 6px;
  content: "";
  background: currentColor;
  border-radius: 100vh;
  flex: none;
  position: absolute;
  left: 0;
  top: calc((1.7em - 6px) / 2);
}
.c-news-list > li:not(:first-child) {
  margin-top: 12px;
}

/* ニュース専用カード */
.c-news-card {
  color: #000;
  text-decoration: none !important;
  height: 100%;
  padding-bottom: 24px;
  border-radius: 12px;
  background: #fff;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  position: relative;
}
@media (min-width: 1201px) {
  .c-news-card {
    display: grid;
    grid-template-rows: 1fr auto;
    grid-template-columns: repeat(2, 1fr);
    padding: 0;
  }
  .c-news-card .c-news-card__img {
    grid-row: 1/3;
    grid-column: 2/3;
    height: 100%;
    border-radius: 0 12px 12px 0;
  }
  .c-news-card .c-news-card__inner {
    grid-row: 1/2;
    grid-column: 1/2;
    padding: 24px 24px 0 24px;
  }
  .c-news-card .c-news-card__arrow {
    grid-row: 2/3;
    grid-column: 1/2;
    padding: 0 24px 12px 0;
  }
  .c-news-card .c-news-card__arrow::after {
    font-family: "mtl";
    color: #140078;
    content: "\e900";
    font-size: 14px;
    line-height: 1;
    transition: 0.3s;
  }
}
.c-news-card__img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.c-news-card__img.-bordered {
  border: 1px solid #d5d5d5;
  border-radius: 12px 12px 0 0;
}
.c-news-card__img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
.c-news-card__inner {
  flex: 1;
  padding: 24px 24px 0;
}
.c-news-card__label {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 4px;
}
.c-news-card__label + .c-news-card__title {
  margin: 16px 0 0;
}
.c-news-card__title {
  font-size: 2rem;
  font-weight: 700;
}
.c-news-card__title + .c-news-card__text {
  margin: 12px 0 0;
}
.c-news-card__title + .c-news-card__note {
  margin: 16px 0 0;
}
.c-news-card__text {
  font-size: 1.4rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
}
.c-news-card__text + .c-news-card__note {
  margin: 16px 0 0;
}
.c-news-card__note {
  color: #696969;
  font-size: 1.4rem;
  transition: 0.3s;
}
.c-news-card__arrow {
  align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  color: #140078;
  padding: 0 24px 0 46px;
  margin: 16px 0 0 auto;
}
.c-news-card__arrow::after {
  font-family: "mtl";
  color: #140078;
  content: "\e900";
  font-size: 14px;
  line-height: 1;
  transition: 0.3s;
  margin-left: 8px;
}
body:not(.is-touch) .c-news-card:hover {
  color: #140078;
}
body:not(.is-touch) .c-news-card:hover .c-news-card__note {
  color: #140078;
}
body:not(.is-touch) .c-news-card:hover .c-news-card__img img {
  transform: scale(1.1, 1.1);
}
@media (max-width: 1200px) {
  .c-news-card {
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    padding-bottom: 16px;
  }
  .c-news-card__inner {
    padding: 16px 12px 0;
  }
  .c-news-card__label + .c-news-card__title {
    margin-top: 12px;
  }
  .c-news-card__title {
    font-size: 1.6rem;
  }
  .c-news-card__title + .c-news-card__text {
    margin-top: 8px;
  }
  .c-news-card__title + .c-news-card__note {
    margin: 12px 0 0;
  }
  .c-news-card__text + .c-news-card__note {
    margin: 12px 0 16px;
  }
  .c-news-card__arrow {
    gap: 10px;
    padding: 0 16px;
  }
}

.c-pagination {
  margin-top: 24px;
}
.c-pagination__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  max-width: 1080px;
  margin: 0 auto;
}
.c-pagination__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  color: #140078;
  width: 40px;
  height: 40px;
  border-radius: 100vh;
  background: #fff;
  box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.2);
}
.c-pagination__item a:focus {
  z-index: 2;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(1, 104, 206, 0.4);
}
body:not(.is-touch) .c-pagination__item a:hover {
  color: #fff;
  text-decoration: none;
  background: #140078;
}
.c-pagination__item.-current span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 100vh;
  background: #0168ce;
}
@media (max-width: 767px) {
  .c-pagination__list {
    gap: 8px;
  }
  .c-pagination__item {
    display: flex;
    align-items: center;
  }
  .c-pagination__item a {
    width: 24px;
    height: 24px;
    font-size: 1.4rem;
  }
  .c-pagination__item.-current span {
    width: 24px;
    height: 24px;
    font-size: 1.4rem;
  }
}

.c-table {
  width: 100%;
  border-right: 1px solid #d5d5d5;
  border-bottom: 1px solid #d5d5d5;
}
.c-table.-center th,
.c-table.-center td {
  text-align: center;
}
.c-table th,
.c-table td {
  text-align: left;
  border-top: 1px solid #d5d5d5;
  border-left: 1px solid #d5d5d5;
  padding: 16px 12px;
}
.c-table th.blue,
.c-table td.blue {
  color: #000;
  background: #f3f4ff;
}
.c-table th.red,
.c-table td.red {
  color: #000;
  background: #f7dee3;
}
.c-table th.center,
.c-table td.center {
  text-align: center;
}
.c-table th.right,
.c-table td.right {
  text-align: right;
}
@media (max-width: 767px) {
  .c-table th,
  .c-table td {
    padding: 12px;
  }
}
.c-table th {
  color: #fff;
  font-weight: 700;
  vertical-align: middle;
  background: #0168ce;
}
.c-table th.col2 {
  width: 50%;
}
.c-table th.col3 {
  width: 33.3333333333%;
}
.c-table th.col4 {
  width: 25%;
}
.c-table th.col5 {
  width: 20%;
}
.c-table td {
  background: #fff;
}
.c-table__box {
  padding: 24px 16px;
  background: #f8f8f8;
}
.c-table__box-heading {
  font-weight: 700;
  margin-bottom: 12px;
}
.c-table__box-heading.-bordered {
  border-bottom: 1px solid #d5d5d5;
  padding-bottom: 16px;
  margin-bottom: 16px;
}
.c-table__box-inner:not(:first-child) {
  padding-top: 24px;
  margin-top: 24px;
  border-top: 1px solid #d5d5d5;
}
.c-table.-pattern tr:nth-child(even) td {
  background: #f8f8f8;
}
@media (max-width: 767px) {
  .c-table.-sp-column th,
  .c-table.-sp-column td {
    display: block;
    padding: 12px;
    width: 100%;
    border-left: 1px solid #d5d5d5;
  }
  .c-table__box-heading {
    margin-bottom: 8px;
  }
  .c-table__box-inner:not(:first-child) {
    padding-top: 16px;
    margin-top: 16px;
  }
}
.c-table {
  /* テーブル内リンク */
}
.c-table a:not(.c-link, .c-btn, .c-link-image) {
  font-weight: 700;
  text-decoration: none;
  transition: 0.3s all;
  border-bottom: 1px solid currentColor;
  margin-right: 4px;
}
body:not(.is-touch) .c-table a:not(.c-link, .c-btn, .c-link-image):hover {
  color: #140078;
}
.c-table a:not(.c-link, .c-btn, .c-link-image)[target=_blank]::after, .c-table a:not(.c-link, .c-btn, .c-link-image)[href$=".pdf"]::after {
  display: inline-block;
  font-family: "mtl";
  font-size: 1em;
  color: #140078;
  font-weight: 400;
  margin-left: 4px;
}
.c-table a:not(.c-link, .c-btn, .c-link-image)[target=_blank]::after {
  content: "\e908";
}
.c-table a:not(.c-link, .c-btn, .c-link-image)[href$=".pdf"]::after {
  content: "\e909";
}

.c-table-wrap {
  width: 100%;
  min-width: 0;
  padding-bottom: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: #696969 #d5d5d5;
}
.c-table-wrap::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 6px;
  height: 6px;
  display: block;
}
.c-table-wrap::-webkit-scrollbar-track {
  background: #d5d5d5;
  border-radius: 100vh;
}
.c-table-wrap::-webkit-scrollbar-thumb {
  background: #696969;
  border-radius: 100vh;
}
.c-table-wrap::-webkit-scrollbar-thumb:hover {
  background: #555;
}
.c-table-wrap .c-table {
  width: 750px;
  min-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.c-slider__arrows {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 32px 20px 0;
}
.c-slider .splide__arrow,
.c-slider .splide__toggle {
  display: block;
  font-size: 14px;
  width: 24px;
  height: 24px;
  border-radius: 100vh;
  background: #fff;
  box-shadow: -1px 1px 4px rgba(0, 0, 0, 0.2);
  position: relative;
  transition: 0.3s;
}
body:not(.is-touch) .c-slider .splide__arrow:hover {
  background: #140078;
}
body:not(.is-touch) .c-slider .splide__arrow:hover i:before {
  color: #fff;
}
.c-slider .splide__arrow .icon-left,
.c-slider .splide__arrow .icon-right {
  color: #140078;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.c-slider .splide__arrow .icon-left {
  left: 5px;
}
.c-slider .splide__arrow .icon-right {
  right: 4px;
}
.c-slider .splide__toggle .splide__toggle__play svg,
.c-slider .splide__toggle .splide__toggle__pause svg {
  fill: #140078;
  transition: 0.3s;
}
.c-slider .splide__toggle .splide__toggle__play svg {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 9px;
}
.c-slider .splide__toggle .splide__toggle__pause svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
body:not(.is-touch) .c-slider .splide__toggle:hover {
  background: #140078;
}
body:not(.is-touch) .c-slider .splide__toggle:hover .splide__toggle__play svg,
body:not(.is-touch) .c-slider .splide__toggle:hover .splide__toggle__pause svg {
  fill: #fff;
}
.c-slider .splide__pagination {
  display: flex;
  align-items: center;
  gap: 8px;
}
.c-slider .splide__pagination__page {
  display: block;
  width: 8px;
  height: 8px;
  background: #d5d5d5;
  border-radius: 100vh;
}
.c-slider .splide__pagination__page.is-active {
  background: #140078;
}
@media (min-width: 768px) {
  .c-slider.-sp-only .splide__list {
    display: flex !important;
    justify-content: center;
    gap: 16px;
  }
  .c-slider.-sp-only .splide__slide {
    flex: 1;
  }
  .c-slider.-sp-only .splide__arrows {
    display: none;
  }
}
@media (max-width: 767px) {
  .c-slider .c-slider__arrows {
    padding: 24px 20px 0;
  }
}
.c-slider.-breakpoint {
  width: calc(100% + 12px);
  margin: -6px;
}
.c-slider.-breakpoint .splide__slide {
  padding: 6px;
}
.c-slider.-breakpoint .c-slider__arrows {
  padding: 24px 0 0;
}
.c-slider.-breakpoint .c-card {
  box-shadow: -2px 2px 6px rgba(0, 0, 0, 0.2);
}
@media (min-width: 1201px) {
  .c-slider.-breakpoint.is-disabled .splide__track {
    overflow: visible !important;
  }
  .c-slider.-breakpoint.is-disabled .splide__list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
  }
  .c-slider.-breakpoint.is-disabled .splide__arrows,
  .c-slider.-breakpoint.is-disabled .splide__pagination,
  .c-slider.-breakpoint.is-disabled .splide__toggle {
    display: none !important;
  }
}

.c-anchor-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.c-anchor-list li {
  width: calc((100% - 24px) / 3);
}
.c-anchor-list.-col2 {
  justify-content: center;
}
.c-anchor-list.-col2 li {
  width: 100%;
  max-width: 356px;
}
.c-anchor-list.-left {
  justify-content: flex-start;
}
.c-anchor-list.-left li {
  max-width: calc((100% - 12px) / 2);
}
@media (max-width: 767px) {
  .c-anchor-list {
    flex-direction: column;
  }
  .c-anchor-list li {
    width: 100%;
  }
  .c-anchor-list.-col2 li, .c-anchor-list.-left li {
    max-width: 100%;
  }
}

.c-anchor {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #000;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  width: 100%;
  height: 100%;
  min-height: 56px;
  padding: 8px 12px 8px;
  border-radius: 100vh;
  background: #fff;
  box-shadow: -1px 1px 4px rgba(0, 0, 0, 0.2);
}
.c-anchor__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 40px;
  height: 100%;
  aspect-ratio: 1;
  border-radius: 100vh;
  background: #f8f8f8;
}
.c-anchor__icon img {
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-anchor__text {
  flex-grow: 1;
  text-align: center;
}
.c-anchor::after {
  display: block;
  flex: none;
  content: "";
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M0%2012a12%2012%200%201112%2012A12%2012%200%20010%2012z%22%20fill%3D%22%23140078%22%2F%3E%3Cpath%20d%3D%22M17.738%2010.832a1%201%200%2001-.293.707l-4.738%204.738a1%201%200%2001-1.414%200l-4.739-4.738a1%201%200%20010-1.414%201%201%200%20011.414%200L12%2014.156l4.031-4.031a1%201%200%20011.707.707z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}
.c-anchor.-disabled {
  background: #d5d5d5;
  pointer-events: none;
}
body:not(.is-touch) .c-anchor:hover {
  color: #fff;
  text-decoration: none;
  background: #140078;
}
body:not(.is-touch) .c-anchor:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M0%2012a12%2012%200%201112%2012A12%2012%200%20010%2012z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M17.738%2010.832a1%201%200%2001-.293.707l-4.738%204.738a1%201%200%2001-1.414%200l-4.739-4.738a1%201%200%20010-1.414%201%201%200%20011.414%200L12%2014.156l4.031-4.031a1%201%200%20011.707.707z%22%20fill%3D%22%23140078%22%2F%3E%3C%2Fsvg%3E");
}
@media (max-width: 767px) {
  .c-anchor {
    gap: 12px;
    font-size: 1.4rem;
    padding: 4px 8px;
    min-height: 40px;
  }
  .c-anchor__icon {
    width: 32px;
  }
}

.c-accordion {
  border-bottom: 1px solid #d5d5d5;
}
.c-accordion:first-of-type {
  border-top: 1px solid #d5d5d5;
}
.c-accordion__button {
  display: flex;
  gap: 24px;
  padding: 24px 56px 24px 24px;
  width: 100%;
  position: relative;
  z-index: 2;
  cursor: pointer;
}
.c-accordion__button::before {
  display: block;
  content: "";
  background: url("../img/icon_question.svg") no-repeat center/26px 28px;
  width: 30px;
  height: 45px;
  position: relative;
  z-index: 3;
  flex: none;
}
.c-accordion__button::after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: transparent;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 8px;
  z-index: -1;
  transition: 0.3s all;
}
body:not(.is-touch) .c-accordion__button:hover {
  text-decoration: none;
  border-color: transparent;
}
body:not(.is-touch) .c-accordion__button:hover::after {
  background: #fff;
  filter: drop-shadow(-1px 2px 4px rgba(0, 0, 0, 0.2));
  z-index: 2;
}
.c-accordion__button-text {
  display: flex;
  gap: 24px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.7;
  text-align: left;
  width: 100%;
  position: relative;
  z-index: 3;
  align-self: center;
}
.c-accordion__icon {
  right: 24px;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  transition: 0.3s all;
  z-index: 3;
}
.c-accordion__icon > span {
  position: absolute;
  right: 6px;
  width: 16px;
  height: 2px;
  border-radius: 100vh;
  background: #140078;
  content: "";
}
.c-accordion__icon > span:last-child {
  transform: rotate(90deg);
}
.c-accordion__icon.is-active > span:last-child {
  display: none;
}
.c-accordion__item {
  display: none;
  padding: 24px 24px 0;
  background: #f8f8f8;
  position: relative;
}
.c-accordion__inner {
  display: flex;
  gap: 24px;
  margin-bottom: 40px;
}
.c-accordion__inner::before {
  display: block;
  content: "";
  background: url("../img/icon_answer.svg") no-repeat center/23px 25px;
  width: 30px;
  height: 45px;
  position: relative;
  z-index: 3;
  flex: none;
}
.c-accordion__inner p:not(:last-of-type) {
  margin-bottom: 24px;
}
.c-accordion__inner > div {
  flex-grow: 1;
  min-width: 0;
  width: 100%;
  align-self: center;
}
.c-accordion__answer {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.7;
}
.c-accordion__close {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #696969;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  width: 100%;
  padding: 12px;
  border-top: 1px solid #d5d5d5;
}
.c-accordion__close::before {
  font-family: "mtl";
  content: "\e901";
}
.c-accordion.-normal .c-accordion__button {
  padding: 16px 56px 16px 24px;
}
.c-accordion.-normal .c-accordion__button::before {
  content: none;
}
.c-accordion.-normal .c-accordion__inner::before {
  content: none;
}
@media (max-width: 767px) {
  .c-accordion__button {
    gap: 16px;
    padding: 16px 52px 16px 16px;
  }
  .c-accordion__button::before {
    width: 26px;
    height: 38px;
    background-size: 22px 23px;
  }
  .c-accordion__button-text {
    font-size: 1.6rem;
  }
  .c-accordion__icon {
    right: 16px;
  }
  .c-accordion__item {
    padding: 16px 16px 0;
  }
  .c-accordion__inner {
    gap: 16px;
    margin-bottom: 24px;
  }
  .c-accordion__inner::before {
    width: 26px;
    height: 38px;
    background-size: 19px 21px;
  }
  .c-accordion__inner p:not(:last-of-type) {
    margin-bottom: 16px;
  }
  .c-accordion__answer {
    font-size: 1.6rem;
    margin-bottom: 24px;
  }
  .c-accordion.-normal .c-accordion__button {
    padding: 16px 40px 16px 16px;
  }
}
.c-accordion {
  /* c-list.-order */
}
@media (max-width: 767px) {
  .c-accordion .c-list.-order.-bold > li {
    font-size: 1.6rem;
    font-weight: 700;
  }
  .c-accordion .c-list.-order.-bold .c-list__inner {
    font-size: 1.4rem;
    font-weight: 400;
  }
}

.c-panel {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
}
.c-panel.-purple {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-panel.-purple .c-panel__heading {
  text-align: center;
}
.c-panel.-purple .c-panel__item {
  width: 100%;
  max-width: 528px;
  background: #f3f4ff;
  margin: 0 auto;
}
.c-panel.-purple .c-panel__text {
  text-align: center;
  margin: 9px 0 0;
}
.c-panel.-purple .c-panel__icon {
  background: #fff;
}
.c-panel.-purple .c-panel__btn {
  display: flex;
  justify-content: center;
}
.c-panel.-gray .c-panel__item {
  background: #f8f8f8;
}
.c-panel.-bordered .c-panel__heading {
  text-align: center;
}
.c-panel.-bordered .c-panel__item {
  width: 100%;
  max-width: 528px;
  margin: 0 auto;
  border: 1px solid #d5d5d5;
}
.c-panel.-bordered .c-panel__text {
  text-align: center;
  margin: 9px 0 0;
}
.c-panel.-bordered .c-panel__icon {
  background: #fff;
}
.c-panel.-bordered .c-panel__btn {
  display: flex;
  justify-content: center;
}
.c-panel__item {
  display: flex;
  flex-direction: column;
  flex: 1 1 calc((100% - 24px) / 2);
  padding: 40px;
  background: #fff;
  border-radius: 12px;
}
.c-panel__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 100vh;
  background: #f8f8f8;
  margin-inline: auto;
  margin-bottom: 24px;
}
.c-panel__heading {
  font-size: 2rem;
  font-weight: 500;
}
.c-panel__text {
  font-size: 1.4rem;
  margin: 16px 0 0;
  flex: 1;
}
.c-panel__btn {
  width: 100%;
  margin: 24px 0 0;
}
@media (max-width: 767px) {
  .c-panel {
    flex-direction: column;
    gap: 12px;
  }
  .c-panel__item {
    padding: 24px 16px;
    border-radius: 8px;
    max-width: 100%;
    flex: 1;
  }
  .c-panel__icon {
    width: 64px;
    height: 64px;
  }
  .c-panel__heading {
    font-size: 1.8rem;
  }
  .c-panel__text {
    margin: 8px 0 0;
  }
}

.c-panel-02 {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 48% 47%;
  align-items: center;
  gap: 0 5%;
}
.c-panel-02__img {
  grid-row: 1/3;
  grid-column: 1/2;
}
.c-panel-02__img img {
  border-radius: 12px;
}
.c-panel-02__text {
  grid-row: 1/2;
  grid-column: 2/3;
  align-self: end;
}
.c-panel-02__btn {
  grid-row: 2/3;
  grid-column: 2/3;
  margin-top: 32px;
  align-self: start;
}
@media (max-width: 767px) {
  .c-panel-02 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .c-panel-02__img {
    order: 2;
    text-align: center;
    width: 100%;
    margin-top: 24px;
  }
  .c-panel-02__text {
    order: 1;
  }
  .c-panel-02__btn {
    order: 3;
    width: 100%;
    margin-top: 24px;
  }
}

.c-link {
  font-weight: 500;
  color: #140078;
}
.c-link span {
  background-image: linear-gradient(90deg, currentcolor, currentcolor);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  transition: background-size 0.3s;
}
body:not(.is-touch) .c-link:hover {
  color: #140078;
  text-decoration: none;
}
body:not(.is-touch) .c-link:hover span {
  background-size: 100% 1px;
}
.c-link span::after {
  display: inline-block;
  font-family: "mtl";
  color: #140078;
  font-size: 1em;
  font-weight: 400;
  content: "\e900";
  margin-left: 8px;
  transition: 0.3s all;
}
.c-link[target=_blank] span::after {
  content: "\e908";
  transform: translateY(2px);
}
.c-link[href$=".pdf"] span::after {
  content: "\e909";
  transform: translateY(1px);
}
.c-link.-note {
  display: block;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.c-link.-note[target=_blank] span::after, .c-link.-note[href$=".pdf"] span::after {
  margin-left: calc(1.5em + 8px);
}
body:not(.is-touch) .c-link:hover span::after {
  transform: translateX(4px);
}
body:not(.is-touch) .c-link:hover[target=_blank] span::after {
  transform: translate(4px, 2px);
}
body:not(.is-touch) .c-link:hover[href$=".pdf"] span::after {
  transform: translate(4px, 1px);
}
.c-link.-small {
  font-size: 1.4rem;
}
.c-link.-small span::after {
  transform: translateY(1px);
}
body:not(.is-touch) .c-link.-small:hover span::after {
  transform: translate(4px, 1px);
}
.c-link.-no-icon span::after {
  content: "";
  margin-left: 0;
}
.c-link.-no-icon[target=_blank] span::after, .c-link.-no-icon[href$=".pdf"] span::after {
  margin-left: 8px;
}
.c-link.-no-icon[target=_blank] span::after {
  content: "\e908";
}
.c-link.-no-icon[href$=".pdf"] span::after {
  content: "\e909";
}

.c-link-anchor {
  font-weight: 700;
  text-decoration: none;
  transition: 0.3s all;
  border-bottom: 1px solid #140078;
}
.c-link-anchor::after {
  font-family: "mtl";
  content: "\e902";
  color: #140078;
  font-weight: 400;
  margin-left: 8px;
}
body:not(.is-touch) .c-link-anchor:hover {
  color: #140078;
}

.c-link-image {
  display: inline-block;
  transition: 0.3s all;
}
.c-link-image.-rounded > img {
  border-radius: 12px;
}
body:not(.is-touch) .c-link-image:hover {
  opacity: 0.6;
}

.c-lead {
  font-size: 1.8rem;
}
.c-lead.-bold {
  font-weight: 700;
}

.c-note {
  font-size: 1.4rem;
  color: #696969;
}
.c-note:has(.c-note__mark) {
  display: flex;
  gap: 0.5em;
}
.c-note__mark {
  flex: none;
}
.c-note.-large {
  font-size: 1.6rem;
}
.c-note.-black {
  color: #000;
}
.c-note.-align-r {
  justify-content: end;
}

.c-more {
  position: relative;
}
.c-more.-col3 .c-more__contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: -12px -12px 0;
}
.c-more.-col3 .c-more__contents li {
  padding: 12px;
}
@media (max-width: 767px) {
  .c-more.-col3 .c-more__contents {
    grid-template-columns: repeat(1, 1fr);
    margin: -6px -6px 0;
  }
  .c-more.-col3 .c-more__contents li {
    padding: 6px;
  }
}
.c-more.-col3 .c-more__btn {
  height: 160px;
}
.c-more__contents {
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
  padding: 8px;
  margin: -8px;
  will-change: max-height;
}
.c-more__btn {
  width: calc(100% + 20px);
  text-align: center;
  background: linear-gradient(to bottom, rgba(253, 253, 253, 0) 0%, #fdfdfd 30%);
  z-index: 2;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.c-more__btn.is-hidden {
  display: none;
}
@media (max-width: 767px) {
  .c-more__btn {
    background: linear-gradient(to bottom, rgba(253, 253, 253, 0) 0%, #fdfdfd 50%);
  }
}

.c-more-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #140078;
  font-size: 1.6rem;
  text-align: center;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-decoration: none;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 40px;
  padding: 8px 44px 8px 24px;
  border-radius: 100vh;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  transition: 0.3s all;
}
.c-more-btn::after {
  font-family: "mtl";
  content: "\e902";
  font-size: 14px;
  line-height: 1;
  position: absolute;
  right: 20px;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  transition: 0.3s all;
}
body:not(.is-touch) .c-more-btn:hover {
  color: #fff;
  text-decoration: none;
  background: #140078;
}

.c-filter {
  display: block;
  width: 100%;
  max-width: 1176px;
  margin: 0 auto;
  padding: 48px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 16px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.c-filter__heading {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-bottom: 32px;
  text-align: center;
}
.c-filter__inner {
  display: flex;
  gap: 40px;
}
.c-filter__inner + .c-filter__inner {
  margin-top: 40px;
}
.c-filter__inner + .c-filter__inner.-more {
  margin-top: 32px;
}
.c-filter__inner.-more {
  display: grid;
  grid-template-columns: min-content auto;
  grid-template-rows: auto auto;
  gap: 24px 40px;
  padding: 24px 40px;
  background: #f8f8f8;
  border-radius: 12px;
}
.c-filter__inner.-more .c-filter__btn {
  grid-row: 1/2;
  grid-column: 1/2;
  min-width: 160px;
}
.c-filter__inner.-more .c-filter__list {
  grid-row: 1/2;
  grid-column: 2/3;
}
.c-filter__inner.-more .c-note {
  grid-row: 2/3;
  grid-column: 2/3;
}
.c-filter__inner.-more .c-filter-btn.is-active {
  background: #b34972;
}
.c-filter__btn {
  flex: none;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.7;
  text-align: left;
  min-width: 200px;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 8px;
}
@media (min-width: 768px) {
  .c-filter__btn {
    pointer-events: none;
  }
}
.c-filter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
@media (max-width: 767px) {
  .c-filter {
    padding: 24px 16px;
    box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.2);
  }
  .c-filter__heading {
    font-size: 2rem;
    letter-spacing: 0.02em;
  }
  .c-filter__inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .c-filter__inner + .c-filter__inner {
    border-top: 1px solid #d5d5d5;
    margin-top: 24px;
    padding-top: 24px;
  }
  .c-filter__inner + .c-filter__inner.-more {
    border-top: none;
    margin-top: 24px;
  }
  .c-filter__inner.-more {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
  }
  .c-filter__inner.-more .c-filter__btn {
    min-width: 100%;
  }
  .c-filter__btn {
    font-size: 1.6rem;
    min-width: 100%;
    margin-top: 0;
    position: relative;
  }
  .c-filter__btn::before, .c-filter__btn::after {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    transition: 0.3s all;
    z-index: 2;
    right: 0;
    position: absolute;
    width: 14px;
    height: 2px;
    border-radius: 100vh;
    background: #140078;
    content: "";
  }
  .c-filter__btn::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .c-filter__btn[aria-expanded=true]::after {
    content: none;
  }
  .c-filter__list {
    display: flex;
    flex-wrap: wrap;
  }
  .c-filter__close {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #696969;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    width: 100%;
    padding: 16px 12px 0;
    border-top: 1px solid #d5d5d5;
    margin-top: 24px;
  }
  .c-filter__close::before {
    font-family: "mtl";
    content: "\e901";
  }
}

.c-filter-more {
  display: flex;
  gap: 40px;
  padding: 24px 40px;
  background: #f8f8f8;
  border-radius: 12px;
}
.c-filter-more__heading {
  font-size: 2rem;
  font-weight: 500;
  min-width: 160px;
  flex: none;
}
.c-filter-more__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.c-filter-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 15px 24px;
  background: #fff;
  border-radius: 100vh;
  box-shadow: -1px 1px 4px rgba(0, 0, 0, 0.2);
  transition: 0.3s all;
}
.c-filter-btn.is-active {
  color: #fff;
  background: #0f6abf;
}
@media (max-width: 767px) {
  .c-filter-btn {
    font-size: 1.4rem;
    padding: 10px 12px;
  }
}
body:not(.is-touch) .c-filter-btn:hover {
  color: #fff;
  background: #140078;
}

.c-filter-result {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 40px;
}
.c-filter-result__heading {
  font-size: 1.6rem;
}
.c-filter-result__item {
  font-size: 1.8rem;
}
.c-filter-result__item span {
  font-weight: 700;
}
@media (max-width: 767px) {
  .c-filter-result {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 24px;
  }
  .c-filter-result__heading {
    font-size: 1.4rem;
  }
  .c-filter-result__item {
    font-size: 1.6rem;
  }
}

.c-flow {
  counter-reset: flow-list-num;
  padding-left: 40px;
}
.c-flow__item {
  padding: 24px 24px 24px 64px;
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  position: relative;
}
.c-flow__item:not(:last-child) {
  margin-bottom: 48px;
}
.c-flow__item:not(:last-child)::after {
  display: block;
  content: "";
  width: 32px;
  height: 32px;
  background: url("../img/icon_flow-arrow.svg") no-repeat center/contain;
  position: absolute;
  left: 50%;
  bottom: -40px;
  transform: translateX(-50%);
}
.c-flow__step {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #fff;
  line-height: 1;
  font-weight: 700;
  width: 80px;
  height: 80px;
  background: #0168ce;
  border-radius: 100vh;
  position: absolute;
  top: 50%;
  left: -40px;
  transform: translateY(-50%);
  z-index: 2;
}
.c-flow__step::before {
  content: "Step";
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
}
.c-flow__step::after {
  font-size: 2.6rem;
  counter-increment: flow-list-num;
  content: counter(flow-list-num);
  letter-spacing: 0.05em;
}
.c-flow__title {
  font-weight: 900;
  font-size: 1.8rem;
  margin-bottom: 16px;
}
.c-flow__inner p {
  margin-bottom: 8px;
}
.c-flow__inner p:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .c-flow {
    padding: 32px 0 0;
  }
  .c-flow__item {
    padding: 40px 16px 16px;
  }
  .c-flow__step {
    width: 64px;
    height: 64px;
    top: -32px;
    left: 8px;
    transform: translateY(0);
  }
  .c-flow__step::before {
    font-size: 1.2rem;
  }
  .c-flow__step::after {
    font-size: 2.2rem;
    letter-spacing: 0.04em;
  }
  .c-flow__title {
    margin-bottom: 12px;
  }
}

.c-map iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}

.pdf-bnr {
  display: flex;
  gap: 40px;
  padding: 40px 48px;
  margin-inline: auto;
  max-width: 1176px;
  background: #fff;
  border-radius: 16px;
}
.pdf-bnr.-bordered {
  border: 1px solid #d5d5d5;
}
.pdf-bnr__bnr {
  flex: none;
}
.pdf-bnr__text {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .pdf-bnr {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 40px 16px;
    border-radius: 12px;
  }
  .pdf-bnr__bnr {
    max-width: 215px;
  }
}

.c-pulldown-list {
  display: flex;
  gap: 24px;
  position: relative;
  z-index: 100;
}
.c-pulldown-list__item {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: calc(268px + 1em);
}
.c-pulldown-list.-error .c-pulldown-trigger {
  background: #fce5e5;
  border-color: #d22c44;
}
@media (max-width: 767px) {
  .c-pulldown-list {
    gap: 8px;
  }
  .c-pulldown-list__item {
    gap: 8px;
  }
}

.c-pulldown {
  width: 100%;
  max-width: 252px;
  position: relative;
}
.c-pulldown.is-open .c-pulldown-options-container {
  opacity: 1;
  visibility: visible;
}
.c-pulldown.is-open .c-pulldown-trigger::after {
  content: "\e907";
}

.c-pulldown-trigger {
  height: 56px;
  padding: 13px 38px 13px 16px;
  border: 1px solid #c1baba;
  border-radius: 8px;
  position: relative;
  cursor: pointer;
}
.c-pulldown-trigger::after {
  font-family: "mtl";
  content: "\e902";
  color: #140078;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s all;
}
body:not(.is-touch) .c-pulldown-trigger:hover {
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
}
body:not(.is-touch) .c-pulldown-trigger:hover::after {
  top: calc(50% + 4px);
}
@media (max-width: 767px) {
  .c-pulldown-trigger {
    padding: 13px 28px 13px 12px;
  }
  .c-pulldown-trigger.-year {
    min-width: 85px;
  }
}

.c-pulldown-options-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: 360px;
  background: #fff;
  border-radius: 8px;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: 0.3s all;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 10;
  box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.2);
}

.c-pulldown-options {
  flex: 1;
  overflow-y: auto;
  cursor: pointer;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.c-pulldown-options::-webkit-scrollbar {
  display: none;
}
.c-pulldown-options li {
  color: #140078;
  padding: 16px 24px;
  transition: 0.3s all;
}
.c-pulldown-options li.is-selected {
  background: #f3f4ff;
}
.c-pulldown-options li:not(:last-child) {
  border-bottom: 1px solid #d5d5d5;
}
body:not(.is-touch) .c-pulldown-options li:hover {
  color: #fff;
  background-color: #140078;
}
@media (max-width: 767px) {
  .c-pulldown-options li {
    padding: 16px 12px;
  }
}

.c-pulldown-scroll-btn {
  display: flex;
  overflow: hidden;
  justify-content: center;
  align-items: center;
  height: 30px;
  background: #fff;
  cursor: pointer;
  padding: 8px 24px;
}
.c-pulldown-scroll-btn::before {
  font-family: "mtl";
  content: "\e902";
  font-size: 14px;
  color: #140078;
}

/* c-image-modal
----------------------------------------------------------- */
.c-image-modal__img {
  max-width: calc(100vw - 120px);
  max-height: calc(100vh - 80px);
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  pointer-events: none;
}
@media (max-width: 767px) {
  .c-image-modal__img {
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 120px);
  }
}

.c-image-modal-btn {
  transition: 0.3s all;
}
body:not(.is-touch) .c-image-modal-btn:hover {
  opacity: 0.6;
}

.c-image-modal-overlay {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  align-items: center;
  justify-content: center;
  animation: fadeIn 0.3s ease-out forwards;
}

.c-image-modal-close::after {
  font-family: "mtl";
  content: "\e901";
  color: #fff;
  font-size: 24px;
  font-weight: 400;
  position: absolute;
  top: 10px;
  right: 20px;
  cursor: pointer;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.c-contract-info li:not(:last-child) {
  margin-bottom: 6px;
}
.c-contract-info__item {
  display: flex;
  gap: 1em;
}
.c-contract-info__label {
  flex: none;
}

/* Project ------------ */
/* top-heading
----------------------------------------------------------- */
.top-heading {
  font-size: 4.8rem;
  font-weight: 400;
  margin-bottom: 24px;
}
.top-heading__en {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: "Roboto", sans-serif;
  font-style: italic;
  font-size: 1.4rem;
  font-weight: 500;
  color: #e61e1e;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
.top-heading__en::before {
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  background: url("../img/icon_heading.svg") no-repeat center/contain;
}
.top-heading__ja {
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-top: 16px;
}
@media (max-width: 767px) {
  .top-heading {
    font-size: 3.2rem;
  }
  .top-heading__en {
    gap: 12px;
  }
  .top-heading__en::before {
    width: 16px;
    height: 16px;
  }
}

/* top-lead
----------------------------------------------------------- */
.top-lead {
  font-size: 1.8rem;
  margin-bottom: 48px;
}
@media (max-width: 767px) {
  .top-lead {
    margin-bottom: 40px;
  }
}

/* top-mv
----------------------------------------------------------- */
.top-mv-heading {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#top-mv-slider {
  background: #fff;
}
#top-mv-slider .top-mv-slide a,
#top-mv-slider .top-mv-slide img {
  width: 100%;
  height: auto;
}
body:not(.is-touch) #top-mv-slider .top-mv-slide a:hover {
  opacity: 0.6;
}
#top-mv-slider .c-slider__arrows {
  padding: 16px 20px;
}
@media (max-width: 767px) {
  #top-mv-slider .c-slider__arrows {
    padding: 12px 20px;
  }
}

/* top-company
----------------------------------------------------------- */
.top-company-bnr {
  text-align: center;
  margin-top: 32px;
}
@media (max-width: 767px) {
  .top-company-bnr {
    margin-top: 24px;
  }
}

/* top-sustainability
----------------------------------------------------------- */
.top-sustainability {
  border-radius: 16px;
  background: linear-gradient(-143.68deg, #cdebea 0%, #addde8 100%);
}
@media (max-width: 767px) {
  .top-sustainability {
    background: linear-gradient(-157.41deg, #cdebea 0%, #addde8 100%);
    border-radius: 12px;
  }
}

/* top-works
----------------------------------------------------------- */
.top-works {
  margin: 72px auto 0;
  padding: 72px 0;
  background: url("../../img/bg_works-pc.png") no-repeat center top/100vw 74%;
}
.top-works__inner {
  margin-inline: auto;
  padding: 0 48px;
  max-width: 1176px;
}
.top-works__btn {
  display: flex;
  justify-content: center;
  padding: 0 48px;
  margin-inline: auto;
  margin-top: 32px;
  max-width: 1176px;
}
@media (max-width: 767px) {
  .top-works {
    margin: 40px auto 0;
    padding: 40px 0;
    background: url("../../img/bg_works-sp.png") no-repeat center top/100vw 74%;
  }
  .top-works__inner {
    padding: 0 36px;
  }
  .top-works__btn {
    padding: 0 36px;
    margin-top: 24px;
  }
}
.top-works #top-works-slider {
  max-width: 1120px;
  padding: 0 20px;
  margin-inline: auto;
  margin-top: 48px;
}
.top-works #top-works-slider .splide__track {
  overflow: visible;
}
@media (min-width: 768px) {
  .top-works #top-works-slider .top-work-slide:not(.is-active, .is-next) {
    opacity: 0.6;
  }
}
@media (max-width: 767px) {
  .top-works #top-works-slider {
    margin-top: 40px;
  }
  .top-works #top-works-slider .top-work-slide:not(.is-active) {
    opacity: 0.6;
  }
}

/* top-banner
----------------------------------------------------------- */
.top-banner {
  padding: 0 48px;
  margin-top: 72px;
}
.top-banner #top-banner-slider {
  margin-inline: auto;
  max-width: 1080px;
}
.top-banner #top-banner-slider .top-banner-slide.-bordered {
  position: relative;
}
.top-banner #top-banner-slider .top-banner-slide.-bordered a {
  display: block;
  border: 1px solid #d5d5d5;
}
.top-banner #top-banner-slider .top-banner-slide img {
  width: 100%;
  height: auto;
}
body:not(.is-touch) .top-banner #top-banner-slider .top-banner-slide a:hover {
  opacity: 0.6;
}
.top-banner #top-banner-slider .c-slider__arrows {
  padding-top: 24px;
}
@media (min-width: 768px) {
  .top-banner #top-banner-slider.is-disabled .splide__track {
    overflow: visible !important;
  }
  .top-banner #top-banner-slider.is-disabled .splide__list {
    display: flex !important;
    justify-content: center;
    transform: none !important;
    margin: 0 -2px;
  }
  .top-banner #top-banner-slider.is-disabled .splide__slide {
    width: calc((100% - 48px) / 4);
    list-style: none;
    margin: 0 2px;
  }
  .top-banner #top-banner-slider.is-disabled .splide__slide.-bordered {
    margin: 0 2px 0 36px;
  }
  .top-banner #top-banner-slider.is-disabled .splide__slide.-bordered::before {
    display: block;
    content: "";
    width: 1px;
    height: 100%;
    border-left: 1px solid #000;
    position: absolute;
    left: -19px;
  }
  .top-banner #top-banner-slider.is-disabled .splide__arrows,
  .top-banner #top-banner-slider.is-disabled .splide__pagination,
  .top-banner #top-banner-slider.is-disabled .splide__toggle {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .top-banner {
    padding: 0;
    margin-top: 40px;
  }
  .top-banner #top-banner-slider .splide__slide {
    max-width: 252px;
  }
  .top-banner #top-banner-slider .c-slider__arrows {
    padding-top: 16px;
  }
}

.service-index-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.service-index-heading__img {
  width: 29%;
}
.service-index-heading__img img {
  border-radius: 12px;
}
@media (max-width: 767px) {
  .service-index-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
  }
  .service-index-heading__img {
    width: 100%;
  }
  .service-index-heading__img img {
    width: 100%;
    border-radius: 8px;
  }
}

.service-index {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 32px;
}
@media (max-width: 767px) {
  .service-index {
    grid-template-columns: repeat(1, 1fr);
    gap: 12px;
    margin-top: 24px;
  }
}

.service-index-btn {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 32px 32px 24px 32px;
  color: #000;
  background: #fff;
  border-radius: 12px;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  position: relative;
}
.service-index-btn__inner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.service-index-btn__title {
  font-size: 2rem;
  font-weight: 500;
  transition: text-shadow 0.2s ease;
  transition: 0.3s all;
}
.service-index-btn__text {
  display: block;
  font-size: 1.4rem;
  margin: 12px 0 0;
}
.service-index-btn__label {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  line-height: 1;
  margin-top: 16px;
}
.service-index-btn__arrow {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  color: #140078;
  margin-top: 16px;
}
.service-index-btn__arrow::after {
  font-family: "mtl";
  color: #140078;
  content: "\e900";
  font-size: 14px;
  line-height: 1;
  transition: 0.3s;
}
body:not(.is-touch) .service-index-btn:hover {
  text-decoration: none;
}
body:not(.is-touch) .service-index-btn:hover .service-index-btn__title,
body:not(.is-touch) .service-index-btn:hover .service-index-btn__text {
  color: #140078;
}
body:not(.is-touch) .service-index-btn:hover .service-index-btn__title {
  text-shadow: 0.2px 0 0 currentColor, -0.2px 0 0 currentColor;
}
@media (max-width: 767px) {
  .service-index-btn {
    padding: 24px 24px 16px;
    border-radius: 8px;
    box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.2);
  }
  .service-index-btn__title {
    font-size: 1.8rem;
  }
  .service-index-btn__text {
    margin: 8px 0 0;
  }
  .service-index-btn__label {
    gap: 4px;
  }
  .service-index-btn__arrow {
    padding: 0;
  }
}

.service-cashless {
  display: grid;
  grid-template-rows: repeat(4, auto);
  grid-template-columns: auto 1fr 35.4%;
}
.service-cashless__icon {
  grid-row: 1/5;
  grid-column: 1/2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 100vh;
  background: #f8f8f8;
  flex: none;
  margin-right: 24px;
}
.service-cashless__title {
  grid-row: 1/2;
  grid-column: 2/3;
  font-size: 3.2rem;
  font-weight: 500;
}
.service-cashless__text {
  grid-row: 2/3;
  grid-column: 2/3;
  margin: 24px 0 0;
}
.service-cashless .c-label-list {
  grid-row: 3/4;
  grid-column: 2/3;
  margin: 24px 0 0;
}
.service-cashless__btn {
  grid-row: 4/6;
  grid-column: 2/3;
  margin-top: 32px;
}
.service-cashless__img {
  grid-row: 1/5;
  grid-column: 3/4;
  margin-left: 40px;
}
.service-cashless__img img {
  border-radius: 12px;
}
@media (max-width: 767px) {
  .service-cashless {
    grid-template-rows: repeat(5, auto);
    grid-template-columns: 48px 1fr;
    gap: 0 12px;
  }
  .service-cashless__icon {
    grid-row: 1/2;
    grid-column: 1/2;
    width: 48px;
    height: 48px;
    margin-right: 0;
  }
  .service-cashless__title {
    grid-row: 1/2;
    grid-column: 2/3;
    font-size: 2.2rem;
  }
  .service-cashless__text {
    grid-row: 2/3;
    grid-column: 1/3;
    margin: 16px 0 0;
  }
  .service-cashless .c-label-list {
    grid-row: 3/4;
    grid-column: 1/3;
    margin-top: 16px;
  }
  .service-cashless__img {
    grid-row: 4/5;
    grid-column: 1/3;
    text-align: center;
    margin: 24px 0 0;
  }
  .service-cashless__img img {
    width: 100%;
    border-radius: 8px;
  }
  .service-cashless__btn {
    grid-row: 5/6;
    grid-column: 1/3;
    margin-top: 24px;
  }
}

/* service-cashless-scene
--------------------------------------------------------*/
.service-cashless-scene {
  margin-bottom: 40px;
}
.service-cashless-scene__item {
  display: flex;
  gap: 24px;
}
.service-cashless-scene__item:not(:last-child) {
  margin-bottom: 40px;
}
.service-cashless-scene__img {
  flex: none;
}
.service-cashless-scene__inner .c-heading {
  margin-bottom: 12px;
}
.service-cashless-scene__text {
  margin-bottom: 16px;
}
.service-cashless-scene__list div {
  display: flex;
}
.service-cashless-scene__list div:not(:last-child) {
  margin-bottom: 12px;
}
.service-cashless-scene__list dt {
  flex: none;
  width: 6.5em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .service-cashless-scene__item {
    flex-direction: column;
    gap: 12px;
  }
  .service-cashless-scene__img {
    margin-inline: auto;
  }
  .service-cashless-scene__list div {
    flex-direction: column;
  }
  .service-cashless-scene__list div:not(:last-child) {
    margin-bottom: 15px;
  }
  .service-cashless-scene__list dt {
    width: 100%;
    margin-bottom: 8px;
  }
}

.corporate-bnr {
  text-align: center;
  padding: 0 20px;
  margin: 72px auto;
}
@media (max-width: 767px) {
  .corporate-bnr {
    margin: 40px auto 24px;
  }
}

.corporate-purpose-heading {
  margin-bottom: 24px;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .corporate-purpose-img {
    max-width: 642px;
    margin-inline: auto;
  }
}

/* inquiry-index
----------------------------------------------------------- */
.inquiry-index-qa {
  margin: 40px 0;
}
.inquiry-index-qa.-narrow {
  margin: 24px 0 40px;
}
@media (max-width: 767px) {
  .inquiry-index-qa {
    margin: 24px 0;
  }
  .inquiry-index-qa.-narrow {
    margin: 16px 0 24px;
  }
}

.inquiry-index-btns {
  margin: 40px 0 64px;
}
@media (max-width: 767px) {
  .inquiry-index-btns {
    margin: 24px 0 40px;
  }
}

.inquiry-index-inner:not(:last-child) {
  margin-bottom: 64px;
}
@media (max-width: 767px) {
  .inquiry-index-inner:not(:last-child) {
    margin-bottom: 40px;
  }
}

.inquiry-index-link li {
  border-bottom: 1px solid #d5d5d5;
}
.inquiry-index-link li a {
  display: block;
  width: 100%;
  position: relative;
  cursor: pointer;
}
.inquiry-index-link li a span {
  display: block;
  padding: 16px 60px 16px 24px;
  width: 100%;
  position: relative;
  z-index: 2;
}
.inquiry-index-link li a span::after {
  font-family: "mtl";
  content: "\e908";
  font-size: 20px;
  color: #140078;
  font-weight: 400;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}
.inquiry-index-link li a::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: transparent;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 8px;
  z-index: -1;
  transition: 0.3s all;
}
body:not(.is-touch) .inquiry-index-link li a:hover {
  text-decoration: none;
  border-color: transparent;
}
body:not(.is-touch) .inquiry-index-link li a:hover::before {
  background: #fff;
  filter: drop-shadow(-1px 2px 4px rgba(0, 0, 0, 0.2));
  z-index: 2;
}
@media (max-width: 767px) {
  .inquiry-index-link li a span {
    padding: 12px 34px 12px 12px;
  }
  .inquiry-index-link li a span::after {
    font-size: 14px;
    right: 12px;
  }
}

/* case-index
----------------------------------------------------------- */
.case-index-bnr {
  text-align: center;
  padding: 0 20px;
  margin: 72px auto;
}
@media (max-width: 767px) {
  .case-index-bnr {
    margin: 40px auto 24px;
  }
}

.case-index-slider {
  padding: 72px 0;
  background: url("../../case/img/bg_works-pc.png") no-repeat center top/100vw 73%;
}
.case-index-slider__inner {
  margin-inline: auto;
  padding: 0 48px;
  max-width: 1176px;
}
@media (max-width: 767px) {
  .case-index-slider {
    margin: 40px auto 0;
    padding: 40px 0;
    background: url("../../case/img/bg_works-sp.png") no-repeat center top/100vw 79%;
  }
  .case-index-slider__inner {
    padding: 0 36px;
  }
}
.case-index-slider #case-slider {
  max-width: 1120px;
  padding: 0 20px;
  margin-inline: auto;
  margin-top: 48px;
}
.case-index-slider #case-slider .splide__track {
  overflow: visible;
}
.case-index-slider #case-slider .case-slide:not(.is-active) {
  opacity: 0.6;
}
@media (max-width: 767px) {
  .case-index-slider #case-slider {
    margin-top: 40px;
  }
}

/* case-detail
----------------------------------------------------------- */
.case-detail {
  margin-top: 0;
}
.case-detail__inner {
  container-type: inline-size;
}
@media (max-width: 767px) {
  .case-detail {
    margin-top: 24px;
  }
}

.case-detail-title {
  flex-direction: column;
  align-items: baseline;
  letter-spacing: 0.04em;
  max-width: 1120px;
  margin-inline: auto;
}
.case-detail-title__tag {
  margin-bottom: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  line-height: 1;
}
.case-detail-title__tag .c-label {
  background: #fff;
  font-weight: 500;
}
.case-detail-title__company {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 8px;
}
.case-detail-title__brief {
  font-size: 1.8rem;
  font-weight: 500;
  margin-top: 8px;
}
@media (max-width: 767px) {
  .case-detail-title {
    padding: 24px 20px;
  }
  .case-detail-title__tag {
    margin-bottom: 12px;
  }
  .case-detail-title__company {
    font-size: 2rem;
  }
  .case-detail-title__brief {
    font-size: 1.6rem;
  }
}

.case-detail-profile {
  display: flex;
  gap: 40px;
  border: 1px solid #d5d5d5;
  border-left: none;
  border-right: none;
  padding: 24px 0;
  margin: 40px 0 24px;
}
.case-detail-profile__inner {
  width: 63.6%;
}
.case-detail-profile__image {
  width: 31.3%;
}
.case-detail-profile__item dt,
.case-detail-profile__item dd {
  display: inline;
}
.case-detail-profile__item:not(:first-child) {
  margin-top: 12px;
}
.case-detail-profile__item dt {
  flex: none;
}
@media (max-width: 767px) {
  .case-detail-profile {
    display: block;
  }
  .case-detail-profile__inner, .case-detail-profile__image {
    width: 100%;
  }
  .case-detail-profile__item dt,
  .case-detail-profile__item dd {
    display: block;
  }
}

.case-detail-task {
  margin: 40px 0;
}
.case-detail-task__item {
  display: flex;
  border: 1px solid #d5d5d5;
  position: relative;
}
.case-detail-task__item:not(:last-child) {
  margin-bottom: 66px;
}
.case-detail-task__item:not(:last-child)::after {
  content: "";
  width: 50px;
  height: 50px;
  background: url("../../case/img/icon_arrow.svg") no-repeat center/contain;
  position: absolute;
  bottom: -59px;
  left: 50%;
  transform: translateX(-50%);
}
.case-detail-task__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  padding: 20px 12px;
  min-width: 200px;
  background: #696969;
}
.case-detail-task__heading p {
  margin: 0 0 16px;
}
.case-detail-task__heading.-effect {
  background: #0168ce;
}
.case-detail-task__contents {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 16px;
  flex: 1;
}
.case-detail-task__inner:not(:last-child) {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #d5d5d5;
}
.case-detail-task__inner-heading {
  font-size: 1.8rem;
  font-weight: 500;
  color: #0168ce;
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  .case-detail-task {
    margin: 24px 0;
  }
  .case-detail-task__item {
    flex-direction: column;
  }
  .case-detail-task__heading {
    flex-direction: row-reverse;
    gap: 12px;
    padding: 12px 16px;
    width: 100%;
    min-width: 100%;
  }
  .case-detail-task__heading img {
    width: 64px;
    height: 64px;
  }
  .case-detail-task__heading p {
    margin: 0;
  }
  .case-detail-task__contents {
    padding: 16px;
  }
  .case-detail-task__inner:not(:last-child) {
    padding-bottom: 0;
    margin-bottom: 12px;
    border-bottom: none;
  }
  .case-detail-task__inner-heading {
    margin-bottom: 4px;
  }
}
@container (max-width:600px) {
  .case-detail-task {
    margin: 24px 0;
  }
  .case-detail-task__item {
    flex-direction: column;
  }
  .case-detail-task__heading {
    flex-direction: row-reverse;
    gap: 12px;
    padding: 12px 16px;
    width: 100%;
    min-width: 100%;
  }
  .case-detail-task__heading img {
    width: 64px;
    height: 64px;
  }
  .case-detail-task__heading p {
    margin: 0;
  }
  .case-detail-task__contents {
    padding: 16px;
  }
  .case-detail-task__inner:not(:last-child) {
    padding-bottom: 0;
    margin-bottom: 12px;
    border-bottom: none;
  }
  .case-detail-task__inner-heading {
    margin-bottom: 4px;
  }
}

.case-detail-box {
  display: flex;
  align-items: center;
  gap: 24px 40px;
  background: #f8f8f8;
  border-radius: 12px;
  padding: 24px 40px;
  margin: 40px 0;
}
@media (max-width: 767px) {
  .case-detail-box {
    flex-direction: column-reverse;
    padding: 40px 16px;
  }
}
@container (max-width:600px) {
  .case-detail-box {
    flex-direction: column-reverse;
    padding: 40px 16px;
  }
}
.case-detail-box__image {
  width: 260px;
  min-height: 142px;
  border-radius: 12px;
  background: linear-gradient(45deg, #d5d5d5, #f7f7f7);
  border: 1px solid #d5d5d5;
  padding: 10px;
  flex: 1;
}
.case-detail-box__image > img {
  max-width: 80px;
  display: block;
  margin: auto;
  box-shadow: -2px 2px 2px rgba(0, 0, 0, 0.2);
}
.case-detail-box__inner {
  flex: 2;
}

/* case-lg
----------------------------------------------------------- */
.case-lg-lead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 3.4%;
  max-width: 1176px;
  padding: 24px 48px;
  background-color: #fff;
  border-radius: 16px;
  margin-inline: auto;
  margin-bottom: 80px;
}
.case-lg-lead__text {
  width: 65%;
}
.case-lg-lead__lead {
  font-size: 2.6rem;
  letter-spacing: 0.04em;
  margin-bottom: 16px;
}
.case-lg-lead__lead span {
  font-size: 3.2rem;
  font-weight: 700;
  border-bottom: 2px solid #0168ce;
}
.case-lg-lead__lead .c-note {
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .case-lg-lead {
    flex-direction: column;
    padding: 24px 16px;
  }
  .case-lg-lead__text {
    width: 100%;
  }
  .case-lg-lead__lead {
    font-size: 2rem;
    letter-spacing: 0;
    margin-bottom: 8px;
  }
  .case-lg-lead__lead span {
    font-size: 2.4rem;
  }
}

.case-lg-search {
  max-width: 1176px;
  margin-inline: auto;
  margin-bottom: 74px;
}
@media (max-width: 767px) {
  .case-lg-search {
    margin-bottom: 40px;
  }
}

.case-lg-tab__tablist {
  display: flex;
  align-items: flex-end;
  gap: 1px;
  border-bottom: 4px solid #0168ce;
}
.case-lg-tab__btn {
  text-align: center;
  flex: 1;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 11px 10px;
  margin-top: 10px;
  background: #d5d5d5;
  transition: 0.3s all;
}
.case-lg-tab__btn:first-child {
  border-top-left-radius: 8px;
}
.case-lg-tab__btn:last-child {
  border-top-right-radius: 8px;
}
.case-lg-tab__btn.is-active {
  color: #fff;
  padding: 16px 10px;
  margin-top: 0;
  background: #0168ce;
  border-radius: 8px 8px 0 0;
}
body:not(.is-touch) .case-lg-tab__btn:hover {
  color: #fff;
  background: #140078;
}
.case-lg-tab__tabpanel {
  padding: 40px 48px;
  background: #fff;
  border-radius: 0 0 16px 16px;
}
@media (max-width: 767px) {
  .case-lg-tab__tablist {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .case-lg-tab__btn {
    font-size: 1.6rem;
    padding: 8px;
    margin-top: 0;
    height: 40px;
  }
  .case-lg-tab__btn:last-child {
    border-top-right-radius: 0;
  }
  .case-lg-tab__btn:nth-child(3) {
    border-top-right-radius: 8px;
  }
  .case-lg-tab__btn.is-active {
    font-size: 1.8rem;
    padding: 8px;
    border-radius: 0;
  }
  .case-lg-tab__btn.is-active:first-child {
    border-top-left-radius: 8px;
  }
  .case-lg-tab__btn.is-active:nth-child(3) {
    border-top-right-radius: 8px;
  }
  .case-lg-tab__tabpanel {
    padding: 24px 16px;
  }
}

.case-lg-region {
  max-width: 352px;
  margin: auto;
}

.case-lg-prefecture {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 24px;
  margin-top: 24px;
  border-top: 1px solid #d5d5d5;
}
.case-lg-prefecture li {
  width: calc((100% - 60px) / 6);
}
@media (max-width: 767px) {
  .case-lg-prefecture {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7px 12px;
    padding-top: 16px;
    margin-top: 16px;
  }
  .case-lg-prefecture li {
    width: auto;
  }
}

.case-lg-table {
  width: 100%;
  border-right: 1px solid #d5d5d5;
  border-bottom: 1px solid #d5d5d5;
}
@media (min-width: 768px) {
  .case-lg-table tr:nth-child(even) td {
    background: #f8f8f8;
  }
}
.case-lg-table th,
.case-lg-table td {
  text-align: left;
  padding: 16px 12px;
}
@media (min-width: 768px) {
  .case-lg-table th,
  .case-lg-table td {
    border-left: 1px solid #d5d5d5;
    border-top: 1px solid #d5d5d5;
  }
}
.case-lg-table th {
  color: #fff;
  font-weight: 700;
  vertical-align: middle;
  background: #0168ce;
}
.case-lg-table th.w25p {
  width: 25%;
}
.case-lg-table th.w11p {
  width: 11%;
}
.case-lg-table th.w44p {
  width: 44%;
}
.case-lg-table th.w20p {
  width: 20%;
}
.case-lg-table td {
  background: #fff;
}
@media (min-width: 768px) {
  .case-lg-table .sp-head {
    display: none;
  }
}
@media (max-width: 767px) {
  .case-lg-table {
    border-top: 1px solid #d5d5d5;
    border-left: 1px solid #d5d5d5;
  }
  .case-lg-table .sp-head {
    display: block;
    font-weight: 500;
    margin-bottom: 8px;
  }
  .case-lg-table .sp-none {
    display: none;
  }
  .case-lg-table thead {
    display: none;
  }
  .case-lg-table tr > td {
    display: block;
    width: 100%;
    padding: 12px 12px 4px;
  }
  .case-lg-table tr > td:first-child {
    color: #fff;
    font-weight: 700;
    vertical-align: middle;
    padding: 12px;
    background: #0168ce;
  }
  .case-lg-table tr > td:last-child {
    padding: 12px;
  }
  .case-lg-table tr > td:has(+ td.sp-none) {
    padding: 12px;
  }
}

/* faq-contract-contact
----------------------------------------------------------- */
.faq-contract-contact {
  margin: 80px auto;
}
@media (max-width: 767px) {
  .faq-contract-contact {
    margin: 40px auto;
  }
}

.search-box {
  width: 100%;
  border-radius: 8px;
  padding: 12px;
  background: #d5d5d5;
}
.search-box__inner {
  display: flex;
  align-items: center;
  gap: 12px;
}
.search-box input[type=submit],
.search-box input[type=text] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  cursor: pointer;
}
.search-box__text {
  flex: 1;
  padding: 8px 12px;
  background: #fff;
  border-radius: 8px;
}
.search-box__text::-moz-placeholder {
  color: #696969;
}
.search-box__text::placeholder {
  color: #696969;
}
.search-box__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  background: #140078;
  color: #fff;
  min-width: 80px;
  font-weight: 500;
  letter-spacing: 0.03em;
  padding: 8px 24px;
  border-radius: 100vh;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  transition: 0.3s all;
}
body:not(.is-touch) .search-box__btn:hover {
  color: #140078;
  background: #fff;
}
@media (max-width: 767px) {
  .search-box__text {
    width: calc(100% - 72px);
  }
}

.search-result {
  font-size: 2.4rem;
  margin-top: 72px;
}
.search-result__heading {
  display: inline;
  font-size: 2.4rem;
  font-weight: 400;
}
.search-result__num {
  margin: 0 0.25em;
}
@media (max-width: 767px) {
  .search-result {
    font-size: 2.2rem;
    margin-top: 40px;
  }
  .search-result__heading {
    font-size: 2.2rem;
  }
  .search-result__num {
    margin: 0 0.25em;
  }
}

.search-sort {
  margin: 40px 0;
}
.search-sort__list {
  display: flex;
  justify-content: center;
  gap: 12px;
}
.search-sort__list li {
  width: 100%;
  max-width: 260px;
}
.search-sort__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 500;
  width: 100%;
  padding: 16px 24px;
  border-radius: 8px;
  background: #fff;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  transition: 0.3s all;
}
.search-sort__btn.-disabled {
  color: #fff;
  background: #0168ce;
  pointer-events: none;
  box-shadow: none;
}
body:not(.is-touch) .search-sort__btn:hover {
  color: #fff;
  text-decoration: none;
  background: #140078;
}
@media (max-width: 767px) {
  .search-sort {
    margin: 24px 0;
  }
  .search-sort__btn {
    padding: 12px;
  }
}

.search-contents {
  margin: 72px 0;
}
@media (max-width: 767px) {
  .search-contents {
    margin: 40px 0;
  }
}

.search-list__link {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  padding: 16px;
  min-height: 259px;
  position: relative;
  border-bottom: 1px solid #d5d5d5;
}
.search-list__link::before {
  display: block;
  content: "";
  width: 100%;
  height: calc(100% + 2px);
  position: absolute;
  background: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 8px;
  z-index: -1;
}
.search-list__link.-pdf .search-list__inner-arrow::after {
  content: "\e909";
}
body:not(.is-touch) .search-list__link:hover {
  text-decoration: none;
  border-color: transparent;
  filter: drop-shadow(-1px 2px 4px rgba(0, 0, 0, 0.2));
  z-index: 2;
}
body:not(.is-touch) .search-list__link:hover .search-list__img img {
  transform: scale(1.1, 1.1);
}
body:not(.is-touch) .search-list__link:hover .search-list__inner,
body:not(.is-touch) .search-list__link:hover .search-list__inner-url {
  color: #140078;
}
.search-list__img {
  width: 343px;
  height: 100%;
  aspect-ratio: 343/226;
  border: 1px solid #d5d5d5;
  overflow: hidden;
  border-radius: 8px;
  flex: none;
}
.search-list__img img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s all;
}
.search-list__inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.search-list__inner-heading, .search-list__inner-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
}
.search-list__inner-heading {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 16px;
}
.search-list__inner-text {
  font-size: 1.4rem;
  margin-bottom: 16px;
}
.search-list__inner-url {
  font-size: 1.4rem;
  font-weight: 500;
  color: #696969;
  margin-bottom: 16px;
  flex-grow: 1;
}
.search-list__inner-arrow {
  font-size: 1.4rem;
  font-weight: 500;
  text-align: right;
  color: #140078;
}
.search-list__inner-arrow:after {
  font-family: "mtl";
  color: #140078;
  content: "\e900";
  margin-left: 8px;
}
@media (max-width: 767px) {
  .search-list__link {
    flex-direction: column;
    gap: 12px;
    padding: 24px 0;
  }
  .search-list__img {
    width: 100%;
  }
  .search-list__inner-heading {
    margin-bottom: 8px;
  }
}

.search-logo {
  text-align: right;
  margin: 72px 0 56px;
}
@media (max-width: 767px) {
  .search-logo {
    margin: 40px 0;
  }
}

.introduction-container {
  background: #0168ce;
  padding: 0 0 120px;
}
.introduction-container .fadeup {
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.introduction-container .fadeup.show {
  opacity: 1;
  transform: translateY(0);
}

.introduction-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px 20px;
  max-width: 1216px;
  margin: 0 auto;
  padding: 24px 20px;
}
@media (max-width: 767px) {
  .introduction-ttl {
    flex-direction: column;
  }
}
.introduction-ttl__heading {
  width: 60%;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
@media (max-width: 767px) {
  .introduction-ttl__heading {
    width: 100%;
  }
}
.introduction-ttl__heading span:first-child {
  font-weight: 400;
  font-size: clamp(42px, 28.368px + 3.64vw, 72px);
  letter-spacing: 0.1em;
}
.introduction-ttl__heading span:nth-child(2) {
  font-weight: 500;
  font-size: clamp(25px, 15.008px + 2.67vw, 47px);
  letter-spacing: 0.09em;
}
.introduction-ttl__heading span:last-child {
  font-weight: 400;
  font-size: clamp(35px, 22.72px + 3.27vw, 62px);
}
.introduction-ttl__img {
  width: 40%;
}
.introduction-ttl__img img {
  width: clamp(206px, 159.632px + 12.36vw, 308px);
}
@media (max-width: 767px) {
  .introduction-ttl__img {
    width: 100%;
    text-align: center;
  }
}

.introduction-heading {
  font-weight: 400;
  line-height: 1.4;
}
.introduction-heading.-large {
  font-size: 3.2rem;
  text-align: center;
  padding-bottom: 24px;
  margin-bottom: 32px;
  position: relative;
}
.introduction-heading.-large::after {
  content: "";
  width: 120px;
  height: 4px;
  border-radius: 4px 4px 0 0;
  background: #0168ce;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 0;
}
@media (max-width: 767px) {
  .introduction-heading.-large {
    font-size: 2.4rem;
    padding-bottom: 16px;
    margin-bottom: 24px;
  }
  .introduction-heading.-large::after {
    width: 60px;
    height: 3px;
  }
}
.introduction-heading.-medium {
  font-size: 2.8rem;
  text-align: center;
  margin-bottom: 32px;
}
@media (max-width: 767px) {
  .introduction-heading.-medium {
    font-size: 2rem;
    margin-bottom: 24px;
  }
}
.introduction-heading.-small {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .introduction-heading.-small {
    font-size: 1.8rem;
    margin-bottom: 12px;
  }
}

.introduction-number {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .introduction-number {
    flex-direction: column;
    gap: 16px;
  }
}

.introduction-number-item {
  background: #f3f4ff;
  width: calc((100% - 48px) / 3);
  border-radius: 16px;
  padding: 32px 12px;
  position: relative;
}
@media (min-width: 768px) {
  .introduction-number-item.-large {
    width: calc(50% - 12px);
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 40px min(3%, 32px);
  }
}
@media (max-width: 767px) {
  .introduction-number-item {
    width: 100%;
  }
}
.introduction-number-item__icon {
  flex-shrink: 0;
  width: min(11vw, 152px);
  text-align: center;
  margin: 0 auto 32px;
}
.introduction-number-item__icon img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}
@media (min-width: 768px) {
  .introduction-number-item.-large .introduction-number-item__icon {
    margin: 0;
  }
}
@media (max-width: 767px) {
  .introduction-number-item__icon {
    width: 100px;
    margin-bottom: 16px;
  }
}
.introduction-number-item__txt {
  text-align: center;
  color: #0168ce;
}
.introduction-number-item__txt > div {
  white-space: nowrap;
}
.introduction-number-item__txt > div:first-child {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .introduction-number-item.-large .introduction-number-item__txt > div:first-child {
    text-align: left;
    font-size: clamp(20px, -35.376px + 4.87vw, 24px);
  }
}
.introduction-number-item__txt > div:last-child {
  font-size: clamp(18px, 11.2px + 0.88vw, 22px);
}
@media (max-width: 767px) {
  .introduction-number-item__txt > div:last-child {
    font-size: 2rem;
  }
}
.introduction-number-item__txt > div:last-child em {
  font-size: clamp(30px, -7.376px + 4.87vw, 52px);
  font-style: normal;
  font-family: "Montserrat", sans-serif;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .introduction-number-item.-large .introduction-number-item__txt > div:last-child em {
    font-size: clamp(30px, -27.776px + 7.52vw, 64px);
  }
}
@media (max-width: 767px) {
  .introduction-number-item__txt > div:last-child em {
    font-size: 5.4rem;
  }
}
.introduction-number-item__txt > div:last-child em:not(:first-child) {
  padding-left: 0.1em;
}
.introduction-number-item__txt > div:last-child em:not(:last-child) {
  padding-right: 0.05em;
}
.introduction-number-item__txt > div:last-child small {
  font-size: clamp(24px, -3.184px + 3.54vw, 40px);
  font-family: "Montserrat", sans-serif;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .introduction-number-item__txt > div:last-child small {
    font-size: 3.6rem;
  }
}
.introduction-number-item__note {
  font-size: 1.4rem;
  text-align: right;
  position: relative;
  right: 4px;
  bottom: -16px;
}
@media (min-width: 768px) {
  .introduction-number-item.-large .introduction-number-item__note {
    position: absolute;
    right: 16px;
    bottom: 16px;
  }
}

.introduction-history {
  padding: 64px clamp(12px, -23.456px + 9.45vw, 90px);
  background: #f3f4ff;
  border-radius: 16px;
}
@media (max-width: 767px) {
  .introduction-history {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}
.introduction-history__left {
  padding: 40px 0;
  position: relative;
}
@media (max-width: 767px) {
  .introduction-history__left {
    padding: 24px 0;
  }
}
.introduction-history__left::before {
  content: "";
  width: clamp(30px, -409.328px + 57.2vw, 300px);
  height: 100%;
  border-top: 1px solid #b2b2b2;
  border-left: 1px solid #b2b2b2;
  border-bottom: 1px solid #b2b2b2;
  position: absolute;
  left: 7px;
  bottom: 0;
  border-bottom-left-radius: 16px;
  border-top-left-radius: 16px;
}
@media (max-width: 767px) {
  .introduction-history__left::before {
    width: 1px;
    left: clamp(5px, 3.088px + 0.51vw, 7px);
  }
}
.introduction-history__left:first-child {
  padding-top: 0;
}
.introduction-history__left:first-child::before {
  height: calc(100% - 48px);
  border-top: 0;
  border-top-left-radius: 0;
}
@media (max-width: 767px) {
  .introduction-history__left:first-child::before {
    height: calc(100% - 40px);
  }
}
.introduction-history__left:not(:first-child):not(:last-child) {
  margin-top: -1px;
}
.introduction-history__left:last-child {
  padding-bottom: 16px;
  margin-top: -1px;
  margin-bottom: 107px;
}
.introduction-history__left:last-child::before {
  border-bottom: 0;
  border-bottom-left-radius: 0;
}
.introduction-history__left:last-child::after {
  content: "";
  display: block;
  width: 1px;
  height: 107px;
  background: linear-gradient(180deg, #b2b2b2, transparent);
  position: absolute;
  bottom: -107px;
  left: 7px;
}
@media (max-width: 767px) {
  .introduction-history__left:last-child {
    margin-bottom: 32px;
  }
  .introduction-history__left:last-child::after {
    height: 32px;
    bottom: -32px;
    left: clamp(5px, 3.088px + 0.51vw, 7px);
  }
}
.introduction-history__right {
  padding: 40px 0;
  padding-left: clamp(49px, -489.584px + 70.13vw, 380px);
  position: relative;
  margin-top: -1px;
}
@media (max-width: 767px) {
  .introduction-history__right {
    padding: 0;
  }
}
.introduction-history__right::before {
  content: "";
  width: clamp(30px, -409.328px + 57.2vw, 300px);
  height: 100%;
  border-top: 1px solid #b2b2b2;
  border-right: 1px solid #b2b2b2;
  border-bottom: 1px solid #b2b2b2;
  position: absolute;
  left: clamp(27px, -72.256px + 12.92vw, 88px);
  bottom: 0;
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
}
@media (max-width: 767px) {
  .introduction-history__right::before {
    width: 1px;
    left: clamp(5px, 3.088px + 0.51vw, 7px);
  }
}
.introduction-history__item-blue {
  display: flex;
  align-items: center;
  gap: clamp(24px, -2.032px + 3.39vw, 40px);
  width: clamp(440px, 358.64px + 10.59vw, 490px);
  padding: 20px 40px;
  border-radius: 24px;
  background: #fff;
  color: #0168ce;
  position: relative;
  margin-left: 32px;
}
@media (max-width: 767px) {
  .introduction-history__item-blue {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 16px 24px;
    width: calc(100% - clamp(20px, 8.52px + 3.06vw, 32px));
    margin-left: clamp(20px, 8.528px + 3.06vw, 32px);
    border-radius: clamp(10px, -3.392px + 3.57vw, 24px);
  }
}
.introduction-history__item-blue::before {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 100%;
  background: #0168ce;
  position: absolute;
  top: 48px;
  left: -32px;
}
@media (max-width: 767px) {
  .introduction-history__item-blue::before {
    width: clamp(10px, 4.256px + 1.53vw, 16px);
    height: clamp(10px, 4.256px + 1.53vw, 16px);
    top: 36px;
    left: clamp(-32px, -8.52px - 3.06vw, -20px);
  }
}
.introduction-history__item-blue > div:first-child {
  font-size: 2.2rem;
}
.introduction-history__item-blue > div:first-child em {
  font-size: clamp(38px, 31.936px + 1.62vw, 52px);
  font-style: normal;
  font-family: "Montserrat", sans-serif;
  line-height: 1.2;
  padding-right: 0.05em;
}
.introduction-history__item-blue > div:last-child {
  font-size: clamp(22px, 15.488px + 0.85vw, 26px);
  font-weight: 500;
}
.introduction-history__item-blue > div:last-child small {
  display: block;
  font-size: clamp(15px, 13.376px + 0.21vw, 16px);
}
.introduction-history .introduction-history-omission {
  font-size: 2em;
  position: absolute;
  z-index: 10;
  top: 2.2em;
  left: -0.2em;
  color: #434343;
}
@media (max-width: 767px) {
  .introduction-history .introduction-history-omission {
    font-size: 1.8em;
    top: 2.5em;
    left: -0.3em;
  }
}
.introduction-history__item-black {
  font-size: clamp(15px, 6.864px + 1.06vw, 20px);
  font-weight: 500;
  padding-left: 46px;
  position: relative;
}
.introduction-history__item-black + .introduction-history__item-black {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .introduction-history__item-black {
    padding-left: clamp(18px, -8.784px + 7.14vw, 46px);
  }
  .introduction-history__item-black + .introduction-history__item-black {
    margin-top: 12px;
  }
}
.introduction-history__item-blue + .introduction-history__item-black {
  margin-top: 24px;
}
.introduction-history__item-black::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background: #000;
  position: absolute;
  top: 7px;
  left: 2px;
}
@media (max-width: 767px) {
  .introduction-history__item-black::before {
    width: clamp(8px, 4.176px + 1.02vw, 12px);
    height: clamp(8px, 4.176px + 1.02vw, 12px);
    top: clamp(7px, 10.913px - 0.522vw, 9px);
  }
}

.introduction-future-item {
  display: flex;
  align-items: center;
  gap: 24px min(5.5%, 56px);
}
.introduction-future-item + .introduction-future-item {
  margin-top: 56px;
}
@media (max-width: 767px) {
  .introduction-future-item {
    flex-direction: column;
  }
  .introduction-future-item + .introduction-future-item {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .introduction-future-item__img {
    width: 50%;
  }
  .introduction-future-item__text {
    flex: 1;
  }
}

.introduction-strength-item {
  display: flex;
  align-items: center;
  border: 1px solid #d5d5d5;
  border-radius: 10px;
  overflow: hidden;
}
.introduction-strength-item + .introduction-strength-item {
  margin-top: 24px;
}
@media (min-width: 768px) {
  .introduction-strength-item {
    min-height: 402px;
  }
}
@media (max-width: 767px) {
  .introduction-strength-item {
    flex-direction: column;
  }
  .introduction-strength-item + .introduction-strength-item {
    margin-top: 16px;
  }
}
@media (min-width: 768px) {
  .introduction-strength-item__img {
    width: 46%;
    align-self: stretch;
  }
}
.introduction-strength-item__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.introduction-strength-item__text {
  flex: 1;
  padding: min(4%, 48px) min(5.5%, 56px);
}
@media (max-width: 767px) {
  .introduction-strength-item__text {
    padding: 16px 24px 24px;
  }
  .introduction-strength-item__text p {
    font-size: 1.5rem;
  }
}

.introduction-movie {
  max-width: 622px;
  margin: 0 auto;
}
.introduction-movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.introduction-movie__caption {
  margin-top: 16px;
  font-size: 1.4rem;
}
.introduction-movie__caption div:first-child {
  font-weight: 500;
}

/* Utility ------------ */
/* white-space
-------------------------------------------------- */
.u-ws-n {
  white-space: nowrap !important;
}

/* text-align
----------------------------------------------------------- */
.u-ta-c {
  text-align: center !important;
}

@media (min-width: 768px) {
  .u-pc-ta-c {
    text-align: center !important;
  }
}
@media (max-width: 767px) {
  .u-sp-ta-c {
    text-align: center !important;
  }
}
.u-ta-r {
  text-align: right !important;
}

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

/* font
----------------------------------------------------------- */
.u-font-regular {
  font-weight: 400;
}

.u-font-medium {
  font-weight: 500;
}

.u-font-bold {
  font-weight: 700;
}

.u-font-red {
  color: #e61e1e;
}

.u-font-xxxs {
  font-size: 1rem !important;
}

.u-font-xxs {
  font-size: 1.2rem !important;
}

.u-font-xs {
  font-size: 1.4rem !important;
}

.u-font-s {
  font-size: 1.6rem !important;
}

.u-font-m {
  font-size: 1.8rem !important;
}

.u-font-l {
  font-size: 2rem !important;
}

.u-font-xl {
  font-size: 2.4rem !important;
}

.u-font-xxl {
  font-size: 2.6rem !important;
}

.u-font-xxxl {
  font-size: 3rem !important;
}

@media (max-width: 767px) {
  .u-font-xxxs {
    font-size: 1rem !important;
  }
  .u-font-xxs {
    font-size: 1.1rem !important;
  }
  .u-font-xs {
    font-size: 1.2rem !important;
  }
  .u-font-s {
    font-size: 1.4rem !important;
  }
  .u-font-m {
    font-size: 1.6rem !important;
  }
  .u-font-l {
    font-size: 1.8rem !important;
  }
  .u-font-xl {
    font-size: 2rem !important;
  }
  .u-font-xxl {
    font-size: 2.2rem !important;
  }
  .u-font-xxxl {
    font-size: 2.4rem !important;
  }
  .u-sp-font-xxxs {
    font-size: 1rem !important;
  }
  .u-sp-font-xxs {
    font-size: 1.2rem !important;
  }
  .u-sp-font-xs {
    font-size: 1.4rem !important;
  }
  .u-sp-font-s {
    font-size: 1.6rem !important;
  }
  .u-sp-font-m {
    font-size: 1.8rem !important;
  }
  .u-sp-font-l {
    font-size: 2rem !important;
  }
  .u-sp-font-xl {
    font-size: 2.4rem !important;
  }
  .u-sp-font-xxl {
    font-size: 2.6rem !important;
  }
  .u-sp-font-xxxl {
    font-size: 3rem !important;
  }
}
/* border
----------------------------------------------------------- */
.u-bd-top {
  border-top: 1px solid;
}

.u-bd-gray {
  border-color: #d5d5d5;
}

/* margin
----------------------------------------------------------- */
.u-mi-a {
  margin-inline: auto !important;
}

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

.u-mb-xxxs {
  margin-bottom: 8px !important;
}

.u-mb-xxs {
  margin-bottom: 16px !important;
}

.u-mb-xs {
  margin-bottom: 24px !important;
}

.u-mb-s {
  margin-bottom: 32px !important;
}

.u-mb-m {
  margin-bottom: 40px !important;
}

.u-mb-l {
  margin-bottom: 48px !important;
}

.u-mb-xl {
  margin-bottom: 56px !important;
}

.u-mb-xxl {
  margin-bottom: 64px !important;
}

.u-mb-xxxl {
  margin-bottom: 72px !important;
}

.u-mb-xxxxl {
  margin-bottom: 80px !important;
}

@media (max-width: 767px) {
  .u-mb-xxxs {
    margin-bottom: 4px !important;
  }
  .u-mb-xxs {
    margin-bottom: 8px !important;
  }
  .u-mb-xs {
    margin-bottom: 16px !important;
  }
  .u-mb-s {
    margin-bottom: 24px !important;
  }
  .u-mb-m {
    margin-bottom: 32px !important;
  }
  .u-mb-l {
    margin-bottom: 40px !important;
  }
  .u-mb-xl {
    margin-bottom: 48px !important;
  }
  .u-mb-xxl {
    margin-bottom: 56px !important;
  }
  .u-mb-xxxl {
    margin-bottom: 64px !important;
  }
  .u-mb-xxxxl {
    margin-bottom: 72px !important;
  }
  /* SP */
  .u-sp-mb-0 {
    margin-bottom: 0 !important;
  }
  .u-sp-mb-xxxs {
    margin-bottom: 8px !important;
  }
  .u-sp-mb-xxs {
    margin-bottom: 16px !important;
  }
  .u-sp-mb-xs {
    margin-bottom: 24px !important;
  }
  .u-sp-mb-s {
    margin-bottom: 32px !important;
  }
  .u-sp-mb-m {
    margin-bottom: 40px !important;
  }
  .u-sp-mb-l {
    margin-bottom: 48px !important;
  }
  .u-sp-mb-xl {
    margin-bottom: 56px !important;
  }
  .u-sp-mb-xxl {
    margin-bottom: 64px !important;
  }
  .u-sp-mb-xxxl {
    margin-bottom: 72px !important;
  }
  .u-sp-mb-xxxxl {
    margin-bottom: 80px !important;
  }
}
.u-mt-0 {
  margin-top: 0 !important;
}

.u-mt-xxxs {
  margin-top: 8px !important;
}

.u-mt-xxs {
  margin-top: 16px !important;
}

.u-mt-xs {
  margin-top: 24px !important;
}

.u-mt-s {
  margin-top: 32px !important;
}

.u-mt-m {
  margin-top: 40px !important;
}

.u-mt-l {
  margin-top: 48px !important;
}

.u-mt-xl {
  margin-top: 56px !important;
}

.u-mt-xxl {
  margin-top: 64px !important;
}

.u-mt-xxxl {
  margin-top: 72px !important;
}

.u-mt-xxxxl {
  margin-top: 80px !important;
}

@media (max-width: 767px) {
  .u-mt-xxxs {
    margin-top: 4px !important;
  }
  .u-mt-xxs {
    margin-top: 8px !important;
  }
  .u-mt-xs {
    margin-top: 12px !important;
  }
  .u-mt-s {
    margin-top: 16px !important;
  }
  .u-mt-m {
    margin-top: 20px !important;
  }
  .u-mt-l {
    margin-top: 28px !important;
  }
  .u-mt-xl {
    margin-top: 36px !important;
  }
  .u-mt-xxl {
    margin-top: 40px !important;
  }
  .u-mt-xxxl {
    margin-top: 48px !important;
  }
  .u-mt-xxxxl {
    margin-top: 56px !important;
  }
  /* SP */
  .u-sp-mt-0 {
    margin-top: 0 !important;
  }
  .u-sp-mt-xxxs {
    margin-top: 8px !important;
  }
  .u-sp-mt-xxs {
    margin-top: 16px !important;
  }
  .u-sp-mt-xs {
    margin-top: 24px !important;
  }
  .u-sp-mt-s {
    margin-top: 32px !important;
  }
  .u-sp-mt-m {
    margin-top: 40px !important;
  }
  .u-sp-mt-l {
    margin-top: 48px !important;
  }
  .u-sp-mt-xl {
    margin-top: 56px !important;
  }
  .u-sp-mt-xxl {
    margin-top: 64px !important;
  }
  .u-sp-mt-xxxl {
    margin-top: 72px !important;
  }
  .u-sp-mt-xxxxl {
    margin-top: 80px !important;
  }
}
/* flex
-------------------------------------------------- */
.u-gap-m {
  gap: 16px;
}

.u-gap-s {
  gap: 12px;
}

.u-gap-xs {
  gap: 8px;
}

.u-d-f {
  display: flex !important;
}

.u-fxd-r {
  flex-direction: row !important;
}

.u-fxd-rr {
  flex-direction: row-reverse !important;
}

.u-fxd-c {
  flex-direction: column !important;
}

.u-fxd-cr {
  flex-direction: column-reverse !important;
}

.u-fxw-n {
  flex-wrap: nowrap !important;
}

.u-fxw-w {
  flex-wrap: wrap !important;
}

.u-fxw-wr {
  flex-wrap: wrap-reverse !important;
}

.u-jc-fs {
  justify-content: flex-start !important;
}

.u-jc-fe {
  justify-content: flex-end !important;
}

.u-jc-c {
  justify-content: center !important;
}

.u-jc-sb {
  justify-content: space-between !important;
}

.u-jc-sa {
  justify-content: space-around !important;
}

.u-ai-fs {
  align-items: flex-start !important;
}

.u-ai-fe {
  align-items: flex-end !important;
}

.u-ai-c {
  align-items: center !important;
}

.u-ai-b {
  align-items: baseline !important;
}

.u-ai-s {
  align-items: stretch !important;
}

.u-ac-fs {
  align-content: flex-start !important;
}

.u-ac-fe {
  align-content: flex-end !important;
}

.u-ac-c {
  align-content: center !important;
}

.u-ac-sb {
  align-content: space-between !important;
}

.u-ac-sa {
  align-content: space-around !important;
}

.u-ac-s {
  align-content: stretch !important;
}

.u-fx-n {
  flex: none !important;
}

.u-as-a {
  align-self: auto !important;
}

.u-as-fs {
  align-self: flex-start !important;
}

.u-as-fe {
  align-self: flex-end !important;
}

.u-as-c {
  align-self: center !important;
}

.u-as-b {
  align-self: baseline !important;
}

.u-as-s {
  align-self: stretch !important;
}

@media (max-width: 767px) {
  .u-sp-fxd-r {
    flex-direction: row !important;
  }
  .u-sp-fxd-rr {
    flex-direction: row-reverse !important;
  }
  .u-sp-fxd-c {
    flex-direction: column !important;
  }
  .u-sp-fxd-cr {
    flex-direction: column-reverse !important;
  }
  .u-sp-fxw-n {
    flex-wrap: nowrap !important;
  }
  .u-sp-fxw-w {
    flex-wrap: wrap !important;
  }
  .u-sp-fxw-wr {
    flex-wrap: wrap-reverse !important;
  }
  .u-sp-jc-fs {
    justify-content: flex-start !important;
  }
  .u-sp-jc-fe {
    justify-content: flex-end !important;
  }
  .u-sp-jc-c {
    justify-content: center !important;
  }
  .u-sp-jc-sb {
    justify-content: space-between !important;
  }
  .u-sp-jc-sa {
    justify-content: space-around !important;
  }
  .u-sp-ai-fs {
    align-items: flex-start !important;
  }
  .u-sp-ai-fe {
    align-items: flex-end !important;
  }
  .u-sp-ai-c {
    align-items: center !important;
  }
  .u-sp-ai-b {
    align-items: baseline !important;
  }
  .u-sp-ai-s {
    align-items: stretch !important;
  }
  .u-sp-ac-fs {
    align-content: flex-start !important;
  }
  .u-sp-ac-fe {
    align-content: flex-end !important;
  }
  .u-sp-ac-c {
    align-content: center !important;
  }
  .u-sp-ac-sb {
    align-content: space-between !important;
  }
  .u-sp-ac-sa {
    align-content: space-around !important;
  }
  .u-sp-ac-s {
    align-content: stretch !important;
  }
  .u-sp-fx-n {
    flex: none !important;
  }
  .u-sp-as-a {
    align-self: auto !important;
  }
  .u-sp-as-fs {
    align-self: flex-start !important;
  }
  .u-sp-as-fe {
    align-self: flex-end !important;
  }
  .u-sp-as-c {
    align-self: center !important;
  }
  .u-sp-as-b {
    align-self: baseline !important;
  }
  .u-sp-as-s {
    align-self: stretch !important;
  }
}
/*# sourceMappingURL=maps/common.css.map */
