@charset "UTF-8";
/* reset・settings */
*:where(:not(html, iframe, canvas, img, svg, video, audio, dialog):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

a, button {
  cursor: revert;
}

ol, ul, menu, summary {
  list-style: none;
}

ol {
  counter-reset: revert;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

:where(pre) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: unset;
}

::-moz-placeholder {
  color: unset;
}

:-ms-input-placeholder {
  color: unset;
}

::-ms-input-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;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

::-webkit-details-marker {
  display: none;
}

:root {
  --color-main-rgb: 15 108 202;
  --color-gray-rgb: 123 133 147;
  --color-dark-rgb: 10 20 38;
  --color-grayback-rgb: 244 244 246;
  --color-neo-rgb: 254 139 35;
}

.fl-c {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* utilities(補助クラス) */
/* 全体・大枠コンテンツ */
html {
  font-size: 10px;
  scroll-behavior: smooth;
}

body {
  color: #364768;
  font-size: max(12px, 1.6rem);
  line-height: 1.6;
  font-weight: 400;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
  letter-spacing: 0.12em;
  font-optical-sizing: auto;
  font-style: normal;
  overflow-x: hidden;
  min-height: 100dvh;
  word-break: break-word;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

img {
  display: block;
  max-width: 100%;
}

@media (any-hover: hover) {
  a,
  button,
  input[type=submit] {
    -webkit-transition: opacity ease 0.3s, color ease 0.3s, border-color ease 0.3s, background-color ease 0.3s, background-image ease 0.3s;
    transition: opacity ease 0.3s, color ease 0.3s, border-color ease 0.3s, background-color ease 0.3s, background-image ease 0.3s;
  }
  a img,
  button img,
  input[type=submit] img {
    -webkit-transition: opacity ease 0.3s;
    transition: opacity ease 0.3s;
  }
  a:hover img,
  button:hover img,
  input[type=submit]:hover img {
    opacity: 0.7;
  }
  a[href*="tel:"] {
    pointer-events: none;
  }
  button {
    cursor: pointer;
  }
}
@media (any-hover: none) {
  a[href*="tel:"] {
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}
@media screen and (min-width: 769px) { /* PC */
  html {
    font-size: 62.5%;
  }
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 1280px) and (min-width: 769px) { /* TAB */
  html {
    font-size: 0.78125vw;
  }
  img[loading=lazy] {
    height: auto;
  }
}
@media screen and (max-width: 768px) { /* SP */
  html {
    font-size: 2.666vw;
  }
  .pc {
    display: none !important;
  }
  img {
    width: 100%;
    height: auto;
  }
}
body:has(dialog:modal) {
  overflow: hidden;
}

.wrap {
  background-color: #f4f4f6;
  padding-top: 7rem;
}
.wrap:not(.service-detail) main {
  padding-bottom: 10rem;
}

@media screen and (min-width: 1120px) {
  header {
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    height: 11rem;
  }
  header .message {
    height: 4rem;
    font-size: max(12px, 1.2rem);
    font-weight: 700;
    padding: 1rem 1rem;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #dedede;
  }
  header .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  header .logo {
    padding: 0 0 0.2rem 1rem;
  }
  header .logo a {
    display: block;
    width: 20rem;
  }
  header .logo a img {
    width: 100%;
  }
  header .hamburger {
    display: none;
  }
  header .h-menu {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    height: 7rem;
    width: calc(100% - 21rem);
  }
  header .h-menu__list {
    width: calc(100% - 25rem);
    padding-inline: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2rem;
  }
  header .h-menu__item:has(.h-menu__more) .h-menu__title::after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    margin-top: 0.2rem;
    min-width: 8px;
    background: url(../cmn/icon-arw-bl.svg) no-repeat center;
    background-size: 100% auto;
  }
  header .h-menu__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    height: 7rem;
    font-size: max(10px, 1.5rem);
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.3;
    position: relative;
  }
  header .h-menu__title::before {
    content: "";
    display: block;
    width: 0;
    height: 4px;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 0;
    background-color: #0f6cca;
    -webkit-transition: width ease 0.3s;
    transition: width ease 0.3s;
  }
}
@media screen and (min-width: 1120px) and (any-hover: hover) {
  header .h-menu__title:hover {
    color: #0f6cca;
  }
  header .h-menu__title:hover::before {
    width: 100%;
  }
}
@media screen and (min-width: 1120px) {
  header .h-menu__title.is-open {
    color: #0f6cca;
  }
  header .h-menu__title.is-open::before {
    width: 100%;
  }
  header .h-menu__more {
    position: absolute;
    top: 11rem;
    left: 0;
    width: 100%;
    background-color: #fff;
    display: block !important;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity ease 0.3s;
    transition: opacity ease 0.3s;
  }
}
@media screen and (min-width: 1120px) and (any-hover: hover) {
  header .h-menu__more a:hover {
    color: #0f6cca;
  }
}
@media screen and (min-width: 1120px) {
  header .h-menu__more.is-open {
    visibility: visible;
    opacity: 1;
  }
  header .h-menu__more-inner {
    width: min(100%, 134rem);
    margin-inline: auto;
    padding-inline: 3rem;
    padding-block: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 1120px) and (max-width: 768px) {
  header .h-menu__more-inner {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 1120px) {
  header .h-menu__more-title {
    padding-right: 3rem;
    min-width: max(170px, 18rem);
  }
  header .h-menu__more-title a {
    font-size: 2rem;
    font-weight: 900;
  }
  header .h-menu__more-title a span {
    display: none;
  }
  header .h-menu__more-second {
    border-left: 1px solid #dedede;
    padding-left: 3rem;
  }
  header .h-menu__more-second .secondbox {
    vertical-align: baseline;
  }
  header .h-menu__more-second .secondbox .secondbox-title,
  header .h-menu__more-second .secondbox .secondbox-menu {
    padding-bottom: 1rem;
  }
  header .h-menu__more-second .secondbox .secondbox-title {
    min-width: max(230px, 27rem);
  }
  header .h-menu__more-second .secondbox .secondbox-title a {
    font-weight: 700;
  }
  header .h-menu__more-second .secondbox .secondbox-title a::after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 0.6rem;
    background: url(../cmn/icon-arw-bl.svg) no-repeat right center;
    background-size: 100% auto;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    vertical-align: middle;
    margin-left: 1rem;
  }
  header .h-menu__more-second .secondbox .secondbox-menu {
    padding-left: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem 3rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  header .h-menu__more-second .secondbox .secondbox-menu > a {
    font-size: max(12px, 1.5rem);
    font-weight: 700;
  }
  header .h-menu__more-second .secondbox .secondbox-menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem 3rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  header .h-menu__more-second .secondbox .secondbox-menu ul li {
    font-size: max(12px, 1.4rem);
  }
  header .h-menu__more-second .secondbox .secondbox-menu ul li:not(:last-child) {
    position: relative;
  }
  header .h-menu__more-second .secondbox .secondbox-menu ul li:not(:last-child)::after {
    content: "";
    display: block;
    width: 1px;
    height: 1.5rem;
    background-color: #364768;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: -1.5rem;
  }
  header .h-menu .h-cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 1rem;
    padding-right: 1rem;
  }
  header .h-menu .h-cta__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 5rem;
    min-width: 12rem;
    border: 1px solid #0f6cca;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-size: max(12px, 1.4rem);
    border-radius: 1rem;
  }
  header .h-menu .h-cta__item span::before {
    content: "";
    display: block;
    margin-inline: auto;
    -webkit-transition: background-image ease 0.3s;
    transition: background-image ease 0.3s;
  }
  header .h-menu .h-cta__item.--document {
    color: #0f6cca;
    background-color: #fff;
  }
  header .h-menu .h-cta__item.--document span::before {
    aspect-ratio: 20/25;
    width: 1.4rem;
    background: url(../cmn/icon-note-bl.svg) no-repeat;
    background-size: 100% auto;
    margin-block: 0.2rem 0;
  }
}
@media screen and (min-width: 1120px) and (any-hover: hover) {
  header .h-menu .h-cta__item.--document:hover {
    background-color: #0f6cca;
    color: #fff;
  }
  header .h-menu .h-cta__item.--document:hover span::before {
    background: url(../cmn/icon-note-w.svg) no-repeat;
    background-size: 100% auto;
  }
}
@media screen and (min-width: 1120px) {
  header .h-menu .h-cta__item.--contact {
    background-color: #0f6cca;
    color: #fff;
  }
  header .h-menu .h-cta__item.--contact span::before {
    aspect-ratio: 28/21;
    width: 1.8rem;
    background: url(../cmn/icon-mail-w.svg) no-repeat;
    background-size: 100% auto;
    margin-block: 0.2rem 0;
  }
}
@media screen and (min-width: 1120px) and (any-hover: hover) {
  header .h-menu .h-cta__item.--contact:hover {
    color: #0f6cca;
    background-color: #fff;
  }
  header .h-menu .h-cta__item.--contact:hover span::before {
    background: url(../cmn/icon-mail-bl.svg) no-repeat;
    background-size: 100% auto;
  }
}
@media screen and (min-width: 1120px) {
  header .h-menu .h-login {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 2rem;
    position: absolute;
    top: 0;
    right: 1rem;
    height: 4rem;
    font-size: max(12px, 1.2rem);
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  header .h-menu .h-login__btn {
    color: #0f6cca;
  }
  header .h-menu .h-login__btn::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../cmn/icon-login-bl.svg) no-repeat;
    background-size: 100% auto;
    vertical-align: middle;
    margin: -2px 0 0 4px;
  }
}
@media screen and (min-width: 1120px) and (any-hover: hover) {
  header .h-menu .h-login__btn:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1120px) {
  header .h-menu .h-login .modalarea__dialog {
    width: 56rem;
  }
  header .h-menu .h-login .modalarea__dialog-container {
    text-align: center;
    padding-block: 6rem 5.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
  header .h-menu .h-login .modalarea__dialog-container a.--big {
    margin-bottom: 1.5rem;
  }
  header.sample {
    padding-inline: 0;
  }
  header.sample img {
    margin: auto;
  }
}
@media screen and (max-width: 1119px) {
  header {
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    height: 5rem;
  }
}
@media screen and (max-width: 1119px) and (any-hover: hover) {
  header a:hover,
  header .h-login__btn:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1119px) {
  header .message {
    display: none;
  }
  header .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-inline: 2rem;
    height: 5rem;
  }
  header .logo a {
    display: block;
    width: 17rem;
  }
  header .hamburger {
    width: 2.5rem;
    height: 1.9rem;
    position: relative;
  }
  header .hamburger::before, header .hamburger::after {
    content: "";
    display: block;
    width: 2.5rem;
    height: 2px;
    border-radius: 2px;
    background-color: #364768;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transition: all ease 0.3s;
    transition: all ease 0.3s;
  }
  header .hamburger::before {
    top: 0;
  }
  header .hamburger::after {
    bottom: 0;
  }
  header .hamburger__line {
    display: block;
    width: 2.5rem;
    height: 2px;
    border-radius: 2px;
    background-color: #364768;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: all ease 0.3s;
    transition: all ease 0.3s;
  }
  header .h-menu {
    position: absolute;
    top: 5rem;
    left: 0;
    width: 100%;
    height: calc(100dvh - 5rem);
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  header .h-menu::-webkit-scrollbar {
    display: none;
  }
  header .h-menu {
    background-color: #0f6cca;
    padding: 3rem 2rem;
    display: none;
  }
  header .h-menu * {
    color: #fff;
  }
  header .h-menu__item {
    margin-bottom: 2rem;
  }
  header .h-menu__title {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    display: block;
    font-weight: 700;
    padding-bottom: 0.5rem;
  }
  header .h-menu__title br {
    display: none;
  }
  header .h-menu__title.h-acdTrigger {
    position: relative;
  }
  header .h-menu__title.h-acdTrigger::before, header .h-menu__title.h-acdTrigger::after {
    display: block;
    content: "";
    width: 1.5rem;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 0;
    -webkit-transition: -webkit-transform ease 0.3s;
    transition: -webkit-transform ease 0.3s;
    transition: transform ease 0.3s;
    transition: transform ease 0.3s, -webkit-transform ease 0.3s;
  }
  header .h-menu__title.h-acdTrigger::after {
    -webkit-transform: translateY(-50%) rotate(90deg);
            transform: translateY(-50%) rotate(90deg);
  }
  header .h-menu__title.h-acdTrigger.is-open::after {
    -webkit-transform: translateY(-50%) rotate(0deg);
            transform: translateY(-50%) rotate(0deg);
  }
  header .h-menu__more {
    display: none;
    padding-bottom: 1.5rem;
  }
  header .h-menu__more-title {
    font-size: 1.6rem;
    font-weight: 700;
    margin-block: 2rem 0;
  }
  header .h-menu__more-title a::before {
    content: "";
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../cmn/icon-arw-w.svg) no-repeat center;
    background-size: 0.8rem auto;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    vertical-align: middle;
    margin-right: 1rem;
    margin-bottom: 0.4rem;
    border: 1px solid #fff;
    border-radius: calc(infinity * 1px);
  }
  header .h-menu__more-second .secondbox .secondbox-title,
  header .h-menu__more-second .secondbox .secondbox-menu {
    display: block;
  }
  header .h-menu__more-second .secondbox .secondbox-title {
    margin-top: 1.5rem;
  }
  header .h-menu__more-second .secondbox .secondbox-title a {
    font-size: 1.6rem;
    font-weight: 600;
  }
  header .h-menu__more-second .secondbox .secondbox-title a::after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 0.6rem;
    background: url(../cmn/icon-arw-w.svg) no-repeat right center;
    background-size: 100% auto;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    vertical-align: middle;
    margin-left: 1rem;
  }
  header .h-menu__more-second .secondbox .secondbox-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: 2rem;
  }
  header .h-menu__more-second .secondbox .secondbox-menu > a {
    font-size: 1.4rem;
    font-weight: 600;
    margin-top: 1rem;
  }
  header .h-menu__more-second .secondbox .secondbox-menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    margin-top: 1rem;
    font-weight: 300;
    font-size: 1.4rem;
  }
  header .h-menu .h-cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1rem 2rem;
    margin-block: 3rem;
  }
  header .h-menu .h-cta__item {
    background-color: #fff;
    border-radius: calc(infinity * 1px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-weight: 700;
    min-width: 30rem;
    width: min(100%, 40rem);
    height: 5rem;
  }
  header .h-menu .h-cta__item span {
    color: #0f6cca;
  }
  header .h-menu .h-cta__item span::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    -webkit-transition: background-image ease 0.3s;
    transition: background-image ease 0.3s;
  }
  header .h-menu .h-cta__item.--document span::before {
    width: 1.6rem;
    height: 2.1rem;
    background: url(../cmn/icon-note-bl.svg) no-repeat;
    background-size: 100% auto;
    margin-top: -2px;
  }
  header .h-menu .h-cta__item.--contact span::before {
    width: 2.2rem;
    height: 1.5rem;
    background: url(../cmn/icon-mail-bl.svg) no-repeat;
    background-size: 100% auto;
    margin-top: -2px;
  }
  header .h-menu .h-login__btn {
    border: 1px solid #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-weight: 700;
    min-width: 30rem;
    width: min(100%, 80rem);
    height: 5rem;
    margin: 1rem auto 0;
  }
  header .h-menu .h-login__btn::after {
    content: "";
    display: inline-block;
    width: 1.5rem;
    height: 1.6rem;
    background: url(../cmn/icon-login-w.svg) no-repeat;
    background-size: 100% auto;
    vertical-align: middle;
    margin: 0 0 0 4px;
  }
  header .h-menu .h-login .modalarea__dialog {
    width: 56rem;
  }
  header .h-menu .h-login .modalarea__dialog-container {
    text-align: center;
    padding-block: 6rem 3.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
  header .h-menu .h-login .modalarea__dialog-container a {
    width: max(100%, 40rem);
  }
  header .h-menu .h-login .modalarea__dialog-container a.--big {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 1400px) {
  header .h-menu__title br {
    display: none;
  }
}

@media screen and (min-width: 1120px) {
  body {
    padding-top: 11rem;
  }
  body [id^=anchor-] {
    margin-top: -11rem;
    padding-top: 11rem;
  }
  body [id^=anchor-] > * {
    position: relative;
    z-index: 1;
  }
  body::after {
    content: "";
    display: block;
    position: fixed;
    inset: 0;
    background-color: rgb(var(--color-dark-rgb)/60%);
    z-index: 1;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity ease 0.3s;
    transition: opacity ease 0.3s;
  }
  body.is-menu-open {
    height: 100%;
    overflow: hidden;
  }
  body.is-menu-open::after {
    visibility: visible;
    opacity: 1;
  }
}
@media screen and (max-width: 1119px) {
  body {
    padding-top: 5rem;
  }
  body [id^=anchor-] {
    margin-top: -5rem;
    padding-top: 5rem;
  }
  body [id^=anchor-] > * {
    position: relative;
    z-index: 1;
  }
  body.hmOpen {
    height: 100%;
    overflow: hidden;
  }
  body.hmOpen .hamburger::before {
    top: 50%;
    -webkit-transform: translateX(-50%) rotate(45deg);
            transform: translateX(-50%) rotate(45deg);
  }
  body.hmOpen .hamburger::after {
    top: 50%;
    bottom: auto;
    -webkit-transform: translateX(-50%) rotate(-45deg);
            transform: translateX(-50%) rotate(-45deg);
  }
  body.hmOpen .hamburger__line {
    opacity: 0;
  }
}

@media screen and (min-width: 769px) {
  footer {
    /* PC */
    background-color: #0a1426;
    color: #fff;
  }
  footer a {
    color: #fff;
  }
}
@media screen and (min-width: 769px) and (any-hover: hover) {
  footer a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 769px) {
  footer .inner {
    width: min(100%, 134rem);
    margin-inline: auto;
    padding-inline: 3rem;
    padding-block: 6rem 3rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 768px) {
  footer .inner {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 769px) {
  footer .f-menu {
    position: relative;
  }
  footer .f-menu__list {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    -webkit-column-gap: 4rem;
       -moz-column-gap: 4rem;
            column-gap: 4rem;
  }
  footer .f-menu__item {
    margin-bottom: 2rem;
  }
  footer .f-menu__title {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
  footer .f-menu__title a {
    display: block;
    font-weight: 700;
    padding-bottom: 0.5rem;
  }
  footer .f-menu__more {
    display: block !important;
  }
  footer .f-menu__more-title {
    display: none;
  }
  footer .f-menu__more-second {
    margin-top: 1.5rem;
  }
  footer .f-menu__more-second > a {
    display: inline-block;
    font-weight: 500;
    line-height: 1.4;
  }
  footer .f-menu__more-second > a::after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 0.6rem;
    background: url(../cmn/icon-arw-w.svg) no-repeat right center;
    background-size: 100% auto;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    vertical-align: middle;
    margin-left: 1rem;
  }
  footer .f-menu__more-second > a.--blank::after {
    content: "";
    display: inline-block;
    aspect-ratio: 1;
    width: 1.2rem;
    background: url(../cmn/icon_blank-w.svg) no-repeat;
    background-size: 100% auto;
    margin-left: 0.5rem;
    height: 1.2rem;
    -webkit-transform: none;
            transform: none;
  }
  footer .f-menu__more-third {
    margin-top: 0.5rem;
  }
  footer .f-menu__more-third > a {
    font-size: max(12px, 1.3rem);
    font-weight: 500;
  }
  footer .f-menu__more-other {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 2rem;
    margin-block: 0.8rem 1.5rem;
  }
  footer .f-menu__more-other li {
    width: calc(50% - 1rem);
    line-height: 1;
  }
  footer .f-menu__more-other li a {
    display: inline-block;
    line-height: 1.4;
    font-size: max(12px, 1.2rem);
    font-weight: 300;
  }
  footer .f-menu__contact > a {
    display: block;
    text-align: center;
    padding: 1rem;
    font-size: max(12px, 1.4rem);
    font-weight: 700;
    border: 1px solid rgba(255, 255, 255, 0.5);
    background-color: rgba(255, 255, 255, 0);
  }
}
@media screen and (min-width: 769px) and (any-hover: hover) {
  footer .f-menu__contact > a:hover {
    background-color: rgb(255, 255, 255);
    color: #0a1426;
    opacity: 1;
  }
}
@media screen and (min-width: 769px) {
  footer .f-menu__contact.--materials {
    margin-block: 3rem 2rem;
  }
  footer .f-menu .last-link {
    margin-bottom: 9rem;
  }
  footer .about {
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    margin-top: 6rem;
    padding-block: 3rem 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10rem;
  }
  footer .about .about-company {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3rem;
  }
  footer .about .logo-corp {
    width: 8rem;
    min-width: 70px;
  }
  footer .about .info__company {
    font-size: max(12px, 1.4rem);
  }
  footer .about .info__location {
    font-size: max(12px, 1.2rem);
    margin-top: 1rem;
  }
  footer .about .info__location p span {
    display: inline-block;
    width: 10rem;
    min-width: 92px;
    position: relative;
  }
  footer .about .info__location p span::after {
    content: "|";
    position: absolute;
    right: 0;
    margin-inline: 1rem;
  }
  footer .about .privilege {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
    width: calc((100% - 20rem) / 3);
    min-width: 200px;
  }
  footer .about .privilege li {
    height: 58px;
  }
  footer .copy {
    display: block;
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 10px;
    font-weight: 300;
  }
}

.modalarea__dialog {
  border: none;
  padding: 0;
  width: max(100rem, 70%);
  max-height: 85%;
  -webkit-transition: display 0.3s ease-out allow-discrete, overlay 0.3s ease-out allow-discrete, opacity 0.3s ease-out;
  transition: display 0.3s ease-out allow-discrete, overlay 0.3s ease-out allow-discrete, opacity 0.3s ease-out;
  color: #364768;
  opacity: 0;
  border-radius: 2rem;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modalarea__dialog::-webkit-scrollbar {
  display: none;
}
.modalarea__dialog:open {
  opacity: 1;
}
.modalarea__dialog::-ms-backdrop {
  background-color: transparent;
  -ms-transition: display 0.3s allow-discrete, overlay 0.3s allow-discrete, background-color 0.3s;
  transition: display 0.3s allow-discrete, overlay 0.3s allow-discrete, background-color 0.3s;
}
.modalarea__dialog::backdrop {
  background-color: transparent;
  -webkit-transition: display 0.3s allow-discrete, overlay 0.3s allow-discrete, background-color 0.3s;
  transition: display 0.3s allow-discrete, overlay 0.3s allow-discrete, background-color 0.3s;
}
.modalarea__dialog:open::-ms-backdrop {
  background-color: rgb(var(--color-dark-rgb)/60%);
}
.modalarea__dialog:open::backdrop {
  background-color: rgb(var(--color-dark-rgb)/60%);
}
.modalarea__dialog-container {
  padding: 5%;
}
.modalarea__btn {
  cursor: pointer;
}
.modalarea__btn.--close {
  background-color: #0f6cca;
  color: #fff;
  border-radius: calc(infinity * 1px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  aspect-ratio: 1;
  width: 4.1rem;
  position: absolute;
  top: 1rem;
  right: 1rem;
}

@starting-style {
  .modalarea__dialog:open {
    opacity: 0;
  }
  .modalarea__dialog:open::-ms-backdrop {
    background-color: transparent;
  }
  .modalarea__dialog:open::backdrop {
    background-color: transparent;
  }
}
.page-heading {
  padding-block: 4.2rem 3.5rem;
  background-color: #fff;
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 768px) {
  .page-heading {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.page-heading {
  border-radius: 2rem;
  margin-bottom: 10rem;
}
.page-heading__ttl {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4;
}

.pnkz {
  margin-top: 1.7rem;
}
.pnkz ul {
  white-space: nowrap;
  overflow-x: auto;
  padding-bottom: 0.5rem;
}
.pnkz ul::-webkit-scrollbar {
  width: 5px;
  height: 3px;
}
.pnkz ul::-webkit-scrollbar-track {
  background-color: #f4f4f6;
}
.pnkz ul::-webkit-scrollbar-thumb {
  background-color: rgb(var(--color-gray)/50%);
  border-radius: 8px;
}
.pnkz li {
  color: #7B8593;
  display: inline-block;
}
.pnkz li:has(a)::after {
  content: "-";
  margin-inline: 1.5rem;
}
.pnkz a {
  color: #7B8593;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .pnkz a:hover {
    text-decoration: none;
  }
}

.page-head {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .page-head {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.page-head h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-head h2 {
    /* SP */
    font-size: 2.4rem;
  }
}
.page-head__lead {
  font-size: max(12px, 2rem);
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-head__lead {
    /* SP */
    font-size: 1.6rem;
  }
}
.page-head__lead {
  margin-top: 5rem;
}
.page-head__lead p + p {
  margin-top: 2rem;
}
.page-head img {
  margin: 5rem auto 0;
}

.faqbox {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .faqbox {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.faqbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem 0;
}
.faqbox__item {
  background-color: #fff;
  padding: 2rem 3rem 3rem;
  border-radius: 2rem;
  position: relative;
}
.faqbox__ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .faqbox__ttl {
    /* SP */
    font-size: 2rem;
  }
}
.faqbox__ttl {
  position: relative;
  padding: 1rem 0 0 7rem;
  min-height: 5rem;
  cursor: pointer;
}
.faqbox__ttl::before {
  content: "Q";
  border-radius: calc(infinity * 1px);
  background-color: #f4f4f6;
  aspect-ratio: 1;
  width: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
.faqbox__main {
  margin-top: 2rem;
  padding-bottom: 0.5rem;
}
.faqbox__main table {
  margin-block: 2rem;
}
.faqbox__main a[target*=_blank]::after {
  content: "";
  display: inline-block;
  aspect-ratio: 1;
  width: 1.2rem;
  background: url(../cmn/icon_blank-w.svg) no-repeat;
  background-size: 100% auto;
  margin-left: 0.5rem;
  background: url(../cmn/icon_blank-b.svg) no-repeat;
  background-size: 100% auto;
  margin-inline: 0.5rem;
}
.faqbox__main p + p {
  margin-top: 1rem;
}
.faqbox .faq-cat {
  text-align: center;
  padding: 0.1rem 2rem;
  background-color: #f4f4f6;
  border-radius: 0.5rem;
  font-size: max(10px, 1.4rem);
  font-weight: 400;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1.5rem;
  margin-left: auto;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.main-movie {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem 4rem;
}
.main-movie.single__movie li {
  max-width: 100%;
  width: 48rem;
}
.main-movie .yt-lazy {
  position: relative;
  aspect-ratio: 16/9;
  max-width: 50rem;
  cursor: pointer;
  overflow: hidden;
  border-radius: 1.6rem;
}
.main-movie .yt-lazy:not(:first-child) {
  margin-top: 2rem;
}
.main-movie .yt-thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.main-movie .yt-play {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  line-height: 1;
  width: 68px;
  height: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #f03;
  color: #fff;
  border-radius: 10px;
  font-size: 22px;
  padding-bottom: 3px;
}
.main-movie .yt-title {
  color: #fff;
  position: absolute;
  inset: 0;
  padding: 10px 10px 10px 10px;
  font-size: 17px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), color-stop(30%, rgba(0, 0, 0, 0)), color-stop(90%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.6)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 90%, rgba(0, 0, 0, 0.6) 100%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: 0.05em;
}
.main-movie .yt-title::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 40px;
  height: 40px;
  background-image: url(https://yt3.googleusercontent.com/ytc/AIdro_lksPkQc3IwCiy9Ku3SdiHSNlWGQWgYffoDd6pBQREuQQ=s160-c-k-c0x00ffffff-no-rj);
  background-size: 40px auto;
  border-radius: calc(infinity * 1px);
  background-position: center;
  margin-right: 10px;
}
.main-movie .tag {
  background-color: #0f6cca;
  color: #fff;
  min-height: 3.8rem;
  border-radius: calc(infinity * 1px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: max(12px, 1.8rem);
  font-weight: 500;
  width: 28rem;
  padding: 0.8rem 4rem;
  text-align: center;
  margin: 0 auto 1.5rem;
}
.main-movie .tag.--partner {
  background-color: #299564;
}
.main-movie .time {
  font-size: max(12px, 1.4rem);
  letter-spacing: 0.1em;
  font-weight: 600;
  margin-top: 1rem;
}
.main-movie .time span {
  margin-left: 0.5rem;
}

.other-movie {
  width: min(100%, 104rem);
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 768px) {
  .other-movie {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.other-movie {
  background-color: #f4f4f6;
  padding-block: 4rem;
  border-radius: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: flex;
  gap: 4rem;
}
.other-movie p {
  font-size: max(12px, 1.8rem);
  font-weight: 700;
  min-width: 16rem;
}
.other-movie ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}

.num-list {
  counter-reset: olNum;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  font-size: max(12px, 1.4rem);
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.num-list li {
  background-color: #f4f4f6;
  border-radius: calc(infinity * 1px);
  padding: 1rem 4rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.num-list li::before {
  counter-increment: olNum;
  content: counter(olNum);
  border-radius: calc(infinity * 1px);
  background-color: #0f6cca;
  color: #fff;
  width: 2rem;
  height: 2rem;
  text-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: max(10px, 1.4rem);
  line-height: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 1.3rem;
}
.num-list li span {
  display: contents;
}
.num-list.--white li {
  background-color: #fff;
}
.num-list.--white li::before {
  background-color: #0f6cca;
  color: #fff;
}
.num-list.--short {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.num-list.--short li {
  width: calc(50% - 0.5rem);
}
.num-list.--neo li::before {
  background-color: #FE8B23;
}
.num-list.--works li::before {
  background-color: #DC420F;
}

.dot-list {
  font-size: max(12px, 1.4rem);
  letter-spacing: 0.1em;
}
.dot-list li {
  text-indent: -1.4rem;
  padding-left: 1.4rem;
}
.dot-list li::before {
  content: "・";
  margin-right: 0.5rem;
}
.dot-list.--short {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.dot-list.--short li {
  width: 50%;
}

.linebox {
  border: 2px solid #0f6cca;
  border-radius: 2rem;
  padding: 2.5rem 3rem;
}
.linebox__title {
  font-weight: 700;
  color: #0f6cca;
}
.linebox__title:not(:first-child) {
  margin-top: 1rem;
}

.link-nav {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .link-nav {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.link-nav ul {
  display: grid;
  -webkit-column-gap: 3.2rem;
     -moz-column-gap: 3.2rem;
          column-gap: 3.2rem;
  row-gap: 0.8rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: repeat(auto-fit, calc((100% - 6.4rem) / 3));
}
.link-nav ul li.select a {
  color: #0f6cca;
  border-color: #0f6cca;
}
.link-nav ul li.select a::after {
  background-image: url(../cmn/icon-arw-bl.svg);
  background-size: cover;
}
.link-nav ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  min-height: 6rem;
  min-width: 26.5rem;
  height: 100%;
  padding: 1rem 3rem 1rem 0;
  position: relative;
  border-bottom: 1px solid #364768;
}
.link-nav ul li a::after {
  display: block;
  content: "";
  width: 1.6rem;
  height: 0.9rem;
  background: url(../cmn/icon-arw-b.svg) no-repeat 0 0;
  background-size: cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0.5rem;
  -webkit-transition: right ease 0.3s;
  transition: right ease 0.3s;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
@media (any-hover: hover) {
  .link-nav ul li a:hover::after {
    right: 0;
  }
}
.link-nav.--short ul {
  display: grid;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
  row-gap: 0.8rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: repeat(auto-fit, calc((100% - 6rem) / 5));
}
.link-nav.--short ul li a {
  min-height: 4rem;
  min-width: auto;
  padding: 0 2rem 0 0;
}
.link-nav.--short ul li a::after {
  width: 1.2rem;
  background-position: right top;
  background-size: 100% auto;
  -webkit-transform: rotate(-90deg) translateX(25%);
          transform: rotate(-90deg) translateX(25%);
}
.link-nav.--anchor ul li a::after {
  -webkit-transform: none;
          transform: none;
  right: 0;
  -webkit-transition: top ease 0.3s;
  transition: top ease 0.3s;
}
@media (any-hover: hover) {
  .link-nav.--anchor ul li a:hover::after {
    top: 55%;
  }
}

.point-num {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  line-height: 1;
}
.point-num span {
  display: inline-block;
  padding: 0.3rem 2rem 0.3rem 1rem;
  background-color: #0f6cca;
  letter-spacing: 0.05em;
  font-size: max(12px, 1.4rem);
  color: #fff;
  clip-path: polygon(75% 0%, 100% 100%, 0% 100%, 0% 0%);
  margin-right: 0.5rem;
}
.point-num::after {
  counter-increment: pointNum;
  content: counter(pointNum, decimal-leading-zero);
  color: #0f6cca;
  font-size: 5rem;
  position: relative;
  bottom: -0.5rem;
}

.human-icon {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .human-icon {
    /* SP */
    font-size: 2rem;
  }
}
.human-icon {
  position: relative;
  padding-left: 9rem;
  min-height: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.human-icon::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1;
  width: 8rem;
  border-radius: calc(infinity * 1px);
  background-color: #f4f4f6;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  top: 0;
  left: 0;
}

.ba-image {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto 1fr auto;
  gap: 0 4%;
  position: relative;
  margin-block: 10rem 5rem;
  text-align: center;
}
.ba-image::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 40%;
  background: url(../cmn/icon-arw02-bl.svg) no-repeat;
  background-size: 100% auto;
  aspect-ratio: 43/50;
  width: 8rem;
}
.ba-image.row04 .ba-image__box {
  grid-row: span 4;
}
.ba-image__box {
  background-color: #fff;
  padding: 3rem 2.5rem;
  border-radius: 2rem;
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.ba-image__box.after .ttl {
  background-color: #0f6cca;
}
.ba-image__box.after .ttl span {
  color: #0f6cca;
}
.ba-image__box.after table .value td {
  color: #0f6cca;
}
.ba-image .ttl {
  width: 25rem;
  background-color: #7B8593;
  color: #fff;
  border-radius: 1rem;
  padding: 0.8rem 1rem;
  font-weight: 500;
  font-size: 2rem;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -2.2rem;
}
.ba-image .ttl span {
  width: 100%;
  display: block;
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  line-height: 1;
  font-size: 6.5rem;
  color: #7B8593;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -5.5rem;
  opacity: 0.5;
}
.ba-image .ttl + img {
  max-height: 20rem;
  margin: 1rem auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.ba-image .ba-img {
  max-height: 20rem;
  margin: 1rem auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.ba-image table {
  width: 100%;
  text-align: justify;
  border-collapse: separate;
  border-spacing: 1rem 0;
}
.ba-image table .unit th {
  text-align: center;
  color: #7B8593;
  font-weight: 500;
}
.ba-image table .value {
  line-height: 1;
}
.ba-image table .value td {
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
}
.ba-image table .value td span {
  font-family: "Barlow", sans-serif;
  font-size: 7rem;
  margin-inline: 0.5rem;
  font-weight: 500;
  letter-spacing: -0.05em;
}
.ba-image .txt {
  font-weight: 500;
  margin-top: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: max(10px, 1.4rem);
  -ms-flex-item-align: center;
      align-self: center;
}
.ba-image small {
  display: block;
  text-align: left;
  margin-top: 1rem;
}

.btn-primary {
  background-color: #0f6cca;
  border: 1px solid #0f6cca;
  color: #fff;
  border-radius: calc(infinity * 1px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: max(12px, 1.4rem);
  font-weight: 700;
  padding: 0.8rem 5rem;
  text-align: center;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 31rem;
  max-width: 50rem;
  min-height: 3.8rem;
}
.btn-primary::before {
  content: "";
  display: block;
  aspect-ratio: 12/5;
  width: 12px;
  background: url(../cmn/icon-arw03-w.svg) no-repeat right center;
  background-size: cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 2rem;
  -webkit-transition: right ease 0.3s, background-image ease 0.3s;
  transition: right ease 0.3s, background-image ease 0.3s;
}
.btn-primary.--big {
  min-height: 7rem;
  font-size: max(12px, 1.6rem);
  padding-inline: 6.5rem;
  min-width: 40rem;
}
.btn-primary.--big::before {
  width: 3rem;
}
.btn-primary.--big.--icon-blank::before {
  width: 1.7rem;
}
.btn-primary.--white {
  background-color: rgb(255, 255, 255);
  color: #0f6cca;
}
.btn-primary.--white::before {
  background-image: url(../cmn/icon-arw03-bl.svg);
  background-size: cover;
}
.btn-primary.--orange {
  background-color: #FE8B23;
  border-color: #FE8B23;
}
.btn-primary.--works {
  background-color: #DC420F;
  border-color: #DC420F;
}
.btn-primary.--icon-movie, .btn-primary.--icon-faq {
  background-color: #364768;
  border-color: #364768;
  padding-inline: 4.5rem 3rem;
  background-position: 1.5rem center;
  background-repeat: no-repeat;
  min-width: 23rem;
}
.btn-primary.--icon-movie::before, .btn-primary.--icon-faq::before {
  content: none;
}
.btn-primary.--icon-movie {
  background-image: url(../cmn/icon_movie_b.svg);
  background-size: 1.7rem auto;
}
.btn-primary.--icon-faq {
  background-image: url(../cmn/icon_faq_b.svg);
  background-size: 1.8rem auto;
}
.btn-primary.--icon-blank::before {
  aspect-ratio: 1;
  background: url(../cmn/icon_blank-w.svg) no-repeat;
  background-size: 100% auto;
}
.btn-primary.--icon-dl::before {
  width: 2rem;
  aspect-ratio: 1;
  background: url(../cmn/icon_dl-w.svg) no-repeat;
  background-size: 100% auto;
}
.btn-primary.--category {
  border-radius: 1rem;
  border: none;
  padding-block: 1rem;
  background-color: #fff;
  color: #364768;
  height: 100%;
  width: 100%;
}
.btn-primary.--category::before {
  background-image: url(../cmn/icon-arw03-b.svg);
  background-size: cover;
}
@media (any-hover: hover) {
  .btn-primary:hover {
    color: #0f6cca;
    background-color: #fff;
  }
  .btn-primary:hover::before {
    right: 1.5rem;
    background-image: url(../cmn/icon-arw03-bl.svg);
    background-size: cover;
  }
  .btn-primary:hover.--icon-movie {
    color: #364768;
    background-image: url(../cmn/icon_movie_w.svg);
    background-size: 1.7rem auto;
  }
  .btn-primary:hover.--icon-faq {
    color: #364768;
    background-image: url(../cmn/icon_faq_w.svg);
    background-size: 1.8rem auto;
  }
  .btn-primary:hover.--icon-blank::before {
    right: 2rem;
    background-image: url(../cmn/icon_blank-bl.svg);
    background-size: 100% auto;
  }
  .btn-primary:hover.--icon-dl::before {
    right: 2rem;
    aspect-ratio: 1;
    background: url(../cmn/icon_dl-bl.svg) no-repeat;
    background-size: 100% auto;
  }
  .btn-primary:hover.--category {
    background-color: #0f6cca;
    color: #fff;
  }
  .btn-primary:hover.--category::before {
    background-image: url(../cmn/icon-arw03-w.svg);
    background-size: cover;
  }
  .btn-primary:hover.--white {
    background-color: #0f6cca;
    color: #fff;
  }
  .btn-primary:hover.--white::before {
    background-image: url(../cmn/icon-arw03-w.svg);
    background-size: cover;
  }
  .btn-primary:hover.--orange {
    color: #FE8B23;
  }
  .btn-primary:hover.--orange::before {
    background-image: url(../cmn/icon-arw03-neo.svg);
    background-size: cover;
  }
  .btn-primary:hover.--works {
    color: #DC420F;
  }
  .btn-primary:hover.--works::before {
    background-image: url(../cmn/icon-arw03-works.svg);
    background-size: cover;
  }
  .btn-primary:hover.--works.--icon-blank::before {
    right: 2rem;
    background-image: url(../cmn/icon_blank-works.svg);
    background-size: 100% auto;
  }
}

.pageing ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.pageing ul li a:not(.prev):not(.next), .pageing ul li .current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  width: 3.5rem;
  height: 3.5rem;
  margin-inline: 0.2rem;
  letter-spacing: 0;
}
@media (any-hover: hover) {
  .pageing ul li a:not(.prev):not(.next):hover, .pageing ul li .current:hover {
    color: #0f6cca;
  }
}
.pageing ul li .current {
  color: #fff;
  background-color: #0f6cca;
  border-radius: calc(infinity * 1px);
  pointer-events: none;
}
.pageing ul li .dots {
  margin-inline: 1rem;
}
.pageing ul li:has(.prev) {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  margin-right: 2rem;
}
.pageing ul li:has(.next) {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  margin-left: 2rem;
}
.pageing ul li .prev,
.pageing ul li .next {
  background-image: url(../cmn/icon-arw-b.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.6rem auto;
  display: inline-block;
  width: 16px;
  height: 10px;
}
@media (any-hover: hover) {
  .pageing ul li .prev:hover,
  .pageing ul li .next:hover {
    background-image: url(../cmn/icon-arw-bl.svg);
    background-size: 1.6rem auto;
  }
}

.pagenation {
  text-align: center;
  padding-bottom: 10rem;
}
.pagenation .page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 4rem;
  height: 4rem;
  padding: 0;
  border-radius: 50%;
  letter-spacing: 0 !important;
  line-height: 1;
  vertical-align: top;
}
.pagenation span.page-numbers.current {
  color: #fff;
  background: var(--color-main);
}
.pagenation .pagination-arrow {
  width: 1.8rem;
  height: 1.8rem;
  display: block;
  margin-top: 0;
}
.pagenation .pagination-arrow.prev {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.pagenation .pagination-arrow.next {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.txtlink,
.faqbox__main a {
  text-decoration: underline;
  font-weight: 700;
}
@media (any-hover: hover) {
  .txtlink:hover,
  .faqbox__main a:hover {
    text-decoration: none;
  }
}

.bold,
.faqbox__main strong {
  font-weight: 700;
}

.lowercase {
  font-size: max(10px, 1.2rem);
  line-height: 1.4;
  display: inline-block;
}

.tabbox__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.tabbox__btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  height: 6rem;
  padding: 0.5rem 1rem 0;
  border-radius: 2rem 2rem 0 0;
  cursor: pointer;
  background-color: rgb(var(--color-gray-rgb)/10%);
  color: rgb(var(--color-gray-rgb)/60%);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .tabbox__btn {
    /* SP */
    font-size: 2rem;
  }
}
.tabbox__btn.is-active {
  background-color: #fff;
  color: #0f6cca;
  font-weight: 700;
}
.tabbox__main {
  padding: 6rem;
  background-color: #fff;
  border-radius: 0 0 2rem 2rem;
}
.tabbox__content {
  display: none;
}
.tabbox__content.is-active {
  display: block;
}

.annotation ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  font-size: max(10px, 1.2rem);
  line-height: 1.4;
}

.year {
  text-align: left;
}
.year th,
.year td {
  vertical-align: top;
  border-bottom: 1px solid #dedede;
}
.year tr:last-child th,
.year tr:last-child td {
  border-bottom: none;
}
.year th {
  font-size: 3rem;
  min-width: 8rem;
  letter-spacing: 0;
  color: #0f6cca;
  font-family: "Barlow", sans-serif;
  font-weight: 500;
}
.year td {
  font-size: max(12px, 1.4rem);
  padding-block: 1.5rem;
  letter-spacing: 0;
}
.year td ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.year td ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.year td ul li span {
  font-weight: bold;
  margin-right: 1rem;
  text-align: right;
  min-width: 3.7rem;
  white-space: nowrap;
}
.year td ul li [class^=icon-] {
  font-weight: 400;
  color: #fff;
  border-radius: calc(infinity * 1px);
  padding: 0 1rem 2px;
  margin: 0;
  font-size: max(10px, 1.2rem);
  letter-spacing: 0.05em;
  min-width: max(55px, 7rem);
  text-align: center;
}
.year td ul li [class^=icon-].icon-type01 {
  background-color: #364768;
}
.year td ul li [class^=icon-].icon-type02 {
  background-color: #0f6cca;
}
.year td ul li p {
  margin-left: 1rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.marker {
  background-color: #FFDC59;
  font-weight: bold;
  padding-inline: 0.3rem;
}

.plan-list {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .plan-list {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.plan-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
.plan-list__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  gap: 0;
  background-color: #fff;
  margin-top: 2rem;
  text-align: center;
  padding-bottom: 3rem;
  position: relative;
  border-radius: 1rem;
}
.plan-list__item.--all {
  margin-top: 0;
}
.plan-list__item.--all .plan-list__name {
  background-color: #0f6cca;
  padding-top: 1.4rem;
}
.plan-list__item.--all .plan-list__price dd,
.plan-list__item.--all .plan-list__icon li:not(.--off) {
  color: #0f6cca;
}
.plan-list__item.--light .plan-list__name {
  background-color: #00ABCF;
}
.plan-list__item.--light .btn-primary {
  background-color: #00ABCF;
  border-color: #00ABCF;
}
@media (any-hover: hover) {
  .plan-list__item.--light .btn-primary:hover {
    background-color: #fff;
    color: #00ABCF;
  }
}
.plan-list__item.--light .plan-list__price dd,
.plan-list__item.--light .plan-list__icon li:not(.--off) {
  color: #00ABCF;
}
.plan-list__item.--small .plan-list__name {
  background-color: #83c4d3;
}
.plan-list__item.--small .btn-primary {
  background-color: #83c4d3;
  border-color: #83c4d3;
}
@media (any-hover: hover) {
  .plan-list__item.--small .btn-primary:hover {
    background-color: #fff;
    color: #83c4d3;
  }
}
.plan-list__item.--small .plan-list__price dd,
.plan-list__item.--small .plan-list__icon li:not(.--off) {
  color: #83c4d3;
}
.plan-list__item > *:not(.btn-primary):not(.plan-list__name):not(.price_icon) {
  margin: 1rem 2rem 0;
}
.plan-list__name {
  color: #fff;
  font-size: max(12px, 1.8rem);
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 8rem;
  margin-bottom: 1rem;
  border-radius: 1rem 1rem 0 0;
}
.plan-list__name::before {
  content: attr(data-name);
  color: rgba(255, 255, 255, 0.8);
  font-size: max(12px, 1.6rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.plan-list__lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: max(10px, 1.5rem);
  letter-spacing: 0.05em;
  font-weight: 600;
}
.plan-list__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.05em;
  line-height: 1;
  border-bottom: 1px solid #dedede;
  padding-bottom: 1rem;
}
.plan-list__price dt {
  font-size: 1.4rem;
  font-weight: 700;
  width: 7rem;
  text-align: left;
}
.plan-list__price dd {
  font-size: 2.2rem;
  font-weight: 700;
  font-family: "Barlow", sans-serif;
}
.plan-list__price dd span {
  font-weight: 600;
  font-size: 5rem;
  letter-spacing: -0.02em;
  padding-inline: 0.3rem;
}
.plan-list .btn-primary {
  margin: 2rem auto 1rem;
}
.plan-list .btn-primary::before {
  content: none;
}
.plan-list__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.plan-list__icon li {
  width: calc((100% - 1rem) / 2);
  background-color: #f4f4f6;
  border-radius: 0.5rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  color: rgb(var(--color-gray-rgb)/40%);
}
.plan-list .price_icon {
  position: absolute;
  aspect-ratio: 1;
  width: 7.6rem;
  top: -2rem;
  left: -2rem;
}

.function-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.function-table th,
.function-table td {
  vertical-align: middle;
  text-align: center;
}
.function-table thead th {
  color: #fff;
  font-weight: 700;
  height: 5rem;
}
.function-table thead th:not(.empty) {
  width: 22.5rem;
}
.function-table thead th.empty {
  border: none;
}
.function-table thead th.--all {
  background-color: #0f6cca;
  border-radius: 1rem 0 0 0;
}
.function-table thead th.--light {
  background-color: #00ABCF;
}
.function-table thead th.--small {
  background-color: #83c4d3;
  border-radius: 0 1rem 0 0;
}
.function-table tbody {
  background-color: #fff;
  counter-reset: itemNum;
}
.function-table tbody tr td:first-of-type {
  text-align: left;
  font-size: max(12px, 1.5rem);
}
.function-table tbody tr td:last-child {
  color: #83c4d3;
}
.function-table tbody tr td:nth-last-child(2) {
  color: #00ABCF;
}
.function-table tbody tr td:nth-last-child(3) {
  color: #0f6cca;
}
.function-table tbody tr:first-child th {
  border-radius: 1rem 0 0 0;
}
.function-table tbody tr:last-child th {
  border-radius: 0 0 0 1rem;
  border-bottom: 1px solid #dedede;
}
.function-table tbody tr:last-child td {
  border-bottom: 1px solid #dedede;
}
.function-table tbody tr:last-child td:last-child {
  border-radius: 0 0 1rem 0;
}
.function-table tbody th {
  border: 1px solid #dedede;
  border-bottom: none;
  text-align: left;
  font-weight: 700;
  color: #0f6cca;
  background-color: rgb(var(--color-grayback-rgb)/60%);
  vertical-align: top;
  padding: 1rem 2rem;
}
.function-table tbody th::before {
  counter-increment: itemNum;
  content: counter(itemNum);
  border-radius: calc(infinity * 1px);
  background-color: #0f6cca;
  color: #fff;
  aspect-ratio: 1;
  width: 2.8rem;
  text-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
  letter-spacing: 0;
  margin-right: 0.5rem;
}
.function-table tbody td {
  padding: 0.5rem 2rem;
  border-right: 1px solid #dedede;
  border-top: 1px solid #dedede;
  font-size: 2.4rem;
  font-weight: 500;
}

@media screen and (min-width: 769px) {
  .shaft {
    /* PC */
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    counter-reset: shaftNum;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 2rem 3rem;
  }
  .shaft .box01 {
    grid-area: 1/2/4/3;
    height: 100%;
  }
  .shaft .box02 {
    grid-area: 1/3/2/4;
    width: 130%;
    margin-left: -30%;
  }
  .shaft .box03 {
    grid-area: 2/3/3/4;
  }
  .shaft .box04 {
    grid-area: 3/3/4/4;
  }
  .shaft .box06 {
    grid-area: 2/1/3/2;
  }
  .shaft .box05 {
    grid-area: 3/1/4/2;
  }
  .shaft__graph {
    position: relative;
  }
  .shaft__graph img {
    max-width: none;
    max-height: none;
    width: 45rem;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 1;
    margin: 0;
  }
}
.shaft__box {
  background-color: #fff;
  padding: 2rem 2.5rem;
  border-radius: 1rem;
  text-align: center;
  position: relative;
  text-align: justify;
  font-size: max(10px, 1.4rem);
  line-height: 1.4;
}
.shaft__box h3, .shaft__box h4 {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  margin-bottom: 1rem;
  text-indent: -3.5rem;
  padding-left: 3.5rem;
}
.shaft__box h3::before, .shaft__box h4::before {
  counter-increment: shaftNum;
  content: counter(shaftNum, decimal-leading-zero) ".";
  margin-right: 0.5rem;
}
.shaft__box .ttl {
  display: none;
}

.p-index {
  background-color: rgb(var(--color-main-rgb)/10%);
  padding: 0;
}
.p-index.wrap main {
  padding-bottom: 0;
}
.p-index section:not(.contact-cta) .section__inner {
  padding-bottom: 10rem;
}
.p-index section:not(.about):not(.issue):not(.number):not(.reason):not(.voice) .section__inner {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-index section:not(.about):not(.issue):not(.number):not(.reason):not(.voice) .section__inner {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-index .section__ttl {
  font-size: 2.4rem;
  text-align: center;
  font-weight: 700;
  position: relative;
  padding-top: 2rem;
  min-height: 12rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 5rem;
}
.p-index .section__ttl .subttl {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 14rem;
  font-weight: 900;
  color: rgb(var(--color-main-rgb)/10%);
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  max-width: 100vw;
  overflow: hidden;
}
.p-index .page-btn {
  margin: 10rem auto 0;
}
.p-index .mv .section__inner {
  padding-top: 10rem;
}
.p-index .mv .titlebox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 3rem;
}
.p-index .mv .titlebox__ttl h1 {
  font-weight: 700;
  letter-spacing: 0.09em;
  white-space: nowrap;
  font-size: max(10px, 1.6rem);
}
.p-index .mv .titlebox__ttl .maincatch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-weight: 700;
  font-size: 3rem;
  margin-block: 1.5rem 2rem;
  color: #0f6cca;
  white-space: nowrap;
}
.p-index .mv .titlebox__ttl .maincatch .marktxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  margin-right: 1.3rem;
  font-size: 4.1rem;
  line-height: 1;
}
.p-index .mv .titlebox__ttl .maincatch .marktxt span {
  background-color: #0f6cca;
  color: #fff;
  padding: 1rem 1rem 1.2rem 1.5rem;
  border-radius: 0.5rem;
}
.p-index .mv .titlebox__ttl .maincatch .fulltxt {
  display: block;
  font-size: 3.5rem;
  letter-spacing: 0.08em;
}
.p-index .mv .titlebox__ttl .subcatch {
  font-weight: 700;
  letter-spacing: 0.13em;
  font-size: 2.1rem;
}
.p-index .mv .titlebox__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 3rem;
}
.p-index .mv .titlebox__img img {
  min-width: 27rem;
}
.p-index .topmenu {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-index .topmenu {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-index .topmenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 2rem;
  margin-bottom: 10rem;
}
.p-index .topmenu li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-index .topmenu li a {
  background-color: #fff;
  border-radius: 1rem;
  padding-block: 1rem 1.5rem;
  height: 100%;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-size: max(10px, 1.5rem);
  font-weight: 600;
  color: #0f6cca;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  place-items: center;
}
.p-index .topmenu li a span {
  display: contents;
}
.p-index .topmenu li a img {
  width: 9rem;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.p-index .topmenu li a img.icon-service {
  width: 5.4rem;
  aspect-ratio: auto;
  padding-top: 1rem;
}
@media (any-hover: hover) {
  .p-index .topmenu li a:hover {
    color: #fff;
    background-color: #0f6cca;
  }
  .p-index .topmenu li a:hover img {
    opacity: 1;
  }
}
.p-index .about .section__inner {
  padding-top: 7rem;
  background-color: #fff;
}
.p-index .about .content {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-index .about .content {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-index .about .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
.p-index .about .content__box {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #f4f4f6;
  padding: 6rem;
  border-radius: 2rem;
  text-align: center;
  position: relative;
}
.p-index .about .content__box.box01 p {
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.p-index .about .content__box.box01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-index .about .content__box.box01 ul img {
  width: 100%;
}
.p-index .about .content__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
}
.p-index .about .content__flex dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  white-space: nowrap;
  padding-block: 3rem;
}
.p-index .about .content__flex dl dt {
  font-weight: 700;
  font-size: 2rem;
  margin-right: 3rem;
}
.p-index .about .content__flex dl dd {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  color: #0f6cca;
}
.p-index .about .content__flex dl dd span {
  font-family: "Barlow", sans-serif;
  font-size: 7rem;
  letter-spacing: 0;
  margin-right: 0.5rem;
}
.p-index .service .section__inner {
  padding-top: 10rem;
}
.p-index .service .contentbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 6rem;
}
.p-index .service .contentbox__main {
  width: 43%;
}
.p-index .service .contentbox__main .section__ttl {
  text-align: left;
  padding-top: 8.5rem;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.p-index .service .contentbox__main .section__ttl .subttl {
  color: rgba(255, 255, 255, 0.6);
  top: -2rem;
  left: -11rem;
  -webkit-transform: none;
          transform: none;
  mix-blend-mode: multiply;
}
.p-index .service .contentbox__main p {
  line-height: 2;
  width: 93%;
}
.p-index .service .contentbox__main .btn-primary {
  margin-top: 5rem;
}
.p-index .service .contentbox__map {
  width: 52%;
}
.p-index .service h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-index .service h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-index .service h3 {
  text-align: center;
  margin-block: 10rem 5rem;
}
.p-index .service .service-features-nav__list {
  padding: 0;
  background: none;
}
.p-index .service .service-features-nav__list a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-inline: 1.5rem 4.5rem;
  padding-block: 0;
  font-size: max(12px, 1.6rem);
}
.p-index .service .service-features-nav__list a img {
  height: 7rem;
  margin-right: 1rem;
}
@media (any-hover: hover) {
  .p-index .service .service-features-nav__list a:hover img {
    opacity: 1;
  }
}
.p-index .issue {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #364768), to(#000));
  background: linear-gradient(180deg, #364768 0, #000 100%);
}
.p-index .issue .section__inner {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-index .issue .section__inner {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-index .issue .section__inner {
  background: url(../img/03-bg.svg) top center/50rem auto no-repeat;
  padding-top: 7rem;
  color: #fff;
  position: relative;
}
.p-index .issue .section__inner::after {
  content: "";
  display: block;
  width: 12rem;
  height: 3.6rem;
  clip-path: polygon(0 0, 51% 100%, 100% 0);
  background-color: #000;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -3.4rem;
}
.p-index .issue .section__ttl .subttl {
  color: rgba(255, 255, 255, 0.1);
}
.p-index .issue .lead {
  text-align: center;
  line-height: 2;
}
.p-index .issue .btn-primary {
  margin: 3rem auto 0;
}
@media (any-hover: hover) {
  .p-index .issue .btn-primary:hover {
    border-color: #fff;
  }
}
.p-index .issue .issuebox {
  margin-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: max(12px, 1.4rem);
  font-weight: 700;
  line-height: 1;
}
.p-index .issue .issuebox li span {
  font-size: 2.7rem;
  padding-inline: 0.3rem;
}
.p-index .issue .issuebox li span.mdl {
  font-size: 2.1rem;
}
@media screen and (min-width: 769px) {
  .p-index .issue .issuebox li {
    /* PC */
  }
  .p-index .issue .issuebox li.txt01 {
    padding-right: 26%;
  }
  .p-index .issue .issuebox li.txt02 {
    padding-left: 35%;
    margin-top: 1.5rem;
  }
  .p-index .issue .issuebox li.txt03 {
    margin-top: 2rem;
    padding-left: 5%;
  }
  .p-index .issue .issuebox li.txt04 {
    margin-top: 2rem;
    padding-right: 28%;
  }
  .p-index .issue .issuebox li.txt05 {
    margin-top: 1rem;
    padding-left: 47%;
    text-align: center;
    line-height: 1.4;
  }
  .p-index .issue .issuebox li.txt06 {
    text-align: center;
    line-height: 1.4;
    padding-right: 19%;
    padding-left: 10rem;
    position: relative;
  }
  .p-index .issue .issuebox li.txt06 img {
    position: absolute;
    width: 9.4rem;
    top: 0;
    left: 0;
  }
  .p-index .issue .issuebox li.txt07 {
    margin-top: 2.5rem;
    padding-left: 45%;
  }
  .p-index .issue .issuebox li.txt08 {
    text-align: center;
    line-height: 1.4;
    margin-top: 0.7rem;
    padding-right: 26%;
  }
  .p-index .issue .issuebox li.txt09 {
    margin-top: 0.7rem;
    padding-left: 22%;
  }
  .p-index .issue .issuebox li.txt10 {
    margin-top: 3rem;
    padding-right: 18%;
  }
  .p-index .issue .issuebox li.txt11 {
    text-align: center;
    line-height: 1.4;
    margin-top: 3rem;
    padding-left: 13%;
  }
  .p-index .issue .issuebox li.txt12 {
    margin-top: 23px;
    padding-right: 37%;
  }
  .p-index .issue .issuebox li.txt13 {
    text-align: center;
    line-height: 1.4;
    padding-left: 53%;
    margin-top: -1rem;
  }
  .p-index .issue .issuebox li.txt14 {
    margin-top: -1.5rem;
    padding-right: 18%;
  }
  .p-index .issue .issuebox li.txt15 {
    margin-top: 3rem;
    padding-left: 31%;
  }
  .p-index .issue .issuebox li.txt16 {
    margin-top: 1rem;
    padding-right: 48%;
  }
  .p-index .issue .issuebox li.txt17 {
    text-align: center;
    line-height: 1.4;
    margin-top: 30px;
    padding-left: 13%;
  }
  .p-index .issue .issuebox li.txt18 {
    margin-top: 3.3rem;
    padding-right: 32%;
  }
  .p-index .issue .issuebox li.txt19 {
    margin-top: 1.2rem;
    padding-left: 31%;
  }
  .p-index .issue .issuebox li.txt20 {
    margin-top: 0.8rem;
    padding-right: 17%;
  }
  .p-index .issue .issuebox li.txt21 {
    margin-top: 1rem;
    padding-left: 31%;
  }
  .p-index .issue .issuebox li.txt22 {
    margin-top: 3.6rem;
    padding-left: 23%;
  }
  .p-index .issue .issuebox li.txt23 {
    margin-top: 1rem;
    padding-right: 20%;
  }
  .p-index .issue .issuebox li.txt24 {
    margin-top: 4.2rem;
  }
}
.p-index .issue .human {
  margin: 16rem auto 2rem;
  max-width: 76rem;
}
.p-index .innovation .section__inner {
  padding-top: 10rem;
}
.p-index .innovation .innovation-map {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(6, 1fr);
  grid-gap: 0.8rem;
}
.p-index .innovation .innovation-map li {
  background-color: #fff;
  border-radius: 1rem;
  font-size: max(12px, 1.8rem);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: #0f6cca;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 10rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
  .p-index .innovation .innovation-map li {
    /* PC */
  }
  .p-index .innovation .innovation-map li:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .p-index .innovation .innovation-map li:nth-child(2) {
    grid-area: 1/2/2/3;
  }
  .p-index .innovation .innovation-map li:nth-child(3) {
    grid-area: 1/3/2/4;
  }
  .p-index .innovation .innovation-map li:nth-child(4) {
    grid-area: 1/4/2/5;
  }
  .p-index .innovation .innovation-map li:nth-child(5) {
    grid-area: 2/1/3/2;
  }
  .p-index .innovation .innovation-map li:nth-child(6) {
    grid-area: 2/4/3/5;
  }
  .p-index .innovation .innovation-map li:nth-child(7) {
    grid-area: 3/1/4/2;
  }
  .p-index .innovation .innovation-map li:nth-child(8) {
    grid-area: 3/4/4/5;
  }
  .p-index .innovation .innovation-map li:nth-child(9) {
    grid-area: 2/2/6/4;
    position: relative;
  }
  .p-index .innovation .innovation-map li:nth-child(9) img {
    width: 120%;
    max-width: none;
    max-inline-size: none;
    max-block-size: none;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -56%);
            transform: translate(-50%, -56%);
  }
  .p-index .innovation .innovation-map li:nth-child(10) {
    grid-area: 4/1/5/2;
  }
  .p-index .innovation .innovation-map li:nth-child(11) {
    grid-area: 4/4/5/5;
  }
  .p-index .innovation .innovation-map li:nth-child(12) {
    grid-area: 5/1/6/2;
  }
  .p-index .innovation .innovation-map li:nth-child(13) {
    grid-area: 5/4/6/5;
  }
  .p-index .innovation .innovation-map li:nth-child(14) {
    grid-area: 6/1/7/2;
  }
  .p-index .innovation .innovation-map li:nth-child(15) {
    grid-area: 6/2/7/3;
  }
  .p-index .innovation .innovation-map li:nth-child(16) {
    grid-area: 6/3/7/4;
  }
  .p-index .innovation .innovation-map li:nth-child(17) {
    grid-area: 6/4/7/5;
  }
}
.p-index .innovation .innovation-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-top: 5rem;
  padding-inline: 6rem;
}
.p-index .innovation .innovation-box__box {
  width: calc(100% - 14rem);
  background-color: #fff;
  padding-block: 2rem;
  padding-inline: 14rem 3rem;
  border-radius: 1rem;
  position: relative;
}
.p-index .innovation .innovation-box__box h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-index .innovation .innovation-box__box h3 {
    /* SP */
    font-size: 1.8rem;
  }
}
.p-index .innovation .innovation-box__box h3 {
  color: #0f6cca;
  margin-bottom: 1rem;
}
.p-index .innovation .innovation-box__box h3 span {
  background-color: #0f6cca;
  color: #fff;
  padding: 0.4rem 0.8rem 0.5rem;
  border-radius: 0.3rem;
  margin-inline: 0.3rem;
  letter-spacing: 0.05em;
  line-height: 1;
  display: inline-block;
}
.p-index .innovation .innovation-box__box p {
  font-size: max(12px, 1.4rem);
}
.p-index .innovation .innovation-box__box img {
  width: 8rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 3rem;
}
.p-index .innovation .innovation-box__box:nth-child(even) {
  margin-inline: auto 0;
  padding-inline: 3rem 14rem;
}
.p-index .innovation .innovation-box__box:nth-child(even) img {
  left: auto;
  right: 3rem;
}
.p-index .number .section__inner {
  padding-top: 7rem;
  background-color: #fff;
}
.p-index .number h3 {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-index .number h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-index .number h3 {
  color: #fff;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding-block: 2rem;
}
@media screen and (min-width: 769px) {
  .p-index .number .content__list .content__item {
    /* PC */
  }
  .p-index .number .content__list .content__item.item18 .lowercase {
    text-align: center;
    margin-block: -1rem 2rem;
  }
  .p-index .number .content__list .content__item.ranking .flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-index .number .content__list .content__item.ranking .flexbox p {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-index .number .content__list .content__item.ranking .flexbox img {
    width: 54rem;
  }
  .p-index .number .content__list .content__item.ranking .before {
    margin-top: 5rem;
  }
  .p-index .number .content__list .content__item.ranking .before img {
    width: 76%;
    margin-inline: auto;
  }
  .p-index .number .content__list .content__item.price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-index .number .content__list .content__item.price .lowercase {
    display: block;
    margin-top: 0.5rem;
  }
  .p-index .number .content__list .content__item.price .box {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-index .number .content__list .content__item.price .box .txt {
    text-align: center;
    font-size: 2rem;
    font-weight: 500;
  }
}
.p-index .number .page-btn {
  margin-top: 0;
}
.p-index .price .section__inner {
  padding-top: 7rem;
}
.p-index .price .lead {
  text-align: center;
  line-height: 2;
  margin-bottom: 10rem;
}
.p-index .price .lead p + p {
  margin-top: 3rem;
}
.p-index .price .lead .imgbox {
  background-color: #fff;
  max-width: 95rem;
  border-radius: 2rem;
  padding: 1rem 7rem 2rem;
  margin: 5rem auto 0;
}
.p-index .price .lead .imgbox img {
  margin: 0;
}
.p-index .reason .section__inner {
  padding-top: 7rem;
  background-color: #fff;
}
.p-index .reason .lead {
  text-align: center;
  line-height: 2;
}
.p-index .reason .lead h3 {
  font-size: max(12px, 2rem);
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-index .reason .lead h3 {
    /* SP */
    font-size: 1.6rem;
  }
}
.p-index .reason .lead h3 {
  font-weight: 700;
  margin-bottom: 2rem;
  color: #0f6cca;
}
.p-index .reason .shaft {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-index .reason .shaft {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-index .reason .shaft {
  margin-top: 5rem;
  background-color: rgb(var(--color-main-rgb)/10%);
  padding: 2.5rem;
  border-radius: 2rem;
}
@media screen and (min-width: 769px) {
  .p-index .reason .shaft {
    /* PC */
  }
  .p-index .reason .shaft__graph img {
    left: 46%;
    width: 47rem;
  }
}
.p-index .reason .shaft__box h4 {
  color: #0f6cca;
}
.p-index .flow .section__inner {
  padding-top: 7rem;
}
.p-index .flow ol {
  max-width: 86rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem 0;
  margin: 9rem auto 0;
  counter-reset: flowNum;
}
.p-index .flow ol li {
  background-color: #fff;
  padding: 2rem 2rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 1rem;
  text-align: center;
  position: relative;
}
.p-index .flow ol li::before {
  counter-increment: flowNum;
  content: counter(flowNum, decimal-leading-zero);
  font-family: "Barlow", sans-serif;
  font-size: 10rem;
  font-weight: 900;
  color: rgb(var(--color-main-rgb)/10%);
  position: absolute;
  top: -0.2rem;
  left: 2rem;
  line-height: 1;
  letter-spacing: -0.03em;
}
.p-index .flow ol li:not(:last-child)::after {
  content: "";
  display: block;
  width: 10rem;
  height: 2.5rem;
  clip-path: polygon(0 0, 51% 100%, 100% 0);
  background-color: #fff;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -2rem;
}
.p-index .flow ol li h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-index .flow ol li h3 {
    /* SP */
    font-size: 1.8rem;
  }
}
.p-index .flow ol li h3 {
  color: #0f6cca;
  margin-bottom: 1rem;
}
.p-index .flow ol li p {
  font-size: max(12px, 1.4rem);
}
.p-index .voice .section__inner {
  padding-top: 7rem;
  background-color: #fff;
}
.p-index .voice__list {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 768px) {
  .p-index .voice__list {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-index .voice__list {
  background-color: rgb(var(--color-main-rgb)/10%);
  padding: 6rem;
  border-radius: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-top: 5rem;
}
.p-index .voice__list h3 {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-index .voice__list h3 {
    /* SP */
    font-size: 1.8rem;
  }
}
.p-index .voice__list h3 {
  text-align: center;
  margin-bottom: 2rem;
}
.p-index .voice__list h3 span {
  font-size: max(10px, 1.2rem);
  color: #0f6cca;
  display: block;
}
.p-index .voice__item:first-child .human-icon::before, .p-index .voice__item:nth-child(10) .human-icon::before {
  background-image: url(../cmn/someone_01.svg);
  background-size: 90%;
}
.p-index .voice__item:nth-child(2) .human-icon::before {
  background-image: url(../cmn/someone_02.svg);
  background-size: 90%;
}
.p-index .voice__item:nth-child(3) .human-icon::before {
  background-image: url(../cmn/someone_03.svg);
  background-size: 90%;
}
.p-index .voice__item:nth-child(4) .human-icon::before {
  background-image: url(../cmn/someone_04.svg);
  background-size: 90%;
}
.p-index .voice__item:nth-child(5) .human-icon::before {
  background-image: url(../cmn/someone_05.svg);
  background-size: 90%;
}
.p-index .voice__item:nth-child(6) .human-icon::before {
  background-image: url(../cmn/someone_06.svg);
  background-size: 90%;
}
.p-index .voice__item:nth-child(7) .human-icon::before {
  background-image: url(../cmn/someone_07.svg);
  background-size: 90%;
}
.p-index .voice__item:nth-child(8) .human-icon::before {
  background-image: url(../cmn/someone_08.svg);
  background-size: 90%;
}
.p-index .voice__item:nth-child(9) .human-icon::before {
  background-image: url(../cmn/someone_09.svg);
  background-size: 90%;
}
.p-index .voice__item {
  background-color: #fff;
  padding: 2rem;
  border-radius: 1rem;
  width: calc((100% - 2rem) / 3);
}
.p-index .voice__item .human-icon {
  font-size: max(12px, 1.6rem);
  color: #0f6cca;
  padding-left: 7rem;
  min-height: 6rem;
  margin-bottom: 1rem;
}
.p-index .voice__item .human-icon::before {
  width: 6rem;
}
.p-index .voice__item p {
  font-size: max(12px, 1.4rem);
  line-height: 1.5;
}
.p-index .faq {
  padding-bottom: 0;
}
.p-index .faq .section__inner {
  padding-top: 7rem;
}

.faq {
  padding-block: 6rem 8rem;
}
.faq__ttl {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.faq__ttl span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .faq__ttl {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.faq__ttl {
  margin-bottom: 5rem;
}

.service-features-nav {
  background-color: #fff;
  padding-block: 6rem;
}
.service-features-nav__ttl {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.service-features-nav__ttl span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .service-features-nav__ttl {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.service-features-nav__ttl {
  margin-bottom: 5rem;
}
.service-features-nav__list {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 768px) {
  .service-features-nav__list {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.service-features-nav__list {
  background-color: #f4f4f6;
  padding-block: 6rem;
  border-radius: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.service-features-nav__list li {
  width: calc((100% - 2rem) / 3);
}
.service-features-nav__btn {
  margin: 6rem auto 0;
}

.contact-cta {
  background-color: #0f6cca;
  color: #fff;
}
.contact-cta__inner {
  background: url(../cmn/puzzle_only.svg) no-repeat right top 2.5rem;
  background-size: 39rem auto;
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .contact-cta__inner {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.contact-cta__inner {
  padding-block: 3.7rem 3.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.contact-cta__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
.contact-cta__ttl {
  font-size: 2.8rem;
  font-weight: 800;
  text-align: center;
  line-height: 1.5;
}
.contact-cta__btn.--white.--big {
  margin: auto;
  min-height: 8rem;
  min-width: 44rem;
  font-size: 2rem;
}
@media (any-hover: hover) {
  .contact-cta__btn.--white.--big:hover {
    background-color: rgba(255, 255, 255, 0.5);
    color: #fff;
  }
  .contact-cta__btn.--white.--big:hover::before {
    background-image: url(../cmn/icon-arw03-w.svg);
    background-size: cover;
  }
}

.contact-fit {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 1;
  -webkit-transition: opacity ease 0.3s, -webkit-transform ease 0.3s;
  transition: opacity ease 0.3s, -webkit-transform ease 0.3s;
  transition: opacity ease 0.3s, transform ease 0.3s;
  transition: opacity ease 0.3s, transform ease 0.3s, -webkit-transform ease 0.3s;
}
.contact-fit:not(.is-show) {
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}
.contact-fit a {
  display: block;
  aspect-ratio: 1;
  width: 25rem;
  border-radius: 25rem 25rem 25rem;
  position: relative;
  background-color: #0f6cca;
  padding-top: 15.8rem;
}
.contact-fit a img {
  width: 24rem;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -10rem;
}
.contact-fit a p {
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.contact-fit a p br {
  display: none;
}
.contact-fit a p span {
  font-weight: 700;
  display: block;
  letter-spacing: 0.05em;
  font-size: 2.3rem;
  margin-top: 0.5rem;
}
@media (any-hover: hover) {
  .contact-fit a:hover {
    opacity: 0.7;
  }
  .contact-fit a:hover img {
    opacity: 1;
  }
}
.contact-fit .close {
  position: absolute;
  top: -10rem;
  right: 0;
  display: block;
  aspect-ratio: 1;
  width: 2.7rem;
  border-radius: calc(infinity * 1px);
  background-color: #fff;
  color: #7B8593;
  text-align: center;
  line-height: 2.7rem;
  padding-left: 0.2rem;
}

.service-detail .link-nav {
  margin-block: 10rem 4rem;
}
.service-detail .about h2,
.service-detail .point h2,
.service-detail .beforeafter h2,
.service-detail .voice h2,
.service-detail .movie h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.service-detail .about h2 span,
.service-detail .point h2 span,
.service-detail .beforeafter h2 span,
.service-detail .voice h2 span,
.service-detail .movie h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .service-detail .about h2,
  .service-detail .point h2,
  .service-detail .beforeafter h2,
  .service-detail .voice h2,
  .service-detail .movie h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.service-detail .about h2,
.service-detail .point h2,
.service-detail .beforeafter h2,
.service-detail .voice h2,
.service-detail .movie h2 {
  margin-bottom: 5rem;
}
.service-detail .about .btn-primary:not(.--category),
.service-detail .point .btn-primary:not(.--category),
.service-detail .beforeafter .btn-primary:not(.--category),
.service-detail .voice .btn-primary:not(.--category),
.service-detail .movie .btn-primary:not(.--category) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 2.5rem;
}
.service-detail .about__inner {
  padding-block: 6rem 10rem;
}
.service-detail .about__item {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 768px) {
  .service-detail .about__item {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.service-detail .about__item {
  background-color: #fff;
  padding-block: 6rem;
  border-radius: 2rem;
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.service-detail .about__item:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.service-detail .about__item img {
  margin: auto;
}
.service-detail .about__main {
  width: 50%;
  padding-bottom: 1rem;
}
.service-detail .about__main.--full {
  width: 100%;
  padding-bottom: 0;
}
.service-detail .about__main.--full h3,
.service-detail .about__main.--full h4 {
  text-align: center;
}
.service-detail .about__main h3,
.service-detail .about__main h4 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .service-detail .about__main h3,
  .service-detail .about__main h4 {
    /* SP */
    font-size: 2rem;
  }
}
.service-detail .about__main h3,
.service-detail .about__main h4 {
  color: #0f6cca;
  margin-bottom: 1.5rem;
}
.service-detail .about__main h3:has(+ img),
.service-detail .about__main h4:has(+ img) {
  margin-bottom: 4rem;
}
.service-detail .about__main .num-list {
  margin-top: 2.5rem;
}
.service-detail .about__main .num-list + p {
  margin-top: 2.5rem;
}
.service-detail .about__main .linebox {
  margin-top: 2.5rem;
}
.service-detail .about__main .linebox + p {
  margin-top: 2.5rem;
}
.service-detail .about__aside {
  width: 46%;
  padding-inline: 5%;
}
.service-detail .about__aside + .--full {
  margin-top: 6rem;
}
.service-detail .point__inner {
  padding-block: 4rem 6rem;
  counter-reset: pointNum;
}
.service-detail .point__item {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .service-detail .point__item {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.service-detail .point__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-top: 5rem;
}
.service-detail .point__item:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.service-detail .point__item .btn-primary {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 2.5rem;
}
.service-detail .point__main {
  width: 52%;
  padding-bottom: 1rem;
}
.service-detail .point__main h2,
.service-detail .point__main h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .service-detail .point__main h2,
  .service-detail .point__main h3 {
    /* SP */
    font-size: 2rem;
  }
}
.service-detail .point__main h2,
.service-detail .point__main h3 {
  margin-block: 1.5rem;
}
.service-detail .point__main .num-list {
  margin-block: 2.5rem;
}
.service-detail .point__main.--full {
  width: 100%;
  padding-bottom: 0;
}
.service-detail .point__main.--full img {
  margin: 2.5rem auto 0;
}
.service-detail .point__main p + p {
  margin-top: 1rem;
}
.service-detail .point__aside {
  width: 44%;
  padding-inline: 5%;
  padding-top: 3rem;
  position: relative;
}
.service-detail .point__aside img {
  margin: auto;
}
.service-detail .point__aside + .--full {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .service-detail .point {
    /* SP */
  }
  .service-detail .point__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    padding-inline: 0;
    margin-top: 3rem;
  }
  .service-detail .point__item:nth-child(odd) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .service-detail .point__item img {
    max-width: 90%;
  }
  .service-detail .point__item .btn-primary {
    margin: 2.5rem auto 0;
  }
  .service-detail .point__main {
    width: 100%;
    padding-bottom: 0;
  }
  .service-detail .point__main.--full img {
    margin-top: 2rem;
  }
  .service-detail .point__aside {
    width: 100%;
    padding-top: 0;
  }
  .service-detail .point__aside + .--full {
    margin-top: 0;
  }
}
.service-detail .beforeafter__inner {
  background-color: #fff;
  padding-block: 6rem;
}
.service-detail .beforeafter__contents {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 768px) {
  .service-detail .beforeafter__contents {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.service-detail .beforeafter__contents {
  text-align: center;
  background-color: #f4f4f6;
  padding-block: 6rem;
  border-radius: 2rem;
}
.service-detail .beforeafter .ba-image {
  margin-block: 10rem 5rem;
}
.service-detail .beforeafter__catch {
  font-weight: 600;
  margin-top: 3rem;
}
.service-detail .beforeafter__costcut {
  width: 95rem;
  margin: 6rem auto 0;
}
.service-detail .voice__inner {
  padding-block: 6rem 9rem;
}
.service-detail .voice__item {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 768px) {
  .service-detail .voice__item {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.service-detail .voice__item {
  background-color: #fff;
  padding-block: 6rem;
  border-radius: 2rem;
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.service-detail .voice__item:first-child .human-icon::before, .service-detail .voice__item:nth-child(10) .human-icon::before {
  background-image: url(../cmn/someone_01.svg);
  background-size: 90%;
}
.service-detail .voice__item:nth-child(2) .human-icon::before {
  background-image: url(../cmn/someone_02.svg);
  background-size: 90%;
}
.service-detail .voice__item:nth-child(3) .human-icon::before {
  background-image: url(../cmn/someone_03.svg);
  background-size: 90%;
}
.service-detail .voice__item:nth-child(4) .human-icon::before {
  background-image: url(../cmn/someone_04.svg);
  background-size: 90%;
}
.service-detail .voice__item:nth-child(5) .human-icon::before {
  background-image: url(../cmn/someone_05.svg);
  background-size: 90%;
}
.service-detail .voice__item:nth-child(6) .human-icon::before {
  background-image: url(../cmn/someone_06.svg);
  background-size: 90%;
}
.service-detail .voice__item:nth-child(7) .human-icon::before {
  background-image: url(../cmn/someone_07.svg);
  background-size: 90%;
}
.service-detail .voice__item:nth-child(8) .human-icon::before {
  background-image: url(../cmn/someone_08.svg);
  background-size: 90%;
}
.service-detail .voice__item:nth-child(9) .human-icon::before {
  background-image: url(../cmn/someone_09.svg);
  background-size: 90%;
}
.service-detail .voice__item:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.service-detail .voice__main {
  width: 56%;
  padding-bottom: 1rem;
}
.service-detail .voice__main h3 {
  margin-bottom: 2.5rem;
}
.service-detail .voice__main P {
  margin-top: 1rem;
}
.service-detail .voice__main .num-list {
  margin-top: 2.5rem;
}
.service-detail .voice__aside {
  width: 40%;
  padding-inline: 5%;
}
.service-detail .voice__aside img {
  margin: auto;
}
.service-detail .movie__inner {
  background-color: #fff;
  padding-block: 6rem 9rem;
}
.service-detail .movie__contents {
  width: min(100%, 100rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .service-detail .movie__contents {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.service-detail .movie .main-movie {
  display: grid;
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
  row-gap: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: repeat(auto-fit, calc((100% - 4rem) / 2));
}
.service-detail .movie .main-movie__item {
  min-width: 48rem;
}
.service-detail .movie .other-movie {
  margin-top: 5rem;
}
.service-detail .movie .other-movie .btn-primary {
  margin-top: 0;
  min-width: 22rem;
}

.p-attendance .attendance_00 {
  width: 87rem;
}
.p-attendance .attendance_01 {
  width: 38rem;
}
.p-attendance .attendance_02 {
  width: 30rem;
}
.p-attendance .attendance_03 {
  width: 87rem;
}
.p-attendance .attendance_05 {
  position: relative;
  left: -3rem;
}
.p-attendance .attendance_05_2 {
  position: absolute;
  right: 0;
  bottom: -3rem;
  width: 12rem;
}
.p-attendance .attendance_06 {
  position: relative;
  right: -4rem;
}
.p-attendance .attendance_06_2 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 12rem;
}
.p-attendance .attendance_09 {
  width: 30rem;
}
.p-attendance .beforeafter__reduce {
  margin: 3rem auto 8rem;
}

.p-foreigner .point .point__item {
  counter-reset: flexNum;
}
.p-foreigner .point img.foreigner01 {
  -o-object-fit: cover;
     object-fit: cover;
  width: 80%;
  height: 20rem;
}
.p-foreigner .point .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-top: 3rem;
}
.p-foreigner .point .flexbox:first-child {
  margin-top: 0;
}
.p-foreigner .point .flexbox__text {
  width: 52%;
}
.p-foreigner .point .flexbox__text h4 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-foreigner .point .flexbox__text h4 {
    /* SP */
    font-size: 1.8rem;
  }
}
.p-foreigner .point .flexbox__text h4 {
  margin-bottom: 1.5rem;
}
.p-foreigner .point .flexbox__text h4::before {
  counter-increment: flexNum;
  content: counter(flexNum) ".";
}
.p-foreigner .point .flexbox__text .lowercase {
  margin-top: 1.5rem;
  line-height: 1.6;
}
.p-foreigner .point .flexbox__img {
  width: 44%;
  padding-inline: 3%;
}
.p-foreigner .point .flexbox__img img {
  margin: auto;
  background-color: #fff;
  padding: 0 3rem;
  border-radius: 2rem;
}
.p-foreigner .point .flexbox__img img.foreigner_02 {
  padding-block: 1.5rem;
}
.p-foreigner .beforeafter h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-foreigner .beforeafter h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-foreigner .beforeafter h3 {
  margin-bottom: 5rem;
  text-align: center;
}
.p-foreigner .beforeafter h3:not(:first-child) {
  margin-top: 6rem;
}
.p-foreigner .beforeafter .ba-image:last-child {
  margin-bottom: 0;
}
.p-foreigner .beforeafter .txt {
  margin-top: 0;
  font-size: max(12px, 1.6rem);
}
.p-foreigner .beforeafter .after .txt {
  color: #0f6cca;
}
.p-foreigner .beforeafter .liquid {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 768px) {
  .p-foreigner .beforeafter .liquid {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-foreigner .beforeafter .liquid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 6rem;
}
.p-foreigner .beforeafter .liquid div {
  width: 46%;
}
.p-foreigner .beforeafter .liquid .liquid__logo-se {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-foreigner .beforeafter .liquid .liquid__logo-se::after {
  display: block;
  content: "×";
  font-size: 6rem;
  font-weight: 500;
  color: #0f6cca;
  line-height: 1;
  margin-inline: 1rem;
}
.p-foreigner .movie video {
  aspect-ratio: 16/9;
  max-width: 50rem;
  height: auto;
  border-radius: 1.6rem;
}

.p-payroll .payroll_after-2 {
  margin: 2rem auto 0;
}

.p-apply .ba-image .ttl + img.apply_after {
  max-height: 24rem;
  margin-block: -1.5rem;
}

@media screen and (min-width: 769px) {
  .p-faq {
    /* PC */
  }
  .p-faq .faqnav {
    background-color: #0f6cca;
    position: sticky;
    top: 11rem;
    z-index: 1;
    margin-block: 10rem 12rem;
  }
  .p-faq .faqnav__inner {
    width: min(100%, 112rem);
    margin-inline: auto;
    padding-inline: 0;
    padding-block: 1rem;
    position: relative;
  }
}
@media screen and (min-width: 769px) and (max-width: 768px) {
  .p-faq .faqnav__inner {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .p-faq .faqnav__tab {
    width: 23rem;
    height: 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    font-weight: 700;
    color: #fff;
    background-color: #0f6cca;
    border-radius: 0 0 2rem 2rem;
    cursor: pointer;
    padding: 0;
    position: absolute;
    right: 0;
    bottom: -4rem;
    font-size: max(10px, 1.4rem);
    padding-bottom: 0.5rem;
  }
  .p-faq .faqnav__menu {
    display: grid;
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
    row-gap: 1rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    grid-template-columns: repeat(auto-fit, calc((100% - 3rem) / 4));
    margin-block: 1rem;
  }
  .p-faq .faqnav__menu > li > a, .p-faq .faqnav__menu > li > button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #fff;
    height: 4.2rem;
    width: 100%;
    font-weight: 700;
    color: #0f6cca;
    letter-spacing: 0.05em;
  }
  .p-faq .faqnav__menu > li > a img, .p-faq .faqnav__menu > li > button img {
    aspect-ratio: 1;
    width: 2rem;
    margin-right: 0.5rem;
    -webkit-transition: -webkit-filter ease 0.3s;
    transition: -webkit-filter ease 0.3s;
    transition: filter ease 0.3s;
    transition: filter ease 0.3s, -webkit-filter ease 0.3s;
  }
}
@media screen and (min-width: 769px) and (any-hover: hover) {
  .p-faq .faqnav__menu > li > a:hover, .p-faq .faqnav__menu > li > button:hover {
    background-color: rgba(255, 255, 255, 0.5);
    color: #fff;
  }
  .p-faq .faqnav__menu > li > a:hover img, .p-faq .faqnav__menu > li > button:hover img {
    opacity: 1;
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
}
@media screen and (min-width: 769px) {
  .p-faq .faqnav__menu > li.select > a, .p-faq .faqnav__menu > li.select > button {
    background-color: rgba(255, 255, 255, 0.5);
    color: #fff;
  }
  .p-faq .faqnav__menu > li.select > a img, .p-faq .faqnav__menu > li.select > button img {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
  .p-faq .faqnav__menu > li.menu-Trigger {
    position: relative;
  }
  .p-faq .faqnav__menu > li.menu-Trigger button {
    cursor: auto;
    position: relative;
  }
  .p-faq .faqnav__menu > li.menu-Trigger button::after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    margin-top: 0.2rem;
    min-width: 8px;
    background: url(../cmn/icon-arw-bl.svg) no-repeat center;
    background-size: 100% auto;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.6rem;
    right: 2rem;
  }
}
@media screen and (min-width: 769px) and (any-hover: hover) {
  .p-faq .faqnav__menu > li.menu-Trigger:hover .acdArea {
    visibility: visible;
    opacity: 1;
  }
}
@media screen and (min-width: 769px) {
  .p-faq .faqnav__menu > li .acdArea {
    position: absolute;
    width: 100%;
    background-color: #f4f4f6;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem 0;
    padding: 1.3rem 1rem 1rem;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity ease 0.3s, visibility ease 0.3s;
    transition: opacity ease 0.3s, visibility ease 0.3s;
    z-index: 1;
  }
  .p-faq .faqnav__menu > li .acdArea li.line {
    border-top: 1px dashed #dedede;
    margin-top: 1rem;
    padding-top: 1rem;
  }
  .p-faq .faqnav__menu > li .acdArea li a {
    font-weight: 500;
    display: block;
    position: relative;
  }
  .p-faq .faqnav__menu > li .acdArea li a::after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    margin-top: 0.2rem;
    min-width: 8px;
    background: url(../cmn/icon-arw-b.svg) no-repeat center;
    background-size: 100% auto;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transform: translateY(-50%) rotate(-90deg);
            transform: translateY(-50%) rotate(-90deg);
    right: 0;
  }
}
.p-faq main h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-faq main h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-faq main h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.p-faq main h2 {
  margin-bottom: 5rem;
}
.p-faq main h2 + .pageing, .p-faq main h2 + .pagenation {
  padding-bottom: 0;
  margin-block: 7rem 5rem;
}
.p-faq .faqbox .pageing,
.p-faq .faqbox .pagenation {
  padding-bottom: 0;
  margin-top: 3rem;
}

.p-movie .page-head,
.p-manual-movie .page-head {
  margin-bottom: 10rem;
}
.p-movie .link-nav,
.p-manual-movie .link-nav {
  margin-bottom: 10rem;
}
.p-movie .movieArea,
.p-manual-movie .movieArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
.p-movie .movieArea__body,
.p-manual-movie .movieArea__body {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 768px) {
  .p-movie .movieArea__body,
  .p-manual-movie .movieArea__body {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-movie .movieArea__body,
.p-manual-movie .movieArea__body {
  background-color: #fff;
  padding-block: 6rem;
  border-radius: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-movie .movieArea__about,
.p-manual-movie .movieArea__about {
  width: 50%;
}
.p-movie .movieArea__about h2,
.p-manual-movie .movieArea__about h2 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-movie .movieArea__about h2,
  .p-manual-movie .movieArea__about h2 {
    /* SP */
    font-size: 2rem;
  }
}
.p-movie .movieArea__about h2,
.p-manual-movie .movieArea__about h2 {
  color: #0f6cca;
  margin-bottom: 1.5rem;
}
.p-movie .movieArea__about .btn-primary,
.p-manual-movie .movieArea__about .btn-primary {
  margin-top: 2.5rem;
  width: 100%;
  max-width: none;
}
.p-movie .movieArea__about .main-movie,
.p-manual-movie .movieArea__about .main-movie {
  gap: 0;
  margin-top: 2rem;
}
.p-movie .movieArea__about .main-movie__item,
.p-manual-movie .movieArea__about .main-movie__item {
  min-width: 100%;
}
.p-movie .movieArea__main,
.p-manual-movie .movieArea__main {
  width: 46%;
}
.p-movie .movieArea__main .main-movie__item,
.p-manual-movie .movieArea__main .main-movie__item {
  min-width: 100%;
}
.p-movie .movieArea .other-movie,
.p-manual-movie .movieArea .other-movie {
  margin-top: 2rem;
  padding: 2rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0;
}
.p-movie .movieArea .other-movie p,
.p-manual-movie .movieArea .other-movie p {
  margin-bottom: 1rem;
}
.p-movie .movieArea .other-movie ul,
.p-manual-movie .movieArea .other-movie ul {
  gap: 0.5rem 0.5rem;
}
.p-movie .movieArea:not(.--column) .movieArea__main,
.p-manual-movie .movieArea:not(.--column) .movieArea__main {
  background-color: #f4f4f6;
  padding: 3rem;
  border-radius: 2rem;
}
@media screen and (min-width: 769px) {
  .p-movie .movieArea,
  .p-manual-movie .movieArea {
    /* PC */
  }
  .p-movie .movieArea.--column,
  .p-manual-movie .movieArea.--column {
    width: min(100%, 112rem);
    margin-inline: auto;
    padding-inline: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) and (max-width: 768px) {
  .p-movie .movieArea.--column,
  .p-manual-movie .movieArea.--column {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .p-movie .movieArea.--column .movieArea__article,
  .p-manual-movie .movieArea.--column .movieArea__article {
    width: calc((100% - 3rem) / 2);
  }
  .p-movie .movieArea.--column .movieArea__body,
  .p-manual-movie .movieArea.--column .movieArea__body {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    height: 100%;
  }
  .p-movie .movieArea.--column .movieArea__about,
  .p-manual-movie .movieArea.--column .movieArea__about {
    width: 100%;
  }
  .p-movie .movieArea.--column .movieArea__main,
  .p-manual-movie .movieArea.--column .movieArea__main {
    width: 100%;
  }
}

.p-blog.wrap main {
  padding-bottom: 0;
}
.p-blog .blogwrap {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-blog .blogwrap {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-blog .blogwrap__single .cta-button {
  background-color: #0f6cca;
  border: 1px solid #0f6cca;
  color: #fff;
  min-height: 7rem;
  border-radius: calc(infinity * 1px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 700;
  padding: 1.6rem 6.5rem;
  text-align: center;
  position: relative;
  min-width: 21rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 5rem auto;
  text-decoration: none;
}
.p-blog .blogwrap__single .cta-button br {
  display: none;
}
.p-blog .blogwrap__single .cta-button .arrow-icon {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 2rem;
  -webkit-transition: right ease 0.3s;
  transition: right ease 0.3s;
}
@media (any-hover: hover) {
  .p-blog .blogwrap__single .cta-button:hover {
    color: #0f6cca;
    background-color: #fff;
  }
  .p-blog .blogwrap__single .cta-button:hover .arrow-icon {
    right: 1.5rem;
  }
}
.p-blog .blog__head {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-blog .blog__head span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-blog .blog__head {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}

.p-sitemap .sitemap-lists {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-sitemap .sitemap-lists {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}

.p-resources .page-head {
  margin-bottom: 13rem;
}
.p-resources .page-head ul {
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem;
}
.p-resources .page-head ul li {
  min-width: 44rem;
}
.p-resources .page-head ul li a {
  width: 100%;
}
.p-resources .resources-list {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-resources .resources-list {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-resources .resources-list .page-head {
  margin-bottom: 5rem;
}
.p-resources .resources-list .link-nav {
  margin-bottom: 8rem;
}
.p-resources .resources-list .listArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
.p-resources .resources-list .listArea__body {
  background-color: #f4f4f6;
  padding: 3rem;
  border-radius: 2rem;
}
.p-resources .resources-list .listArea h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-resources .resources-list .listArea h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-resources .resources-list .listArea h3 {
  margin-bottom: 1.5rem;
}
.p-resources .resources-list .listArea ul.dot-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  font-weight: 500;
}
.p-resources .resources-list .listArea ul.dot-list li {
  width: calc((100% - 3rem) / 3);
  text-indent: -1.9rem;
  padding-left: 1.9rem;
}
.p-resources .resources-list .listArea ul.dot-list li a {
  text-decoration: underline;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
}
@media (any-hover: hover) {
  .p-resources .resources-list .listArea ul.dot-list li a:hover {
    text-decoration: none;
    opacity: 0.7;
  }
}

.p-service section:not(:last-child),
.p-trust section:not(:last-child),
.p-group section:not(:last-child),
.p-weblite section:not(:last-child),
.p-features section:not(:last-child) {
  margin-bottom: 10rem;
}
.p-service section:not(.page-head) h2,
.p-trust section:not(.page-head) h2,
.p-group section:not(.page-head) h2,
.p-weblite section:not(.page-head) h2,
.p-features section:not(.page-head) h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-service section:not(.page-head) h2 span,
.p-trust section:not(.page-head) h2 span,
.p-group section:not(.page-head) h2 span,
.p-weblite section:not(.page-head) h2 span,
.p-features section:not(.page-head) h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-service section:not(.page-head) h2,
  .p-trust section:not(.page-head) h2,
  .p-group section:not(.page-head) h2,
  .p-weblite section:not(.page-head) h2,
  .p-features section:not(.page-head) h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.p-service section:not(.page-head) h2,
.p-trust section:not(.page-head) h2,
.p-group section:not(.page-head) h2,
.p-weblite section:not(.page-head) h2,
.p-features section:not(.page-head) h2 {
  margin-bottom: 5rem;
}
.p-service .page-head img,
.p-trust .page-head img,
.p-group .page-head img,
.p-weblite .page-head img,
.p-features .page-head img {
  max-width: 87rem;
}
.p-service .contents,
.p-trust .contents,
.p-group .contents,
.p-weblite .contents,
.p-features .contents {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-service .contents,
  .p-trust .contents,
  .p-group .contents,
  .p-weblite .contents,
  .p-features .contents {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-service .contents__item,
.p-trust .contents__item,
.p-group .contents__item,
.p-weblite .contents__item,
.p-features .contents__item {
  background-color: #fff;
  padding: 6rem;
  border-radius: 2rem;
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-service .contents__item:nth-child(odd),
.p-trust .contents__item:nth-child(odd),
.p-group .contents__item:nth-child(odd),
.p-weblite .contents__item:nth-child(odd),
.p-features .contents__item:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.p-service .contents__item img,
.p-trust .contents__item img,
.p-group .contents__item img,
.p-weblite .contents__item img,
.p-features .contents__item img {
  margin: auto;
}
@media screen and (min-width: 769px) {
  .p-service .contents__item,
  .p-trust .contents__item,
  .p-group .contents__item,
  .p-weblite .contents__item,
  .p-features .contents__item {
    /* PC */
  }
  .p-service .contents__item.--full,
  .p-trust .contents__item.--full,
  .p-group .contents__item.--full,
  .p-weblite .contents__item.--full,
  .p-features .contents__item.--full {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
  .p-service .contents__item.--full .contents__main,
  .p-trust .contents__item.--full .contents__main,
  .p-group .contents__item.--full .contents__main,
  .p-weblite .contents__item.--full .contents__main,
  .p-features .contents__item.--full .contents__main {
    width: 100%;
  }
  .p-service .contents__item.--full .contents__main h3,
  .p-trust .contents__item.--full .contents__main h3,
  .p-group .contents__item.--full .contents__main h3,
  .p-weblite .contents__item.--full .contents__main h3,
  .p-features .contents__item.--full .contents__main h3 {
    text-align: center;
  }
  .p-service .contents__item.--full .contents__aside,
  .p-trust .contents__item.--full .contents__aside,
  .p-group .contents__item.--full .contents__aside,
  .p-weblite .contents__item.--full .contents__aside,
  .p-features .contents__item.--full .contents__aside {
    width: 100%;
  }
}
.p-service .contents__main,
.p-trust .contents__main,
.p-group .contents__main,
.p-weblite .contents__main,
.p-features .contents__main {
  width: 54%;
}
.p-service .contents__main h3,
.p-trust .contents__main h3,
.p-group .contents__main h3,
.p-weblite .contents__main h3,
.p-features .contents__main h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-service .contents__main h3,
  .p-trust .contents__main h3,
  .p-group .contents__main h3,
  .p-weblite .contents__main h3,
  .p-features .contents__main h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-service .contents__main h3,
.p-trust .contents__main h3,
.p-group .contents__main h3,
.p-weblite .contents__main h3,
.p-features .contents__main h3 {
  margin-bottom: 1.5rem;
}
.p-service .contents__aside,
.p-trust .contents__aside,
.p-group .contents__aside,
.p-weblite .contents__aside,
.p-features .contents__aside {
  width: 42%;
  padding-inline: 2%;
}
.p-service .contents__btn,
.p-trust .contents__btn,
.p-group .contents__btn,
.p-weblite .contents__btn,
.p-features .contents__btn {
  width: 100%;
  margin-top: 3rem;
}
.p-service .contents__btn a,
.p-trust .contents__btn a,
.p-group .contents__btn a,
.p-weblite .contents__btn a,
.p-features .contents__btn a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-service .point,
.p-trust .point,
.p-group .point,
.p-weblite .point,
.p-features .point {
  counter-reset: pointNum;
}
.p-service .point__item,
.p-trust .point__item,
.p-group .point__item,
.p-weblite .point__item,
.p-features .point__item {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-service .point__item,
  .p-trust .point__item,
  .p-group .point__item,
  .p-weblite .point__item,
  .p-features .point__item {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-service .point__item,
.p-trust .point__item,
.p-group .point__item,
.p-weblite .point__item,
.p-features .point__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-top: 5rem;
}
.p-service .point__item:nth-child(odd),
.p-trust .point__item:nth-child(odd),
.p-group .point__item:nth-child(odd),
.p-weblite .point__item:nth-child(odd),
.p-features .point__item:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.p-service .point__item .btn-primary,
.p-trust .point__item .btn-primary,
.p-group .point__item .btn-primary,
.p-weblite .point__item .btn-primary,
.p-features .point__item .btn-primary {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 2.5rem;
}
.p-service .point__main,
.p-trust .point__main,
.p-group .point__main,
.p-weblite .point__main,
.p-features .point__main {
  width: 52%;
  padding-bottom: 1rem;
}
.p-service .point__main h2,
.p-service .point__main h3,
.p-trust .point__main h2,
.p-trust .point__main h3,
.p-group .point__main h2,
.p-group .point__main h3,
.p-weblite .point__main h2,
.p-weblite .point__main h3,
.p-features .point__main h2,
.p-features .point__main h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-service .point__main h2,
  .p-service .point__main h3,
  .p-trust .point__main h2,
  .p-trust .point__main h3,
  .p-group .point__main h2,
  .p-group .point__main h3,
  .p-weblite .point__main h2,
  .p-weblite .point__main h3,
  .p-features .point__main h2,
  .p-features .point__main h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-service .point__main h2,
.p-service .point__main h3,
.p-trust .point__main h2,
.p-trust .point__main h3,
.p-group .point__main h2,
.p-group .point__main h3,
.p-weblite .point__main h2,
.p-weblite .point__main h3,
.p-features .point__main h2,
.p-features .point__main h3 {
  margin-block: 1.5rem;
}
.p-service .point__main .num-list,
.p-trust .point__main .num-list,
.p-group .point__main .num-list,
.p-weblite .point__main .num-list,
.p-features .point__main .num-list {
  margin-block: 2.5rem;
}
.p-service .point__main.--full,
.p-trust .point__main.--full,
.p-group .point__main.--full,
.p-weblite .point__main.--full,
.p-features .point__main.--full {
  width: 100%;
  padding-bottom: 0;
}
.p-service .point__main.--full img,
.p-trust .point__main.--full img,
.p-group .point__main.--full img,
.p-weblite .point__main.--full img,
.p-features .point__main.--full img {
  margin: 2.5rem auto 0;
}
.p-service .point__main p + p,
.p-trust .point__main p + p,
.p-group .point__main p + p,
.p-weblite .point__main p + p,
.p-features .point__main p + p {
  margin-top: 1rem;
}
.p-service .point__aside,
.p-trust .point__aside,
.p-group .point__aside,
.p-weblite .point__aside,
.p-features .point__aside {
  width: 44%;
  padding-inline: 5%;
  padding-top: 3rem;
  position: relative;
}
.p-service .point__aside img,
.p-trust .point__aside img,
.p-group .point__aside img,
.p-weblite .point__aside img,
.p-features .point__aside img {
  margin: auto;
}
.p-service .point__aside + .--full,
.p-trust .point__aside + .--full,
.p-group .point__aside + .--full,
.p-weblite .point__aside + .--full,
.p-features .point__aside + .--full {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .p-service .point,
  .p-trust .point,
  .p-group .point,
  .p-weblite .point,
  .p-features .point {
    /* SP */
  }
  .p-service .point__item,
  .p-trust .point__item,
  .p-group .point__item,
  .p-weblite .point__item,
  .p-features .point__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    padding-inline: 0;
    margin-top: 3rem;
  }
  .p-service .point__item:nth-child(odd),
  .p-trust .point__item:nth-child(odd),
  .p-group .point__item:nth-child(odd),
  .p-weblite .point__item:nth-child(odd),
  .p-features .point__item:nth-child(odd) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-service .point__item img,
  .p-trust .point__item img,
  .p-group .point__item img,
  .p-weblite .point__item img,
  .p-features .point__item img {
    max-width: 90%;
  }
  .p-service .point__item .btn-primary,
  .p-trust .point__item .btn-primary,
  .p-group .point__item .btn-primary,
  .p-weblite .point__item .btn-primary,
  .p-features .point__item .btn-primary {
    margin: 2.5rem auto 0;
  }
  .p-service .point__main,
  .p-trust .point__main,
  .p-group .point__main,
  .p-weblite .point__main,
  .p-features .point__main {
    width: 100%;
    padding-bottom: 0;
  }
  .p-service .point__main.--full img,
  .p-trust .point__main.--full img,
  .p-group .point__main.--full img,
  .p-weblite .point__main.--full img,
  .p-features .point__main.--full img {
    margin-top: 2rem;
  }
  .p-service .point__aside,
  .p-trust .point__aside,
  .p-group .point__aside,
  .p-weblite .point__aside,
  .p-features .point__aside {
    width: 100%;
    padding-top: 0;
  }
  .p-service .point__aside + .--full,
  .p-trust .point__aside + .--full,
  .p-group .point__aside + .--full,
  .p-weblite .point__aside + .--full,
  .p-features .point__aside + .--full {
    margin-top: 0;
  }
}

@media screen and (min-width: 769px) { /* PC */
  .p-trust .page-head img.trust_00 {
    max-width: 75rem;
  }
  .p-trust .contents__item img.security_03 {
    width: 80%;
  }
}
.p-group .point .contents {
  margin-top: 10rem;
}
.p-group .point .contents__main h4 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-group .point .contents__main h4 {
    /* SP */
    font-size: 2rem;
  }
}
.p-group .point .contents__main h4 {
  margin-bottom: 1.5rem;
}

.p-features .contents h2 + p {
  font-size: max(12px, 2rem);
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-features .contents h2 + p {
    /* SP */
    font-size: 1.6rem;
  }
}
.p-features .contents .link-nav {
  margin-block: 10rem;
}
.p-features .contents__item-wrap:nth-child(odd) .contents__item {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.p-features .contents__item-wrap:last-child .contents__item {
  margin-bottom: 0;
}
.p-features .contents__item {
  margin-block: 0 3rem;
}
.p-features .contents__item:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.p-features .contents__item img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 80%;
  height: auto;
}
.p-features .contents__item img.staff {
  width: 90%;
  height: 31rem;
}
.p-features .contents__item img.foreigner {
  width: 100%;
  height: 24rem;
}
.p-features .contents__item img.request {
  width: 100%;
  height: 25rem;
}
.p-features .contents__main h3 {
  line-height: 1.3;
}
.p-features .contents__main h3 .label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.5rem 0.1rem 1rem;
  background-color: #0f6cca;
  letter-spacing: 0.05em;
  font-size: max(12px, 1.4rem);
  color: #fff;
  height: 26px;
  margin-bottom: 1rem;
  position: relative;
}
.p-features .contents__main h3 .label::after {
  content: "";
  display: block;
  clip-path: polygon(0 0, 22% 0, 100% 100%, 0% 100%);
  background-color: #0f6cca;
  height: 26px;
  aspect-ratio: 1;
  position: absolute;
  top: 0;
  right: -24px;
}
.p-features .contents__main h3 span:not(.label) {
  font-size: max(12px, 1.6rem);
  position: relative;
  top: -0.5rem;
}
.p-features .contents__main p.sml {
  font-size: max(12px, 1.3rem);
}
.p-features .contents__main p + p {
  margin-top: 1rem;
}
.p-features .contents__main .num-list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 2.5rem;
}
.p-features .contents__main .linebox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2rem 2.5rem;
  margin-block: 3rem 1.5rem;
}
.p-features .contents__main .linebox dt.linebox__title {
  width: max(120px, 14rem);
  padding: 0.2rem 1rem;
  background-color: #0f6cca;
  letter-spacing: 0.05em;
  font-size: max(12px, 1.3rem);
  font-weight: 500;
  color: #fff;
  text-align: center;
  border-radius: calc(infinity * 1px);
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .p-features .contents__main .linebox dt.linebox__title {
    /* PC */
  }
  .p-features .contents__main .linebox dt.linebox__title:not(:first-of-type) {
    margin-top: 0.5rem;
  }
}
.p-features .contents__main .linebox dd {
  max-width: calc(100% - 130px);
  width: calc(100% - 15.5rem);
  font-size: max(12px, 1.4rem);
}
@media screen and (min-width: 769px) {
  .p-features .contents__main .linebox dd {
    /* PC */
  }
  .p-features .contents__main .linebox dd:not(:first-of-type) {
    margin-top: 0.5rem;
  }
}

.p-agencies .page-head {
  margin-bottom: 10rem;
}
.p-agencies .contents {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-agencies .contents {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-agencies .contents h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-agencies .contents h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-agencies .contents h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.p-agencies .contents h2 {
  margin-bottom: 5rem;
}
.p-agencies .contents__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-agencies .contents__item:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.p-agencies .contents__item:not(:last-child) {
  margin-bottom: 5rem;
}
.p-agencies .contents__main {
  width: 52%;
  padding-bottom: 1rem;
}
.p-agencies .contents__main h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-agencies .contents__main h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-agencies .contents__main h3 {
  margin-bottom: 1.5rem;
}
.p-agencies .contents__main .btn-primary {
  margin-top: 2.5rem;
}
.p-agencies .contents__aside {
  width: 44%;
  padding-inline: 2%;
  padding-top: 3rem;
  position: relative;
}
.p-agencies .contents__aside img {
  margin: auto;
}

.p-security .page-head {
  margin-bottom: 10rem;
}
.p-security .page-head .strengths {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 5rem auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  border-radius: 2rem;
  overflow: hidden;
}
.p-security .page-head .strengths p {
  margin: 0;
  height: 12rem;
}
.p-security .page-head .strengths__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3rem 4rem 3rem 6rem;
  color: #0f6cca;
  font-weight: 700;
}
.p-security .page-head .strengths__result {
  width: 15rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  background-color: #0f6cca;
  color: #fff;
  padding-left: 2rem;
  clip-path: polygon(10% 0, 100% 0%, 100% 100%, 10% 100%, 10% 57%, 0 50%, 10% 43%);
  font-weight: 500;
}
.p-security .page-head .strengths__result span {
  font-size: 7rem;
}
.p-security .iso,
.p-security .measures {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-security .iso,
  .p-security .measures {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-security .iso h2,
.p-security .measures h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-security .iso h2 span,
.p-security .measures h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-security .iso h2,
  .p-security .measures h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.p-security .iso h2,
.p-security .measures h2 {
  margin-bottom: 5rem;
}
.p-security .iso h3,
.p-security .measures h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-security .iso h3,
  .p-security .measures h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-security .iso h3,
.p-security .measures h3 {
  text-align: center;
  margin-bottom: 4rem;
}
.p-security .iso h3:not(:first-of-type),
.p-security .measures h3:not(:first-of-type) {
  margin-top: 6rem;
}
.p-security .iso {
  margin-bottom: 10rem;
}
.p-security .iso .citetext {
  margin-top: 2.5rem;
  text-align: right;
  display: block;
}
.p-security .iso .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  margin-block: 5rem;
}
.p-security .iso .flexbox .btn-primary {
  margin-block: 2.5rem;
}
.p-security .iso .flexbox__main {
  width: calc(100% - 42.7rem);
}
.p-security .measures .se-security {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto 1fr auto;
  gap: 0 3rem;
}
.p-security .measures .se-security__item {
  background-color: #fff;
  border-radius: 2rem;
  padding: 6rem;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.p-security .measures .se-security__item h4 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-security .measures .se-security__item h4 {
    /* SP */
    font-size: 1.8rem;
  }
}
.p-security .measures .se-security__item h4 {
  text-align: center;
}
.p-security .measures .se-security__item img {
  height: 13rem;
  width: auto;
  margin: 3rem auto;
}
.p-security .measures .asp-security {
  background-color: #fff;
  border-radius: 2rem;
  padding: 6rem;
}
.p-security .measures .asp-security ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-security .measures .asp-security ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1;
  width: 15rem;
  text-align: center;
  font-size: max(10px, 1.4rem);
  line-height: 1.2;
  border-radius: calc(infinity * 1px);
  background: #f4f4f6;
  font-weight: 500;
}
.p-security .measures .asp-security ul li img {
  height: 4.5rem;
  width: auto;
  margin-bottom: 1rem;
}
.p-security .measures .whitepaper {
  margin-inline: auto;
}
.p-security .merit img {
  margin-inline: auto;
}

.p-support .page-head {
  margin-bottom: 10rem;
}
.p-support .page-head img {
  max-width: 87rem;
  margin-block: 5rem;
}
.p-support section {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-support section {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-support section h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-support section h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-support section h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.p-support section h2 {
  margin-bottom: 5rem;
}
.p-support section .lead {
  text-align: center;
  margin-bottom: 5rem;
}
.p-support section:not(.evolution) {
  margin-bottom: 10rem;
}
@media screen and (min-width: 769px) {
  .p-support .voice {
    /* PC */
  }
  .p-support .voice__list {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
  }
  .p-support .voice__item:nth-child(1) {
    grid-row: 1/3;
  }
  .p-support .voice__item:nth-child(4) {
    grid-row: 1/3;
    grid-column: 3/4;
  }
  .p-support .voice__item:nth-child(7) {
    grid-row: 3/5;
    grid-column: 2/3;
  }
}
.p-support .voice__item {
  background-color: #fff;
  padding: 2rem;
  border-radius: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-support .voice__item:first-child .human-icon::before, .p-support .voice__item:nth-child(10) .human-icon::before {
  background-image: url(../cmn/someone_01.svg);
  background-size: 90%;
}
.p-support .voice__item:nth-child(2) .human-icon::before {
  background-image: url(../cmn/someone_02.svg);
  background-size: 90%;
}
.p-support .voice__item:nth-child(3) .human-icon::before {
  background-image: url(../cmn/someone_03.svg);
  background-size: 90%;
}
.p-support .voice__item:nth-child(4) .human-icon::before {
  background-image: url(../cmn/someone_04.svg);
  background-size: 90%;
}
.p-support .voice__item:nth-child(5) .human-icon::before {
  background-image: url(../cmn/someone_05.svg);
  background-size: 90%;
}
.p-support .voice__item:nth-child(6) .human-icon::before {
  background-image: url(../cmn/someone_06.svg);
  background-size: 90%;
}
.p-support .voice__item:nth-child(7) .human-icon::before {
  background-image: url(../cmn/someone_07.svg);
  background-size: 90%;
}
.p-support .voice__item:nth-child(8) .human-icon::before {
  background-image: url(../cmn/someone_08.svg);
  background-size: 90%;
}
.p-support .voice__item:nth-child(9) .human-icon::before {
  background-image: url(../cmn/someone_09.svg);
  background-size: 90%;
}
.p-support .voice__item .human-icon {
  font-size: max(12px, 1.8rem);
  padding-left: 7rem;
  min-height: 6rem;
}
.p-support .voice__item .human-icon::before {
  width: 6rem;
}
.p-support .voice__item p {
  margin-top: 1rem;
}
.p-support .voice__item .name {
  text-align: right;
  margin-top: auto;
  font-size: max(12px, 1.2rem);
}
.p-support .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.p-support .contents__box {
  background-color: #fff;
  padding: 6rem;
  border-radius: 2rem;
  text-align: center;
  position: relative;
}
.p-support .contents__box h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-support .contents__box h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-support .contents__box h3 {
  margin-bottom: 3rem;
}
.p-support .contents__box .type {
  position: absolute;
  top: -2.5rem;
  left: 3rem;
  background-color: #0f6cca;
  color: #fff;
  border-radius: 1rem;
  min-width: 15rem;
  padding: 1rem 10px;
  font-size: max(12px, 1.4rem);
}
.p-support .contents__box .type::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 1.5rem;
  height: 1rem;
  bottom: -0.8rem;
  background-color: #0f6cca;
  clip-path: polygon(83% 0, 0 0, 100% 100%);
}
.p-support .contents__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  gap: 2rem;
}
.p-support .contents__list .contents__box {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 3rem;
  display: grid;
}
.p-support .contents__list .contents__box h3 {
  font-size: 2rem;
  margin-bottom: 2rem;
}
.p-support .contents figcaption,
.p-support .contents small.lowercase {
  font-weight: 600;
  font-size: max(12px, 1.2rem);
  letter-spacing: 0.01em;
}
.p-support .support-all .box01 .bold {
  margin-bottom: 1rem;
}
.p-support .support-all .box01 img {
  max-width: 87rem;
  margin: 3rem auto 0;
}
.p-support .support-all .box02 .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 2rem;
  margin-top: 1.5rem;
}
.p-support .support-all .box02 .flexbox p {
  width: calc(100% - 12rem);
  text-align: left;
  font-size: max(12px, 1.4rem);
}
.p-support .support-all .box02 .flexbox__img {
  width: 10rem;
}
.p-support .support-all .box03 .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.p-support .support-all .box03 .flexbox figure {
  width: calc(100% - 0.5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.p-support .support-all .box03 .flexbox figure img {
  width: auto;
  margin-inline: auto;
}
.p-support .support-all .box03 .flexbox figure img.support_02_1 {
  height: 6.5rem;
  left: 1rem;
  position: relative;
}
.p-support .support-all .box03 .flexbox figure img.support_02_2 {
  height: 7rem;
}
.p-support .support-all .box03 .flexbox figure figcaption {
  margin-top: auto;
}
.p-support .support-all .box04 .contents__box-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-support .support-all .box04 .contents__box-main ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.p-support .support-all .box04 .contents__box-main ul li {
  width: calc(100% - 1rem);
  font-weight: 600;
  font-size: max(12px, 1.4rem);
}
.p-support .support-all .box04 .contents__box-main ul li .time {
  font-size: 3rem;
  font-family: "Barlow", sans-serif;
  letter-spacing: 0;
  display: inline-block;
  vertical-align: text-bottom;
  line-height: 1;
}
.p-support .support-all .box04 .contents__box-main ul li .line::before {
  content: "";
  display: block;
  width: 2px;
  height: 15px;
  background-color: #364768;
  margin: 0.5rem auto;
}
.p-support .support-all .box04 .contents__box-main ul li .text {
  font-size: max(12px, 1.2rem);
  letter-spacing: 0.01em;
}
.p-support .support-all .box04 .contents__box-main small {
  margin-top: auto;
}
.p-support .support-value .contents__box,
.p-support .support-intro .contents__box {
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
.p-support .support-value .contents__box img,
.p-support .support-intro .contents__box img {
  max-height: 20rem;
  width: auto;
  margin: 1rem auto 0;
}
.p-support .support-value .contents__box img.support_04, .p-support .support-value .contents__box img.support_07, .p-support .support-value .contents__box img.support_09,
.p-support .support-intro .contents__box img.support_04,
.p-support .support-intro .contents__box img.support_07,
.p-support .support-intro .contents__box img.support_09 {
  height: 18rem;
}
.p-support .support-value .contents__box p,
.p-support .support-intro .contents__box p {
  margin-top: 2rem;
  text-align: justify;
}
.p-support .support-value .contents__box .type,
.p-support .support-intro .contents__box .type {
  position: absolute;
}
.p-support .support-value .contents__box .imgbox,
.p-support .support-intro .contents__box .imgbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-support .support-value .contents__box .imgbox small,
.p-support .support-intro .contents__box .imgbox small {
  margin-top: auto;
}
.p-support .support-intro h2 {
  margin-bottom: 8rem;
}
.p-support .attempt .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-support .attempt .flexbox__main {
  width: 56%;
  text-align: justify;
}
.p-support .attempt .flexbox__main p {
  margin-top: 1rem;
}
.p-support .attempt .flexbox__img {
  width: 40%;
}
.p-support .function .contents__list {
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
.p-support .function .contents__boxwrap {
  display: grid;
  grid-template-rows: auto 1fr;
}
.p-support .function .contents__boxwrap h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-support .function .contents__boxwrap h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-support .function .contents__boxwrap h3 {
  margin-bottom: 3rem;
  color: #0f6cca;
  text-align: center;
  letter-spacing: 0.05em;
}
.p-support .function .contents__boxwrap .contents__box .boxhead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 2.5rem;
  margin-bottom: 1.5rem;
}
.p-support .function .contents__boxwrap .contents__box .boxhead__main {
  text-align: justify;
  font-size: max(12px, 1.4rem);
}
.p-support .function .contents__boxwrap .contents__box .boxhead__main .ttl {
  font-size: max(12px, 1.8rem);
  font-weight: 700;
  margin-bottom: 1rem;
  color: #0f6cca;
}
.p-support .function .contents__boxwrap .contents__box .boxhead__main .ttl sup {
  font-size: max(12px, 1.2rem);
  vertical-align: super;
}
.p-support .function .contents__boxwrap .contents__box .boxhead__aside {
  min-width: 10rem;
}
.p-support .evolution img {
  max-width: 87rem;
  margin-inline: auto;
}
.p-support .evolution p {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-support .evolution p {
    /* SP */
    font-size: 2rem;
  }
}
.p-support .evolution p {
  text-align: center;
  color: #0f6cca;
  margin-top: 3rem;
}

.p-reason.wrap main {
  padding-bottom: 0;
}
.p-reason .page-head {
  margin-bottom: 10rem;
}
.p-reason .page-head .shaft,
.p-reason .page-head .shaft02 {
  margin-top: 5rem;
}
.p-reason .reason h2,
.p-reason .point h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-reason .reason h2 span,
.p-reason .point h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-reason .reason h2,
  .p-reason .point h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.p-reason .reason h2,
.p-reason .point h2 {
  margin-bottom: 5rem;
}
.p-reason .reason {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-reason .reason {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-reason .reason {
  margin-bottom: 10rem;
}
.p-reason .reason .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
  counter-reset: reasonNum;
}
.p-reason .reason .content__box {
  background-color: #fff;
  padding: 6rem;
  border-radius: 2rem;
  text-align: center;
  position: relative;
}
.p-reason .reason .content__box h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-reason .reason .content__box h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-reason .reason .content__box h3 {
  margin-bottom: 1rem;
}
.p-reason .reason .content__box h3::before {
  counter-increment: reasonNum;
  content: "- " counter(reasonNum, decimal-leading-zero) " -";
  color: #0f6cca;
  display: block;
  font-size: 5rem;
  font-family: "Barlow", sans-serif;
  line-height: 1;
  margin-bottom: 1rem;
}
.p-reason .reason .content__box .btn-primary {
  margin: 5rem auto 0;
}
.p-reason .reason .content .box01 .achievements {
  margin-block: 5rem 1.5rem;
}
.p-reason .reason .content .box01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-weight: 700;
}
.p-reason .reason .content .box01 ul p {
  margin-top: 1rem;
  font-size: max(12px, 1.4rem);
}
.p-reason .reason .content .box01 ul p.partner {
  color: #299564;
}
.p-reason .reason .content .box01 ul p.express {
  color: #0f6cca;
}
.p-reason .reason .content .box01 ul p.staff {
  color: #FE8B23;
}
.p-reason .reason .content .box01 ul img {
  width: 100%;
}
.p-reason .reason .content .box02 .pickttl {
  clip-path: polygon(98% 0, 100% 50%, 98% 100%, 0 100%, 0 0);
  background-color: #0f6cca;
  color: #fff;
  padding: 1rem 3rem;
  font-weight: 700;
  margin-block: 1.3rem 1.5rem;
}
.p-reason .reason .content .box02 .pickttl span {
  color: #FFDC59;
  padding-inline: 0.5rem;
}
.p-reason .reason .content .box02 .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
  margin-top: 5rem;
}
.p-reason .reason .content .box02 .flexbox__graph {
  width: calc(100% - 40rem);
  text-align: justify;
}
.p-reason .reason .content .box02 .flexbox__graph img {
  width: 90%;
  margin-inline: auto;
}
.p-reason .reason .content .box02 .flexbox__graph p {
  margin-top: 2rem;
}
.p-reason .reason .content .box02 .flexbox__map {
  width: 35rem;
}
.p-reason .reason .content .box03 {
  position: relative;
}
.p-reason .reason .content .box03 .support {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 1fr;
  gap: 2rem;
  margin-top: 5rem;
}
.p-reason .reason .content .box03 .support p {
  text-align: left;
  font-size: max(12px, 1.4rem);
}
.p-reason .reason .content .box03 .support .ttl {
  background-color: #0f6cca;
  color: #fff;
  margin: 0 auto;
  border-radius: calc(infinity * 1px);
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 0.7rem 2rem;
  text-align: center;
  font-size: max(12px, 1.6rem);
}
.p-reason .reason .content .box03 .support img {
  width: 90%;
  margin: 1.5rem auto;
}
.p-reason .reason .content .box03 .reason_06 {
  width: 21rem;
  position: absolute;
  top: 5rem;
  right: 6rem;
}
@media screen and (min-width: 769px) {
  .p-reason .reason .content .box04 {
    /* PC */
  }
  .p-reason .reason .content .box04 .year {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-reason .reason .content .box04 .year:nth-child(2) {
    margin-inline: 2rem;
    border-left: 1px solid #dedede;
    border-right: 1px solid #dedede;
  }
  .p-reason .reason .content .box04 .year:nth-child(2) th,
  .p-reason .reason .content .box04 .year:nth-child(2) td {
    padding-inline: 2rem;
  }
  .p-reason .reason .content .box04 .year__list {
    margin-top: 3.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-reason .reason .content .box04 .year th,
  .p-reason .reason .content .box04 .year td {
    display: block;
    padding-block: 0;
  }
  .p-reason .reason .content .box04 .year td {
    padding-bottom: 0.5rem;
  }
}
.p-reason .reason .content .box05 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6rem;
  font-weight: 700;
  margin-top: 5rem;
}
.p-reason .reason .content .box05 ul li img {
  height: 15.2rem;
  width: auto;
}
.p-reason .reason .content .box05 ul p {
  margin-top: 1.5rem;
  font-size: max(12px, 1.4rem);
}
.p-reason .point__inner {
  background-color: #fff;
  padding-block: 7rem 6rem;
}
.p-reason .point h2 .pick {
  color: #0f6cca;
  padding-inline: 0.5rem;
}
.p-reason .point__list {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-reason .point__list {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-reason .point__list {
  counter-reset: pointNum;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 1fr;
  gap: 4rem 2rem;
}
.p-reason .point__list li {
  background-color: #f4f4f6;
  padding: 3rem 2rem;
  border-radius: 2rem;
  position: relative;
}
.p-reason .point__list li::before {
  counter-increment: pointNum;
  content: counter(pointNum);
  color: #0f6cca;
  font-size: 10rem;
  font-family: "Barlow", sans-serif;
  line-height: 1;
  position: absolute;
  top: -3.5rem;
  left: 2rem;
}
.p-reason .point__list li h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-reason .point__list li h3 {
    /* SP */
    font-size: 1.8rem;
  }
}
.p-reason .point__list li h3 {
  text-align: center;
  color: #0f6cca;
  letter-spacing: 0.05em;
}
.p-reason .point__list li img {
  width: 7rem;
  margin: 3rem auto;
}
.p-reason .point__list li p {
  font-size: max(12px, 1.4rem);
}
.p-reason .point .text {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-reason .point .text {
    /* SP */
    font-size: 2rem;
  }
}
.p-reason .point .text {
  text-align: center;
  margin-top: 3rem;
}
.p-reason .point .text span {
  color: #0f6cca;
  padding-inline: 0.5rem;
}
.p-reason .point .btn-primary {
  margin: 5rem auto 0;
}

.p-number .content__list,
.p-index .number .content__list {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 768px) {
  .p-number .content__list,
  .p-index .number .content__list {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-number .content__list,
.p-index .number .content__list {
  background-color: #364768;
  padding-block: 6rem;
  border-radius: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-number .content__list:not(:last-child),
.p-index .number .content__list:not(:last-child) {
  margin-bottom: 10rem;
}
.p-number .content__item,
.p-index .number .content__item {
  color: #fff;
  padding: 5.5rem 5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.p-number .content__item:last-child,
.p-index .number .content__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
@media screen and (min-width: 769px) {
  .p-number .content__item,
  .p-index .number .content__item {
    /* PC */
  }
  .p-number .content__item.--cell01,
  .p-index .number .content__item.--cell01 {
    width: 100%;
  }
  .p-number .content__item.--cell02 .graphttl, .p-number .content__item.--cell03 .graphttl, .p-number .content__item.--cell03-long .graphttl,
  .p-index .number .content__item.--cell02 .graphttl,
  .p-index .number .content__item.--cell03 .graphttl,
  .p-index .number .content__item.--cell03-long .graphttl {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  .p-number .content__item.--cell02 .pie, .p-number .content__item.--cell03 .pie, .p-number .content__item.--cell03-long .pie,
  .p-index .number .content__item.--cell02 .pie,
  .p-index .number .content__item.--cell03 .pie,
  .p-index .number .content__item.--cell03-long .pie {
    width: 20rem;
    margin-inline: auto;
  }
  .p-number .content__item.--cell02 .pie span, .p-number .content__item.--cell03 .pie span, .p-number .content__item.--cell03-long .pie span,
  .p-index .number .content__item.--cell02 .pie span,
  .p-index .number .content__item.--cell03 .pie span,
  .p-index .number .content__item.--cell03-long .pie span {
    bottom: 2rem;
    font-size: 2rem;
    font-weight: 700;
    bottom: 1rem;
  }
  .p-number .content__item.--cell02 .pie span::before, .p-number .content__item.--cell03 .pie span::before, .p-number .content__item.--cell03-long .pie span::before,
  .p-index .number .content__item.--cell02 .pie span::before,
  .p-index .number .content__item.--cell03 .pie span::before,
  .p-index .number .content__item.--cell03-long .pie span::before {
    font-size: 6rem;
  }
  .p-number .content__item.--cell02,
  .p-index .number .content__item.--cell02 {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-number .content__item.--cell02 > *:not(:first-child),
  .p-index .number .content__item.--cell02 > *:not(:first-child) {
    margin-top: auto;
  }
  .p-number .content__item.--cell03,
  .p-index .number .content__item.--cell03 {
    width: 33.3333333333%;
    padding: 3.5rem 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-number .content__item.--cell03 > *:not(:first-child),
  .p-index .number .content__item.--cell03 > *:not(:first-child) {
    margin-top: auto;
  }
  .p-number .content__item.--cell03 .result,
  .p-index .number .content__item.--cell03 .result {
    font-size: 2rem;
    margin-bottom: 3rem;
  }
  .p-number .content__item.--cell03 .result .small,
  .p-index .number .content__item.--cell03 .result .small {
    font-size: 6rem;
  }
  .p-number .content__item.--cell03 .result span,
  .p-index .number .content__item.--cell03 .result span {
    font-family: "Barlow", sans-serif;
    color: #ffa620;
    font-weight: 700;
    letter-spacing: 0;
  }
  .p-number .content__item.--cell03-long,
  .p-index .number .content__item.--cell03-long {
    padding: 3.5rem 3rem;
    width: 66.6666666667%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-number .content__item.--cell03-long figure,
  .p-index .number .content__item.--cell03-long figure {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 1rem;
  }
}
.p-number .content__item .graphttl,
.p-index .number .content__item .graphttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-number .content__item .graphttl,
  .p-index .number .content__item .graphttl {
    /* SP */
    font-size: 2rem;
  }
}
.p-number .content__item .graphttl,
.p-index .number .content__item .graphttl {
  text-align: center;
}
.p-number .content__item .graphttl.--big,
.p-index .number .content__item .graphttl.--big {
  font-size: 4rem;
}
.p-number .content__item .subttl,
.p-index .number .content__item .subttl {
  font-size: 2rem;
  font-weight: 700;
}
.p-number .content__item .lowercase,
.p-index .number .content__item .lowercase {
  letter-spacing: 0.05em;
  font-weight: 500;
}
.p-number .content__item .result,
.p-index .number .content__item .result {
  font-size: 5rem;
  font-weight: 700;
  text-align: center;
  margin-top: auto;
  line-height: 1;
  white-space: nowrap;
}
.p-number .content__item .result span,
.p-index .number .content__item .result span {
  font-family: "Barlow", sans-serif;
  font-size: 15rem;
  color: #ffa620;
  font-weight: 700;
  letter-spacing: 0;
}
.p-number .content__item .pie,
.p-index .number .content__item .pie {
  position: relative;
  aspect-ratio: 1;
  width: 30rem;
  border-radius: calc(infinity * 1px);
  background-image: conic-gradient(#0f6cca 0% 60%, #cfd1e0 60% 100%);
}
.p-number .content__item .pie > span,
.p-index .number .content__item .pie > span {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 2rem;
  color: #fff;
  font-size: 4rem;
  font-weight: 700;
  width: 100%;
  text-align: center;
}
.p-number .content__item .pie > span::before,
.p-index .number .content__item .pie > span::before {
  font-family: "Barlow", sans-serif;
  content: attr(data-percent);
  font-size: 8rem;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0;
}
.p-number .content__item .pie.pie01,
.p-index .number .content__item .pie.pie01 {
  background-image: conic-gradient(#0f6cca 0% 97%, #cfd1e0 97.2% 99%, #aeb1c9 99.2% 100%);
}
.p-number .content__item .pie.pie02, .p-number .content__item .pie.pie03,
.p-index .number .content__item .pie.pie02,
.p-index .number .content__item .pie.pie03 {
  background-image: conic-gradient(#0f6cca 0% 98%, #cfd1e0 98.2% 100%);
}
.p-number .content__item .pie.pie04,
.p-index .number .content__item .pie.pie04 {
  background-image: conic-gradient(#0f6cca 0% 83%, #cfd1e0 83.2% 100%);
}
.p-number .content__item .pie.pie05,
.p-index .number .content__item .pie.pie05 {
  background-image: conic-gradient(#0f6cca 0% 88%, #cfd1e0 88.2% 100%);
}
.p-number .content__item .pie.pie06,
.p-index .number .content__item .pie.pie06 {
  background-image: conic-gradient(#0f6cca 0% 97%, #cfd1e0 97.2% 100%);
}
.p-number .content__item .pie.pie07, .p-number .content__item .pie.pie10, .p-number .content__item .pie.pie13,
.p-index .number .content__item .pie.pie07,
.p-index .number .content__item .pie.pie10,
.p-index .number .content__item .pie.pie13 {
  background-image: conic-gradient(#0f6cca 0% 92%, #cfd1e0 92.2% 100%);
}
.p-number .content__item .pie.pie08,
.p-index .number .content__item .pie.pie08 {
  background-image: conic-gradient(#0f6cca 0% 70%, #cfd1e0 70.2% 100%);
}
.p-number .content__item .pie.pie08 p,
.p-index .number .content__item .pie.pie08 p {
  line-height: 1;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
}
.p-number .content__item .pie.pie08 p span,
.p-index .number .content__item .pie.pie08 p span {
  font-size: 4rem;
}
.p-number .content__item .pie.pie08 p.txt01,
.p-index .number .content__item .pie.pie08 p.txt01 {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 3.5rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.p-number .content__item .pie.pie08 p.txt02,
.p-index .number .content__item .pie.pie08 p.txt02 {
  position: absolute;
  top: 4rem;
  left: 2rem;
  color: #7B8593;
}
.p-number .content__item .pie.pie09, .p-number .content__item .pie.pie11,
.p-index .number .content__item .pie.pie09,
.p-index .number .content__item .pie.pie11 {
  background-image: conic-gradient(#0f6cca 0% 95%, #cfd1e0 95.2% 100%);
}
.p-number .content__item .pie.pie12,
.p-index .number .content__item .pie.pie12 {
  background-image: conic-gradient(#0f6cca 0% 86%, #cfd1e0 86.2% 100%);
}
.p-number .content__item .pie.pie14,
.p-index .number .content__item .pie.pie14 {
  background-image: conic-gradient(#0f6cca 0% 84%, #cfd1e0 84.2% 100%);
}

.p-number .content h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-number .content h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-number .content h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.p-number .content h2 {
  margin-bottom: 5rem;
}
@media screen and (min-width: 769px) {
  .p-number .content {
    /* PC */
  }
  .p-number .content .achievements .item01 {
    padding-block: 0;
  }
  .p-number .content .achievements .item01 img {
    height: 40rem;
    width: auto;
  }
  .p-number .content .achievements .item02 {
    border-right: 1px solid rgba(255, 255, 255, 0.5);
  }
  .p-number .content .achievements .item04 .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3rem;
  }
  .p-number .content .achievements .item04 .box.box02 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .p-number .content .achievements .item04 .box .graphttl {
    width: calc(100% - 36rem);
  }
  .p-number .content .achievements .item04 .box .graphttl span {
    display: block;
    margin-top: 1.5rem;
  }
  .p-number .content .achievements .item05 {
    border-right: 1px solid rgba(255, 255, 255, 0.5);
  }
  .p-number .content .achievements .item05 .box {
    display: grid;
    grid-template-columns: repeat(auto, 21.5rem);
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
  }
  .p-number .content .achievements .item05 .box .subttl {
    grid-area: 1/1/2/2;
    padding-top: 4rem;
  }
  .p-number .content .achievements .item05 .box .result {
    grid-area: 1/2/3/3;
  }
  .p-number .content .achievements .item05 .box .txt02 {
    grid-area: 2/1/3/2;
    font-size: max(12px, 1.4rem);
    margin-top: auto;
    padding-bottom: 1rem;
    letter-spacing: 0.04em;
  }
  .p-number .content .achievements .item05 .box .txt02 span {
    color: rgba(255, 255, 255, 0.5);
  }
  .p-number .content .achievements .item07 {
    border-right: 1px solid rgba(255, 255, 255, 0.5);
    border-bottom: none;
    padding-bottom: 0;
  }
  .p-number .content .achievements .item07 .flex {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    position: relative;
    margin-top: 2rem;
  }
  .p-number .content .achievements .item07 .flex::before {
    content: "";
    display: block;
    width: 1px;
    height: 13rem;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    left: 43%;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(25deg);
            transform: translateY(-50%) rotate(25deg);
  }
  .p-number .content .achievements .item07 .flex .subttl {
    text-align: center;
  }
  .p-number .content .achievements .item07 .flex .result {
    font-size: 3rem;
  }
  .p-number .content .achievements .item07 .flex .result span {
    font-size: 10rem;
    font-weight: 600;
  }
  .p-number .content .achievements .item07 .flex .box01 {
    padding-right: 5rem;
  }
  .p-number .content .achievements .item07 .flex .box02 .result span {
    color: #fff;
  }
  .p-number .content .achievements .item08 {
    border-bottom: none;
  }
  .p-number .content .brushup .content__item {
    border-bottom: none;
    padding: 0;
  }
  .p-number .content .brushup .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3rem;
    margin-block: 3rem;
  }
  .p-number .content .brushup .box .graphttl span {
    font-size: 6rem;
  }
  .p-number .content .brushup .txt {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
  }
}
@media screen and (min-width: 769px) and (max-width: 768px) {
  .p-number .content .brushup .txt {
    /* SP */
    font-size: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .p-number .content .ranking .content__item {
    border-bottom: none;
    padding: 0;
  }
  .p-number .content .ranking figure img {
    width: auto;
    margin-inline: auto;
  }
  .p-number .content .ranking figure img.number_04 {
    height: 30rem;
    margin-block: 3rem 6rem;
  }
  .p-number .content .ranking figure img.number_05 {
    height: 25rem;
  }
  .p-number .content .numberdata .item01,
  .p-number .content .numberdata .item03,
  .p-number .content .numberdata .item04,
  .p-number .content .numberdata .item06,
  .p-number .content .numberdata .item08,
  .p-number .content .numberdata .item09,
  .p-number .content .numberdata .item11,
  .p-number .content .numberdata .item12,
  .p-number .content .numberdata .item13,
  .p-number .content .numberdata .item15,
  .p-number .content .numberdata .item16,
  .p-number .content .numberdata .item18 {
    border-right: 1px solid rgba(255, 255, 255, 0.5);
  }
  .p-number .content .numberdata .item18,
  .p-number .content .numberdata .item19 {
    border-bottom: none;
  }
  .p-number .content .numberdata .item01 div {
    margin-bottom: 1rem;
  }
  .p-number .content .numberdata .item01 .txt01 {
    text-align: right;
    display: block;
    margin-top: 1rem;
  }
  .p-number .content .numberdata .item11 {
    padding-inline: 0 0.5rem;
  }
  .p-number .content .numberdata .item11 > div {
    margin-bottom: 2rem;
  }
  .p-number .content .numberdata .item11 .result {
    margin-bottom: 0;
  }
  .p-number .content .numberdata .item11 .result .small {
    letter-spacing: 0;
    font-size: 3rem;
    margin-inline: 0.5rem 0.2rem;
  }
  .p-number .content .numberdata .item11 .result span {
    font-size: 14rem;
    letter-spacing: -0.05em;
  }
  .p-number .content .numberdata .item11 .txt01 {
    display: block;
    text-align: right;
    padding-right: 2rem;
  }
  .p-number .content .numberdata .item19 {
    padding-bottom: 5.5rem;
  }
  .p-number .content .numberdata .graphttl span {
    color: #ffa620;
    display: inline-block;
    margin-top: 1.5rem;
  }
  .p-number .content .price .content__item {
    border-bottom: none;
    padding: 0;
  }
  .p-number .content .price .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5rem;
    margin-block: 0 3rem;
  }
  .p-number .content .price .box .graphttl {
    line-height: 1;
  }
  .p-number .content .price .txt {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
  }
}
@media screen and (min-width: 769px) and (max-width: 768px) {
  .p-number .content .price .txt {
    /* SP */
    font-size: 2rem;
  }
}

.p-price section:not(:last-child) {
  margin-bottom: 10rem;
}
.p-price section:not(.page-head) h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-price section:not(.page-head) h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-price section:not(.page-head) h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.p-price section:not(.page-head) h2 {
  margin-bottom: 5rem;
}
.p-price .page-head .imgbox {
  background-color: #fff;
  max-width: 95rem;
  border-radius: 2rem;
  padding: 1rem 7rem 2rem;
  margin: 5rem auto 0;
}
.p-price .page-head .imgbox img {
  margin: 0;
}
.p-price .beforeafter {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-price .beforeafter {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-price .beforeafter .contents h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-price .beforeafter .contents h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-price .beforeafter .contents h3 {
  margin-bottom: 5rem;
  text-align: center;
}
.p-price .beforeafter .contents .ba-image {
  margin-bottom: 6rem;
}
.p-price .beforeafter .contents .ba-image .txt02 {
  margin-block: 0 1rem;
  font-weight: 500;
}
.p-price .beforeafter .contents .ba-image .after .txt02 {
  color: #0f6cca;
}
.p-price .beforeafter .contents .graph {
  position: relative;
}
.p-price .beforeafter .contents .graph .price_02 {
  width: 90rem;
}
.p-price .beforeafter .contents .graph .price_03 {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 23.3rem;
}
.p-price .cost {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-price .cost {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-price .cost p {
  font-size: max(12px, 2rem);
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-price .cost p {
    /* SP */
    font-size: 1.6rem;
  }
}
.p-price .cost p + p {
  margin-top: 2rem;
}
.p-price .cost img {
  margin: 5rem auto 0;
  max-width: 95rem;
  border-radius: 2rem;
}
.p-price .function {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-price .function {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}

.p-flow.wrap main {
  padding-bottom: 0;
}
.p-flow .flow {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-flow .flow {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-flow .flow {
  padding-bottom: 8rem;
}
.p-flow .case {
  background-color: #fff;
}
.p-flow .case__inner {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-flow .case__inner {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-flow .case__inner {
  padding-block: 6rem 10rem;
}
.p-flow .case h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-flow .case h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-flow .case h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.p-flow .case h2 {
  margin-bottom: 5rem;
}
.p-flow .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-flow .contents__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-flow .contents__item:not(:first-child) {
  border-top: 1px solid #dedede;
  padding-top: 5rem;
}
.p-flow .contents__unit {
  color: #0f6cca;
  font-size: 6rem;
  font-family: "Barlow", sans-serif;
  line-height: 1;
  white-space: nowrap;
  min-width: 33rem;
}
.p-flow .contents__unit::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 5.5rem;
  background-color: #0f6cca;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  margin-left: 3.5rem;
  position: relative;
  top: 0.8rem;
}
.p-flow .contents__body {
  padding-top: 0.3rem;
}
.p-flow .contents__head p + p {
  margin-top: 1rem;
}
.p-flow .contents__ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-flow .contents__ttl {
    /* SP */
    font-size: 2rem;
  }
}
.p-flow .contents__ttl {
  min-height: 6.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-flow .contents__ttl span {
  color: #0f6cca;
  display: contents;
}
.p-flow .contents__main {
  border-top: 1px solid #dedede;
  margin-top: 4rem;
  padding-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-flow .contents__textbox p + p {
  margin-top: 1rem;
}
.p-flow .contents__subttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-flow .contents__subttl {
    /* SP */
    font-size: 1.8rem;
  }
}
.p-flow .contents__subttl {
  margin-bottom: 1.5rem;
}
.p-flow .contents__subttl:not(:first-child) {
  margin-top: 3rem;
}
.p-flow .contents__imgbox {
  width: 30rem;
  min-width: 30rem;
  padding-left: 5rem;
}
.p-flow .contents p:has(.marker) {
  line-height: 1.8;
}
.p-flow .contents .btn-primary {
  margin-top: 2rem;
}
.p-flow .contents.--flow {
  gap: 6rem 0;
}
.p-flow .contents.--flow .contents__item:not(:first-child) {
  position: relative;
}
.p-flow .contents.--flow .contents__item:not(:first-child)::after {
  content: "";
  display: block;
  aspect-ratio: 120/36;
  width: 5rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: #dedede;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0;
}
.p-flow .contents.--flow .contents__ttl {
  margin-bottom: 1rem;
}
.p-flow .contents.--case {
  gap: 5rem 0;
}
.p-flow .contents.--case .contents__ttl {
  margin-bottom: 3rem;
}
.p-flow .contents .flow-item01 .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-flow .contents .flow-item01 .flexbox__img {
  width: max(140px, 20rem);
  padding-left: 3rem;
  padding-top: 2rem;
}
.p-flow .contents .flow-item01 .linebox {
  margin-block: 3rem 0.5rem;
  background-color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.5rem 2rem;
}
.p-flow .contents .flow-item01 .linebox .linebox__title {
  margin-bottom: 0.5rem;
}
.p-flow .contents .flow-item01 .linebox img {
  width: max(100px, 13rem);
  padding-right: 2rem;
}
.p-flow .contents .flow-item02 .num-list {
  margin-block: 3rem 2rem;
}
.p-flow .contents .flow-item02 .num-list sup {
  font-size: 10px;
}
.p-flow .contents .flow-item02 .annotation li {
  text-indent: -1.8rem;
  padding-left: 1.8rem;
}
.p-flow .contents .flow-item02 .btn-primary {
  margin-bottom: 3rem;
}

.p-workers section:not(:last-child) {
  margin-bottom: 10rem;
}
.p-workers section:not(.page-head):not(.mv):not(.neoworks-mv) h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-workers section:not(.page-head):not(.mv):not(.neoworks-mv) h2 span {
  border-bottom: 4px solid #364768;
}
@media screen and (max-width: 768px) {
  .p-workers section:not(.page-head):not(.mv):not(.neoworks-mv) h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.p-workers section:not(.page-head):not(.mv):not(.neoworks-mv) h2 {
  margin-bottom: 5rem;
}
.p-workers .mv {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-workers .mv {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-workers .mv {
  padding-block: 6rem;
  padding-inline: 4rem 6rem;
  border-radius: 2rem;
  background: -webkit-gradient(linear, left top, right top, from(rgb(var(--color-main-rgb)/80%)), color-stop(50%, rgb(var(--color-main-rgb)/80%)), color-stop(50%, rgb(var(--color-neo-rgb)/80%)), to(rgb(var(--color-neo-rgb)/80%)));
  background: linear-gradient(90deg, rgb(var(--color-main-rgb)/80%) 0%, rgb(var(--color-main-rgb)/80%) 50%, rgb(var(--color-neo-rgb)/80%) 50%, rgb(var(--color-neo-rgb)/80%) 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.p-workers .mv h2 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-workers .mv h2 {
    /* SP */
    font-size: 2rem;
  }
}
.p-workers .mv h2 {
  color: #fff;
  text-align: center;
  width: 100%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-bottom: 5.5rem;
}
.p-workers .mv ul {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem 0;
  max-width: 35rem;
}
.p-workers .mv ul li {
  font-size: max(12px, 1.4rem);
  font-weight: 600;
  text-align: center;
  clip-path: polygon(97% 0, 100% 50%, 97% 100%, 3% 100%, 0% 50%, 3% 0);
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.6)), color-stop(15%, #fff), color-stop(85%, #fff), to(rgba(255, 255, 255, 0.6)));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, #fff 15%, #fff 85%, rgba(255, 255, 255, 0.6) 100%);
}
.p-workers .mv img {
  height: auto;
}
.p-workers .mv img.workers_01 {
  width: 29rem;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.p-workers .mv img.workers_02 {
  width: 27rem;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}
.p-workers .merit {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-workers .merit {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-workers .merit .contents {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto 1fr auto;
  gap: 2rem;
}
.p-workers .merit .contents__box {
  background-color: #fff;
  border-radius: 2rem;
  padding: 3rem 2rem;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 2rem 0;
}
.p-workers .merit .contents__box h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-workers .merit .contents__box h3 {
    /* SP */
    font-size: 1.8rem;
  }
}
.p-workers .merit .contents__box h3 {
  text-align: center;
  line-height: 1.1;
}
.p-workers .merit .contents__box div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-workers .merit .contents__box div .subtxt {
  text-align: center;
  font-weight: 500;
}
.p-workers .merit .contents__box img {
  margin: auto;
  max-width: 80%;
}
.p-workers .features {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-workers .features {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-workers .features .link-nav {
  margin-block: 0 7rem;
}
.p-workers .features .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
.p-workers .features .contents__body {
  background-color: #fff;
  padding: 6rem;
  border-radius: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-workers .features .contents__about {
  width: calc(93% - 28rem);
}
.p-workers .features .contents__about h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-workers .features .contents__about h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-workers .features .contents__about h3 {
  color: #FE8B23;
  margin-bottom: 1.5rem;
}
.p-workers .features .contents__about p + p {
  margin-top: 1.5rem;
}
.p-workers .features .contents__about .main-movie {
  gap: 0;
  margin-top: 2rem;
  border-radius: 2rem;
  padding: 3rem 2rem 2rem;
  background-color: #f4f4f6;
}
.p-workers .features .contents__about .main-movie__item {
  width: 100%;
  max-width: 50rem;
}
.p-workers .features .contents .point {
  margin-top: 2rem;
}
.p-workers .features .contents .point .label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.5rem 0.1rem 1rem;
  background-color: #FE8B23;
  letter-spacing: 0.05em;
  font-size: max(12px, 1.4rem);
  color: #fff;
  height: 26px;
  margin-bottom: 1rem;
  position: relative;
  font-weight: 700;
}
.p-workers .features .contents .point .label::after {
  content: "";
  display: block;
  clip-path: polygon(0 0, 22% 0, 100% 100%, 0% 100%);
  background-color: #FE8B23;
  height: 26px;
  aspect-ratio: 1;
  position: absolute;
  top: 0;
  right: -24px;
}
.p-workers .features .contents__phone {
  width: 28rem;
}
.p-workers .features .contents__phone + .point {
  width: 100%;
  margin-top: 5rem;
}
.p-workers .features.--works .contents__about h3 {
  color: #DC420F;
}
.p-workers .features.--works .contents .point .label {
  background-color: #DC420F;
}
.p-workers .features.--works .contents .point .label::after {
  background-color: #DC420F;
}
.p-workers .neoworks-mv {
  background-color: #fff;
  margin-top: 12rem;
}
.p-workers .neoworks-mv__inner {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-workers .neoworks-mv__inner {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-workers .neoworks-mv__inner {
  padding-block: 10rem 0;
}
.p-workers .neoworks-mv h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-workers .neoworks-mv h2 {
    /* SP */
    font-size: 2.4rem;
  }
}
.p-workers .neoworks-mv h2 {
  margin-bottom: 5rem;
}
.p-workers .neoworks-mv .install h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-workers .neoworks-mv .install h3 {
    /* SP */
    font-size: 2rem;
  }
}
.p-workers .neoworks-mv .install h3 {
  color: #DC420F;
  text-align: center;
}
.p-workers .neoworks-mv .install h3::after {
  content: "";
  display: block;
  width: 100%;
  height: 6rem;
  background: url(../img/service/workers/workers_07.webp) no-repeat top center;
  background-size: 30rem auto;
  margin-top: 0.5rem;
}
@media screen and (min-width: 769px) {
  .p-workers .neoworks-mv .install__main {
    /* PC */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 3rem;
  }
  .p-workers .neoworks-mv .install__main img.workers_08 {
    width: 24.3rem;
  }
  .p-workers .neoworks-mv .install__main ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 1rem;
  }
  .p-workers .neoworks-mv .install__main ul li {
    width: 14.2rem;
  }
}
.p-workers .howto {
  width: min(100%, 112rem);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-workers .howto {
    /* SP */
    width: calc(100% - 4rem);
    padding-inline: 2rem;
  }
}
.p-workers .howto {
  text-align: center;
}
.p-workers .howto .btn-primary {
  margin: 3rem auto 0;
}

.p-not-found .page-head .btn-primary {
  margin: 5rem auto 0;
}

@media screen and (max-width: 768px) { /* SP */
  body {
    letter-spacing: 0.085em;
    word-break: break-all;
  }
  .wrap {
    padding-top: 3rem;
  }
  .wrap:not(.service-detail) main {
    padding-bottom: 5rem;
  }
  footer {
    background-color: #0a1426;
    color: #fff;
  }
  footer a {
    color: #fff;
  }
  footer .inner {
    padding: 3rem 2rem 2rem;
  }
  footer .f-menu__item {
    margin-bottom: 2rem;
  }
  footer .f-menu__title {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
  footer .f-menu__title a {
    display: block;
    font-weight: 700;
    padding-bottom: 0.5rem;
  }
  footer .f-menu__title.acdTrigger-sp {
    position: relative;
  }
  footer .f-menu__title.acdTrigger-sp::before, footer .f-menu__title.acdTrigger-sp::after {
    display: block;
    content: "";
    width: 1.5rem;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 0;
    -webkit-transition: -webkit-transform ease 0.3s;
    transition: -webkit-transform ease 0.3s;
    transition: transform ease 0.3s;
    transition: transform ease 0.3s, -webkit-transform ease 0.3s;
  }
  footer .f-menu__title.acdTrigger-sp::after {
    -webkit-transform: translateY(-50%) rotate(90deg);
            transform: translateY(-50%) rotate(90deg);
  }
  footer .f-menu__title.acdTrigger-sp.is-open::after {
    -webkit-transform: translateY(-50%) rotate(0deg);
            transform: translateY(-50%) rotate(0deg);
  }
  footer .f-menu__more {
    display: none;
    padding-bottom: 1.5rem;
  }
  footer .f-menu__more-title {
    font-size: 1.6rem;
    font-weight: 700;
    margin-block: 2rem 0;
  }
  footer .f-menu__more-title > a::before {
    content: "";
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../cmn/icon-arw-w.svg) no-repeat center;
    background-size: 0.8rem auto;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    vertical-align: middle;
    margin-right: 1rem;
    margin-bottom: 0.4rem;
    border: 1px solid #fff;
    border-radius: calc(infinity * 1px);
  }
  footer .f-menu__more-second {
    margin-top: 1.5rem;
  }
  footer .f-menu__more-second > a {
    font-size: 1.6rem;
    font-weight: 600;
  }
  footer .f-menu__more-second > a::after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 0.6rem;
    background: url(../cmn/icon-arw-w.svg) no-repeat right center;
    background-size: 100% auto;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    vertical-align: middle;
    margin-left: 1rem;
  }
  footer .f-menu__more-second > a.--blank::after {
    content: "";
    display: inline-block;
    aspect-ratio: 1;
    width: 1.2rem;
    background: url(../cmn/icon_blank-w.svg) no-repeat;
    background-size: 100% auto;
    margin-left: 0.5rem;
    height: 1.2rem;
    -webkit-transform: none;
            transform: none;
  }
  footer .f-menu__more-third {
    font-size: 1.4rem;
    font-weight: 600;
    margin: 1rem 0 0 2rem;
  }
  footer .f-menu__more-other {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    margin-top: 1rem;
    font-weight: 300;
  }
  footer .f-menu__contact > a {
    display: block;
    text-align: center;
    padding: 1rem;
    font-size: max(12px, 1.4rem);
    font-weight: 700;
    border: 1px solid #fff;
    background-color: #fff;
    color: #0a1426;
  }
  footer .f-menu__contact.--materials {
    margin-block: 3rem 1.5rem;
  }
  footer .about {
    padding-block: 4rem 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  footer .about .logo-corp {
    display: block;
    width: 8rem;
    margin: 0 auto;
  }
  footer .about .info {
    margin-block: 1.5rem 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer .about .info__company {
    font-size: 1.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1rem;
  }
  footer .about .info__location {
    font-size: 1.2rem;
    margin-top: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
  footer .about .info__location p span {
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
  }
  footer .about .privilege {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 0.5rem;
  }
  footer .copy {
    display: block;
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 10px;
    font-weight: 300;
  }
  .page-heading {
    padding-block: 3rem;
    margin-bottom: 6rem;
  }
  .page-heading__ttl {
    font-size: 2.6rem;
  }
  .pnkz li {
    font-size: 1.2rem;
  }
  .pnkz li:has(a)::after {
    margin-inline: 1rem 0.5rem;
  }
  .page-head {
    padding-inline: 0;
  }
  .page-head__lead {
    margin-top: 3rem;
    text-align: justify;
  }
  .page-head__lead p + p {
    margin-top: 1.5rem;
  }
  .page-head img {
    margin: 3rem auto 0;
  }
  .faqbox {
    padding-inline: 0;
    gap: 2rem 0;
  }
  .faqbox__item {
    padding: 2rem;
  }
  .faqbox__ttl {
    font-size: 1.8rem;
    padding: 0 0 0 5rem;
  }
  .faqbox__ttl::before {
    width: 4rem;
    -webkit-transform: none;
            transform: none;
    top: 0;
  }
  .faqbox__main {
    margin-top: 1.2rem;
    padding-bottom: 0;
    font-size: 1.6rem;
  }
  .faqbox .faq-cat {
    font-size: 11px;
  }
  .main-movie {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem 0;
  }
  .main-movie.single__movie li {
    max-width: 100%;
    width: 48rem;
  }
  .main-movie .yt-lazy {
    width: 100%;
  }
  .main-movie .yt-lazy:not(:first-child) {
    margin-top: 1rem;
  }
  .main-movie .tag {
    min-height: 3rem;
    font-size: 1.4rem;
    width: 19rem;
    padding: 0 2rem;
    margin-bottom: 1rem;
  }
  .main-movie .time {
    font-size: 1.4rem;
    margin-left: 0.5rem;
  }
  .other-movie {
    width: 100%;
    display: block;
    padding: 2rem;
  }
  .other-movie p {
    text-align: center;
    margin-bottom: 2rem;
  }
  .other-movie ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem;
  }
  .other-movie ul a {
    max-width: 19rem;
  }
  .num-list {
    gap: 0.5rem;
  }
  .num-list li {
    border-radius: 2rem;
    padding: 1rem 1.5rem 1rem 4rem;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .num-list.--short li {
    width: 100%;
  }
  .dot-list.--short li {
    width: 100%;
  }
  .linebox {
    padding: 2rem;
  }
  .linebox__title:not(:first-child) {
    margin-top: 1rem;
  }
  .link-nav {
    padding-inline: 0;
  }
  .link-nav ul {
    display: grid;
    -webkit-column-gap: 0rem;
       -moz-column-gap: 0rem;
            column-gap: 0rem;
    row-gap: 0rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    grid-template-columns: repeat(auto-fit, calc((100% - 0rem) / 1));
  }
  .link-nav ul li {
    font-size: 1.4rem;
  }
  .link-nav ul li a {
    min-height: auto;
    min-width: auto;
  }
  .link-nav ul li a::after {
    width: 1.4rem;
    background-size: 1.4rem auto;
  }
  .link-nav.--short ul {
    display: grid;
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    row-gap: 0.5rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    grid-template-columns: repeat(auto-fit, calc((100% - 1.5rem) / 2));
  }
  .link-nav.--short ul li a {
    letter-spacing: 0.05em;
    text-align: left;
  }
  .point-num::after {
    font-size: 4rem;
  }
  .human-icon {
    padding: 9rem 0 0;
  }
  .human-icon::before {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .ba-image {
    display: block;
    width: 100%;
  }
  .ba-image::after {
    content: none;
  }
  .ba-image__box {
    padding: 2rem 1rem;
  }
  .ba-image__box.before {
    margin-bottom: 12rem;
  }
  .ba-image__box.before::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: -6.5rem;
    background: url(../cmn/icon-arw02-bl.svg) no-repeat;
    background-size: 100% auto;
    aspect-ratio: 43/50;
    width: 4.5rem;
    -webkit-transform: rotate(90deg) translateY(50%);
            transform: rotate(90deg) translateY(50%);
  }
  .ba-image .ttl {
    width: 20rem;
    border-radius: 0.5rem;
    padding: 0.3rem 1rem 0.5rem;
    font-size: 1.2rem;
    top: -1.4rem;
    text-align: center;
  }
  .ba-image .ttl span {
    font-size: 5rem;
    top: -4.4rem;
  }
  .ba-image .ttl + img {
    width: 65%;
    max-height: none;
    margin-bottom: 0;
  }
  .ba-image .ba-img {
    width: 65%;
    max-height: none;
    margin-bottom: 0;
  }
  .ba-image table {
    border-spacing: 0.8rem 0;
  }
  .ba-image table .unit th {
    font-size: 1.2rem;
  }
  .ba-image table .value td {
    font-size: 1.2rem;
  }
  .ba-image table .value td span {
    font-size: 4.5rem;
  }
  .ba-image .txt {
    padding-inline: 1rem;
  }
  .btn-primary {
    padding-inline: 4rem;
    min-width: 25rem;
    max-width: 100%;
  }
  .btn-primary::before {
    content: "";
    display: block;
    aspect-ratio: 12/5;
    width: 12px;
    background: url(../cmn/icon-arw03-w.svg) no-repeat right center;
    background-size: cover;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 2rem;
    -webkit-transition: right ease 0.3s;
    transition: right ease 0.3s;
  }
  .btn-primary.--big {
    padding-inline: 5rem;
    min-width: 28rem;
  }
  .btn-primary.--big::before {
    width: 2rem;
  }
  .tabbox__btn {
    font-size: 1.6rem;
    letter-spacing: 0;
    line-height: 1.2;
    border-radius: 1rem 1rem 0 0;
  }
  .tabbox__main {
    padding: 3rem 2rem;
  }
  .year tr th, .year tr td {
    display: block;
  }
  .year tr:last-child th,
  .year tr:last-child td {
    padding-bottom: 0;
  }
  .year th {
    border-bottom: none;
    font-size: 2.5rem;
    padding-top: 0.5rem;
  }
  .year td {
    padding-top: 0.5rem;
    font-size: 1.2rem;
  }
  .year td ul li span {
    margin-right: 0.5rem;
  }
  .year td ul li [class^=icon-] {
    padding-inline: 0.8rem;
    font-size: 1rem;
    min-width: 6rem;
    top: -1px;
    position: relative;
  }
  .year td ul li p {
    margin-left: 0.8rem;
  }
  .sp-scroll {
    overflow-x: auto;
    padding-bottom: 1.5rem;
  }
  .plan-list {
    gap: 0 1.5rem;
    padding: 2rem 2rem 0;
    margin-inline: auto;
    min-width: 99rem;
  }
  .plan-list__lead {
    font-size: 1.4rem;
  }
  .plan-list__price dd {
    font-size: 2rem;
  }
  .plan-list__price dd span {
    font-size: 3.5rem;
  }
  .plan-list__icon {
    gap: 0.5rem;
  }
  .plan-list__icon li {
    font-size: 1.4rem;
  }
  .plan-list .price_icon {
    width: 7rem;
    left: -1rem;
  }
  .function-table {
    min-width: 59rem;
  }
  .function-table th,
  .function-table td {
    letter-spacing: 0;
  }
  .function-table thead th {
    line-height: 1.4;
    font-size: 1.3rem;
  }
  .function-table thead th:not(.empty) {
    width: 12rem;
  }
  .function-table tbody tr td:first-of-type {
    font-size: 1.4rem;
  }
  .function-table tbody th {
    font-size: 1.4rem;
    padding: 0.9rem 1rem;
  }
  .function-table tbody th::before {
    width: 2rem;
    font-size: 1.3rem;
  }
  .function-table tbody td {
    padding-inline: 1rem;
    font-size: 1.8rem;
  }
  .shaft {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 7rem;
  }
  .shaft__graph img {
    width: 90%;
    margin: auto;
  }
  .shaft__box {
    font-size: 1.4rem;
    padding: 2rem;
  }
  .shaft__box h3, .shaft__box h4 {
    font-size: 1.8rem;
    text-indent: 0;
    padding-left: 0;
  }
  .shaft__box h3::before, .shaft__box h4::before {
    content: none;
  }
  .shaft__box .ttl {
    font-size: 1.6rem;
    display: inline-block;
    background-color: #0f6cca;
    color: #fff;
    border-radius: calc(infinity * 1px);
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: -4.7rem;
    font-weight: 700;
    padding: 0.5rem 2rem;
    white-space: nowrap;
  }
  .p-index.wrap main {
    padding-bottom: 0;
  }
  .p-index section:not(.contact-cta) .section__inner {
    padding-bottom: 6rem;
  }
  .p-index section:not(.about):not(.issue):not(.number):not(.reason):not(.voice) .section__inner {
    padding-inline: 0;
  }
  .p-index section.contact-cta .contact-cta__btn {
    min-height: 4.6rem;
  }
  .p-index .section__ttl {
    font-size: 2rem;
    line-height: 1.5;
    min-height: 9.2rem;
    margin-bottom: 3rem;
  }
  .p-index .section__ttl .subttl {
    font-size: 8rem;
    font-weight: 800;
  }
  .p-index .page-btn {
    margin-top: 3rem;
    width: 100%;
    max-width: 33.5rem;
  }
  .p-index .mv .section__inner {
    padding-top: 3rem;
  }
  .p-index .mv .titlebox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-index .mv .titlebox__ttl h1 {
    white-space: normal;
    text-align: center;
  }
  .p-index .mv .titlebox__ttl .maincatch {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 2rem;
    margin-bottom: 1.5rem;
    white-space: normal;
    text-align: center;
  }
  .p-index .mv .titlebox__ttl .maincatch .marktxt {
    gap: 0.5rem 0.5rem;
    margin: 0 0.7rem 0.3rem 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 2.4rem;
  }
  .p-index .mv .titlebox__ttl .maincatch .marktxt span {
    font-weight: 600;
    text-align: center;
    padding: 0.8rem 0.7rem 1rem 1rem;
  }
  .p-index .mv .titlebox__ttl .maincatch .fulltxt {
    font-size: 3.8rem;
    letter-spacing: 0.05em;
    line-height: 1.2;
    margin-top: 0.3rem;
  }
  .p-index .mv .titlebox__ttl .subcatch {
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.05em;
    font-size: 1.6rem;
  }
  .p-index .mv .titlebox__img {
    gap: 0 1rem;
    width: 100%;
  }
  .p-index .mv .titlebox__img img {
    min-width: auto;
    width: calc(50% - 0.5rem);
  }
  .p-index .topmenu {
    padding-inline: 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 6rem;
  }
  .p-index .topmenu li {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    width: calc((100% - 1rem) / 2);
  }
  .p-index .topmenu li:nth-child(n+3) {
    width: calc((100% - 2rem) / 3);
  }
  .p-index .topmenu li a {
    padding-block: 1rem;
    font-size: 1.2rem;
  }
  .p-index .topmenu li a span {
    letter-spacing: 0;
  }
  .p-index .topmenu li a img {
    width: 5rem;
  }
  .p-index .topmenu li a img.icon-service {
    width: 2.8rem;
    padding-top: 0.3rem;
  }
  .p-index .about .section__inner {
    padding-top: 4.5rem;
  }
  .p-index .about .section__ttl {
    padding-inline: 2rem;
  }
  .p-index .about .section__ttl .subttl {
    top: 20%;
  }
  .p-index .about .content {
    padding-inline: 0;
  }
  .p-index .about .content__box {
    padding: 3rem 2rem;
  }
  .p-index .about .content__box.box01 p {
    font-size: 1.8rem;
  }
  .p-index .about .content__box.box01 ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .p-index .about .content__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
  .p-index .about .content__flex dl dt {
    font-size: 1.8rem;
  }
  .p-index .about .content__flex dl dd {
    text-align: right;
  }
  .p-index .about .content__flex dl dd span {
    font-size: 5rem;
  }
  .p-index .service .section__inner {
    padding-top: 4rem;
  }
  .p-index .service .contentbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0;
  }
  .p-index .service .contentbox__main {
    display: contents;
  }
  .p-index .service .contentbox__main .section__ttl {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    text-align: center;
    padding: 2rem 0 0;
  }
  .p-index .service .contentbox__main .section__ttl .subttl {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .p-index .service .contentbox__main p {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    line-height: 1.7;
    width: 100%;
    margin-top: 3rem;
  }
  .p-index .service .contentbox__main .btn-primary {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    margin-top: 3rem;
    width: 100%;
  }
  .p-index .service .contentbox__map {
    display: contents;
  }
  .p-index .service .contentbox__map img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p-index .service h3 {
    margin-block: 6rem 3rem;
  }
  .p-index .service .service-features-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.8rem 0;
    width: 100%;
  }
  .p-index .service .service-features-nav__list a {
    padding: 0 4rem 0 7.5rem;
    position: relative;
    font-size: 1.5rem;
    min-height: 5rem;
  }
  .p-index .service .service-features-nav__list a img {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 1rem;
    height: auto;
    min-height: 5rem;
    width: auto;
    margin-right: 0;
  }
  .p-index .issue .section__inner {
    padding-inline: 0;
    padding-top: 4rem;
  }
  .p-index .issue .lead {
    text-align: justify;
    line-height: 1.7;
  }
  .p-index .issue .issuebox {
    margin-top: 6rem;
    gap: 1rem 0;
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: 0;
  }
  .p-index .issue .issuebox li span {
    font-size: 1.8rem;
  }
  .p-index .issue .issuebox li span.mdl {
    font-size: 1.8rem;
  }
  .p-index .issue .issuebox li.txt06 {
    position: relative;
    padding-left: 5rem;
  }
  .p-index .issue .issuebox li.txt06 .shoes {
    width: 5rem;
    position: absolute;
    top: 0.5rem;
    left: 0;
  }
  .p-index .issue .human {
    margin: 12rem auto 0;
  }
  .p-index .innovation .section__inner {
    padding-top: 6rem;
  }
  .p-index .innovation .section__ttl .subttl {
    text-indent: -4.5rem;
  }
  .p-index .innovation .innovation-map {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(9, auto);
  }
  .p-index .innovation .innovation-map li {
    font-size: 1.4rem;
    line-height: 1.3;
    letter-spacing: 0;
    font-weight: 600;
    min-height: auto;
    height: 7rem;
  }
  .p-index .innovation .innovation-map li:nth-child(9) {
    grid-area: 5/1/6/3;
    position: relative;
    height: 23rem;
  }
  .p-index .innovation .innovation-map li:nth-child(9) img {
    width: calc(100% + 3rem);
    max-width: none;
    max-inline-size: none;
    max-block-size: none;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .p-index .innovation .innovation-box {
    margin-top: 3rem;
    padding-inline: 0;
  }
  .p-index .innovation .innovation-box__box {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2rem;
  }
  .p-index .innovation .innovation-box__box h3 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p-index .innovation .innovation-box__box p {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .p-index .innovation .innovation-box__box img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    position: static;
    -webkit-transform: none;
            transform: none;
    margin-bottom: 1.5rem;
  }
  .p-index .innovation .innovation-box__box:nth-child(even) {
    padding-inline: 2rem;
  }
  .p-index .number .section__inner {
    padding-top: 4rem;
  }
  .p-index .number h3 {
    font-size: 1.8rem;
    padding-block: 1rem;
  }
  .p-index .number .content__list .content__item.item18 .lowercase {
    width: 100%;
    text-align: center;
  }
  .p-index .number .content__list .content__item.ranking .graphttl {
    margin-bottom: 2rem;
  }
  .p-index .number .content__list .content__item.brushup .result {
    font-size: 3rem;
    text-align: right;
  }
  .p-index .number .content__list .content__item.brushup .result span {
    font-size: 10rem;
    letter-spacing: -0.025em;
    display: block;
    text-align: center;
  }
  .p-index .number .content__list .content__item.brushup .graphttl span {
    font-size: 4rem;
  }
  .p-index .number .content__list .content__item.price .lowercase {
    display: block;
    margin-top: 1rem;
    font-weight: 500;
  }
  .p-index .number .content__list .content__item.price .box {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-index .number .content__list .content__item.price .box .txt {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    margin-top: 1rem;
  }
  .p-index .price .section__inner {
    padding-top: 4rem;
  }
  .p-index .price .section__ttl {
    letter-spacing: 0.05em;
  }
  .p-index .price .lead {
    text-align: justify;
    line-height: 1.7;
    margin-bottom: 4rem;
  }
  .p-index .price .lead p + p {
    margin-top: 1.5rem;
  }
  .p-index .price .lead .imgbox {
    padding: 1rem 2rem;
    margin-top: 3rem;
  }
  .p-index .price .sp-scroll {
    width: calc(100% + 4rem);
    margin-left: -2rem;
  }
  .p-index .reason .section__inner {
    padding-top: 4rem;
  }
  .p-index .reason .lead {
    padding-inline: 2rem;
    line-height: 1.6;
  }
  .p-index .reason .lead p {
    text-align: justify;
  }
  .p-index .reason .shaft {
    margin-top: 3rem;
    padding: 3rem 2rem;
  }
  .p-index .flow .section__inner {
    padding-top: 6rem;
  }
  .p-index .flow .section__ttl .subttl {
    font-size: 7rem;
    line-height: 0.9;
    text-indent: -1.5rem;
  }
  .p-index .flow ol {
    margin-top: 6rem;
  }
  .p-index .flow ol li::before {
    font-size: 5rem;
    color: rgb(var(--color-main-rgb)/8%);
    top: 0.4rem;
    left: 1.2rem;
  }
  .p-index .voice .section__inner {
    padding-top: 6rem;
  }
  .p-index .voice .section__ttl {
    margin-bottom: 6rem;
  }
  .p-index .voice .section__ttl .subttl {
    font-size: 7rem;
    line-height: 0.9;
  }
  .p-index .voice__list {
    padding: 3rem 2rem 2rem;
    margin-top: 3rem;
  }
  .p-index .voice__list h3 {
    margin-bottom: 1.5rem;
  }
  .p-index .voice__item {
    position: relative;
    width: 100%;
    padding: 1.5rem 2rem;
  }
  .p-index .voice__item .human-icon {
    font-size: 1.5rem;
    line-height: 1.3;
    padding: 0 0 0 6rem;
    min-height: 4.5rem;
    margin-bottom: 0.9rem;
    letter-spacing: 0.05em;
    width: 100%;
  }
  .p-index .voice__item .human-icon::before {
    width: 4.5rem;
    top: 0;
    left: 0;
    -webkit-transform: none;
            transform: none;
    border: 1px solid #dedede;
  }
  .p-index .voice__item p {
    font-size: 1.2rem;
  }
  .p-index .faq .section__inner {
    padding-top: 4rem;
  }
  .p-index .faq .faqbox {
    width: 100%;
  }
  .faq {
    padding-block: 4rem 6rem;
  }
  .faq__ttl {
    margin-bottom: 3rem;
  }
  .service-features-nav {
    padding-block: 4rem 6rem;
  }
  .service-features-nav__ttl {
    margin-bottom: 3rem;
  }
  .service-features-nav__list {
    padding-block: 3rem;
    gap: 0.5rem;
  }
  .service-features-nav__list li {
    width: 100%;
  }
  .service-features-nav__btn {
    margin-top: 3rem;
    width: calc(100% - 4rem);
  }
  .contact-cta__inner {
    background-image: none;
    padding: 2rem 0;
  }
  .contact-cta__contents {
    width: 100%;
  }
  .contact-cta__ttl {
    font-size: 2rem;
  }
  .contact-cta__btn.--white.--big {
    min-height: 7rem;
    width: 100%;
    min-width: auto;
    font-size: 1.8rem;
  }
  .contact-fit {
    display: none;
  }
  .service-detail .link-nav {
    margin-block: 6rem 3rem;
  }
  .service-detail .about h2,
  .service-detail .point h2,
  .service-detail .beforeafter h2,
  .service-detail .voice h2,
  .service-detail .movie h2 {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
  }
  .service-detail .about h2 span,
  .service-detail .point h2 span,
  .service-detail .beforeafter h2 span,
  .service-detail .voice h2 span,
  .service-detail .movie h2 span {
    border-bottom: 4px solid #364768;
  }
  .service-detail .about h2,
  .service-detail .point h2,
  .service-detail .beforeafter h2,
  .service-detail .voice h2,
  .service-detail .movie h2 {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .service-detail .about h2,
  .service-detail .point h2,
  .service-detail .beforeafter h2,
  .service-detail .voice h2,
  .service-detail .movie h2 {
    /* SP */
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
@media screen and (max-width: 768px) {
  .service-detail .about .btn-primary:not(.--category),
  .service-detail .point .btn-primary:not(.--category),
  .service-detail .beforeafter .btn-primary:not(.--category),
  .service-detail .voice .btn-primary:not(.--category),
  .service-detail .movie .btn-primary:not(.--category) {
    margin: 2.5rem auto 0;
  }
  .service-detail .about__inner {
    padding-block: 3rem;
  }
  .service-detail .about__item {
    padding-block: 3rem;
    margin-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .service-detail .about__item img {
    max-width: 90%;
  }
  .service-detail .about__main {
    width: 100%;
    padding-bottom: 0;
  }
  .service-detail .about__main h3,
  .service-detail .about__main h4 {
    text-align: center;
  }
  .service-detail .about__aside {
    width: 100%;
  }
  .service-detail .about__aside + .--full {
    margin-top: 3rem;
  }
  .service-detail .point__inner {
    padding-block: 3rem 6rem;
  }
  .service-detail .beforeafter__inner {
    padding-block: 4rem 6rem;
  }
  .service-detail .beforeafter__contents {
    text-align: justify;
    padding-block: 3rem;
  }
  .service-detail .beforeafter .ba-image {
    margin-block: 8rem 3rem;
  }
  .service-detail .beforeafter__catch {
    margin-top: 2rem;
  }
  .service-detail .beforeafter__costcut {
    width: 75%;
  }
  .service-detail .voice__inner {
    padding-block: 5rem 7rem;
  }
  .service-detail .voice__item {
    padding-block: 3rem;
    margin-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .service-detail .voice__main {
    width: 100%;
    padding-bottom: 0;
  }
  .service-detail .voice__aside {
    width: 100%;
  }
  .service-detail .voice__aside img {
    max-width: 90%;
  }
  .service-detail .movie__inner {
    padding-block: 4rem 6rem;
  }
  .service-detail .movie__contents {
    padding-inline: 0;
  }
  .service-detail .movie .main-movie {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem 0;
  }
  .service-detail .movie .main-movie__item {
    min-width: 100%;
  }
  .service-detail .movie .other-movie .btn-primary {
    margin-top: 0;
    min-width: 23rem;
  }
  .p-attendance .attendance_05 {
    left: 0;
  }
  .p-attendance .attendance_05_2 {
    right: 5%;
    bottom: -2rem;
    width: 9rem;
  }
  .p-attendance .attendance_06 {
    right: 0;
  }
  .p-attendance .attendance_06_2 {
    left: 5%;
    bottom: -2rem;
    width: 10rem;
  }
  .p-attendance .beforeafter__reduce {
    margin-block: 3rem 5rem;
    width: 80%;
  }
  .p-foreigner .point img.foreigner01 {
    width: 80%;
    height: 15rem;
  }
  .p-foreigner .point .flexbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem 0;
    margin-top: 3.5rem;
  }
  .p-foreigner .point .flexbox__text {
    width: 100%;
  }
  .p-foreigner .point .flexbox__text h4 {
    margin-bottom: 1rem;
  }
  .p-foreigner .point .flexbox__text .lowercase {
    margin-top: 1rem;
  }
  .p-foreigner .point .flexbox__img {
    width: 100%;
  }
  .p-foreigner .beforeafter__inner {
    padding-bottom: 2rem;
  }
  .p-foreigner .beforeafter .liquid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-foreigner .beforeafter .liquid div {
    width: 100%;
  }
  .p-foreigner .beforeafter .liquid .liquid__logo-se {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-foreigner .beforeafter .liquid .liquid__logo-se::after {
    font-size: 4rem;
    margin: 0 auto 0.4rem;
  }
  .p-foreigner .movie video {
    width: 100%;
  }
  .p-payroll .payroll_after-2 {
    width: 90%;
  }
  .p-faq .faqnav {
    background-color: #0f6cca;
    position: sticky;
    top: 5rem;
    z-index: 1;
    margin-bottom: 8rem;
  }
  .p-faq .faqnav__inner {
    padding: 1rem 2rem;
  }
  .p-faq .faqnav__tab {
    width: 16rem;
    height: 3.5rem;
    padding-top: 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    font-weight: 700;
    color: #fff;
    background-color: #0f6cca;
    border-radius: 0 0 1rem 1rem;
    cursor: pointer;
    position: absolute;
    right: 2rem;
    bottom: -3rem;
    font-size: 1.4rem;
    padding-bottom: 0.5rem;
  }
  .p-faq .faqnav__menu {
    display: grid;
    -webkit-column-gap: 0.5rem;
       -moz-column-gap: 0.5rem;
            column-gap: 0.5rem;
    row-gap: 0.5rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    grid-template-columns: repeat(auto-fit, calc((100% - 0.5rem) / 2));
    margin-block: 1rem;
  }
  .p-faq .faqnav__menu > li > a, .p-faq .faqnav__menu > li > button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    width: 100%;
    height: 100%;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 0.8rem;
    padding-left: 3.4rem;
    position: relative;
    letter-spacing: 0.05em;
    line-height: 1.2;
    color: #0f6cca;
  }
  .p-faq .faqnav__menu > li > a img, .p-faq .faqnav__menu > li > button img {
    aspect-ratio: 1;
    width: 1.8rem;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0.8rem;
  }
  .p-faq .faqnav__menu > li.select > a, .p-faq .faqnav__menu > li.select > button {
    background-color: rgba(255, 255, 255, 0.5);
    color: #fff;
  }
  .p-faq .faqnav__menu > li.select > a img, .p-faq .faqnav__menu > li.select > button img {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
  .p-faq .faqnav__menu > li.menu-Trigger {
    position: relative;
  }
  .p-faq .faqnav__menu > li.menu-Trigger button {
    position: relative;
  }
  .p-faq .faqnav__menu > li.menu-Trigger button::after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    margin-top: 0.2rem;
    min-width: 8px;
    background: url(../cmn/icon-arw-bl.svg) no-repeat center;
    background-size: 100% auto;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 1rem;
  }
  .p-faq .faqnav__menu > li .acdArea {
    position: absolute;
    right: 0;
    gap: 0.5rem 0;
    width: calc(200% + 0.5rem);
    background-color: #f4f4f6;
    padding: 1.5rem 1rem;
    z-index: 1;
    display: none;
  }
  .p-faq .faqnav__menu > li .acdArea li:not(:last-child) {
    margin-bottom: 1.5rem;
  }
  .p-faq .faqnav__menu > li .acdArea li.line {
    border-top: 1px dashed #dedede;
    padding-top: 1.5rem;
  }
  .p-faq .faqnav__menu > li .acdArea li a {
    font-size: 1.2rem;
    font-weight: 500;
    display: block;
    position: relative;
    line-height: 1.2;
  }
  .p-faq .faqnav__menu > li .acdArea li a::after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    margin-top: 0.2rem;
    min-width: 8px;
    background: url(../cmn/icon-arw-b.svg) no-repeat center;
    background-size: 100% auto;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transform: translateY(-50%) rotate(-90deg);
            transform: translateY(-50%) rotate(-90deg);
    right: 0;
  }
  .p-faq main h2 {
    margin-bottom: 3rem;
  }
  .p-faq main h2 + .pageing, .p-faq main h2 + .pagenation {
    margin-block: 5rem;
  }
  .p-faq .faqbox .pageing,
  .p-faq .faqbox .pagenation {
    padding-bottom: 0;
    margin-top: 3rem;
  }
  .p-movie .page-head,
  .p-manual-movie .page-head {
    margin-bottom: 6rem;
  }
  .p-movie .link-nav,
  .p-manual-movie .link-nav {
    margin-bottom: 6rem;
  }
  .p-movie .movieArea,
  .p-manual-movie .movieArea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .p-movie .movieArea__body,
  .p-manual-movie .movieArea__body {
    padding-block: 3rem;
  }
  .p-movie .movieArea__about,
  .p-manual-movie .movieArea__about {
    width: 100%;
  }
  .p-movie .movieArea__about h2,
  .p-manual-movie .movieArea__about h2 {
    text-align: center;
  }
  .p-movie .movieArea__main,
  .p-manual-movie .movieArea__main {
    width: 100%;
    margin-block: 3.5rem 0;
  }
  .p-movie .movieArea .other-movie,
  .p-manual-movie .movieArea .other-movie {
    padding: 1.5rem 2rem 2rem;
  }
  .p-movie .movieArea:not(.--column) .movieArea__main,
  .p-manual-movie .movieArea:not(.--column) .movieArea__main {
    padding: 2rem;
  }
  .p-movie .movieArea.--column .movieArea__main,
  .p-manual-movie .movieArea.--column .movieArea__main {
    margin-top: 2rem;
  }
  .p-blog.wrap main {
    padding-bottom: 0;
  }
  .p-blog .blogwrap {
    padding-inline: 0;
  }
  .p-blog .blogwrap .page-head {
    width: 100%;
  }
  .p-blog .blogwrap__single .cta-button {
    padding: 0.8rem 4rem 0.8rem 2.5rem;
    padding-inline: 4rem 5rem;
  }
  .p-sitemap .sitemap-lists {
    padding-inline: 0;
  }
  .p-resources .page-head {
    margin-bottom: 6rem;
  }
  .p-resources .page-head ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 3rem;
    gap: 1rem;
  }
  .p-resources .page-head ul li {
    min-width: auto;
  }
  .p-resources .resources-list {
    padding-inline: 0;
  }
  .p-resources .resources-list .page-head {
    margin-bottom: 3rem;
    width: 100%;
  }
  .p-resources .resources-list .link-nav {
    margin-bottom: 4rem;
    width: 100%;
  }
  .p-resources .resources-list .listArea {
    gap: 2rem;
  }
  .p-resources .resources-list .listArea__body {
    padding: 3rem 2rem;
  }
  .p-resources .resources-list .listArea ul.dot-list {
    gap: 0;
  }
  .p-resources .resources-list .listArea ul.dot-list li {
    width: 100%;
  }
  .p-service section:not(:last-child),
  .p-trust section:not(:last-child),
  .p-group section:not(:last-child),
  .p-weblite section:not(:last-child),
  .p-features section:not(:last-child) {
    margin-bottom: 6rem;
  }
  .p-service section:not(.page-head) h2,
  .p-trust section:not(.page-head) h2,
  .p-group section:not(.page-head) h2,
  .p-weblite section:not(.page-head) h2,
  .p-features section:not(.page-head) h2 {
    margin-bottom: 3rem;
  }
  .p-service .contents,
  .p-trust .contents,
  .p-group .contents,
  .p-weblite .contents,
  .p-features .contents {
    padding-inline: 0;
  }
  .p-service .contents__item,
  .p-trust .contents__item,
  .p-group .contents__item,
  .p-weblite .contents__item,
  .p-features .contents__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
    padding: 3rem 2rem;
    margin-top: 2rem;
  }
  .p-service .contents__item img,
  .p-trust .contents__item img,
  .p-group .contents__item img,
  .p-weblite .contents__item img,
  .p-features .contents__item img {
    max-width: 90%;
  }
  .p-service .contents__item img.service_01,
  .p-trust .contents__item img.service_01,
  .p-group .contents__item img.service_01,
  .p-weblite .contents__item img.service_01,
  .p-features .contents__item img.service_01 {
    width: 70%;
  }
  .p-service .contents__main,
  .p-trust .contents__main,
  .p-group .contents__main,
  .p-weblite .contents__main,
  .p-features .contents__main {
    width: 100%;
  }
  .p-service .contents__main h3,
  .p-trust .contents__main h3,
  .p-group .contents__main h3,
  .p-weblite .contents__main h3,
  .p-features .contents__main h3 {
    text-align: center;
  }
  .p-service .contents__aside,
  .p-trust .contents__aside,
  .p-group .contents__aside,
  .p-weblite .contents__aside,
  .p-features .contents__aside {
    width: 100%;
    padding-inline: 5%;
  }
  .p-service .contents__btn,
  .p-trust .contents__btn,
  .p-group .contents__btn,
  .p-weblite .contents__btn,
  .p-features .contents__btn {
    margin-top: 0.5rem;
  }
  .p-group .point .contents {
    margin-top: 6rem;
  }
  .p-group .point .contents__main h4 {
    text-align: center;
  }
  .p-features .page-head__lead {
    line-height: 1.8;
  }
  .p-features .contents .link-nav {
    margin-block: 6rem;
    width: 100%;
  }
  .p-features .contents__item {
    margin-top: 0;
  }
  .p-features .contents__item img {
    width: 90%;
  }
  .p-features .contents__item img.staff {
    width: 90%;
    height: 22rem;
  }
  .p-features .contents__item img.foreigner {
    height: 16rem;
  }
  .p-features .contents__item img.request {
    height: 17rem;
  }
  .p-features .contents__main h3 {
    text-align: left;
  }
  .p-features .contents__main h3 .label {
    height: 26px;
    margin-bottom: 1rem;
  }
  .p-features .contents__main h3 .label::after {
    height: 26px;
    right: -22px;
  }
  .p-features .contents__main h3 span:not(.label) {
    top: -0.3rem;
  }
  .p-features .contents__main .linebox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem 2rem 1rem;
    margin-block: 2.5rem 2rem;
  }
  .p-features .contents__main .linebox dt.linebox__title {
    width: 100%;
  }
  .p-features .contents__main .linebox dt.linebox__title:not(:first-of-type) {
    margin-top: 0;
  }
  .p-features .contents__main .linebox dd {
    max-width: 100%;
    width: 100%;
    line-height: 1.4;
    margin-block: 0.5rem 1rem;
  }
  .p-features .contents__btn {
    margin-top: 0;
  }
  .p-agencies .page-head {
    margin-bottom: 6rem;
  }
  .p-agencies .contents {
    padding-inline: 0;
  }
  .p-agencies .contents h2 {
    margin-bottom: 3rem;
  }
  .p-agencies .contents__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    padding-inline: 0;
    margin-top: 3rem;
  }
  .p-agencies .contents__item:nth-child(odd) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-agencies .contents__main {
    width: 100%;
    padding-bottom: 0;
    display: contents;
  }
  .p-agencies .contents__main h3 {
    text-align: center;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .p-agencies .contents__main p {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p-agencies .contents__main .btn-primary {
    margin-inline: auto;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .p-agencies .contents__aside {
    padding-inline: 5%;
    width: 100%;
    padding-top: 0;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 3rem;
  }
  .p-agencies .contents__aside img.agencies_03 {
    max-width: 80%;
  }
  .p-security .page-head {
    margin-bottom: 6rem;
  }
  .p-security .page-head img {
    margin-block: 2.5rem;
  }
  .p-security .page-head .strengths {
    margin-block: 3rem;
  }
  .p-security .page-head .strengths__text {
    padding: 3rem 1rem 3rem 2rem;
  }
  .p-security .iso,
  .p-security .measures {
    padding-inline: 0;
  }
  .p-security .iso h2,
  .p-security .measures h2 {
    margin-bottom: 3rem;
  }
  .p-security .iso h3,
  .p-security .measures h3 {
    margin-bottom: 3rem;
  }
  .p-security .iso h3:not(:first-of-type),
  .p-security .measures h3:not(:first-of-type) {
    margin-top: 3.5rem;
  }
  .p-security .iso {
    margin-bottom: 6rem;
  }
  .p-security .iso .citetext {
    margin-top: 1.5rem;
  }
  .p-security .iso .flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-block: 5rem 0;
    gap: 2rem;
  }
  .p-security .iso .flexbox .btn-primary {
    margin: 2.5rem auto;
  }
  .p-security .iso .flexbox__main {
    width: 100%;
  }
  .p-security .iso .flexbox img {
    width: 80%;
    margin-inline: auto;
  }
  .p-security .measures .se-security {
    grid-template-columns: 1fr;
    gap: 2rem 0;
  }
  .p-security .measures .se-security__item {
    padding: 3rem 2rem;
    display: block;
  }
  .p-security .measures .se-security__item img {
    height: 10rem;
    margin-block: 2.5rem;
  }
  .p-security .measures .asp-security {
    padding: 3rem 2rem;
  }
  .p-security .measures .asp-security ul {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1.5rem;
  }
  .p-security .measures .asp-security ul li {
    width: calc((100% - 1.5rem) / 2);
  }
  .p-security .measures .asp-security ul li img {
    height: 4rem;
  }
  .p-support .page-head {
    margin-bottom: 6rem;
  }
  .p-support .page-head img {
    margin-block: 3rem;
  }
  .p-support section {
    padding-inline: 0;
  }
  .p-support section h2 {
    margin-bottom: 3rem;
  }
  .p-support section .lead {
    text-align: justify;
    margin-bottom: 3rem;
  }
  .p-support section:not(.evolution) {
    margin-bottom: 6rem;
  }
  .p-support .voice__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .p-support .voice__item .human-icon {
    padding: 7rem 0 0;
    letter-spacing: 0.05em;
  }
  .p-support .voice__item .name {
    margin-top: 1rem;
  }
  .p-support .contents__box {
    padding: 3rem 2rem;
    text-align: justify;
  }
  .p-support .contents__box h3 {
    margin-bottom: 2rem;
    text-align: center;
  }
  .p-support .contents__box .type {
    top: -1.5rem;
    left: 2rem;
    padding-block: 0.5rem 0.7rem;
    text-align: center;
  }
  .p-support .contents__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .p-support .contents__list .contents__box {
    display: block;
    padding: 3rem 2rem;
  }
  .p-support .support-all .bold {
    text-align: center;
  }
  .p-support .support-all .box01 img {
    margin-top: 2rem;
  }
  .p-support .support-all .box03 .flexbox figure figcaption {
    text-align: center;
  }
  .p-support .support-all .box04 .contents__box-main small {
    text-align: center;
    margin-top: 1.5rem;
  }
  .p-support .support-value .contents__box,
  .p-support .support-intro .contents__box {
    display: block;
  }
  .p-support .support-value .contents__box img,
  .p-support .support-intro .contents__box img {
    max-height: 15rem;
  }
  .p-support .support-value .contents__box img.support_04, .p-support .support-value .contents__box img.support_07, .p-support .support-value .contents__box img.support_09,
  .p-support .support-intro .contents__box img.support_04,
  .p-support .support-intro .contents__box img.support_07,
  .p-support .support-intro .contents__box img.support_09 {
    height: 13rem;
  }
  .p-support .support-value .contents__box .imgbox small,
  .p-support .support-intro .contents__box .imgbox small {
    margin-top: 1rem;
    text-align: center;
  }
  .p-support .support-intro h2 {
    margin-bottom: 6rem;
  }
  .p-support .support-intro .contents__list {
    gap: 3.5rem;
  }
  .p-support .attempt .flexbox {
    display: block;
  }
  .p-support .attempt .flexbox__main {
    width: 100%;
  }
  .p-support .attempt .flexbox__img {
    width: 100%;
    margin-top: 2rem;
    padding-inline: 5%;
  }
  .p-support .function .contents__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.5rem;
  }
  .p-support .function .contents__boxwrap .contents__box .boxhead {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 1.5rem;
  }
  .p-support .function .contents__boxwrap .contents__box .boxhead__main .ttl {
    text-align: center;
    font-size: max(12px, 1.6rem);
    letter-spacing: 0.05em;
  }
  .p-support .function .contents__boxwrap .contents__box .boxhead__aside img {
    width: 7rem;
    margin-inline: auto;
  }
  .p-support .evolution img {
    max-width: 90%;
  }
  .p-reason.wrap main {
    padding-bottom: 0;
  }
  .p-reason .page-head {
    margin-bottom: 6rem;
  }
  .p-reason .page-head .shaft {
    margin-top: 2rem;
  }
  .p-reason .reason h2,
  .p-reason .point h2 {
    margin-bottom: 3rem;
  }
  .p-reason .reason {
    padding-inline: 0;
    margin-bottom: 6rem;
  }
  .p-reason .reason .content__box {
    padding: 3rem 2rem;
  }
  .p-reason .reason .content__box .lead {
    text-align: justify;
  }
  .p-reason .reason .content__box .btn-primary {
    margin-top: 2.5rem;
  }
  .p-reason .reason .content .box01 .achievements {
    margin-block: 3rem 1rem;
    font-size: 1.8rem;
  }
  .p-reason .reason .content .box01 ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
    padding-inline: 5%;
  }
  .p-reason .reason .content .box02 .pickttl {
    clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0 100%, 0 0);
    padding: 1rem 2rem;
    line-height: 1.4;
  }
  .p-reason .reason .content .box02 .flexbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    margin-top: 3rem;
  }
  .p-reason .reason .content .box02 .flexbox__graph {
    width: 100%;
  }
  .p-reason .reason .content .box02 .flexbox__map {
    width: 100%;
  }
  .p-reason .reason .content .box03 .support {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    margin-top: 3rem;
  }
  .p-reason .reason .content .box03 .support .ttl {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.5rem 3rem;
    min-width: 15rem;
  }
  .p-reason .reason .content .box03 .support img {
    width: 70%;
  }
  .p-reason .reason .content .box03 .reason_06 {
    display: none;
  }
  .p-reason .reason .content .box04 .year:last-child td {
    border-bottom: none;
  }
  .p-reason .reason .content .box04 .year__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    margin-top: 2rem;
  }
  .p-reason .reason .content .box04 .year td {
    border-bottom: 1px solid #dedede;
    padding-bottom: 1.5rem;
  }
  .p-reason .reason .content .box05 ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    margin-top: 3rem;
  }
  .p-reason .reason .content .box05 ul li img {
    height: auto;
    margin-inline: auto;
  }
  .p-reason .reason .content .box05 ul li img.reason_11 {
    width: 80%;
  }
  .p-reason .reason .content .box05 ul li img.reason_12 {
    width: 80%;
  }
  .p-reason .reason .content .box05 ul li img.reason_13 {
    width: 50%;
  }
  .p-reason .reason .content .box05 ul p {
    margin-top: 1rem;
  }
  .p-reason .point__inner {
    padding-block: 4rem 6rem;
  }
  .p-reason .point h2 {
    margin-bottom: 4rem;
  }
  .p-reason .point__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    padding-inline: 0;
  }
  .p-reason .point__list li h3 {
    font-size: 2rem;
  }
  .p-reason .point__list li img {
    width: 6rem;
    margin: 1.5rem auto;
  }
  .p-reason .point .btn-primary {
    margin-top: 3rem;
  }
  .p-number .content__list,
  .p-index .number .content__list {
    padding-block: 3rem;
  }
  .p-number .content__list:not(:last-child),
  .p-index .number .content__list:not(:last-child) {
    margin-bottom: 3rem;
  }
  .p-number .content__item,
  .p-index .number .content__item {
    padding: 3rem 0;
    width: 100%;
  }
  .p-number .content__item img,
  .p-index .number .content__item img {
    width: 90%;
    margin-inline: auto;
  }
  .p-number .content__item .graphttl.--big,
  .p-index .number .content__item .graphttl.--big {
    font-size: 2rem;
  }
  .p-number .content__item .subttl,
  .p-index .number .content__item .subttl {
    font-size: 1.8rem;
    margin-top: 2rem;
    text-align: center;
  }
  .p-number .content__item .subttl + .result,
  .p-index .number .content__item .subttl + .result {
    position: relative;
    top: -1rem;
    margin-bottom: -1rem;
  }
  .p-number .content__item .result,
  .p-index .number .content__item .result {
    font-size: 4rem;
  }
  .p-number .content__item .result span,
  .p-index .number .content__item .result span {
    font-size: 12rem;
  }
  .p-number .content__item .pie,
  .p-index .number .content__item .pie {
    margin: 2rem auto 0;
    width: 20rem;
  }
  .p-number .content__item .pie > span,
  .p-index .number .content__item .pie > span {
    font-size: 2.5rem;
  }
  .p-number .content__item .pie > span::before,
  .p-index .number .content__item .pie > span::before {
    font-size: 5rem;
  }
  .p-number .content h2 {
    margin-bottom: 3rem;
  }
  .p-number .content .achievements .item04 .box {
    display: block;
  }
  .p-number .content .achievements .item04 .box.box02 {
    margin-top: 3rem;
  }
  .p-number .content .achievements .item05 .box .txt02 {
    font-size: 1.2rem;
    text-align: right;
  }
  .p-number .content .achievements .item05 .box .txt02 span {
    color: rgba(255, 255, 255, 0.5);
  }
  .p-number .content .achievements .item07 .flex {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    position: relative;
  }
  .p-number .content .achievements .item07 .flex::before {
    content: "";
    display: block;
    width: 1px;
    height: 11rem;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    left: 44%;
    top: 50%;
    -webkit-transform: translateY(-40%) rotate(15deg);
            transform: translateY(-40%) rotate(15deg);
  }
  .p-number .content .achievements .item07 .flex .result {
    font-size: 3rem;
  }
  .p-number .content .achievements .item07 .flex .result span {
    font-size: 10rem;
    font-weight: 600;
  }
  .p-number .content .achievements .item07 .flex .box01 {
    padding-right: 5rem;
  }
  .p-number .content .achievements .item07 .flex .box02 .result span {
    color: #fff;
  }
  .p-number .content .achievements .item08 .result {
    font-size: 3rem;
  }
  .p-number .content .achievements .item08 .result span {
    font-size: 10rem;
  }
  .p-number .content .brushup .content__item {
    padding: 0;
  }
  .p-number .content .brushup .content__item > .result {
    font-size: 3rem;
    text-align: right;
  }
  .p-number .content .brushup .content__item > .result span {
    font-size: 10rem;
    letter-spacing: -0.025em;
    display: block;
    text-align: center;
  }
  .p-number .content .brushup .box {
    margin-block: 4rem 2rem;
  }
  .p-number .content .brushup .box .graphttl span {
    font-size: 4rem;
  }
  .p-number .content .brushup .txt {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-number .content .brushup .txt {
    /* SP */
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-number .content .ranking .content__item {
    padding: 0;
  }
  .p-number .content .ranking figure img {
    width: 100%;
  }
  .p-number .content .ranking figure img.number_04 {
    width: 80%;
    margin-block: 2rem 3rem;
  }
  .p-number .content .numberdata .item01 {
    padding-top: 0;
  }
  .p-number .content .numberdata .item01 .txt01 {
    text-align: right;
    display: block;
    margin-block: 1rem;
  }
  .p-number .content .numberdata .item02 .number_06 {
    width: 80%;
    margin-block: 3rem 0.5rem;
  }
  .p-number .content .numberdata .item04 .result span {
    letter-spacing: -0.05em;
  }
  .p-number .content .numberdata .item06 img,
  .p-number .content .numberdata .item07 img {
    margin-block: 2rem 0;
    width: 95%;
  }
  .p-number .content .numberdata .item04 .result,
  .p-number .content .numberdata .item10 .result,
  .p-number .content .numberdata .item11 .result,
  .p-number .content .numberdata .item16 .result {
    font-size: 3rem;
  }
  .p-number .content .numberdata .item04 .result span,
  .p-number .content .numberdata .item10 .result span,
  .p-number .content .numberdata .item11 .result span,
  .p-number .content .numberdata .item16 .result span {
    font-size: 10rem;
    margin-inline: 0.5rem;
  }
  .p-number .content .numberdata .item04 .result .small,
  .p-number .content .numberdata .item10 .result .small,
  .p-number .content .numberdata .item11 .result .small,
  .p-number .content .numberdata .item16 .result .small {
    letter-spacing: 0;
    font-size: 4rem;
    margin-inline: 0.5rem 0;
  }
  .p-number .content .numberdata .item11 .txt01 {
    display: block;
    text-align: right;
  }
  .p-number .content .numberdata .graphttl span {
    color: #ffa620;
    display: inline-block;
    margin-top: 1.5rem;
  }
  .p-number .content .price .content__item {
    padding: 0;
  }
  .p-number .content .price .box .graphttl span {
    display: block;
    margin-top: 1rem;
  }
  .p-number .content .price .txt {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-number .content .price .txt {
    /* SP */
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-price section:not(:last-child) {
    margin-bottom: 6rem;
  }
  .p-price section:not(.page-head) h2 {
    margin-bottom: 3rem;
  }
  .p-price .page-head .imgbox {
    padding: 1rem 2rem;
    margin-top: 3rem;
  }
  .p-price .beforeafter {
    padding-inline: 0;
  }
  .p-price .beforeafter .contents h3 {
    margin-bottom: 3rem;
  }
  .p-price .beforeafter .contents .graph .price_02 {
    width: 100%;
    height: auto;
  }
  .p-price .beforeafter .contents .graph .price_03 {
    position: static;
    width: 80%;
    margin: 1rem auto 0;
  }
  .p-price .cost {
    padding-inline: 0;
  }
  .p-price .cost p {
    text-align: justify;
  }
  .p-price .cost p + p {
    margin-top: 1.5rem;
  }
  .p-price .cost img {
    margin-top: 3rem;
  }
  .p-price .function {
    padding-inline: 0;
  }
  .p-flow.wrap main {
    padding-bottom: 0;
  }
  .p-flow .flow {
    padding-inline: 0;
    padding-bottom: 6rem;
  }
  .p-flow .case__inner {
    padding-inline: 0;
    padding-block: 4rem 6rem;
  }
  .p-flow .case h2 {
    margin-bottom: 3rem;
  }
  .p-flow .contents__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-flow .contents__unit {
    font-size: 4rem;
    letter-spacing: 0;
    margin-bottom: 1rem;
  }
  .p-flow .contents__unit::after {
    height: 3.6rem;
    margin-left: 2rem;
    top: 0.6rem;
  }
  .p-flow .contents__ttl {
    min-height: auto;
  }
  .p-flow .contents__main {
    border: none;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem 0;
  }
  .p-flow .contents__main::before {
    content: "";
    display: block;
    width: 80%;
    height: 1px;
    background-color: #dedede;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: 0;
  }
  .p-flow .contents__imgbox {
    width: 100%;
    padding-inline: 10%;
  }
  .p-flow .contents .btn-primary {
    margin-inline: auto;
  }
  .p-flow .contents.--flow {
    gap: 5rem 0;
  }
  .p-flow .contents.--flow .contents__ttl {
    margin-bottom: 1.5rem;
  }
  .p-flow .contents.--case .contents__ttl {
    margin-bottom: 1.5rem;
  }
  .p-flow .contents .flow-item01 .flexbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative;
  }
  .p-flow .contents .flow-item01 .flexbox__img {
    width: 10rem;
    padding: 0;
    position: absolute;
    right: 1.5rem;
    top: -6rem;
  }
  .p-flow .contents .flow-item01 .linebox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-inline: auto;
    width: 95%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-flow .contents .flow-item01 .linebox .linebox__title {
    text-align: center;
  }
  .p-flow .contents .flow-item01 .linebox img {
    width: 10rem;
    padding: 1rem 0 0;
  }
  .p-workers section:not(:last-child) {
    margin-bottom: 6rem;
  }
  .p-workers section:not(.page-head):not(.mv):not(.neoworks-mv) h2 {
    margin-bottom: 3rem;
  }
  .p-workers .mv {
    padding: 3rem 2rem 20rem;
    display: block;
    position: relative;
  }
  .p-workers .mv h2 {
    margin-bottom: 3rem;
  }
  .p-workers .mv ul {
    padding-inline: 2rem;
  }
  .p-workers .mv img {
    position: absolute;
    bottom: 3rem;
  }
  .p-workers .mv img.workers_01 {
    width: 44%;
    left: 1.5rem;
  }
  .p-workers .mv img.workers_02 {
    width: 42%;
    right: 1.5rem;
  }
  .p-workers .merit {
    padding-inline: 0;
  }
  .p-workers .merit .contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .p-workers .merit .contents__box {
    display: block;
    padding: 3rem 2rem;
  }
  .p-workers .merit .contents__box h3 {
    margin-bottom: 2rem;
  }
  .p-workers .merit .contents__box img {
    width: 50%;
  }
  .p-workers .merit .contents__box p {
    margin-top: 2rem;
  }
  .p-workers .features {
    padding-inline: 0;
  }
  .p-workers .features .link-nav {
    margin-bottom: 6rem;
  }
  .p-workers .features .contents {
    gap: 2rem;
  }
  .p-workers .features .contents__body {
    padding: 3rem 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p-workers .features .contents__about {
    display: contents;
  }
  .p-workers .features .contents__about h3 {
    width: 100%;
    margin-bottom: 2.5rem;
    text-align: center;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .p-workers .features .contents__about p {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .p-workers .features .contents__about .main-movie {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
    padding: 2rem 2rem 1rem;
  }
  .p-workers .features .contents .point {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    margin-top: 2rem;
  }
  .p-workers .features .contents__phone {
    display: contents;
  }
  .p-workers .features .contents__phone + .point {
    margin-top: 2rem;
  }
  .p-workers .features .contents__phone img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0 auto 3rem;
    width: 80%;
  }
  .p-workers .neoworks-mv {
    margin-top: 6rem;
  }
  .p-workers .neoworks-mv__inner {
    padding-block: 4rem 6rem;
  }
  .p-workers .neoworks-mv h2 {
    margin-bottom: 3rem;
  }
  .p-workers .neoworks-mv .install h3::after {
    height: 4.5rem;
    background-size: 15rem auto;
  }
  .p-workers .neoworks-mv .install__main ul li {
    padding-inline: 2rem;
  }
  .p-workers .howto {
    padding: 0;
  }
}
/* レイアウトパーツ */
/* 再利用可能なUIパーツ */
/* ページ固有スタイル */