@charset "UTF-8";
html {
  width: 100%;
  height: 100%;
}

@media (max-width: 1180px) {
  html {
    font-size: 16px;
    font-size: 1.1851851852vw;
  }
}
@media (max-width: 767px) {
  html {
    font-size: 16px;
    font-size: 4.2666666667vw;
  }
}
body {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  overflow-x: hidden;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
body.no_scroll {
  overflow: hidden;
  position: relative;
}

a {
  cursor: pointer;
  text-decoration: none;
  outline: none;
  color: #000;
}

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

.u-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
}
/* —————————————————
  ヘッダー header
  —————————————————*/
.l-header {
  width: 100%;
  height: 11rem;
  margin: 0 auto;
  transition: 0.3s ease all;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}
.l-header .l-header__logo {
  transition: opacity 0.3s ease;
  position: relative;
  z-index: 9;
}
.l-header .l-header__logo:hover {
  opacity: 0.7;
}
.l-header .l-header__inner {
  width: calc(100% - 48px);
  max-width: 1140px;
  margin: 0 auto;
  transition: 0.5s;
  height: 100%;
  padding-top: 4.25rem;
  transition: 0.3s ease;
}

.l-header__list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  z-index: 9;
  margin-top: 3rem;
  gap: 3.75rem;
}
.l-header__list li a {
  font-size: 1.375rem;
  color: #727171;
  position: relative;
  display: block;
  text-decoration: none;
  font-weight: normal;
  transition: opacity 0.3s ease;
  font-weight: 900;
  font-feature-settings: "palt";
}
.l-header__list li a:hover {
  color: #0A51A1;
}
.l-header__list li.nav-contact {
  position: absolute;
  top: 0;
  right: 0;
}
.l-header__list li.nav-contact a {
  width: 168px;
  height: 114px;
  background-color: #0A51A1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  gap: 10px;
  color: #fff;
  font-size: 0.9375rem;
  transition: 0.3s ease;
}
.l-header__list li.nav-contact a:hover {
  opacity: 0.7;
}

.c-hamburger {
  display: none;
}

.l-header.fixed {
  background-color: #fff;
  position: fixed;
  z-index: 999999;
}
.l-header.fixed .l-header__inner {
  padding-top: 1.5rem;
}

@media screen and (max-width: 768px) {
  .l-header {
    height: 80px;
    padding: 0;
  }
  .l-header .l-header__inner {
    padding-top: 30px;
  }
  .l-header .l-header__logo {
    margin-top: 0;
    width: 80%;
    max-width: 400px;
    line-height: 1;
    position: relative;
    z-index: 9999999;
  }
  .l-header .l-header__logo svg {
    width: 30px;
  }
  .l-header .l-header__logo svg path {
    fill: #026D33;
  }
  .l-header.fixed .l-header__inner {
    padding-top: 30px;
  }
  .l-header__block {
    z-index: 999;
    width: 100%;
    padding: 90px 0 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    background-color: #fff;
  }
  .l-header__block .l-header__list {
    display: block;
    padding-bottom: 0;
    padding: 0 35px;
    border-top: 0.5px solid #000;
    margin-top: 0;
  }
  .l-header__block .l-header__list li {
    border-bottom: 0.5px solid #000000;
  }
  .l-header__block .l-header__list li a {
    font-size: 1.125rem;
    line-height: 1.44;
    font-weight: bold;
    padding: 1.25rem 0;
    color: #000;
    -webkit-text-stroke: 0.5px #000000;
  }
  .l-header__block .l-header__list li.nav-contact {
    position: static;
  }
  .l-header__block .l-header__list li.nav-contact img {
    display: none;
  }
  .l-header__block .l-header__list li.nav-contact a {
    width: auto;
    height: auto;
    margin: auto;
    display: block;
    padding: 1.25rem 0;
    background-color: #fff;
    color: #000;
    -webkit-text-stroke: 0.5px #000000;
  }
  .l-header__block .l-header__list .nav__pc {
    display: none;
  }
  .l-header__block .l-header__list .nav__sp {
    display: inline-block;
  }
  .l-header__block .l-footer {
    margin-top: 2.5rem;
    padding-bottom: 80px;
  }
  .c-hamburger {
    display: inline-block;
    transition: all 0.2s;
    box-sizing: border-box;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
    z-index: 99999;
    display: block;
  }
  .c-hamburger span {
    display: inline-block;
    transition: all 0.2s;
    box-sizing: border-box;
    position: absolute;
    height: 2px;
    background-color: #0A51A1;
    border-radius: 4px;
    width: 22px;
    left: 15px;
  }
  .c-hamburger span:nth-of-type(1) {
    top: 24px;
  }
  .c-hamburger span:nth-of-type(2) {
    top: 30px;
  }
  .c-hamburger.is-active span:nth-of-type(1) {
    -ms-transform: translateY(6px) rotate(-45deg);
        transform: translateY(6px) rotate(-45deg);
  }
  .c-hamburger.is-active span:nth-of-type(2) {
    -ms-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg);
  }
}
/* —————————————————
  フッター footer
  —————————————————*/
.l-footer {
  background-color: #0A51A1;
  padding: 56px 0 70px;
}
.l-footer .l-footer__logo {
  margin-bottom: 30px;
}
.l-footer .c-link a {
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  transition: 0.3s ease;
}
.l-footer .c-link a:hover {
  opacity: 0.8;
}

.l-footer__inner {
  width: calc(100% - 36px);
  max-width: 1140px;
  margin: 0 auto;
}

.l-footer__address {
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  gap: 40px;
  margin-bottom: 10px;
}
.l-footer__address address {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  font-feature-settings: "palt";
}
.l-footer__address .c-map a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  width: 82px;
  height: 32px;
  border: 1px solid #fff;
  color: #fff;
  border-radius: 40px;
  transition: 0.3s ease;
  font-size: 1rem;
  font-weight: 700;
}
.l-footer__address .c-map a:hover {
  background-color: #fff;
  color: #0A51A1;
}

.l-footer__bottom {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  margin-top: 14px;
}

.c-copyLight {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .l-footer {
    padding: 40px 0 25px;
  }
  .l-footer .l-footer__logo {
    margin-bottom: 16px;
  }
  .l-footer .c-link {
    line-height: 1.2;
  }
  .l-footer .c-link a {
    color: #fff;
    font-weight: 700;
    font-size: 0.625rem;
  }
  .l-footer__inner {
    width: calc(100% - 48px);
    max-width: 1140px;
    margin: 0 auto;
  }
  .l-footer__address {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 22px;
    margin-bottom: 10px;
  }
  .l-footer__address address {
    width: 100%;
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.75;
    font-feature-settings: "palt";
  }
  .l-footer__address .c-link {
    max-width: 72px;
  }
  .l-footer__address .c-map a {
    width: 60px;
    height: 30px;
    font-size: 0.75rem;
  }
  .c-copyLight {
    font-size: min(1.466vw, 0.6875rem);
  }
  .l-footer__bottom .c-link a {
    font-size: 0.625rem;
    display: block;
  }
}
/* —————————————————
  共通項目
  —————————————————*/
.c-ttl {
  font-size: 2.5rem;
  color: #0A51A1;
  font-weight: 700;
  -webkit-text-stroke: 0.4px #0A51A1;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 1.625;
}
.c-ttl .sm {
  font-size: 1.875rem;
  display: block;
  margin-top: 10px;
}
.c-ttl .icon {
  display: block;
  text-align: center;
  margin-bottom: 18px;
}

.c-ttl-box {
  background-color: #fff;
  border: 1.2px solid #0A51A1;
  text-align: center;
  padding: 28px 0;
  margin-bottom: 5rem;
  font-size: 2.5rem;
  font-weight: 700;
  color: #0A51A1;
  -webkit-text-stroke: 0.4px #0A51A1;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 1.625;
}

.c-ttl-b {
  color: #0A51A1;
  font-size: 1.875rem;
  font-weight: 700;
  -webkit-text-stroke: 0.4px #0A51A1;
}

.u-center {
  text-align: center;
}

.c-img-bg {
  position: relative;
}
.c-img-bg .bg {
  width: 100%;
  height: 360px;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-img-bg .text-en {
  position: absolute;
  bottom: 0;
  left: calc((100% - 1150px) / 2);
}

.c-desc {
  font-size: 1.3125rem;
  font-weight: 700;
  font-feature-settings: "palt";
  line-height: 2.2;
}

.c-lead {
  font-size: 1.875rem;
  text-align: center;
  font-weight: 700;
  -webkit-text-stroke: 0.4px #000000;
}

.c-en {
  color: #6B6B6B;
  font-weight: 700;
  font-size: 1.125rem;
  -webkit-text-stroke: 0.4px #6B6B6B;
}

.c-list li {
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 2.4;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
.c-list li::before {
  content: "●";
  margin-right: 4px;
}

@media screen and (max-width: 767px) {
  .c-ttl {
    font-size: 1.25rem;
  }
  .c-ttl .sm {
    font-size: 1.875rem;
    display: block;
    margin-top: 10px;
  }
  .c-ttl .icon {
    display: block;
    text-align: center;
    margin-bottom: 18px;
  }
  .c-ttl-box {
    font-size: 1.1875rem;
    text-align: center;
    padding: 1.125rem 0 1.25rem;
    margin-bottom: 2.25rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .c-desc {
    font-size: 0.78125rem;
    letter-spacing: 0.02em;
  }
  .c-img-bg .bg {
    height: 7.8125rem;
  }
  .c-img-bg .text-en {
    position: absolute;
    bottom: 0;
    width: calc(100% - 3.75rem);
    max-width: 750px;
    left: 30px;
  }
  .c-lead {
    font-size: 1rem;
    -webkit-text-stroke: initial;
    font-feature-settings: "palt";
  }
  .c-en {
    font-size: 0.625rem;
    -webkit-text-stroke: initial;
  }
}
.u-color {
  color: #0A51A1;
}

/* ------ animeation ------ */
.js-fade {
  opacity: 0;
  transition: 1s ease;
}

.js-fade.is-active {
  opacity: 1;
}

.js-fadeUp {
  opacity: 0;
  -ms-transform: translateY(40px);
      transform: translateY(40px);
  transition: 1s ease;
}

.js-fadeUp.is-active {
  opacity: 1;
  -ms-transform: translateY(0);
      transform: translateY(0);
}

.js-fadeR {
  opacity: 0;
  -ms-transform: translateX(40px);
      transform: translateX(40px);
  transition: 0.6s cubic-bezier(0, 0.7, 0.22, 1);
}

.js-fadeR.is-active {
  opacity: 1;
  -ms-transform: translateX(0);
      transform: translateX(0);
}

.js-fadeL {
  opacity: 0;
  -ms-transform: translateX(-40px);
      transform: translateX(-40px);
  transition: 0.6s cubic-bezier(0, 0.7, 0.22, 1);
}

.js-fadeL.is-active {
  opacity: 1;
  -ms-transform: translateX(0);
      transform: translateX(0);
}

.js-fadeDown {
  opacity: 0;
  -ms-transform: translateY(-40px);
      transform: translateY(-40px);
  transition: 0.6s cubic-bezier(0, 0.7, 0.22, 1);
}

.js-fadeDown.is-active {
  opacity: 1;
  -ms-transform: translateY(0);
      transform: translateY(0);
}

/* —————————————————
  トップページ home
  —————————————————*/
.l-wrap {
  width: calc(100% - 56px);
  max-width: 1160px;
  margin: 0 auto;
}

.l-main {
  margin-top: 14.0625rem;
}

body.home .l-main {
  margin-top: 0;
  margin-bottom: 7.5rem;
}

/* ------ mv ------ */
.p-mv {
  width: 100%;
  position: relative;
  padding: 16.875rem 0 7.5rem;
  background-color: #F8F9F1;
  overflow: hidden;
}

.p-mv__box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin: 0 auto;
  position: relative;
  z-index: 9;
  width: calc(100% - 48px);
  max-width: 1240px;
  height: 61.25rem;
}
.p-mv__box .p-mv__txt {
  font-weight: 700;
  position: absolute;
  top: 42%;
  left: 3.125rem;
  font-feature-settings: "palt";
}
.p-mv__box .p-mv__txt .p-mv__ttl {
  color: #0A51A1;
  font-size: 2.5rem;
  -webkit-text-stroke: 0.4px #0A51A1;
  letter-spacing: 0.15em;
}
.p-mv__box .p-mv__txt .p-mv__subTtl {
  font-size: 1.25rem;
  letter-spacing: 0.15em;
}

/* - illust - */
.p-mv__box .c-item-ill {
  position: absolute;
}
.p-mv__box .c-item-ill.item_1 {
  width: 13.75rem;
  height: 13.75rem;
  top: 7.5rem;
  left: 1.25rem;
}
.p-mv__box .c-item-ill.item_2 {
  width: 8.75rem;
  height: 16.625rem;
  top: 1.5rem;
  left: 15.875rem;
}
.p-mv__box .c-item-ill.item_3 {
  width: 7.5rem;
  height: 17.1875rem;
  top: 4.625rem;
  left: 25.625rem;
}
.p-mv__box .c-item-ill.item_4 {
  width: 12.875rem;
  height: 10.5rem;
  top: 1.25rem;
  left: 33.625rem;
}
.p-mv__box .c-item-ill.item_5 {
  width: 6.25rem;
  height: 3.875rem;
  top: 11.25rem;
  left: 36.25rem;
}
.p-mv__box .c-item-ill.item_6 {
  width: 8rem;
  height: 5.5rem;
  top: 16.875rem;
  left: 38.75rem;
}
.p-mv__box .c-item-ill.item_7 {
  width: 18.3125rem;
  height: 20.75rem;
  top: 5rem;
  right: 11.25rem;
}
.p-mv__box .c-item-ill.item_8 {
  width: 6rem;
  height: 12.6875rem;
  top: 3rem;
  right: 4.375rem;
}
.p-mv__box .c-item-ill.item_9 {
  width: 15.1875rem;
  height: 15rem;
  top: 19.375rem;
  right: 0;
}
.p-mv__box .c-item-ill.item_10 {
  width: 6.375rem;
  height: 4.375rem;
  top: 36.25rem;
  right: 0;
}
.p-mv__box .c-item-ill.item_11 {
  width: 16.625rem;
  height: 20.375rem;
  bottom: 1.875rem;
  left: 1.25rem;
}
.p-mv__box .c-item-ill.item_12 {
  width: 4.75rem;
  height: 5.375rem;
  bottom: 0.625rem;
  left: 6.25rem;
}
.p-mv__box .c-item-ill.item_13 {
  width: 12.5rem;
  height: 12.5rem;
  bottom: 0.875rem;
  left: 21.875rem;
  z-index: 1;
}
.p-mv__box .c-item-ill.item_14 {
  width: 60.375rem;
  height: 16.375rem;
  bottom: 6.75rem;
  left: 7.75rem;
}
.p-mv__box .c-item-ill.item_15 {
  width: 7.0625rem;
  height: 11.75rem;
  bottom: 15.875rem;
  left: 53.125rem;
}
.p-mv__box .c-item-ill.item_16 {
  width: 10rem;
  height: 9.375rem;
  bottom: 11.875rem;
  left: 32.5rem;
}
.p-mv__box .c-item-ill.item_17 {
  width: 3.8125rem;
  height: 2.75rem;
  bottom: 5.875rem;
  left: 37.25rem;
}
.p-mv__box .c-item-ill.item_18 {
  width: 8rem;
  height: 4.875rem;
  bottom: -0.375rem;
  right: 25.625rem;
}
.p-mv__box .c-item-ill.item_19 {
  width: 5.875rem;
  height: 8.0625rem;
  bottom: 1.75rem;
  right: 16.875rem;
}
.p-mv__box .c-item-ill.item_20 {
  width: 8.75rem;
  height: 5rem;
  bottom: 2rem;
  right: 5.625rem;
}
.p-mv__box .c-item-ill.item_21 {
  width: 5.3125rem;
  height: 2.75rem;
  bottom: 18.5rem;
  left: 20.25rem;
}
.p-mv__box .c-item-ill.item_22 {
  width: 9.375rem;
  height: 5.375rem;
  bottom: 8.375rem;
  right: 2.875rem;
}
.p-mv__box .c-item-ill.item_23 {
  width: 2.625rem;
  height: 4.625rem;
  bottom: 22.25rem;
  right: 27.75rem;
}

@media screen and (max-width: 767px) {
  .l-main {
    margin-top: 8.125rem;
  }
  /* ------ mv ------ */
  .p-mv {
    width: 100%;
    position: relative;
    padding: 5rem 0 3.5rem;
    background-color: #F8F9F1;
  }
  .p-mv__box {
    height: 480px;
    height: 30rem;
    width: 100%;
  }
  .p-mv__box .p-mv__txt {
    font-weight: 700;
    position: absolute;
    top: 42%;
    left: 1.5rem;
  }
  .p-mv__box .p-mv__txt .p-mv__ttl {
    font-size: 1.0625rem;
    letter-spacing: 0.1em;
  }
  .p-mv__box .p-mv__txt .p-mv__subTtl {
    font-size: 0.75rem;
    margin-top: 5px;
    letter-spacing: 0.04em;
    line-height: 1.6;
    color: #5F646B;
  }
  /* - illust - */
  .p-mv__box .c-item-ill {
    position: absolute;
  }
  .p-mv__box .c-item-ill:nth-child(even) {
    transition: 0.2s;
  }
  .p-mv__box .c-item-ill.item_1 {
    width: 4.25rem;
    height: 5.3125rem;
    top: 5.875rem;
    left: 1.75rem;
  }
  .p-mv__box .c-item-ill.item_2 {
    width: 3.25rem;
    height: 6.125rem;
    top: 10.25rem;
    left: initial;
    right: 2.75rem;
  }
  .p-mv__box .c-item-ill.item_3 {
    width: 2.8125rem;
    height: 6.3125rem;
    top: 13.75rem;
    left: initial;
    right: 0.625rem;
  }
  .p-mv__box .c-item-ill.item_4 {
    width: 4.8125rem;
    height: 3.9375rem;
    top: 2.125rem;
    left: 1.875rem;
  }
  .p-mv__box .c-item-ill.item_5 {
    width: 2.25rem;
    height: 1.625rem;
    top: 8.75rem;
    left: 6.875rem;
  }
  .p-mv__box .c-item-ill.item_6 {
    width: 3.0625rem;
    height: 2.125rem;
    top: 8.75rem;
    left: 44%;
  }
  .p-mv__box .c-item-ill.item_7 {
    width: 6.9375rem;
    height: 7.8125rem;
    top: 2rem;
    right: 26%;
  }
  .p-mv__box .c-item-ill.item_8 {
    width: 2.25rem;
    height: 4.75rem;
    top: 3rem;
    right: initial;
    left: 6.875rem;
  }
  .p-mv__box .c-item-ill.item_9 {
    width: 5.75rem;
    height: 5.625rem;
    top: 3.75rem;
    right: 0.625rem;
  }
  .p-mv__box .c-item-ill.item_10 {
    width: 2.5rem;
    height: 1.6875rem;
    top: initial;
    right: initial;
    bottom: 12%;
    left: 0.625rem;
  }
  .p-mv__box .c-item-ill.item_11 {
    display: none;
  }
  .p-mv__box .c-item-ill.item_12 {
    width: 1.8125rem;
    height: 2.0625rem;
    bottom: 26%;
    left: 4.75rem;
  }
  .p-mv__box .c-item-ill.item_13 {
    width: 5rem;
    height: 5rem;
    bottom: 0;
    left: 3.375rem;
    z-index: 1;
  }
  .p-mv__box .c-item-ill.item_14 {
    width: 24rem;
    height: 6.4375rem;
    bottom: 8.8%;
    left: -8%;
  }
  .p-mv__box .c-item-ill.item_15 {
    width: 2.8125rem;
    height: 4.6875rem;
    bottom: 20%;
    left: initial;
    right: 4.625rem;
  }
  .p-mv__box .c-item-ill.item_16 {
    width: 4rem;
    height: 3.75rem;
    bottom: 15%;
    left: 7.75rem;
  }
  .p-mv__box .c-item-ill.item_17 {
    width: 1.5rem;
    height: 1.125rem;
    bottom: 8%;
    left: 9.625rem;
  }
  .p-mv__box .c-item-ill.item_18 {
    width: 3.125rem;
    height: 1.875rem;
    bottom: 0;
    right: initial;
    left: 52%;
  }
  .p-mv__box .c-item-ill.item_19 {
    width: 2.3125rem;
    height: 3.1875rem;
    bottom: 0.625rem;
    right: 19%;
  }
  .p-mv__box .c-item-ill.item_20 {
    width: 3.5rem;
    height: 2rem;
    bottom: 1.75rem;
    right: 1.25rem;
  }
  .p-mv__box .c-item-ill.item_21 {
    width: 2rem;
    height: 1.625rem;
    bottom: 24%;
    left: 12%;
  }
  .p-mv__box .c-item-ill.item_22 {
    width: 3.4rem;
    height: 2.1rem;
    bottom: 12%;
    right: 1.2%;
  }
  .p-mv__box .c-item-ill.item_22 img {
    width: 100%;
  }
  .p-mv__box .c-item-ill.item_23 {
    width: 1.0625rem;
    height: 2.125rem;
    bottom: 27%;
    right: 36.8%;
  }
}
/* ------ work ------ */
.p-top-work {
  padding-bottom: 12.5rem;
}
.p-top-work .parallax {
  background-image: url("../img/para_bg_1.jpg");
  /* 背景に使用する画像を設定 */
  background-size: cover;
  /* 背景画像を要素のサイズに合わせてカバーするように調整 */
  background-attachment: fixed;
  /* 背景画像をスクロールに対して固定 */
  background-position: bottom;
  /* 背景画像を中央に配置 */
  height: 300px;
  /* 要素の高さを設定。必要に応じて調整 */
}
.p-top-work .c-img-bg {
  margin-bottom: 9rem;
}
.p-top-work .c-ttl {
  margin-bottom: 88px;
}
.p-top-work .c-f-block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: end;
      align-items: flex-end;
  margin-bottom: 10rem;
}
.p-top-work .c-f-block .block__text {
  width: 60%;
  padding-bottom: 80px;
}
.p-top-work .c-f-block .block__img {
  width: 34%;
}
.p-top-work .p-work__list {
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
}
.p-top-work .p-work__list li {
  width: 25%;
  height: 17.25rem;
  position: relative;
  font-size: 1.875rem;
  font-weight: 700;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center;
  line-height: 1.33;
  padding-top: 1.75rem;
}
.p-top-work .p-work__list li:nth-child(1) {
  background-color: #A9E5FF;
}
.p-top-work .p-work__list li:nth-child(2) {
  background-color: #FFCCBD;
  transition-delay: 0.1s;
}
.p-top-work .p-work__list li:nth-child(3) {
  background-color: #5FCCFF;
  transition-delay: 0.2s;
}
.p-top-work .p-work__list li:nth-child(4) {
  background-color: #F6D84C;
  transition-delay: 0.3s;
}
.p-top-work .p-work__list li::before {
  content: "";
  display: block;
  width: 50px;
  height: 100px;
  background: url("../img/ill_23.svg") no-repeat top left/100%;
  position: absolute;
  top: -35px;
  left: 55%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .p-top-work {
    padding-bottom: 6.25rem;
  }
  .p-top-work .parallax {
    background-attachment: initial;
    height: 7.8125rem;
  }
  .p-top-work .c-img-bg {
    margin-bottom: 3.125rem;
  }
  .p-top-work .c-ttl {
    margin-bottom: 1.875rem;
  }
  .p-top-work .c-f-block {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 2.75rem;
    -ms-flex-pack: center;
        justify-content: center;
    gap: 1.5rem;
  }
  .p-top-work .c-f-block .block__text {
    width: 100%;
    padding-bottom: 0;
  }
  .p-top-work .c-f-block .block__img {
    width: 70%;
  }
  .p-top-work .p-work__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.125rem 0.625rem;
  }
  .p-top-work .p-work__list li {
    width: calc(50% - 0.3125rem);
    height: 7.125rem;
    font-size: 0.9375rem;
    padding-top: 1.25rem;
  }
  .p-top-work .p-work__list li:nth-child(1) {
    background-color: #A9E5FF;
  }
  .p-top-work .p-work__list li:nth-child(2) {
    background-color: #FFCCBD;
  }
  .p-top-work .p-work__list li:nth-child(3) {
    background-color: #5FCCFF;
  }
  .p-top-work .p-work__list li:nth-child(4) {
    background-color: #F6D84C;
  }
  .p-top-work .p-work__list li::before {
    width: 25px;
    height: 50px;
    top: -20px;
  }
}
/* ------ top about ------ */
.p-top-about {
  background-color: #F8F9F1;
}
.p-top-about .p-top-about__bg {
  background: url("../img/top_bg_1.png") no-repeat bottom center/cover;
  padding: 8.125rem 0 15rem;
}
.p-top-about .c-ttl {
  color: #000;
  -webkit-text-stroke: 0.4px #000;
  margin-bottom: 6.25rem;
}
.p-top-about picture {
  max-width: 1080px;
}
.p-top-about .c-lead {
  margin-top: 5rem;
}

.p-top-about__block {
  background-color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 1.25rem 6.25rem;
  gap: 3.125rem;
  min-height: 8.75rem;
}
.p-top-about__block:not(:last-child) {
  margin-bottom: 1.5rem;
}
.p-top-about__block .ttl {
  font-size: 1.5625rem;
  width: 28%;
  max-width: 254px;
  font-weight: 700;
  text-align: center;
  -webkit-text-stroke: 0.4px #000;
  font-feature-settings: "palt";
  padding: 10px 0;
}
.p-top-about__block .c-desc {
  line-height: 1.7;
}
.p-top-about__block.block_1 .ttl {
  background-color: #FFCCBD;
}
.p-top-about__block.block_2 .ttl {
  background-color: #5FCCFF;
}
.p-top-about__block.block_3 .ttl {
  background-color: #F6D84C;
}

.p-top-about__bottom {
  padding: 9.375rem 0;
}
.p-top-about__bottom .l-wrap {
  max-width: 1100px;
}
.p-top-about__bottom .c-grid {
  display: grid;
  grid-template-columns: 46% 54% 46%;
  grid-template-rows: 45% auto auto;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  padding: 0 1.25rem;
  margin-bottom: 5.625rem;
}
.p-top-about__bottom .item-ttl {
  grid-area: 1/1/2/2;
  padding: 3.125rem 0;
}
.p-top-about__bottom .item-ttl .c-ttl {
  font-size: 2.8125rem;
  margin-bottom: 0;
  -webkit-text-stroke: 1px #000;
}
.p-top-about__bottom .item-fig {
  grid-area: 1/2/3/3;
}
.p-top-about__bottom .item-imgList {
  grid-area: 2/1/3/2;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  padding-left: 1.25rem;
}
.p-top-about__bottom .item-imgList img:nth-child(2) {
  -ms-transform: translateX(40px);
      transform: translateX(40px);
}
.p-top-about__bottom .c-desc {
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .p-top-about .p-top-about__bg {
    background: url("../img/top_bg_1_sp.png") no-repeat bottom center/cover;
    padding: 3.75rem 0 5rem;
  }
  .p-top-about .c-ttl {
    margin-bottom: 1.25rem;
    font-size: 1rem;
  }
  .p-top-about .c-ttl .icon {
    max-width: 3.75rem;
    margin: 0 auto 8px;
    -ms-transform: translateX(10px);
        transform: translateX(10px);
  }
  .p-top-about .c-lead {
    margin-top: 1.25rem;
  }
  .p-top-about__block {
    background: none;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-direction: column;
        flex-direction: column;
    padding: 0;
    gap: 0;
    min-height: auto;
  }
  .p-top-about__block .ttl {
    font-size: 0.9375rem;
    width: 43%;
    max-width: 254px;
    font-weight: 700;
    text-align: center;
    font-feature-settings: "palt";
    padding: 4px 0;
  }
  .p-top-about__block .c-desc {
    width: 100%;
    line-height: 1.7;
    background-color: #fff;
    padding: 1.25rem 1rem;
    border: 1px solid;
  }
  .p-top-about__block.block_1 .c-desc {
    border-color: #FFCCBD;
  }
  .p-top-about__block.block_2 .c-desc {
    border-color: #5FCCFF;
  }
  .p-top-about__block.block_3 .c-desc {
    border-color: #F6D84C;
  }
  .p-top-about__bottom {
    padding: 3.75rem 0;
  }
  .p-top-about__bottom .c-grid {
    display: block;
    grid-template-columns: 46% 54% 46%;
    grid-template-rows: 45% auto auto;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    padding: 0 1.25rem;
    margin-bottom: 1.25rem;
  }
  .p-top-about__bottom .item-ttl {
    padding: 0;
    margin-bottom: 20px;
  }
  .p-top-about__bottom .item-ttl .c-ttl {
    font-size: 1.25rem;
    text-align: center;
    margin-bottom: 0;
    -webkit-text-stroke: 0.4px;
  }
  .p-top-about__bottom .item-imgList {
    grid-area: 2/1/3/2;
    margin-top: 1.25rem;
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    padding-left: 0;
    gap: 1.875rem;
  }
  .p-top-about__bottom .item-imgList img:nth-child(1) {
    width: 92px;
    -ms-transform: translateX(1.25rem);
        transform: translateX(1.25rem);
  }
  .p-top-about__bottom .item-imgList img:nth-child(2) {
    width: 30px;
    -ms-transform: translateX(40px);
        transform: translateX(40px);
  }
  .p-top-about__bottom .c-desc {
    letter-spacing: 0.05em;
  }
}
/* ------ top well-being ------ */
.p-top-well-being {
  background-color: #F8F9F1;
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 93%, 50% 100%, 0 93%);
          clip-path: polygon(0 0, 100% 0%, 100% 93%, 50% 100%, 0 93%);
  padding-bottom: 12.5rem;
  position: relative;
}
.p-top-well-being .c-img-bg {
  margin-bottom: 6.25rem;
}
.p-top-well-being .c-ttl {
  color: #000;
  -webkit-text-stroke: 0.4px #000;
  margin-bottom: 30px;
}
.p-top-well-being .c-ttl + .c-desc {
  margin-bottom: 60px;
}
.p-top-well-being .c-img img {
  display: block;
  max-width: 888px;
  margin: 0 3.75rem 5rem auto;
}
.p-top-well-being .c-f-block {
  display: -ms-flexbox;
  display: flex;
  gap: 4.375rem;
  margin-bottom: 5rem;
}
.p-top-well-being .c-f-block .block__item {
  width: 50%;
  padding: 2.5rem 2rem 3.75rem;
}
.p-top-well-being .c-f-block .block__item .ttl {
  text-align: center;
  font-size: 1.875rem;
  font-weight: 700;
  -webkit-text-stroke: 0.4px #000;
  margin-bottom: 30px;
}
.p-top-well-being .c-f-block .block__item .c-desc {
  letter-spacing: 0.05em;
  line-height: 1.95;
}
.p-top-well-being .c-f-block .block__item:nth-child(1) {
  background-color: #FFCCBD;
}
.p-top-well-being .c-f-block .block__item:nth-child(2) {
  background-color: #A9E5FF;
}
.p-top-well-being .c-lead {
  line-height: 1.9;
}
.p-top-well-being .c-lead .u-color {
  -webkit-text-stroke: 0.4px #0A51A1;
}

@media screen and (max-width: 767px) {
  .p-top-well-being {
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 97%, 50% 100%, 0 97%);
            clip-path: polygon(0 0, 100% 0%, 100% 97%, 50% 100%, 0 97%);
    padding-bottom: 5.625rem;
    position: relative;
  }
  .p-top-well-being .c-img-bg {
    margin-bottom: 3.75rem;
  }
  .p-top-well-being .c-img-bg .text-en {
    width: 42%;
    padding: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%);
  }
  .p-top-well-being .c-ttl {
    margin-bottom: 10px;
  }
  .p-top-well-being .c-ttl + .c-desc {
    margin-bottom: 20px;
  }
  .p-top-well-being .c-img img {
    margin: 0 auto;
  }
  .p-top-well-being .c-f-block {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.5rem;
    margin-bottom: 1.875rem;
    margin-top: 3.75rem;
  }
  .p-top-well-being .c-f-block .block__item {
    width: 100%;
    padding: 1.875rem 1rem;
  }
  .p-top-well-being .c-f-block .block__item .ttl {
    text-align: center;
    font-size: 1.25rem;
    margin-bottom: 10px;
  }
  .p-top-well-being .c-f-block .block__item .c-desc {
    letter-spacing: 0.05em;
    line-height: 2;
  }
  .p-top-well-being .c-f-block .block__item:nth-child(1) {
    background-color: #FFCCBD;
  }
  .p-top-well-being .c-f-block .block__item:nth-child(2) {
    background-color: #A9E5FF;
  }
  .p-top-well-being .c-lead {
    line-height: 1.9;
  }
  .p-top-well-being .c-lead .u-color {
    -webkit-text-stroke: 0.4px #0A51A1;
  }
}
/* ------ top case-study ------ */
.p-top-case-study {
  position: relative;
  padding: 13.75rem 0 10rem;
}
.p-top-case-study .c-scroll {
  display: block;
  width: 1px;
  height: 14.375rem;
  background-color: #000;
  position: absolute;
  top: -5%;
  left: 50%;
}
.p-top-case-study .c-scroll::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  bottom: 0;
  left: -3px;
}
.p-top-case-study .c-scroll::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  border: 1px solid #000;
  border-radius: 50%;
  position: absolute;
  bottom: -12px;
  left: -15px;
}
.p-top-case-study .c-ttl__wrap {
  position: relative;
  margin-bottom: 3.75rem;
}
.p-top-case-study .c-ttl__wrap img {
  position: absolute;
  top: -24px;
  left: 72.5%;
}
.p-top-case-study .c-ttl {
  color: #000;
  -webkit-text-stroke: 0.4px #000;
}

.p-top-case__block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5rem 4.375rem;
}
.p-top-case__block .block__item {
  width: calc(50% - 2.5rem);
  position: relative;
  background-color: #F8F9F1;
  padding: 3.375rem 2.125rem 4.875rem;
}
.p-top-case__block .block__item::before {
  content: "";
  display: block;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
          clip-path: polygon(0 0, 0% 100%, 100% 0);
  width: 5.5rem;
  height: 7.25rem;
  background-color: #0A51A1;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top-case__block .block__item .num {
  position: absolute;
  right: 1.5rem;
  top: 1.875rem;
}
.p-top-case__block .block__item .c-en {
  padding-left: 3rem;
}
.p-top-case__block .block__item .ttl {
  color: #0A51A1;
  font-size: 1.5625rem;
  font-weight: 700;
  margin-top: 3.75rem;
  line-height: 1.8;
  font-feature-settings: "palt";
}
.p-top-case__block .block__item .c-desc {
  margin-top: 2.5rem;
  line-height: 2;
}
.p-top-case__block .block__item:nth-child(3) .ttl {
  min-height: 14rem;
}
.p-top-case__block .block__item:nth-child(even) {
  transition-delay: 0.1s;
}

@media screen and (max-width: 767px) {
  .p-top-case-study {
    padding: 7.5rem 0 5.625rem;
  }
  .p-top-case-study .c-scroll {
    height: 7.5rem;
    top: -1%;
    left: 50%;
  }
  .p-top-case-study .c-scroll::before {
    width: 4px;
    height: 4px;
    position: absolute;
    bottom: 0;
    left: -2px;
  }
  .p-top-case-study .c-scroll::after {
    width: 18px;
    height: 18px;
    bottom: -7px;
    left: -9px;
  }
  .p-top-case-study .c-ttl__wrap {
    position: relative;
    margin-bottom: 1.875rem;
  }
  .p-top-case-study .c-ttl__wrap img {
    width: 46px;
    position: absolute;
    top: -44px;
    left: 80%;
  }
  .p-top-case-study .c-ttl .sm {
    font-size: 0.9375rem;
    margin-top: 0;
  }
  .p-top-case__block {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.25rem;
  }
  .p-top-case__block .block__item {
    width: 100%;
    padding: 1.25rem 1.125rem;
  }
  .p-top-case__block .block__item::before {
    width: 2.75rem;
    height: 3rem;
  }
  .p-top-case__block .block__item .num {
    position: absolute;
    right: 0.625rem;
    top: 0.625rem;
    width: 7.4%;
  }
  .p-top-case__block .block__item .num img {
    width: 100%;
  }
  .p-top-case__block .block__item .c-en {
    padding-left: 1.25rem;
  }
  .p-top-case__block .block__item .ttl {
    font-size: 0.9375rem;
    margin-top: 1.875rem;
    line-height: 1.6;
  }
  .p-top-case__block .block__item .c-desc {
    margin-top: 0.625rem;
    line-height: 1.85;
  }
  .p-top-case__block .block__item:nth-child(3) .ttl {
    min-height: auto;
  }
}
/* ------ top service ------ */
.p-top-service .c-ttl {
  margin-top: 8rem;
  color: #000;
  -webkit-text-stroke: 0.4px #000;
  margin-bottom: 3.75rem;
}
.p-top-service .c-ttl span {
  display: block;
}

.p-service__list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.5rem 3.25rem;
  margin-bottom: 30px;
}
.p-service__list .list-item {
  width: calc(50% - 1.625rem);
  border: 3px solid #0A51A1;
  border-radius: 24px;
  position: relative;
  min-height: 18rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  transition: 0.3s ease;
}
.p-service__list .list-item .c-en {
  position: absolute;
  top: 2.5rem;
  left: 3.75rem;
  transition: 0.3s ease;
}
.p-service__list .list-item .ttl {
  font-size: 2.1875rem;
  color: #0A51A1;
  font-weight: 700;
  text-align: center;
  -webkit-text-stroke: 0.4px #0A51A1;
  transition: 0.3s ease;
}
.p-service__list .list-item::before {
  content: "";
  display: block;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
          clip-path: polygon(0 0, 0% 100%, 100% 0);
  width: 5rem;
  height: 4.375rem;
  background-color: #0A51A1;
  position: absolute;
  border-radius: 20px 0 0 0;
  top: 0;
  left: 0;
}
.p-service__list .list-item:first-child {
  width: 100%;
  min-height: 13.125rem;
}
.p-service__list .list-item:first-child img {
  position: absolute;
  top: -40px;
  right: 3.4%;
}
.p-service__list .list-item:hover {
  background-color: #0A51A1;
}
.p-service__list .list-item:hover .c-en {
  color: #fff;
  -webkit-text-stroke: #fff;
}
.p-service__list .list-item:hover .ttl {
  color: #fff;
  -webkit-text-stroke: #fff;
}

.p-help__block {
  border: 3px solid #EDD14F;
  border-radius: 44px;
  padding: 4.125rem 1.25rem 4.875rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  position: relative;
  margin-top: 4.375rem;
  margin-bottom: 4.375rem;
}
.p-help__block img {
  position: absolute;
  top: 12%;
  right: 4%;
}
.p-help__block .ttl {
  font-size: 1.875rem;
  text-align: center;
  font-weight: 700;
  -webkit-text-stroke: 0.4px #000;
  margin-bottom: 2.5rem;
}
.p-help__block .list li {
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 2.4;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
.p-help__block .list li::before {
  content: "●";
  margin-right: 4px;
}

@media screen and (max-width: 767px) {
  .p-top-service .c-img-bg .text-en {
    width: 30%;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%);
  }
  .p-top-service .c-ttl {
    margin-top: 3.75rem;
    margin-bottom: 2.5rem;
  }
  .p-top-service .c-ttl .icon {
    max-width: 80px;
    margin: 0 auto;
  }
  .p-top-service .c-desc {
    font-size: 0.75rem;
  }
  .p-service__list {
    gap: 1.25rem;
    margin-bottom: 14px;
  }
  .p-service__list .list-item {
    width: 100%;
    border-radius: 16px;
    position: relative;
    min-height: 6.375rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
  }
  .p-service__list .list-item .c-en {
    top: 0.5rem;
    left: inherit;
    right: 4px;
  }
  .p-service__list .list-item .ttl {
    font-size: 1.125rem;
  }
  .p-service__list .list-item::before {
    width: 2.25rem;
    height: 1.875rem;
    position: absolute;
    border-radius: 10px 0 0 0;
    top: 0;
    left: 0;
  }
  .p-service__list .list-item:first-child {
    width: 100%;
    min-height: 6.375rem;
  }
  .p-service__list .list-item:first-child .ttl {
    padding-left: 3.375rem;
  }
  .p-service__list .list-item:first-child img {
    width: 64px;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    right: initial;
    left: 10%;
  }
  .p-help__block {
    border: 2px solid #EDD14F;
    border-radius: 24px;
    padding: 1.875rem 1.25rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    position: relative;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
  .p-help__block img {
    position: absolute;
    top: 2%;
    right: 0;
    width: 44px;
  }
  .p-help__block .ttl {
    font-size: 0.9375rem;
    margin-bottom: 1.25rem;
  }
  .p-help__block .list li {
    font-size: 0.8125rem;
    line-height: 1.7;
    text-indent: -1.125rem;
    padding-left: 1.125rem;
    margin-bottom: 8px;
  }
}
/* ------ cta ------ */
.p-cta .c-btn {
  transition: 0.3s ease;
}
.p-cta .c-btn img {
  filter: drop-shadow(10px 14px 10px rgba(0, 0, 0, 0.1));
}
.p-cta .c-btn:not(:last-child) {
  margin-bottom: 3.75rem;
}
.p-cta .c-btn:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .p-cta {
    margin: 3.125rem 0;
  }
  .p-cta .c-btn:not(:last-child) {
    margin-bottom: 1.25rem;
  }
}
/* ------ 下層ページ共通 ------ */
.c-heading {
  position: relative;
}
.c-heading .bg {
  width: 100%;
  height: 328px;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-heading .text-en {
  position: absolute;
  bottom: 0;
  left: calc((100% - 1150px) / 2);
}
.c-heading .c-heading__ttl {
  width: 100%;
  text-align: center;
  font-size: 2.5rem;
  color: #fff;
  font-weight: 700;
  -webkit-text-stroke: 0.4px #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  font-feature-settings: "palt";
  text-shadow: 3px 3px 15px rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 767px) {
  .c-heading .bg {
    height: 9.375rem;
  }
  .c-heading .text-en {
    position: absolute;
    bottom: inherit;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    width: auto;
    max-width: 8.125rem;
  }
  .c-heading .c-heading__ttl {
    width: 100%;
    top: 45%;
    font-size: 1.25rem;
  }
}
/* ------ service outsourcing------ */
.p-service-section {
  padding: 12.5rem 0;
  overflow: hidden;
}
.p-service-section .l-wrap {
  position: relative;
}
.p-service-section .c-ttl {
  margin-bottom: 5rem;
}
.p-service-section .c-list li {
  line-height: 1.6;
}
.p-service-section .c-list li img {
  margin-left: 5px;
}
.p-service-section .c-list li:not(:last-child) {
  margin-bottom: 2.25rem;
}
.p-service-section .c-list li::before {
  color: #0A51A1;
}
.p-service-section.section_1 .c-item-ill {
  position: absolute;
  top: -2.5rem;
  right: 5rem;
  max-width: 34%;
}

.p-service-section.u-bg {
  background-color: #F8F9F1;
}

.p-service-section.section_2 {
  padding: 6.25rem 0;
}
.p-service-section.section_2 .c-ttl {
  margin-bottom: 6.25rem;
}
.p-service-section.section_2 .c-item-ill {
  text-align: right;
  padding-right: 1.875rem;
  margin-top: 1.875rem;
}
.p-service-section .p-cta {
  margin-top: 6.25rem;
}

.p-outsourcing__block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  gap: 3.75rem;
  padding: 0 1.875rem;
}
.p-outsourcing__block .p-outsourcing__item {
  width: 50%;
  position: relative;
}
.p-outsourcing__block .p-outsourcing__item .ttl-bg {
  background-color: #0A51A1;
  color: #fff;
  font-size: 1.875rem;
  text-align: center;
  font-weight: 700;
  padding: 0.75rem;
}
.p-outsourcing__block .p-outsourcing__item .c-desc {
  line-height: 2;
  margin-top: 2.5rem;
}
.p-outsourcing__block .p-outsourcing__item .ttl-wrap {
  border: 1px solid #0A51A1;
}
.p-outsourcing__block .p-outsourcing__item .ttl-wrap ul {
  display: -ms-flexbox;
  display: flex;
}
.p-outsourcing__block .p-outsourcing__item .ttl-wrap ul li {
  width: 50%;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  color: #0A51A1;
  padding: 0.75rem 0;
}
.p-outsourcing__block .p-outsourcing__item .ttl-wrap ul li:first-child {
  border-right: 1px solid #0A51A1;
}
.p-outsourcing__block .p-outsourcing__item .ttl-wrap + .c-desc {
  margin-top: 1.5rem;
}
.p-outsourcing__block .p-outsourcing__item .example-block {
  margin-top: 5rem;
}
.p-outsourcing__block .p-outsourcing__item .example-block .ttl {
  border-bottom: 1.2px solid #000000;
  font-size: 1.3125rem;
  font-weight: 700;
  width: 86%;
  margin-bottom: 2.25rem;
}
.p-outsourcing__block .p-outsourcing__item .example-block .c-list {
  color: #0A51A1;
}
.p-outsourcing__block .p-outsourcing__item .example-block .c-list li {
  margin-bottom: 0.625rem;
}
.p-outsourcing__block .p-outsourcing__item .example-block .c-list ul li {
  color: #000;
  margin-top: 0.625rem;
  margin-bottom: 0;
}
.p-outsourcing__block .p-outsourcing__item .example-block .c-list ul li::before {
  display: none;
}
.p-outsourcing__block .p-outsourcing__item .c-note {
  color: #0A51A1;
  position: absolute;
  bottom: -6.25rem;
  left: 0;
  white-space: nowrap;
}
.p-outsourcing__block .p-outsourcing__item:last-child .example-block {
  margin-top: 5.625rem;
}

.l-main.service .p-cta {
  padding: 6.25rem 0;
  background-color: #F8F9F1;
}

@media screen and (max-width: 767px) {
  .p-service-section {
    padding: 4rem 0;
  }
  .p-service-section .l-wrap {
    position: relative;
    width: calc(100% - 2.75rem);
  }
  .p-service-section .c-ttl {
    letter-spacing: 0.03em;
    text-align: center;
    margin-bottom: 2rem;
    font-size: 1.1875rem;
  }
  .p-service-section .c-list li {
    line-height: 1.45;
    font-size: 0.78125rem;
    position: relative;
  }
  .p-service-section .c-list li img {
    margin-left: 5px;
    display: inline-block;
    width: 10%;
    position: absolute;
    right: 1rem;
    bottom: -1rem;
  }
  .p-service-section .c-list li:not(:last-child) {
    margin-bottom: 1rem;
  }
  .p-service-section .c-list li.has-img {
    margin-bottom: 2.625rem;
  }
  .p-service-section.section_1 .c-item-ill {
    position: static;
    width: 16%;
    margin: 2.5rem auto 0;
  }
  .p-service-section.section_2 {
    padding: 3.75rem 0;
  }
  .p-outsourcing-section.section_1 {
    padding-top: 2.5rem;
    padding-bottom: 1.25rem;
  }
  .p-outsourcing-section.section_2 {
    padding: 3.375rem 0;
  }
  .p-outsourcing-section.section_2 .c-ttl {
    text-align: center;
    padding: 1rem 0 1.25rem;
    margin-bottom: 2.5rem;
    line-height: 1.4;
  }
  .p-outsourcing-section.section_2 .c-item-ill {
    text-align: right;
    padding-right: 1.875rem;
    width: 44%;
    margin: 0 0 0 auto;
  }
  .p-outsourcing-section .p-cta {
    margin-top: 6.25rem;
  }
  .p-outsourcing__block {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.5rem;
    padding: 0 0;
  }
  .p-outsourcing__block .p-outsourcing__item {
    width: 100%;
  }
  .p-outsourcing__block .p-outsourcing__item .ttl-bg {
    background-color: #0A51A1;
    color: #fff;
    font-size: 0.9375rem;
    text-align: center;
    font-weight: 700;
    padding: 0.375rem;
  }
  .p-outsourcing__block .p-outsourcing__item .c-desc {
    line-height: 2;
    margin-top: 1.125rem;
  }
  .p-outsourcing__block .p-outsourcing__item .ttl-wrap {
    border: 1px solid #0A51A1;
  }
  .p-outsourcing__block .p-outsourcing__item .ttl-wrap ul {
    display: -ms-flexbox;
    display: flex;
  }
  .p-outsourcing__block .p-outsourcing__item .ttl-wrap ul li {
    width: 50%;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    color: #0A51A1;
    padding: 0.375rem 0;
  }
  .p-outsourcing__block .p-outsourcing__item .ttl-wrap ul li:first-child {
    border-right: 1px solid #0A51A1;
  }
  .p-outsourcing__block .p-outsourcing__item .ttl-wrap + .c-desc {
    margin-top: 0.625rem;
  }
  .p-outsourcing__block .p-outsourcing__item .example-block {
    margin-top: 1.25rem;
  }
  .p-outsourcing__block .p-outsourcing__item .example-block .ttl {
    font-size: 0.78125rem;
    width: 100%;
    margin-bottom: 1rem;
  }
  .p-outsourcing__block .p-outsourcing__item .example-block .c-list li {
    margin-bottom: 0.375rem;
  }
  .p-outsourcing__block .p-outsourcing__item .example-block .c-list ul li {
    margin-top: 0.375rem;
  }
  .p-outsourcing__block .p-outsourcing__item .example-block .c-list ul li::before {
    display: none;
  }
  .p-outsourcing__block .p-outsourcing__item .c-note {
    position: static;
  }
  .p-outsourcing__block .p-outsourcing__item:last-child .example-block {
    margin-top: 1.25rem;
  }
  .l-main.service .p-cta {
    padding: 0;
    background: none;
  }
}
/* ------ service consult------ */
.p-consult__block {
  margin-bottom: 2.5rem;
}
.p-consult__block .c-f-block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  gap: 25rem;
  position: relative;
}
.p-consult__block .c-f-block::after {
  content: "";
  display: block;
  width: 26.25rem;
  height: 1px;
  background-color: #0A51A1;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  z-index: 0;
}
.p-consult__block .c-f-block .block__item {
  width: 15.125rem;
  height: 15.125rem;
  position: relative;
  border: 1px solid #0A51A1;
  border-radius: 50%;
  background-color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  position: relative;
  z-index: 1;
}
.p-consult__block .c-f-block .block__item .ttl {
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 1.875rem;
  color: #0A51A1;
}
.p-consult__block .c-f-block .block__item:first-child .c-item-ill {
  position: absolute;
  top: inherit;
  left: inherit;
  left: -6.25rem;
  bottom: -1.25rem;
  max-width: 11.25rem;
  transition-delay: 0.3s;
}
.p-consult__block .c-f-block .block__item:last-child .c-item-ill {
  position: absolute;
  top: -3.75rem;
  left: initial;
  right: -3.125rem;
  max-width: 7rem;
  transition-delay: 0.5s;
}
.p-consult__block .block-ttl {
  text-align: center;
  font-size: 1.5625rem;
  font-weight: 700;
  -webkit-text-stroke: 0.4px #000;
  -ms-transform: translateY(-6.25rem);
      transform: translateY(-6.25rem);
  transition-delay: 0.5s;
}

.p-service-section .c-side-block {
  border-left: 14px solid #0A51A1;
  padding-left: 1.25rem;
  margin: 4.375rem 0;
}
.p-service-section .c-side-block ul li {
  color: #0A51A1;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 2;
}

.p-consult-section.section_4 {
  position: relative;
}
.p-consult-section.section_4 .c-ttl-box {
  margin-bottom: 4.25rem;
}
.p-consult-section.section_4 .c-list {
  padding-left: 4.375rem;
}
.p-consult-section.section_4 .c-list li:not(:last-child) {
  margin-bottom: 1.25rem;
}
.p-consult-section.section_4 .c-item-ill {
  position: absolute;
  bottom: 2.5rem;
  right: 5rem;
  max-width: 10.75rem;
}

.p-consult-section.section_1 .c-item-ill {
  max-width: 12.25rem;
}

@media screen and (max-width: 767px) {
  .p-consult-section.section_1 .c-item-ill {
    width: 36%;
    margin-top: 1.25rem;
  }
  .p-consult-section.section_2 {
    padding: 3.125rem 0;
  }
  .p-consult-section.section_3 {
    padding: 3.125rem 0;
  }
  .p-consult__block {
    margin-bottom: 1.25rem;
  }
  .p-consult__block .c-f-block {
    gap: 4.6875rem;
    padding: 0;
  }
  .p-consult__block .c-f-block::after {
    content: "";
    display: block;
    width: 4.6875rem;
    height: 1px;
    background-color: #0A51A1;
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    z-index: 0;
  }
  .p-consult__block .c-f-block .block__item {
    width: 7.625rem;
    height: 7.625rem;
    position: relative;
    border: 1px solid #0A51A1;
    border-radius: 50%;
    background-color: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    position: relative;
    z-index: 1;
  }
  .p-consult__block .c-f-block .block__item .ttl {
    font-size: 0.9375rem;
  }
  .p-consult__block .c-f-block .block__item:first-child .c-item-ill {
    padding: 0;
    margin: 0;
    position: absolute;
    right: initial;
    left: 12%;
    bottom: inherit;
    top: -40%;
    width: 76%;
  }
  .p-consult__block .c-f-block .block__item:last-child .c-item-ill {
    position: absolute;
    top: -80%;
    left: initial;
    right: 2%;
    width: 70%;
  }
  .p-consult__block .block-ttl {
    font-size: 0.9375rem;
    -ms-transform: none;
        transform: none;
    margin: 2.5rem 0 1.25rem;
  }
  .p-consult__block .block-ttl + .c-desc {
    text-align: left;
  }
  .p-service-section .c-side-block {
    border-left: 7px solid #0A51A1;
    padding-left: 0.625rem;
    margin: 1.875rem 0;
  }
  .p-service-section .c-side-block ul {
    padding: 0.625rem 0;
  }
  .p-service-section .c-side-block ul li {
    color: #0A51A1;
    font-size: 0.78125rem;
    line-height: 1.75;
    margin-bottom: 20px;
    text-indent: -0.875rem;
    padding-left: 0.875rem;
  }
  .p-service-section .c-side-block ul li:last-child {
    margin-bottom: 0;
  }
  .p-consult-section.section_4 {
    position: relative;
  }
  .p-consult-section.section_4 .c-ttl-box {
    margin-bottom: 2.125rem;
  }
  .p-consult-section.section_4 .c-list {
    padding-left: 0;
  }
  .p-consult-section.section_4 .c-list li {
    letter-spacing: 0.05em;
    text-indent: -1rem;
    padding-left: 1rem;
  }
  .p-consult-section.section_4 .c-list li:not(:last-child) {
    margin-bottom: 0.625rem;
  }
  .p-consult-section.section_4 .c-item-ill {
    position: static;
    width: 28%;
    margin: 0 1.5rem 0 auto;
  }
}
/* ------ service support ------ */
.c-table {
  width: 100%;
  margin: 0 auto;
  table-layout: fixed;
}
.c-table th,
.c-table td {
  border: 1px solid #0A51A1;
  text-align: center;
  height: 60px;
  vertical-align: middle;
  font-size: 1.25rem;
  padding: 1.5rem 0rem 1.5rem 0.75rem;
  font-weight: 700;
}
.c-table th {
  background-color: #F8F9F1;
  line-height: 1.2;
}
.c-table td {
  text-align: left;
  line-height: 1.66;
}
.c-table td:first-child {
  text-align: center;
}
.c-table td p, .c-table td ul {
  text-indent: -1.25rem;
  padding-left: 1.25rem;
}
.c-table thead tr th {
  height: 80px;
}
.c-table thead tr th:nth-child(1) {
  width: 23.4%;
}
.c-table thead tr th:nth-child(2) {
  width: 34.6%;
  color: #0A51A1;
  font-size: 2rem;
  font-weight: 700;
  -webkit-text-stroke: 0.4px #0A51A1;
}
.c-table thead tr th:nth-child(3) {
  width: 42%;
  color: #0A51A1;
  font-size: 2rem;
  font-weight: 700;
  -webkit-text-stroke: 0.4px #0A51A1;
}

.p-service__feature {
  padding: 0 1.875rem;
}
.p-service__feature .feature__item:not(:last-child) {
  margin-bottom: 3.625rem;
}
.p-service__feature .feature__item .num {
  font-weight: 700;
  color: #0A51A1;
  font-size: 1.375rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -webkit-text-stroke: 0.4px #0A51A1;
  margin-bottom: 2rem;
}
.p-service__feature .feature__item .num span {
  display: inline-block;
  font-size: 2.5rem;
}
.p-service__feature .feature__item .num img {
  margin-right: 10px;
}

.p-support-section .c-box-wh {
  background-color: #fff;
  padding: 1.875rem 2.5rem;
  margin-top: 2.5rem;
}
.p-support-section .c-box-wh figure {
  max-width: 1030px;
  margin: 0 0 0 auto;
}
.p-support-section .c-box-wh figure figcaption {
  font-size: 1.375rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 1.25rem;
}
.p-support-section .c-list li::before {
  display: none;
}
.p-support-section.section_5 .c-list {
  margin-top: 5rem;
}

.p-service__flow .p-flow__block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  gap: 3.125rem;
}
.p-service__flow .p-flow__block:not(:last-child) {
  margin-bottom: 3.125rem;
}
.p-service__flow .p-flow__block .flow-ttl {
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  background-color: #0A51A1;
  -webkit-clip-path: polygon(0% 0%, 100% 0, 100% 94%, 50% 100%, 0 94%);
          clip-path: polygon(0% 0%, 100% 0, 100% 94%, 50% 100%, 0 94%);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  width: 11.2%;
}
.p-service__flow .p-flow__block .block__text {
  width: 88.8%;
  padding-top: 1.25rem;
  padding-bottom: 3.375rem;
}
.p-service__flow .p-flow__block .block__text .c-ttl-b {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.p-service__flow .p-flow__block .block__text .c-ttl-b:not(:first-child) {
  margin-top: 5rem;
}
.p-service__flow .p-flow__block .block__text .c-desc {
  padding-left: 2.5rem;
}
.p-service__flow .p-flow__block .c-f-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}
.p-service__flow .p-flow__block .c-f-box figure {
  padding-right: 3.75rem;
  margin-top: -5rem;
}

@media screen and (max-width: 767px) {
  .c-table:not(:last-child) {
    margin-bottom: 3.375rem;
  }
  .c-table th,
  .c-table td {
    height: auto;
    font-size: 0.78125rem;
    padding: 0.625rem 0rem 0.625rem 0.5rem;
  }
  .c-table td {
    letter-spacing: 0.05em;
  }
  .c-table td p,
  .c-table td ul {
    text-indent: -0.75rem;
    padding-left: 0.75rem;
    letter-spacing: 0;
  }
  .c-table thead tr th {
    padding: 0.875rem;
    height: auto;
  }
  .c-table thead tr th:nth-child(1) {
    width: 37%;
  }
  .c-table thead tr th:nth-child(2) {
    width: 63%;
    font-size: 1rem;
  }
  .p-service__feature {
    padding: 0;
  }
  .p-service__feature .feature__item:not(:last-child) {
    margin-bottom: 1.875rem;
  }
  .p-service__feature .feature__item .num {
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
  }
  .p-service__feature .feature__item .num span {
    display: inline-block;
    font-size: 1.625rem;
  }
  .p-service__feature .feature__item .num img {
    margin-right: 10px;
    width: 11%;
  }
  .p-support-section .c-box-wh {
    padding: 1.875rem 1rem;
    margin-top: 2.5rem;
    width: 100vw;
    margin: 2.5rem calc(50% - 50vw) 0;
  }
  .p-support-section .c-box-wh figure figcaption {
    font-size: 0.8125rem;
    margin-bottom: 1.25rem;
  }
  .p-support-section.section_5 .c-list {
    border-top: 1px solid #0A51A1;
    border-bottom: 1px solid #0A51A1;
    margin-top: 1.25rem;
    padding: 1rem 0;
  }
  .p-support-section.section_5 .c-list li {
    font-size: 0.78125rem;
    letter-spacing: 0.02em;
    text-indent: -1.03125rem;
    padding-left: 1.03125rem;
  }
  .p-service__flow .p-flow__block {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
        align-items: stretch;
    gap: 1.25rem;
  }
  .p-service__flow .p-flow__block:not(:last-child) {
    margin-bottom: 3.75rem;
  }
  .p-service__flow .p-flow__block .flow-ttl {
    -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    background-color: #0A51A1;
    -webkit-clip-path: polygon(0% 0%, 100% 0, 100% 96%, 50% 100%, 0 96%);
            clip-path: polygon(0% 0%, 100% 0, 100% 96%, 50% 100%, 0 96%);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    font-size: 0.78125rem;
    font-weight: 700;
    color: #fff;
    width: 11.2%;
  }
  .p-service__flow .p-flow__block .block__text {
    width: 88.8%;
    padding-top: 0;
    padding-bottom: 1.875rem;
  }
  .p-service__flow .p-flow__block .block__text .c-ttl-b {
    font-size: 0.78125rem;
    margin-bottom: 0.5rem;
  }
  .p-service__flow .p-flow__block .block__text .c-ttl-b:not(:first-child) {
    margin-top: 1.5rem;
  }
  .p-service__flow .p-flow__block .block__text .c-desc {
    padding-left: 0;
    line-height: 1.68;
  }
  .p-service__flow .p-flow__block .c-f-box {
    display: block;
  }
  .p-service__flow .p-flow__block .c-f-box figure {
    padding: 0;
    margin-top: 0;
    width: 30%;
    margin: 0 2.5rem 0 auto;
  }
}
/* ------ service requlations ------ */
.p-regulations-section .c-lead {
  font-size: 1.4375rem;
  color: #0A51A1;
  -webkit-text-stroke: 0.4px #0A51A1;
  text-align: left;
  margin-top: 7.5rem;
}
.p-regulations-section.section_1 .c-item-ill {
  max-width: 21%;
  top: -8.125rem !important;
  right: 6.875rem;
}
.p-regulations-section.section_3 .c-ttl-box {
  position: relative;
}
.p-regulations-section.section_3 .c-item-ill {
  max-width: 7%;
  position: absolute;
  right: 6.875rem;
  top: 24%;
}
.p-regulations-section.section_3 .c-table td:last-child {
  padding-left: 3rem;
}
.p-regulations-section.section_3 .c-table thead tr th:nth-child(1) {
  width: 15%;
}

.p-thema__block {
  position: relative;
  background-color: #F8F9F1;
  padding: 3.125rem 2.125rem;
  margin-top: 2.5rem;
}
.p-thema__block::before {
  content: "";
  -webkit-clip-path: polygon(100% 0, 0 0, 0 100%);
          clip-path: polygon(100% 0, 0 0, 0 100%);
  display: block;
  width: 5rem;
  height: 5rem;
  background-color: #0A51A1;
  position: absolute;
  top: 0;
  left: 0;
}
.p-thema__block .block__head {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  padding-left: 2.25rem;
  margin-bottom: 0.625rem;
}
.p-thema__block .block__head .c-ttl {
  margin-bottom: 0;
}
.p-thema__block .block__head .c-item-ill {
  position: static;
}

.p-regulations-section .p-service__feature {
  padding: 0;
}
.p-regulations-section .p-service__feature .feature__item .feature-ttl {
  font-size: 1.75rem;
  color: #0A51A1;
  font-weight: 700;
  padding: 0 1.875rem;
  margin-bottom: 1rem;
}
.p-regulations-section .p-service__feature .feature__item .feature-ttl .num {
  display: inline-block;
  margin-bottom: 0;
  font-size: 2.5rem;
  margin-right: 1rem;
}
.p-regulations-section .p-service__feature .feature__item .c-desc {
  background-color: #F8F9F1;
  padding: 1.25rem 1.25rem 1.25rem 2.5rem;
  line-height: 2;
}

.p-service__step .step__block {
  position: relative;
  padding-bottom: 2.5rem;
}
.p-service__step .step__block::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: #0A51A1;
  position: absolute;
  top: 0;
  left: 2.25rem;
  z-index: 1;
}
.p-service__step .step__block figure {
  position: absolute;
  right: 5rem;
  bottom: -13.75rem;
}
.p-service__step .step__block:last-child {
  padding-bottom: 3.75rem;
}
.p-service__step .step__block:last-child::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #0A51A1;
  position: absolute;
  bottom: 0;
  left: 2rem;
  z-index: 1;
}
.p-service__step .num {
  max-width: 164px;
  font-size: 1.5625rem;
  font-weight: 700;
  background-color: #0A51A1;
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  gap: 1.5rem;
  padding: 0.375rem 0;
  position: relative;
  z-index: 2;
}
.p-service__step .num span {
  font-size: 2.5rem;
}
.p-service__step .block__wrap {
  padding-left: 3.75rem;
  margin-top: 2.5rem;
}
.p-service__step .block__wrap .c-ttl {
  margin-bottom: 0;
}
.p-service__step .block__wrap.c-f-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}
.p-service__step .block__wrap.c-f-box .block__text {
  width: 70%;
}

@media screen and (max-width: 767px) {
  .p-regulations-section .c-lead {
    font-size: 0.78125rem;
    margin-top: 1.875rem;
  }
  .p-regulations-section.section_1 {
    padding-top: 2.5rem;
    padding-bottom: 0;
  }
  .p-regulations-section.section_1 .c-lead + .c-item-ill {
    width: 34%;
    max-width: 34%;
  }
  .p-regulations-section.section_2 {
    padding-bottom: 0;
  }
  .p-regulations-section.section_3 {
    padding-top: 4.375rem;
  }
  .p-regulations-section.section_3 .c-ttl-box {
    position: relative;
  }
  .p-regulations-section.section_3 .c-item-ill {
    max-width: 13%;
    position: absolute;
    right: 12%;
    top: -14%;
  }
  .p-regulations-section.section_3 .c-table td {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    letter-spacing: 0;
    font-size: 0.75rem;
  }
  .p-regulations-section.section_3 .c-table td:last-child {
    padding-left: 0.5rem;
  }
  .p-regulations-section.section_3 .c-table thead tr th:nth-child(1) {
    width: 25%;
  }
  .p-regulations-section.section_4 .p-service__step .step__block figure {
    width: 34%;
    margin-right: 1.875rem;
  }
  .p-thema__block {
    position: relative;
    background-color: #F8F9F1;
    padding: 1.25rem 1.125rem;
    margin-top: 2.25rem;
  }
  .p-thema__block::before {
    content: "";
    -webkit-clip-path: polygon(100% 0, 0 0, 0 100%);
            clip-path: polygon(100% 0, 0 0, 0 100%);
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    background-color: #0A51A1;
    position: absolute;
    top: 0;
    left: 0;
  }
  .p-thema__block .block__head {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding-left: 1rem;
    margin-bottom: 0.625rem;
  }
  .p-thema__block .block__head .c-ttl {
    margin-bottom: 0;
  }
  .p-thema__block .block__head .c-item-ill {
    position: static;
    margin: 0;
    width: 12%;
  }
  .p-thema__block .c-desc {
    line-height: 2;
  }
  .p-thema__block:nth-of-type(4) .block__head .c-item-ill {
    width: 20%;
  }
  .p-thema__block:nth-of-type(5) .block__head .c-item-ill {
    width: 20%;
  }
  .p-regulations-section .p-service__feature {
    padding: 0;
  }
  .p-regulations-section .p-service__feature .feature__item .feature-ttl {
    font-size: 1rem;
    color: #0A51A1;
    font-weight: 700;
    padding: 0;
    margin-bottom: 0.75rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    letter-spacing: 0;
  }
  .p-regulations-section .p-service__feature .feature__item .feature-ttl .num {
    display: inline-block;
    margin-bottom: 0;
    font-size: 1.25rem;
    margin-right: 8px;
    line-height: 1;
  }
  .p-regulations-section .p-service__feature .feature__item .c-desc {
    background-color: #F8F9F1;
    padding: 1rem 1.25rem;
    line-height: 2;
  }
  .p-service__step .step__block {
    position: relative;
    padding-bottom: 2.5rem;
  }
  .p-service__step .step__block::before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #0A51A1;
    position: absolute;
    top: 0;
    left: 1.125rem;
  }
  .p-service__step .step__block figure {
    position: static;
    right: 5rem;
    bottom: -13.75rem;
    width: 40%;
    margin: 1.25rem 0 0 auto;
  }
  .p-service__step .step__block:last-child {
    padding-bottom: 0;
  }
  .p-service__step .step__block:last-child::after {
    left: 0.9375rem;
  }
  .p-service__step .num {
    max-width: 5.25rem;
    font-size: 0.78125rem;
    font-weight: 700;
    background-color: #0A51A1;
    color: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    gap: 0.625rem;
    padding: 0.375rem 0;
    position: relative;
    z-index: 1;
  }
  .p-service__step .num span {
    font-size: 1.25rem;
  }
  .p-service__step .block__wrap {
    padding-left: 1.875rem;
    margin-top: 1.25rem;
  }
  .p-service__step .block__wrap .c-ttl {
    text-align: left;
    font-size: 1.0625rem;
    margin-bottom: 8px;
  }
  .p-service__step .block__wrap.c-f-box {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p-service__step .block__wrap.c-f-box .block__text {
    width: 100%;
  }
  .p-service__step .block__wrap .c-desc {
    line-height: 1.72;
  }
}
/* ------ service life ------ */
.p-life-section {
  padding-bottom: 5rem;
}
.p-life-section.section_1 .c-ttl {
  font-size: 3.125rem;
  margin-bottom: 7.5rem;
}
.p-life-section.section_1 .c-item-ill {
  top: -5rem;
}
.p-life-section.section_1 .c-desc:not(:last-child) {
  margin-bottom: 3.125rem;
}
.p-life-section.section_2 .c-container {
  padding: 0 1.875rem;
}

.p-balance__block .block__img {
  max-width: 1010px;
  margin: 1.25rem auto 0;
  position: relative;
}
.p-balance__block .c-item-ill {
  padding: 0 !important;
  position: absolute;
  top: initial;
  left: 45%;
  bottom: 12%;
  max-width: 7.875rem;
  transition-delay: 0.2s;
}
.p-balance__block .c-item-ill .text {
  font-size: 1.875rem;
  font-weight: 700;
  color: #0A51A1;
  text-align: center;
  -webkit-text-stroke: 0.4px #0A51A1;
  margin-bottom: 1.25rem;
}
.p-balance__block .c-lead {
  margin-top: 3.75rem;
}

.p-life-section.section_3 .p-service__step + .c-desc {
  padding-left: 3.75rem;
  position: relative;
  z-index: 0;
}
.p-life-section.section_3 .p-fig__block {
  max-width: 818px;
  margin: 5rem auto 0;
}
.p-life-section.section_4 .c-desc:not(:last-child) {
  margin-bottom: 3.75rem;
}

@media screen and (max-width: 767px) {
  .p-life-section {
    padding-bottom: 3.75rem;
  }
  .p-life-section.section_1 .c-ttl {
    font-size: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .p-life-section.section_1 .c-item-ill {
    width: 34%;
  }
  .p-life-section.section_1 .c-desc:not(:last-child) {
    margin-bottom: 1.25rem;
  }
  .p-life-section.section_2 .c-container {
    padding: 0;
  }
  .p-life-section.section_3 {
    background: none;
  }
  .p-life-section.section_3 .p-service__step .step__block .c-item-ill {
    max-width: 5.25rem;
    margin: 1.25rem auto 0;
  }
  .p-life-section.section_3 .p-service__step .step__block:nth-child(3) {
    padding-bottom: 2.5rem;
  }
  .p-life-section.section_3 .p-service__step + .c-desc {
    padding-left: 0;
    color: #0A51A1;
    margin: 1.875rem 0 0;
  }
  .p-life-section.section_3 .p-fig__block {
    max-width: 818px;
    margin: 2.5rem auto 0;
  }
  .p-life-section.section_4 {
    background: none;
    padding-bottom: 0;
    padding-top: 1.25rem;
  }
  .p-life-section.section_4 .c-desc:not(:last-child) {
    margin-bottom: 1.75rem;
  }
  .p-balance__block .block__img {
    max-width: 1010px;
    margin: 3.125rem auto 0;
    position: relative;
  }
  .p-balance__block .c-item-ill {
    padding: 0 !important;
    position: absolute;
    top: initial;
    left: 40%;
    bottom: 10%;
    max-width: 3.875rem;
  }
  .p-balance__block .c-item-ill .text {
    font-size: 0.9375rem;
    margin-bottom: 0.625rem;
  }
  .p-balance__block .c-lead {
    margin-top: 2.5rem;
    text-align: left;
    font-size: 0.9375rem;
    line-height: 1.93;
  }
}
.p-regulations-section.section_3 .c-table thead tr th:nth-child(2) {
  width: 34.6%;
  color: #000;
  font-size: 1.3125rem;
  font-weight: 700;
  -webkit-text-stroke: 0.4px #000;
  -webkit-text-stroke: none;
}

.p-service-index + .p-cta {
  padding: 6.25rem 0;
}

.p-service-index .p-help__block {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .p-regulations-section.section_1 .c-desc + .c-item-ill {
    width: 7.5rem;
    margin-top: 1.25rem;
  }
  .p-regulations-section.section_3 .c-table thead tr th:nth-child(2) {
    font-size: 0.78125rem;
  }
  .p-service-index + .p-cta {
    padding: 0;
  }
}
.p-support-section.section_1 .c-ttl {
  margin-bottom: 8.75rem;
}
.p-support-section.section_1 .c-item-ill {
  top: -5rem;
  right: 2.5rem;
}

.p-support-section.section_2 .c-ttl-b {
  margin-top: 7.5rem;
}

.p-support-section.section_6 .c-ttl-box {
  position: relative;
}
.p-support-section.section_6 .c-ttl-box .c-item-ill {
  max-width: 10%;
  position: absolute;
  right: 7.5rem;
  top: -1rem;
}

@media screen and (max-width: 767px) {
  .p-service-section.p-support-section.section_1 .c-ttl {
    margin-bottom: 1.875rem;
  }
  .p-service-section.p-support-section.section_1 .c-item-ill {
    width: 28%;
    margin: 0.625rem auto 0;
  }
  .p-support-section.section_2 .c-ttl-b {
    font-size: 0.9375rem;
    margin-top: 2.5rem;
  }
  .p-support-section.section_6 .c-ttl-box .c-item-ill {
    max-width: 3.25rem;
    position: absolute;
    right: 4%;
    top: 22%;
  }
}
/* ------ about message ------ */
.c-ttl-about {
  font-size: 2.5rem;
  color: #0A51A1;
  font-weight: 700;
  -webkit-text-stroke: 0.5px #0A51A1;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 1.625;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: end;
      align-items: flex-end;
  border-bottom: 1px solid #0A51A1;
  padding-bottom: 1rem;
  margin-bottom: 2.5rem;
}

.p-about-side {
  position: relative;
}
.p-about-side .p-about-container {
  width: 88%;
  max-width: 810px;
  margin: 0 auto 0 0;
}

.p-about-side .c-side__text {
  position: absolute;
  top: 0;
  right: 0;
  width: 12%;
}

.p-about-message {
  padding-top: 10.625rem;
}
.p-about-message .parallax {
  margin-top: 15.625rem;
  background-image: url("../img/para_bg_2.jpg");
  /* 背景に使用する画像を設定 */
  background-size: cover;
  /* 背景画像を要素のサイズに合わせてカバーするように調整 */
  background-attachment: fixed;
  /* 背景画像をスクロールに対して固定 */
  background-position: bottom;
  /* 背景画像を中央に配置 */
  height: 360px;
  /* 要素の高さを設定。必要に応じて調整 */
}
.p-about-message .c-side__text {
  top: 11.25rem;
}
.p-about-message .c-desc {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 2.15;
}
.p-about-message .p-about__block {
  margin-top: 2.5rem;
}
.p-about-message .p-about__block .block__img {
  text-align: right;
  margin-right: -2rem;
}
.p-about-message .p-about__block .c-ttl {
  margin-top: -6.75rem;
}

@media screen and (max-width: 767px) {
  .c-ttl-about {
    font-size: 1.25rem;
    width: 100vw;
    margin: 0 calc(50% - 50vw) 1.875rem;
    padding: 0 1.875rem 0.375rem;
    -webkit-text-stroke: 0;
  }
  .c-ttl-about .icon {
    width: 9%;
  }
  .p-about-side .p-about-container {
    width: 100%;
  }
  .p-about-side .c-side__text {
    display: none;
  }
  .p-about-message {
    padding-top: 2.5rem;
  }
  .p-about-message .parallax {
    margin-top: 6.875rem;
    background-attachment: initial;
    height: 7.8125rem;
  }
  .p-about-message .c-side__text {
    top: 11.25rem;
  }
  .p-about-message .c-desc {
    font-size: 0.78125rem;
  }
  .p-about-message .p-about__block {
    margin-top: 3.75rem;
  }
  .p-about-message .p-about__block .block__img {
    width: 32%;
    -ms-transform: none;
        transform: none;
    margin: 0 0 0 auto;
  }
  .p-about-message .p-about__block .c-ttl {
    margin-top: -3.375rem;
    letter-spacing: 0.02em;
    font-size: 1.1875rem;
  }
  .p-about-message .c-img-bg {
    margin-top: 6.875rem;
  }
}
/* ------ about member ------ */
.p-about-member {
  margin-top: 16.875rem;
  padding-bottom: 12.5rem;
  border-bottom: 0.4px solid #000;
}
.p-about-member .c-side__text {
  top: 13.75rem;
}
.p-about-member .c-ttl-about {
  margin-bottom: 6.25rem;
}
.p-about-member .p-member__block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: end;
      align-items: flex-end;
  gap: 2.5rem;
}
.p-about-member .p-member__block:not(:last-child) {
  margin-bottom: 5rem;
}
.p-about-member .p-member__block .block__img {
  width: 44%;
}
.p-about-member .p-member__block .block__text {
  width: 55%;
}
.p-about-member .p-member__block .job {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.875rem;
  line-height: 1.5;
}
.p-about-member .p-member__block .name {
  font-size: 1.875rem;
  font-weight: 700;
  margin-bottom: 1.875rem;
}
.p-about-member .p-member__block .c-desc {
  font-size: 1.375rem;
  font-weight: 700;
  color: #0A51A1;
  line-height: 1.6;
}
.p-about-member .p-member__block.block__bg {
  background-color: #EFF0F2;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  padding: 1.75rem;
  gap: 1.25rem;
}
.p-about-member .p-member__block.block__bg p {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .p-about-member {
    margin-top: 6.25rem;
    padding-bottom: 5rem;
    border-bottom: 0.4px solid #000;
  }
  .p-about-member .c-ttl-about {
    margin-bottom: 3.125rem;
  }
  .p-about-member .p-member__block {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.625rem;
  }
  .p-about-member .p-member__block:not(:last-child) {
    margin-bottom: 2.25rem;
  }
  .p-about-member .p-member__block .block__img {
    width: 100%;
  }
  .p-about-member .p-member__block .block__text {
    width: 100%;
  }
  .p-about-member .p-member__block .job {
    font-size: 0.78125rem;
    margin-bottom: 0;
    font-feature-settings: "palt";
  }
  .p-about-member .p-member__block .name {
    font-size: 1.25rem;
    margin-bottom: 0.625rem;
  }
  .p-about-member .p-member__block .c-desc {
    font-size: 0.78125rem;
    line-height: 1.8;
  }
  .p-about-member .p-member__block.block__bg {
    background-color: #EFF0F2;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-direction: row;
        flex-direction: row;
    padding: 1.25rem 1rem;
    gap: 0.625rem;
  }
  .p-about-member .p-member__block.block__bg p {
    margin-bottom: 0;
  }
}
/* ------ about company ------ */
.p-about-company {
  padding-top: 13.75rem;
  padding-bottom: 7.5rem;
}
.p-about-company .c-ttl-about {
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start;
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 6.75rem;
}
.p-about-company .c-ttl-about .sm {
  font-size: 1.375rem;
}
.p-about-company .p-overview dl {
  font-size: 1.375rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  padding-bottom: 1.75rem;
}
.p-about-company .p-overview dl:not(:last-of-type) {
  margin-bottom: 4.875rem;
  border-bottom: 1px solid #0A51A1;
}
.p-about-company .p-overview dl dt {
  color: #0A51A1;
  width: 26%;
}
.p-about-company .p-overview dl dd {
  width: 74%;
}
.p-about-company .p-overview dl dd .u-bold {
  display: inline-block;
  font-weight: 700;
  color: #0A51A1;
  margin-top: 10px;
}
.p-about-company .p-overview .access__block {
  padding-bottom: 4.375rem;
  border-bottom: 1px solid #0A51A1;
}
.p-about-company .p-overview .access__block iframe {
  width: 100%;
  height: 46.875rem;
}
.p-about-company .p-overview .access__block .ttl {
  font-size: 1.375rem;
  color: #0A51A1;
  font-weight: 700;
  margin-top: 3.125rem;
}
.p-about-company .p-overview .access__block .ttl .icon {
  margin-right: 1rem;
}
.p-about-company .p-overview .access__block .list {
  margin-top: 1.875rem;
}
.p-about-company .p-overview .access__block .list li {
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 2.1;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
.p-about-company .p-overview .access__block .list li .attention {
  display: inline-block;
  font-weight: 500;
  -ms-transform: translateY(-2px);
      transform: translateY(-2px);
}
.p-about-company .p-overview .access__block .list li::before {
  content: "●";
  margin-right: 4px;
}

@media screen and (max-width: 767px) {
  .p-about-company {
    padding-top: 4.375rem;
  }
  .p-about-company .c-ttl-about {
    margin-bottom: 2.625rem;
  }
  .p-about-company .c-ttl-about .sm {
    font-size: 0.78125rem;
  }
  .p-about-company .p-overview dl {
    font-size: 0.78125rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 0.625rem;
    gap: 4px;
  }
  .p-about-company .p-overview dl:not(:last-of-type) {
    margin-bottom: 1.25rem;
  }
  .p-about-company .p-overview dl dt {
    width: 100%;
  }
  .p-about-company .p-overview dl dd {
    width: 100%;
  }
  .p-about-company .p-overview dl dd .u-bold {
    text-indent: -16px;
    padding-left: 16px;
  }
  .p-about-company .p-overview .access__block {
    padding-bottom: 1.25rem;
  }
  .p-about-company .p-overview .access__block iframe {
    width: 100%;
    height: 12.5rem;
  }
  .p-about-company .p-overview .access__block .ttl {
    font-size: 0.78125rem;
    margin-top: 1.25rem;
  }
  .p-about-company .p-overview .access__block .ttl .icon {
    display: inline-block;
    margin-right: 0.625rem;
    width: 14%;
  }
  .p-about-company .p-overview .access__block .list {
    margin-top: 1.875rem;
  }
  .p-about-company .p-overview .access__block .list li {
    font-size: 0.78125rem;
    text-indent: -1rem;
    padding-left: 1rem;
    font-weight: 700;
    line-height: 2.1;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
  }
  .p-about-company .p-overview .access__block .list li .attention {
    display: inline-block;
    font-weight: 500;
    -ms-transform: translateX(-1rem);
        transform: translateX(-1rem);
    text-indent: -1rem;
    padding-left: 1rem;
  }
  .p-about-company .p-overview .access__block .list li::before {
    content: "●";
    margin-right: 4px;
  }
}
/* ------ case study ------ */
.l-main.case-study .p-cta {
  padding: 6.25rem 0;
  background-color: #F8F9F1;
}

.p-case-section.section_1 .c-item-ill {
  max-width: 34%;
}

.p-case-study__block:not(:last-child) {
  margin-bottom: 7.5rem;
}
.p-case-study__block .case-ttl {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  gap: 1.5rem;
  margin-bottom: 2.25rem;
}
.p-case-study__block .block__text {
  background-color: #fff;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  padding: 4.375rem 5rem;
  position: relative;
}
.p-case-study__block .block__text .c-desc {
  font-weight: 500;
  margin-bottom: 2.25rem;
}
.p-case-study__block .block__text .text-en {
  text-align: right;
  -ms-transform: translateX(40px);
      transform: translateX(40px);
}
.p-case-study__block .c-item-ill {
  position: absolute;
}
.p-case-study__block:first-child .c-item-ill {
  top: -3.75rem;
  right: 5rem;
}
.p-case-study__block:nth-child(2) .c-item-ill {
  top: -7.5rem;
  right: 5rem;
}

@media screen and (max-width: 767px) {
  .l-main.case-study .p-cta {
    padding: 0;
    background: none;
  }
  .p-case-section.section_1 .c-item-ill {
    margin-top: 0;
    width: 48%;
    max-width: 100%;
  }
  .p-case-study__block {
    position: relative;
  }
  .p-case-study__block:not(:last-child) {
    margin-bottom: 5rem;
  }
  .p-case-study__block .case-ttl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 2.5rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p-case-study__block .case-ttl .num {
    width: 5.25rem;
  }
  .p-case-study__block .case-ttl .c-ttl-b {
    font-size: 1rem;
    letter-spacing: 0.05em;
  }
  .p-case-study__block .block__text {
    background-color: #fff;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
    padding: 1.875rem 1.25rem;
    position: relative;
  }
  .p-case-study__block .block__text .c-desc {
    font-weight: 500;
    margin-bottom: 1.5625rem;
    line-height: 2;
  }
  .p-case-study__block .block__text .text-en {
    text-align: right;
    -ms-transform: translateX(40px);
        transform: translateX(40px);
    position: absolute;
    top: 1.25rem;
    right: 3.75rem;
    width: 6.5rem;
  }
  .p-case-study__block .c-item-ill {
    position: static;
    margin: 2.125rem auto 1.875rem !important;
  }
  .p-case-study__block:first-child .c-item-ill {
    width: 38%;
  }
  .p-case-study__block:nth-child(2) .c-item-ill {
    width: 34%;
  }
}
/* ------ 404 ------ */
.p-404 {
  padding-top: 40px;
  padding-bottom: 6.25rem;
}
.p-404 .c-f-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  gap: 2.5rem;
  margin-bottom: 2.5rem;
}
.p-404 .c-ttl-b {
  font-size: 2.25rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-404 {
    padding-top: 40px;
    padding-bottom: 6.25rem;
  }
  .p-404 .c-f-box {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    gap: 2.5rem;
    margin-bottom: 2.5rem;
  }
  .p-404 .c-ttl-b {
    font-size: 1rem;
  }
}