/**
* Utility
**/
.u-sp {
  display: none;
}
@media screen and (max-width: 960px) {
  .u-sp {
    display: block;
  }
}

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

/**
* Layout
**/
.l-body {
  width: 100%;
  background-color: var(--color_bg);
  color: var(--color_main);
  line-height: var(--line_height);
  letter-spacing: var(--letter_spacing);
  font-family: var(--font_family);
  overflow-x: hidden;
  word-break: break-all;
}
.l-body.is-fixed {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

.l-container {
  padding-top: 60px;
  overflow-x: hidden;
}
@media screen and (max-width: 960px) {
  .l-container {
    padding-top: 6vw;
  }
}

.l-main {
  min-height: calc(100vh - 215px);
}
@media screen and (max-width: 960px) {
  .l-main {
    min-height: calc(100vh - 43vw);
  }
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 960px) {
  .l-header {
    position: absolute;
  }
}

.l-content {
  max-width: 1296px;
  margin: 0 auto;
}

.l-what {
  padding: 60px 0;
}
@media screen and (max-width: 960px) {
  .l-what {
    padding: 8vw 0 19vw;
  }
}

@media screen and (max-width: 960px) {
  .l-price {
    padding: 0 5.3vw;
  }
}

.l-intro {
  padding: 155px 0 102px;
  background: -webkit-gradient(linear, left top, left bottom, from(#efefff), to(#ffffff));
  background: linear-gradient(to bottom, #efefff, #ffffff);
}
@media screen and (max-width: 960px) {
  .l-intro {
    padding: 19vw 0;
  }
}

.l-lawyer {
  padding: 132px 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#efefff), to(#ffffff));
  background: linear-gradient(to bottom, #efefff, #ffffff);
  -webkit-clip-path: ellipse(80% 50% at 50% 50%);
          clip-path: ellipse(80% 50% at 50% 50%);
}
@media screen and (max-width: 960px) {
  .l-lawyer {
    padding: 15vw 5.3vw 20vw;
    -webkit-clip-path: ellipse(120% 50% at 50% 50%);
            clip-path: ellipse(120% 50% at 50% 50%);
  }
}

.l-footer {
  padding: 60px 20px;
  color: var(--color_footer);
  background: var(--bg_footer);
}
@media screen and (max-width: 960px) {
  .l-footer {
    padding: 6vw 0 4vw;
  }
}

.l-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/**
* Project
**/
.p-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  width: 100%;
  padding: 0 0 0 140px;
}
@media screen and (max-width: 960px) {
  .p-header {
    gap: 0;
    padding: 0 5.3vw;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.p-header__logo {
  width: 132px;
  padding: 24px 0;
}
@media screen and (max-width: 960px) {
  .p-header__logo {
    width: 86px;
    padding: 20px 0;
  }
}
.p-header__btn {
  width: 168px;
}
@media screen and (max-width: 960px) {
  .p-header__btn {
    position: fixed;
    bottom: 3.2vw;
    right: 3.2vw;
    width: 120px;
    height: 120px;
    z-index: 2;
    cursor: pointer;
  }
}
.p-header__btn label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 12px 12px;
  background: -webkit-gradient(linear, left top, right top, from(#3F51FF), to(#FF7FF1));
  background: linear-gradient(to right, #3F51FF, #FF7FF1);
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
@media screen and (max-width: 960px) {
  .p-header__btn label {
    height: 100%;
    border-radius: 120px;
  }
}
.p-header__btn label:hover {
  opacity: 0.8;
}
.p-header__btn label i {
  display: block;
  width: 42px;
}
@media screen and (max-width: 960px) {
  .p-header__btn label img {
    margin-bottom: 6px;
    vertical-align: middle;
  }
}
.p-header__btn label small {
  color: var(--color_bg);
  font-size: 16px;
  font-weight: 800;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-header__btn label small {
    font-size: 14px;
    line-height: 1.2;
  }
}

.p-mv {
  position: relative;
  /*height: 64vw;
  max-height: 100vh;
  min-height: 750px;*/
  padding-top: 60px;
  padding: 60px 20px;
}
@media screen and (max-width: 960px) {
  .p-mv {
    padding: 8vw 5.3vw;
  }
}
.p-mv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 1350px;
  margin: 0 auto;
  gap: 32px;
}
@media screen and (max-width: 960px) {
  .p-mv__inner {
    left: -20vw;
    top: -53vw;
    width: 100%;
  }
}
.p-mv__deco01 {
  position: absolute;
  left: -20%;
  top: -20%;
  width: 600px;
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .p-mv__deco01 {
    left: -55vw;
    top: -70vw;
    width: 104vw;
  }
}
.p-mv__deco02 {
  position: absolute;
  right: -20%;
  bottom: -20%;
  width: 600px;
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .p-mv__deco02 {
    right: -55vw;
    bottom: 4vw;
    width: 104vw;
  }
}
.p-mv__txt {
  width: 50%;
}
@media screen and (max-width: 960px) {
  .p-mv__txt {
    width: 100%;
  }
}
.p-mv__img {
  width: 50%;
}
@media screen and (max-width: 960px) {
  .p-mv__img {
    width: 100%;
    margin-top: 4.8vw;
    margin-bottom: -15vw;
  }
}
.p-mv__art {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
}
@media screen and (max-width: 960px) {
  .p-mv__art {
    display: block;
  }
}
.p-mv__small {
  position: relative;
  display: inline-block;
  margin-bottom: 24px;
  padding: 2px 20px;
  font-size: 26px;
  border-radius: 40px;
  color: var(--color_bg);
  font-weight: 600;
  background: var(--color_accent1);
  line-height: 1.82;
}
@media screen and (max-width: 960px) {
  .p-mv__small {
    margin-bottom: 3.2vw;
    padding: 0.2vw 2.8vw 0.2vw 3.9vw;
    font-size: 4vw;
  }
}
.p-mv__small:after {
  position: absolute;
  bottom: -14px;
  left: 32px;
  content: "";
  border-left: 11px solid transparent;
  border-right: 1px solid transparent;
  border-top: 15.4510203969px solid var(--color_accent1);
}
@media screen and (max-width: 960px) {
  .p-mv__small:after {
    bottom: -2.2vw;
    left: 5.8vw;
    width: 2vw;
  }
}
.p-mv__ttl {
  font-weight: 600;
  color: var(--color_accent2);
  line-height: 1.2;
}
.p-mv__ttl--s {
  display: block;
  font-size: 60px;
  font-weight: 800;
}
@media screen and (max-width: 960px) {
  .p-mv__ttl--s {
    font-size: 9.8vw;
  }
}
.p-mv__ttl--l {
  display: block;
  font-size: 80px;
  font-weight: 600;
}
@media screen and (max-width: 960px) {
  .p-mv__ttl--l {
    font-size: 13.2vw;
  }
}
.p-mv__desc {
  margin-top: 20px;
  font-size: 24px;
  font-weight: 800;
}
@media screen and (max-width: 960px) {
  .p-mv__desc {
    margin-top: 2.8vw;
    font-size: 4vw;
    line-height: 1.2;
  }
}
.p-mv__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 960px) {
  .p-mv__list {
    margin-top: 2.8vw;
    margin-bottom: 2.8vw;
    gap: 2.8vw;
  }
}
.p-mv__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 126px;
  height: 126px;
  border-radius: 126px;
  color: var(--color_accent1);
  font-size: 20px;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  background: var(--color_bg);
  text-align: center;
  font-weight: 800;
  line-height: 1.4;
}
@media screen and (max-width: 960px) {
  .p-mv__list li {
    width: calc((100% - 5.6vw) / 3);
    height: 14vw;
    border-radius: 8px;
    font-size: 4vw;
    line-height: 1.3;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  }
}
.p-mv__list li small {
  font-size: 16px;
}
@media screen and (max-width: 960px) {
  .p-mv__list li small {
    font-size: 3.4vw;
  }
}
.p-mv__list li small::before, .p-mv__list li small::after {
  display: inline-block;
  content: "";
  position: relative;
  top: 3px;
  width: 1px;
  height: 14px;
  background-color: var(--color_accent1);
}
@media screen and (max-width: 960px) {
  .p-mv__list li small::before, .p-mv__list li small::after {
    font-size: 2.8vw;
  }
}
.p-mv__list li small::before {
  margin-right: 10px;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
}
.p-mv__list li small::after {
  margin-left: 10px;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
}
.p-mv__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-mv__priceName {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 80px;
  height: 80px;
  text-align: center;
  line-height: 1.4;
  font-weight: 600;
  color: var(--color_bg);
  background: var(--color_main);
  border-radius: 80px;
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .p-mv__priceName {
    width: 13vw;
    min-width: 13vw;
    height: 13vw;
    border-radius: 13vw;
    font-size: 3vw;
    line-height: 1.2;
  }
}
.p-mv__priceMoney {
  line-height: 1;
}
@media screen and (max-width: 960px) {
  .p-mv__priceMoney {
    margin-left: 1.2vw;
  }
}
.p-mv__priceMoney strong {
  font-size: 94px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color_accent3);
  font-family: var(--font_family--en);
}
@media screen and (max-width: 960px) {
  .p-mv__priceMoney strong {
    font-size: 13.8vw;
  }
}
.p-mv__priceCurrency {
  font-size: 50px;
  font-weight: 800;
}
@media screen and (max-width: 960px) {
  .p-mv__priceCurrency {
    font-size: 8vw;
  }
}
.p-mv__priceTax {
  font-size: 24px;
  font-weight: 800;
}
@media screen and (max-width: 960px) {
  .p-mv__priceTax {
    font-size: 3.8vw;
  }
}
.p-mv__point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  margin-top: 20px;
}
@media screen and (max-width: 960px) {
  .p-mv__point {
    gap: 2.8vw;
    margin-top: 3.2vw;
  }
}
.p-mv__point li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4px 32px;
  color: var(--color_bg);
  border-radius: 5px;
  font-weight: 600;
  font-size: 20px;
  background: var(--color_main);
  line-height: 1.2;
}
@media screen and (max-width: 960px) {
  .p-mv__point li {
    width: 60%;
    padding: 0.8vw 1.2vw;
    font-size: 3.4vw;
  }
}
@media screen and (max-width: 960px) {
  .p-mv__point li:first-child {
    width: 40%;
  }
}
.p-mv__point li strong {
  font-size: 30px;
  font-family: var(--font_family--en);
  font-weight: 800;
}
@media screen and (max-width: 960px) {
  .p-mv__point li strong {
    font-size: 4.4vw;
  }
}
.p-mv__point li small {
  position: relative;
  top: 4px;
  font-size: 16px;
}
@media screen and (max-width: 960px) {
  .p-mv__point li small {
    top: 1px;
    font-size: 3vw;
  }
}

.p-what__head {
  position: relative;
  margin-bottom: 80px;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-what__head {
    margin-bottom: 8vw;
  }
}
.p-what__ttl strong {
  font-size: 36px;
  line-height: 1.2;
  font-weight: 800;
  color: #003E96;
}
@media screen and (max-width: 960px) {
  .p-what__ttl strong {
    font-size: 5vw;
  }
}
.p-what__ttl small {
  position: absolute;
  top: 50%;
  left: 50%;
  font-family: var(--font_family--en);
  font-size: 100px;
  font-weight: 800;
  color: #5654FF;
  z-index: -1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0.1;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .p-what__ttl small {
    font-size: 12.8vw;
  }
}
.p-what__inner {
  padding: 0 5.3vw;
}
.p-what__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 60px;
}
@media screen and (max-width: 960px) {
  .p-what__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.4vw;
  }
}
.p-what__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 33.3333333333%;
}
@media screen and (max-width: 960px) {
  .p-what__list li {
    width: 100%;
    padding: 0;
    font-size: 4.4vw;
    border-radius: 8px;
  }
}
.p-what__list li input {
  display: none;
}
.p-what__list li label {
  width: 100%;
  cursor: pointer;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.p-what__list li label:hover {
  opacity: 0.8;
}
.p-what__list li label span {
  display: block;
  padding: 8px 20px;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  background: -webkit-gradient(linear, left top, right top, from(#3F51FF), to(#FF7FF1));
  background: linear-gradient(to right, #3F51FF, #FF7FF1);
  border-radius: 5px;
  text-align: center;
}
.p-what__list li label input:checked + span {
  background: -webkit-gradient(linear, left top, right top, from(#E5C41E), to(#FF7F81));
  background: linear-gradient(to right, #E5C41E, #FF7F81);
}
.p-what__desc {
  margin-top: 60px;
  text-align: center;
  line-height: 1.6;
  color: var(--color_accent1);
}
@media screen and (max-width: 960px) {
  .p-what__desc {
    margin-top: 8vw;
  }
}
.p-what__desc small {
  display: block;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 960px) {
  .p-what__desc small {
    font-size: 3.8vw;
  }
}
.p-what__desc strong {
  display: block;
  font-size: 28px;
  font-weight: 600;
}
@media screen and (max-width: 960px) {
  .p-what__desc strong {
    font-size: 4.4vw;
  }
}

.p-intro {
  position: relative;
}
.p-intro__ttl {
  font-size: 30px;
  line-height: 1.8;
  font-weight: 700;
  text-align: center;
  color: #003E96;
}
@media screen and (max-width: 960px) {
  .p-intro__ttl {
    font-size: 5vw;
  }
}
.p-intro__desc {
  margin-top: 60px;
  font-size: 18px;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-intro__desc {
    margin-top: 8vw;
    font-size: 3.8vw;
  }
}
.p-intro__deco {
  position: absolute;
  left: -30%;
  bottom: -30%;
}
@media screen and (max-width: 960px) {
  .p-intro__deco {
    left: -61vw;
    bottom: -59vw;
    width: 104vw;
  }
}

.p-price {
  padding: 100px 0;
  border-top: 2px solid #eaeaea;
}
@media screen and (max-width: 960px) {
  .p-price {
    padding: 18vw 0;
  }
}
.p-price__ttl {
  margin-bottom: 60px;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-price__ttl {
    margin-bottom: 10vw;
  }
}
.p-price__ttl small {
  display: block;
  margin-bottom: 20px;
  font-size: 24px;
  color: var(--color_accent1);
  line-height: 1;
  font-family: var(--font_family--en);
  font-weight: 800;
}
@media screen and (max-width: 960px) {
  .p-price__ttl small {
    margin-bottom: 2.8vw;
    font-size: 4.8vw;
  }
}
.p-price__ttl strong {
  font-size: 38px;
  font-weight: 800;
  line-height: 1;
}
@media screen and (max-width: 960px) {
  .p-price__ttl strong {
    font-size: 7.6vw;
  }
}
.p-price__data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 100px;
  max-width: 880px;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-price__data {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 13vw;
  }
}
.p-price__dataItem {
  width: 50%;
}
@media screen and (max-width: 960px) {
  .p-price__dataItem {
    width: 100%;
  }
}
.p-price__dataTtl {
  display: block;
  width: 100%;
  padding: 8px 32px;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  background: var(--color_accent1);
  text-align: center;
  border-radius: 40px;
}
@media screen and (max-width: 960px) {
  .p-price__dataTtl {
    padding: 2.2vw 4vw;
    color: #fff;
    font-size: 4.6vw;
  }
}
.p-price__dataCont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  margin-top: 20px;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-price__dataCont {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.2vw;
    margin-top: 4.4vw;
  }
}
.p-price__dataPrice {
  font-size: 94px;
  font-family: var(--font_family--en);
  font-weight: 800;
  color: var(--color_accent3);
  line-height: 1;
}
@media screen and (max-width: 960px) {
  .p-price__dataPrice {
    font-size: 16vw;
  }
}
.p-price__dataCurrency {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
.p-price__dataCurrency span {
  font-size: 50px;
  font-weight: 800;
  line-height: 1.1;
  font-family: var(--font_family);
}
@media screen and (max-width: 960px) {
  .p-price__dataCurrency span {
    font-size: 9.2vw;
  }
}
.p-price__dataCurrency small {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.1;
  font-family: var(--font_family);
}
@media screen and (max-width: 960px) {
  .p-price__dataCurrency small {
    font-size: 2.8vw;
  }
}
.p-price__outro {
  margin-top: 32px;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-price__outro {
    margin-top: 5.8vw;
  }
}
.p-price__outroTtl {
  margin-bottom: 12px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .p-price__outroTtl {
    margin-bottom: 2.8vw;
    font-size: 6.2vw;
  }
}
.p-price__outroDesc {
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 960px) {
  .p-price__outroDesc {
    font-size: 3.8vw;
    line-height: 2;
  }
}

.p-lawyer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 100px;
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-lawyer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8vw;
  }
}
.p-lawyer__img {
  max-width: 370px;
  width: 40%;
  padding: 10px;
  border-radius: 370px;
  background: -webkit-gradient(linear, left top, right top, from(#3F51FF), to(#FF7FF1));
  background: linear-gradient(to right, #3F51FF, #FF7FF1);
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  .p-lawyer__img {
    max-width: 40vw;
    width: 40vw;
    padding: 1.2vw;
    border-radius: 40vw;
  }
}
.p-lawyer__img span {
  display: block;
  border-radius: 370px;
  overflow: hidden;
}
.p-lawyer__img span img {
  display: block;
  width: 100%;
}
.p-lawyer__flex {
  width: 60%;
}
@media screen and (max-width: 960px) {
  .p-lawyer__flex {
    width: 100%;
    text-align: center;
  }
}
.p-lawyer__ttl {
  display: inline-block;
  margin-bottom: 24px;
  padding: 0 24px;
  font-size: 30px;
  font-weight: 600;
  color: var(--color_bg);
  background: var(--color_accent2);
  line-height: 1.6;
  border-radius: 8px;
}
@media screen and (max-width: 960px) {
  .p-lawyer__ttl {
    margin-bottom: 10vw;
    padding: 1.2vw 5.3vw;
    font-size: 5.2vw;
  }
}
.p-lawyer__desc {
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-lawyer__desc {
    font-size: 3.8vw;
  }
}
.p-lawyer__desc a {
  text-decoration: underline;
}
.p-contact {
  position: relative;
  padding-top: 110px;
}
@media screen and (max-width: 960px) {
  .p-contact {
    padding-top: 23vw;
  }
}
.p-contact__inner {
  max-width: 820px;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-contact__inner {
    padding: 0 5.3vw;
  }
}
.p-contact__btn {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 960px) {
  .p-contact__btn {
    margin: 8vw 0 8vw;
  }
}
.p-contact__desc {
  padding-bottom: 68px;
  border-bottom: 2px solid #eaeaea;
}
@media screen and (max-width: 960px) {
  .p-contact__desc {
    padding-bottom: 14vw;
  }
}
.p-contact__desc h3 {
  margin-bottom: 40px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-contact__desc h3 {
    margin-bottom: 4.4vw;
    font-size: 4.4vw;
  }
}
.p-contact__desc p {
  font-size: 16px;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-contact__desc p {
    font-size: 3.8vw;
  }
}
.p-contact__complete {
  border-bottom: 0;
}
.p-contact__deco01 {
  position: absolute;
  left: -20%;
  top: -20%;
  width: 600px;
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .p-contact__deco01 {
    left: -55vw;
    top: -70vw;
    width: 104vw;
  }
}
.p-contact__deco02 {
  position: absolute;
  right: -20%;
  bottom: -20%;
  width: 600px;
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .p-contact__deco02 {
    right: -45vw;
    bottom: auto;
    top: 76vw;
    width: 82vw;
  }
}
.p-contact__head {
  position: relative;
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-contact__head {
    margin-bottom: 8vw;
  }
}
.p-contact__ttl strong {
  font-size: 36px;
  line-height: 1.2;
  font-weight: 800;
  color: #003E96;
}
@media screen and (max-width: 960px) {
  .p-contact__ttl strong {
    font-size: 5vw;
  }
}
.p-contact__ttl small {
  position: absolute;
  top: 50%;
  left: 50%;
  font-family: var(--font_family--en);
  font-size: 100px;
  font-weight: 800;
  color: #5654FF;
  z-index: -1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0.1;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .p-contact__ttl small {
    font-size: 12.8vw;
  }
}

.p-form {
  padding: 60px 0 80px;
}
@media screen and (max-width: 960px) {
  .p-form {
    padding: 12vw 0 14vw;
  }
}
.p-form__item {
  margin-bottom: 38px;
}
@media screen and (max-width: 960px) {
  .p-form__item {
    margin-bottom: 8vw;
  }
}
.p-form__item dt {
  margin-bottom: 6px;
  font-weight: 800;
  font-size: 16px;
}
@media screen and (max-width: 960px) {
  .p-form__item dt {
    margin-bottom: 1.2vw;
    font-size: 3.6vw;
  }
}
.p-form__item dd input[type=text],
.p-form__item dd input[type=email],
.p-form__item dd input[type=tel] {
  width: 100%;
  height: 50px;
  padding: 0 12px;
  border: 2px solid #d7d8da;
  border-radius: 10px;
}
.p-form__radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 960px) {
  .p-form__radio {
    gap: 2.8vw;
  }
}
.p-form__radio label {
  width: 50%;
}
.p-form__radio label input {
  display: none;
}
.p-form__radio label span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  font-size: 20px;
  height: 70px;
  border-radius: 10px;
  color: #003E96;
  font-weight: 800;
  background: #ddddfc;
  cursor: pointer;
}
@media screen and (max-width: 960px) {
  .p-form__radio label span {
    height: 16vw;
    padding: 2.8vw;
    font-size: 3.6vw;
    text-align: center;
    line-height: 1.4;
  }
}
.p-form__radio label input:checked + span {
  color: #fff;
  background: #5654FF;
}
.p-form__btn {
  margin: 100px 0 60px;
}
@media screen and (max-width: 960px) {
  .p-form__btn {
    margin: 18vw 0 8vw;
  }
}
.p-page {
  position: relative;
  padding-top: 110px;
}
@media screen and (max-width: 960px) {
  .p-page {
    padding-top: 23vw;
  }
}
.p-page__inner {
  max-width: 820px;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-page__inner {
    padding: 0 5.3vw;
  }
}
.p-page__head {
  position: relative;
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-page__head {
    margin-bottom: 8vw;
  }
}
.p-page__ttl strong {
  font-size: 36px;
  line-height: 1.2;
  font-weight: 800;
  color: #003E96;
}
@media screen and (max-width: 960px) {
  .p-page__ttl strong {
    font-size: 5vw;
  }
}
.p-page__ttl small {
  position: absolute;
  top: 50%;
  left: 50%;
  font-family: var(--font_family--en);
  font-size: 100px;
  font-weight: 800;
  color: #5654FF;
  z-index: -1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0.1;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .p-page__ttl small {
    font-size: 12.8vw;
  }
}
.p-page__txt {
  margin-bottom: 40px;
}
@media screen and (max-width: 960px) {
  .p-page__txt {
    margin-bottom: 8vw;
    font-size: 3.8vw;
  }
}
.p-page__txt:last-child {
  margin-bottom: 100px;
}
@media screen and (max-width: 960px) {
  .p-page__txt:last-child {
    margin-bottom: 8vw;
  }
}
.p-page__txt h3 {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .p-page__txt h3 {
    margin-bottom: 4vw;
    font-size: 4.4vw;
  }
}
.p-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
@media screen and (max-width: 960px) {
  .p-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10vw;
  }
}
.p-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
.p-footer__snsList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  font-size: 16px;
}
@media screen and (max-width: 960px) {
  .p-footer__snsList {
    gap: 3.6vw;
    font-size: 3.8vw;
  }
}
.p-footer__snsList li:after {
  display: inline-block;
  content: "|";
  margin-left: 20px;
}
@media screen and (max-width: 960px) {
  .p-footer__snsList li:after {
    margin-left: 3.6vw;
  }
}
.p-footer__snsList li:last-child:after {
  display: none;
}
.p-footer__copy {
  font-size: 14px;
}
@media screen and (max-width: 960px) {
  .p-footer__copy {
    font-size: 3.6vw;
  }
}
.p-modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 960px) {
  .p-modal__overlay {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .p-modal__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.p-modal__item {
  display: none;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  position: fixed;
  top: 50%;
  left: 50%;
  max-width: min(90%, 1236px);
  width: 100%;
  max-height: 90vh;
  padding: 100px 100px;
  background: #fff;
  border-radius: 12px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  overflow: auto;
}
@media screen and (max-width: 960px) {
  .p-modal__item {
    padding: 13vw 5vw 2vw;
    position: relative;
    height: calc(100vh - 40.6vw);
  }
}
.p-modal__item.is-show {
  display: block;
  opacity: 1;
}
.p-modal__num {
  position: absolute;
  top: 16px;
  right: 32px;
  font-size: 30px;
  font-family: var(--font_family--en);
  font-weight: 600;
}
@media screen and (max-width: 960px) {
  .p-modal__num {
    top: 2.8vw;
    right: 5.4vw;
    font-size: 4vw;
    margin-bottom: 5vw;
  }
}
.p-modal__head {
  position: relative;
  margin-bottom: 100px;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-modal__head {
    margin-bottom: 8.4vw;
    line-height: 1.6;
  }
}
.p-modal__ttl strong {
  font-size: 36px;
  font-weight: 800;
  line-height: 1.2;
  color: #003E96;
}
@media screen and (max-width: 960px) {
  .p-modal__ttl strong {
    font-size: 4.8vw;
  }
}
.p-modal__ttl small {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  font-family: var(--font_family--en);
  font-size: 100px;
  font-weight: 800;
  color: #5654FF;
  z-index: -1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0.1;
}
@media screen and (max-width: 960px) {
  .p-modal__ttl small {
    font-size: 13.4vw;
  }
}
.p-modal__q {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 68px 60px;
}
@media screen and (max-width: 960px) {
  .p-modal__q {
    gap: 5vw;
  }
}
.p-modal__qItem {
  width: calc((100% - 68px) / 2);
}
@media screen and (max-width: 960px) {
  .p-modal__qItem {
    width: 100%;
  }
}
.p-modal__qItem label {
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.p-modal__qItem label small {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  line-height: 1;
}
@media screen and (max-width: 960px) {
  .p-modal__qItem label small {
    margin-top: 0.4vw;
    font-size: 4.4vw;
  }
}
.p-modal__qItem label input {
  display: none;
}
.p-modal__qItem label input + span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 90px;
  padding: 4px 12px;
  color: #fff;
  text-align: center;
  background: -webkit-gradient(linear, left top, right top, from(#3F51FF), to(#FF7FF1));
  background: linear-gradient(to right, #3F51FF, #FF7FF1);
  border-radius: 12px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
}
@media screen and (max-width: 960px) {
  .p-modal__qItem label input + span {
    height: 20vw;
    margin-top: 0.4vw;
    padding: 0.2vw 1.2vw;
    font-size: 4.4vw;
  }
}
.p-modal__qItem label input:checked + span {
  background: -webkit-gradient(linear, left top, right top, from(#E5C41E), to(#FF7F81));
  background: linear-gradient(to right, #E5C41E, #FF7F81);
}
.p-modal__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 90px;
  gap: 80px;
}
@media screen and (max-width: 960px) {
  .p-modal__control {
    margin-top: 6.2vw;
    padding-bottom: 6.2vw;
    gap: 6vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
}
.p-modal__control i {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 70px;
  height: 70px;
  padding: 2px;
  border-radius: 70px;
  background: -webkit-gradient(linear, left top, right top, from(#3F51FF), to(#FF7FF1));
  background: linear-gradient(to right, #3F51FF, #FF7FF1);
}
.p-modal__control i span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background: #fff;
}
.p-modal__control i img {
  width: 20%;
}
.p-modal__back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  font-size: 18px;
  font-weight: 600;
  color: #5654FF;
  cursor: pointer;
}
@media screen and (max-width: 960px) {
  .p-modal__back {
    gap: 6vw;
    font-size: 3.8vw;
  }
}
.p-modal__next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  font-size: 18px;
  font-weight: 600;
  color: #5654FF;
  cursor: pointer;
}
@media screen and (max-width: 960px) {
  .p-modal__next {
    font-size: 3.8vw;
  }
}
.p-modal__next.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}

.c-submit {
  display: block;
  width: 500px;
  margin: 0 auto;
  padding: 14px 0;
  font-size: 26px;
  font-weight: 700;
  border-radius: 100px;
  text-align: center;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#E5C41E), to(#FF7F81));
  background: linear-gradient(to right, #E5C41E, #FF7F81);
}
@media screen and (max-width: 960px) {
  .c-submit {
    width: 80%;
    padding: 2.4vw 0;
    font-size: 5.2vw;
  }
}

.c-linebtn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  max-width: 392px;
  width: 100%;
  height: 90px;
  text-align: center;
  font-size: 26px;
  font-weight: 800;
  color: #fff;
  background: #06C755;
  border-radius: 50px;
}
@media screen and (max-width: 960px) {
  .c-linebtn {
    max-width: 100%;
    height: 20vw;
    gap: 4vw;
    border-radius: 22vw;
    font-size: 6.2vw;
  }
}
@media screen and (max-width: 960px) {
  .c-linebtn i {
    width: 13vw;
  }
}
.c-linebtn i img {
  vertical-align: middle;
}