@charset "UTF-8";

* {
  box-sizing: border-box
}

::after,
::before {
  box-sizing: inherit
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
}

body {
  margin: 0
}

main {
  display: block
}

dl,
figure,
form,
p,
table {
  margin: 0
}

h1,
h2,
h3 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0
}

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

dt {
  font-weight: 700
}

dd {
  margin-left: 0
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit
}

code {
  font-family: monospace, monospace;
  font-size: inherit
}

small {
  font-size: 80%
}

img {
  border-style: none;
  vertical-align: bottom
}

button,
input,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: 0 0;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox
}

button,
input {
  overflow: visible
}

button,
select {
  text-transform: none
}

[type=button],
[type=submit],
button {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none
}

[type=button][disabled],
[type=submit][disabled],
button[disabled] {
  cursor: default
}

[type=button]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText
}

select::-ms-expand {
  display: none
}

option {
  padding: 0
}

textarea {
  overflow: auto
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

label[for] {
  cursor: pointer
}

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

td,
th {
  vertical-align: top;
  padding: 0
}

th {
  text-align: left;
  font-weight: 700
}

html {
  font-size: 62.5%;
  line-height: 1.6;
  height: 100%;
  scroll-behavior: smooth
}

@media (max-width:1080px) and (min-width:769px) {
  html {
    font-size: .9259vw
  }
}

body {
  color: #1a1a1a;
  background-color: #fff;
  font-size: 1.6rem;
  font-family: YuGothic, "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  max-width: 100vw;
  width: 100%;
  overflow-x: hidden
}

::selection {
  background-color: rgba(26, 26, 26, .7);
  color: #fff
}

img {
  max-width: 100%;
  height: auto;
  border: none;
  display: block
}

a,
button,
input,
label {
  transition: all .3s ease
}

.l-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  background-color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
  z-index: 100
}

.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 clamp(40px, 6vw, 90px);
  height: 79px
}

@media (max-width:768px) {
  .l-header__inner {
    padding: 0 20px
  }
}

.l-header__logo {
  flex-shrink: 0;
  margin-right: auto
}

.l-header__logo img {
  display: block;
  width: 120px;
  height: auto
}

.l-header__toggle {
  display: none
}

@media (max-width:768px) {
  .l-header__nav {
    position: fixed;
    top: 79px;
    left: 0;
    width: 100%;
    height: calc(100vh - 79px);
    background-color: #fff;
    padding: 40px 24px;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .3s ease;
    z-index: 99
  }
}

.l-header__nav-list {
  display: flex;
  align-items: center;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0
}

@media (max-width:768px) {
  .l-header__nav-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 100%
  }
}

@media (max-width:768px) {
  .l-header__nav-item {
    width: 100%;
    border-bottom: 1px solid #e8edf5
  }
}

.l-header__nav-item--has-child {
  position: relative
}

@media (min-width:769px) {

  .l-header__nav-item--has-child:focus-within .l-header__submenu,
  .l-header__nav-item--has-child:hover .l-header__submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
  }
}

.l-header__nav-link--parent {
  position: relative;
  display: flex;
  align-items: center;
  padding-right: 16px;
  gap: 4px;
  cursor: pointer
}

.l-header__nav-link--parent::after {
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-70%) rotate(45deg)
}

.l-header__submenu {
  list-style: none;
  margin: 0;
  padding: 0
}

@media (min-width:769px) {
  .l-header__submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 280px;
    background-color: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
    border-radius: 8px;
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease
  }
}

@media (max-width:768px) {
  .l-header__submenu {
    padding-left: 16px;
    border-top: 1px solid #e8edf5
  }
}

.l-header__submenu-link {
  display: block;
  padding: 10px 20px;
  font-size: 1.3rem;
  color: #1a1a1a;
  text-decoration: none;
  line-height: 1.5
}

.l-header__submenu-link:hover {
  background-color: #f5f7fb;
  color: #2563eb
}

@media (max-width:768px) {
  .l-header__submenu-link {
    padding: 12px 0;
    font-size: 1.4rem;
    border-bottom: 1px solid #e8edf5
  }
}

.l-header__nav-link {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  color: #1a1a1a;
  text-decoration: none;
  white-space: nowrap
}

.l-header__nav-link:hover {
  color: #2563eb
}

@media (max-width:768px) {
  .l-header__nav-link {
    padding: 16px 0;
    font-size: 1.6rem
  }
}

.l-header__nav-cta {
  display: none
}

@media (max-width:768px) {
  .l-header__nav-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 24px;
    padding: 14px 24px;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    background-color: #2563eb;
    border-radius: 6px;
    text-decoration: none
  }

  .l-header__nav-cta:hover {
    opacity: .85
  }
}

.l-header__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: 40px;
  padding: 12px 24px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  background-color: #2563eb;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap
}

.l-header__button:hover {
  opacity: .85
}

@media (max-width:768px) {
  .l-header__button {
    display: none
  }
}

.l-header__hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  margin-left: auto;
  padding: 0;
  background: 0 0;
  border: none;
  cursor: pointer
}

.l-header__hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background-color: #1a1a1a;
  border-radius: 2px;
  transition: transform .3s ease, opacity .3s ease
}

@media (max-width:768px) {
  .l-header__hamburger {
    display: flex
  }
}

.l-header__toggle:checked~.l-header__inner .l-header__nav {
  transform: translateX(0)
}

.l-header__toggle:checked~.l-header__inner .l-header__hamburger span:nth-child(1) {
  transform: translateY(7px) rotate(45deg)
}

.l-header__toggle:checked~.l-header__inner .l-header__hamburger span:nth-child(2) {
  opacity: 0
}

.l-header__toggle:checked~.l-header__inner .l-header__hamburger span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg)
}

.error404 {
  padding: 12rem 0
}

@media (max-width:768px) {
  .error404 {
    padding: 9rem 0 8rem
  }
}

.error404__inner {
  max-width: 84rem;
  margin: 0 auto;
  padding: 0 4rem;
  text-align: center
}

@media (max-width:768px) {
  .error404__inner {
    padding: 0 2rem
  }
}

.error404__number {
  margin: 0 0 2rem;
  font-size: 10rem;
  font-weight: 700;
  line-height: 1;
  color: #2563eb
}

@media (max-width:768px) {
  .error404__number {
    font-size: 7rem
  }
}

.error404__text {
  margin-top: 3.2rem;
  font-size: 1.5rem;
  line-height: 2;
  color: #666
}

.error404__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28rem;
  margin-top: 4rem;
  padding: 1.6rem 3.2rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .6rem;
  text-decoration: none
}

.error404__button:hover {
  opacity: .8
}

.l-footer {
  width: 100%;
  background-color: #fff;
  border-top: .1rem solid #e8e8e8
}

.l-footer__inner {
  display: flex;
  align-items: center;
  padding: 0 9rem;
  height: 9.6rem
}

@media (max-width:768px) {
  .l-footer__inner {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    height: auto;
    padding: 3.2rem 2rem
  }
}

.l-footer__logo {
  flex-shrink: 0
}

.l-footer__logo img {
  display: block;
  width: 12rem;
  height: auto
}

.l-footer__nav {
  margin-left: auto;
  margin-right: auto
}

@media (max-width:768px) {
  .l-footer__nav {
    margin: 0
  }
}

.l-footer__nav-list {
  display: flex;
  align-items: center;
  gap: 4rem;
  list-style: none;
  margin: 0;
  padding: 0
}

@media (max-width:768px) {
  .l-footer__nav-list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.6rem 2.4rem
  }
}

.l-footer__nav-link {
  display: block;
  font-size: 1.3rem;
  color: #1a1a1a;
  text-decoration: none;
  white-space: nowrap
}

.l-footer__nav-link:hover {
  color: #2563eb
}

.l-footer__copyright {
  flex-shrink: 0;
  font-size: 1.2rem;
  color: #999;
  white-space: nowrap
}

@media (max-width:768px) {
  .l-footer__copyright {
    font-size: 1.1rem
  }
}

.c-heading {
  text-align: center
}

.c-heading--left {
  text-align: left
}

.c-heading--border .c-heading__label {
  display: inline-flex;
  align-items: center;
  padding-left: 1.2rem;
  border-left: .3rem solid #2563eb;
  margin-bottom: 2.4rem
}

.c-heading__label {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  color: #2563eb;
  letter-spacing: .15em;
  margin-bottom: 1.6rem
}

.c-heading__title {
  font-size: 2rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: 2rem
}

@media (max-width:768px) {
  .c-heading__title {
    font-size: 1.75rem
  }
}

.c-heading__text {
  font-size: 1.4rem;
  color: #1a1a1a;
  line-height: 1.9
}

.c-card01-list {
  display: grid;
  gap: 2rem
}

.c-card01-list--4col {
  grid-template-columns: repeat(4, 1fr)
}

@media (max-width:768px) {
  .c-card01-list--4col {
    grid-template-columns: 1fr
  }
}

.c-card01-list--3col {
  grid-template-columns: repeat(3, 1fr)
}

@media (max-width:768px) {
  .c-card01-list--3col {
    grid-template-columns: 1fr
  }
}

.c-card01 {
  background-color: #fff;
  border-radius: 1.2rem;
  padding: 3.2rem 2.4rem
}

.c-card01__num {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  color: #2563eb;
  letter-spacing: .05em;
  margin-bottom: 1.6rem
}

.c-card01__title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5
}

.c-card01__title:not(:last-child) {
  margin-bottom: 1.6rem
}

.c-card01__text {
  font-size: 1.4rem;
  color: #1a1a1a;
  line-height: 1.8
}

.c-card02 {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  background-color: #fff;
  border: .1rem solid #e8edf5;
  border-radius: 1.2rem;
  padding: 2.4rem
}

.c-card02__num {
  flex-shrink: 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #c5d3e8;
  line-height: 1;
  letter-spacing: .02em;
  padding-top: .2rem
}

.c-card02__body {
  flex: 1
}

.c-card02__title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: .8rem
}

.c-card02__text {
  font-size: 1.4rem;
  color: #555;
  line-height: 1.8
}

.c-card03-list {
  display: grid;
  gap: 2.4rem
}

.c-card03-list--2col {
  grid-template-columns: repeat(2, 1fr)
}

@media (max-width:768px) {
  .c-card03-list--2col {
    grid-template-columns: 1fr
  }
}

.c-card03-list--3col {
  grid-template-columns: repeat(3, 1fr)
}

@media (max-width:768px) {
  .c-card03-list--3col {
    grid-template-columns: 1fr
  }
}

.c-card03-list--4col {
  grid-template-columns: repeat(4, 1fr)
}

@media (max-width:768px) {
  .c-card03-list--4col {
    grid-template-columns: 1fr
  }
}

.c-card03 {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 1.2rem;
  overflow: hidden
}

.c-card03__body {
  flex: 1;
  padding: 2.8rem 2.4rem 2.4rem
}

.c-card03__label {
  font-size: 1.2rem;
  font-weight: 700;
  color: #2563eb;
  letter-spacing: .1em;
  margin-bottom: 1.2rem
}

.c-card03__title {
  font-size: 2rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: 1.6rem
}

.c-card03__text {
  font-size: 1.4rem;
  color: #444;
  line-height: 1.8
}

.c-card03__text+.c-card03__text {
  margin-top: 1.2rem
}

.c-card03__image {
  flex-shrink: 0;
  margin: 0;
  aspect-ratio: 4/2.5;
  overflow: hidden;
  padding: 0 2.4rem 2.4rem;
  border-radius: 2rem
}

.c-card03__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 1rem
}

.c-card04-list {
  display: grid;
  gap: 1.6rem
}

.c-card04-list--3col {
  grid-template-columns: repeat(3, 1fr)
}

@media (max-width:768px) {
  .c-card04-list--3col {
    grid-template-columns: 1fr
  }
}

.c-card04-list--4col {
  grid-template-columns: repeat(4, 1fr)
}

@media (max-width:768px) {
  .c-card04-list--4col {
    grid-template-columns: 1fr
  }
}

.c-card04 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #eef3ff;
  border-radius: 1.2rem;
  padding: 2.4rem 0 0 2.4rem;
  overflow: hidden;
  min-height: 11rem
}

.c-card04__text {
  flex: 1;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.6;
  z-index: 1
}

.c-card04__image {
  flex-shrink: 0;
  width: 40%;
  margin: 0;
  align-self: flex-end
}

.c-card04__image img {
  width: 100%;
  height: auto;
  display: block
}

.c-note {
  border-left: .4rem solid #2563eb;
  background-color: #f0f5ff;
  border-radius: 0 .8rem .8rem 0;
  padding: 2rem 2.4rem
}

.c-note__label {
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  color: #888;
  letter-spacing: .05em;
  margin-bottom: .8rem
}

.c-note__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.6;
  margin-bottom: .8rem
}

.c-note__text {
  font-size: 1.4rem;
  color: #555;
  line-height: 1.8
}

.c-cta {
  position: relative;
  background: url(../img/common/cta-bg.webp) center/cover no-repeat;
  padding: 8rem 0
}

@media (max-width:768px) {
  .c-cta {
    padding: 6rem 2rem
  }
}

.c-cta__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .c-cta__inner {
    padding: 0
  }
}

.c-cta__box {
  max-width: 82rem;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 1.6rem;
  padding: 6rem 8rem;
  text-align: center;
  box-shadow: 0 .4rem 2.4rem rgba(0, 0, 0, .08)
}

@media (max-width:768px) {
  .c-cta__box {
    padding: 4rem 2.4rem;
    border-radius: 1.2rem
  }
}

.c-cta__label {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  color: #2563eb;
  letter-spacing: .15em;
  margin-bottom: 1.6rem
}

.c-cta__title {
  font-size: 3.2rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.4;
  margin-bottom: 2rem
}

@media (max-width:768px) {
  .c-cta__title {
    font-size: 2.4rem
  }
}

.c-cta__text {
  font-size: 1.5rem;
  color: #555;
  line-height: 1.9;
  margin-bottom: 3.2rem
}

@media (max-width:768px) {
  .c-cta__text {
    font-size: 1.4rem
  }
}

.c-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 32rem;
  padding: 1.8rem 4rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .6rem;
  text-decoration: none;
  margin-bottom: 2rem
}

.c-cta__btn:hover {
  opacity: .85
}

.c-cta__notes {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0
}

@media (max-width:768px) {
  .c-cta__notes {
    gap: 1.2rem;
    flex-wrap: wrap
  }
}

.c-cta__notes-item {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: 1.2rem;
  color: #666
}

.c-cta__notes-item::before {
  display: block;
  content: "";
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  background: url(../img/common/icon-check.svg) center/contain no-repeat
}

.c-list-item {
  background-color: #fff;
  border: .1rem solid #e8edf5;
  padding: 2.4rem
}

.c-list-item+.c-list-item {
  margin-top: 1.6rem
}

.c-list-item__head {
  display: flex;
  align-items: baseline;
  gap: 1.6rem;
  margin-bottom: 1.2rem
}

.c-list-item__label {
  flex-shrink: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: #2563eb;
  letter-spacing: .05em;
  white-space: nowrap
}

.c-list-item__title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5
}

.c-list-item__text {
  font-size: 1.4rem;
  color: #555;
  line-height: 1.8;
  padding-left: 2.8rem
}

.c-faq {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.6rem
}

.c-faq__item {
  background-color: #fff;
  border: .1rem solid #e8edf5;
  border-radius: .8rem;
  padding: 2.4rem 3.2rem
}

@media (max-width:768px) {
  .c-faq__item {
    padding: 2rem
  }
}

.c-faq__head {
  display: flex;
  align-items: baseline;
  gap: 2rem;
  margin-bottom: 1.2rem
}

.c-faq__icon {
  flex-shrink: 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #2563eb;
  line-height: 1
}

.c-faq__question {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5
}

.c-faq__answer {
  font-size: 1.4rem;
  color: #555;
  line-height: 1.9;
  padding-left: 3.8rem
}

.c-page-fv {
  width: 100%;
  background-color: #eef3ff;
  overflow: hidden
}

.c-page-fv--overlay {
  background: url(../img/common/fv-bg.webp) center/cover no-repeat;
  position: relative
}

.c-page-fv--overlay .c-page-fv__inner {
  position: relative;
  max-width: 100%;
  padding: 8rem 6rem 2rem;
  min-height: 46rem;
  align-items: center
}

@media (max-width:768px) {
  .c-page-fv--overlay .c-page-fv__inner {
    padding: 4rem 2rem;
    min-height: auto
  }
}

.c-page-fv--overlay .c-page-fv__content {
  position: relative;
  z-index: 2;
  max-width: 58rem;
  padding-right: 0;
  background-color: rgba(255, 255, 255, .85);
  padding: 2rem;
  margin-left: 8rem
}

@media (max-width:768px) {
  .c-page-fv--overlay .c-page-fv__content {
    background-color: transparent;
    padding: 0;
    max-width: 100%;
    margin-left: unset
  }
}

.c-page-fv--overlay .c-page-fv__image {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 56%;
  z-index: 1
}

@media (max-width:768px) {
  .c-page-fv--overlay .c-page-fv__image {
    position: static;
    width: 100%;
    margin-top: 3.2rem
  }
}

.c-page-fv--overlay .c-page-fv__image img {
  width: 100%;
  height: auto;
  display: block
}

.c-page-fv--plain {
  background: url(../img/common/fv-plain-bg.webp) center/cover no-repeat
}

.c-page-fv--plain .c-page-fv__inner {
  max-width: 100%;
  padding: 8rem 6rem;
  min-height: 36rem;
  align-items: center
}

@media (max-width:768px) {
  .c-page-fv--plain .c-page-fv__inner {
    padding: 4rem 2rem;
    min-height: auto
  }
}

.c-page-fv--plain .c-page-fv__content {
  max-width: 58rem;
  padding-right: 0
}

@media (max-width:768px) {
  .c-page-fv--plain .c-page-fv__content {
    max-width: 100%
  }
}

.c-page-fv--plain .c-page-fv__label,
.c-page-fv--plain .c-page-fv__text,
.c-page-fv--plain .c-page-fv__title {
  color: #fff
}

.c-page-fv--plain .c-page-fv__text {
  margin-bottom: 0
}

.c-page-fv__inner {
  display: flex;
  align-items: center;
  max-width: 114rem;
  margin: 0 auto;
  padding: 5.75rem 6rem;
  min-height: 37.5rem
}

@media (max-width:768px) {
  .c-page-fv__inner {
    flex-direction: column;
    padding: 4rem 2rem 0;
    min-height: auto
  }
}

.c-page-fv__content {
  flex: 1;
  padding-right: 4rem
}

@media (max-width:768px) {
  .c-page-fv__content {
    padding-right: 0;
    width: 100%
  }
}

.c-page-fv__label {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 600;
  color: #2563eb;
  letter-spacing: .08em;
  margin-bottom: 1.2rem
}

@media (max-width:768px) {
  .c-page-fv__label {
    font-size: 1rem
  }
}

.c-page-fv__lead {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.6;
  margin-bottom: 1.6rem
}

@media (max-width:768px) {
  .c-page-fv__lead {
    font-size: 1.125rem
  }
}

.c-page-fv__title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.4;
  margin-bottom: 2rem
}

@media (max-width:768px) {
  .c-page-fv__title {
    font-size: 2rem
  }
}

.c-page-fv__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.7;
  margin-bottom: 3.2rem
}

.c-page-fv__cta {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  margin-bottom: 1.6rem
}

@media (max-width:768px) {
  .c-page-fv__cta {
    flex-wrap: wrap;
    gap: 1.6rem
  }
}

.c-page-fv__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 4rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .6rem;
  text-decoration: none
}

.c-page-fv__btn:hover {
  opacity: .85
}

@media (max-width:768px) {
  .c-page-fv__btn {
    width: 100%
  }
}

.c-page-fv__reskilling {
  width: 12rem;
  height: auto;
  flex-shrink: 0
}

.c-page-fv__notes {
  display: flex;
  align-items: center;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0
}

@media (max-width:768px) {
  .c-page-fv__notes {
    gap: 1.2rem;
    flex-wrap: wrap
  }
}

.c-page-fv__notes-item {
  display: flex;
  align-items: center;
  gap: .8rem;
  font-size: 1.2rem;
  color: #666
}

.c-page-fv__notes-item::before {
  display: block;
  content: "";
  flex-shrink: 0;
  width: .875rem;
  height: .875rem;
  background: url(../img/common/icon-check.svg) center/contain no-repeat
}

.c-page-fv__image {
  flex-shrink: 0;
  width: 50%;
  display: flex;
  align-items: flex-end
}

@media (max-width:768px) {
  .c-page-fv__image {
    width: 100%;
    margin-top: 3.2rem
  }
}

.c-page-fv__image img {
  width: 100%;
  height: auto;
  display: block
}

.c-empathy {
  background-color: #f7fafc;
  padding: 10rem 2rem 0
}

@media (max-width:768px) {
  .c-empathy {
    padding: 6rem 0
  }
}

.c-empathy__inner {
  position: relative;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem;
  height: 50rem
}

@media (max-width:768px) {
  .c-empathy__inner {
    height: auto;
    padding: 0 2rem
  }
}

.c-empathy .c-heading {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1
}

@media (max-width:768px) {
  .c-empathy .c-heading {
    position: static;
    transform: none;
    width: 100%;
    margin-bottom: 4rem
  }
}

.c-empathy__cards {
  position: absolute;
  inset: 0;
  list-style: none;
  margin: 0;
  padding: 0
}

@media (max-width:768px) {
  .c-empathy__cards {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 5rem
  }
}

.c-empathy__card {
  position: absolute;
  width: 17rem;
  min-height: 14rem;
  background-color: #fff;
  border-radius: 1.2rem;
  padding: 3rem 1.6rem 1.6rem;
  box-shadow: 0 .2rem 1.2rem rgba(0, 0, 0, .06);
  overflow: visible
}

@media (max-width:768px) {
  .c-empathy__card {
    position: relative;
    width: 100%;
    min-height: unset;
    padding: 5rem 1.6rem 1.6rem
  }
}

.c-empathy__card--01 {
  top: 0;
  left: 5%
}

@media (max-width:768px) {
  .c-empathy__card--01 {
    inset: unset
  }
}

.c-empathy__card--02 {
  top: 35%;
  left: 20%
}

@media (max-width:768px) {
  .c-empathy__card--02 {
    inset: unset
  }
}

.c-empathy__card--03 {
  top: 0;
  right: 5%
}

@media (max-width:768px) {
  .c-empathy__card--03 {
    inset: unset
  }
}

.c-empathy__card--04 {
  top: 35%;
  right: 20%
}

@media (max-width:768px) {
  .c-empathy__card--04 {
    inset: unset
  }
}

.c-empathy__card--05 {
  bottom: 20%;
  left: 50%;
  transform: translateX(-50%)
}

@media (max-width:768px) {
  .c-empathy__card--05 {
    transform: none;
    inset: unset
  }
}

.c-empathy__card-img {
  position: absolute;
  top: -4rem;
  right: -1rem;
  width: 9rem;
  height: 9rem;
  margin: 0
}

.c-empathy__card-img img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.c-empathy__card-num {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  color: #2563eb;
  letter-spacing: .05em;
  margin-bottom: .8rem
}

.c-empathy__card-text {
  font-size: 1.3rem;
  color: #1a1a1a;
  line-height: 1.7
}

.c-breadcrumb {
  background-color: #2563eb;
  padding: 1.6rem 0
}

.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8rem;
  list-style: none;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .c-breadcrumb__list {
    padding: 0 2rem
  }
}

.c-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: .8rem;
  font-size: 1.3rem;
  color: rgba(255, 255, 255, .85)
}

.c-breadcrumb__item:not(:first-child)::before {
  content: ">";
  color: rgba(255, 255, 255, .6)
}

.c-breadcrumb__item a {
  color: #fff;
  text-decoration: none
}

.c-breadcrumb__item a:hover {
  opacity: .8
}

.c-breadcrumb__item[aria-current=page] {
  color: #fff;
  font-weight: 700
}

.top-fv {
  width: 100%;
  background: url(../img/top/fv-bg.webp) center/cover no-repeat;
  overflow: hidden
}

.top-fv__inner {
  display: flex;
  align-items: center;
  max-width: 114rem;
  margin: 0 auto;
  padding: 5.75rem 6rem;
  min-height: 37.5rem
}

@media (max-width:768px) {
  .top-fv__inner {
    flex-direction: column;
    padding: 4rem 2rem 0;
    min-height: auto
  }
}

.top-fv__content {
  flex: 1;
  padding-right: 4rem
}

@media (max-width:768px) {
  .top-fv__content {
    padding-right: 0;
    width: 100%
  }
}

.top-fv__label {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 600;
  color: #2563eb;
  letter-spacing: .08em;
  margin-bottom: 1.2rem
}

@media (max-width:768px) {
  .top-fv__label {
    font-size: 1rem
  }
}

.top-fv__lead {
  font-size: 1.5rem;
  color: #1a1a1a;
  margin-bottom: 1.6rem;
  line-height: 1.6
}

@media (max-width:768px) {
  .top-fv__lead {
    font-size: 1.125rem
  }
}

.top-fv__title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.4;
  margin-bottom: 2rem
}

@media (max-width:768px) {
  .top-fv__title {
    font-size: 2rem
  }
}

.top-fv__cta {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  margin-bottom: 1.6rem
}

@media (max-width:768px) {
  .top-fv__cta {
    flex-wrap: wrap;
    gap: 1.6rem
  }
}

.top-fv__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 4rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .6rem;
  text-decoration: none
}

.top-fv__btn:hover {
  opacity: .85
}

@media (max-width:768px) {
  .top-fv__btn {
    width: 100%
  }
}

.top-fv__reskilling {
  width: 12rem;
  height: auto;
  flex-shrink: 0
}

.top-fv__notes {
  display: flex;
  align-items: center;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0
}

@media (max-width:768px) {
  .top-fv__notes {
    gap: 1.2rem;
    flex-wrap: wrap
  }
}

.top-fv__notes-item {
  display: flex;
  align-items: center;
  gap: .8rem;
  font-size: 1.2rem;
  color: #666
}

.top-fv__notes-item::before {
  display: block;
  content: "";
  flex-shrink: 0;
  width: .875rem;
  height: .875rem;
  background: url(../img/common/icon-check.svg) center/contain no-repeat
}

.top-fv__image {
  flex-shrink: 0;
  width: 50%;
  display: flex;
  align-items: flex-end
}

@media (max-width:768px) {
  .top-fv__image {
    width: 100%;
    margin-top: 3.2rem
  }
}

.top-fv__image img {
  width: 100%;
  height: auto;
  display: block
}

.top-risk {
  background-color: #1e3a5f;
  padding: 10rem 0
}

@media (max-width:768px) {
  .top-risk {
    padding: 6rem 0
  }
}

.top-risk__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .top-risk__inner {
    padding: 0 2rem
  }
}

.top-risk .c-heading--left {
  margin-bottom: 5.6rem
}

.top-risk .c-heading--left .c-heading__label {
  color: #7eb3ff
}

.top-risk .c-heading--left .c-heading__title {
  color: #fff
}

.top-risk .c-heading--left .c-heading__text {
  color: rgba(255, 255, 255, .7)
}

.top-solution {
  padding: 10rem 0
}

@media (max-width:768px) {
  .top-solution {
    padding: 6rem 0
  }
}

.top-solution__inner {
  display: flex;
  align-items: center;
  gap: 8rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .top-solution__inner {
    flex-direction: column;
    gap: 4rem;
    padding: 0 2rem
  }
}

.top-solution__content {
  flex: 1
}

.top-solution__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 2;
  margin-bottom: 3.2rem
}

@media (max-width:768px) {
  .top-solution__text {
    font-size: 1.4rem
  }
}

.top-solution__image {
  flex-shrink: 0;
  width: 44%
}

@media (max-width:768px) {
  .top-solution__image {
    width: 100%
  }
}

.top-solution__image img {
  width: 100%;
  height: auto
}

.top-position {
  background-color: #f7fafc;
  padding: 10rem 0
}

@media (max-width:768px) {
  .top-position {
    padding: 6rem 0
  }
}

.top-position__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .top-position__inner {
    padding: 0 2rem
  }
}

.top-position__head {
  text-align: center;
  margin-bottom: 6rem
}

@media (max-width:768px) {
  .top-position__head {
    margin-bottom: 4rem
  }
}

.top-position__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .8rem 2.4rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: 10rem;
  margin-bottom: 3.2rem
}

.top-position__body {
  display: flex;
  align-items: flex-start;
  gap: 4rem
}

@media (max-width:768px) {
  .top-position__body {
    flex-direction: column;
    gap: 4rem
  }
}

.top-position__left {
  flex: 1
}

.top-position__table-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 2rem
}

.top-position__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem
}

.top-position__table-head {
  background-color: #e8edf5;
  color: #1a1a1a;
  font-weight: 700;
  padding: 1.2rem 1.6rem;
  text-align: left;
  border-bottom: .1rem solid #d0d8e8;
  border-right: .1rem solid #d0d8e8
}

.top-position__table-head:last-child {
  border-right: none
}

.top-position__table-head--accent {
  background-color: #2563eb;
  color: #fff;
  border-right: none
}

.top-position__table-cell {
  padding: 1.4rem 1.6rem;
  border-bottom: .1rem solid #e8edf5;
  border-right: .1rem solid #e8edf5;
  color: #1a1a1a;
  vertical-align: top;
  line-height: 1.7
}

.top-position__table-cell:last-child {
  border-right: none
}

.top-position__table-cell--accent {
  color: #2563eb;
  font-weight: 600
}

.top-position__right {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 44%;
  list-style: none;
  margin: 0;
  padding: 0
}

@media (max-width:768px) {
  .top-position__right {
    width: 100%
  }
}

.top-service {
  background: url(../img/top/service-bg.webp) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .top-service {
    padding: 6rem 0
  }
}

.top-service__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .top-service__inner {
    padding: 0 2rem
  }
}

.top-service .c-heading--left {
  margin-bottom: 5.6rem
}

.top-service .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.top-service .c-heading--left .c-heading__title {
  color: #fff
}

.top-service .c-heading--left .c-heading__text {
  color: rgba(255, 255, 255, .8)
}

.top-cases {
  background-color: #f7fafc;
  padding: 10rem 0
}

@media (max-width:768px) {
  .top-cases {
    padding: 6rem 0
  }
}

.top-cases__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .top-cases__inner {
    padding: 0 2rem
  }
}

.top-cases .c-heading--left {
  margin-bottom: 5.6rem
}

.top-cases__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
  list-style: none;
  margin: 0 0 2.4rem;
  padding: 0
}

@media (max-width:768px) {
  .top-cases__list {
    grid-template-columns: 1fr
  }
}

.top-cases__card {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
  text-decoration: none;
  height: 100%;
  border: .1rem solid #e8edf5;
  transition: all .3s ease
}

.top-cases__card:hover {
  box-shadow: 0 .8rem 2.4rem rgba(0, 0, 0, .1);
  transform: translateY(-.4rem)
}

.top-cases__card-image {
  position: relative;
  margin: 0;
  aspect-ratio: 16/9;
  overflow: hidden;
  flex-shrink: 0
}

.top-cases__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.top-cases__card-label {
  position: absolute;
  top: 1.6rem;
  left: 1.6rem;
  display: inline-flex;
  align-items: center;
  padding: .4rem 1.2rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #2563eb;
  background-color: #fff;
  border-radius: 10rem;
  letter-spacing: .05em
}

.top-cases__card-body {
  flex: 1;
  padding: 2.4rem
}

.top-cases__card-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: 1.2rem
}

.top-cases__card-tag {
  display: inline-flex;
  align-items: center;
  padding: .4rem 1.2rem;
  font-size: 1.2rem;
  font-weight: 600;
  color: #2563eb;
  border: .1rem solid #2563eb;
  border-radius: .4rem;
  margin-bottom: 1.6rem
}

.top-cases__card-text {
  font-size: 1.4rem;
  color: #555;
  line-height: 1.8
}

.top-cases__more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 2rem;
  font-size: 1.5rem;
  font-weight: 600;
  color: #1a1a1a;
  background-color: #fff;
  border: .1rem solid #e8edf5;
  border-radius: .8rem;
  text-decoration: none
}

.top-cases__more:hover {
  background-color: #f7fafc;
  border-color: #d0d8e8
}

.top-spouse {
  padding: 10rem 0;
  background-color: #eff6ff
}

@media (max-width:768px) {
  .top-spouse {
    padding: 6rem 0
  }
}

.top-spouse__inner {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .top-spouse__inner {
    flex-direction: column;
    gap: 4rem;
    padding: 0 2rem
  }
}

.top-spouse__content {
  flex-shrink: 0;
  width: 38rem
}

@media (max-width:768px) {
  .top-spouse__content {
    width: 100%
  }
}

.top-spouse__tag {
  display: inline-flex;
  align-items: center;
  padding: .6rem 1.4rem;
  font-size: 1.3rem;
  font-weight: 600;
  color: #1a1a1a;
  border: .1rem solid #1a1a1a;
  border-radius: .4rem;
  margin-bottom: 2.4rem
}

.top-spouse__title {
  font-size: 2.8rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: 2rem
}

@media (max-width:768px) {
  .top-spouse__title {
    font-size: 2.2rem
  }
}

.top-spouse__text {
  font-size: 1.5rem;
  color: #555;
  line-height: 1.9;
  margin-bottom: 3.2rem
}

.top-spouse__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 2.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .6rem;
  text-decoration: none;
  margin-bottom: 1.2rem
}

.top-spouse__btn:hover {
  opacity: .85
}

.top-spouse__note {
  font-size: 1.2rem;
  color: #888;
  line-height: 1.6
}

.top-spouse__list {
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0
}

.top-faq {
  background-color: #f7fafc;
  padding: 10rem 0
}

@media (max-width:768px) {
  .top-faq {
    padding: 6rem 0
  }
}

.top-faq__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .top-faq__inner {
    padding: 0 2rem
  }
}

.top-faq .c-heading--left {
  margin-bottom: 5.6rem
}

.first-why {
  padding: 10rem 0 0
}

@media (max-width:768px) {
  .first-why {
    padding: 6rem 0 0
  }
}

.first-why__inner {
  display: flex;
  align-items: center;
  gap: 8rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .first-why__inner {
    flex-direction: column;
    gap: 4rem;
    padding: 0 2rem
  }
}

.first-why__content {
  flex: 1
}

.first-why__content .c-heading--border {
  margin-bottom: 3.2rem
}

.first-why__list {
  list-style: none;
  margin: 0;
  padding: 0
}

.first-why__list-item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.7;
  padding: 1.6rem 0;
  border-bottom: .1rem solid #e8edf5
}

.first-why__list-item:first-child {
  border-top: .1rem solid #e8edf5
}

.first-why__list-item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: .6rem;
  height: .6rem;
  background-color: #2563eb;
  border-radius: 50%
}

.first-why__image {
  flex-shrink: 0;
  width: 46%
}

@media (max-width:768px) {
  .first-why__image {
    width: 100%
  }
}

.first-why__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: .8rem
}

.first-why__arrow {
  display: flex;
  justify-content: center;
  padding: 4rem 0
}

.first-why__arrow img {
  width: 4rem;
  height: auto
}

.first-why__notes {
  padding: 0 0 6rem
}

@media (max-width:768px) {
  .first-why__notes {
    padding: 0 0 4rem
  }
}

.first-why__notes-inner {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .first-why__notes-inner {
    padding: 0 2rem
  }
}

.first-comparison {
  background: url(../img/first/comparison-bg.jpg) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .first-comparison {
    padding: 6rem 0
  }
}

.first-comparison__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .first-comparison__inner {
    padding: 0 2rem
  }
}

.first-comparison .c-heading--left {
  margin-bottom: 4rem
}

.first-comparison__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.5rem
}

.first-comparison__head {
  padding: 1.6rem 2.4rem;
  text-align: center;
  font-weight: 700;
  background-color: #e0e4ea;
  color: #1a1a1a;
  border-right: .1rem solid #d0d4da
}

.first-comparison__head:last-child {
  border-right: none
}

.first-comparison__head--accent {
  background-color: #2563eb;
  color: #fff
}

.first-comparison__cell {
  padding: 2rem 2.4rem;
  text-align: center;
  color: #1a1a1a;
  border-bottom: .1rem solid #e8edf5;
  border-right: .1rem solid #e8edf5;
  background-color: #fff;
  line-height: 1.7
}

.first-comparison__cell:last-child {
  border-right: none
}

.first-comparison__cell--accent {
  font-weight: 500
}

.first-philosophy {
  background: url(../img/top/service-bg.webp) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .first-philosophy {
    padding: 6rem 0
  }
}

.first-philosophy__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .first-philosophy__inner {
    padding: 0 2rem
  }
}

.first-philosophy .c-heading--left {
  margin-bottom: 5.6rem
}

.first-philosophy .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.first-philosophy .c-heading--left .c-heading__title {
  color: #fff
}

.first-philosophy .c-heading--left .c-heading__text {
  color: rgba(255, 255, 255, .8)
}

.first-for {
  padding: 10rem 0
}

@media (max-width:768px) {
  .first-for {
    padding: 6rem 0
  }
}

.first-for__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .first-for__inner {
    padding: 0 2rem
  }
}

.first-for .c-heading--left {
  margin-bottom: 4rem
}

.first-not-for {
  padding: 0 0 10rem
}

@media (max-width:768px) {
  .first-not-for {
    padding: 6rem 0
  }
}

.first-not-for__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .first-not-for__inner {
    padding: 0 2rem
  }
}

.first-not-for .c-heading--left {
  margin-bottom: 4rem
}

.first-not-for__list {
  list-style: none;
  margin: 0 0 2.4rem;
  padding: 0
}

.first-not-for__item {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.7;
  padding: 1.6rem 0;
  border-bottom: .1rem solid #e8edf5
}

.first-not-for__item:first-child {
  border-top: .1rem solid #e8edf5
}

.first-not-for__item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: url(../img/common/icon-check-blue.svg) center/contain no-repeat
}

.worry-common-risk {
  background-color: #1e3a5f;
  padding: 10rem 0
}

@media (max-width:768px) {
  .worry-common-risk {
    padding: 6rem 0
  }
}

.worry-common-risk__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .worry-common-risk__inner {
    padding: 0 2rem
  }
}

.worry-common-risk .c-heading--left {
  margin-bottom: 5.6rem
}

.worry-common-risk .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.worry-common-risk .c-heading--left .c-heading__title {
  color: #fff
}

.worry-common-risk .c-card01-list {
  margin-bottom: 2.4rem
}

.worry-common-risk .c-note {
  background-color: #eff6ff;
  border-left-color: #7eb3ff
}

.worry-common-risk .c-note .c-note__text {
  color: #1f2937;
  font-weight: 600;
  font-size: 1.5rem
}

.worry-common-why {
  padding: 10rem 0
}

@media (max-width:768px) {
  .worry-common-why {
    padding: 6rem 0
  }
}

.worry-common-why__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem
}

@media (max-width:768px) {
  .worry-common-why__inner {
    padding: 0 2rem
  }
}

.worry-common-why .c-heading--border {
  margin-bottom: 3.2rem
}

.worry-common-why__body {
  display: flex;
  align-items: flex-start;
  gap: 8rem
}

@media (max-width:768px) {
  .worry-common-why__body {
    flex-direction: column;
    gap: 4rem
  }
}

.worry-common-why__content {
  flex: 1
}

.worry-common-why__list {
  list-style: none;
  margin: 0;
  padding: 0
}

.worry-common-why__list-item {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 1.6rem 0;
  border-bottom: .1rem solid #e8edf5
}

.worry-common-why__list-item:first-child {
  border-top: .1rem solid #e8edf5
}

.worry-common-why__list-item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: .6rem;
  height: .6rem;
  background-color: #2563eb;
  border-radius: 50%;
  margin-top: .8rem
}

.worry-common-why__list-text {
  display: flex;
  flex-direction: column;
  gap: .4rem
}

.worry-common-why__list-main {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1a1a1a;
  line-height: 1.6
}

.worry-common-why__list-subtext {
  font-size: 1.3rem;
  color: #777;
  line-height: 1.6
}

.worry-common-why__image {
  flex-shrink: 0;
  width: 44%
}

@media (max-width:768px) {
  .worry-common-why__image {
    width: 100%
  }
}

.worry-common-why__image img {
  width: 100%;
  height: auto;
  display: block
}

.worry-common-need {
  background: url(../img/worry-salary/need-bg.jpg) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .worry-common-need {
    padding: 6rem 0
  }
}

.worry-common-need__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .worry-common-need__inner {
    padding: 0 2rem
  }
}

.worry-common-need .c-heading--left {
  margin-bottom: 4rem
}

.worry-common-need__sub {
  font-size: 2.4rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.4;
  margin-bottom: 1.2rem
}

@media (max-width:768px) {
  .worry-common-need__sub {
    font-size: 2rem
  }
}

.worry-common-need__lead {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.8;
  margin-bottom: 3.2rem
}

.worry-common-need__list {
  list-style: none;
  margin: 0 0 3.2rem;
  padding: 0;
  max-width: 80rem
}

.worry-common-need__item {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.7;
  padding: 1.6rem 2rem;
  border: .1rem solid #e8edf5;
  border-top: none;
  background-color: #fff
}

.worry-common-need__item:first-child {
  border-top: .1rem solid #e8edf5
}

.worry-common-need__item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: url(../img/common/icon-check-blue.svg) center/contain no-repeat
}

.worry-common-need__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22rem;
  padding: 1.6rem 2.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .6rem;
  text-decoration: none;
  margin-bottom: 1.2rem
}

.worry-common-need__btn:hover {
  opacity: .85
}

.worry-common-need__note {
  display: block;
  font-size: 1.2rem;
  color: #888
}

.worry-common-service {
  background: url(../img/worry-salary/service-bg.webp) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .worry-common-service {
    padding: 6rem 0
  }
}

.worry-common-service__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .worry-common-service__inner {
    padding: 0 2rem
  }
}

.worry-common-service .c-heading--left {
  margin-bottom: 5.6rem
}

.worry-common-service .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.worry-common-service .c-heading--left .c-heading__title {
  color: #fff;
  font-weight: 700
}

.worry-common-service .c-card03-list {
  margin-bottom: 2.4rem
}

.worry-common-service .c-note {
  background-color: rgba(255, 255, 255, .92)
}

.worry-common-for {
  padding: 10rem 0
}

@media (max-width:768px) {
  .worry-common-for {
    padding: 6rem 0
  }
}

.worry-common-for__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .worry-common-for__inner {
    padding: 0 2rem
  }
}

.worry-common-for .c-heading--left {
  margin-bottom: 4rem
}

.worry-common-faq {
  background-color: #f7fafc;
  padding: 10rem 0
}

@media (max-width:768px) {
  .worry-common-faq {
    padding: 6rem 0
  }
}

.worry-common-faq__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .worry-common-faq__inner {
    padding: 0 2rem
  }
}

.worry-common-faq .c-heading--left {
  margin-bottom: 5.6rem
}

.solution-why {
  padding: 10rem 0
}

@media (max-width:768px) {
  .solution-why {
    padding: 6rem 0
  }
}

.solution-why__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .solution-why__inner {
    padding: 0 2rem
  }
}

.solution-why .c-heading--border {
  margin-bottom: 3.2rem
}

.solution-why__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.9;
  margin-bottom: 3.2rem
}

.solution-why__quote {
  background-color: #1e3a5f;
  border-radius: .4rem;
  padding: 2rem 2.4rem;
  margin-bottom: 3.2rem
}

.solution-why__quote-text {
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.6
}

.solution-why__list {
  list-style: none;
  margin: 0;
  padding: 0
}

.solution-why__list-item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.7;
  padding: 1.6rem 0;
  border-bottom: .1rem solid #e8edf5
}

.solution-why__list-item:first-child {
  border-top: .1rem solid #e8edf5
}

.solution-why__list-item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: .6rem;
  height: .6rem;
  background-color: #2563eb;
  border-radius: 50%
}

.solution-patterns {
  background-color: #1e3a5f;
  padding: 10rem 0
}

@media (max-width:768px) {
  .solution-patterns {
    padding: 6rem 0
  }
}

.solution-patterns__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .solution-patterns__inner {
    padding: 0 2rem
  }
}

.solution-patterns .c-heading--left {
  margin-bottom: 5.6rem
}

.solution-patterns .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.solution-patterns .c-heading--left .c-heading__title {
  color: #fff
}

.solution-patterns .c-heading--left .c-heading__text {
  color: rgba(255, 255, 255, .8)
}

.solution-patterns .c-card01__num {
  color: #7eb3ff
}

.solution-right-way {
  background-color: #eff6ff;
  padding: 10rem 0
}

@media (max-width:768px) {
  .solution-right-way {
    padding: 6rem 0
  }
}

.solution-right-way__inner {
  display: flex;
  align-items: center;
  gap: 8rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .solution-right-way__inner {
    flex-direction: column;
    gap: 4rem;
    padding: 0 2rem
  }
}

.solution-right-way__content {
  flex-shrink: 0;
  width: 36rem
}

@media (max-width:768px) {
  .solution-right-way__content {
    width: 100%
  }
}

.solution-right-way__content .c-heading--left {
  margin-bottom: 3.2rem
}

.solution-right-way__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 2.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .6rem;
  text-decoration: none;
  margin-bottom: 1.2rem
}

.solution-right-way__btn:hover {
  opacity: .85
}

.solution-right-way__note {
  font-size: 1.2rem;
  color: #888;
  text-align: center
}

.solution-right-way__list {
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.6rem
}

.solution-steps {
  background: url(../img/top/service-bg.webp) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .solution-steps {
    padding: 6rem 0
  }
}

.solution-steps__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .solution-steps__inner {
    padding: 0 2rem
  }
}

.solution-steps .c-heading--left {
  margin-bottom: 5.6rem
}

.solution-steps .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.solution-steps .c-heading--left .c-heading__title {
  color: #fff
}

.solution-steps .c-card03__label {
  color: #7eb3ff
}

.solution-steps__badge {
  display: inline-flex;
  align-items: center;
  padding: .4rem 1.2rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  background-color: #1e3a5f;
  border-radius: .4rem;
  letter-spacing: .08em;
  margin-bottom: 1.2rem
}

.solution-philosophy {
  background: url(../img/worry-salary/need-bg.jpg) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .solution-philosophy {
    padding: 6rem 0
  }
}

.solution-philosophy__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .solution-philosophy__inner {
    padding: 0 2rem
  }
}

.solution-philosophy .c-heading--left {
  margin-bottom: 4rem
}

.solution-philosophy__check-list {
  list-style: none;
  margin: 0 0 4rem;
  padding: 0
}

.solution-philosophy__check-item {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.7;
  padding: 1.6rem 2rem;
  border-bottom: .1rem solid #e8edf5;
  background-color: #fff
}

.solution-philosophy__check-item:first-child {
  border-top: .1rem solid #e8edf5
}

.solution-philosophy__check-item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: url(../img/common/icon-check-blue.svg) center/contain no-repeat
}

.solution-philosophy .c-card01__num {
  color: #7eb3ff;
  font-size: 1.1rem
}

.solution-for {
  padding: 10rem 0
}

@media (max-width:768px) {
  .solution-for {
    padding: 6rem 0
  }
}

.solution-for__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .solution-for__inner {
    padding: 0 2rem
  }
}

.solution-for .c-heading--left {
  margin-bottom: 4rem
}

.solution-faq {
  background-color: #f7fafc;
  padding: 10rem 0
}

@media (max-width:768px) {
  .solution-faq {
    padding: 6rem 0
  }
}

.solution-faq__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .solution-faq__inner {
    padding: 0 2rem
  }
}

.solution-faq .c-heading--left {
  margin-bottom: 5.6rem
}

.service-fv__tags {
  display: flex;
  align-items: center;
  gap: .8rem;
  list-style: none;
  margin: 0 0 3.2rem;
  padding: 0;
  flex-wrap: wrap
}

.service-fv__tag {
  display: inline-flex;
  align-items: center;
  padding: .6rem 1.6rem;
  font-size: 1.3rem;
  color: #1a1a1a;
  border: .1rem solid #c0c8d8;
  border-radius: .4rem;
  background-color: rgba(255, 255, 255, .7)
}

.service-overview {
  background: url(../img/top/service-bg.webp) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .service-overview {
    padding: 6rem 0
  }
}

.service-overview__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .service-overview__inner {
    padding: 0 2rem
  }
}

.service-overview .c-heading--left {
  margin-bottom: 5.6rem
}

.service-overview .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.service-overview .c-heading--left .c-heading__title {
  color: #fff
}

.service-overview .c-heading--left .c-heading__text {
  color: rgba(255, 255, 255, .8)
}

.service-overview .c-card03__label {
  color: #7eb3ff
}

.service-solution {
  padding: 10rem 0
}

@media (max-width:768px) {
  .service-solution {
    padding: 6rem 0
  }
}

.service-solution__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .service-solution__inner {
    padding: 0 2rem
  }
}

.service-solution__block {
  display: flex;
  align-items: center;
  gap: 8rem
}

.service-solution__block:not(:last-child) {
  margin-bottom: 8rem
}

@media (max-width:768px) {
  .service-solution__block {
    flex-direction: column;
    gap: 3.2rem
  }

  .service-solution__block:not(:last-child) {
    margin-bottom: 6rem
  }
}

@media (min-width:769px) {
  .service-solution__block--reverse {
    flex-direction: row-reverse
  }
}

@media (max-width:768px) {
  .service-solution__block--reverse {
    flex-direction: column
  }
}

.service-solution__content {
  flex: 1
}

.service-solution__content .c-heading--border {
  margin-bottom: 2.4rem
}

.service-solution__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.8;
  margin-bottom: 2.4rem
}

.service-solution__list {
  list-style: none;
  margin: 0;
  padding: 0
}

.service-solution__list-item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.7;
  padding: 1.6rem 0;
  border-bottom: .1rem solid #e8edf5
}

.service-solution__list-item:first-child {
  border-top: .1rem solid #e8edf5
}

.service-solution__list-item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: .6rem;
  height: .6rem;
  background-color: #2563eb;
  border-radius: 50%
}

.service-solution__image {
  flex-shrink: 0;
  width: 46%
}

@media (max-width:768px) {
  .service-solution__image {
    width: 100%
  }
}

.service-solution__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: .8rem
}

.service-flow {
  background: url(../img/top/service-bg.webp) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .service-flow {
    padding: 6rem 0
  }
}

.service-flow__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .service-flow__inner {
    padding: 0 2rem
  }
}

.service-flow .c-heading--left {
  margin-bottom: 4rem
}

.service-flow .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.service-flow .c-heading--left .c-heading__title {
  color: #fff
}

.service-flow__box {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #fff;
  overflow: hidden
}

@media (max-width:768px) {
  .service-flow__box {
    flex-direction: column
  }
}

.service-flow__step {
  flex: 1;
  padding: 3.2rem 2.4rem;
  border-right: .1rem solid #e8edf5
}

.service-flow__step:last-child {
  border-right: none
}

@media (max-width:768px) {
  .service-flow__step {
    border-right: none;
    border-bottom: .1rem solid #e8edf5
  }

  .service-flow__step:last-child {
    border-bottom: none
  }
}

.service-flow__step:nth-child(1) .service-flow__step-bar::before {
  width: 20%
}

.service-flow__step:nth-child(2) .service-flow__step-bar::before {
  width: 40%
}

.service-flow__step:nth-child(3) .service-flow__step-bar::before {
  width: 60%
}

.service-flow__step:nth-child(4) .service-flow__step-bar::before {
  width: 80%
}

.service-flow__step:nth-child(5) .service-flow__step-bar::before {
  width: 100%
}

.service-flow__step-label {
  font-size: 1.3rem;
  font-weight: 700;
  color: #999;
  letter-spacing: .08em;
  margin-bottom: 1.2rem
}

.service-flow__step-bar {
  display: block;
  position: relative;
  width: 100%;
  height: .2rem;
  background-color: #e8edf5;
  margin-bottom: 2rem
}

.service-flow__step-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #1a1a1a
}

.service-flow__step-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: 1.2rem
}

.service-flow__step-text {
  font-size: 1.3rem;
  color: #555;
  line-height: 1.7;
  margin-bottom: 2rem
}

.service-flow__step-image {
  margin: 0;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: .8rem
}

.service-flow__step-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.service-why {
  background-color: #eff6ff;
  padding: 10rem 0
}

@media (max-width:768px) {
  .service-why {
    padding: 6rem 0
  }
}

.service-why__inner {
  display: flex;
  align-items: center;
  gap: 8rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .service-why__inner {
    flex-direction: column;
    gap: 4rem;
    padding: 0 2rem
  }
}

.service-why__content {
  flex-shrink: 0;
  width: 36rem
}

@media (max-width:768px) {
  .service-why__content {
    width: 100%
  }
}

.service-why__content .c-heading--left {
  margin-bottom: 3.2rem
}

.service-why__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 2.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .6rem;
  text-decoration: none;
  margin-bottom: 1.2rem
}

.service-why__btn:hover {
  opacity: .85
}

.service-why__note {
  font-size: 1.2rem;
  color: #888;
  text-align: center
}

.service-why__list {
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.6rem
}

.service-comparison {
  padding: 10rem 0
}

@media (max-width:768px) {
  .service-comparison {
    padding: 6rem 0
  }
}

.service-comparison__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .service-comparison__inner {
    padding: 0 2rem
  }
}

.service-comparison .c-heading--left {
  margin-bottom: 4rem
}

.service-comparison__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch
}

.service-comparison__table {
  width: 100%;
  min-width: 76rem;
  border-collapse: collapse;
  font-size: 1.5rem
}

.service-comparison__head {
  padding: 2rem 2.4rem;
  text-align: center;
  font-weight: 700;
  color: #1a1a1a;
  background-color: #f7fafc;
  border-right: .1rem solid #e8edf5;
  border-bottom: .1rem solid #e8edf5
}

.service-comparison__head:last-child {
  border-right: none
}

.service-comparison__head--label {
  text-align: left;
  background-color: transparent
}

.service-comparison__head--accent {
  background-color: #2563eb;
  color: #fff
}

.service-comparison__label {
  padding: 2rem 2.4rem;
  text-align: left;
  font-size: 1.4rem;
  color: #888;
  border-bottom: .1rem solid #e8edf5;
  border-right: .1rem solid #e8edf5;
  white-space: nowrap
}

.service-comparison__cell {
  padding: 2rem 2.4rem;
  text-align: center;
  color: #1a1a1a;
  line-height: 1.7;
  border-bottom: .1rem solid #e8edf5;
  border-right: .1rem solid #e8edf5
}

.service-comparison__cell:last-child {
  border-right: none
}

.service-comparison__cell--accent {
  background-color: #eff6ff;
  font-weight: 500
}

.service-comparison__tag {
  display: inline-flex;
  align-items: center;
  padding: .4rem 1.2rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #888;
  background-color: #f0f2f5;
  border-radius: .4rem;
  margin-bottom: .8rem
}

.service-comparison__tag--accent {
  color: #fff;
  background-color: #2563eb
}

.service-comparison__text {
  font-size: 1.3rem;
  color: #666;
  line-height: 1.6;
  margin: 0
}

.price-fee {
  background-color: #eff6ff;
  padding: 10rem 0
}

@media (max-width:768px) {
  .price-fee {
    padding: 6rem 0
  }
}

.price-fee__inner {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .price-fee__inner {
    flex-direction: column;
    gap: 3rem;
    padding: 0 2rem
  }
}

.price-fee__content {
  flex-shrink: 0;
  width: 36rem
}

@media (max-width:768px) {
  .price-fee__content {
    width: 100%
  }
}

.price-fee__content .c-heading--left {
  margin-bottom: 3.2rem
}

.price-fee__content .c-note {
  background-color: #fff;
  margin-top: 3.2rem
}

.price-fee__list {
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem
}

.price-fee__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  background-color: #fff;
  border: .1rem solid #e8edf5;
  padding: 2rem 2.4rem
}

.price-fee__item-label {
  font-size: 1.2rem;
  font-weight: 700;
  color: #999;
  letter-spacing: .05em;
  margin-bottom: .4rem
}

.price-fee__item-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin: 0
}

.price-fee__item-btn {
  flex-shrink: 0;
  font-size: 1.3rem;
  font-weight: 700;
  color: #888;
  background-color: #fff;
  border: .1rem solid #d0d4da;
  border-radius: .4rem;
  padding: .8rem 1.6rem;
  white-space: nowrap
}

.price-fee__item--total {
  background-color: #2563eb;
  border-color: #2563eb
}

.price-fee__item--total .price-fee__item-label {
  color: rgba(255, 255, 255, .8)
}

.price-fee__item--total .price-fee__item-title {
  color: #fff
}

.price-fee__item--total .price-fee__item-btn {
  color: #2563eb;
  background-color: #fff;
  border-color: #fff
}

.price-subsidy {
  padding: 10rem 0
}

@media (max-width:768px) {
  .price-subsidy {
    padding: 6rem 0
  }
}

.price-subsidy__inner {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .price-subsidy__inner {
    flex-direction: column;
    gap: 4rem;
    padding: 0 2rem
  }
}

.price-subsidy__content {
  flex-shrink: 0;
  width: 36rem
}

@media (max-width:768px) {
  .price-subsidy__content {
    width: 100%
  }
}

.price-subsidy__content .c-heading--left {
  margin-bottom: 2.4rem
}

.price-subsidy__subtitle {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: 1.6rem
}

.price-subsidy__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.8;
  margin-bottom: 2.4rem
}

.price-subsidy__list {
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0
}

.price-cost {
  background-color: #1e3a5f;
  padding: 10rem 0
}

@media (max-width:768px) {
  .price-cost {
    padding: 6rem 0
  }
}

.price-cost__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .price-cost__inner {
    padding: 0 2rem
  }
}

.price-cost .c-heading--left {
  margin-bottom: 4rem
}

.price-cost .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.price-cost .c-heading--left .c-heading__title {
  color: #fff
}

.price-cost .c-heading--left .c-heading__text {
  color: rgba(255, 255, 255, .8)
}

.price-cost__list {
  margin-bottom: 3.2rem
}

.price-cost .c-note {
  background-color: rgba(255, 255, 255, .92);
  margin-bottom: 3.2rem
}

.price-cost__cta {
  text-align: center
}

.price-cost .c-cta__notes-item {
  color: #fff
}

.price-cost .c-cta__notes-item::before {
  background: url(../img/common/icon-check-white.svg) center/contain no-repeat
}

.price-payment {
  background: url(../img/top/service-bg.webp) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .price-payment {
    padding: 6rem 0
  }
}

.price-payment__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .price-payment__inner {
    padding: 0 2rem
  }
}

.price-payment .c-heading--left {
  margin-bottom: 4rem
}

.price-payment .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.price-payment .c-heading--left .c-heading__title {
  color: #fff
}

.price-risk {
  padding: 10rem 0
}

@media (max-width:768px) {
  .price-risk {
    padding: 6rem 0
  }
}

.price-risk__inner {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .price-risk__inner {
    flex-direction: column;
    gap: 4rem;
    padding: 0 2rem
  }
}

.price-risk__content {
  flex-shrink: 0;
  width: 36rem
}

@media (max-width:768px) {
  .price-risk__content {
    width: 100%
  }
}

.price-risk__content .c-heading--left {
  margin-bottom: 2.4rem
}

.price-risk__subtitle {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: 1.6rem
}

.price-risk__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.8;
  margin-bottom: 2.4rem
}

.price-risk__list {
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0
}

.price-risk__item {
  background-color: #fff;
  border: .1rem solid #e8edf5;
  padding: 2.4rem
}

.price-risk__item+.price-risk__item {
  margin-top: 1.6rem
}

.price-risk__item-head {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 1.2rem
}

.price-risk__item-head::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: url(../img/common/icon-check-blue.svg) center/contain no-repeat
}

.price-risk__item-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5
}

.price-risk__item-text {
  font-size: 1.4rem;
  color: #555;
  line-height: 1.8;
  padding-left: 3.2rem
}

.price-faq {
  background-color: #f7fafc;
  padding: 10rem 0
}

@media (max-width:768px) {
  .price-faq {
    padding: 6rem 0
  }
}

.price-faq__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .price-faq__inner {
    padding: 0 2rem
  }
}

.price-faq .c-heading--left {
  margin-bottom: 5.6rem
}

.case-filter {
  padding: 6rem 0
}

@media (max-width:768px) {
  .case-filter {
    padding: 4rem 0
  }
}

.case-filter__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .case-filter__inner {
    padding: 0 2rem
  }
}

.case-filter__box {
  background-color: #fff;
  border: .1rem solid #e8edf5;
  border-radius: 1.2rem;
  overflow: hidden
}

.case-filter__head {
  background-color: #eff6ff;
  padding: 2.4rem 3.2rem
}

@media (max-width:768px) {
  .case-filter__head {
    padding: 2rem
  }
}

.case-filter__head-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0
}

.case-filter__body {
  padding: 3.2rem
}

@media (max-width:768px) {
  .case-filter__body {
    padding: 2rem
  }
}

.case-filter__group:not(:last-child) {
  margin-bottom: 2.4rem
}

.case-filter__group-label {
  font-size: 1.4rem;
  font-weight: 700;
  color: #888;
  margin-bottom: 1.2rem
}

.case-filter__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  list-style: none;
  margin: 0;
  padding: 0
}

.case-filter__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .8rem 1.6rem;
  font-size: 1.3rem;
  font-weight: 500;
  color: #555;
  background-color: #fff;
  border: .1rem solid #d8dee6;
  border-radius: .6rem;
  cursor: pointer;
  transition: opacity .2s
}

.case-filter__tag input {
  display: none
}

.case-filter__tag:hover {
  opacity: .7
}

.case-filter__tag.is-active,
.case-filter__tag:has(input:checked) {
  color: #fff;
  background-color: #2563eb;
  border-color: #2563eb
}

.case-filter__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  margin-top: 2.4rem;
  padding-top: 2.4rem;
  border-top: .1rem solid #e8edf5
}

@media (max-width:768px) {
  .case-filter__footer {
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem
  }
}

.case-filter__reset {
  font-size: 1.4rem;
  color: #555;
  background: 0 0;
  border: none;
  padding: 0;
  text-decoration: underline;
  cursor: pointer
}

.case-filter__reset:hover {
  opacity: .7
}

.case-filter__count {
  font-size: 1.4rem;
  color: #888;
  margin: 0
}

.case-list {
  padding: 6rem 0 10rem
}

@media (max-width:768px) {
  .case-list {
    padding: 4rem 0 6rem
  }
}

.case-list__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .case-list__inner {
    padding: 0 2rem
  }
}

.case-list__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2.4rem;
  margin-bottom: 3.2rem
}

@media (max-width:768px) {
  .case-list__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem
  }
}

.case-list__label {
  font-size: 1.2rem;
  font-weight: 700;
  color: #2563eb;
  letter-spacing: .1em;
  margin-bottom: 1.2rem
}

.case-list__title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0
}

.case-list__header-right {
  text-align: right
}

@media (max-width:768px) {
  .case-list__header-right {
    width: 100%;
    text-align: left
  }
}

.case-list__count {
  font-size: 1.3rem;
  color: #888;
  margin: 0 0 1.2rem
}

.case-list__sort {
  display: inline-flex;
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #f0f2f5;
  border-radius: .6rem;
  padding: .4rem
}

.case-list__sort-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .8rem 1.6rem;
  font-size: 1.3rem;
  font-weight: 500;
  color: #666;
  background: 0 0;
  border: none;
  border-radius: .4rem;
  cursor: pointer;
  white-space: nowrap
}

.case-list__sort-btn.is-active {
  color: #1a1a1a;
  background-color: #fff;
  font-weight: 700
}

.case-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
  list-style: none;
  margin: 0 0 4rem;
  padding: 0
}

@media (max-width:768px) {
  .case-list__grid {
    grid-template-columns: 1fr
  }
}

.case-list__card {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border: .1rem solid #e8edf5;
  border-radius: 1.2rem;
  overflow: hidden
}

.case-list__card-image {
  margin: 0;
  aspect-ratio: 4/3;
  overflow: hidden
}

.case-list__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.case-list__card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 2.4rem
}

.case-list__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  list-style: none;
  margin: 0 0 1.6rem;
  padding: 0
}

.case-list__card-tag {
  display: inline-flex;
  align-items: center;
  padding: .4rem 1.2rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .4rem
}

.case-list__card-title {
  font-size: 1.7rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin: 0 0 1.6rem
}

.case-list__card-info {
  margin: 0 0 1.6rem
}

.case-list__card-info-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .8rem 1.6rem;
  padding: 1.2rem 0
}

.case-list__card-info-row:not(:last-child) {
  border-bottom: .1rem solid #e8edf5
}

.case-list__card-info-item dt {
  font-size: 1.1rem;
  color: #999;
  margin-bottom: .4rem
}

.case-list__card-info-item dd {
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0
}

.case-list__card-change {
  flex: 1;
  margin-bottom: 1.6rem
}

.case-list__card-change-label {
  font-size: 1.2rem;
  font-weight: 700;
  color: #999;
  margin: 0 0 .8rem
}

.case-list__card-change-text {
  font-size: 1.3rem;
  color: #1a1a1a;
  line-height: 1.7;
  margin: 0 0 1.2rem
}

.case-list__card-quote {
  font-size: 1.3rem;
  color: #666;
  line-height: 1.7;
  margin: 0
}

.case-list__card-link {
  align-self: flex-end;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a1a1a;
  text-decoration: none
}

.case-list__card-link:hover {
  opacity: .7
}

.case-list__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem
}

.case-list__page-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  font-size: 1.4rem;
  color: #666;
  background-color: #fff;
  border: .1rem solid #d8dee6;
  cursor: pointer
}

.case-list__page-arrow:hover {
  opacity: .7
}

.case-list__page-list {
  display: flex;
  align-items: center;
  gap: .8rem;
  list-style: none;
  margin: 0;
  padding: 0
}

.case-list__page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #666;
  background-color: #fff;
  border: .1rem solid #d8dee6;
  cursor: pointer
}

.case-list__page-btn.is-active {
  color: #fff;
  background-color: #1a1a1a;
  border-color: #1a1a1a
}

.case-list__page-btn:hover:not(.is-active) {
  opacity: .7
}

.case-single-hero {
  max-width: 114rem;
  margin: 0 auto;
  padding: 4rem 4rem 0
}

@media (max-width:768px) {
  .case-single-hero {
    padding: 3.2rem 2rem 0
  }
}

.case-single-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  list-style: none;
  margin: 0 0 2.4rem;
  padding: 0
}

.case-single-hero__tag {
  display: inline-flex;
  align-items: center;
  padding: .6rem 1.6rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .4rem
}

.case-single-hero__inner {
  max-width: 80rem;
  margin: 0 0 4rem
}

.case-single-hero__label {
  font-size: 1.2rem;
  font-weight: 700;
  color: #2563eb;
  letter-spacing: .1em;
  margin-bottom: 1.6rem
}

.case-single-hero__title {
  font-size: 3.2rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin: 0 0 2rem
}

@media (max-width:768px) {
  .case-single-hero__title {
    font-size: 2.2rem
  }
}

.case-single-hero__lead {
  font-size: 1.6rem;
  color: #666;
  line-height: 1.8;
  margin: 0
}

.case-single-hero__image {
  margin: 0;
  aspect-ratio: 16/9;
  overflow: hidden
}

.case-single-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.case-single-hero__income {
  display: flex
}

@media (max-width:768px) {
  .case-single-hero__income {
    flex-direction: column
  }
}

.case-single-hero__income-after,
.case-single-hero__income-before {
  flex: 1;
  padding: 2.4rem 4rem
}

@media (max-width:768px) {

  .case-single-hero__income-after,
  .case-single-hero__income-before {
    padding: 2.4rem
  }
}

.case-single-hero__income-before {
  position: relative;
  z-index: 1;
  background-color: #eff6ff;
  margin-right: -3rem;
  padding-right: 6rem;
  clip-path: polygon(0 0, calc(100% - 3rem) 0, 100% 50%, calc(100% - 3rem) 100%, 0 100%)
}

@media (max-width:768px) {
  .case-single-hero__income-before {
    margin-right: 0;
    padding-right: 4rem;
    clip-path: none
  }
}

.case-single-hero__income-after {
  background-color: #2563eb;
  color: #fff
}

@media (max-width:768px) {
  .case-single-hero__income-after {
    padding-left: 2.4rem
  }
}

.case-single-hero__income-label {
  font-size: 1.3rem;
  margin: 0 0 .8rem
}

.case-single-hero__income-before .case-single-hero__income-label {
  color: #666
}

.case-single-hero__income-value {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0
}

@media (max-width:768px) {
  .case-single-hero__income-value {
    font-size: 2.2rem
  }
}

.case-single-hero__income-before .case-single-hero__income-value {
  color: #1a1a1a
}

.case-single-hero__income-note {
  font-size: 1.2rem;
  color: #888;
  margin: .4rem 0 0
}

.case-single-hero__income-badge {
  display: inline-flex;
  align-items: center;
  margin-top: .8rem;
  padding: .4rem 1.2rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  background-color: #e6483d;
  border-radius: .4rem
}

.case-single-hero__profile {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  background-color: #f7fafc;
  padding: 2.4rem;
  margin-top: 4rem
}

@media (max-width:768px) {
  .case-single-hero__profile {
    flex-direction: column;
    align-items: flex-start
  }
}

.case-single-hero__profile-image {
  flex-shrink: 0;
  width: 9.6rem;
  height: 9.6rem;
  margin: 0;
  overflow: hidden
}

.case-single-hero__profile-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.case-single-hero__profile-body {
  flex: 1
}

.case-single-hero__profile-name {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 1.2rem
}

.case-single-hero__profile-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 3.2rem;
  margin: 0
}

.case-single-hero__profile-item dt {
  font-size: 1.1rem;
  color: #999;
  margin-bottom: .4rem
}

.case-single-hero__profile-item dd {
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0
}

.case-single-anxiety {
  padding: 6rem 0
}

@media (max-width:768px) {
  .case-single-anxiety {
    padding: 4rem 0
  }
}

.case-single-anxiety__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .case-single-anxiety__inner {
    padding: 0 2rem
  }
}

.case-single-anxiety .c-note {
  margin-bottom: 2.4rem
}

.case-single-anxiety .c-note .c-note__label {
  margin-bottom: 0
}

.case-single-anxiety__title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin: 0 0 2.4rem
}

.case-single-anxiety__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.9
}

.case-single-anxiety__text:not(:last-of-type) {
  margin-bottom: 1.6rem
}

.case-single-anxiety__list {
  list-style: none;
  margin: 3.2rem 0 0;
  padding: 0
}

.case-single-anxiety__item {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding: 1.6rem 0;
  border-bottom: .1rem solid #e8edf5
}

.case-single-anxiety__item:first-child {
  border-top: .1rem solid #e8edf5
}

.case-single-anxiety__num {
  flex-shrink: 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: #2563eb
}

.case-single-anxiety__item-text {
  font-size: 1.6rem;
  color: #1a1a1a
}

.case-single-reason {
  padding: 6rem 0
}

@media (max-width:768px) {
  .case-single-reason {
    padding: 4rem 0
  }
}

.case-single-reason__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .case-single-reason__inner {
    padding: 0 2rem
  }
}

.case-single-reason .c-note {
  margin-bottom: 2.4rem
}

.case-single-reason .c-note .c-note__label {
  margin-bottom: 0
}

.case-single-reason__title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin: 0 0 2.4rem
}

.case-single-reason__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.9;
  margin: 0 0 3.2rem
}

.case-single-reason__list .c-card01 {
  border: .1rem solid #e8edf5
}

.case-single-summary {
  padding: 6rem 0
}

@media (max-width:768px) {
  .case-single-summary {
    padding: 4rem 0
  }
}

.case-single-summary__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .case-single-summary__inner {
    padding: 0 2rem
  }
}

.case-single-summary .c-note {
  display: inline-block;
  margin-bottom: 2.4rem
}

.case-single-summary .c-note .c-note__label {
  margin-bottom: 0
}

.case-single-summary__title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin: 0 0 2.4rem
}

.case-single-summary__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.9;
  margin: 0 0 3.2rem
}

.case-single-summary__chart {
  background-color: #fff;
  border: .1rem solid #e8edf5;
  border-radius: 1.2rem;
  padding: 3.2rem;
  margin-bottom: 3.2rem
}

@media (max-width:768px) {
  .case-single-summary__chart {
    padding: 2.4rem 1.6rem
  }
}

.case-single-summary__chart-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 3.2rem
}

.case-single-summary__bars {
  display: flex;
  align-items: flex-end;
  gap: 1.6rem;
  height: 16rem;
  list-style: none;
  margin: 0 0 2.4rem;
  padding: 0
}

.case-single-summary__bar-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 100%
}

.case-single-summary__bar {
  width: 100%;
  border-radius: .4rem .4rem 0 0;
  background-color: #e0e4ea
}

.case-single-summary__bar-item:nth-child(1) .case-single-summary__bar {
  background-color: #e0e4ea
}

.case-single-summary__bar-item:nth-child(2) .case-single-summary__bar {
  background-color: #a3cbe8
}

.case-single-summary__bar-item:nth-child(3) .case-single-summary__bar {
  background-color: #4fa3e0
}

.case-single-summary__bar-item:nth-child(4) .case-single-summary__bar {
  background-color: #2f8fdd
}

.case-single-summary__bar-item:nth-child(5) .case-single-summary__bar {
  background-color: #2563eb
}

.case-single-summary__bar-label {
  font-size: 1.3rem;
  color: #666;
  margin: 1.2rem 0 0
}

.case-single-summary__chart-note {
  font-size: 1.2rem;
  color: #999;
  border-top: .1rem solid #e8edf5;
  padding-top: 1.6rem;
  margin: 0
}

.case-single-summary__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem
}

.case-single-summary__table td,
.case-single-summary__table th {
  padding: 2rem 2.4rem;
  text-align: left;
  border-bottom: .1rem solid #e8edf5
}

@media (max-width:768px) {

  .case-single-summary__table td,
  .case-single-summary__table th {
    padding: 1.6rem
  }
}

.case-single-summary__table th {
  color: #fff;
  font-weight: 700;
  background-color: #2563eb;
  white-space: nowrap
}

.case-single-summary__table td:first-child,
.case-single-summary__table th:first-child {
  width: 22rem
}

@media (max-width:768px) {

  .case-single-summary__table td:first-child,
  .case-single-summary__table th:first-child {
    width: auto
  }
}

.case-single-summary__table td:first-child {
  color: #1a1a1a;
  font-weight: 700;
  background-color: #f7f8fa
}

.case-single-summary__table td {
  color: #555;
  line-height: 1.8
}

.case-single-progress {
  padding: 6rem 0
}

@media (max-width:768px) {
  .case-single-progress {
    padding: 4rem 0
  }
}

.case-single-progress__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .case-single-progress__inner {
    padding: 0 2rem
  }
}

.case-single-progress .c-note {
  margin-bottom: 2.4rem
}

.case-single-progress .c-note .c-note__label {
  margin-bottom: 0
}

.case-single-progress__title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin: 0 0 2.4rem
}

.case-single-progress__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.9;
  margin: 0 0 4rem
}

.case-single-progress__steps {
  list-style: none;
  margin: 0;
  padding: 0
}

.case-single-progress__step {
  display: flex;
  gap: 2.4rem;
  padding-bottom: 4rem
}

.case-single-progress__step:last-child {
  padding-bottom: 0
}

.case-single-progress__step:last-child .case-single-progress__step-marker::after {
  display: none
}

@media (max-width:768px) {
  .case-single-progress__step {
    gap: 1.6rem;
    padding-bottom: 3.2rem
  }
}

.case-single-progress__step-label {
  flex-shrink: 0;
  width: 7rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: #2563eb;
  letter-spacing: .05em;
  padding-top: .2rem
}

@media (max-width:768px) {
  .case-single-progress__step-label {
    width: 6rem;
    font-size: 1.1rem
  }
}

.case-single-progress__step-marker {
  flex-shrink: 0;
  position: relative;
  width: 1.2rem
}

.case-single-progress__step-marker::before {
  content: "";
  position: absolute;
  top: .4rem;
  left: 0;
  width: 1.2rem;
  height: 1.2rem;
  background-color: #fff;
  border: .2rem solid #2563eb;
  border-radius: 50%;
  z-index: 1
}

.case-single-progress__step-marker::after {
  content: "";
  position: absolute;
  top: .4rem;
  left: 50%;
  width: .1rem;
  height: calc(100% + 4rem);
  background-color: #e0e4ea;
  transform: translateX(-50%)
}

@media (max-width:768px) {
  .case-single-progress__step-marker::after {
    height: calc(100% + 3.2rem)
  }
}

.case-single-progress__step-body {
  flex: 1;
  padding-bottom: .4rem
}

.case-single-progress__step-badge {
  display: inline-flex;
  align-items: center;
  padding: .4rem 1.2rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .4rem;
  margin-bottom: 1.2rem
}

.case-single-progress__step-title {
  font-size: 1.7rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin: 0 0 1.2rem
}

.case-single-progress__step-text {
  font-size: 1.4rem;
  color: #555;
  line-height: 1.8;
  margin: 0
}

.case-single-progress__step-note {
  margin-top: 1.6rem
}

.case-single-change {
  padding: 6rem 0
}

@media (max-width:768px) {
  .case-single-change {
    padding: 4rem 0
  }
}

.case-single-change__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .case-single-change__inner {
    padding: 0 2rem
  }
}

.case-single-change .c-note {
  display: inline-block;
  margin-bottom: 2.4rem
}

.case-single-change .c-note .c-note__label {
  margin-bottom: 0
}

.case-single-change__title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin: 0 0 2.4rem
}

.case-single-change__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.9;
  margin: 0 0 3.2rem
}

.case-single-change__grid .c-card03 {
  border: .1rem solid #e8edf5
}

.case-single-change__grid .c-card03__image {
  aspect-ratio: 440/147;
  padding: 0;
  border-radius: 0
}

.case-single-change__grid .c-card03__image img {
  border-radius: 0
}

.case-single-reaction {
  padding: 6rem 0
}

@media (max-width:768px) {
  .case-single-reaction {
    padding: 4rem 0
  }
}

.case-single-reaction__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .case-single-reaction__inner {
    padding: 0 2rem
  }
}

.case-single-reaction .c-note {
  margin-bottom: 2.4rem
}

.case-single-reaction__title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin: 0 0 2.4rem
}

.case-single-reaction__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.9;
  margin: 0 0 3.2rem
}

.case-single-reaction__list .c-card01 {
  border: .1rem solid #e8edf5
}

.case-single-reaction__quote {
  display: block;
  width: 100%;
  margin-top: 3.2rem
}

.case-single-worry {
  background-color: #1e3a5f;
  padding: 8rem 0
}

@media (max-width:768px) {
  .case-single-worry {
    padding: 6rem 0
  }
}

.case-single-worry__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .case-single-worry__inner {
    padding: 0 2rem
  }
}

.case-single-worry .c-heading--left {
  margin-bottom: 4rem
}

.case-single-worry .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.case-single-worry .c-heading--left .c-heading__title {
  color: #fff
}

.case-single-worry .c-heading--left .c-heading__text {
  color: rgba(255, 255, 255, .8)
}

.family-why {
  padding: 10rem 0
}

@media (max-width:768px) {
  .family-why {
    padding: 6rem 0
  }
}

.family-why__inner {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .family-why__inner {
    flex-direction: column;
    gap: 4rem;
    padding: 0 2rem
  }
}

.family-why__content {
  flex-shrink: 0;
  width: 36rem
}

@media (max-width:768px) {
  .family-why__content {
    width: 100%
  }
}

.family-why__content .c-heading--left {
  margin-bottom: 2.4rem
}

.family-why__content .c-note {
  margin-top: 2.4rem
}

.family-why__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.8
}

.family-why__text:not(:last-of-type) {
  margin-bottom: 1.6rem
}

.family-why__list {
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0
}

.family-worry {
  background-color: #1e3a5f;
  padding: 10rem 0
}

@media (max-width:768px) {
  .family-worry {
    padding: 6rem 0
  }
}

.family-worry__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .family-worry__inner {
    padding: 0 2rem
  }
}

.family-worry .c-heading--left {
  margin-bottom: 4rem
}

.family-worry .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.family-worry .c-heading--left .c-heading__title {
  color: #fff
}

.family-simulation {
  padding: 10rem 0
}

@media (max-width:768px) {
  .family-simulation {
    padding: 6rem 0
  }
}

.family-simulation__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .family-simulation__inner {
    padding: 0 2rem
  }
}

.family-simulation .c-heading--left {
  margin-bottom: 4rem
}

.family-simulation .c-note {
  margin-top: 3.2rem
}

.family-simulation__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem
}

.family-simulation__table td,
.family-simulation__table th {
  padding: 2rem 2.4rem;
  text-align: left;
  border-bottom: .1rem solid #e8edf5
}

@media (max-width:768px) {

  .family-simulation__table td,
  .family-simulation__table th {
    padding: 1.6rem
  }
}

.family-simulation__table th {
  color: #fff;
  font-weight: 700;
  background-color: #2563eb;
  white-space: nowrap
}

.family-simulation__table td:first-child {
  color: #1a1a1a;
  font-weight: 700;
  background-color: #f7f8fa;
  white-space: nowrap
}

.family-simulation__table td {
  color: #555;
  line-height: 1.7
}

.family-simulation__badge {
  display: inline-flex;
  align-items: center;
  padding: .4rem 1.2rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #888;
  background-color: #fff;
  border: .1rem solid #d8dee6;
  border-radius: .4rem;
  white-space: nowrap
}

.family-simulation__badge--filled {
  color: #fff;
  background-color: #22252b;
  border-color: #22252b
}

.family-risk {
  background: url(../img/worry-salary/need-bg.jpg) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .family-risk {
    padding: 6rem 0
  }
}

.family-risk__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .family-risk__inner {
    padding: 0 2rem
  }
}

.family-risk .c-heading--left {
  margin-bottom: 4rem
}

.family-risk .c-note {
  margin-top: 3.2rem
}

.family-risk__list {
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #fff;
  border-radius: 1.2rem;
  overflow: hidden
}

.family-risk__list .c-list-item {
  border: none;
  border-radius: 0;
  padding: 2rem 3.2rem;
  border-bottom: .1rem solid #e8edf5
}

.family-risk__list .c-list-item:last-child {
  border-bottom: none
}

.family-risk__list .c-list-item+.c-list-item {
  margin-top: 0
}

.family-life {
  padding: 10rem 0
}

@media (max-width:768px) {
  .family-life {
    padding: 6rem 0
  }
}

.family-life__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .family-life__inner {
    padding: 0 2rem
  }
}

.family-life .c-heading--left {
  margin-bottom: 4rem
}

.family-life .c-note {
  margin-top: 3.2rem
}

.family-life__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
  list-style: none;
  margin: 0;
  padding: 0
}

@media (max-width:768px) {
  .family-life__list {
    grid-template-columns: 1fr 1fr;
    gap: 1.6rem
  }
}

.family-life__item {
  text-align: center;
  background-color: #fff;
  border: .1rem solid #e8edf5;
  border-radius: 1.2rem;
  padding: 3.2rem 2.4rem
}

.family-life__item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.2rem;
  height: 7.2rem;
  margin: 0 auto 2rem;
  background-color: #eff6ff;
  border-radius: 50%
}

.family-life__item-icon img {
  width: 3.2rem;
  height: 3.2rem
}

.family-life__item-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 1.2rem
}

.family-life__item-text {
  font-size: 1.3rem;
  color: #555;
  line-height: 1.7;
  margin: 0
}

.family-flow {
  background: url(../img/top/service-bg.webp) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .family-flow {
    padding: 6rem 0
  }
}

.family-flow__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .family-flow__inner {
    padding: 0 2rem
  }
}

.family-flow .c-heading--left {
  margin-bottom: 4rem
}

.family-flow .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.family-flow .c-heading--left .c-heading__title {
  color: #fff
}

.family-flow .c-heading--left .c-heading__text {
  color: rgba(255, 255, 255, .8)
}

.family-flow__box {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #fff;
  overflow: hidden
}

@media (max-width:768px) {
  .family-flow__box {
    flex-direction: column
  }
}

.family-flow__step {
  flex: 1;
  padding: 3.2rem 2.4rem;
  border-right: .1rem solid #e8edf5
}

.family-flow__step:last-child {
  border-right: none
}

@media (max-width:768px) {
  .family-flow__step {
    border-right: none;
    border-bottom: .1rem solid #e8edf5
  }

  .family-flow__step:last-child {
    border-bottom: none
  }
}

.family-flow__step-label {
  font-size: 1.3rem;
  font-weight: 700;
  color: #999;
  letter-spacing: .08em;
  margin-bottom: 1.2rem
}

.family-flow__step-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: 1.2rem
}

.family-flow__step-text {
  font-size: 1.3rem;
  color: #555;
  line-height: 1.7;
  margin-bottom: 2rem
}

.family-flow__step-image {
  margin: 0;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: .8rem
}

.family-flow__step-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.family-materials {
  background-color: #eff6ff;
  padding: 10rem 0
}

@media (max-width:768px) {
  .family-materials {
    padding: 6rem 0
  }
}

.family-materials__inner {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .family-materials__inner {
    flex-direction: column;
    gap: 4rem;
    padding: 0 2rem
  }
}

.family-materials__content {
  flex-shrink: 0;
  width: 36rem
}

@media (max-width:768px) {
  .family-materials__content {
    width: 100%
  }
}

.family-materials__content .c-heading--left {
  margin-bottom: 2.4rem
}

.family-materials__content .c-cta__btn {
  margin-bottom: 1.2rem
}

.family-materials__subtitle {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: 1.6rem
}

.family-materials__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.8;
  margin-bottom: 2.4rem
}

.family-materials__note {
  font-size: 1.2rem;
  color: #888;
  text-align: center;
  margin: 0;
  max-width: 32rem
}

.family-materials__list {
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0
}

.family-faq {
  background-color: #f7fafc;
  padding: 10rem 0
}

@media (max-width:768px) {
  .family-faq {
    padding: 6rem 0
  }
}

.family-faq__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .family-faq__inner {
    padding: 0 2rem
  }
}

.family-faq .c-heading--left {
  margin-bottom: 5.6rem
}

.faq-list {
  padding: 6rem 0 10rem
}

@media (max-width:768px) {
  .faq-list {
    padding: 4rem 0 6rem
  }
}

.faq-list__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .faq-list__inner {
    padding: 0 2rem
  }
}

.faq-list__tabs {
  display: flex;
  list-style: none;
  margin: 0 0 6rem;
  padding: 0;
  gap: 1.2rem
}

@media (max-width:768px) {
  .faq-list__tabs {
    flex-wrap: wrap;
    gap: .8rem;
    margin-bottom: 4rem
  }
}

.faq-list__tab {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 1.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #666;
  background-color: #fff;
  border: .1rem solid #d8dee6;
  cursor: pointer;
  white-space: nowrap
}

.faq-list__tab:hover {
  opacity: .7
}

.faq-list__tab.is-active {
  color: #fff;
  background-color: #2563eb;
  border-color: #2563eb
}

@media (max-width:768px) {
  .faq-list__tab {
    flex: none;
    padding: 1rem 1.4rem;
    font-size: 1.3rem
  }
}

.faq-list__group:not(:last-child) {
  margin-bottom: 6rem;
  scroll-margin-top: 10rem
}

.faq-list__group .c-heading--left {
  margin-bottom: 3.2rem
}

.contact-fv .c-page-fv__text {
  margin-bottom: 2.4rem
}

.contact-fv .c-page-fv__btn {
  background-color: #f2542d
}

.contact-fv .c-page-fv__btn:hover {
  opacity: .85
}

.contact-fv__badges {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.2rem;
  list-style: none;
  margin: 0 0 2.4rem;
  padding: 0
}

@media (max-width:768px) {
  .contact-fv__badges {
    flex-wrap: wrap
  }
}

.contact-fv__badge {
  display: inline-flex;
  align-items: center;
  padding: .8rem 1.6rem;
  font-size: 1.3rem;
  font-weight: 500;
  color: #1a1a1a;
  background-color: #fff;
  white-space: nowrap
}

.contact-can-do {
  padding: 10rem 0
}

@media (max-width:768px) {
  .contact-can-do {
    padding: 6rem 0
  }
}

.contact-can-do__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .contact-can-do__inner {
    padding: 0 2rem
  }
}

.contact-can-do .c-heading--left {
  margin-bottom: 4rem
}

.contact-can-do__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0
}

@media (max-width:768px) {
  .contact-can-do__list {
    grid-template-columns: 1fr 1fr;
    gap: 1.6rem
  }
}

.contact-can-do__item {
  text-align: center;
  background-color: #fff;
  border: .1rem solid #e8edf5;
  border-radius: 1.2rem;
  padding: 3.2rem 2rem
}

.contact-can-do__item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.4rem;
  height: 6.4rem;
  margin: 0 auto 2rem;
  background-color: #eff6ff;
  border-radius: 50%
}

.contact-can-do__item-icon img {
  width: 2.8rem;
  height: 2.8rem
}

.contact-can-do__item-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.6;
  margin: 0
}

.contact-apply {
  background: url(../img/worry-salary/need-bg.jpg) center/cover no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .contact-apply {
    padding: 6rem 0
  }
}

.contact-apply__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .contact-apply__inner {
    padding: 0 2rem
  }
}

.contact-apply .c-heading--left {
  margin-bottom: 4rem
}

.contact-apply__list {
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #fff;
  border-radius: 1.2rem;
  overflow: hidden
}

.contact-apply__item {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding: 2rem 3.2rem;
  border-bottom: .1rem solid #e8edf5
}

.contact-apply__item:last-child {
  border-bottom: none
}

.contact-apply__icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: url(../img/common/icon-check-blue.svg) center/contain no-repeat
}

.contact-apply__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  margin: 0
}

.contact-flow {
  padding: 10rem 0
}

@media (max-width:768px) {
  .contact-flow {
    padding: 6rem 0
  }
}

.contact-flow__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .contact-flow__inner {
    padding: 0 2rem
  }
}

.contact-flow .c-heading--left {
  margin-bottom: 4rem
}

.contact-flow__list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0
}

@media (max-width:768px) {
  .contact-flow__list {
    flex-direction: column;
    gap: .4rem
  }
}

.contact-flow__step {
  flex: 1;
  position: relative;
  padding: 3.2rem 3.2rem 3.2rem 5.6rem;
  color: #fff;
  text-align: center;
  clip-path: polygon(0 0, calc(100% - 2.4rem) 0, 100% 50%, calc(100% - 2.4rem) 100%, 0 100%, 2.4rem 50%);
  margin-left: -2.4rem
}

.contact-flow__step:first-child {
  padding-left: 3.2rem;
  clip-path: polygon(0 0, calc(100% - 2.4rem) 0, 100% 50%, calc(100% - 2.4rem) 100%, 0 100%);
  margin-left: 0
}

.contact-flow__step:nth-child(1) {
  background-color: #a9c8e8
}

.contact-flow__step:nth-child(2) {
  background-color: #5b9fe0
}

.contact-flow__step:nth-child(3) {
  background-color: #2f7fdd
}

.contact-flow__step:nth-child(4) {
  background-color: #2563eb
}

@media (max-width:768px) {
  .contact-flow__step {
    clip-path: none !important;
    margin-left: 0 !important;
    padding: 2.4rem;
    border-radius: .8rem;
    text-align: left
  }
}

.contact-flow__step-label {
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: rgba(255, 255, 255, .8);
  margin-bottom: .4rem
}

.contact-flow__step-title {
  font-size: 1.7rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 1.6rem
}

.contact-flow__step-text {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, .9);
  line-height: 1.7;
  margin: 0
}

.contact-form {
  padding: 10rem 0
}

@media (max-width:768px) {
  .contact-form {
    padding: 6rem 0
  }
}

.contact-form__inner {
  max-width: 84rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .contact-form__inner {
    padding: 0 2rem
  }
}

.contact-form__field {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  margin-bottom: 3.2rem
}

@media (max-width:768px) {
  .contact-form__field {
    flex-direction: column;
    gap: 1.2rem;
    margin-bottom: 2.4rem
  }
}

.contact-form__label {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  width: 20rem;
  padding-top: 1.4rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a
}

@media (max-width:768px) {
  .contact-form__label {
    width: 100%;
    padding-top: 0
  }
}

.contact-form__badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: .3rem 1rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  border-radius: 10rem
}

.contact-form__badge--required {
  background-color: #e6483d
}

.contact-form__badge--optional {
  background-color: #999
}

.contact-form__input,
.contact-form__select,
.contact-form__textarea {
  flex: 1;
  width: 100%;
  padding: 1.4rem 1.6rem;
  font-size: 1.5rem;
  font-family: inherit;
  color: #1a1a1a;
  background-color: #fff;
  border: .1rem solid #d8dee6;
  border-radius: .6rem
}

.contact-form__input::placeholder,
.contact-form__select::placeholder,
.contact-form__textarea::placeholder {
  color: #aab2bd
}

.contact-form__input:focus,
.contact-form__select:focus,
.contact-form__textarea:focus {
  outline: 0;
  border-color: #2563eb
}

.contact-form__select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.6rem center;
  background-size: 1.8rem;
  padding-right: 4.4rem
}

.contact-form__select:invalid {
  color: #aab2bd
}

.contact-form__textarea {
  min-height: 16rem;
  resize: vertical
}

.contact-form__agree {
  text-align: center;
  margin-bottom: 3.2rem
}

.contact-form__agree-label {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  font-size: 1.5rem;
  color: #1a1a1a;
  cursor: pointer
}

.contact-form__agree-label input {
  width: 1.8rem;
  height: 1.8rem
}

.contact-form__agree-label a {
  color: #1a1a1a;
  text-decoration: underline
}

.contact-form__agree-label a:hover {
  opacity: .7
}

.contact-form__submit {
  width: 100%;
  max-width: 55rem;
  margin: 0 auto 3.2rem
}

.contact-form__submit .wpcf7-submit {
  display: block;
  width: 100%;
  padding: 1.8rem;
  font-size: 1.7rem;
  font-family: inherit;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background-color: #2563eb;
  border: none;
  border-radius: .6rem;
  cursor: pointer;
  appearance: none;
  transition: opacity .2s
}

.contact-form__submit .wpcf7-submit:hover {
  opacity: .85
}

.contact-form__notes {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center
}

.contact-form__notes li {
  font-size: 1.2rem;
  color: #888;
  line-height: 1.9
}

.contact-form .contact-form__field .wpcf7-form-control-wrap {
  display: block;
  width: 100%
}

.thanks {
  padding: 14rem 0 12rem
}

@media (max-width:768px) {
  .thanks {
    padding: 10rem 0 8rem
  }
}

.thanks__inner {
  max-width: 84rem;
  margin: 0 auto;
  padding: 0 4rem;
  text-align: center
}

@media (max-width:768px) {
  .thanks__inner {
    padding: 0 2rem
  }
}

.thanks__content {
  margin-top: 5rem
}

@media (max-width:768px) {
  .thanks__content {
    margin-top: 3.2rem
  }
}

.thanks__text {
  font-size: 1.6rem;
  line-height: 2;
  color: #1a1a1a;
  margin: 0
}

.thanks__note {
  margin-top: 2rem;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #888
}

.thanks__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28rem;
  margin-top: 4rem;
  padding: 1.6rem 3.2rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  background-color: #2563eb;
  border-radius: .6rem;
  text-decoration: none
}

.thanks__button:hover {
  opacity: .8
}

.company-profile {
  padding: 10rem 0
}

@media (max-width:768px) {
  .company-profile {
    padding: 6rem 0
  }
}

.company-profile__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .company-profile__inner {
    padding: 0 2rem
  }
}

.company-profile .c-heading--left {
  margin-bottom: 4rem
}

.company-profile__table {
  margin: 0
}

.company-profile__row {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  padding: 3.2rem 0;
  border-bottom: .1rem solid #d8dee6
}

@media (max-width:768px) {
  .company-profile__row {
    flex-direction: column;
    gap: .8rem;
    padding: 2.4rem 0
  }
}

.company-profile__term {
  flex-shrink: 0;
  width: 20rem;
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a
}

@media (max-width:768px) {
  .company-profile__term {
    width: 100%
  }
}

.company-profile__desc {
  flex: 1;
  margin: 0;
  font-size: 1.5rem;
  color: #444;
  line-height: 1.8
}

.company-profile__list {
  margin: 0;
  padding-left: 2rem
}

.company-profile__list li:not(:last-child) {
  margin-bottom: .4rem
}

.company-why {
  padding: 10rem 0
}

@media (max-width:768px) {
  .company-why {
    padding: 6rem 0
  }
}

.company-why__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem
}

@media (max-width:768px) {
  .company-why__inner {
    padding: 0 2rem
  }
}

.company-why .c-heading--border {
  margin-bottom: 3.2rem
}

.company-why .c-heading--border .c-heading__label {
  display: block;
  background-color: #eef3ff;
  padding: 1.6rem 2.4rem;
  margin-bottom: 2.4rem
}

.company-why__body {
  display: flex;
  align-items: flex-start;
  gap: 8rem
}

@media (max-width:768px) {
  .company-why__body {
    flex-direction: column;
    gap: 4rem
  }
}

.company-why__content {
  flex: 1
}

.company-why__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: .1rem solid #e8edf5
}

.company-why__list-item {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 1.6rem 0;
  border-bottom: .1rem solid #e8edf5;
  font-size: 1.5rem;
  color: #1a1a1a;
  line-height: 1.6
}

.company-why__list-item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: .6rem;
  height: .6rem;
  background-color: #1a1a1a;
  border-radius: 50%;
  margin-top: .8rem
}

.company-why__image {
  flex-shrink: 0;
  width: 44%
}

@media (max-width:768px) {
  .company-why__image {
    width: 100%
  }
}

.company-why__image img {
  width: 100%;
  height: auto;
  display: block
}

.company-why .c-note {
  display: flex;
  flex-direction: column;
  gap: 2rem
}

.company-provide {
  background-color: #f7fafc;
  padding: 10rem 0
}

@media (max-width:768px) {
  .company-provide {
    padding: 6rem 0
  }
}

.company-provide__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem
}

@media (max-width:768px) {
  .company-provide__inner {
    padding: 0 2rem
  }
}

.company-provide .c-heading--border {
  margin-bottom: 0
}

.company-provide .c-heading--border .c-heading__label {
  display: block;
  background-color: #eef3ff;
  padding: 1.6rem 2.4rem;
  margin-bottom: 2.4rem
}

.company-provide .c-card01-list--3col {
  grid-template-columns: repeat(2, 1fr)
}

@media (max-width:768px) {
  .company-provide .c-card01-list--3col {
    grid-template-columns: 1fr
  }
}

.company-provide .c-card01 {
  border: .1rem solid #e8edf5
}

.company-support {
  background-color: #2563eb;
  background-image: url(../img/top/service-bg.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .company-support {
    padding: 6rem 0
  }
}

.company-support__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .company-support__inner {
    padding: 0 2rem
  }
}

.company-support .c-heading--left {
  margin-bottom: 4rem
}

.company-support .c-heading--left .c-heading__label {
  color: rgba(255, 255, 255, .7)
}

.company-support .c-heading--left .c-heading__title {
  color: #fff
}

.company-support__box {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #fff;
  overflow: hidden
}

@media (max-width:768px) {
  .company-support__box {
    flex-direction: column
  }
}

.company-support__step {
  flex: 1;
  padding: 3.2rem 2.4rem;
  border-right: .1rem solid #e8edf5
}

.company-support__step:last-child {
  border-right: none
}

@media (max-width:768px) {
  .company-support__step {
    border-right: none;
    border-bottom: .1rem solid #e8edf5
  }

  .company-support__step:last-child {
    border-bottom: none
  }
}

.company-support__step-label {
  font-size: 1.3rem;
  font-weight: 700;
  color: #999;
  letter-spacing: .08em;
  margin-bottom: 1.2rem
}

.company-support__step-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  margin-bottom: 1.2rem
}

.company-support__step-text {
  font-size: 1.3rem;
  color: #555;
  line-height: 1.7;
  margin-bottom: 2rem
}

.company-support__step-image {
  margin: 0;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: .8rem
}

.company-support__step-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.company-track {
  padding: 10rem 0
}

@media (max-width:768px) {
  .company-track {
    padding: 6rem 0
  }
}

.company-track__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .company-track__inner {
    padding: 0 2rem
  }
}

.company-track .c-heading--left {
  margin-bottom: 4rem
}

.company-track__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  list-style: none;
  margin: 0 0 3.2rem;
  padding: 0
}

@media (max-width:768px) {
  .company-track__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem
  }
}

.company-track__item {
  text-align: center;
  background-color: #eef3ff;
  border-radius: 1.2rem;
  padding: 3.2rem 1.6rem
}

.company-track__label {
  font-size: 1.2rem;
  font-weight: 700;
  color: #a8b8d8;
  letter-spacing: .1em;
  margin-bottom: 1.6rem
}

.company-track__num {
  font-size: 3.2rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1;
  margin-bottom: 1.2rem
}

@media (max-width:768px) {
  .company-track__num {
    font-size: 2.6rem
  }
}

.company-track__unit {
  font-size: 1.4rem;
  font-weight: 700;
  margin-left: .2rem
}

.company-track__caption {
  font-size: 1.3rem;
  color: #666
}

.company-track__notes {
  border-left: .4rem solid #2563eb;
  background-color: #f0f5ff;
  border-radius: 0 .8rem .8rem 0;
  padding: 2.4rem 3.2rem
}

.company-track__notes-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: #888;
  margin-bottom: 1.2rem
}

.company-track__notes-list {
  list-style: none;
  margin: 0;
  padding: 0
}

.company-track__notes-list li {
  position: relative;
  padding-left: 1.6rem;
  font-size: 1.4rem;
  color: #555;
  line-height: 1.9
}

.company-track__notes-list li::before {
  content: "・";
  position: absolute;
  left: 0
}

.company-privacy {
  background-color: #f5f6f8;
  background-image: url(../img/first/comparison-bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 10rem 0
}

@media (max-width:768px) {
  .company-privacy {
    padding: 6rem 0
  }
}

.company-privacy__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .company-privacy__inner {
    padding: 0 2rem
  }
}

.company-privacy .c-heading--left {
  margin-bottom: 4rem
}

.company-privacy__list {
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #fff;
  border-radius: 1.2rem;
  overflow: hidden
}

.company-privacy__item {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding: 2rem 3.2rem;
  border-bottom: .1rem solid #e8edf5
}

.company-privacy__item:last-child {
  border-bottom: none
}

.company-privacy__icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: url(../img/common/icon-check-blue.svg) center/contain no-repeat
}

.company-privacy__text {
  font-size: 1.5rem;
  color: #1a1a1a;
  margin: 0
}

.company-first {
  background-color: #1e3a5f;
  padding: 10rem 0
}

@media (max-width:768px) {
  .company-first {
    padding: 6rem 0
  }
}

.company-first__inner {
  max-width: 114rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .company-first__inner {
    padding: 0 2rem
  }
}

.company-first .c-heading--left {
  margin-bottom: 4rem
}

.company-first .c-heading--left .c-heading__label {
  color: #7ba3d0
}

.company-first .c-heading--left .c-heading__title {
  color: #fff
}

.privacy-policy {
  padding: 8rem 0 12rem
}

@media (max-width:768px) {
  .privacy-policy {
    padding: 5rem 0 8rem
  }
}

.privacy-policy__inner {
  max-width: 96rem;
  margin: 0 auto;
  padding: 0 4rem
}

@media (max-width:768px) {
  .privacy-policy__inner {
    padding: 0 2.4rem
  }
}

.privacy-policy__lead {
  font-size: 1.5rem;
  line-height: 1.9;
  color: #1a1a1a;
  margin-bottom: 2.4rem
}

.privacy-policy__date {
  font-size: 1.3rem;
  color: #888;
  line-height: 1.8;
  margin-bottom: 6rem;
  padding-bottom: 4rem;
  border-bottom: .1rem solid #e8edf5
}

.privacy-policy__heading {
  font-size: 2.2rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.5;
  padding-left: 1.6rem;
  border-left: .5rem solid #2563eb;
  margin: 6rem 0 3.2rem;
  scroll-margin-top: 10rem
}

.privacy-policy__heading:first-of-type {
  margin-top: 0
}

@media (max-width:768px) {
  .privacy-policy__heading {
    font-size: 1.9rem;
    margin: 5rem 0 2.4rem
  }
}

.privacy-policy__article {
  margin-bottom: 4rem
}

.privacy-policy__article:last-child {
  margin-bottom: 0
}

.privacy-policy__article-title {
  font-size: 1.7rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.6;
  margin-bottom: 1.6rem
}

@media (max-width:768px) {
  .privacy-policy__article-title {
    font-size: 1.6rem
  }
}

.privacy-policy__text {
  font-size: 1.6rem;
  line-height: 1.9;
  color: #333;
  margin-bottom: 1.6rem
}

.privacy-policy__text:last-child {
  margin-bottom: 0
}

.privacy-policy__list {
  margin: 0 0 1.6rem;
  padding-left: .4rem;
  list-style: none
}

.privacy-policy__list li {
  position: relative;
  padding-left: 1.8rem;
  font-size: 1.6rem;
  line-height: 1.9;
  color: #333;
  margin-bottom: .8rem
}

.privacy-policy__list li::before {
  content: "";
  position: absolute;
  left: .2rem;
  top: 1rem;
  width: .6rem;
  height: .6rem;
  background-color: #2563eb;
  border-radius: 50%
}

.privacy-policy__list li:last-child {
  margin-bottom: 0
}

.privacy-policy__business-box {
  background-color: #f5f7fb;
  border-radius: 1.2rem;
  padding: 3.2rem 4rem
}

@media (max-width:768px) {
  .privacy-policy__business-box {
    padding: 2.4rem 2rem
  }
}

.privacy-policy__business-table {
  margin: 0
}

.privacy-policy__business-row {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  padding: 1.6rem 0;
  border-bottom: .1rem solid #e0e5ee
}

.privacy-policy__business-row:first-child {
  padding-top: 0
}

.privacy-policy__business-row:last-child {
  border-bottom: none;
  padding-bottom: 0
}

@media (max-width:768px) {
  .privacy-policy__business-row {
    flex-direction: column;
    gap: .4rem
  }
}

.privacy-policy__business-row dt {
  flex-shrink: 0;
  width: 12rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a
}

@media (max-width:768px) {
  .privacy-policy__business-row dt {
    width: 100%
  }
}

.privacy-policy__business-row dd {
  flex: 1;
  margin: 0;
  font-size: 1.5rem;
  color: #444;
  line-height: 1.8
}

.privacy-policy__business-list {
  margin: 0;
  padding-left: 2rem
}

.privacy-policy__business-list li:not(:last-child) {
  margin-bottom: .4rem
}

.u-pc-only {
  display: inline
}

@media (max-width:768px) {
  .u-pc-only {
    display: none
  }
}

/*# sourceMappingURL=style.css.map */