@charset "UTF-8";
:root {
  --color-white: #fff;
  --color-txt: #1e2855;
  --color-accent: #1e78eb;
  --color-gray: #aaa;
  --color-gray02: #c8c8c8;
  --color-gray03: #f6f6f6;
  --color-consulting: #5e9cf8;
  --color-bg: #f4f3ef;
  --color-yellow: #e2f174;
  --color-navy: #47505f;
  --color-dark-navy: #1e2855;
  --color-beige: #f4f3ef;
  --color-red: #e15555;
}

/* =======================================================
reset.css
======================================================= */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  border: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: 100%;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: "";
  content: none;
}

table {
  border-spacing: 0;
  border-collapse: separate;
}

* {
  padding: 0;
  margin: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  font-style: normal;
  word-break: break-word;
  word-wrap: break-word;
  overflow-wrap: break-word;
  outline: none;
  box-shadow: none;
  line-break: strict;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

*,
*:focus,
a:focus {
  outline: none;
}

p,
li,
dt,
dd,
th,
td {
  -ms-line-break: strict;
  line-break: strict;
  word-break: break-word;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.5s ease;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
  image-rendering: optimize-contrast;
}

picture {
  line-height: 0;
}

input,
button,
select,
textarea {
  background-color: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  appearance: none;
}

input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fff inset;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

button,
textarea {
  font-family: inherit;
  font-size: 100%;
}

html {
  font-size: min(calc(16 / 1440 * 100vw), 16px);
}
@media screen and (max-width: 750px) {
  html {
    font-size: calc(16 / 375 * 100vw);
  }
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: calc(30/14);
  color: var(--color-txt);
  letter-spacing: 0.05em;
  background: var(--color-white);
}

input,
button,
select,
textarea,
::placeholder {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: calc(30/14);
  color: var(--color-txt);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  input,
  button,
  select,
  textarea,
  ::placeholder {
    font-size: 0.75rem;
  }
}

.u-pc {
  display: initial;
}
@media screen and (max-width: 750px) {
  .u-pc {
    display: none;
  }
}

.u-sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .u-sp {
    display: initial;
  }
}

.u-transition {
  transition: all 0.5s ease;
}

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

.u-font__en {
  font-family: Overpass, sans-serif;
}

@media (hover: hover) {
  label:hover,
  button:hover,
  input[type=checkbox]:hover,
  input[type=submit]:hover {
    cursor: pointer;
  }
}

a {
  transition: all 0.5s ease;
}
@media (hover: hover) {
  a:hover {
    opacity: 0.5;
  }
}

figure {
  display: flex;
}

.l-main.--bg-beige {
  background: var(--color-beige);
}

@media screen and (max-width: 750px) {
  .l-all__wrapper {
    position: relative;
  }
}
.l-all__wrapper::after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 8000;
  display: none;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.2);
  transition: all 0.5s ease;
  transform: translate(-50%, -50%);
}
.l-all__wrapper.--active {
  height: 100vh;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .l-all__wrapper.--active::after {
    display: block;
  }
}
.l-all__wrapper.--js-modal-open {
  height: 100vh;
  overflow: hidden;
}

/* =============================
　header
============================== */
.l-head {
  position: fixed;
  top: 1.5625rem;
  left: 50%;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 85rem;
  height: 4.375rem;
  padding: 0 3.125rem 0 2.1875rem;
  background: var(--color-white);
  border: 0.75px solid var(--color-gray02);
  border-radius: 3.125rem;
  transform: translateX(-50%);
}
@media screen and (max-width: 750px) {
  .l-head {
    top: 0;
    width: 100%;
    height: auto;
    padding: 1.875rem 1.5625rem 1.875rem 1.25rem;
    background: transparent;
    border: none;
    border-radius: 0;
  }
}

.p-head__logo-link {
  display: flex;
  width: 8.125rem;
  margin-top: 0.375rem;
}
@media screen and (max-width: 750px) {
  .p-head__logo-link {
    width: 7.5rem;
    margin-top: 0;
  }
}
@media screen and (max-width: 750px) {
  .p-head__box {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9500;
    display: flex;
    flex-direction: column;
    width: 18.75rem;
    height: 100vh;
    padding: 5.625rem 1.5625rem;
    overflow-y: scroll;
    background: var(--color-white);
    transform: translateX(100%);
  }
}
.p-head__box.--active {
  transform: translateX(0);
}
.p-head__gnav {
  font-size: 0.9375rem;
}
.p-head__gnav-wrapper {
  justify-self: center;
}
@media screen and (max-width: 750px) {
  .p-head__gnav-wrapper {
    margin-bottom: 2.5rem;
  }
}
.p-head__gnav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.375rem;
}
@media screen and (max-width: 750px) {
  .p-head__gnav-list {
    display: grid;
    grid-template: "service" "support" "production" "document" "news" "company" "recruitment";
    grid-template-columns: auto;
    gap: 0;
  }
}
.p-head__gnav-item {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--service {
    grid-area: service;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--service .p-head__gnav {
    position: relative;
    padding-top: 0;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--service .p-head__gnav::after {
    position: absolute;
    top: 0.6875rem;
    right: 1rem;
    width: 1rem;
    height: 0.5rem;
    content: "";
    background: url("../images/common/burger-arrow.svg") top center/contain no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--support {
    grid-area: support;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--production {
    grid-area: production;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--company {
    grid-area: company;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--recruitment {
    grid-area: recruitment;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--recruitment .p-head__gnav {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--document {
    grid-area: document;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--contact {
    display: none;
  }
}
.p-head__gnav-item.--news {
  display: none;
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item.--news {
    display: flex;
    grid-area: news;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-item:not(:first-of-type) .p-head__gnav {
    border-top: 1.2px solid transparent;
    border-image: repeating-linear-gradient(to right, var(--color-gray) 0, var(--color-gray) 0.6px, transparent 0.6px, transparent 1.2px) 1;
    border-image-slice: 1;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav {
    display: flex;
    width: 100%;
    padding: 0.9375rem 0.3125rem;
    font-size: 1rem;
    line-height: calc(28/16);
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 750px) {
  .p-head__gnav-child-list {
    display: none;
    width: 100%;
    padding: 1.25rem 0.9375rem;
    border-top: 1.2px solid transparent;
    border-image: repeating-linear-gradient(to right, var(--color-gray) 0, var(--color-gray) 0.6px, transparent 0.6px, transparent 1.2px) 1;
    border-image-slice: 1;
  }
}
.p-head__gnav-child-item:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 750px) {
  .p-head__gnav-child {
    display: block;
    width: 100%;
    font-size: 0.875rem;
    line-height: calc(26/14);
  }
}
@media screen and (max-width: 750px) {
  .p-head__burger {
    position: absolute;
    top: 1.875rem;
    right: 1.5625rem;
    z-index: 9999;
    display: grid;
    grid-template-rows: 1fr auto;
    width: 2.5rem;
    height: 1.25rem;
  }
}
@media screen and (max-width: 750px) {
  .p-head__burger.--active .p-head__burger-bars::before {
    top: 50%;
    transform: translate(-50%, -50%) rotate(26.565deg);
  }
}
@media screen and (max-width: 750px) {
  .p-head__burger.--active .p-head__burger-bars::after {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-26.565deg);
  }
}
@media screen and (max-width: 750px) {
  .p-head__burger.--active .p-head__burger-bar {
    opacity: 0;
  }
}
@media screen and (max-width: 750px) {
  .p-head__burger-bars {
    position: relative;
    display: block;
    height: 1.25rem;
  }
}
@media screen and (max-width: 750px) {
  .p-head__burger-bar, .p-head__burger-bars::before, .p-head__burger-bars::after {
    position: absolute;
    left: 50%;
    width: 100%;
    height: 0.125rem;
    content: "";
    background: var(--color-dark-navy);
    transition: all 0.5s ease;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 750px) {
  .p-head__burger-bars::before {
    top: 0;
  }
}
@media screen and (max-width: 750px) {
  .p-head__burger-bars::after {
    bottom: 0;
  }
}
@media screen and (max-width: 750px) {
  .p-head__burger-bar {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 750px) {
  .p-head__btn-wrapper {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.9375rem;
  }
}

@media screen and (max-width: 750px) {
  .l-head .p-head__btn {
    justify-content: center;
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .l-head .p-head__btn::after {
    display: none;
  }
}

/* 全体のWrapper */
.l-all__wrapper {
  margin: 0 auto;
  overflow: hidden;
}

.l-inner {
  position: relative;
  width: 76.25rem;
  height: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .l-inner {
    width: 20.3125rem;
  }
}

/* =======================================================
footer
======================================================= */
.l-foot {
  padding: 3.9375rem 0 3.0625rem;
  background: var(--color-navy);
}
@media screen and (max-width: 750px) {
  .l-foot {
    padding: 2.875rem 0 2.75rem;
  }
}

.p-foot__box {
  display: grid;
  grid-template: "logo service nav-wrapper btn-wrapper" "sns-list service nav-wrapper btn-wrapper";
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr repeat(3, auto);
  gap: 4rem 4.375rem;
  padding-bottom: 11.0625rem;
}
@media screen and (max-width: 750px) {
  .p-foot__box {
    grid-template: "service btn-wrapper" "nav-wrapper nav-wrapper" "logo logo" "sns-list sns-list";
    grid-template-rows: auto;
    grid-template-columns: repeat(2, auto);
    gap: 0;
    padding-bottom: 1.5625rem;
  }
}
.p-foot__logo {
  grid-area: logo;
  width: 11.9375rem;
}
@media screen and (max-width: 750px) {
  .p-foot__logo {
    width: 9.0625rem;
    margin-top: 5.875rem;
  }
}
.p-foot__sns {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  line-height: calc(24/14);
  color: var(--color-white);
}
.p-foot__sns-list {
  display: none;
  grid-area: sns-list;
  gap: 1rem;
  align-self: end;
}
@media screen and (max-width: 750px) {
  .p-foot__sns-list {
    gap: 0.6875rem;
    margin-top: 1.5625rem;
  }
}
.p-foot__sns-item.--instagram .p-foot__sns {
  gap: 0.75rem;
}
@media screen and (max-width: 750px) {
  .p-foot__sns-item.--instagram .p-foot__sns {
    gap: 0.625rem;
  }
}
.p-foot__sns-item.--instagram .p-foot__sns::before {
  width: 1.125rem;
  height: 1.125rem;
  background: url("../images/common/icon-instagram.svg") top center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .p-foot__sns-item.--instagram .p-foot__sns::before {
    width: 1rem;
    height: 1rem;
  }
}
.p-foot__sns-item.--blog .p-foot__sns {
  gap: 0.875rem;
}
@media screen and (max-width: 750px) {
  .p-foot__sns-item.--blog .p-foot__sns {
    gap: 0.75rem;
  }
}
.p-foot__sns-item.--blog .p-foot__sns::before {
  width: 0.875rem;
  height: 0.875rem;
  background: url("../images/common/icon-note.svg") top center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .p-foot__sns-item.--blog .p-foot__sns::before {
    width: 0.75rem;
    height: 0.75rem;
  }
}
@media screen and (max-width: 750px) {
  .p-foot__sns {
    line-height: calc(24/12);
  }
}
.p-foot__sns::before {
  content: "";
}
.p-foot__nav-wrapper {
  display: flex;
  flex-wrap: wrap;
  grid-area: nav-wrapper;
  gap: 4.375rem;
}
@media screen and (max-width: 750px) {
  .p-foot__nav-wrapper {
    gap: 2.5rem;
    margin-top: 3rem;
  }
}
.p-foot__nav-wrapper .p-foot__nav-list {
  display: grid;
  gap: 1.9375rem;
}
@media screen and (max-width: 750px) {
  .p-foot__nav-wrapper .p-foot__nav-list {
    gap: 0.9375rem;
  }
}
.p-foot__nav-wrapper .p-foot__nav-item:not(:last-of-type) {
  margin-bottom: 0;
}
.p-foot__nav-wrapper .p-foot__nav-item:first-of-type {
  margin-bottom: 0;
}
.p-foot__nav.--service {
  grid-area: service;
}
.p-foot__nav.--service .p-foot__nav-link {
  font-size: 0.875rem;
  line-height: calc(24/14);
  letter-spacing: 0.05em;
}
.p-foot__nav.--service .p-foot__nav-link.--head {
  font-size: 1rem;
  line-height: calc(26/16);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 750px) {
  .p-foot__nav.--service .p-foot__nav-link.--head {
    font-size: 0.75rem;
    line-height: calc(24/12);
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 750px) {
  .p-foot__nav.--service .p-foot__nav-link {
    font-size: 0.75rem;
    line-height: calc(22/12);
  }
}
.p-foot__nav-item {
  display: flex;
}
.p-foot__nav-item:not(:last-of-type) {
  margin-bottom: 1rem;
}
@media screen and (max-width: 750px) {
  .p-foot__nav-item:not(:last-of-type) {
    margin-bottom: 0.4375rem;
  }
}
.p-foot__nav-item:first-of-type {
  margin-bottom: 1.9375rem;
}
@media screen and (max-width: 750px) {
  .p-foot__nav-item:first-of-type {
    margin-bottom: 0.75rem;
  }
}
.p-foot__nav-link {
  font-size: 1rem;
  line-height: calc(26/16);
  color: var(--color-white);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 750px) {
  .p-foot__nav-link {
    font-size: 0.75rem;
    line-height: calc(24/12);
    letter-spacing: 0.05em;
  }
}
.p-foot__nav-link.--diactive {
  color: var(--color-gray);
}
.p-foot__btn-wrapper {
  display: grid;
  grid-area: btn-wrapper;
  gap: 1.25rem;
  align-self: start;
  margin-left: 1.25rem;
}
@media screen and (max-width: 750px) {
  .p-foot__btn-wrapper {
    justify-self: end;
    margin-left: 0;
  }
}
.p-foot__copyright {
  font-size: 1rem;
  line-height: calc(50/16);
  color: var(--color-white);
}
@media screen and (max-width: 750px) {
  .p-foot__copyright {
    font-size: 0.75rem;
    line-height: calc(24/12);
  }
}

.u-color__accent {
  color: var(--color-accent);
}
.u-color__accent.--02 {
  color: var(--color-yellow);
}

.u-att {
  display: flex;
  font-size: 0.875rem;
}
@media screen and (max-width: 750px) {
  .u-att {
    font-size: 1.5rem;
  }
}

.u-att::before {
  flex: 0 1 auto;
  content: "※";
}

span.u-att {
  display: block;
}

/* =======================================================
bread
======================================================= */
@media screen and (max-width: 750px) {
  .p-bread {
    display: none;
  }
}
.p-bread__list {
  display: flex;
  gap: 0.5em;
  justify-content: end;
}
.p-bread__item {
  font-size: 0.75rem;
  line-height: calc(28/12);
  color: var(--color-gray);
  text-decoration: underline;
}
.p-bread__item:not(:first-of-type) {
  position: relative;
  padding-left: 1.5em;
}
.p-bread__item:not(:first-of-type)::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "＞";
}

.c-bullet__item {
  display: flex;
}

.c-bullet__item::before {
  flex: 0 1 auto;
  content: "・";
}

.c-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 12rem;
  padding: 0.9375rem 1.5625rem 1.0625rem 1.625rem;
  font-size: 1.125rem;
  line-height: calc(28/18);
  color: var(--color-white);
  letter-spacing: 0.1em;
  border-radius: 3.125rem;
}
@media screen and (max-width: 750px) {
  .c-btn {
    min-width: 9.0625rem;
    padding: 0.5rem 1.0625rem 0.625rem;
    font-size: 0.875rem;
    line-height: calc(26/14);
    letter-spacing: 0.05em;
  }
}
.c-btn::after {
  width: 0.9375rem;
  height: 0.75rem;
  content: "";
  background: url("../images/common/arrow--white.svg") top center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .c-btn::after {
    width: 0.875rem;
    height: 0.6875rem;
    background: url("../images/common/arrow--white-sp.svg") top center/contain no-repeat;
  }
}
@media (hover: hover) {
  .c-btn:hover {
    opacity: 0.5;
  }
}
.c-btn.--document {
  background: var(--color-accent);
}
.c-btn.--consulting {
  background: var(--color-consulting);
}

.u-deco__line {
  position: relative;
  padding-left: 1.25rem;
  font-size: 1.625rem;
  line-height: calc(45/26);
}
@media screen and (max-width: 750px) {
  .u-deco__line {
    padding-left: 0.9375rem;
    font-size: 1.25rem;
    line-height: calc(30/20);
  }
}
.u-deco__line::before {
  position: absolute;
  top: 0.5rem;
  left: -0.15625rem;
  width: 0.3125rem;
  height: calc(100% - 0.875rem);
  content: "";
  background: var(--color-accent);
}
@media screen and (max-width: 750px) {
  .u-deco__line::before {
    top: 0.375rem;
    left: 0.078125rem;
    width: 0.21875rem;
    height: calc(100% - 0.625rem);
  }
}

.u-hover__opacity {
  cursor: pointer;
}
@media (hover: hover) {
  .u-hover__opacity:hover {
    opacity: 0.5;
  }
}
@media (hover: hover) {
  .u-hover__opacity-not:hover {
    opacity: 1;
  }
}

/* =======================================================
cta
======================================================= */
.l-cta {
  padding: 6.25rem 0 6.5625rem;
  text-align: center;
  background: url("../images/common/cta-bg.jpg") top center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .l-cta {
    padding: 11.25rem 0 11.5rem;
    background: url("../images/common/cta-bg-sp.jpg") top center/cover no-repeat;
  }
}
.l-cta.--secondary {
  background: url("../images/common/cta-bg--secondary.jpg") top center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .l-cta.--secondary {
    background: url("../images/common/cta-bg--secondary-sp.jpg") top center/cover no-repeat;
  }
}
.l-cta.--service {
  padding: 4.8125rem 0;
  background: url("../images/common/cta-bg--service.jpg") top center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .l-cta.--service {
    padding: 2.1875rem 0;
    background: url("../images/common/cta-bg--service-sp.jpg") top center/cover no-repeat;
  }
}
.l-cta.--service .p-cta__ttl {
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .l-cta.--service .p-cta__ttl {
    font-size: 1.125rem;
    line-height: calc(30/18);
  }
}
@media screen and (max-width: 750px) {
  .l-cta.--service-lower {
    padding: 1.875rem 0 2.25rem;
    background: url("../images/common/cta-bg--service-lower-sp.jpg") top center/cover no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .l-cta.--service-lower .p-cta__ttl {
    padding-left: 0.0625rem;
    margin-bottom: 1.25rem;
    font-size: 1.125rem;
    line-height: calc(30/18);
  }
}
@media screen and (max-width: 750px) {
  .l-cta.--service-lower .p-cta__subttl {
    margin-bottom: 0.875rem;
  }
}
@media screen and (max-width: 750px) {
  .l-cta.--service-lower .p-cta__btn-wrapper {
    gap: 1.25rem;
  }
}
.l-cta.--discount {
  background: var(--color-navy);
}
@media screen and (max-width: 750px) {
  .l-cta.--discount {
    padding: 1.875rem 0 2.25rem;
  }
}
@media screen and (max-width: 750px) {
  .l-cta.--discount .p-cta__subttl {
    margin-bottom: 0.875rem;
    line-height: calc(20/12);
  }
}
@media screen and (max-width: 750px) {
  .l-cta.--discount .p-cta__ttl {
    padding-left: 0.0625rem;
    margin-bottom: 1.625rem;
    font-size: 1.125rem;
    line-height: calc(32/18);
  }
}
@media screen and (max-width: 750px) {
  .l-cta.--discount .p-cta__btn-wrapper {
    gap: 1.25rem;
  }
}

.p-cta__subttl {
  margin-bottom: 0.875rem;
  font-size: 1rem;
  line-height: calc(50/16);
  color: var(--color-white);
}
@media screen and (max-width: 750px) {
  .p-cta__subttl {
    margin-bottom: 1.75rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
  }
}
.p-cta__subttl-inner {
  position: relative;
}
.p-cta__subttl-inner::after {
  position: absolute;
  bottom: -0.25rem;
  left: 50%;
  width: 100%;
  height: 0.0625rem;
  content: "";
  background: var(--color-white);
  transform: translateX(-50%);
}
.p-cta__ttl {
  margin-bottom: 2.25rem;
  font-size: 1.625rem;
  line-height: calc(45/26);
  color: var(--color-white);
}
@media screen and (max-width: 750px) {
  .p-cta__ttl {
    padding-left: 0.8125rem;
    margin-bottom: 1.75rem;
    font-size: 1.25rem;
    line-height: calc(36/20);
  }
}
.p-cta__btn {
  color: var(--color-white);
  border: 1px solid;
}
.p-cta__btn-wrapper {
  display: flex;
  gap: 1.25rem;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .p-cta__btn-wrapper {
    gap: 0.625rem;
  }
}
.p-cta__btn.--document, .p-cta__btn.--consulting {
  background: rgba(255, 255, 255, 0.2);
}

/* =======================================================
p-document
======================================================= */
.p-document__modal {
  position: relative;
  width: 62.5rem;
  padding: 5rem 5.625rem 6.25rem;
  margin: 0 auto;
  background: var(--color-white);
}
.p-document__modal-wrapper {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 9999;
  display: none;
  width: 100vw;
  height: 100vh;
  padding: 1.5625rem 0;
  overflow-y: scroll;
  background: rgba(0, 0, 0, 0.5);
  transform: translate(-50%, -50%);
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media screen and (max-width: 750px) {
  .p-document__modal-wrapper {
    padding: 5rem 1.09375rem 5rem;
  }
}
.p-document__modal-wrapper::-webkit-scrollbar {
  display: none;
}
.p-document__modal-wrapper.--js-modal-open {
  display: block;
}
@media screen and (max-width: 750px) {
  .p-document__modal {
    width: 100%;
    padding: 3.75rem 1.5625rem 5rem;
  }
}
.p-document__modal-close {
  position: absolute;
  top: 3.125rem;
  right: 3.125rem;
  z-index: 9999;
  width: 1.875rem;
  height: 1.25rem;
  background: url("../images/info/modal-close.svg") top center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .p-document__modal-close {
    top: 1.125rem;
    right: 1.125rem;
    width: 1.125rem;
    height: 0.75rem;
    background: url("../images/info/modal-close-sp.svg") top center/contain no-repeat;
  }
}
.p-document__modal-column {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.75rem;
  margin-bottom: 5.0625rem;
}
@media screen and (max-width: 750px) {
  .p-document__modal-column {
    grid-template: "figure" "ttl" "txt";
    grid-template-rows: auto;
    grid-template-columns: auto;
    gap: 0;
    margin-bottom: 3.125rem;
  }
}
@media screen and (max-width: 750px) {
  .p-document__modal-column-figure {
    margin-bottom: 1.375rem;
  }
}
.p-document__modal-column-body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .p-document__modal-column-body {
    gap: 0.8125rem;
  }
}
.p-document__modal-column-ttl {
  font-size: 1rem;
  line-height: calc(26/16);
  color: var(--color-accent);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 750px) {
  .p-document__modal-column-ttl {
    line-height: calc(28/16);
    letter-spacing: 0.05em;
  }
}
.p-document__modal-column-txt {
  align-self: start;
}
@media screen and (max-width: 750px) {
  .p-document__modal-column-txt {
    line-height: calc(26/14);
  }
}

/* =======================================================
contact form 7 リセット
======================================================= */
.wpcf7-form-control-wrap {
  display: flex;
}

/* =======================================================
form
======================================================= */
.c-form__fields {
  display: grid;
  gap: 1.875rem;
  margin-bottom: 3.375rem;
}
@media screen and (max-width: 750px) {
  .c-form__fields {
    gap: 0.9375rem;
    margin-bottom: 3.125rem;
  }
}
.c-form__field {
  display: grid;
  grid-template-columns: 11.0625rem 1fr;
  gap: 1.25rem;
}
@media screen and (max-width: 750px) {
  .c-form__field {
    grid-template-columns: auto;
    gap: 0.5rem;
  }
}
.c-form__lbl {
  position: relative;
  display: flex;
  justify-content: space-between;
  line-height: calc(50/14);
}
@media screen and (max-width: 750px) {
  .c-form__lbl {
    gap: 0.625rem;
    justify-content: start;
    font-size: 0.8125rem;
    line-height: calc(26/13);
  }
}
.c-form__lbl.--required::after {
  font-size: 0.875rem;
  color: var(--color-red);
  content: "必須";
}
@media screen and (max-width: 750px) {
  .c-form__lbl.--required::after {
    font-size: 0.8125rem;
  }
}
.c-form input[type=text], .c-form input[type=email], .c-form input[type=tel] {
  width: 100%;
  padding: 0.625rem 1.875rem;
  line-height: calc(30/14);
  background: var(--color-gray03);
}
@media screen and (max-width: 750px) {
  .c-form input[type=text], .c-form input[type=email], .c-form input[type=tel] {
    padding: 0.6875rem 1.25rem 0.75rem;
    line-height: calc(22/12);
  }
}
.c-form input[type=checkbox] {
  position: relative;
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--color-white);
  border: 1px solid var(--color-dark-navy);
}
.c-form input[type=checkbox]::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: none;
  width: 0.875rem;
  height: 0.6875rem;
  content: "";
  background: url("../images/common/form-acceptance-check.svg") top center/contain no-repeat;
  transform: translate(-50%, -50%);
}
.c-form input[type=checkbox]:checked::after {
  display: block;
}
.c-form input[type=submit] {
  display: inline-flex;
  gap: 0.3125rem;
  align-items: center;
  padding: 0.625rem 2.6875rem 0.75rem 1.625rem;
  font-size: 1.125rem;
  line-height: calc(28/18);
  color: var(--color-white);
  letter-spacing: 0.1em;
  background: var(--color-red);
  border-radius: 3.125rem;
  transition: all 0.5s ease;
}
@media (hover: hover) {
  .c-form input[type=submit]:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 750px) {
  .c-form input[type=submit] {
    gap: 0.5rem;
    padding: 0.625rem 2.3125rem 0.625rem 1.0625rem;
    font-size: 0.875rem;
    line-height: calc(26/14);
    letter-spacing: 0.05em;
  }
}
.c-form input[type=submit]:disabled {
  background: var(--color-gray02);
}
@media (hover: hover) {
  .c-form input[type=submit]:disabled:hover {
    opacity: 1;
  }
}
.c-form textarea {
  width: 100%;
  height: 15.625rem;
  padding: 1.25rem 1.875rem;
  line-height: calc(30/14);
  resize: none;
  background: var(--color-gray03);
}
@media screen and (max-width: 750px) {
  .c-form textarea {
    height: 22.9375rem;
    padding: 1.125rem 1.25rem;
    line-height: calc(22/12);
  }
}
.c-form__acceptance {
  margin-bottom: 1.5625rem;
}
@media screen and (max-width: 750px) {
  .c-form__acceptance {
    margin-bottom: 1.25rem;
    font-size: 0.75rem;
    line-height: calc(24/12);
  }
}
.c-form__acceptance .wpcf7-form-control-wrap {
  justify-content: center;
}
.c-form__acceptance .wpcf7-acceptance {
  display: flex;
}
.c-form__acceptance .wpcf7-list-item {
  margin-left: 0;
}
.c-form__acceptance label {
  display: flex;
  gap: 0.625rem;
  align-items: center;
  justify-content: center;
}
.c-form__btn {
  position: relative;
}
.c-form__btn-wrapper {
  margin: 0 auto;
  text-align: center;
}
.c-form__btn::after {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  width: 0.9375rem;
  height: 0.75rem;
  content: "";
  background: url("../images/common/form-arrow-white.svg") top center/contain no-repeat;
  transform: translateY(-50%);
}
@media screen and (max-width: 750px) {
  .c-form__btn::after {
    right: 1.0625rem;
    width: 0.75rem;
    height: 0.5625rem;
    transform: translateY(-50%);
  }
}
.c-form__btn .wpcf7-spinner {
  display: none;
}
.c-form__btn .wpcf7-form-control-wrap {
  display: flex;
}
.c-form ::placeholder {
  color: var(--color-gray);
}

/* =======================================================
エラー
======================================================= */
.wpcf7-form.invalid .wpcf7-form-control-wrap {
  display: grid;
  gap: 0.5rem;
}
.wpcf7-form.invalid .wpcf7-not-valid-tip {
  position: relative;
}
.wpcf7-form.invalid .wpcf7-response-output {
  display: none;
}
.wpcf7-form.--hide-error .wpcf7-not-valid-tip {
  display: none;
}

@media screen and (width <= 750px) {
  .wpcf7-form.invalid .wpcf7-form-control-wrap {
    gap: 0.375rem;
  }
  .wpcf7-form.invalid .wpcf7-not-valid-tip {
    font-size: 1.5rem;
  }
}
/* =======================================================
lower-mv
======================================================= */
.l-lower-mv {
  padding: 19.3125rem 0 1.875rem;
}
@media screen and (max-width: 750px) {
  .l-lower-mv {
    padding: 9.75rem 0 1.125rem;
  }
}
.l-lower-mv.--color-reverse {
  background: url("../images/service/mv-bg.png") top center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .l-lower-mv.--color-reverse {
    background: url("../images/service/mv-bg-sp.png") top center/cover no-repeat;
  }
}
.l-lower-mv.--color-reverse .p-lower-mv__hgroup-txt {
  color: var(--color-white);
}
.l-lower-mv.--color-reverse .p-lower-mv__hgroup-ttl {
  color: var(--color-white);
}
.l-lower-mv.--color-reverse .p-bread__link {
  color: var(--color-white);
}

.p-lower-mv__inner {
  display: flex;
  align-items: end;
  justify-content: space-between;
}
.p-lower-mv__hgroup-txt {
  margin-bottom: 0.3125rem;
  font-size: 4.375rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 750px) {
  .p-lower-mv__hgroup-txt {
    margin-bottom: 0.125rem;
    font-size: 2.5rem;
    line-height: calc(50/40);
  }
}
.p-lower-mv__hgroup-ttl {
  font-size: 1.25rem;
  line-height: calc(36/20);
  color: var(--color-gray);
}
@media screen and (max-width: 750px) {
  .p-lower-mv__hgroup-ttl {
    font-size: 0.75rem;
    line-height: calc(24/12);
  }
}

/* =============================
　下層MV - パンくず
============================== */
/* MV */
/* パンくず */
.c-breadcrumbs__wrapper {
  width: 64rem;
  margin: 0 auto;
  overflow-x: scroll;
}
@media screen and (max-width: 750px) {
  .c-breadcrumbs__wrapper {
    width: 43.125rem;
  }
}
.c-breadcrumbs__list {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  padding-top: 0.5rem;
}
@media screen and (max-width: 750px) {
  .c-breadcrumbs__list {
    gap: 0.75rem;
    padding-top: 0.75rem;
  }
}
.c-breadcrumbs__item {
  font-size: 0.8125rem;
}
@media screen and (max-width: 750px) {
  .c-breadcrumbs__item {
    font-size: 1.5rem;
  }
}
.c-breadcrumbs__item.--home > a {
  display: block;
  width: 1rem;
  padding-bottom: 0.1875rem;
}
@media screen and (max-width: 750px) {
  .c-breadcrumbs__item.--home > a {
    width: 1.5rem;
    padding-bottom: 0.28125rem;
  }
}
.c-breadcrumbs__item:not(:first-of-type) {
  display: grid;
  flex-shrink: 0;
  grid-template-columns: auto 1fr;
  gap: 0.5rem;
}
@media screen and (max-width: 750px) {
  .c-breadcrumbs__item:not(:first-of-type) {
    gap: 0.75rem;
  }
}
.c-breadcrumbs__item:not(:first-of-type)::before {
  content: ">";
}

/* =======================================================
under-preparation
======================================================= */
.l-under-preparation {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 750px) {
  .l-under-preparation {
    padding: 9.9375rem 0 7.5rem;
  }
}

.p-under-preparation__ttl {
  margin-bottom: 1.375rem;
  font-size: 2rem;
  line-height: calc(60/32);
  color: var(--color-accent);
  text-align: center;
}
@media screen and (max-width: 750px) {
  .p-under-preparation__ttl {
    margin-bottom: 0.6875rem;
    font-size: 1.375rem;
    line-height: calc(38/22);
  }
}
.p-under-preparation__txt {
  margin-bottom: 4.375rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .p-under-preparation__txt {
    margin-bottom: 2.6875rem;
  }
}
.p-under-preparation__btn {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.625rem;
  align-items: center;
  font-size: 1rem;
  line-height: calc(26/16);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 750px) {
  .p-under-preparation__btn {
    font-size: 0.875rem;
    line-height: calc(26/14);
    letter-spacing: 0.05em;
  }
}
.p-under-preparation__btn::before {
  justify-self: end;
  width: 2.5rem;
  height: 2.5rem;
  content: "";
  background: url("../images/common/arrow-circle.svg") top center/contain no-repeat;
  transform: scale(-1, 1);
}
@media screen and (max-width: 750px) {
  .p-under-preparation__btn::before {
    width: 2.25rem;
    height: 2.25rem;
  }
}