@charset "UTF-8";
:where(
    :not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)
  ) {
  all: unset;
  display: revert;
}
*,
:after,
:before {
  box-sizing: border-box;
}
a,
button {
  cursor: revert;
}
menu,
ol,
ul {
  list-style: none;
}
img {
  max-width: 100%;
}
table {
  border-collapse: collapse;
}
input,
textarea {
  -webkit-user-select: auto;
}
textarea {
  white-space: revert;
}
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
}
::-moz-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}
:where([hidden]) {
  display: none;
}
:where([contenteditable]:not([contenteditable="false"])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
  overflow-wrap: break-word;
}
:where([draggable="true"]) {
  -webkit-user-drag: element;
}
:root {
  --font-family: "Noto Sans JP", "\6e38\30b4\30b7\30c3\30af", "Yu Gothic Medium",
    YuGothic, "\30e1\30a4\30ea\30aa", Meiryo, sans-serif;
  --font-family-notosans: "Noto Sans JP", sans-serif;
  --font-family-montserrat: "Montserrat", sans-serif;
  --font-family-composite: "Montserrat", "Noto Sans JP", sans-serif;
  --line-height: 2;
  --color-base: var(--color-black);
  --color-brand: #014bb1;
  --color-brand-light: #05afed;
  --color-black: #3b4043;
  --color-accent: #f78f21;
  --color-gray: #707070;
  --color-white-gray: #eff3f5;
  --color-light-gray: #95989a;
  --color-light-gray-rgb: 149, 152, 154;
  --balloon: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMi4yNyIgaGVpZ2h0PSIzNi4xMiI+PGcgZmlsbD0iI2ZmZiI+PHBhdGggZD0iTTIuMDM1IDM0LjA0N2E1MC4wODYgNTAuMDg2IDAgMCAwIDMuNzUzLTE2LjEyNkE2Ni4xIDY2LjEgMCAwIDAgNS4wMzUgMWgxNi4wMzJhNzMuODI1IDczLjgyNSAwIDAgMS01Ljk1NyAxOC45NjJjLTMuNDMxIDYuOTU0LTcuODI4IDExLjY5Mi0xMy4wNjcgMTQuMDg0WiIvPjxwYXRoIGQ9Im0wIDM2LjEyIDEuMTI5LTIuNDg4YTQ5LjEgNDkuMSAwIDAgMCAzLjY2OC0xNS43OTUgNjUuMDY4IDY1LjA2OCAwIDAgMC0uNzQ2LTE2LjY1NUwzLjgzNSAwaDE4LjQ0bC0uMjIyIDEuMTg0YTc0LjgwOSA3NC44MDkgMCAwIDEtNi4wNDMgMTkuMjJjLTMuNTM0IDcuMTYzLTguMDkxIDEyLjA1Ny0xMy41NDIgMTQuNTQ4Wk02LjIyMyAyYTY4LjA4OCA2OC4wODggMCAwIDEgLjU2OCAxNiA1NC45NyA1NC45NyAwIDAgMS0yLjggMTMuODQ5YzQtMi41NCA3LjQyNy02LjY3NSAxMC4yMTctMTIuMzI5QTcxLjMzOCA3MS4zMzggMCAwIDAgMTkuODU0IDJaIi8+PC9nPjwvc3ZnPg==);
  --number-01: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCI+PHBhdGggZD0iTTI1LjY2Ljk0djM3LjkycTAgMi41OCAzLjkgMi41OGgyLjdWNDNxLTEuNTYgMC00LjcxLS4wNnQtNC43MS0uMDZxLTMuNDIgMC05LjkuMTJ2LTEuNTZoMy4zcTMuOSAwIDMuOS0yLjU4VjYuMTZxLTQuMjYgMi40Ni04LjU4IDQuNjJsLS43OC0xLjQ0QTEzMy4yNzEgMTMzLjI3MSAwIDAgMCAyNS4wNi43WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoNDR2NDRIMHoiLz48L3N2Zz4=);
  --number-02: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCI+PHBhdGggZD0iTTcuNyA0M3YtMS4ycTE5LjItMTYuNzQgMTkuMi0yNy44NGExMC44ODggMTAuODg4IDAgMCAwLTEuOC02LjQ4IDYuNiA2LjYgMCAwIDAtNS43Ni0yLjgyIDcuODY0IDcuODY0IDAgMCAwLTQuOTggMS44IDI3LjkzNCAyNy45MzQgMCAwIDAtMy43MiAzLjlMOS41IDkuMTZRMTUuMjYuNyAyMi4xNi43YTkuNDYyIDkuNDYyIDAgMCAxIDcuNDQgMy4xOCAxMS40MTggMTEuNDE4IDAgMCAxIDIuODIgNy44NiAxOC45IDE4LjkgMCAwIDEtMy4yNCA5LjkgNTQuNzM3IDU0LjczNyAwIDAgMS03LjMyIDguOTRxLTMuNzggMy44NC03LjYyIDcuNjJoMTkuNWwxLjMyLTMuMTJoMS42OEwzNSA0M1oiIGZpbGw9IiNmZmYiLz48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDQ0djQ0SDB6Ii8+PC9zdmc+);
  --number-03: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCI+PHBhdGggZD0iTTE3LjE4IDIyLjZ2LTEuNTZhMTIuNzE1IDEyLjcxNSAwIDAgMCA3LjE0LTIuNzYgOC4xMzMgOC4xMzMgMCAwIDAgMy4zNi02LjY2IDcuNDYxIDcuNDYxIDAgMCAwLTEuODktNS4yOCA2LjU3OCA2LjU3OCAwIDAgMC01LjA3LTIuMDQgNy42OTMgNy42OTMgMCAwIDAtNC4yIDEuMjYgMjAuOTQgMjAuOTQgMCAwIDAtMy4zNiAyLjg4bC0uOS0xLjE0YTI2LjI0NCAyNi4yNDQgMCAwIDEgNS4xLTQuNzRBMTEuNjg2IDExLjY4NiAwIDAgMSAyMy44NC43YTguNTE5IDguNTE5IDAgMCAxIDYuMTUgMi40IDguMTMyIDguMTMyIDAgMCAxIDIuNDkgNi4xMiA5LjYzNyA5LjYzNyAwIDAgMS0yLjY0IDYuNDggMTUuNTkxIDE1LjU5MSAwIDAgMS02LjA2IDQuMTRsLjEyLjEyYTEwLjc4NyAxMC43ODcgMCAwIDEgNi42NiAxLjU2cTQuMiAyLjUyIDQuMiA4LjA0YTEzLjUxNiAxMy41MTYgMCAwIDEtMy43OCA5LjM2cS00LjYyIDQuOTgtMTIuNDIgNC45OGExMS44MTMgMTEuODEzIDAgMCAxLTYuNi0xLjhxLTIuNTItMS42Mi0yLjUyLTMuMjRhMS44IDEuOCAwIDAgMSAuNi0xLjM1IDEuODc5IDEuODc5IDAgMCAxIDEuMzItLjU3cS44NCAwIDEuOCAxLjMyYTExLjMzNiAxMS4zMzYgMCAwIDAgMi4xNiAyLjQgNy4xNDEgNy4xNDEgMCAwIDAgNC40NCAxLjMyIDguODI5IDguODI5IDAgMCAwIDYuODctMi44OCAxMC4yMzggMTAuMjM4IDAgMCAwIDIuNjEtNy4xNHEwLTEwLjA4LTEyLjA2LTkuMzZaIiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGg0NHY0NEgweiIvPjwvc3ZnPg==);
  --icon-arrow: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTggMCA2LjU0NSAxLjQ1NWw1LjUwNiA1LjUwNkgwdjIuMDc4aDEyLjA1MmwtNS41MDcgNS41MDZMOCAxNmw4LThaIiBmaWxsPSIjMDA0YmIxIi8+PC9zdmc+);
  --icon-plus: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTcgMTZWOUgwVjdoN1YwaDJ2N2g3djJIOXY3WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==);
  --ease: cubic-bezier(0, 0.4, 0.25, 1);
  --ease-slow: cubic-bezier(0, 0.4, 0.4, 1);
  --ease-xslow: cubic-bezier(0, 0.6, 0.25, 1);
  --ease-accordion: cubic-bezier(0.7, 0, 0.1, 1);
  --duration: 0.6s;
  --duration-slow: 0.8s;
  --duration-xslow: 1.2s;
  --duration-xxslow: 1.6s;
  --delay: 0s;
  --delay-slow: 0.1s;
  --delay-xslow: 0.2s;
  --delay-xxslow: 0.6s;
  --fade: 0.5;
  --fade-filter: 50%;
  --border-radius: 100vh;
}
.hm-faq-unit-a:before,
.hm-faq-unit-q:before,
.hm-point-unit-chapter__label,
.hm-reason-unit-title__prefix,
.montserrat,
.noto-sans-jp {
  font-optical-sizing: auto;
}
html {
  font-size: 0.875rem;
  font-size: clamp(0.875rem, 0.1477272727rem + 3.6363636364vw, 1rem);
}
@media screen and (min-width: 768px) {
  html {
    font-size: 0.75rem;
    font-size: clamp(0.75rem, 0.625rem + 0.3125vw, 1rem);
  }
}
body {
  word-wrap: break-word;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  position: relative;
  margin: 0;
  color: var(--color-black);
  line-height: 1;
  font-family: var(--font-family);
  letter-spacing: 0.06em;
  text-rendering: optimizeLegibility;
}
body:is(.home) {
  background-color: #fff;
}
body[data-is-scrolldisable] {
  overflow: hidden;
}
:after,
:before {
  box-sizing: border-box;
}
main,
picture {
  display: block;
}
b,
h1,
h2,
h3,
h4,
h5,
strong {
  margin-top: 0;
  margin-bottom: 0;
  color: var(--color-black-dark);
  font-weight: 700;
}
a {
  color: currentColor;
  text-decoration: none;
}
a[href^="tel:"] {
  cursor: default;
}
p {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 2;
}
ol,
p,
ul {
  color: var(--color-black-medium);
}
ol,
ul {
  margin: 0;
  padding: 0;
  line-height: 1.6;
  list-style-type: none;
}
li {
  margin-top: 0;
  margin-bottom: 0;
}
img,
svg {
  max-width: 100%;
  height: auto;
  border: none;
  background-size: cover;
  background-repeat: no-repeat;
  font-style: italic;
  line-height: 1;
  vertical-align: middle;
  shape-margin: 0.75rem;
}
sup {
  top: -0.1em;
  vertical-align: text-top;
}
sub,
sup {
  position: relative;
  font-size: 0.6em;
}
sub {
  top: 0.2em;
  vertical-align: text-bottom;
}
iframe {
  border: none;
}
figure {
  margin: 0;
}
textarea {
  vertical-align: top;
}
:focus {
  outline: none;
}
input,
textarea {
  box-sizing: border-box;
  font-family: var(--font-family);
}
textarea {
  resize: vertical;
}
button {
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
  font-family: var(--font-family);
}
button,
input[type="submit"],
label {
  cursor: pointer;
}
[data-is="ruled-line"] {
  letter-spacing: 0;
}
@keyframes slide-01 {
  0% {
    transform: translate(-1rem);
    opacity: 0;
  }
  to {
    transform: translate(0);
    opacity: 1;
  }
}
@keyframes slide-02 {
  0% {
    transform: translate(0);
  }
  49.5% {
    transform: translate(100%);
  }
  50.5% {
    transform: translate(-100%);
  }
  to {
    transform: translate(0);
  }
}
@keyframes slide-02-reverse {
  0% {
    transform: translate(0);
  }
  49.5% {
    transform: translate(-100%);
  }
  50.5% {
    transform: translate(100%);
  }
  to {
    transform: translate(0);
  }
}
@keyframes slide-03 {
  0% {
    transform: translateY(0);
  }
  49.5% {
    transform: translateY(100%);
  }
  50.5% {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes underline-01 {
  0% {
    transform: scaleX(1);
    transform-origin: 100% 50%;
  }
  49.5% {
    transform: scaleX(0);
    transform-origin: 100% 50%;
  }
  50.5% {
    transform: scaleX(0);
    transform-origin: 0 50%;
  }
  to {
    transform: scaleX(1);
    transform-origin: 0 50%;
  }
}
@keyframes underline-01-on {
  0% {
    transform: scaleX(0);
    transform-origin: 0 50%;
  }
  to {
    transform: scaleX(1);
    transform-origin: 0 50%;
  }
}
@keyframes underline-01-off {
  0% {
    transform: scaleX(1);
    transform-origin: 100% 50%;
  }
  to {
    transform: scaleX(0);
    transform-origin: 100% 50%;
  }
}
@keyframes underline-02-hide {
  0% {
    background-position: 100% 100%;
    background-size: 100% 0.0625rem;
  }
  to {
    background-position: 100% 100%;
    background-size: 0 0.0625rem;
  }
}
@keyframes underline-02-show {
  0% {
    background-position: 0 100%;
    background-size: 0 0.0625rem;
  }
  to {
    background-position: 0 100%;
    background-size: 100% 0.0625rem;
  }
}
@keyframes underline-02-icon-hide {
  0% {
    background-position: 0 100%;
    background-size: calc(100% - 1.25em) 0.0625rem;
  }
  to {
    background-position: calc(100% - 1.25em) 100%;
    background-size: 0 0.0625rem;
  }
}
@keyframes underline-02-icon-show {
  0% {
    background-position: 0 100%;
    background-size: 0 0.0625rem;
  }
  to {
    background-position: 0 100%;
    background-size: calc(100% - 1.25em) 0.0625rem;
  }
}
@keyframes zoomOut {
  0% {
    transform: scale(1.4);
  }
  to {
    transform: scale(1);
  }
}
@keyframes progressbar {
  0% {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@keyframes underline-hide {
  0% {
    background-position: 100% 96%;
    background-size: 100% 4%;
  }
  to {
    background-position: 100% 96%;
    background-size: 0 4%;
  }
}
@keyframes underline-show {
  0% {
    background-position: 0 96%;
    background-size: 0 4%;
  }
  to {
    background-position: 0 96%;
    background-size: 100% 4%;
  }
}
@keyframes underline-editor-hide {
  0% {
    background-position: 100% 100%;
    background-size: 100% 3%;
  }
  to {
    background-position: 100% 100%;
    background-size: 0 3%;
  }
}
@keyframes underline-editor-show {
  0% {
    background-position: 0 100%;
    background-size: 0 3%;
  }
  to {
    background-position: 0 100%;
    background-size: 100% 3%;
  }
}
@keyframes underline-profile-hide {
  0% {
    background-position: 100% 86%;
    background-size: 100% 4%;
  }
  to {
    background-position: 100% 86%;
    background-size: 0 4%;
  }
}
@keyframes underline-profile-show {
  0% {
    background-position: 0 86%;
    background-size: 0 4%;
  }
  to {
    background-position: 0 86%;
    background-size: 100% 4%;
  }
}
@keyframes scrolling {
  0% {
    background-position: 0 100%;
    background-size: 100% 100%;
  }
  50% {
    background-position: 0 100%;
    background-size: 100% 0;
  }
  50.1% {
    background-position: 0 0;
    background-size: 100% 0;
  }
  to {
    background-position: 0 0;
    background-size: 100% 100%;
  }
}
@keyframes scrollerIn {
  0% {
    transform: translate3d(0, -102%, 0);
  }
  15% {
    transform: translateZ(0);
  }
  30% {
    transform: translateZ(0);
  }
  45% {
    transform: translate3d(0, 102%, 0);
  }
  60% {
    transform: translate3d(0, 102%, 0);
  }
  to {
    transform: translate3d(0, 102%, 0);
  }
}
@keyframes scrollerOut {
  0% {
    transform: translate3d(0, -102%, 0);
  }
  15% {
    transform: translate3d(0, -102%, 0);
  }
  30% {
    transform: translateZ(0);
  }
  45% {
    transform: translateZ(0);
  }
  60% {
    transform: translate3d(0, 102%, 0);
  }
  to {
    transform: translate3d(0, 102%, 0);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(359deg);
  }
}
@keyframes circle {
  0% {
    stroke-dasharray: 0 91;
  }
  99.9%,
  to {
    stroke-dasharray: 91 91;
  }
}
@keyframes endless {
  0% {
    transform: translate(0);
  }
  to {
    transform: translate(-100%);
  }
}
@keyframes slideFadeImage {
  0% {
    translate: -100% 0;
  }
  50% {
    translate: 0 0;
  }
  55% {
    translate: 0 0;
  }
  to {
    translate: 100% 0;
  }
}
@keyframes textlinkUnderLine {
  0% {
    background-position: 100% 100%;
    background-size: 100% 1px;
  }
  53% {
    background-position: 100% 100%;
    background-size: 0 1px;
  }
  57% {
    background-position: 0 100%;
    background-size: 0 1px;
  }
  to {
    background-position: 0 100%;
    background-size: 100% 1px;
  }
}
@keyframes slideUpPC {
  0% {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%) scale(1.1);
  }
}
@keyframes slideLeftPC {
  0% {
    transform: translate(0) scale(1.1);
  }
  to {
    transform: translate(-5%);
  }
}
@keyframes slideRightPC {
  0% {
    transform: translate(0);
  }
  to {
    transform: translate(5%) scale(1.1);
  }
}
@keyframes slideUpSP {
  0% {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%) scale(1.1);
  }
}
@keyframes slideLeftSP {
  0% {
    transform: translate(0) scale(1.1);
  }
  to {
    transform: translate(-15%);
  }
}
@keyframes slideRightSP {
  0% {
    transform: translate(0) scale(1.1);
  }
  to {
    transform: translate(15%);
  }
}
.c-clip {
  display: block;
  position: relative;
  overflow: hidden;
}
.c-clip iframe,
.c-clip img {
  -o-object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.splide-controller {
  position: relative;
}
.splide__arrows {
  display: flex;
  justify-content: space-between;
}
.splide__arrow {
  display: grid;
  place-content: center;
  aspect-ratio: 1/1;
  width: 3.125rem;
  border-radius: 0.625rem;
  background-color: #fff;
}
.splide__arrow:before {
  -webkit-mask: var(--icon-arrow) 50% 50% / contain;
  display: block;
  aspect-ratio: 1/1;
  width: 1rem;
  background-color: var(--color-brand);
  content: "";
  mask: var(--icon-arrow) 50% 50% / contain;
}
.splide__arrow--prev:before {
  scale: -1 1;
}
.splide__pagination {
  -moz-column-gap: 0.625rem;
  display: flex;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  column-gap: 0.625rem;
  justify-content: center;
  translate: 0 -50%;
}
.splide__pagination li {
  line-height: 0;
}
.splide__pagination__page {
  aspect-ratio: 1/1;
  width: 0.625rem;
  border: 1px solid var(--color-gray);
  border-radius: 50%;
  background-color: #fff;
  vertical-align: top;
}
.splide__pagination__page.is-active {
  background-color: var(--color-gray);
}
.st-header {
  z-index: 200;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
}
.st-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline-end: calc(5.33333% + 4.625rem);
  padding-block: 0.8125rem 0.75rem;
}
@media screen and (min-width: 768px) {
  .st-header__inner {
    height: 6.25rem;
    padding-inline-end: 1.25%;
    padding-block: 0.9375rem;
  }
}
.st-main {
  padding-top: 4rem;
}
@media screen and (min-width: 768px) {
  .st-main {
    padding-top: 6.25rem;
  }
}
.st-footer {
  padding-block: 1.5rem 6.25rem;
  background-color: var(--color-brand);
}
@media screen and (min-width: 768px) {
  .st-footer {
    margin-inline: 1.0416666667%;
    padding-block: 1.4375rem 8.5rem;
  }
}
.st-footer__inner {
  margin: 0 8%;
}
.g-logo__inner {
  display: grid;
  width: 9.9375rem;
}
@media screen and (min-width: 768px) {
  .g-logo__inner {
    width: clamp(10.65rem, 14.7916666667vw, 17.75rem);
  }
}
@media (hover: hover) {
  .g-logo__inner {
    transition: opacity var(--duration) var(--ease);
  }
  .g-logo__inner:hover {
    opacity: 0.6;
  }
}
[data-is-menu="true"] .g-logo__inner {
  color: #fff;
}
.g-logo img {
  width: 100%;
}
.g-navigation {
  display: none;
}
@media screen and (min-width: 768px) {
  .g-navigation {
    display: block;
    margin-inline: auto 1.5625vw;
  }
}
.g-navigation__lists {
  -moz-column-gap: clamp(0.625rem, 1.5625vw, 1.875rem);
  display: flex;
  column-gap: clamp(0.625rem, 1.5625vw, 1.875rem);
}
.g-navigation-list {
  font-weight: 700;
  font-size: clamp(0.6875rem, 0.8333333333vw, 1rem);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .g-navigation-list {
    font-size: clamp(1rem, 1.0416666667vw, 1.25rem);
    line-height: 1.45;
  }
}
@media (hover: hover) {
  .g-navigation-list__inner {
    transition: color var(--duration) var(--ease);
  }
  .g-navigation-list__inner:hover {
    color: var(--color-brand-light);
  }
}
.g-contact__inner {
  display: block;
  position: relative;
  padding: 0.3125rem 0.53125rem 0.375rem;
  border-radius: var(--border-radius);
  color: var(--color-accent);
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .g-contact__inner {
    padding: 0.5208333333vw 1.0416666667vw 0.625vw;
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    line-height: 1.4444444444;
  }
}
.g-contact__inner:after {
  position: absolute;
  inset: 0;
  border: 1px solid var(--color-accent);
  border-radius: var(--border-radius);
  content: "";
}
@media screen and (min-width: 768px) {
  .g-contact__inner:after {
    border-width: 2px;
  }
}
@media (hover: hover) {
  .g-contact__inner {
    transition: color var(--duration) var(--ease),
      background-color var(--duration) var(--ease);
  }
  .g-contact__inner:hover {
    background-color: var(--color-accent);
    color: #fff;
  }
}
.g-trigger {
  display: grid;
  z-index: 600;
  position: fixed;
  top: 0.125rem;
  right: 5.3333333333%;
  align-items: center;
  width: 3.75rem;
  height: 3.75rem;
}
@media screen and (min-width: 768px) {
  .g-trigger {
    display: none;
  }
}
.g-trigger__bar {
  display: block;
  position: relative;
  width: 100%;
  height: 1px;
  margin: 0 auto;
  background-color: currentColor;
  color: var(--color-black);
}
[data-is-menu="true"] .g-trigger__bar {
  background-color: transparent;
  color: #fff;
}
.g-trigger__bar:after,
.g-trigger__bar:before {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  content: "";
}
.g-trigger__bar:before {
  transform: translateY(-0.375rem);
  transition: transform var(--duration) var(--ease) var(--delay-xslow),
    rotate var(--duration) var(--ease) 0s;
}
@media screen and (min-width: 768px) {
  .g-trigger__bar:before {
    transform: translateY(-0.625rem);
  }
}
[data-is-menu="true"] .g-trigger__bar:before {
  transform: translate(0);
  rotate: 11deg;
  transition-delay: 0s, var(--delay-xslow), var(--delay-xslow);
}
.g-trigger__bar:after {
  transform: translateY(0.375rem);
  transition: transform var(--duration) var(--ease) var(--delay-xslow),
    rotate var(--duration) var(--ease) 0s;
}
@media screen and (min-width: 768px) {
  .g-trigger__bar:after {
    transform: translateY(0.625rem);
  }
}
[data-is-menu="true"] .g-trigger__bar:after {
  transform: translate(0);
  rotate: -11deg;
  transition-delay: 0s, var(--delay-xslow), var(--delay-xslow);
}
.g-trigger__bar span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: currentColor;
}
[data-is-menu="true"] .g-trigger__bar span {
  display: none;
}
.g-menu {
  visibility: hidden;
  z-index: 500;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100vh - 100lvh + 100svh);
  height: 100dvh;
  background-color: var(--color-brand);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--duration) var(--ease);
}
[data-is-menu="true"] .g-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: visible;
}
.g-menu__scroller {
  height: 100%;
  overflow: auto;
}
@media screen and (min-width: 768px) {
  .g-menu__scroller {
    display: grid;
    grid-template-columns: 37.5% auto;
    grid-template-areas: "visual navigation";
  }
}
.g-menu__inner {
  display: grid;
  place-content: center;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .g-menu__inner {
    display: grid;
    grid-area: navigation;
    align-items: center;
    height: 100%;
    padding: 10.5rem 13.3333333333% 5rem;
  }
}
.g-menu-contact {
  position: absolute;
  top: 1.125rem;
  right: calc(5.33333% + 4.625rem);
}
.g-menu-contact__inner {
  display: block;
  position: relative;
  padding: 0.3125rem 0.53125rem 0.375rem;
  border-radius: var(--border-radius);
  background-color: #fff;
  color: var(--color-accent);
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
}
.g-menu-contact__inner:after {
  position: absolute;
  inset: 0;
  border: 1px solid;
  border-radius: var(--border-radius);
  content: "";
}
.g-menu-navigation__units {
  display: grid;
  row-gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .g-menu-navigation__units {
    row-gap: 2.5rem;
  }
}
.g-menu-navigation-unit {
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.g-menu-navigation-unit__inner {
  display: inline-grid;
}
@media (hover: hover) {
  .g-menu-navigation-unit__inner {
    transition: color var(--duration) var(--ease);
  }
  a.g-menu-navigation-unit__inner:hover {
    color: var(--color-brand-light);
  }
}
.g-menu-navigation-apply {
  position: absolute;
  right: 2.6666666667%;
  bottom: 0.6875rem;
  left: 2.6666666667%;
  color: var(--color-accent);
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.45;
  letter-spacing: 0;
}
.g-menu-navigation-apply__inner {
  display: grid;
  position: relative;
  padding: 0.84375rem;
  border-radius: var(--border-radius);
  background-color: #fff;
  text-align: center;
}
.g-menu-navigation-apply__inner:after {
  position: absolute;
  inset: 0;
  border: 2px solid;
  border-radius: var(--border-radius);
  content: "";
}
.g-link {
  display: grid;
  row-gap: 0.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .g-link {
    -moz-column-gap: 3.1914893617%;
    display: flex;
    column-gap: 3.1914893617%;
    justify-content: center;
  }
}
.g-link-list {
  color: #fff;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .g-link-list {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}
@media (hover: hover) {
  .g-link-list__inner {
    transition: opacity var(--duration) var(--ease);
  }
  .g-link-list__inner:hover {
    opacity: 0.6;
  }
}
.g-copyright {
  margin-block-start: 0.5rem;
}
.g-copyright small {
  display: block;
  color: #fff;
  font-size: 0.75rem;
  line-height: 2.3333333333;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .g-copyright small {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
  [data-pswp-width] {
    pointer-events: none;
  }
}
[data-display="visibility:pc"] {
  display: none;
}
@media screen and (min-width: 768px) {
  [data-display="visibility:pc"] {
    display: block;
  }
  [data-display="visibility:sp"] {
    display: none;
  }
}
.hm-visual,
.hm-visual__inner {
  position: relative;
}
@media screen and (min-width: 768px) {
  .hm-visual__inner {
    margin-inline: 1.0416666667%;
  }
}
.hm-visual__image {
  position: relative;
  height: calc(100svh - 4.0625rem);
  max-height: 160.533333vw;
}
@media screen and (min-width: 768px) {
  .hm-visual__image {
    height: calc(100vh - 6.25rem);
    min-height: 52.074468vw;
  }
}
.hm-visual__image:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 124.2666666667vw;
  background: linear-gradient(#fff, grey);
  content: "";
  mix-blend-mode: multiply;
}
@media screen and (min-width: 768px) {
  .hm-visual__image:after {
    height: 12.03125vw;
  }
}
.hm-visual__image .c-clip {
  position: absolute;
  inset: 0;
}
.hm-visual__image img {
  -o-object-position: 50% 0;
  width: 100%;
  object-position: 50% 0;
}
@media screen and (min-width: 768px) {
  .hm-visual__image img {
    -o-object-position: 25% 0;
    object-position: 25% 0;
  }
}
.hm-visual-apply {
  position: absolute;
  right: 2.6666666667%;
  bottom: 0.6875rem;
  left: 2.6666666667%;
  color: var(--color-accent);
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.45;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-visual-apply {
    right: inherit;
    bottom: 1.40625vw;
    left: 50%;
    width: 32.2872340426%;
    translate: -50% 0;
  }
}
.hm-visual-apply__inner {
  display: grid;
  position: relative;
  padding: 0.84375rem;
  border-radius: var(--border-radius);
  background-color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-visual-apply__inner {
    padding: 0.9375vw 0 0.9895833333vw;
  }
}
.hm-visual-apply__inner:after {
  position: absolute;
  inset: 0;
  border: 2px solid var(--color-accent);
  border-radius: var(--border-radius);
  content: "";
}
@media (hover: hover) {
  .hm-visual-apply__inner {
    transition: color var(--duration) var(--ease),
      background-color var(--duration) var(--ease);
  }
  .hm-visual-apply__inner:hover {
    background-color: var(--color-accent);
    color: #fff;
  }
}
.hm-visual__block {
  position: relative;
}
@media screen and (min-width: 768px) {
  .hm-visual__block {
    position: static;
  }
  .hm-visual__group {
    position: absolute;
    top: 1.6041666667vw;
    left: 42.34375vw;
  }
}
.hm-visual__copy {
  position: absolute;
  bottom: calc(100% + 29.06667vw + 5.4375rem);
  left: 10.6666666667%;
}
@media screen and (min-width: 768px) {
  .hm-visual__copy {
    position: static;
  }
}
.hm-visual__copy p {
  color: var(--color-accent);
  font-weight: 700;
  font-size: clamp(0.9375rem, 8vw, 3.125rem);
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-visual__copy p {
    font-size: clamp(2.90625rem, 4.84375vw, 5.8125rem);
    line-height: 1.1935483871;
  }
}
.hm-visual__text {
  padding: 1.5rem 8.8% 1.875rem;
  background-color: var(--color-brand-light);
}
@media screen and (min-width: 768px) {
  .hm-visual__text {
    margin-block-start: 1.0541666667vw;
    padding: 0 0 0 0.3125vw;
    background-color: transparent;
  }
}
.hm-visual__text p {
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-visual__text p {
    font-size: clamp(0.9375rem, 1.5625vw, 1.875rem);
    line-height: 1.8333333333;
  }
}
.hm-visual__text p span {
  display: inline-block;
  margin-inline: 0.25rem;
  padding-inline: 0.25rem;
  background-color: #fff;
  color: var(--color-brand);
  line-height: 1.2777777778;
}
@media screen and (min-width: 768px) {
  .hm-visual__text p span {
    padding: 0.0520833333vw 0.3125vw 0.15625vw;
  }
}
.hm-visual__feature {
  position: absolute;
  bottom: calc(100% + 5.4375rem);
  left: 10.6666666667%;
  width: 78.9333333333%;
}
@media screen and (min-width: 768px) {
  .hm-visual__feature {
    position: static;
    /* right: 2.1276595745%;
    bottom: 10.40625vw;
    left: inherit; */
    /* width: 29.4680851064%; */
    width: 55%;
    margin-block-start: 1.0541666667vw;
  }
}
.hm-visual__feature img {
  width: 100%;
}
.hm-apply {
  z-index: 100;
  position: fixed;
  right: 2.6666666667%;
  bottom: 0;
  left: 2.6666666667%;
  padding-block-end: 0.6875rem;
  translate: 0 100%;
  color: var(--color-accent);
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.45;
  letter-spacing: 0;
  transition: translate var(--duration) var(--ease);
}
@media screen and (min-width: 768px) {
  .hm-apply {
    right: inherit;
    left: 50%;
    width: 31.6145833333%;
    padding-block-end: 1.40625vw;
    translate: -50% 100%;
  }
}
.is-scroll .hm-apply {
  translate: 0 0;
}
@media screen and (min-width: 768px) {
  .is-scroll .hm-apply {
    translate: -50% 0;
  }
}
.hm-apply__inner {
  display: grid;
  position: relative;
  padding: 0.84375rem;
  border-radius: var(--border-radius);
  background-color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-apply__inner {
    padding: 0.9375vw 0 0.9895833333vw;
  }
}
.hm-apply__inner:after {
  position: absolute;
  inset: 0;
  border: 2px solid var(--color-accent);
  border-radius: var(--border-radius);
  content: "";
}
@media (hover: hover) {
  .hm-apply__inner {
    transition: color var(--duration) var(--ease),
      background-color var(--duration) var(--ease);
  }
  .hm-apply__inner:hover {
    background-color: var(--color-accent);
    color: #fff;
  }
}
.hm-point,
.hm-point__inner {
  position: relative;
}
.hm-point__inner {
  padding-block-start: 1.6875rem;
  background-color: var(--color-brand);
}
@media screen and (min-width: 768px) {
  .hm-point__inner {
    margin-inline: 1.0416666667%;
    padding-block-start: 6.25rem;
  }
}
.hm-point__title {
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-point__title {
    font-size: clamp(2rem, 3.3333333333vw, 4rem);
    line-height: 1.4375;
  }
}
.hm-point__units {
  padding-block-start: 0.5rem;
  color: #fff;
}
.hm-point-unit {
  padding-block: 1.25rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit {
    padding-block: 7.5rem;
  }
  .hm-point-unit[data-point="01"] {
    padding-block: 4.75rem 12.5rem;
  }
}
.hm-point-unit[data-point="02"] {
  padding-block-end: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="02"] {
    padding-block-end: 7.5rem;
  }
}
.hm-point-unit[data-point="05"] {
  padding-block-end: 1rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="05"] {
    padding-block: 6.25rem 7.5rem;
  }
}
.hm-point-unit:nth-child(odd) {
  background-color: var(--color-brand);
}
.hm-point-unit:nth-child(2n + 2) {
  background-color: var(--color-brand-light);
}
.hm-point-unit[data-point="05"] {
   background-color: var(--color-brand);
  }
.hm-point-unit__inner {
  margin-inline: 2.6666666667%;
}
@media screen and (min-width: 768px) {
  .hm-point-unit__inner {
    width: 62.2872340426%;
    min-width: 56.25rem;
    margin-inline: auto;
  }
}
.hm-point-unit-chapter {
  display: grid;
  row-gap: 0.625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-chapter {
    row-gap: 0.25rem;
  }
}
.hm-point-unit-chapter__label {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.25;
  font-family: var(--font-family-montserrat);
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-chapter__number img {
    width: 3.625rem;
  }
}
.hm-point-unit__title {
  display: grid;
  margin-block-start: 1.625rem;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-point-unit__title {
    margin-block-start: 1.25rem;
    font-size: 2.25rem;
    line-height: 1.3333333333;
    letter-spacing: 0;
  }
}
.hm-point-unit[data-point="03"] .hm-point-unit__title {
  margin-block-start: 1.875rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="03"] .hm-point-unit__title {
    margin-block-start: 1.25rem;
  }
}
.hm-point-unit[data-point="05"] .hm-point-unit__title {
  margin-block-start: 2.125rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="05"] .hm-point-unit__title {
    margin-block-start: 1.125rem;
  }
}
.hm-point-unit-report {
  display: grid;
  row-gap: 0.375rem;
  margin-block-start: 1.125rem;
  padding: 1.25rem 8% 1.375rem;
  background-color: #ffffff4d;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-report {
    row-gap: 1.25rem;
    margin-block-start: 2.625rem;
    padding: 1rem 0.8510638298% 1.5rem;
    text-align: center;
  }
}
.hm-point-unit-report__title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.6111111111;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-report__title {
    font-size: 1.75rem;
    line-height: 1.5;
  }
}
.hm-point-unit-report__list {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-report__list {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.hm-point-unit__text {
  margin-inline: 8.1690140845%;
}
@media screen and (min-width: 768px) {
  .hm-point-unit__text {
    margin-inline: 0;
    text-align: center;
  }
}
.hm-point-unit[data-point="01"] .hm-point-unit__text {
  margin-block-start: 0.625rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="01"] .hm-point-unit__text {
    margin-block-start: 0.875rem;
  }
}
.hm-point-unit[data-point="02"] .hm-point-unit__text {
  margin-block-start: 0.875rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="02"] .hm-point-unit__text {
    margin-block-start: 1.75rem;
    text-align: left;
  }
}
.hm-point-unit[data-point="03"] .hm-point-unit__text {
  margin-block-start: 0.875rem;
  padding-block-end: 0.625rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="03"] .hm-point-unit__text {
    margin-block-start: 1.625rem;
    text-align: left;
  }
  .hm-point-unit[data-point="05"] .hm-point-unit__text {
    margin-block-start: 0.5rem;
    text-align: left;
  }
}
.hm-point-unit__text__container {
  overflow: hidden;
}
.hm-point-unit__text p,
.hm-point-unit__text ul {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-point-unit__text p,
  .hm-point-unit__text ul {
    font-size: 1.25rem;
  }
}
.hm-point-unit__text ul {
  color: var(--color-brand);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .hm-point-unit__text ul {
    display: flex;
  }
}
.hm-point-unit__text-button {
  display: block;
  margin-inline-start: auto;
  color: var(--color-brand-light);
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .hm-point-unit__text-button {
    display: none;
  }
}
.hm-point-unit__images {
  display: grid;
  row-gap: 1.3125rem;
  margin-inline: 8.1690140845%;
  margin-block-start: 0.875rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit__images {
    margin-inline: 0;
  }
}
.hm-point-unit[data-point="01"] .hm-point-unit__images {
  margin-block-start: 0.875rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="01"] .hm-point-unit__images {
    -moz-column-gap: 3.4158838599%;
    display: flex;
    column-gap: 3.4158838599%;
    justify-content: center;
    margin-block-start: 2.125rem;
  }
}
.hm-point-unit[data-point="02"] .hm-point-unit__images {
  margin-block-start: 1.125rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="02"] .hm-point-unit__images {
    margin-block-start: 4rem;
  }
}
.hm-point-unit[data-point="03"] .hm-point-unit__images {
  row-gap: 1rem;
  margin-block-start: 1.125rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="03"] .hm-point-unit__images {
    -moz-column-gap: 6.0631938514%;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 6.0631938514%;
    margin-block-start: 3.125rem;
  }
  .hm-point-unit-block:first-child .hm-point-unit__images {
    grid-template-columns: 1fr;
    margin-block-start: 4.25rem;
  }
}
.hm-point-unit[data-point="05"] .hm-point-unit__images {
  margin-block-start: 2rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="05"] .hm-point-unit__images {
    margin-block-start: 3.75rem;
  }
}
.hm-point-unit__image {
  position: relative;
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="01"] .hm-point-unit__image {
    width: 31.0845431255%;
  }
}
.hm-point-unit[data-point="02"] .hm-point-unit__image:before {
  position: absolute;
  inset: 0;
  border: 0.1875rem solid var(--color-brand);
  content: "";
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="02"] .hm-point-unit__image:before {
    border-width: 0.3125rem;
  }
}
.hm-point-unit[data-point="03"] .hm-point-unit__image:before {
  position: absolute;
  inset: 0;
  border: 0.1875rem solid var(--color-brand-light);
  content: "";
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="03"] .hm-point-unit__image:before {
    border-width: 0.3125rem;
  }
}
.hm-point-unit[data-point="05"] .hm-point-unit__image:before {
  position: absolute;
  inset: 0;
  border: 0.1875rem solid var(--color-brand-light);
  content: "";
}
@media screen and (min-width: 768px) {
  .hm-point-unit[data-point="05"] .hm-point-unit__image:before {
    border-width: 0.3125rem;
  }
}
.hm-point-unit__image img {
  width: 100%;
}
.hm-point-unit-block + .hm-point-unit-block {
  margin-block-start: 2.375rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-block + .hm-point-unit-block {
    margin-block-start: 7rem;
  }
}
.hm-point-unit-case {
  display: grid;
  row-gap: 2rem;
  margin-block-start: 1.75rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-case {
    row-gap: 5.4375rem;
    width: 90.1793339026%;
    margin-inline: auto;
    margin-block-start: 4.875rem;
  }
  .hm-point-unit-case-list {
    -moz-column-gap: 5.6818181818%;
    display: grid;
    column-gap: 5.6818181818%;
  }
  .hm-point-unit-case-list:nth-child(odd) {
    grid-template-columns: 47.1590909091% auto;
    grid-template-areas: "photo group";
  }
  .hm-point-unit-case-list:nth-child(2n + 2) {
    grid-template-columns: auto 47.1590909091%;
    grid-template-areas: "group photo";
  }
}
.hm-point-unit-case-list__photo {
  margin-inline: -2.8169014085%;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-case-list__photo {
    grid-area: photo;
    margin-inline: 0;
  }
}
.hm-point-unit-case-list__photo .c-clip {
  aspect-ratio: 375/286;
}
.hm-point-unit-case-list__group {
  margin-inline: 11.7647058824%;
  margin-block-start: 1.125rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-case-list__group {
    grid-area: group;
    margin-inline: 0;
    margin-block-start: -0.625rem;
  }
}
.hm-point-unit-case-list__title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-case-list__title {
    font-size: 1.75rem;
    line-height: 1.6428571429;
  }
}
.hm-point-unit-case-list__text {
  margin-block-start: 0.875rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-case-list__text {
    margin-block-start: 2.625rem;
  }
}
.hm-point-unit-case-list__text p {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-case-list__text p {
    font-size: 1.25rem;
  }
}
.hm-point-unit-case-list__tags {
  display: flex;
  flex-wrap: wrap;
  margin-block-start: 1.125rem;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-case-list__tags {
    margin-block-start: 0.875rem;
  }
}
.hm-point-unit-case-list-tag {
  padding: 0.3125rem 0.625rem 0.5rem;
  border-radius: var(--border-radius);
  background-color: #fff;
  color: var(--color-black);
  font-size: 0.75rem;
  line-height: 1.4166666667;
  letter-spacing: 0;
}
.hm-point-unit-slide {
  margin-inline: -2.8169014085%;
  margin-block-start: 0.375rem;
  padding-block-end: 0.875rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-slide {
    margin-inline: 0;
    margin-block-start: 1.375rem;
    padding-block-end: 0;
  }
}
.hm-point-unit-slide__title {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-slide__title {
    font-size: 1.25rem;
    line-height: 2;
  }
}
.hm-point-unit-slide .splide__track {
  margin-block-start: 1.5rem;
  padding-block-end: 2.25rem;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-slide .splide__track {
    margin-block-start: 2.25rem;
    padding-block-end: 1.5625rem;
  }
  .hm-point-unit-slide .splide.is-initialized .splide__list:not(:root) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.625rem 5.1665243382%;
  }
}
.hm-point-unit-slide .splide__slide {
  display: grid;
  position: relative;
  place-content: center;
  aspect-ratio: 220/224;
  width: 58.6666666667vw;
  padding-inline: 5.6vw;
  border-radius: 1.1875rem;
  background-color: #fff;
  color: var(--color-brand-light);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-slide .splide__slide {
    aspect-ratio: 350/355;
    width: auto;
    padding-inline: 6.8571428571%;
    font-weight: 700;
    font-size: clamp(0.875rem, 1.4583333333vw, 1.75rem);
    line-height: 1.6428571429;
  }
}
.hm-point-unit-slide .splide__slide:before {
  -webkit-mask: var(--balloon) no-repeat 50% 100%/100%;
  position: absolute;
  top: 100%;
  aspect-ratio: 22/17;
  height: 1.0625rem;
  background-color: #fff;
  content: "";
  mask: var(--balloon) no-repeat 50% 100%/100%;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-slide .splide__slide:before {
    height: 1.5625rem;
  }
}
.hm-point-unit-slide .splide__slide:nth-child(odd):before {
  left: 8vw;
  scale: -1 1;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-slide .splide__slide:nth-child(odd):before {
    left: 14.2857142857%;
  }
}
.hm-point-unit-slide .splide__slide:nth-child(2n + 2):before {
  right: 8vw;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-slide .splide__slide:nth-child(2n + 2):before {
    right: 14.2857142857%;
  }
  .hm-point-unit-slide .splide__slide:nth-child(-n + 3):before {
    left: 14.2857142857%;
    scale: -1 1;
  }
  .hm-point-unit-slide .splide__slide:nth-child(n + 4):before {
    right: 14.2857142857%;
    left: inherit;
    scale: 1 1;
  }
}
.hm-point-unit-slide .splide-controller {
  margin-inline: 10.6666666667%;
}
@media screen and (min-width: 768px) {
  .hm-point-unit-slide .splide-controller {
    display: none;
  }
}
.hm-reason {
  position: relative;
  background-color: var(--color-white-gray);
}
@media screen and (min-width: 768px) {
  .hm-reason {
    margin-inline: 1.0416666667%;
  }
}
.hm-reason-unit {
  padding-block: 3rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit {
    padding-block: 8.4375rem 6.875rem;
  }
}
.hm-reason-unit:nth-child(2) {
  position: relative;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit:nth-child(2) {
    padding-block: 9.125rem 6.25rem;
  }
  .hm-reason-unit:nth-child(2):after {
    position: absolute;
    margin-inline: -1.0638297872%;
    inset: 0;
    border-width: 0 1.0416666667vw;
    border-style: solid;
    border-color: transparent var(--color-brand-light) transparent
      var(--color-brand);
    content: "";
    pointer-events: none;
  }
}
.hm-reason-unit__inner {
  margin-inline: 10.6666666667%;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit__inner {
    width: 62.2872340426%;
    min-width: 56.25rem;
    margin-inline: auto;
  }
}
.hm-reason-unit-title {
  display: grid;
  row-gap: 0.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit-title {
    row-gap: 1.375rem;
  }
  .hm-reason-unit:nth-child(2) .hm-reason-unit-title {
    row-gap: 1.125rem;
  }
}
.hm-reason-unit-title__prefix {
  color: var(--color-accent);
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.25;
  font-family: var(--font-family-montserrat);
  letter-spacing: 0;
}
.hm-reason-unit-title__label {
  color: var(--color-brand);
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit-title__label {
    font-size: 2.25rem;
    line-height: 1.3333333333;
    letter-spacing: 0;
  }
}
.hm-reason-unit__text {
  margin-block-start: 0.75rem;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit__text {
    margin-block-start: 1.5rem;
  }
}
.hm-reason-unit__text p {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit__text p {
    font-size: 1.25rem;
    letter-spacing: -0.02em;
    text-align: center;
  }
}
.hm-reason-unit__images {
  margin-block-start: 1rem;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit__images {
    margin-block-start: 4.875rem;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
.hm-reason-unit__image {
  display: block;
  position: relative;
}
.hm-reason-unit__image:before {
  position: absolute;
  inset: 0;
  border: 0.1875rem solid var(--color-brand);
  content: "";
}
@media screen and (min-width: 768px) {
  .hm-reason-unit__image:before {
    border-width: 0.3125rem;
  }
}
.hm-reason-unit__image img {
  width: 100%;
}
.hm-reason-unit-slide {
  margin-block-start: 1.125rem;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit-slide {
    margin-block-start: 4rem;
  }
}
.hm-reason-unit-slide__inner {
  display: grid;
  row-gap: 0.625rem;
}
.hm-reason-unit-slide__heading {
  -moz-column-gap: 1.25rem;
  display: grid;
  grid-template-columns: 7.5rem auto;
  column-gap: 1.25rem;
  align-items: center;
}
.hm-reason-unit-slide__icon {
  display: grid;
  place-content: center;
  aspect-ratio: 1/1;
  border: 1px solid var(--color-light-gray);
  border-radius: 50%;
  background-color: #fff;
}
.hm-reason-unit-slide-title {
  display: grid;
}
.hm-reason-unit-slide-title__name {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.45;
  letter-spacing: 0;
}
.hm-reason-unit-slide-title__occupation {
  margin-block-start: -0.125rem;
  color: var(--color-brand);
  font-weight: 500;
  line-height: 1.5;
}
.hm-reason-unit-slide__note {
  color: var(--color-brand);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.2;
  letter-spacing: 0;
}
.hm-reason-unit-slide__text p {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit-slide__text p {
    font-size: 1.125rem;
    line-height: 1.6666666667;
  }
}
.hm-reason-unit-slide .splide__track {
  padding-block-end: 0.875rem;
}
@media screen and (min-width: 768px) {
  .hm-reason-unit-slide .splide.is-initialized .splide__list:not(:root) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5.625rem 6.6609735269%;
  }
  .hm-reason-unit-slide .splide-controller {
    display: none;
  }
}
.hm-faq {
  padding-block: 2.625rem 2.5rem;
}
@media screen and (min-width: 768px) {
  .hm-faq {
    position: relative;
    margin-inline: 1.0416666667%;
    padding-block: 7.75rem 9.75rem;
  }
  .hm-faq:after {
    position: absolute;
    margin-inline: -1.0638297872%;
    inset: 0;
    border-width: 0 1.0416666667vw;
    border-style: solid;
    border-color: transparent var(--color-brand-light) transparent
      var(--color-brand);
    content: "";
    pointer-events: none;
  }
}
.hm-faq__inner {
  margin-inline: 2.6666666667%;
}
@media screen and (min-width: 768px) {
  .hm-faq__inner {
    width: 90.4255319149%;
    min-width: 56.25rem;
    margin-inline: auto;
  }
}
.hm-faq-title {
  display: grid;
  row-gap: 0.375rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-faq-title {
    row-gap: 1.25rem;
  }
}
.hm-faq-title__prefix {
  color: var(--color-brand);
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.4583333333;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .hm-faq-title__prefix {
    font-size: 2.25rem;
    line-height: 1.4444444444;
  }
}
.hm-faq-title__label {
  font-weight: 400;
  line-height: 2.0625;
}
@media screen and (min-width: 768px) {
  .hm-faq-title__label {
    font-size: 1.125rem;
    line-height: 1.8333333333;
  }
}
.hm-faq__units {
  display: grid;
  row-gap: 0.625rem;
  margin-block-start: 1.5rem;
}
@media screen and (min-width: 768px) {
  .hm-faq__units {
    margin-block-start: 3.875rem;
  }
}
.hm-faq-unit {
  position: relative;
}
.hm-faq-unit:after {
  position: absolute;
  inset: 0;
  border: 1px solid var(--color-brand);
  content: "";
  pointer-events: none;
}
.hm-faq-unit-q {
  display: grid;
  position: relative;
  align-items: center;
  min-height: 6.25rem;
  padding-inline: 2.5rem 5rem;
  padding-block: 0.375rem;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .hm-faq-unit-q {
    min-height: 8.125rem;
    padding-inline: 5rem 6.25rem;
    padding-block: 0.75rem;
  }
}
@media (hover: hover) {
  .hm-faq-unit-q {
    transition: opacity var(--duration) var(--ease);
  }
  .hm-faq-unit-q:hover {
    opacity: 0.6;
  }
}
.hm-faq-unit-q:before {
  position: absolute;
  top: 50%;
  left: 0.625rem;
  translate: 0 -50%;
  content: "Q";
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
  font-family: var(--font-family-montserrat);
}
@media screen and (min-width: 768px) {
  .hm-faq-unit-q:before {
    left: 1.6875rem;
    font-size: 2.5rem;
  }
}
.hm-faq-unit-q__label {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-faq-unit-q__label {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.hm-faq-unit-q__icon {
  display: grid;
  position: absolute;
  top: 50%;
  right: 1.25rem;
  place-content: center;
  aspect-ratio: 1/1;
  width: 2.5rem;
  translate: 0 -50%;
  border-radius: 50%;
  background-color: var(--color-brand);
}
@media screen and (min-width: 768px) {
  .hm-faq-unit-q__icon {
    right: 1.875rem;
  }
}
.hm-faq-unit-q__icon:before {
  -webkit-mask: var(--icon-plus) no-repeat 50% 50%/1rem;
  width: 1rem;
  height: 1rem;
  background-color: #fff;
  content: "";
  mask: var(--icon-plus) no-repeat 50% 50%/1rem;
  transition: rotate var(--duration) var(--ease);
}
[data-is-open="true"] .hm-faq-unit-q__icon:before {
  -webkit-mask: none;
  height: 2px;
  rotate: 1turn;
  mask: none;
}
.hm-faq-unit__container {
  height: 0;
  overflow: hidden;
  transition: height var(--duration) var(--ease-accordion);
}
.hm-faq-unit-a {
  display: grid;
  position: relative;
  row-gap: 1.75rem;
  padding-inline: 2.625rem 1.8125rem;
  padding-block: 1.125rem 1.625rem;
}
@media screen and (min-width: 768px) {
  .hm-faq-unit-a {
    padding-inline: 5rem 6.25rem;
    padding-block: 0.25rem 2.9375rem;
  }
}
.hm-faq-unit-a:before {
  position: absolute;
  top: 1.625rem;
  left: 0.625rem;
  content: "A";
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
  font-family: var(--font-family-montserrat);
}
@media screen and (min-width: 768px) {
  .hm-faq-unit-a:before {
    top: 0.25rem;
    left: 1.6875rem;
    font-size: 2.5rem;
  }
}
.hm-faq-unit-a p {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-faq-unit-a p {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.hm-ma {
  padding-block: 2.625rem 2.5rem;
}
@media screen and (min-width: 768px) {
  .hm-ma {
    position: relative;
    margin-inline: 1.0416666667%;
    padding-block-start: 7.75rem;
  }
  .hm-ma:after {
    position: absolute;
    margin-inline: -1.0638297872%;
    inset: 0;
    border-width: 0 1.0416666667vw;
    border-style: solid;
    border-color: transparent var(--color-brand-light) transparent
      var(--color-brand);
    content: "";
    pointer-events: none;
  }
  .hm-ma__inner,
  .hm-form__inner {
    width: 57.9787234043%;
    min-width: 52.375rem;
    margin-inline: auto;
  }
}
.hm-ma__title {
  color: var(--color-brand);
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.3333333333;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-ma__title {
    font-size: 2.25rem;
    line-height: 1.1666666667;
    letter-spacing: 0;
  }
}
.hm-ma__units {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 2.5rem;
  margin-inline: 10.6666666667%;
  margin-block-start: 3.125rem;
}
@media screen and (min-width: 768px) {
  .hm-ma__units {
    row-gap: 9.625rem;
    margin-inline: 0;
  }
}
.hm-ma-unit-slide__heading {
  position: relative;
  text-align: center;
}
.hm-ma-unit-slide-prefix {
  display: grid;
  row-gap: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .hm-ma-unit-slide-prefix {
    position: absolute;
    top: 0;
    left: clamp(-1.25rem, -2.1354166667vw, -2.5625rem);
  }
}
[data-point="success"] .hm-ma-unit-slide-prefix {
  color: var(--color-brand);
}
[data-point="failure"] .hm-ma-unit-slide-prefix {
  color: var(--color-accent);
}
.hm-ma-unit-slide-prefix__label {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.45;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-ma-unit-slide-prefix__label {
    font-size: clamp(0.875rem, 1.0416666667vw, 1.25rem);
  }
}
.hm-ma-unit-slide-prefix__number:before {
  -webkit-mask-position: 50% 50%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  margin-inline: auto;
  content: "";
  mask-position: 50% 50%;
  mask-repeat: no-repeat;
  mask-size: contain;
}
[data-point="success"] .hm-ma-unit-slide-prefix__number:before {
  background-color: var(--color-brand);
}
[data-point="failure"] .hm-ma-unit-slide-prefix__number:before {
  background-color: var(--color-accent);
}
[data-prefix="01"] .hm-ma-unit-slide-prefix__number:before {
  -webkit-mask-image: var(--number-01);
  mask-image: var(--number-01);
}
[data-prefix="02"] .hm-ma-unit-slide-prefix__number:before {
  -webkit-mask-image: var(--number-02);
  mask-image: var(--number-02);
}
[data-prefix="03"] .hm-ma-unit-slide-prefix__number:before {
  -webkit-mask-image: var(--number-03);
  mask-image: var(--number-03);
}
.hm-ma-unit-slide__image {
  aspect-ratio: 1/1;
  width: 11.25rem;
  margin-inline: auto;
  margin-block-start: 1.5625rem;
  border-radius: 50%;
  background-color: rgba(var(--color-light-gray-rgb), 0.25);
}
@media screen and (min-width: 768px) {
  .hm-ma-unit-slide__image {
    width: 58.064516129%;
  }
}
.hm-ma-unit-slide__image img {
  width: 100%;
}
.hm-ma-unit-slide__title {
  margin-block-start: 0.375rem;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-ma-unit-slide__title {
    margin-block-start: 1.625rem;
    font-size: clamp(1rem, 1.25vw, 1.5rem);
    line-height: 1.5;
  }
}
[data-point="success"] .hm-ma-unit-slide__title {
  color: var(--color-brand);
}
[data-point="failure"] .hm-ma-unit-slide__title {
  color: var(--color-accent);
}
.hm-ma-unit-slide__text {
  margin-block-start: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .hm-ma-unit-slide__text {
    margin-block-start: 1.4375rem;
  }
}
.hm-ma-unit-slide__text p {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-ma-unit-slide__text p {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    line-height: 1.6666666667;
  }
}
.hm-ma-unit .splide__track {
  padding-block-end: 1.25rem;
}
@media screen and (min-width: 768px) {
  .hm-ma-unit .splide__track {
    padding-block-end: 0;
    overflow: visible;
  }
  .hm-ma-unit .splide.is-initialized .splide__list:not(:root) {
    -moz-column-gap: 7.3394495413%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 7.3394495413%;
  }
}
.hm-ma-unit .splide__arrow {
  border: 2px solid #f0f3f5;
  background-color: #fafafa;
}
@media screen and (min-width: 768px) {
  .hm-ma-unit .splide-controller {
    display: none;
  }
}
.hm-calendar {
  background-color: #f0f3f5;
}
.hm-calendar,
.hm-form {
  display: grid;
  place-content: center;
  min-height: 25vh;
  color: #fff;
  background-color: var(--color-brand);
}
.hm-form__title {
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.3333333333;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-form {
    position: relative;
    margin-inline: 1.0416666667%;
    padding-block: 7.75rem 7.75rem;
  }
  /* .hm-form:after {
    position: absolute;
    margin-inline: -1.0638297872%;
    inset: 0;
    border-width: 0 1.0416666667vw;
    border-style: solid;
    border-color: transparent var(--color-brand-light) transparent
      var(--color-brand);
    content: "";
    pointer-events: none;
  } */
  .hm-form__title {
    font-size: 2.25rem;
    line-height: 1.1666666667;
    letter-spacing: 0;
  }
}
.hm-contact {
  background-color: var(--color-brand-light);
}
@media screen and (min-width: 768px) {
  .hm-contact {
    position: relative;
    margin-inline: 1.0416666667%;
  }
}
.hm-contact__inner {
  padding-block: 0.875rem 1.8125rem;
}
@media screen and (min-width: 768px) {
  .hm-contact__inner {
    padding-block: 4.375rem 5rem;
  }
}
.hm-contact__text {
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.1666666667;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-contact__text {
    font-size: 2.25rem;
    line-height: 1;
    letter-spacing: 0;
  }
}
.hm-contact__text small {
  display: block;
  margin-block-start: 0.125rem;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .hm-contact__text small {
    margin-block-start: 0;
    font-size: 1.25rem;
  }
}
.hm-contact__note {
  margin-block-start: 0.875rem;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-contact__note {
    margin-block-start: 0.5rem;
  }
}
.hm-contact__note p {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .hm-contact__note p {
    font-size: 1.25rem;
    line-height: 1.8;
    letter-spacing: 0;
  }
}
.hm-contact__tel {
  margin-inline: 12%;
  margin-block-start: 1.625rem;
  color: var(--color-brand);
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.4583333333;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-contact__tel {
    width: 25.75rem;
    margin-inline: auto;
    margin-block-start: 1.625rem;
  }
}
.hm-contact__tel a {
  display: grid;
  padding: 1.1875rem 1.25rem 1.25rem;
  border-radius: var(--border-radius);
  background-color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-contact__tel a {
    pointer-events: none;
  }
}
.hm-company {
  padding-block: 1.25rem 1.8125rem;
}
@media screen and (min-width: 768px) {
  .hm-company {
    position: relative;
    margin-inline: 1.0416666667%;
    padding-block: 7.875rem 0;
  }
  .hm-company:after {
    position: absolute;
    margin-inline: -1.0638297872%;
    inset: 0;
    border-width: 0 1.0416666667vw;
    border-style: solid;
    border-color: transparent var(--color-brand-light) transparent
      var(--color-brand);
    content: "";
    pointer-events: none;
  }
}
.hm-company__inner {
  margin-inline: 10.6666666667%;
}
@media screen and (min-width: 768px) {
  .hm-company__inner {
    width: 78.8031914894%;
    min-width: 56.25rem;
    margin-inline: auto;
  }
}
.hm-company__title {
  color: var(--color-brand);
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.4583333333;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-company__title {
    font-size: 2.25rem;
    line-height: 1.1666666667;
    letter-spacing: 0;
  }
}
.hm-company__units {
  margin-block-start: 1.125rem;
  border-block-start: 2px solid #98a6b5;
}
@media screen and (min-width: 768px) {
  .hm-company__units {
    margin-block-start: 5.125rem;
  }
}
.hm-company-unit {
  display: grid;
  row-gap: 0.5rem;
  padding-block: 1.25rem 1.125rem;
  border-block-end: 1px solid #cdd6dd;
}
@media screen and (min-width: 768px) {
  .hm-company-unit {
    grid-template-columns: 9.9324324324% auto;
    padding-block: 1rem 1.125rem;
  }
}
.hm-company-unit__title {
  color: #707f89;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-company-unit__title {
    font-size: 1.125rem;
    line-height: 1.4444444444;
  }
}
.hm-company-unit__text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-company-unit__text {
    font-size: 1.125rem;
    line-height: 1.4444444444;
  }
}
.hm-company__base {
  position: relative;
  margin-block-start: 1.25rem;
}
@media screen and (min-width: 768px) {
  .hm-company__base {
    margin-block-start: 2.5rem;
  }
}
.hm-company__base:after {
  position: absolute;
  inset: 0;
  border: 0.1875rem solid var(--color-brand);
  content: "";
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .hm-company__base:after {
    border-width: 0.3125rem;
  }
}
.hm-company__base img {
  width: 100%;
}
.hm-cm {
  padding-block: 0.625rem 2.25rem;
}
@media screen and (min-width: 768px) {
  .hm-cm {
    position: relative;
    margin-inline: 1.0416666667%;
    padding-block: 7.75rem 13.5rem;
  }
  .hm-cm:after {
    position: absolute;
    margin-inline: -1.0638297872%;
    inset: 0;
    border-width: 0 1.0416666667vw;
    border-style: solid;
    border-color: transparent var(--color-brand-light) transparent
      var(--color-brand);
    content: "";
    pointer-events: none;
  }
}
.hm-cm__inner {
  margin-inline: 10.6666666667%;
}
@media screen and (min-width: 768px) {
  .hm-cm__inner {
    margin-inline: 0;
  }
}
.hm-cm__title {
  color: var(--color-brand);
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.4583333333;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hm-cm__title {
    font-size: 2.25rem;
    line-height: 1.3333333333;
    letter-spacing: 0;
  }
}
.hm-cm__text {
  margin-block-start: 1.125rem;
}
@media screen and (min-width: 768px) {
  .hm-cm__text {
    margin-block-start: 1.25rem;
    text-align: center;
  }
}
.hm-cm__text p {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-cm__text p {
    font-size: 1.125rem;
    line-height: 1.8888888889;
  }
}
.hm-cm__units {
  display: grid;
  row-gap: 1rem;
  margin-block-start: 1.75rem;
}
@media screen and (min-width: 768px) {
  .hm-cm__units {
    -moz-column-gap: 3.4129692833%;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 3.4129692833%;
    width: 62.3404255319%;
    min-width: 56.25rem;
    margin-inline: auto;
    margin-block-start: 4.875rem;
  }
}
.hm-cm-unit__inner {
  display: block;
}
@media (hover: hover) {
  .hm-cm-unit__inner .hm-cm-unit-cover img {
    transition: scale var(--duration) var(--ease);
  }
  .hm-cm-unit__inner:hover .hm-cm-unit-cover img {
    scale: 1.05;
  }
}
.hm-cm-unit-cover__inner {
  display: block;
  position: relative;
  overflow: hidden;
}
.hm-cm-unit-cover__inner:after {
  position: absolute;
  inset: 0;
  border: 1px solid #707070;
  content: "";
}
.hm-cm-unit-cover img {
  width: 100%;
}
.hm-cm-unit-cover figcaption {
  margin-block-start: -0.25rem;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hm-cm-unit-cover figcaption {
    margin-block-start: 0.375rem;
    font-size: 1.125rem;
    line-height: 1.8888888889;
  }
} /*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  --pswp-root-z-index: 100000;
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: hsla(0, 0%, 100%, 0.9);
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;
  --pswp-error-text-color: var(--pswp-icon-color);
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  contain: layout style size;
  display: none;
  z-index: var(--pswp-root-z-index);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.003;
  touch-action: none;
}
.pswp,
.pswp:focus {
  outline: 0;
}
.pswp * {
  box-sizing: border-box;
}
.pswp img {
  max-width: none;
}
.pswp--open {
  display: block;
}
.pswp,
.pswp__bg {
  transform: translateZ(0);
  will-change: opacity;
}
.pswp__bg {
  background: var(--pswp-bg);
  opacity: 0.005;
}
.pswp,
.pswp__scroll-wrap {
  overflow: hidden;
}
.pswp__bg,
.pswp__container,
.pswp__content,
.pswp__img,
.pswp__item,
.pswp__scroll-wrap,
.pswp__zoom-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.pswp__img,
.pswp__zoom-wrap {
  width: auto;
  height: auto;
}
.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
  cursor: zoom-in;
}
.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
  cursor: move;
  cursor: grab;
}
.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: grabbing;
}
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
  cursor: zoom-out;
}
.pswp__button,
.pswp__container,
.pswp__counter,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.pswp__item {
  z-index: 1;
  overflow: hidden;
}
.pswp__hidden {
  display: none !important;
}
.pswp__content {
  pointer-events: none;
}
.pswp__content > * {
  pointer-events: auto;
}
.pswp__error-msg-container {
  display: grid;
}
.pswp__error-msg {
  margin: auto;
  color: var(--pswp-error-text-color);
  font-size: 1em;
  line-height: 1;
}
.pswp .pswp__hide-on-close {
  z-index: 10;
  opacity: 0.005;
  pointer-events: none;
  transition: opacity var(--pswp-transition-duration)
    cubic-bezier(0.4, 0, 0.22, 1);
  will-change: opacity;
}
.pswp--ui-visible .pswp__hide-on-close {
  opacity: 1;
  pointer-events: auto;
}
.pswp__button {
  -webkit-touch-callout: none;
  -webkit-appearance: none;
  display: block;
  position: relative;
  width: 50px;
  height: 60px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: none;
  box-shadow: none;
  cursor: pointer;
  opacity: 0.85;
}
.pswp__button:active,
.pswp__button:focus,
.pswp__button:hover {
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  opacity: 1;
  transition: none;
}
.pswp__button:disabled {
  cursor: auto;
  opacity: 0.3;
}
.pswp__icn {
  fill: var(--pswp-icon-color);
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  color: var(--pswp-icon-color-secondary);
  pointer-events: none;
}
.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}
.pswp__icn:focus {
  outline: 0;
}
.pswp__img--with-bg,
div.pswp__img--placeholder {
  background: var(--pswp-placeholder-bg);
}
.pswp__top-bar {
  display: flex;
  z-index: 10;
  position: absolute;
  top: 0;
  left: 0;
  flex-direction: row;
  justify-content: flex-end;
  width: 100%;
  height: 60px;
  pointer-events: none !important;
}
.pswp__top-bar > * {
  pointer-events: auto;
  will-change: opacity;
}
.pswp__button--close {
  margin-right: 6px;
}
.pswp__button--arrow {
  position: absolute;
  top: 0;
  top: 50%;
  width: 75px;
  height: 100px;
  margin-top: -50px;
}
.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}
.pswp__button--arrow .pswp__icn {
  top: 50%;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  border-radius: 0;
  background: none;
}
.pswp--one-slide .pswp__button--arrow {
  display: none;
}
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}
.pswp__button--arrow--prev {
  right: auto;
  left: 0;
}
.pswp__button--arrow--next {
  right: 0;
}
.pswp__button--arrow--next .pswp__icn {
  right: 14px;
  left: auto;
  transform: scaleX(-1);
}
.pswp__button--zoom {
  display: none;
}
.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}
.pswp__preloader {
  position: relative;
  width: 50px;
  height: 60px;
  margin-right: auto;
  overflow: hidden;
}
.pswp__preloader .pswp__icn {
  animation: pswp-clockwise 0.6s linear infinite;
  opacity: 0;
  transition: opacity 0.2s linear;
}
.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}
@keyframes pswp-clockwise {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  margin-inline-start: 20px;
  color: var(--pswp-icon-color);
  font-size: 14px;
  line-height: 30px;
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}
.pswp--one-slide .pswp__counter {
  display: none;
}
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.splide__track--fade > .splide__list > .splide__slide {
  z-index: 0;
  margin: 0 !important;
  opacity: 0;
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
  z-index: 1;
  opacity: 1;
}
.splide--rtl {
  direction: rtl;
}
.splide__track--ttb > .splide__list {
  display: block;
}
.splide__container {
  box-sizing: border-box;
  position: relative;
}
.splide__list {
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  backface-visibility: hidden;
}
.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}
.splide__pagination {
  -ms-flex-align: center;
  -ms-flex-pack: center;
  -ms-flex-wrap: wrap;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}
.splide__pagination li {
  display: inline-block;
  margin: 0;
  line-height: 1;
  list-style-type: none;
  pointer-events: auto;
}
.splide:not(.is-overflow) .splide__pagination {
  display: none;
}
.splide__progress__bar {
  width: 0;
}
.splide {
  visibility: hidden;
  position: relative;
}
.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}
.splide__slide {
  -ms-flex-negative: 0;
  box-sizing: border-box;
  position: relative;
  flex-shrink: 0;
  margin: 0;
  backface-visibility: hidden;
  list-style-type: none !important;
}
.splide__slide img {
  vertical-align: bottom;
}
.splide__spinner {
  contain: strict;
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 2px solid #999;
  border-radius: 50%;
  border-left-color: transparent;
  animation: splide-loading 1s linear infinite;
}
.splide__sr {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
}
.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}
.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}
.splide__track {
  z-index: 0;
  position: relative;
  overflow: hidden;
}

/* CTAボタン */

.cta-container {
  text-align: center; 
  padding: 40px; 
  background-color: #0f3291; 
  margin-inline: 0;
}

.cta-text {
  font-size: 18px;
  font-weight: bold;
  color: #fff; 
  margin-bottom: 20px; 
}

.cta-button {
  display: inline-block; 
  text-decoration: none; 
  background-color: #fff; 
  color: var(--color-accent); 
  padding: 15px 30px; 
  border-radius: 50px; 
  font-size: 16px;
  font-weight: bold;
  transition: background-color 0.3s, transform 0.2s; 
  border: 2px solid var(--color-accent);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 
}

.cta-button:hover {
  background-color: var(--color-accent); 
  color: #fff;
  transform: translateY(-2px); 
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15); 
}

@media screen and (min-width: 768px) {
  .cta-container {
    margin-inline: 1.0416666667%;
  }
}

body.no-scroll {
  overflow: hidden;
}

.openModalBtn-content {
  text-align: center;
}

#openModalBtn {
    border: 1px solid #fff;
    padding: 10px 20px;
    margin-top: 30px;
    margin-bottom: 30px;
    border-radius: 25px;
}

@media screen and (min-width: 768px) {
  #openModalBtn {
     margin-bottom: 0;
  }
}

#openModalBtn:hover {
    background: var(--color-brand-light);
    border: 1px solid var(--color-brand-light);
}

.modal {
  display: none; 
  position: fixed; 
  z-index: 1; 
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.4); 
  overflow: auto; 
}

.modal-content {
     background-color: #fff;
    margin: 30% auto;
    padding: 20px;
    border: 5px solid var(--color-brand-light);
    width: 80%;
    color: var(--color-brand);
    max-width: 600px;
    font-weight: 600;
}
@media screen and (min-width: 768px) {
  .modal-content {
      margin: 10% auto;
  }
}

.modal-content p {
  padding-bottom: 10px;
}

.close-btn {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close-btn:hover,
.close-btn:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* note */
.note {
	margin-top: 10px;
	color: #636363;
	font-size: 1rem;
}
@media screen and (max-width: 768px) {
	.note {
		font-size: 0.75rem;
	}
}