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

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

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

html,
body {
  padding: 0;
  margin: 0;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
}

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

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

object,
embed {
  vertical-align: top;
}

hr,
legend {
  display: none;
}

img,
abbr,
acronym,
fieldset {
  border: 0;
}

li {
  list-style-type: none;
}

sup {
  vertical-align: super;
  font-size: 0.5em;
}

img {
  vertical-align: top;
}

i {
  font-style: normal;
}

body {
  text-align: start;
  font-family: "Zen Maru Gothic", serif, "Noto Sans JP", serif, "Yu Gothic", "游ゴシック体", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  background: #fff;
  color: #000000;
}

img {
  width: 100%;
  height: auto;
}

body,
ul {
  margin: 0;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1.6rem;
  padding: 0;
  margin: 0;
  font-weight: unset;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-start: 0px;
          margin-inline-start: 0px;
  -webkit-margin-end: 0px;
          margin-inline-end: 0px;
}

a {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

dl {
  padding: 0;
  margin: 0;
}

dt,
dd {
  padding: 0;
  margin: 0;
}

p {
  padding: 0;
  margin: 0;
  font-weight: unset;
  margin-block: 0px;
  margin-inline: 0px;
}

figure {
  padding: 0;
  margin: 0;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

@media (max-width: 767px) {
  .pc_only {
    display: none;
  }
}

@media (min-width: 768px) {
  .sp_only {
    display: none;
  }
}

.p-main {
  overflow-x: hidden;
}

.p-mv {
  padding: 7.7333333333vw 0 0 0;
  background: url(../img/mv_01.webp) center/cover no-repeat;
  height: 180.2666666667vw;
}
.p-mv .p-mv__titles {
  max-width: 90.1333333333vw;
  margin: 0 auto;
}
.p-mv .p-mv__text {
  font-weight: 700;
  line-height: 100%;
  padding: 2.6666666667vw 0;
  border-radius: 2.6666666667vw;
  text-align: center;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
}
.p-mv .p-mv__text:not(:last-of-type) {
  margin-bottom: 4.2666666667vw;
}
.p-mv .p-mv__text1 {
  font-size: 8vw;
  position: relative;
}
.p-mv .p-mv__text1 span {
  color: #008fff;
}
.p-mv .p-mv__text1::after {
  content: "";
  position: absolute;
  bottom: -0.8vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 89.8666666667vw;
  height: 0.2666666667vw;
  background: #251e1b;
  rotate: -2deg;
}
.p-mv .p-mv__text2 {
  font-size: 17.3333333333vw;
  color: #008fff;
  position: relative;
}
.p-mv .p-mv__text2::after {
  content: "";
  position: absolute;
  bottom: -0.8vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 89.8666666667vw;
  height: 0.2666666667vw;
  background: #251e1b;
  rotate: -2deg;
}
.p-mv .p-mv__text3 {
  font-size: 8vw;
}

.p-change {
  background: #ffef00;
  padding-top: 10.6666666667vw;
  padding-bottom: 47.2vw;
  position: relative;
}
.p-change::before {
  content: "";
  position: absolute;
  top: -2.9333333333vw;
  left: 0;
  width: 100%;
  height: 2.9333333333vw;
  background: url(../img/change_01.webp) center/cover no-repeat;
}
.p-change::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 53.6vw;
  background: url(../img/change_02.webp) center/cover no-repeat;
}
.p-change .p-change__cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2.6666666667vw;
  padding-bottom: 13.3333333333vw;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 94.6666666667vw;
  margin: 0 auto;
}
.p-change .p-change__card {
  border: 0.5333333333vw solid black;
  background: white;
  width: 29.3333333333vw;
  height: 29.3333333333vw;
  border-radius: 26.6666666667vw;
  font-size: 7.7333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 110%;
  padding-top: 6.4vw;
}
.p-change .p-change-card__text2 {
  position: relative;
  padding-right: 4vw;
}
.p-change .p-change-card__text2::after {
  content: "";
  position: absolute;
  bottom: 1.8666666667vw;
  right: 6.1333333333vw;
  width: 4.5333333333vw;
  height: 5.8666666667vw;
  background-image: url(../img/arrow_top_blue.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-change .p-change-card__text2--img {
  width: 5.3333333333vw;
}
.p-change .p-change-title__text1 {
  font-size: 6.9333333333vw;
  font-weight: 700;
  background: white;
  font-family: "Noto Sans JP", serif;
  padding: 1.0666666667vw 6.4vw;
  border-radius: 6.4vw;
  max-width: 80vw;
  margin: 0 auto;
  text-align: center;
  line-height: 100%;
  padding: 1.0666666667vw 0 1.6vw;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 6.4vw;
}
.p-change .p-change-title__text2 {
  text-align: center;
  font-size: 10.6666666667vw;
  font-weight: 700;
  line-height: 120%;
}

.p-understanding {
  background: #e0e0dc;
}
.p-understanding .p-understanding__inner {
  padding: 21.3333333333vw 5.3333333333vw 20vw;
}
.p-understanding .p-understanding__heading {
  font-size: 8.5333333333vw;
  font-weight: 700;
  line-height: 1.75;
  padding-bottom: 16vw;
  position: relative;
}
.p-understanding .p-understanding__heading::after {
  content: "";
  position: absolute;
  top: -13.3333333333vw;
  right: 2.6666666667vw;
  width: 26.6666666667vw;
  height: 30.4vw;
  background: url(../img/understanding_1.webp) center/cover no-repeat;
}
.p-understanding .p-understanding__card {
  background: white;
  padding: 12vw 6.4vw 9.3333333333vw;
  text-align: center;
  border-radius: 5.3333333333vw;
  border: 0.5333333333vw solid #008fff;
  position: relative;
}
.p-understanding .p-understanding__card:not(:last-of-type) {
  margin-bottom: 12vw;
}
.p-understanding .p-understanding-card__number {
  position: absolute;
  top: -8.8vw;
  left: 1.3333333333vw;
  width: 17.3333333333vw;
  height: 17.3333333333vw;
  background: #008fff;
  font-size: 8vw;
  color: white;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  font-weight: 900;
  font-family: "Noto Sans JP", serif;
}
.p-understanding .p-understanding-card__text1 {
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.63;
}
.p-understanding .p-understanding-card__text2 {
  font-size: 6.4vw;
  font-weight: 700;
  background: #ffef00;
  line-height: 167%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}
.p-understanding .p-understanding-card__text2 span {
  font-size: 3.2vw;
  padding-bottom: 3.2vw;
  line-height: 100%;
}
.p-understanding .p-understanding-card__text2__1 {
  width: 100%;
}
.p-understanding .p-understanding-card__text2__2 {
  width: 68.8vw;
}
.p-understanding .p-understanding-card__text2__3 {
  width: 65.3333333333vw;
}
.p-understanding .p-understanding__card__annotation {
  font-weight: 700;
  font-size: 2.6666666667vw;
  padding-top: 4.8vw;
  font-weight: 400;
  font-family: "Noto Sans JP", serif;
}
.p-understanding .p-understanding-points {
  padding: 21.3333333333vw 0 0;
}
.p-understanding .p-understanding-point {
  position: relative;
  background: #e0e0dc;
  padding: 10.6666666667vw 0px 7.4666666667vw;
  border-radius: 6.4vw;
  border: 0.5333333333vw solid black;
  position: relative;
}
.p-understanding .p-understanding-point::before {
  content: "";
  position: absolute;
  top: -20.2666666667vw;
  right: -3.7333333333vw;
  width: 50.1333333333vw;
  height: 32.8vw;
  background-image: url(../img/understanding_2.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-understanding .p-understanding-points__point {
  position: absolute;
  top: -12.5333333333vw;
  left: 4vw;
  width: 21.3333333333vw;
  height: 21.3333333333vw;
  background: #000;
  color: #ffffff;
  font-size: 5.3333333333vw;
  font-weight: 900;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP", serif;
}
.p-understanding .p-understanding-point__texts {
  padding: 0 5.3333333333vw 4.2666666667vw 6.6666666667vw;
}
.p-understanding .p-understanding-point__text1 {
  font-size: 5.3333333333vw;
  font-weight: 700;
  padding-bottom: 2.6666666667vw;
  letter-spacing: -0.16vw;
}
.p-understanding .p-understanding-point__text2 {
  font-size: 4vw;
  font-weight: 700;
  padding-bottom: 3.4666666667vw;
  letter-spacing: -0.16vw;
}
.p-understanding .p-understanding-point__text3 {
  font-weight: 500;
  font-size: 2.6666666667vw;
}
.p-understanding .p-understanding-point__img {
  padding: 0 5.3333333333vw 0 1.8666666667vw;
}

.p-result {
  padding: 16vw 0 0;
  background: #ffef00;
}
.p-result .p-result__textwrap {
  padding: 0 5.3333333333vw 18.1333333333vw;
}
.p-result .p-result__texts {
  font-size: 8.5333333333vw;
  font-weight: 700;
  line-height: 1.62;
}
.p-result .p-result__texts:nth-of-type(1) {
  padding-bottom: 11.7333333333vw;
}
.p-result .p-result__between {
  font-size: 6.9333333333vw;
  color: white;
  font-weight: 700;
  background: #008fff;
  text-align: center;
  padding: 7.2vw 0;
  font-family: "Noto Sans JP", serif;
  line-height: 100%;
  position: relative;
}
.p-result .p-result__between::before {
  content: "";
  position: absolute;
  top: -2.6666666667vw;
  left: 0;
  width: 100%;
  height: 2.6666666667vw;
  background: url(../img/result_1.webp) center/cover no-repeat;
}
.p-result .p-result__between::after {
  content: "";
  position: absolute;
  bottom: -2.6666666667vw;
  left: 0;
  width: 100%;
  height: 2.9333333333vw;
  background: url(../img/result_2.webp) center/cover no-repeat;
}
.p-result .p-resul-solution {
  padding: 14.6666666667vw 0 0 0;
}
.p-result .p-resul-solution__h2 {
  font-size: 11.2vw;
  font-weight: 700;
  text-align: center;
  line-height: 130%;
  padding-bottom: 9.6vw;
  font-family: "Noto Sans JP", serif;
}
.p-result .p-change__cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2.6666666667vw;
  padding-bottom: 5.3333333333vw;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 94.6666666667vw;
  margin: 0 auto;
}
.p-result .p-change__card {
  border: 0.5333333333vw solid black;
  background: white;
  width: 29.3333333333vw;
  height: 29.3333333333vw;
  border-radius: 26.6666666667vw;
  font-size: 7.7333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 110%;
  padding-top: 6.4vw;
}
.p-result .p-change-card__text2 {
  position: relative;
  padding-right: 4vw;
}
.p-result .p-change-card__text2::after {
  content: "";
  position: absolute;
  bottom: 1.8666666667vw;
  right: 6.1333333333vw;
  width: 4.5333333333vw;
  height: 5.8666666667vw;
  background-image: url(../img/arrow_top_blue.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-result .p-change-card__text2--img {
  width: 5.3333333333vw;
}
.p-result .p-change-title__text1 {
  font-size: 6.9333333333vw;
  font-weight: 700;
  background: white;
  font-family: "Noto Sans JP", serif;
  padding: 1.0666666667vw 6.4vw;
  border-radius: 6.4vw;
  max-width: 80vw;
  margin: 0 auto;
  text-align: center;
  line-height: 100%;
  padding: 1.0666666667vw 0 1.6vw;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 6.4vw;
}
.p-result .p-change-title__text2 {
  text-align: center;
  font-size: 10.6666666667vw;
  font-weight: 700;
  line-height: 120%;
}
.p-result .p-resul-solution__img {
  max-width: 93.3333333333vw;
  margin: 0 auto 10.6666666667vw;
}

.p-doubt {
  padding: 8vw 0 28.2666666667vw;
  background: gainsboro;
}
.p-doubt .p-doubt__inner {
  padding: 0 5.3333333333vw;
}
.p-doubt .p-doubt__h2 {
  font-size: 8.5333333333vw;
  font-weight: 700;
  padding-bottom: 12.8vw;
}
.p-doubt .p-doubt__text {
  font-size: 4.8vw;
  font-weight: 700;
  padding-bottom: 21.3333333333vw;
  line-height: 1.6666666667;
}
.p-doubt .p-doubt__heading {
  font-size: 8.5333333333vw;
  font-weight: 700;
  text-align: center;
  padding-bottom: 6.6666666667vw;
}
.p-doubt .p-doubt__btn {
  font-size: 7.4666666667vw;
  font-weight: 700;
  background: #ffef00;
  max-width: 89.3333333333vw;
  height: 21.8666666667vw;
  border-radius: 10.6666666667vw;
  border: 1.0666666667vw solid white;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-shadow: 1.3333333333vw 2.6666666667vw 0px 0px black;
          box-shadow: 1.3333333333vw 2.6666666667vw 0px 0px black;
  position: relative;
}
.p-doubt .p-doubt__btn a {
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-doubt .p-doubt__btn:after {
  content: "";
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  border: 0;
  border-top: solid 0.8vw black;
  border-right: solid 0.8vw black;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 4.8vw;
  bottom: 0;
  margin: auto;
}
.p-doubt .p-doubt__btn2 {
  font-size: 7.4666666667vw;
  font-weight: 700;
  background: #ff9c67;
  margin-top: 5.3333333333vw;
  max-width: 89.3333333333vw;
  height: 21.8666666667vw;
  border-radius: 10.6666666667vw;
  border: 1.0666666667vw solid white;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  line-height: 100%;
  -webkit-box-shadow: 1.3333333333vw 2.6666666667vw 0px 0px black;
          box-shadow: 1.3333333333vw 2.6666666667vw 0px 0px black;
  position: relative;
}
.p-doubt .p-doubt__btn2 a {
  width: 100%;
  height: 100%;
  padding-top: 2.6666666667vw;
}
.p-doubt .p-doubt__btn2:after {
  content: "";
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  border: 0;
  border-top: solid 0.8vw black;
  border-right: solid 0.8vw black;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 4.8vw;
  bottom: 0;
  margin: auto;
}
.p-doubt .p-doubt-btn2__child1 {
  font-weight: 700;
  padding-bottom: 0px;
}
.p-doubt .p-doubt-btn2__child2 {
  font-size: 5.3333333333vw;
  font-weight: 700;
}

.p-type {
  padding: 0px 0;
  background: #ffef00;
  position: relative;
}
.p-type__2 {
  background: #ff9c67;
}
.p-type .p-type__inner {
  padding: 14.4vw 6.6666666667vw 30.4vw;
}
.p-type .p-type-diagnosis__h2 {
  position: absolute;
  top: -4.5333333333vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 5.3333333333vw;
  font-weight: 700;
  background: white;
  border-radius: 6.4vw;
  border: 0.5333333333vw solid black;
  max-width: 84.2666666667vw;
  width: 100%;
  text-align: center;
  margin: 0 auto;
  line-height: 100%;
  padding: 1.6vw 0;
  z-index: 1;
}
.p-type .p-type__titles {
  padding-top: 13.3333333333vw;
  padding-bottom: 10.6666666667vw;
  background: #000;
  position: relative;
}
.p-type .p-type__titles::after {
  content: "";
  position: absolute;
  bottom: -2.6666666667vw;
  left: 0;
  width: 100%;
  height: 2.6666666667vw;
  background: url(../img/management_1.webp) center/cover no-repeat;
}
.p-type .p-type__h2 {
  font-size: 8.5333333333vw;
  font-weight: 700;
  line-height: 130%;
  text-align: center;
  padding-bottom: 1.3333333333vw;
  color: white;
}
.p-type .p-type-cards {
  display: grid;
  gap: 8vw 0px;
  margin-bottom: 10.6666666667vw;
}
.p-type .p-type-cards {
  margin-bottom: 8.8vw;
}
.p-type .p-type-card {
  position: relative;
}
.p-type .p-type-card:nth-of-type(1)::after {
  content: "";
  position: absolute;
  top: -2.4vw;
  left: 0.8vw;
  width: 19.4666666667vw;
  height: 20.5333333333vw;
  background-image: url(../img/management_2.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-type .p-type-card:nth-of-type(2)::after {
  content: "";
  position: absolute;
  top: -4.2666666667vw;
  left: 1.3333333333vw;
  width: 19.4666666667vw;
  height: 22.6666666667vw;
  background-image: url(../img/management_3.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-type .p-type-card:nth-of-type(3)::after {
  content: "";
  position: absolute;
  top: -4.2666666667vw;
  left: 1.3333333333vw;
  width: 19.4666666667vw;
  height: 21.8666666667vw;
  background-image: url(../img/management_4.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-type .p-type-card:nth-of-type(4)::after {
  content: "";
  position: absolute;
  top: -3.2vw;
  left: 1.3333333333vw;
  width: 19.4666666667vw;
  height: 21.3333333333vw;
  background-image: url(../img/management_5.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-type .p-type-card__2 {
  position: relative;
}
.p-type .p-type-card__2:nth-of-type(1)::after {
  content: "";
  position: absolute;
  top: -3.2vw;
  left: 1.3333333333vw;
  width: 19.4666666667vw;
  height: 22.4vw;
  background-image: url(../img/executives_1.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-type .p-type-card__2:nth-of-type(2)::after {
  content: "";
  position: absolute;
  top: -3.2vw;
  left: 1.3333333333vw;
  width: 18.9333333333vw;
  height: 20.5333333333vw;
  background-image: url(../img/executives_2.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-type .p-type-card__2:nth-of-type(3)::after {
  content: "";
  position: absolute;
  top: -3.2vw;
  left: 1.3333333333vw;
  width: 19.4666666667vw;
  height: 20.8vw;
  background-image: url(../img/executives_3.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-type .p-type-card__2:nth-of-type(4)::after {
  content: "";
  position: absolute;
  top: -3.2vw;
  left: 1.3333333333vw;
  width: 19.4666666667vw;
  height: 21.0666666667vw;
  background-image: url(../img/executives_4.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-type .p-type-card__heading {
  background: #008fff;
  color: white;
  font-size: 5.8666666667vw;
  font-weight: 900;
  line-height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-left: 22.6666666667vw;
  line-height: 120%;
  height: 15.2vw;
  border-radius: 5.3333333333vw 5.3333333333vw 0 0;
}
.p-type .p-type-card__texts {
  background: white;
  padding: 7.7333333333vw 5.8666666667vw 5.6vw;
  border-radius: 0 0 5.3333333333vw 5.3333333333vw;
  border-right: 0.5333333333vw solid #008fff;
  border-left: 0.5333333333vw solid #008fff;
  border-bottom: 0.5333333333vw solid #008fff;
}
.p-type .p-type-card__text1 {
  color: #008fff;
  font-weight: 900;
  font-size: 5.8666666667vw;
  text-align: left;
  padding-bottom: 4.8vw;
  letter-spacing: -0.4vw;
  line-height: 130%;
}
.p-type .p-type-card__text2 {
  font-size: 4.2666666667vw;
  font-weight: 400;
  font-family: "Noto Sans JP", serif;
}
.p-type .p-type-diagnosis {
  margin: 0 auto;
}
.p-type .p-type-diagnosis__p {
  font-size: 5.0666666667vw;
  font-weight: 700;
  padding-bottom: 1.0666666667vw;
  line-height: 130%;
}
.p-type .p-media {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  max-width: 84.2666666667vw;
  margin-bottom: 8vw;
}
.p-type .p-media__txt {
  font-size: 11.2vw;
  font-weight: 900;
  position: relative;
}
.p-type .p-media__txt::before {
  content: "";
  position: absolute;
  top: 16.5333333333vw;
  left: 0;
  width: 35.2vw;
  height: 1.6vw;
  background: url(../img/nami.svg) center/cover no-repeat;
}
.p-type .p-media__txt::after {
  content: "";
  position: absolute;
  top: 34.9333333333vw;
  left: 0;
  width: 45.8666666667vw;
  height: 1.6vw;
  background: url(../img/nami2.svg) center/cover no-repeat;
}
.p-type .p-media__img {
  max-width: 26.1333333333vw;
  width: 100%;
}
.p-type .p-doubt__btn {
  font-size: 7.4666666667vw;
  font-weight: 700;
  background: #008fff;
  color: #ffffff;
  max-width: 89.3333333333vw;
  height: 21.8666666667vw;
  border-radius: 10.6666666667vw;
  border: 1.0666666667vw solid #ffffff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-shadow: 1.3333333333vw 2.6666666667vw 0px 0px black;
          box-shadow: 1.3333333333vw 2.6666666667vw 0px 0px black;
  position: relative;
}
.p-type .p-doubt__btn a {
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-type .p-doubt__btn:after {
  content: "";
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  border: 0;
  border-top: solid 0.8vw #ffffff;
  border-right: solid 0.8vw #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 4.8vw;
  bottom: 0;
  margin: auto;
}

.p-type-reinforcement .p-type-reinforcement__inner {
  padding: 17.0666666667vw 6.4vw 14.4vw;
}
.p-type-reinforcement .p-type-reinforcement__text1 {
  font-size: 5.0666666667vw;
  font-weight: 700;
  padding-bottom: 5.3333333333vw;
  position: relative;
}
.p-type-reinforcement .p-type-reinforcement__text1::after {
  content: "";
  position: absolute;
  top: -23.2vw;
  right: 0;
  width: 26.6666666667vw;
  height: 30.9333333333vw;
  background: url(../img/reinforcement_1.webp) center/cover no-repeat;
}
.p-type-reinforcement .p-type-reinforcement__h2 {
  font-size: 8.5333333333vw;
  font-weight: 700;
}

.p-type-flow {
  padding: 18.6666666667vw 0 10.1333333333vw;
  background: #e0e0dc;
}
.p-type-flow .p-type-flow__inner {
  padding: 0 5.3333333333vw;
}
.p-type-flow .p-type-flow__titles {
  text-align: center;
  padding-bottom: 16vw;
}
.p-type-flow .p-type-flow-title__heading {
  color: #008fff;
  font-weight: 700;
  font-size: 6.4vw;
}
.p-type-flow .p-type-flow__h3 {
  font-size: 5.0666666667vw;
  font-weight: 700;
}
.p-type-flow .p-type-flow__h2 {
  font-size: 8.5333333333vw;
  font-weight: 700;
}
.p-type-flow .p-type-flow__card {
  background: white;
  padding: 10.6666666667vw 5.3333333333vw 8vw;
  text-align: center;
  border-radius: 3.2vw;
  position: relative;
}
.p-type-flow .p-type-flow__card:not(:last-of-type) {
  margin-bottom: 11.7333333333vw;
  position: relative;
}
.p-type-flow .p-type-flow__card:not(:last-of-type)::after {
  content: "";
  position: absolute;
  bottom: -8vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 7.4666666667vw;
  height: 4.1333333333vw;
  background-image: url(../img/arrow_bottom_blue.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-type-flow .p-type-flow-card__number {
  position: absolute;
  top: -8.5333333333vw;
  left: 1.3333333333vw;
  width: 17.3333333333vw;
  height: 17.3333333333vw;
  color: black;
  background: #ffef00;
  border-radius: 50%;
  font-weight: 900;
  font-size: 8vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP", serif;
}
.p-type-flow .p-type-flow__heading {
  font-size: 5.8666666667vw;
  font-weight: 700;
  padding-bottom: 5.8666666667vw;
  line-height: 100%;
  letter-spacing: -0.4vw;
}
.p-type-flow .p-type-flow__text {
  font-size: 4.2666666667vw;
  font-weight: 400;
  font-family: "Noto Sans JP", serif;
  text-align: left;
}

.p-type-flow-case {
  background: #e0e0dc;
  padding-right: 5.3333333333vw;
  padding-bottom: 37.3333333333vw;
  position: relative;
}
.p-type-flow-case::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 56.5333333333vw;
  background-image: url(../img/case_3.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-type-flow-case .p-type-flow-case__inner {
  background: #ffef00;
  border-radius: 0 4.2666666667vw 4.2666666667vw 0;
  padding: 10.1333333333vw 0 16vw 0;
}
.p-type-flow-case .p-type-flow-case__titles {
  max-width: 42.6666666667vw;
  margin: 0 auto;
  padding-bottom: 7.4666666667vw;
}
.p-type-flow-case .p-type-flow-case__h2 {
  color: #008fff;
  font-size: 6.4vw;
  font-weight: 700;
  text-align: center;
  line-height: 100%;
  padding-bottom: 2.1333333333vw;
}
.p-type-flow-case .p-type-flow-case__title {
  font-size: 8.5333333333vw;
  font-weight: 700;
  line-height: 100%;
}
.p-type-flow-case .p-type-flow-case__card1 {
  padding-right: 5.8666666667vw;
  padding-bottom: 10.6666666667vw;
}
.p-type-flow-case .p-type-flow-case__card2 {
  padding-left: 10.6666666667vw;
}
.p-type-flow-case .p-type-flow-case__img {
  padding-bottom: 5.3333333333vw;
}
.p-type-flow-case .p-type-flow-case-card-texts1 {
  max-width: 77.3333333333vw;
  width: 100%;
  margin-left: auto;
}
.p-type-flow-case .p-type-flow-case-card-texts2 {
  max-width: 77.3333333333vw;
}
.p-type-flow-case .p-type-flow-case__heading {
  font-size: 5.8666666667vw;
  font-weight: 900;
  line-height: 130%;
  padding-bottom: 5.8666666667vw;
}
.p-type-flow-case .p-type-flow-case__text {
  font-size: 4.2666666667vw;
  font-weight: 400;
  font-family: "Noto Sans JP", serif;
}

.p-company {
  padding: 13.3333333333vw 0 0px;
}
.p-company .p-company__subtitle {
  font-size: 6.4vw;
  color: #008fff;
  font-weight: 700;
  text-align: center;
  line-height: 100%;
  padding-bottom: 5.3333333333vw;
}
.p-company .p-company__title {
  font-size: 7.7333333333vw;
  font-weight: 700;
  text-align: center;
  padding-bottom: 7.4666666667vw;
}
.p-company .p-company__inner {
  padding: 30.6666666667vw 6.6666666667vw 0;
  background: #e0e0dc;
}
.p-company .p-company__card {
  position: relative;
  background: white;
  padding: 41.3333333333vw 5.3333333333vw 10.6666666667vw;
  border-radius: 4.2666666667vw;
  z-index: 1;
}
.p-company .p-company__card:not(:last-of-type) {
  margin-bottom: 26.6666666667vw;
}
.p-company .p-company__card__2 {
  padding: 45.3333333333vw 5.3333333333vw 8vw;
}
.p-company .p-company__img {
  position: absolute;
  top: -21.3333333333vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 57.0666666667vw;
  height: 57.0666666667vw;
  margin: 0 auto;
}
.p-company .p-company__heading {
  font-size: 5.8666666667vw;
  font-weight: 900;
  margin-bottom: 16vw;
  line-height: 100%;
  text-align: center;
  position: relative;
}
.p-company .p-company__heading::after {
  content: "";
  position: absolute;
  bottom: -7.4666666667vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 21.8666666667vw;
  height: 1.3333333333vw;
  background: #ffef00;
}
.p-company .p-company__p1 {
  font-size: 4.2666666667vw;
  font-weight: 400;
  line-height: 160%;
  font-family: "Noto Sans JP", serif;
}
.p-company .p-company-consulting__img {
  position: absolute;
  top: -17.3333333333vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 57.0666666667vw;
  height: 57.0666666667vw;
  margin: 0 auto;
}
.p-company .p-company-consulting__details {
  margin-bottom: 5.3333333333vw;
  position: relative;
}
.p-company .p-company-consulting__occupation {
  font-size: 5.8666666667vw;
  font-weight: 900;
  text-align: center;
  line-height: 100%;
  margin-bottom: 16vw;
  position: relative;
}
.p-company .p-company-consulting__occupation::after {
  content: "";
  position: absolute;
  bottom: -8vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 21.8666666667vw;
  height: 1.3333333333vw;
  background: #ffef00;
}
.p-company .p-company-consulting__company {
  font-size: 4.2666666667vw;
  font-weight: 700;
}
.p-company .p-company-consulting__name {
  font-size: 4.2666666667vw;
  font-weight: 700;
}
.p-company .p-company-consulting__name span {
  font-size: 4.2666666667vw;
  font-weight: 700;
  padding-right: 2.1333333333vw;
}
.p-company .p-company-consulting__p {
  font-size: 4.2666666667vw;
  font-weight: 400;
  line-height: 160%;
  font-family: "Noto Sans JP", serif;
}

.footer {
  background: #ffef00;
  padding: 2.6666666667vw 0 8vw;
  position: relative;
}
.footer::before {
  content: "";
  position: absolute;
  top: -31.7333333333vw;
  left: 0;
  width: 100%;
  height: 32vw;
  background: #ffef00;
}
.footer .footer__img {
  padding-bottom: 4.2666666667vw;
  max-width: 89.8666666667vw;
  margin: 0 auto;
}
.footer .p-doubt__btn {
  font-size: 7.4666666667vw;
  font-weight: 700;
  background: #008fff;
  color: #ffffff;
  max-width: 89.3333333333vw;
  width: 100%;
  margin: 0 auto;
  height: 21.8666666667vw;
  border-radius: 10.6666666667vw;
  border: 1.0666666667vw solid white;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-shadow: 1.3333333333vw 2.6666666667vw 0px 0px black;
          box-shadow: 1.3333333333vw 2.6666666667vw 0px 0px black;
  position: relative;
}
.footer .p-doubt__btn a {
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer .p-doubt__btn:after {
  content: "";
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  border: 0;
  border-top: solid 0.8vw #ffffff;
  border-right: solid 0.8vw #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 4.8vw;
  bottom: 0;
  margin: auto;
}
.footer .footer__copyright {
  padding-top: 9.6vw;
  font-size: 3.2vw;
  font-weight: 400;
  font-family: "Noto Sans JP", serif;
  text-align: center;
}

@-webkit-keyframes yellowOverlay {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}

@keyframes yellowOverlay {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
.overlay {
  position: relative;
}

.overlay-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffef00;
  -webkit-animation: yellowOverlay 1s forwards;
          animation: yellowOverlay 1s forwards;
  border-radius: 1.4666666667vw;
}

/* 文字全体を左から出現させる */
.text-content {
  display: inline-block;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  opacity: 0;
  white-space: nowrap; /* 途中で折り返しを防ぐ */
}

.text-up {
  font-family: "Roboto Mono", monospace;
  font-size: 5vw;
  font-weight: 700;
  text-transform: uppercase;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}

.text-up.is-active {
  -webkit-animation: text-up 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
          animation: text-up 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@-webkit-keyframes text-up {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3) translateY(150%);
            transform: scale(0.3) translateY(150%);
  }
  30% {
    opacity: 1;
  }
  75% {
    -webkit-transform: scale(1.2) translateY(-30%);
            transform: scale(1.2) translateY(-30%);
  }
  100% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
}

@keyframes text-up {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3) translateY(150%);
            transform: scale(0.3) translateY(150%);
  }
  30% {
    opacity: 1;
  }
  75% {
    -webkit-transform: scale(1.2) translateY(-30%);
            transform: scale(1.2) translateY(-30%);
  }
  100% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
}
.text-up2 {
  font-family: "Roboto Mono", monospace;
  font-size: 5vw;
  font-weight: 700;
  text-transform: uppercase;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}

.text-up2.is-active {
  -webkit-animation: text-up 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
          animation: text-up 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@-webkit-keyframes text-up2 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3) translateY(150%);
            transform: scale(0.3) translateY(150%);
  }
  30% {
    opacity: 1;
  }
  75% {
    -webkit-transform: scale(1.2) translateY(-30%);
            transform: scale(1.2) translateY(-30%);
  }
  100% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
}

@keyframes text-up2 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3) translateY(150%);
            transform: scale(0.3) translateY(150%);
  }
  30% {
    opacity: 1;
  }
  75% {
    -webkit-transform: scale(1.2) translateY(-30%);
            transform: scale(1.2) translateY(-30%);
  }
  100% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
}
.js-marker__yellow {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(67%, transparent), color-stop(0%, #ffef00));
  background-image: -webkit-linear-gradient(top, transparent 67%, #ffef00 0%);
  background-image: linear-gradient(to bottom, transparent 67%, #ffef00 0%);
  background-size: 0 92%;
  background-repeat: no-repeat;
}

.js-marker__yellow2 {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(67%, transparent), color-stop(0%, #ffef00));
  background-image: -webkit-linear-gradient(top, transparent 67%, #ffef00 0%);
  background-image: linear-gradient(to bottom, transparent 67%, #ffef00 0%);
  background-size: 0 92%;
  background-repeat: no-repeat;
}

.js-marker__yellow3 {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(67%, transparent), color-stop(0%, #ffef00));
  background-image: -webkit-linear-gradient(top, transparent 67%, #ffef00 0%);
  background-image: linear-gradient(to bottom, transparent 67%, #ffef00 0%);
  background-size: 0 92%;
  background-repeat: no-repeat;
}

.js-marker__blue {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(72%, transparent), color-stop(0%, #008fff));
  background-image: -webkit-linear-gradient(top, transparent 72%, #008fff 0%);
  background-image: linear-gradient(to bottom, transparent 72%, #008fff 0%);
  background-size: 0 105%;
  background-repeat: no-repeat;
}

.wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}