@charset "UTF-8";
.p_top .search .form_search .nice-select, .p_top .search_txt {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p_top .search .form_search .nice-select, .p_top .search_txt {
    font-size: 1rem;
  }
}

.p_top04 .c_ttl__en {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p_top04 .c_ttl__en {
    font-size: 1.1875rem;
  }
}

.p_top01__banner .banner_subtxt {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_subtxt {
    font-size: 1.5rem;
  }
}

.p_top .mv_content .bracket::after, .p_top .mv_content .bracket::before {
  font-size: 1.375rem;
}
@media screen and (min-width: 768px) {
  .p_top .mv_content .bracket::after, .p_top .mv_content .bracket::before {
    font-size: clamp(
      1.75rem,
      1.5625vw + 1rem,
      2rem
  );
  }
}

.p_top {
  overflow: hidden;
}
.p_top .mv {
  height: 454px;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_top .mv {
    height: 653px;
  }
}
@media screen and (min-width: 1024px) {
  .p_top .mv {
    height: 100vh;
  }
}
.p_top .mv_content {
  width: 100%;
  max-width: 995px;
  margin: 0 auto;
  transform: translateX(20px);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3695652174;
  letter-spacing: 0.35em;
  padding-left: 27px;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p_top .mv_content {
    font-size: 2.875rem;
    padding-top: 79px;
    padding-left: 18px;
    letter-spacing: 0.25em;
  }
}
.p_top .mv_content .txt01 {
  color: transparent;
  background: linear-gradient(90deg, #535e75 0%, #9cb0db 37%, #535e75 100%);
  -webkit-background-clip: text;
  background-clip: text;
  display: inline-block;
}
.p_top .mv_content .txt02 {
  margin-top: 20px;
  color: transparent;
  background: linear-gradient(90deg, #7e8fb1 80%, #535e75 100%);
  -webkit-background-clip: text;
  background-clip: text;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p_top .mv_content .txt02 {
    margin-top: 25px;
  }
}
.p_top .mv_content .txt03 {
  margin-top: 20px;
  color: transparent;
  background: linear-gradient(75deg, #535e75 0%, #9cb0db 46%, #535e75 100%);
  -webkit-background-clip: text;
  background-clip: text;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p_top .mv_content .txt03 {
    margin-top: 30px;
  }
}
.p_top .mv_content .bracket {
  position: relative;
  margin-right: 7px;
  color: transparent;
  background: linear-gradient(90deg, #535e75 0%, #9cb0db 80%, #7e8fb1 100%);
  -webkit-background-clip: text;
  background-clip: text;
  display: inline-block;
}
.p_top .mv_content .bracket::after, .p_top .mv_content .bracket::before {
  position: absolute;
  top: -7px;
  color: #535e75;
}
.p_top .mv_content .bracket::after {
  content: "”";
  right: -12px;
}
@media screen and (min-width: 768px) {
  .p_top .mv_content .bracket::after {
    right: -15px;
  }
}
.p_top .mv_content .bracket::before {
  content: "“";
  left: -14px;
}
@media screen and (min-width: 768px) {
  .p_top .mv_content .bracket::before {
    left: -20px;
  }
}
.p_top .mv_shape {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
@media screen and (min-width: 1024px) {
  .p_top .mv_shape {
    width: 100vw;
    height: 100vh;
  }
}
.p_top .mv_shape.shape01 {
  left: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p_top .mv_shape.shape01 {
    top: 10%;
  }
}
.p_top .mv_shape.shape02 {
  right: 0;
  top: 0;
}
.p_top .mv .shape_img01,
.p_top .mv .shape_img02,
.p_top .mv .shape_img03,
.p_top .mv .shape_img04,
.p_top .mv .shape_img05,
.p_top .mv .shape_img06,
.p_top .mv .shape_img07,
.p_top .mv .shape_img08 {
  position: absolute;
}
.p_top .mv .shape_img01 {
  width: 84%;
  height: 60%;
  z-index: 4;
  left: -17%;
  top: 17%;
  transform: rotate(7deg);
  animation: over_auto3 8s linear 0s infinite both;
  filter: blur(30px);
  will-change: filter;
}
@media screen and (min-width: 768px) {
  .p_top .mv .shape_img01 {
    width: 51.9%;
    height: 100%;
    left: -161px;
    top: -13.2%;
  }
}
.p_top .mv .shape_img02 {
  width: 91%;
  height: 80%;
  z-index: 3;
  left: -15%;
  top: 18.3%;
  transform: rotate(7deg);
  animation: over_auto2 8s linear 0s infinite both;
  filter: blur(50px);
  will-change: filter;
}
@media screen and (min-width: 768px) {
  .p_top .mv .shape_img02 {
    width: 59%;
    left: -165px;
    top: -14.7%;
    transform: rotate(0);
  }
}
.p_top .mv .shape_img03 {
  width: 97%;
  height: 50%;
  z-index: 2;
  left: -11%;
  top: 20%;
  transform: rotate(7deg);
  animation: over_auto1 8s linear 0s infinite both;
  filter: blur(80px);
  will-change: filter;
}
@media screen and (min-width: 768px) {
  .p_top .mv .shape_img03 {
    width: 64.3%;
    left: -159px;
    top: -14.3%;
    transform: rotate(0);
  }
}
.p_top .mv .shape_img04 {
  height: 40%;
  z-index: 1;
  filter: blur(100px);
  will-change: filter;
  width: 133%;
  top: 30%;
  left: -16%;
  transform: rotate(8.2deg);
}
@media screen and (min-width: 768px) {
  .p_top .mv .shape_img04 {
    width: 85.4%;
    top: 3.6%;
    left: 0;
    transform: rotate(0);
  }
}
.p_top .mv .shape_img05 {
  width: 36%;
  height: 42%;
  z-index: 2;
  right: -6%;
  top: 14.4%;
  animation: over_auto3 8s linear 0s infinite both;
  filter: blur(30px);
  will-change: filter;
}
@media screen and (min-width: 768px) {
  .p_top .mv .shape_img05 {
    width: 22%;
    right: 0%;
  }
}
.p_top .mv .shape_img06 {
  animation: over_auto2 8s linear 0s infinite both;
  will-change: filter;
  filter: blur(50px);
  width: 41%;
  height: 42%;
  z-index: 2;
  right: -6%;
  top: 13.3%;
}
@media screen and (min-width: 768px) {
  .p_top .mv .shape_img06 {
    width: 28.1%;
    right: 0%;
    top: 5.7%;
  }
}
.p_top .mv .shape_img07 {
  animation: over_auto1 8s linear 0s infinite both;
  filter: blur(80px);
  will-change: filter;
  width: 46.5%;
  height: 50%;
  z-index: 2;
  right: -7.2%;
  top: 11.6%;
  transform: rotate(2deg);
}
@media screen and (min-width: 768px) {
  .p_top .mv .shape_img07 {
    transform: rotate(0);
    width: 32.5%;
    right: -0.6%;
    top: 2%;
  }
}
.p_top .mv .shape_img08 {
  width: 70%;
  height: 40%;
  z-index: 1;
  top: 13%;
  right: -18%;
  transform: rotate(2deg);
  filter: blur(100px);
  will-change: filter;
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  .p_top .mv .shape_img08 {
    transform: rotate(0);
    width: 58.6%;
    top: -9%;
    right: -21.8%;
  }
}
.p_top .mv_scroll {
  position: absolute;
  left: clamp(
      0rem,
      18.75vw + -14.0625rem,
      2.8125rem
  );
  bottom: 31%;
  transform: rotate(-90deg);
  display: none;
}
@media screen and (min-width: 1024px) {
  .p_top .mv_scroll {
    display: block;
  }
}
.p_top .mv_scroll::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -5px;
  height: 1px;
  width: 318px;
  background-color: #b5cbf3;
}
.p_top .mv_scroll__txt {
  color: #b5cbf3;
  font-size: 1.5rem;
  font-family: "Khand", sans-serif;
  letter-spacing: 0.05em;
}
.p_top .search {
  width: calc(100% - 40px);
  right: 20px;
  max-width: 378px;
  position: fixed;
  z-index: 16;
  transition: 0.5s;
  bottom: -340px;
}
@media screen and (min-width: 768px) {
  .p_top .search {
    bottom: unset;
    top: calc(100% - 60px);
    width: 75%;
    right: 7%;
  }
}
@media screen and (min-width: 1024px) {
  .p_top .search {
    width: 100%;
    right: 14%;
    top: calc(50% + 37px);
    transform: translateY(-50%);
  }
}
.p_top .search::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/top/bg_search_sp.png") no-repeat;
  background-size: 100% 100%;
  z-index: -1;
  pointer-events: none;
}
@media screen and (min-width: 1024px) {
  .p_top .search::after {
    background: url("../images/top/bg_search.png") no-repeat;
    background-size: 100% 100%;
  }
}
.p_top .search.no_click {
  pointer-events: none;
}
.p_top .search.is_fixed {
  top: unset;
  bottom: 40px;
  z-index: 22;
  width: calc(100% - 40px);
  right: 20px;
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed {
    width: 75%;
    bottom: unset;
    right: unset;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (min-width: 1024px) {
  .p_top .search.is_fixed {
    transform: translateY(0);
    top: unset;
    left: unset;
    bottom: 56px;
    right: 40px;
    max-width: 279px;
  }
}
.p_top .search.is_fixed.scale {
  transform: translateY(0) scale(0.75);
  bottom: -10px;
  right: 5px;
}
.p_top .search.is_fixed + .search_mask {
  opacity: 0.8;
  visibility: visible;
  pointer-events: all;
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .search_content {
    padding: 14px 23px 22px 27px;
  }
}
.p_top .search.is_fixed .search_ttl {
  padding: 10px 7px 4px 10px;
}
.p_top .search.is_fixed .search_ttl__jp {
  font-size: clamp(
      0.875rem,
      7.2727272727vw + -0.5795454545rem,
      1.125rem
  );
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .search_ttl__en::after {
    top: 50%;
  }
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .search_txt {
    margin-top: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1024px) {
  .p_top .search.is_fixed .search_txt::after, .p_top .search.is_fixed .search_txt::before {
    width: 18px;
  }
}
.p_top .search.is_fixed .submit_txt {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .form_search .icon {
    left: calc(50% - 8px);
    top: 64px;
  }
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .form_search__select {
    gap: 33px;
  }
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .form_search button {
    height: 56px;
  }
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .form_search button::before {
    top: calc(-300% - clamp(
      1.25rem,
      -2.9761904762vw + 3.9285714286rem,
      2.5rem
  ));
  }
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .form_search__btn {
    padding-top: 22px;
  }
}
.p_top .search.is_fixed .box01 .nice-select.open .list {
  transform: scale(1) translateY(-6px);
}
.p_top .search.is_fixed .box01 .nice-select.open .list::before {
  height: 507px;
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .box01 .nice-select.open .list::before {
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .box01 .nice-select.open .list {
    transform: scale(1) translateY(-50%);
  }
}
.p_top .search.is_fixed .box02 .nice-select.open .list {
  transform: scale(1) translateY(-50%);
}
@media screen and (min-width: 768px) {
  .p_top .search.is_fixed .box02 .nice-select.open .list {
    transform: scale(1) translateY(-44%);
  }
}
@media screen and (min-width: 1024px) {
  .p_top .search.is_fixed .box02 .nice-select.open .list {
    transform: scale(1) translateY(-22%);
  }
}
.p_top .search.is_fixed .box02 .nice-select.open .list::before {
  height: 100%;
}
@media screen and (min-width: 1024px) {
  .p_top .search.is_fixed .box02 .nice-select .list {
    top: -28px;
  }
}
.p_top .search_mask {
  background-color: #d7d7d7;
  position: fixed;
  z-index: 21;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 300ms ease-out;
}
@media screen and (min-width: 1024px) {
  .p_top .search_mask {
    display: none;
  }
}
.p_top .search_ttl {
  width: 60%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  padding: 6px 9px 4px 10px;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .p_top .search_ttl {
    padding: 10px 15px 4px 10px;
  }
}
@media screen and (min-width: 1024px) {
  .p_top .search_ttl {
    width: 72%;
  }
}
.p_top .search_ttl__en {
  color: #ffdcd2;
  font-family: "Khand", sans-serif;
  line-height: 1.5384615385;
  letter-spacing: 0.12em;
  position: relative;
  display: block;
  width: 100%;
  text-align: right;
  font-size: 0.8125rem;
}
@media screen and (min-width: 1024px) {
  .p_top .search_ttl__en {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}
.p_top .search_ttl__jp {
  color: #fff;
  font-size: clamp(
      0.875rem,
      7.2727272727vw + -0.5795454545rem,
      1.125rem
  );
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0.11em;
  position: relative;
  transition: 0.5s;
}
.p_top .search_ttl__jp::after {
  content: "・・・・";
  line-height: 1;
  position: absolute;
  left: 3px;
  bottom: calc(100% - 3px);
  color: #ffdcd2;
  font-size: 0.6em;
  letter-spacing: 0.8em;
}
@media screen and (min-width: 1024px) {
  .p_top .search_ttl__jp {
    font-size: 1.5rem;
  }
}
.p_top .search_content {
  width: 100%;
  border-radius: 10px;
  border-top-left-radius: 0;
  padding: 30px 20px;
}
@media screen and (min-width: 768px) {
  .p_top .search_content {
    padding: 35px clamp(
      1.4375rem,
      1.6344725111vw + 0.65397474rem,
      2.125rem
  ) 22px 32px;
  }
}
.p_top .search .form_search__select {
  width: 100%;
  position: relative;
  display: flex;
  gap: 42px;
  flex-direction: column;
}
.p_top .search .form_search .icon {
  width: 13px;
  height: 13px;
  position: absolute;
  left: calc(50% - 6px);
  top: 70px;
}
.p_top .search .form_search .nice-select {
  outline: 0;
  width: 100%;
  height: 53px;
  background-color: #fff;
  border-radius: 5px;
  font-weight: 700;
  color: #c7c7c7;
  letter-spacing: 0.05em;
  padding: 17px 20px 15px 15px;
}
.p_top .search .form_search .submit_txt {
  color: #fff;
  position: relative;
  z-index: 1;
}
.p_top .search .form_search__btn {
  padding-top: 33px;
}
.p_top .search .form_search button {
  width: 100%;
  height: 73px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  border: 1px solid #fff;
  background-color: rgba(255, 255, 255, 0.2);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  position: relative;
  padding: 20px 20px 20px clamp(
      1.25rem,
      36.3636363636vw + -6.0227272727rem,
      2.5rem
  );
  overflow: hidden;
  transition: 0.4s ease;
}
@media screen and (min-width: 768px) {
  .p_top .search .form_search button {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p_top .search .form_search button::before {
    content: "";
    position: absolute;
    top: -240%;
    left: -240%;
    background: #1266ba;
    width: 450px;
    padding-top: clamp(
      28.125rem,
      11.71875vw + 22.5rem,
      30rem
  );
    transition: 0.4s ease;
    transform: rotate(37deg);
  }
}
@media screen and (min-width: 1024px) {
  .p_top .search .form_search button::before {
    top: calc(-160% - clamp(
      1.25rem,
      -2.9761904762vw + 3.9285714286rem,
      2.5rem
  ));
    left: -200%;
    width: clamp(
      20rem,
      -5.9523809524vw + 25.3571428571rem,
      22.5rem
  );
    padding-top: clamp(
      20rem,
      -5.9523809524vw + 25.3571428571rem,
      22.5rem
  );
  }
}
@media screen and (min-width: 768px) {
  .p_top .search .form_search button:hover {
    opacity: 1;
  }
  .p_top .search .form_search button:hover::before {
    left: 0;
  }
}
.p_top .search .form_search button::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: clamp(
      0.625rem,
      25.4545454545vw + -4.4659090909rem,
      1.5rem
  );
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_search.png) no-repeat;
  background-size: contain;
}
.p_top .search_txt {
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.14em;
  text-align: center;
  position: relative;
  width: 100%;
  margin-top: 19px;
}
.p_top .search_txt::after, .p_top .search_txt::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(
      0.9375rem,
      19.0909090909vw + -2.8806818182rem,
      3.5625rem
  );
  height: 1px;
  background-color: #fff;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .p_top .search_txt::after, .p_top .search_txt::before {
    width: 57px;
  }
}
.p_top .search_txt::after {
  right: 0;
}
.p_top .search_txt::before {
  left: 0;
}
.p_top .search .btn_search {
  right: 24px;
  transform: translateY(-50%);
  background-color: #e86b48;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.13em;
  padding: 12px 5px 12px clamp(
      1.125rem,
      16.3636363636vw + -2.1477272727rem,
      1.6875rem
  );
  border-radius: 10px;
  z-index: 4;
  overflow: hidden;
  width: clamp(
      6.5625rem,
      21.8181818182vw + 2.1988636364rem,
      7.3125rem
  );
  position: absolute;
  top: 28px;
  right: clamp(
      -0.25rem,
      7.2727272727vw + -1.7045454545rem,
      0rem
  );
}
@media screen and (min-width: 768px) {
  .p_top .search .btn_search {
    top: clamp(
      1.5rem,
      0.4464285714vw + 1.2857142857rem,
      1.6875rem
  );
    width: 135px;
    padding: clamp(
      0.625rem,
      0.4464285714vw + 0.4107142857rem,
      0.8125rem
  ) 5px clamp(
      0.625rem,
      0.4464285714vw + 0.4107142857rem,
      0.8125rem
  ) 27px;
  }
}
.p_top .search .btn_search__txt {
  background: linear-gradient(180deg, rgb(232, 107, 72) 0%, rgb(251, 138, 107) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .p_top .search .btn_search {
    display: none;
  }
}
.p_top .search .btn_search::before {
  content: "";
  position: absolute;
  top: 50%;
  left: clamp(
      0.25rem,
      10.9090909091vw + -1.9318181818rem,
      0.625rem
  );
  width: 12px;
  height: 12px;
  background: url(../images/common/icon_tag.png) no-repeat;
  background-size: contain;
  transition: 0.5s;
  transform: translateY(-50%);
}
@media screen and (min-width: 1024px) {
  .p_top .search .btn_search::before {
    transform: translateY(0);
    left: 2px;
    top: 0;
    width: 20px;
    height: 20px;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .p_top .search .box01 .nice-select.open .list {
    transform: scale(1) translateY(-34%);
  }
}
@media screen and (min-width: 768px) {
  .p_top .search .box02 .nice-select.open .list {
    transform: scale(1) translateY(-40%);
  }
}
.p_top01 {
  margin-top: -43px;
  position: relative;
  z-index: 4;
}
@media screen and (min-width: 768px) {
  .p_top01 {
    margin-top: -34px;
  }
}
@media screen and (min-width: 768px) {
  .p_top01 .c_ttl__jp {
    padding-left: 10px;
  }
}
.p_top01 .c_btn {
  min-height: 46px;
}
@media screen and (min-width: 768px) {
  .p_top01 .c_btn {
    height: 70px;
  }
}
.p_top01__content {
  padding-top: 58px;
}
@media screen and (min-width: 768px) {
  .p_top01__content {
    padding-top: 66px;
  }
}
.p_top01__box + .p_top01__box {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p_top01__box + .p_top01__box {
    margin-top: 56px;
  }
}
@media screen and (min-width: 768px) {
  .p_top01__box.p_top01__box02 .box_content {
    padding-top: 31px;
  }
}
.p_top01__box.p_top01__box02 .box_item {
  gap: 21px 24px;
}
@media screen and (min-width: 768px) {
  .p_top01__box.p_top01__box02 .box_item {
    gap: 24px;
  }
}
.p_top01__box.p_top01__box02 .p_top01__ttl::after {
  width: calc(100% - 150px);
}
@media screen and (min-width: 768px) {
  .p_top01__box.p_top01__box02 .p_top01__ttl::after {
    width: calc(100% - 183px);
  }
}
.p_top01__box.p_top01__box02 .p_top01__ttl .ttl {
  width: 150px;
}
@media screen and (min-width: 768px) {
  .p_top01__box.p_top01__box02 .p_top01__ttl .ttl {
    width: 183px;
  }
}
.p_top01__ttl {
  width: 100%;
  position: relative;
}
.p_top01__ttl::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  height: 1px;
  background-color: #98b0eb;
  width: calc(100% - 120px);
}
@media screen and (min-width: 768px) {
  .p_top01__ttl::after {
    width: calc(100% - 150px);
  }
}
.p_top01__ttl .ttl {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #072c87;
  width: 120px;
}
@media screen and (min-width: 768px) {
  .p_top01__ttl .ttl {
    width: 150px;
    gap: 15px;
    letter-spacing: 0.2em;
  }
}
.p_top01__ttl .icon01 {
  width: 16px;
}
@media screen and (min-width: 768px) {
  .p_top01__ttl .icon01 {
    width: 20px;
  }
}
.p_top01__ttl .icon02 {
  width: 10px;
}
@media screen and (min-width: 768px) {
  .p_top01__ttl .icon02 {
    width: 14px;
  }
}
.p_top01 .box_content {
  padding-top: 12px;
}
@media screen and (min-width: 768px) {
  .p_top01 .box_content {
    padding-top: 35px;
    padding-right: clamp(
      0rem,
      25vw + -18.75rem,
      3.75rem
  );
  }
}
.p_top01 .box_item {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp( 8.125rem, 12.7551020408vw + 5.1355229592rem, 11.25rem ), 1fr));
  gap: 17px 24px;
}
@media screen and (min-width: 768px) {
  .p_top01 .box_item {
    gap: 27px 24px;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  }
}
.p_top01 .box_item + .box_item {
  padding-top: 14px;
}
@media screen and (min-width: 768px) {
  .p_top01 .box_item + .box_item {
    padding-top: 27px;
  }
}
@media screen and (min-width: 768px) {
  .p_top01 .box02 .ttl {
    padding-bottom: 12px;
  }
}
.p_top01__item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media screen and (min-width: 768px) {
  .p_top01__item {
    display: block;
  }
}
.p_top01__item .ttl {
  color: #f48f77;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  font-size: 0.625rem;
  padding-bottom: 3px;
}
@media screen and (min-width: 768px) {
  .p_top01__item .ttl {
    padding-bottom: 5px;
    font-size: 0.875rem;
  }
}
.p_top01__banner {
  position: relative;
}
.p_top01__banner::after, .p_top01__banner::before {
  content: "";
  position: absolute;
  width: 380px;
  height: 268px;
  z-index: 1;
  transform: rotate(6deg);
}
@media screen and (min-width: 768px) {
  .p_top01__banner::after, .p_top01__banner::before {
    transform: rotate(0);
    width: 464px;
    height: 396px;
  }
}
.p_top01__banner::after {
  background: url("../images/top/shape/img_banner_decor01.png") no-repeat;
  background-size: contain;
  left: -29%;
  top: -7.4%;
  filter: blur(50px);
  will-change: filter;
  opacity: 0.11;
}
@media screen and (min-width: 768px) {
  .p_top01__banner::after {
    filter: blur(100px);
    left: -15%;
    top: -12.6%;
  }
}
.p_top01__banner::before {
  background: url("../images/top/shape/img_banner_decor02.png") no-repeat;
  background-size: contain;
  will-change: filter;
  filter: blur(50px);
  opacity: 0.35;
  right: -56.6%;
  bottom: -25%;
}
@media screen and (min-width: 768px) {
  .p_top01__banner::before {
    right: -14%;
    bottom: -14%;
  }
}
.p_top01__banner .banner {
  padding-right: 4px;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner {
    padding-right: 0;
  }
}
.p_top01__banner .banner_frame {
  max-width: 741px;
  margin: 81px auto 0;
  background: linear-gradient(320deg, #b7bfe4 0%, #fb8a6b 60%);
  border-radius: 10px;
  width: calc(100% + 8px);
  padding: 3px;
  transform: translateX(-4px);
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_frame {
    transform: translateX(0);
    width: calc(100% + 5px);
    margin: 120px auto 0;
  }
}
.p_top01__banner .banner_frame__content {
  border-radius: 7px;
  background-color: #fff;
  position: relative;
  padding: 29px 24px 22px;
  z-index: 4;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_frame__content {
    padding: 41px 31px 37px 18px;
  }
}
.p_top01__banner .banner_content {
  display: flex;
  justify-content: space-between;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_content {
    flex-direction: row;
  }
}
.p_top01__banner .banner_ttl {
  padding: 16px 0 9px;
  order: 2;
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_ttl {
    padding: 0;
    font-feature-settings: inherit;
    transform: translateX(clamp( -0.5rem, -1.9230769231vw + 1.2307692308rem, 0rem ));
  }
}
.p_top01__banner .banner_desc {
  width: 100%;
  max-width: 382px;
  padding-top: 22px;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_desc {
    display: block;
    padding-top: 0;
  }
}
.p_top01__banner .banner_txt {
  padding: 0 18px 14px;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_txt {
    display: block;
    padding: 0 16px 12px 20px;
  }
}
.p_top01__banner .banner_txt .txt {
  font-weight: 500;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP", sans-serif;
  order: 3;
  font-size: 0.6875rem;
}
.p_top01__banner .banner_txt .txt.txt_11 {
  text-align: center;
  line-height: 1.8181818182;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_txt .txt.txt_11 {
    padding-top: 2px;
    transform: translateX(clamp( -0.625rem, -2.4038461538vw + 1.5384615385rem, 0rem ));
  }
}
.p_top01__banner .banner_txt .txt + .txt {
  font-size: 0.75rem;
  order: 1;
  padding: 0;
  margin-left: -2px;
  line-height: 1.7666666667;
  order: 1;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_txt .txt + .txt {
    transform: translateX(clamp( -0.375rem, -1.4423076923vw + 0.9230769231rem, 0rem ));
    padding: 15px 20px 0 0;
  }
}
.p_top01__banner .banner_btn {
  width: 100%;
  max-width: 334px;
  margin: 10px auto 0;
  text-align: center;
  overflow: hidden;
  transform: translateX(clamp( -0.6875rem, -2.6442307692vw + 1.6923076923rem, 0rem ));
}
.p_top01__banner .banner_btn .sub {
  font-weight: 600;
  position: relative;
  display: inline-block;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  transform: translateX(-4px);
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_btn .sub {
    margin-bottom: 0;
  }
}
.p_top01__banner .banner_btn .sub::after, .p_top01__banner .banner_btn .sub::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 14px;
  background-color: #e86c49;
}
.p_top01__banner .banner_btn .sub::before {
  left: -10px;
  top: 2px;
  transform: rotate(-21deg);
}
.p_top01__banner .banner_btn .sub::after {
  right: -8px;
  transform: rotate(21deg);
  top: 2px;
}
.p_top01__banner .banner_btn .c_tag {
  height: 57px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 5px;
  color: #fff;
  background: linear-gradient(90deg, rgb(232, 107, 72) 0%, rgb(251, 138, 107) 100%);
  font-size: clamp(
      0.875rem,
      3.6363636364vw + 0.1477272727rem,
      1rem
  );
  font-weight: 600;
  width: 100%;
  max-width: 334px;
  position: relative;
  border-radius: 10px;
  letter-spacing: 0.09em;
  padding: 13px 20px 10px clamp(
      1.125rem,
      65.4545454545vw + -11.9659090909rem,
      3.375rem
  );
  gap: 26px;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_btn .c_tag {
    padding: 10px 20px 10px clamp(
      1.8125rem,
      5.0480769231vw + -1.4182692308rem,
      3.125rem
  );
    gap: 33px;
    height: 50px;
    margin-top: 10px;
  }
}
.p_top01__banner .banner_btn .c_tag::after {
  display: none;
}
.p_top01__banner .banner_btn .c_tag .c_tag__txt::after {
  width: 20px;
  height: 20px;
  left: clamp(
      -2.625rem,
      -32.7272727273vw + 5.0454545455rem,
      -1.5rem
  );
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_btn .c_tag .c_tag__txt::after {
    left: -47px;
  }
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_btn .btn_hover_bg02::before {
    background: #fff;
    left: -240%;
    width: 450px;
    padding-top: 450px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .p_top01__banner .banner_btn .btn_hover_bg02::before {
    left: -170%;
  }
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_btn .btn_hover_bg02:hover::before {
    left: 0;
  }
}
.p_top01__banner .banner_img {
  width: 100%;
  max-width: 206px;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_img {
    max-width: 291px;
    padding-top: 15px;
  }
}
.p_top01__banner .banner_img .img_txt {
  position: relative;
}
.p_top01__banner .banner_img .img_txt::after {
  content: "";
  position: absolute;
  width: 130px;
  height: 142px;
  background: url(../images/top/shape/img_banner_decor03.png) no-repeat;
  background-size: contain;
  top: 159%;
  left: 48%;
  transform: translate(-50%, -50%);
  filter: blur(30px);
  will-change: filter;
  opacity: 0.8;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_img .img_txt::after {
    filter: blur(50px);
    opacity: 0.36;
    width: 162px;
    top: 133%;
  }
}
.p_top01__banner .banner_img .txt {
  color: #154cac;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.1em;
  display: block;
  position: relative;
  z-index: 1;
  white-space: nowrap;
}
.p_top01__banner .banner_img .txt + .txt {
  text-align: right;
  font-feature-settings: "palt";
  padding-top: 2px;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_img .txt + .txt {
    padding-top: 11px;
  }
}
.p_top01__banner .banner_img .img {
  width: 104px;
  margin: 14px auto 0;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_img .img {
    width: 179px;
    margin: 30px auto 0;
    transform: translateX(7px);
  }
}
.p_top01__banner .banner_subtxt {
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.375;
  padding: 17px 0 0 4px;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner_subtxt {
    padding: 25px 0 0 16px;
  }
}
.p_top01__banner .banner .sub_txt {
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .p_top01__banner .banner .sub_txt {
    z-index: 0.875rem;
  }
}
.p_top02 {
  background: linear-gradient(180deg, rgb(255, 255, 255) -60%, rgb(234, 241, 253) 100%);
  padding-top: 81px;
  padding-bottom: 18px;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .p_top02 {
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(234, 241, 253) 100%);
    margin-top: 241px;
    padding-top: 0;
    padding-bottom: 146px;
  }
}
.p_top02 .c_ttl__jp {
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .p_top02 .c_ttl__jp {
    padding-top: 7px;
  }
}
.p_top02 .c_ttl .c_ttl40 {
  letter-spacing: 0.15em;
}
.p_top02__content {
  padding-top: 50px;
}
@media screen and (min-width: 768px) {
  .p_top02__content {
    padding-top: 99px;
  }
}
.p_top02__item {
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 3;
  padding: 0 10px;
}
@media screen and (min-width: 768px) {
  .p_top02__item {
    padding: 0;
    flex-direction: row;
  }
}
.p_top02__item.item01 {
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .p_top02__item.item01 {
    gap: 26px;
  }
}
.p_top02__item.item02 {
  padding-top: 47px;
}
@media screen and (min-width: 768px) {
  .p_top02__item.item02 {
    flex-direction: row-reverse;
    justify-content: flex-end;
    padding-top: 69px;
    gap: clamp(
      1.875rem,
      5.9523809524vw + -0.9821428571rem,
      4.375rem
  );
  }
}
@media screen and (min-width: 768px) {
  .p_top02__item.item02 .desc {
    padding: clamp(
      1.25rem,
      11.71875vw + -4.375rem,
      3.125rem
  ) clamp(
      1.25rem,
      3.125vw + -0.25rem,
      1.75rem
  ) clamp(
      1.25rem,
      6.25vw + -1.75rem,
      2.25rem
  ) clamp(
      1.25rem,
      9.765625vw + -3.4375rem,
      2.8125rem
  );
  }
}
.p_top02__item.item03 {
  padding-top: 47px;
}
@media screen and (min-width: 768px) {
  .p_top02__item.item03 {
    padding-top: 72px;
    gap: 18px;
    justify-content: center;
    padding-left: clamp(
      0rem,
      14.4230769231vw + -9.2307692308rem,
      3.75rem
  );
  }
}
@media screen and (min-width: 768px) {
  .p_top02__item.item03 .desc {
    padding: clamp(
      1.25rem,
      11.71875vw + -4.375rem,
      3.125rem
  ) clamp(
      1.25rem,
      3.125vw + -0.25rem,
      1.75rem
  ) clamp(
      1.25rem,
      11.71875vw + -4.375rem,
      3.125rem
  ) clamp(
      1.25rem,
      9.765625vw + -3.4375rem,
      2.8125rem
  );
  }
}
.p_top02__item .desc {
  width: 100%;
  max-width: 500px;
  background-color: #fff;
  border-radius: 15px;
  padding: 30px 20px 39px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p_top02__item .desc {
    border-radius: 20px;
    padding: clamp(
      1.25rem,
      11.71875vw + -4.375rem,
      3.125rem
  ) clamp(
      1.25rem,
      3.125vw + -0.25rem,
      1.75rem
  ) clamp(
      1.25rem,
      15.625vw + -6.25rem,
      3.75rem
  ) clamp(
      1.25rem,
      9.765625vw + -3.4375rem,
      2.8125rem
  );
  }
}
.p_top02__item .ttl {
  color: #e86b48;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  padding-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .p_top02__item .ttl {
    padding-bottom: 20px;
    letter-spacing: 0.19em;
    font-size: 1.5rem;
    text-align: left;
  }
}
.p_top02__item .txt {
  line-height: 1.78;
  font-weight: 600;
  letter-spacing: 0.15em;
}
.p_top02__item .txt_blue {
  color: #3f7ade;
}
.p_top02__item .txt + .txt {
  padding-top: 16px;
}
.p_top02__item .img {
  position: relative;
  z-index: 1;
}
.p_top02__item .img.w_278 {
  width: 100%;
  max-width: 209px;
}
@media screen and (min-width: 768px) {
  .p_top02__item .img.w_278 {
    max-width: 278px;
    padding-top: 30px;
  }
}
.p_top02__item .img.w_278::before {
  content: "";
  position: absolute;
  width: 250px;
  height: 251px;
  background: url("../images/top/shape/img_flow_decor01.png") no-repeat;
  background-size: contain;
  left: -5%;
  top: 65.4%;
  filter: blur(20px);
  will-change: filter;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p_top02__item .img.w_278::before {
    filter: blur(50px);
    top: -44.6%;
    left: -25%;
    width: 462px;
    height: 362px;
  }
}
.p_top02__item .img.w_299 {
  width: 100%;
  max-width: 166px;
  margin-top: 22px;
}
@media screen and (min-width: 768px) {
  .p_top02__item .img.w_299 {
    margin-top: 0;
    max-width: 246px;
  }
}
.p_top02__item .img.w_299::before {
  content: "";
  position: absolute;
  width: 370px;
  height: 278px;
  background: url(../images/top/shape/img_flow_decor02.png) no-repeat;
  background-size: contain;
  left: -50%;
  top: 10.4%;
  z-index: -1;
  filter: blur(20px);
  will-change: filter;
}
@media screen and (min-width: 768px) {
  .p_top02__item .img.w_299::before {
    filter: blur(50px);
    width: 600px;
    height: 523px;
    left: -66%;
    top: -57.6%;
  }
}
@media screen and (min-width: 768px) {
  .p_top02__item .img.w_299 {
    margin-left: 15px;
  }
}
.p_top02__item .img.w_273 {
  width: 100%;
  max-width: 197px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p_top02__item .img.w_273 {
    max-width: 273px;
    margin-top: 0;
  }
}
.p_top02__item .img.w_273::before {
  content: "";
  position: absolute;
  width: 390px;
  height: 243px;
  background: url(../images/top/shape/img_flow_decor03.png) no-repeat;
  background-size: contain;
  right: -104%;
  bottom: -116%;
  z-index: -1;
  transform: rotate(-21deg);
  z-index: -1;
  filter: blur(20px);
  will-change: filter;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p_top02__item .img.w_273::before {
    filter: blur(50px);
    transform: rotate(0);
    width: 664px;
    height: 482px;
    right: -20%;
    bottom: -94%;
  }
}
@media screen and (min-width: 768px) {
  .p_top02__item .img.w_273 {
    margin-top: -7px;
  }
}
.p_top02__number {
  position: relative;
  z-index: 4;
  margin-top: 55px;
}
@media screen and (min-width: 768px) {
  .p_top02__number {
    margin-top: 91px;
  }
}
.p_top02__number::after {
  content: "";
  position: absolute;
  width: 532px;
  height: 467px;
  background: url(../images/top/shape/img_flow_decor04.png) no-repeat;
  background-size: contain;
  left: 6%;
  top: -37%;
  z-index: -1;
  filter: blur(50px);
  will-change: filter;
  display: none;
}
.p_top02__number .number_ttl {
  font-weight: 700;
  color: #e86b48;
  letter-spacing: 0.1em;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_ttl {
    font-size: 1.5rem;
  }
}
.p_top02__number .number_content {
  width: 100%;
  margin: 0 auto;
  padding: 29px 19px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 14px;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_content {
    display: grid;
    gap: 17px;
    grid-template-columns: 1fr 1fr;
    transform: translateX(2px);
    padding: 36px 0 0;
    max-width: 500px;
  }
}
@media screen and (min-width: 1024px) {
  .p_top02__number .number_content {
    max-width: 906px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.p_top02__number .number_item {
  background-color: #fff;
  border-radius: 10px;
  text-align: center;
  padding: 14px 6px 27px;
  width: calc(50% - 9px);
}
@media screen and (min-width: 375px) {
  .p_top02__number .number_item {
    max-height: 221px;
  }
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item {
    max-height: unset;
    width: 100%;
    padding: 34px 15px 27px;
  }
}
.p_top02__number .number_item.item01 .sub {
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item.item01 .sub {
    margin-top: -8px;
  }
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item.item02 .sub {
    padding: 0 11px;
  }
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item.item04 .sub {
    padding: 0 26px;
  }
}
.p_top02__number .number_item__ttl {
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  font-size: 0.875rem;
}
.p_top02__number .number_item__desc {
  text-align: center;
}
.p_top02__number .number_item__desc .number {
  padding: 4px 0 0;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item__desc .number {
    padding: 11px 0 6px;
  }
}
.p_top02__number .number_item__desc .unit {
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.p_top02__number .number_item__desc .txt {
  font-family: "Khand", sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  font-size: clamp(
      1.875rem,
      32.7272727273vw + -4.6704545455rem,
      3rem
  );
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item__desc .txt {
    font-size: 4.0625rem;
  }
}
.p_top02__number .number_item__desc .sub {
  font-size: clamp(
      0.625rem,
      3.6363636364vw + -0.1022727273rem,
      0.75rem
  );
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item__desc .sub {
    justify-content: space-between;
  }
}
.p_top02__number .number_item__desc .statis {
  width: 100%;
  padding: 7px clamp(
      0.125rem,
      9.0909090909vw + -1.6931818182rem,
      0.4375rem
  ) 0 clamp(
      0rem,
      27.2727272727vw + -5.4545454545rem,
      0.9375rem
  );
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item__desc .statis {
    padding: 23px 36px 0 33px;
  }
}
.p_top02__number .number_item__desc .statis_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}
.p_top02__number .number_item__desc .statis_item::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 5px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
  background-image: radial-gradient(ellipse, #072c87 1px, #072c87 1px, transparent 1px);
  background-size: 4px 1px;
  background-position: 0px 0;
  background-repeat: repeat-x;
  z-index: -1;
}
.p_top02__number .number_item__desc .statis_item + .statis_item {
  margin-top: 2px;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item__desc .statis_item + .statis_item {
    margin-top: 0;
  }
}
.p_top02__number .number_item__desc .statis_txt {
  font-weight: 500;
  letter-spacing: 0.05em;
  background-color: #fff;
  font-size: 0.75rem;
  color: #072c87;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item__desc .statis_txt {
    margin-left: -2px;
    font-size: 0.721875rem;
  }
}
.p_top02__number .number_item__desc .statis_txt .unit {
  font-size: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item__desc .statis_txt .unit {
    font-size: 0.625rem;
  }
}
.p_top02__number .number_item__desc .statis_percent {
  font-family: "Khand", sans-serif;
  background-color: #fff;
  display: inline-block;
}
.p_top02__number .number_item__desc .statis_percent .unit {
  font-size: 1.25rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item__desc .statis_percent .unit {
    font-size: 1.5rem;
  }
}
.p_top02__number .number_item__desc .statis_percent .percent {
  line-height: 1;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item__desc .statis_percent .percent {
    margin-left: -3px;
    font-size: 1.125rem;
  }
}
.p_top02__number .number_item .img.w_110 {
  width: 100%;
  max-width: 107px;
  margin: 5px auto 0;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item .img.w_110 {
    max-width: 120px;
    margin: 10px auto 0;
  }
}
.p_top02__number .number_item .img.w_102 {
  width: 83px;
  margin: 22px auto 0;
  transform: translateX(7px);
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item .img.w_102 {
    transform: translateX(0);
    width: 102px;
    margin: 40px auto 0;
  }
}
.p_top02__number .number_item .img.w_97 {
  width: 76px;
  margin: 27px auto 0;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item .img.w_97 {
    width: 97px;
    margin: 34px auto 0;
  }
}
.p_top02__number .number_item .img.w_144 {
  width: 94px;
  margin: 25px auto 0;
}
@media screen and (min-width: 768px) {
  .p_top02__number .number_item .img.w_144 {
    width: 144px;
  }
}
.p_top03 {
  padding-top: 34px;
  padding-bottom: 48px;
  background: linear-gradient(180deg, rgb(255, 252, 250) 0%, rgb(255, 239, 227) 100%);
  position: relative;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .p_top03 {
    padding-bottom: 200px;
    padding-top: 130px;
  }
}
.p_top03 .c_ttl .c_ttl40 {
  letter-spacing: 0.12em;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p_top03 .c_ttl .c_ttl40 {
    line-height: 1.5;
  }
}
.p_top03 .flow {
  width: 100%;
  max-width: 400px;
  margin: 47px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding: 0 12px 0 15px;
  gap: 10px 0;
}
@media screen and (min-width: 768px) {
  .p_top03 .flow {
    max-width: 813px;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin: 80px auto 0;
    padding: 0;
  }
}
.p_top03 .flow_item {
  width: 100%;
  max-width: 93px;
  position: relative;
  text-align: center;
  transition: 0.5s;
}
.p_top03 .flow_item:hover {
  opacity: 1;
}
.p_top03 .flow_item:hover .flow_item__desc {
  transform: scale(1.1);
}
.p_top03 .flow_item:last-child::after {
  display: none;
}
.p_top03 .flow_item::after {
  content: "";
  position: absolute;
  left: calc(100% + 1px);
  bottom: 15px;
  width: 12px;
  height: 50px;
  background: url("../images/common/icon_arrow.png") no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item::after {
    bottom: 18px;
    left: calc(100% + clamp(
      0.9375rem,
      3.125vw + -0.5625rem,
      1.4375rem
  ));
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item.item02::after {
    left: calc(100% + 17px);
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item.item03::after {
    left: calc(100% + clamp(
      0.9375rem,
      3.90625vw + -0.9375rem,
      1.5625rem
  ));
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item.item04 {
    left: 4px;
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item.item04::after {
    left: calc(100% + 18px);
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item.item05 .img {
    transform: translateY(-5px);
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item.item05::after {
    left: calc(100% + 16px);
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item.item05 .txt {
    padding-top: 3px;
  }
}
.p_top03 .flow_item__desc {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  transition: 0.5s;
}
.p_top03 .flow_item .number_txt {
  font-family: "Khand", sans-serif;
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  color: transparent;
  background: linear-gradient(90deg, #e86b48 0%, #fb8a6b 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item .number_txt {
    font-size: 2rem;
    padding-left: clamp(
      0rem,
      2.0833333333vw + -1.5625rem,
      0.3125rem
  );
  }
}
.p_top03 .flow_item .txt {
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
  font-feature-settings: "palt";
  font-size: 0.875rem;
  padding-top: 3px;
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item .txt {
    padding-top: 0;
  }
}
.p_top03 .flow_item .img {
  padding: 1px 14px 0 11px;
}
@media screen and (min-width: 768px) {
  .p_top03 .flow_item .img {
    padding: 10px 0 0;
  }
}
.p_top03__content {
  max-width: 940px;
  margin: 33px auto 0;
}
@media screen and (min-width: 768px) {
  .p_top03__content {
    padding-right: 53px;
    margin: 73px auto 0;
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .c_tag {
    margin-left: -18px;
  }
}
.p_top03 .c_accordion__content {
  position: relative;
  z-index: 2;
  transition: 0.5s;
}
.p_top03 .c_accordion__item {
  position: relative;
  transition: 0.5s;
}
.p_top03 .c_accordion__item:last-child::before, .p_top03 .c_accordion__item:last-child::after {
  display: none;
}
.p_top03 .c_accordion__item.active {
  padding-bottom: 5px;
}
.p_top03 .c_accordion__item.active .c_accordion__content {
  padding-top: 21px;
}
@media screen and (min-width: 768px) {
  .p_top03 .c_accordion__item.active .c_accordion__content {
    padding-top: 0;
  }
}
.p_top03 .c_accordion__item.active::after {
  top: calc(100% - 4px);
}
.p_top03 .c_accordion__item.active .c_accordion__ttl {
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .p_top03 .c_accordion__item.active .c_accordion__ttl {
    padding-top: 63px;
    padding-bottom: 6px;
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .c_accordion__item.active .c_accordion__ttl::after, .p_top03 .c_accordion__item.active .c_accordion__ttl::before {
    top: 78%;
  }
}
.p_top03 .c_accordion__item.active .c_accordion__content {
  position: relative;
  z-index: 2;
}
.p_top03 .c_accordion__item.item02.active .c_accordion__content {
  padding-top: 5px;
}
@media screen and (min-width: 768px) {
  .p_top03 .c_accordion__item.item02.active .c_accordion__content {
    padding-top: 0;
  }
}
.p_top03 .c_accordion__item.item06::before {
  display: none;
}
.p_top03 .c_accordion__item::after, .p_top03 .c_accordion__item::before {
  content: "";
  position: absolute;
}
.p_top03 .c_accordion__item::before {
  width: 32px;
  height: 32px;
  bottom: -26px;
  left: 28px;
  position: absolute;
  background: url(../images/top/icon_arrow.png) no-repeat;
  background-size: contain;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p_top03 .c_accordion__item::before {
    display: none;
  }
}
.p_top03 .c_accordion__item::after {
  width: 32px;
  height: 32px;
  top: calc(100% - 4px);
  left: 28px;
  background-image: linear-gradient(0deg, #ffdbc4 20%, #ffd1b3 60%, #ffc9a6 100%);
  background-position: 100% 100%;
  background-size: 100% 220%;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p_top03 .c_accordion__item::after {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .c_accordion__item.item02 .c_accordion__desc .inner {
    padding-top: 33px;
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .c_accordion__item.item04 .c_accordion__desc .txt + .txt {
    padding-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .c_accordion__item.item04 .c_accordion__desc .frame_modal {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p_top03 .c_accordion__item.item05 .c_accordion__desc .frame_modal {
    margin-top: 34px;
  }
}
.p_top04 {
  padding-top: 34px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p_top04 {
    padding-top: 120px;
  }
}
.p_top04::before {
  content: "";
  position: absolute;
  width: 84%;
  max-width: 620px;
  height: 100%;
  background: url(../images/top/shape/img_faq_decor01_sp.png) no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
  filter: blur(40px);
  will-change: filter;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p_top04::before {
    background: url(../images/top/shape/img_faq_decor01.png) no-repeat;
    opacity: 0.3;
    filter: blur(150px);
    background-size: contain;
    bottom: unset;
    top: 48px;
    height: 1061px;
  }
}
.p_top04::after {
  content: "";
  position: absolute;
  width: 76%;
  height: 100%;
  background: url(../images/top/shape/img_faq_decor02_sp.png) no-repeat;
  background-size: 100% 108%;
  top: 75.1%;
  right: 0;
  filter: blur(30px);
  will-change: filter;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p_top04::after {
    filter: blur(150px);
    background: url(../images/top/shape/img_faq_decor02.png) no-repeat;
    background-size: contain;
    bottom: unset;
    width: 669px;
    height: 1061px;
    bottom: -13.1%;
  }
}
.p_top04 .c_ttl__jp {
  letter-spacing: 0.12em;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .p_top04 .c_ttl__jp {
    padding-top: 13px;
  }
}
.p_top04 .js_accordion__ttl::after, .p_top04 .js_accordion__ttl::before {
  content: "";
  position: absolute;
  background-color: #e86b48;
}
.p_top04 .js_accordion__ttl::after {
  width: 16px;
  height: 2px;
  right: -3px;
}
@media screen and (min-width: 768px) {
  .p_top04 .js_accordion__ttl::after {
    right: 12px;
    width: 17px;
  }
}
.p_top04 .js_accordion__ttl::before {
  height: 16px;
  width: 2px;
  right: 11px;
}
@media screen and (min-width: 768px) {
  .p_top04 .js_accordion__ttl::before {
    right: 27px;
    height: 17px;
  }
}
.p_top04 .faq {
  width: 100%;
  max-width: 658px;
  position: relative;
  z-index: 1;
  margin: 46px auto 0;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq {
    margin: 67px auto 0;
  }
}
.p_top04 .faq_box + .faq_box {
  margin-top: 66px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_box + .faq_box {
    margin-top: 33px;
  }
}
.p_top04 .faq_box + .faq_box .faq_accordion__question {
  padding: 19px 36px 17px 41px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_box + .faq_box .faq_accordion__question {
    padding: 16px 56px;
  }
}
.p_top04 .faq_box__ttl {
  font-weight: 700;
  color: #072c87;
  line-height: 1.5;
  font-feature-settings: "palt";
  position: relative;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  padding-left: 39px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_box__ttl {
    letter-spacing: 0.25em;
    padding-left: 33px;
    font-size: 1rem;
  }
}
.p_top04 .faq_box__ttl::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  left: 10px;
  top: 7px;
  border-radius: 100%;
  background: linear-gradient(301deg, rgb(175, 197, 242) 0%, rgb(251, 138, 107) 100%);
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_box__ttl::after {
    left: 0;
    top: 4px;
    width: 17px;
    height: 17px;
  }
}
.p_top04 .faq_accordion {
  padding-top: 15px;
  padding-left: 9px;
  padding-right: 14px;
  height: 241px;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion {
    padding-top: 18px;
    padding-left: 0;
    height: 100%;
    overflow: visible;
  }
}
.p_top04 .faq_accordion.active {
  height: 100%;
  overflow: visible;
}
.p_top04 .faq_accordion.active .view_more {
  height: 30px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion.active .view_more {
    display: none;
  }
}
.p_top04 .faq_accordion.active .view_more::after {
  height: 0;
  width: 0;
}
.p_top04 .faq_accordion.active .faq_accordion__item {
  pointer-events: all;
}
.p_top04 .faq_accordion .view_more {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 23px);
  height: 147px;
  transition: 0.5s;
  display: flex;
  align-items: flex-end;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion .view_more {
    display: none;
  }
}
.p_top04 .faq_accordion .view_more::after {
  content: "";
  position: absolute;
  left: -3px;
  bottom: 0;
  width: 100%;
  height: 160px;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.73) 33%, rgb(255, 255, 255) 64%, rgb(255, 255, 255) 100%);
}
.p_top04 .faq_accordion .view_more.active {
  bottom: -36px;
}
.p_top04 .faq_accordion .view_more.active::after {
  background: 0;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion .view_more.active {
    display: none;
  }
}
.p_top04 .faq_accordion .view_more.active .view_more__txt::after {
  transform: rotate(135deg);
  top: 8px;
}
.p_top04 .faq_accordion .view_more.active .view_more__txt::before {
  content: "閉じる";
}
.p_top04 .faq_accordion .view_more__txt {
  margin: 0 auto;
  position: relative;
  display: block;
  left: -10px;
}
.p_top04 .faq_accordion .view_more__txt::after {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  border-left: 2px solid #072c87;
  border-bottom: 2px solid #072c87;
  transform: rotate(-45deg);
  left: calc(100% + 13px);
  top: 3px;
  z-index: 1;
}
.p_top04 .faq_accordion .view_more__txt::before {
  content: "さらに表示";
  position: relative;
  bottom: 0;
  left: 0;
  color: #072c87;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.7;
  z-index: 1;
}
.p_top04 .faq_accordion__item {
  background-color: #fff;
  box-shadow: 0px 0px 12.1px #dedede;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__item {
    pointer-events: all;
  }
}
.p_top04 .faq_accordion__item + .faq_accordion__item {
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__item + .faq_accordion__item {
    margin-top: 20px;
  }
}
.p_top04 .faq_accordion__item:has(.ask_box) .faq_accordion__ask {
  padding: 19px clamp(
      1.5625rem,
      12.7272727273vw + -0.9829545455rem,
      2rem
  ) 13px clamp(
      1.875rem,
      20vw + -2.125rem,
      2.5625rem
  );
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__item:has(.ask_box) .faq_accordion__ask {
    padding: 13px 32px 13px 56px;
  }
}
.p_top04 .faq_accordion__question {
  position: relative;
  padding: 13px 36px 11px 41px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__question {
    padding: 16px 56px;
  }
}
.p_top04 .faq_accordion__question .question_ttl {
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: 0.11em;
  position: relative;
  font-feature-settings: "palt";
  font-size: 0.875rem;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__question .question_ttl {
    letter-spacing: 0.1em;
    line-height: 1.6;
  }
}
.p_top04 .faq_accordion__question .question_ttl::before {
  content: "Q";
  position: absolute;
  color: #e86b48;
  font-family: "Khand", sans-serif;
  font-weight: 400;
  line-height: 1;
  font-size: 2rem;
  left: -31px;
  top: calc(50% - 2px);
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__question .question_ttl::before {
    color: transparent;
    background: linear-gradient(90deg, rgb(232, 107, 72) 0%, rgb(251, 138, 107) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    font-weight: 500;
    left: -28px;
    top: 0;
    font-size: 1.5rem;
    transform: translateY(0);
  }
}
.p_top04 .faq_accordion__ask {
  position: relative;
  padding: 11px 32px 12px 41px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask {
    padding: 13px 32px 13px 56px;
  }
}
.p_top04 .faq_accordion__ask::after {
  content: "A";
  position: absolute;
  left: 11px;
  top: 17px;
  color: #e86b48;
  font-family: "Khand", sans-serif;
  font-size: 2rem;
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask::after {
    color: transparent;
    background: linear-gradient(90deg, rgb(232, 107, 72) 0%, rgb(251, 138, 107) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    font-weight: 500;
    font-size: 1.5rem;
    left: 30px;
    top: 14px;
  }
}
.p_top04 .faq_accordion__ask .ask_box {
  background-color: #f8f8f8;
  border-radius: 10px;
  padding: 14px clamp(
      0.3125rem,
      27.2727272727vw + -5.1420454545rem,
      1.25rem
  );
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_box {
    padding: 0;
    background-color: unset;
    border-radius: 0;
  }
}
.p_top04 .faq_accordion__ask .ask_box + .ask_box {
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_box + .ask_box {
    margin-top: 0;
  }
}
.p_top04 .faq_accordion__ask .ask_box.box02 .ask_ttl {
  padding-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_box.box02 .ask_ttl {
    padding-bottom: 0;
  }
}
.p_top04 .faq_accordion__ask .ask_ttl {
  color: #e86b48;
  font-weight: 600;
  line-height: 1.78;
  letter-spacing: 0.15em;
  font-size: 0.875rem;
  padding-bottom: 17px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_ttl {
    padding-bottom: 0;
  }
}
.p_top04 .faq_accordion__ask .ask_ttl .c_tag {
  max-width: 250px;
  width: 84%;
  height: 36px;
  padding-left: 15px;
  margin-bottom: -2px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_ttl .c_tag {
    margin-bottom: 0;
    padding-left: 0;
    max-width: 134px;
    height: 24px;
    margin-right: 6px;
    top: -3px;
  }
}
.p_top04 .faq_accordion__ask .ask_ttl .c_tag .txt {
  font-size: 0.625rem !important;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_ttl .c_tag .txt {
    font-size: 0.625rem !important;
    transform: scale(0.734) translateX(19px);
  }
}
.p_top04 .faq_accordion__ask .ask_ttl .c_tag::after {
  width: 10px;
  height: 10px;
  left: 14px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_ttl .c_tag::after {
    left: 9px;
    width: 12px;
    height: 12px;
  }
}
.p_top04 .faq_accordion__ask .ask_sub {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.7;
  font-size: 0.875rem;
  color: #e86b48;
  padding-top: 9px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_sub {
    padding-top: 3px;
    color: #2b2b2b;
    line-height: 1.8;
    font-size: 0.75rem;
  }
}
.p_top04 .faq_accordion__ask .ask_txt {
  font-weight: 500;
  line-height: 1.8;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}
.p_top04 .faq_accordion__ask .ask_list {
  padding: 10px 0 17px;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_list {
    padding: 26px 0 17px;
  }
}
.p_top04 .faq_accordion__ask .ask_list__content {
  padding-top: 6px;
}
.p_top04 .faq_accordion__ask .ask_list__item {
  position: relative;
  padding-left: 15px;
  line-height: 1.75;
}
.p_top04 .faq_accordion__ask .ask_list__item::after {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background: linear-gradient(90deg, #e86b48 0%, #fb8a6b 100%);
}
.p_top04 .faq_accordion__ask .ask_list__item + .ask_list__item {
  padding-top: 4px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_list__item + .ask_list__item {
    padding-top: 0;
  }
}
.p_top04 .faq_accordion__ask .ask_list__sub {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-top: 12px;
  color: #e86b48;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p_top04 .faq_accordion__ask .ask_list__sub {
    line-height: 1.8;
    font-size: 0.75rem;
    color: #2b2b2b;
    padding-top: 4px;
  }
}
.p_top04 .faq_accordion__ask .ask_list__subtxt {
  width: calc(100% + 10px);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.7;
  padding-bottom: 6px;
}
.p_top05 {
  padding: 61px 0 80px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_top05 {
    padding: 170px 0 84px;
  }
}
.p_top05::before {
  content: "";
  position: absolute;
  width: 85%;
  height: 40%;
  background: url(../images/top/shape/img_company_decor01.png) no-repeat;
  background-size: 150% 100%;
  top: 5.5%;
  right: 0;
  filter: blur(50px);
  will-change: filter;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p_top05::before {
    filter: blur(150px);
    background-size: contain;
    width: 886px;
    height: 1328px;
  }
}
.p_top05::after {
  content: "";
  position: absolute;
  width: 60%;
  height: 49%;
  background: url(../images/top/shape/img_company_decor02_sp.png) no-repeat;
  background-size: contain;
  bottom: -27.6%;
  left: 0;
  z-index: -1;
  filter: blur(50px);
  will-change: filter;
  opacity: 0.8;
}
@media screen and (min-width: 768px) {
  .p_top05::after {
    filter: blur(150px);
    background: url(../images/top/shape/img_company_decor02.png) no-repeat;
    background-size: contain;
    width: 620px;
    height: 472px;
    bottom: -21%;
  }
}
@media screen and (min-width: 768px) {
  .p_top05 .btn_hover_bg01::before {
    top: -283%;
    left: -160%;
    width: 350px;
    padding-top: 350px;
  }
  .p_top05 .btn_hover_bg01:hover::before {
    left: 0;
  }
}
.p_top05__content {
  background-color: #fff;
  position: relative;
  z-index: 2;
  padding: 34px 0 24px;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .p_top05__content {
    border-radius: 40px;
    padding: 84px clamp(
      2.5rem,
      20.6730769231vw + -10.7307692308rem,
      7.875rem
  );
  }
}
.p_top05 .c_ttl__en {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p_top05 .c_ttl__en {
    font-size: 1.125rem;
  }
}
.p_top05 .c_ttl__jp {
  letter-spacing: 0.12em;
  padding-top: 7px;
}
@media screen and (min-width: 768px) {
  .p_top05 .c_ttl__jp {
    padding-top: 13px;
  }
}
.p_top05 .info {
  width: 100%;
  max-width: 586px;
  margin: 51px auto 0;
  padding: 0 11px;
}
@media screen and (min-width: 768px) {
  .p_top05 .info {
    padding: 0;
  }
}
.p_top05 .info_item {
  display: block;
}
@media screen and (min-width: 768px) {
  .p_top05 .info_item {
    display: flex;
  }
}
.p_top05 .info_item + .info_item {
  margin-top: 23px;
}
@media screen and (min-width: 768px) {
  .p_top05 .info_item + .info_item {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p_top05 .info_item.item03 .info_item__txt {
    padding-top: 5px;
  }
}
@media screen and (min-width: 768px) {
  .p_top05 .info_item.item04 {
    margin-top: 32px;
  }
}
.p_top05 .info_item__ttl {
  font-weight: 700;
  letter-spacing: 0.12em;
  width: 111px;
  padding: 0 8px;
  position: relative;
  font-feature-settings: "palt";
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p_top05 .info_item__ttl {
    padding: 0 14px;
  }
}
.p_top05 .info_item__ttl::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  max-height: 27px;
  left: 0;
  background-color: #e86b48;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p_top05 .info_item__ttl::after {
    top: -2px;
  }
}
.p_top05 .info_item__txt {
  font-weight: 600;
  letter-spacing: 0.12em;
  font-feature-settings: "palt";
  padding: 9px 0 0 9px;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p_top05 .info_item__txt {
    line-height: 1.78;
    letter-spacing: 0.18em;
    padding: 0;
  }
}
.p_top05 .map {
  border-top: 1px solid #afc5f2;
  width: calc(100% - 44px);
  margin: 45px auto 0;
}
@media screen and (min-width: 768px) {
  .p_top05 .map {
    width: 100%;
    margin: 54px auto 0;
  }
}
/*.p_top05 .map_item {
  border-bottom: 1px solid transparent;
  border-image-source: linear-gradient(90deg, rgb(251, 138, 107) 0%, rgb(226, 158, 152) 100%);
  border-image-slice: 1;
  display: flex;
  flex-direction: column;
  padding: 25px 0 41px;
}*/

.p_top05 .map_item.item01, .map_item.item02 {
    border-bottom: 1px solid transparent;
    border-image-source: linear-gradient(90deg, rgb(251, 138, 107) 0%, rgb(226, 158, 152) 100%);
    border-image-slice: 1;
    display: flex
;
    flex-direction: column;
    padding: 25px 0 41px;
}
.map_item.item03 {
    flex-direction: column;
    display: flex;
    padding: 25px 0;
}

@media screen and (min-width: 768px) {
  .p_top05 .map_item.item01, .map_item.item02, .map_item.item03 {
    gap: 27px;
    padding: 30px 0;
    flex-direction: row;
  }
}
.p_top05 .map_item:last-child .map_desc {
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .p_top05 .map_item.item01 .map_item__txt {
    width: calc(100% + 20px);
  }
}
.p_top05 .map_item__ttl {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  font-size: 1rem;
  color: #072c87;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .p_top05 .map_item__ttl {
    padding-bottom: 0;
  }
}
.p_top05 .map_item__txt {
  font-weight: 600;
  line-height: 1.78;
  display: inline-block;
  padding-top: 9px;
  font-size: 0.875rem;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p_top05 .map_item__txt {
    letter-spacing: 0.15em;
    padding-top: 20px;
  }
}
.p_top05 .map_item__txt .number {
  padding-left: 10px;
}
@media screen and (min-width: 768px) {
  .p_top05 .map_item__txt .number {
    padding-left: 2px;
  }
}
.p_top05 .map_content {
  width: 100%;
  max-width: 300px;
  flex-shrink: 0;
}
.p_top05 .map_content iframe {
  width: 100%;
  max-width: 300px;
  height: 200px;
}
@media screen and (min-width: 768px) {
  .p_top05 .map_content .map_item__ttl {
    display: none;
  }
}
.p_top05 .map_desc {
  padding-top: 3px;
}
.p_top05 .map_desc .map_item__ttl {
  display: none;
}
@media screen and (min-width: 768px) {
  .p_top05 .map_desc .map_item__ttl {
    display: block;
  }
}
.p_top05 .map_desc .c_btn {
  max-width: 300px;
  margin: 16px auto 0;
  font-size: 0.875rem;
  padding: 10px 10px 10px 20px;
  height: 60px;
}
@media screen and (min-width: 768px) {
  .p_top05 .map_desc .c_btn {
    font-size: clamp(
      0.875rem,
      0.4807692308vw + 0.5673076923rem,
      1rem
  );
    height: 52px;
    max-width: 355px;
    margin: 24px 0 0;
    padding: 17px clamp(
      1.25rem,
      7.2115384615vw + -3.3653846154rem,
      3.125rem
  ) 20px clamp(
      1.25rem,
      2.4038461538vw + -0.2884615385rem,
      1.875rem
  );
  }
}
.p_top05 .map_desc .c_btn__txt {
  font-size: clamp(
      0.75rem,
      3.6363636364vw + 0.0227272727rem,
      0.875rem
  );
}
@media screen and (min-width: 768px) {
  .p_top05 .map_desc .c_btn__txt {
    font-size: 1rem;
    font-weight: 600;
  }
}
.p_top05 .map_desc .c_btn.w_308 {
  max-width: 260px;
}
@media screen and (min-width: 768px) {
  .p_top05 .map_desc .c_btn.w_308 {
    max-width: 308px;
  }
}
.p_top05 .map_desc .c_btn.w_353 {
  max-width: 353px;
}
.p_top05 .map_desc .c_btn.w_341 {
  max-width: 341px;
}
.p_top05 .map_desc .c_btn::after {
  right: clamp(
      0.625rem,
      18.1818181818vw + -3.0113636364rem,
      1.25rem
  );
  width: 20px;
  height: 20px;
}
@media screen and (min-width: 768px) {
  .p_top05 .map_desc .c_btn::after {
    right: clamp(
      0.9375rem,
      3.125vw + -1.0625rem,
      1.75rem
  );
    width: 22px;
    height: 22px;
  }
}

@keyframes over_auto1 {
  0% {
    opacity: 0;
  }
  12%, 84% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes over_auto2 {
  0%, 12% {
    opacity: 0;
  }
  24%, 72% {
    opacity: 1;
  }
  84%, 100% {
    opacity: 0;
  }
}
@keyframes over_auto3 {
  0%, 36% {
    opacity: 0;
  }
  48%, 60% {
    opacity: 1;
  }
  72%, 100% {
    opacity: 0;
  }
}
/*# sourceMappingURL=top.css.map */
