:root {
  --padding-inline-base: min(5.38cqw, 56px);
}
body:not(.wp-admin) {
  font-size: 1.6rem !important;
}

.page-lp_base {
  background-color: #020B1B;
  color: #fff;
}
.editor-styles-wrapper {
  background-color: #020B1B;
  color: #fff;
}
.editor-styles-wrapper .lazyblock {
  color: #3c434a;
}

/**
 *    ヘッダー
 */
.c-header {
    position: sticky;
    left: 0;
    transform: translateX(0);
    top: 0 !important;
    max-width: unset !important;
    width: 100% !important;
    border-radius: 0 !important;
}
.c-header--nega {
    background: #020B1B;
}
.c-header--nega.rlnc-header .c-header__btns .c-btn.c-btn--rounded a {
  width: 100%;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid #273E54;
  background: #0D1D2B;
  font-size: 15px;
}
.c-header__humberger {
  display: none;
}

/**
 *    レイアウト
 */
.l-app {
  display: grid;
  grid-template:
    'header' auto
    'main' 1fr
    'footer' auto / 1fr;
  min-block-size: 100vh;
  min-block-size: 100dvb;
}
.l-app .c-header {
  grid-area: header
}
.l-app .lp-main {
	grid-area: main;
}
.l-app .rlnc-footer {
	grid-area: footer;
}

.lp-main {
  width: min(100%, 1920px);
  margin-inline: auto;
}

.lp-main_body {
  container-type: inline-size;
}
@media not all and (max-width: 1023px) {
  .lp-main_inner {
    padding-inline-start: max(27%, 400px);
  }
}

/**
 *    ボタン
 */
.p-lp_button {
  padding: 56px 20px;
  background: url(../images/lp_base/bg_ctr_sp.svg) no-repeat center / cover;
}
.p-lp_button .wp-block-button {
  width: min(100%, 320px);
}
.p-lp_button .wp-element-button {
  background-color: #FFF238 !important;
  border-radius: 10px !important;
  color: #020B1B !important;
  font-weight: bold;
  line-height: 1.3;
}
.p-lp_button p {
  margin-bottom: 1.8em;
}
@container (min-width: 768px) {
  .p-lp_button {
    background: url(../images/lp_base/bg_ctr.svg) no-repeat center / cover;
  }
}

/**
 *    スタイルがないときの再設定
 */
h2 {
  margin-block: 28px;
  font-size: 24px;
  font-weight: bold;
}
h2:first-child {
  margin-block-start: 0;
}
p {
  font-feature-settings: 'halt' on;
  /* font-size: 16px; */
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}
p + p {
  margin-block-start: 2em;
}
@container (min-width: 768px) {
  h2 {
    font-size: 32px;
  }
}

/**
 *    MV
 */
.p-lp-mv {
  padding-block: 28px 16px;
  padding-inline: 20px;
}
.p-lp-mv h1 {
  font-feature-settings: 'halt' on;
  font-size: min(5.8vw, 22px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  word-break: auto-phrase;

}
@container (min-width: 768px) {
  .p-lp-mv {
    /* padding-block: 50px 40px; */
    padding-block-start: min(4.8cqw, 50px);
    padding-inline: var(--padding-inline-base);
  }
  .p-lp-mv h1 {
    /* font-size: clamp(28px, -11.2px + 4cqw, 32px); */
    font-size: min(2.9cqw, 32px);
    text-shadow: 0 0 20px rgba(34, 64, 213, 0.20);
    word-break: normal;
  }
}

/*  */
.p-data {
  margin-block: 20px 5px;
  font-family: serif;
  gap: 20px;
}
.p-data p + p {
  margin: 0;
}
.p-data__item {
  flex: 0 1 auto !important;
}
.p-data .wp-block-columns {

}
@container (min-width: 768px) {
  .p-data {
    /* margin-block: 50px 18px; */
    margin-block: min(4.8cqw, 50px) min(1.73cqw, 18px);
    font-family: serif;
    /* gap: 46px; */
    gap: min(4.42cqw, 46px);
  }
}

/**
 *    ポイント付きのタイトル
 */
.p-title-h3 {
  margin-block: 64px;
  font-family: "Open Sans";
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-title-h3:first-child {
  margin-block-start: 0;
}
.p-title-h3__point {
  position: relative;
  margin-block-end: 64px;
}
.p-title-h3__point::before, .p-title-h3__point::after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: 50%;
}
.p-title-h3__point::before {
  width: 80px;
  height: 1px;
  background: linear-gradient(90deg, rgba(39, 44, 65, 0.00) 0%, #5FF2E7 100%);
  z-index: 2;
}
.p-title-h3__point::after {
  width: 190px;
  height: 190px;
  transform: translateY(-50%);
  background: url(../images/lp_base/bg_blur_circle.png) no-repeat center / cover;
  z-index: 1;
}
.p-title-h3__point p {
  position: relative;
  margin: 0;
  padding-inline-start: 104px;
  z-index: 3;
}
.p-title-h3__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@container (min-width: 768px) {
  .p-title-h3__title {
    font-size: min(4.2cqw, 39px);
  }
}

/**
 *    セクション
 */
.p-section {
  padding: 100px 20px;
}
@container (min-width: 768px) {
  .p-section.my-large {
    padding-block: 150px 100px;
  }
  .p-section {
    padding: 100px var(--p-section-inline-base, var(--padding-inline-base)) 60px;
  }
}

/**
 *    枠のあるボックス
 */
.p-grd-borderbox {
  position: relative;
  margin-top: 36px;
  padding: 32px 18px;
  /* border-top: 1px solid #324B64;
  border-left: 1px solid #324B64; */
}
@container (min-width: 768px) {
  .p-grd-borderbox {
    margin-top: 16px;
    padding: 36px 40px;
  }
}
.p-grd-borderbox::before, .p-grd-borderbox::after {
  content: "";
  position: absolute;
  display: block;
}
.p-grd-borderbox::before {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background: linear-gradient(135deg,rgba(50, 75, 100, 1) 0px, rgba(50, 75, 100, 0) 100px);
}
.p-grd-borderbox::after {
  left: 1px;
  top: 1px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 8px;
  z-index: 2;
  /* background: linear-gradient(114deg, rgba(13, 29, 43, 0.50) -4.44%, rgba(2, 11, 27, 0.50) 34.62%); */
  background: linear-gradient(114deg, #081423 -4.44%, #020B1B 34.62%);
}
.p-grd-borderbox .wp-block-group__inner-container {
  position: relative;
  z-index: 3;
}
.p-grd-borderbox__title {
  margin-bottom: 33px;
  font-feature-settings: 'halt' on;
  font-size: 24px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  word-break: auto-phrase;
}
.p-grd-borderbox__title strong {
  color: #5FF2E7;
}
/* voice用カスタマイズ */
.p-grd-borderbox--voice .p-grd-borderbox__title {
  font-size: 24px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.p-grd-borderbox--voice .p-grd-borderbox__title strong {
  font-weight: 400;
}
.p-grd-borderbox--voice p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@container (min-width: 768px) {
  .p-grd-borderbox--voice .p-grd-borderbox__title {
    font-size: 34px;
  }
}

/**
 *    voice用
 */
.p-voice-profile {
  margin-block: 16px;
}
.p-voice-profile__info {
  display: grid;
  grid-template-columns: auto 56px max-content;
  align-items: center;
  gap: 9px;
}
.p-voice-profile__info::before {
  content: "";
  height: 1px;
  background: linear-gradient(90deg, #5FF2E7 0%, rgba(39, 44, 65, 0.00) 100%);
}
.p-voice-profile__text {
  display: grid;
  gap: 2px;
  font-weight: 400;
  line-height: 1.4;
}
.p-voice-profile__name {
  font-size: 14px;
  letter-spacing: 0.05em;
}
.p-voice-profile__role {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.05em;
}
.p-voice-profile__year {
  font-size: 12px;
  letter-spacing: 0.05em;
}
.p-voice-profile__avatar {
  width: 56px;
  height: 56px;
}
.p-voice-profile__avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}


/**
 *    フロー
 */
.p-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 132px;
  margin-block: 80px;
}
.p-flow .wp-block-column {
  position: relative;
}
.p-flow .wp-block-column:not(:first-child)::before {
  position: absolute;
  left: 50%;
  top: calc(-132px / 2);
  content: "";
  display: block;
  width: 25px;
  height: 49px;
  mask-image: url(../images/lp_base/arw_lp_flow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  background-color: #58647D;
  transform: translate(-50%, -50%);
}
.p-flow figure.wp-block-image {
  margin: 0;
}
.p-flow .wp-block-image img {
  display: block;
  width: 180px;
  max-width: none;
  height: auto;
  margin-inline: auto;
}
.p-flow p {
  margin-block-start: 20px;
  text-align: center;
  font-size: 15px;
  line-height: 2;
}
.block-editor-block-list__block.p-section {
  container-type: inline-size;
}
@container (min-width: 768px) {
  .p-flow {
    position: relative;
    width: min(100%, 928px);
    margin-inline: auto;
    flex-direction: row;
    align-items: flex-start;
    /* justify-content: space-between; */
    justify-content: center;
    gap: 11.1%;
    margin-block: 45px 100px;
  }
  .p-flow .wp-block-column {
    flex: 0 1 auto;
  }
  .p-flow .wp-block-column:not(:first-child)::before {
    top: 40%;
    left: calc(min(4.5cqw, 51px) * -1);
    width: min(2.6cqw, 37px);
    height: min(5.2cqw, 74px);
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .p-flow .wp-block-image img {
    width: min(100%, 207px);
  }
  .p-flow p {
    font-size: 16px;
    text-align: left;
  }
  .p-flow p br {
    display: none;
  }
}

/**
 *    フォーム
 */
#form {
}
.lp-form {
  /* padding: 40px 24px 24px; */
}
.lp-form__inner {
  padding: 40px 24px 24px;
}
.lp-form__ttl {
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}
@media not all and (max-width: 1023px) {
  #form {
    position: fixed;
    left: 0;
    top: var(--rlnc--header--height);
    width: max(27%, 400px);
    height: calc(100dvh - var(--rlnc--header--height));
    box-shadow: 4px 0 10px 0 rgba(107, 107, 107, 0.40);
  }
  #form.is-absolute {
    /* footerと接触している時のスタイル */
    position: absolute;
    bottom: calc(var(--rlnc--footer--stop) - 20px);
    top: auto;
    height: auto;
  }
  .lp-form {
    /* padding-top: 10px; */
    overflow: auto;
    height: 100%;
  }
  .lp-form__inner {
    padding-top: 10px;
  }
}


/**
 *    フッター
 */
.rlnc-footer {
  position: relative;
  background-color: #020B1B;
}
.rlnc-footer-inner {
  padding: 64px 6.4vw 40px !important;
}
.rlnc-footer-copy-unit {
  flex-direction: column;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 3rem;
  border-top: none;
  margin-top: 32px !important;
  padding-top: 40px;
}
.rlnc-footer-logo {
  width: 150px;
}
.rlnc-footer-copy-item {
  position: relative;
}
.rlnc-footer-copy-corporate {
  width: 100%;
}
.rlnc-footer-copy-corporate-link {
  display: block;
  width: 80px;
}
.rlnc-footer-copy-corporate-image {
  max-width: none;
}
.rlnc-footer-copy-left-area {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.5em 2.5em;
}
.rlnc-footer-copy-list {
  display: flex;
  gap: 3.25em;
}
.rlnc-footer-copy-item + .rlnc-footer-copy-item::before {
  position: absolute;
  top: 0;
  left: -1.6em;
  content: "";
  width: 1px;
  height: 1lh;
  background-color: #fff;
}
.rlnc-footer-copy-text {
  margin-top: 30px;
  font-size: 13px;
}
.rlnc-footer .c-btn.c-btn--rounded a {
  width: fit-content;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid #273E54;
  background: #0D1D2B;
  color: #fff;
  font-size: 15px;
}
@media not all and (max-width: 768px) {
  .rlnc-footer-inner {
    padding: 32px;
  }
  .rlnc-footer-copy-unit {
    flex-direction: row;
    /* align-items: flex-start; */
    /* gap: 3rem; */
    margin-top: 120px !important;
    padding-top: 32px;
  }
  .rlnc-footer-copy-corporate {
    width: 80px;
  }
  .rlnc-footer-copy-text {
    margin-top: 0;
  }
}

/**
 *    案件一覧 案件カード
 */
/* .wp-block-lazyblock-lp-project-list {
  overflow: hidden;
} */
.p-slide {
  margin-block: 0 60px;
  padding-inline: 24px;
  overflow: hidden;
}
.splide__track {
  overflow: visible;
}
.p-slide .splide__pagination {
  bottom: -32px;
}

@container (min-width: 768px) {
  .p-slide {
    padding-inline: var(--padding-inline-base);
    margin-block: 0 70px;
  }
  /* .splide__track {
    overflow: hidden;
  } */
  .p-slide .splide__arrow--prev {
    left: 12px;
  }
}

.p-project_item {
  padding: 1px;
  border-radius: 10px;
  background: linear-gradient(109deg, #7BA6D1 -1.03%, rgba(1, 17, 32, 0.00) 49.71%, #6092C4 104.51%);
  transition: background 0.3s;
}
.p-project_item:has(a:hover) {
  background-color: #5FF2E7;
}
.p-project_item a {
  display: block;
  height: 100%;
  padding: 24px;
  transition: none;
  background-color: #020B1B;
  border-radius: 8px;
  color: #fff;
  transition: background 0.3s;
}
.p-project_item a:hover,
.p-project_item a:focus {
}
.p-project_item a:focus {
  outline: none;
}
.p-project_item a:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
@media (any-hover: hover) {
  .p-project_item a:hover {
    opacity: 1;
    background: #0b222f;
    outline: 2px solid var(--color-primary);
  }
  .p-project_item a:hover .c-detail_btn {
    background: var(--color-primary-txt);
  }
}
.p-project_item__header{
  padding-bottom: 20px;
  border-block-end: 1px solid #273E54;
}
/* .p-project_item__meta:has(div) {
  margin-bottom: 16px;
} */
.p-project_item__meta {
  min-height: 26px;
  margin-bottom: 16px;
}
.p-project_item__title {
  margin: 0;
  font-size: min(4.5cqw, 17px);
  font-weight: bold;
  line-height: 1.5;
}
@container (min-width: 768px) {
  .p-project_item__title {
    font-size: min(2.1cqw, 22px);
    line-height: 1.3;
  }
}
.p-project_item__price_range {
  margin-top: clamp(1.4rem, 1.127rem + 0.727vw, 2rem);
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
}
.p-project_item__price {
  color: #FFF238;
}
.p-project_item__price_lg {
  font-size: 22px;
}
.p-project_item__body{
  padding: 24px 0 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.p-project_item__btn {
  margin-top: 24px;
}
.c-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  background: #5FF2E7;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}
.c-icon--yen {
  mask-image: url(../images/project/money_yen.svg);
}
.c-icon--bag {
  mask-image: url(../images/project/business_center.svg);
}
.c-icon--code {
  mask-image: url(../images/project/code.svg);
}
.c-icon--calender {
  mask-image: url(../images/project/date_range.svg);
}
.c-icon--com {
  mask-image: url(../images/project/laptop_mac.svg);
}
.c-icon--date {
  mask-image: url(../images/project/today.svg);
}
.c-icon--train {
  mask-image: url(../images/project/train.svg);
}
.c-terms {
  display: flex;
  gap: 4px 16px;
  flex-wrap: wrap;
  align-items: center;
  overflow: hidden;
}
.c-terms--gap_small {
  gap: 4px;
}
.c-term--round_border {
  padding: 2px 12px;
  border-radius: calc(infinity * 1px);
  border: 1px solid #5FF2E7;
  color: #5FF2E7;
  font-size: 14px;
}
.c-badge {
  width: fit-content;
  padding: 2px 0.5em;
  background: #F1F7FF;
  color: #1266B5;
  font-size: 12px;
  font-weight: bold;
}


/* 条件のリスト */
.p-project_spec {
  display: grid;
  grid-template-columns: max-content auto;
  row-gap: 4px;
}
.p-project_spec__item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  column-gap: 8px;
}
.p-project_spec__item dt {
  display: flex;
  align-items: center;
  min-height: 36px;
  padding: clamp(4px, -0.55px + 1.212vw, 14px) clamp(12px, 6.55px + 1.455vw, 24px);
  border-radius: 18px;
  font-size: 1.6rem;
  font-weight: 500;
}
.p-project_spec--archive .p-project_spec__item dt {
  padding: 0 12px;
}
.p-project_spec__item dd {
  padding: 1px 0;
  font-size: 14px;
  align-self: center;
  color: #5FF2E7;
}
.p-project_spec__price_range {
  font-size: clamp(1.4rem, 1.309rem + 0.242vw, 1.6rem);
  font-weight: bold;
  line-height: 1.2;
}


/**
 *    ユーティリティ
 */
.u-large-txt {
  font-size: 20px;
  font-weight: 500;
}
.u-xx-small-txt {
  font-size: 10px;
}

.u-grd-number {
  display: inline-block;
  /* background: linear-gradient(0deg, #FFF0DA 1.04%, #94641E 4.17%, #FFF2DB 82.81%, #EAC885 93.75%, #FBF5D1 97.92%, #BD9A4B 98%, #ECD8A3 100%); */
  background: linear-gradient(180deg, #FCF6D1 0%, #BD9457 10.42%, #E3CA89 25%, #FEE8C8 69.79%, #4D3A1A 85.42%, #FCF0D1 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  filter: url(#text-stroke-filter);
}
.u-grd-number strong {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
}
@container (min-width: 768px) {
  .u-grd-number strong {
    /* font-size: 52px; */
    font-size: min(5cqw, 52px);
    font-weight: 700;
    line-height: 1.2;
  }
}

/* フォーム */
.hsfc-Renderer[data-hsfc-id=Renderer] {
  --hsf-module__vertical-spacing: 2px;
  /* --hsf-field-label__color: --wp--preset--color--white; */
  --hsf-background__padding: 0;
  --hsf-row__horizontal-spacing: 1em;
  --hsf-row__vertical-spacing: 6px;
  --hsf-field-label__font-size: 14px;
  --hsf-field-input__padding: 5px;
  --hsf-button__width: 100%;
  /* --hsf-button__color: #020B1B;
  --hsf-button__background-color: #FFF238; */
  --hsf-button__padding: 10px;
  --hsf-button__border-radius: 10px;
  --hsf-erroralert__font-size: 13px;
  .hsfc-FieldLabel strong {
    font-weight: 400;
  }
  .hsfc-FieldLabel [style*="color:"] {
    /* color: var(--wp--preset--color--white) !important; */
    font-size: 12px;
  }
  .hsfc-FieldLabel [style*="color:"]::before {
    content: "※";
    /* color: var(--wp--preset--color--white) !important; */
    font-size: 12px;
    margin-right: 4px;
  }
  .hsfc-FieldLabel__RequiredIndicator {
    display: none;
  }
  /* .hsfc-FieldLabel a {
    color: var(--wp--preset--color--white) !important;
  } */
  .hsfc-FieldLabel:has(.hsfc-CheckboxInput) {
    font-size: 12px !important;
  }
  /* .hsfc-FieldLabel:has(.hsfc-CheckboxInput) [style*="color:"] {
    display: block;
  } */
}
