@charset "UTF-8";
/* ========================================
    Breakpoint settings
======================================== */
/**
* 0 - 639px:sp
* 640 - 1,023px:tab
* 1,024px - :pc
**/
/* ========================================
    Base settings (Foundation)
======================================== */
body {
  color: #333333;
}

/* ========================================
    Header layout (Layout)
======================================== */
/* ヘッダーをファーストビューに重ねる */
.l-header {
  font-family: "noto sans-serif";
  background-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0);
  transition: background-color 0.25s ease, box-shadow 0.25s ease !important;
}
.l-header .c-navbar {
  align-items: center;
}
.l-header .c-site-branding--has-logo img {
  width: 240px;
  aspect-ratio: 242/38;
}
.l-header .l-header__nav-contact {
  height: 40px;
  width: 176px;
  margin-left: 24px;
}
.l-header .c-site-branding__title {
  max-width: 40vw;
}

/* スクロールが閾値を超えたら付けるクラス */
.l-header.is-white {
  background-color: rgb(255, 255, 255);
  /* 必要なら影や境界を追加 */
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

/* ========================================
    Color settings in utilities
======================================== */
.u-bg-darkBlue {
  background: #29384B;
  color: #fff;
}

.u-bg-darkBlue a {
  background: #29384B;
  color: #fff;
}

.u-bg-redGradation {
  background: linear-gradient(90deg, #940B1B 0%, #C30D23 50%);
  color: #fff;
}

.u-bg-redGradation-re {
  background: #29384B;
  color: #fff;
}

/* ========================================
    Font settings in utilities
======================================== */
.u-fw-300 {
  font-weight: 300;
}

.u-fw-500 {
  font-weight: 500;
}

.u-fw-600 {
  font-weight: 600;
}

.u-ff-sanSerif {
  font-family: "Noto Sans JP", sans-serif;
}

/* ========================================
    Shape settings in utilities
======================================== */
.u-shadow-4-4-24 {
  box-shadow: 4px 4px 24px rgba(0, 0, 0, 0.1);
}

.u-shadow-2-1-4 {
  box-shadow: 2px 1px 4px rgba(0, 0, 0, 0.25);
}

.u-shadow-2-1-2 {
  filter: drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.25));
}

/* ========================================
    Shape settings in utilities
======================================== */
.u-shape-kadomaru40 {
  border-radius: 40px;
}

/* ========================================
    c-button (Component)
======================================== */
.c-button {
  position: relative;
  filter: drop-shadow(4px 4px 10px #cccccc);
}
.c-button .smb-btn__label {
  font-size: 24px;
}

.c-button::after {
  content: "";
  width: 40px;
  aspect-ratio: 1/1;
  position: absolute;
  right: 40px;
  top: 50%;
  background: url(../img/button-arrow.png) no-repeat center/cover;
  transform: translateY(-50%);
  transition: 0.3s all ease;
}

.c-button:hover::after {
  right: 30px;
}

.smb-btn:focus-visible {
  filter: brightness(80%);
}

@media (max-width: 639px) {
  .c-button .smb-btn__label {
    font-size: 20px;
  }
  .c-button::after {
    right: 20px;
  }
  .c-button:hover::after {
    right: 20px;
  }
}
/* ========================================
    c-cta (Component)
======================================== */
.c-cta__section .c-cta__section-box {
  max-width: 824px;
}
.c-cta__section .c-cta__section-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 16px;
  -webkit-clip-path: polygon(2% 0%, 98% 0%, 100% 50%, 98% 100%, 2% 100%, 0% 50%);
          clip-path: polygon(2% 0%, 98% 0%, 100% 50%, 98% 100%, 2% 100%, 0% 50%);
}
@media (max-width: 639px) {
  .c-cta__section .c-cta__section-title {
    width: unset;
    padding: 0 16px;
    -webkit-clip-path: polygon(6% 0%, 94% 0%, 100% 50%, 94% 100%, 6% 100%, 0% 50%);
            clip-path: polygon(6% 0%, 94% 0%, 100% 50%, 94% 100%, 6% 100%, 0% 50%);
  }
}

/* ========================================
    c-Pagetitle (Component)
======================================== */
.c-pageTitle {
  position: relative;
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0.5em;
  white-space: nowrap;
}

.c-pageTitle::before {
  content: "About us";
  position: absolute;
  bottom: 24px;
  left: -36px;
  font-size: 96px;
  color: #EEE7E8;
  font-weight: 800;
  white-space: nowrap;
  line-height: 1;
  z-index: -1;
  pointer-events: none; /* テキスト選択などに干渉しない */
}

.c-pageTitle--about::before {
  content: "About us";
}

.c-pageTitle--contact::before {
  content: "Contact";
}

.c-pageTitle--service::before {
  content: "Service";
}

.c-pageTitle--interview::before {
  content: "Interview";
}

.c-pageTitle--information::before {
  content: "Materials";
}

.c-pageTitle_sp {
  letter-spacing: 0.4em;
}

.c-pageTitle_sp::before {
  font-size: 66px;
  left: -20px;
}

.c-pageTitle--interview.c-pageTitle_sp::before {
  font-size: 58px;
  left: -20px;
}

/* ========================================
    FEATURES (Project)
======================================== */
.p-features__about .design-group {
  gap: 0;
  font-family: "noto sans-serif";
  font-weight: 500;
  letter-spacing: 0.1em;
}

.p-features__about .design-group::before {
  content: "";
  position: absolute;
  left: 48.5%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 45px;
  height: 45px;
  background: url("../img/design-cross.png") no-repeat center/contain;
  z-index: 2;
}

@media (max-width: 860px) {
  .p-features__about .design-group::before {
    left: 47.5%;
  }
}
.p-features__about .clip-box {
  filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.3));
}

.p-features__about .clip-box .smb-box__background {
  -webkit-clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0% 100%);
          clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0% 100%);
}

.p-features__about .gradient-text__blue {
  background: linear-gradient(120deg, #2967ba 30%, #a0bee5 50%, #465e7e 72%, #2967ba 96%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-features__about .gradient-text__red {
  background: linear-gradient(120deg, #c30d23 30%, #e599a2 50%, #940b1b 72%, #c30d23 96%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-features__about .p-features__about-img {
  mix-blend-mode: multiply;
}

.p-features__about .design-box__heading {
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
}

.p-features__about .design-box__heading::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 320px;
  height: 16px;
  background: url("../img/line-shape00.png") no-repeat center bottom;
  background-size: contain; /* 画像を縦横比を保って縮小 */
}

.p-features__about .design-box__text {
  font-family: "noto sans-serif";
  font-weight: 500;
  display: block;
  position: relative;
}

.p-features__about .design-box__text::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  background: url("../img/exclamation-mark.png") no-repeat center/contain;
  position: absolute;
  right: 100%;
  top: 7px;
}

.p-features__about .design-box__conclusion::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 36px;
  vertical-align: bottom;
  background: url("../img/icon-arrow.png") no-repeat center/contain;
  margin-right: 12px;
}

.design-box::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 4px;
  width: 100%;
  height: calc(100% + 8px);
  border: 1px solid #333;
  background-color: #fff;
}

/* Featuresページ - reason */
.p-features__reason .reason-group__heading {
  position: relative;
  z-index: 10;
  gap: 0;
}

.p-features__reason .reason-group__heading::after {
  content: "";
  position: absolute;
  bottom: -30%;
  left: 16%;
  font-size: 48px;
  letter-spacing: 0.08em;
  color: #f6f2f2;
  font-weight: 800;
  white-space: nowrap;
  line-height: 1;
  z-index: -1;
  pointer-events: none;
}

@media (max-width: 1023px) {
  .p-features__reason .reason-group__heading::after {
    font-size: 36px;
    bottom: -10%;
  }
}
.p-features__reason .reason-group__heading.reason-group__heading01::after {
  content: "Concept design capabilities";
}

.p-features__reason .reason-group__heading.reason-group__heading02::after {
  content: "Analysis and Improvement";
  color: #eee7e8;
  z-index: -1;
}

.p-features__reason .reason-group__heading.reason-group__heading03::after {
  content: "Solid all-in-one system ";
}

.p-features__reason .reason-group__check {
  font-family: "noto sans-serif";
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 40px;
}

.p-features__reason .reason-group__check::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: text-bottom;
  background: url("../img/icon-check.png") no-repeat center/contain;
  margin-right: 32px;
}

@media (max-width: 800px) {
  .p-features__reason .reason-group__check::before {
    margin-right: 10px;
  }
}
.reason-group__conclusion.reason-group__conclusion-arrow::before {
  content: "";
  display: inline-block;
  width: 65px;
  height: 40px;
  vertical-align: bottom;
  background: url("../img/icon-three-arrow.png") no-repeat center/contain;
  margin-right: 16px;
}

.reason-group__conclusion-sp {
  display: flex;
  flex-direction: column;
}

.reason-group__conclusion > span {
  position: relative;
}

.reason-group__conclusion > span::after {
  content: "";
  display: inline-block;
  width: 99%;
  height: 4px;
  background: #eee7e8;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.reason-group__conclusion.reason-group__conclusion-white > span::after {
  background: #fff;
}

/* ========================================
    CONTACT (Project)
======================================== */
.p-form__textCell {
  width: 100%;
}

.smf-form .smf-text-control__control.p-form__cell {
  border-radius: 0;
}

.p-form .smf-button-control__control {
  width: 180px;
  border-radius: 0;
  background: #c30d23;
  color: #fff;
  transition: all 0.4s;
}
@media (max-width: 639px) {
  .p-form .smf-button-control__control {
    margin-top: 64px;
    width: 264px;
    height: 64px;
  }
}

.p-form .smf-button-control__control:hover {
  filter: brightness(0.7);
}

.p-form__btn-tel .wp-block-button__link {
  cursor: default;
}

.p-form__btn-tel .wp-block-button__link:focus-visible,
.p-form__btn-tel .wp-block-button__link:hover {
  filter: unset;
}

.p-form__toggle-cell,
.p-form__toggle-cell2 {
  transition: opacity 0.3s ease;
  opacity: 1;
  visibility: visible;
  height: auto;
}

@media (max-width: 639px) {
  .p-form .c-container {
    padding: 0 5vw;
  }
}

@media (max-width: 639px) {
  .p-form .c-container {
    padding: 0 5vw;
  }
}

@media (max-width: 639px) {
  .p-form .c-container .smf-form--business .smf-item__col--controls {
    padding: 0;
  }
}

@media (max-width: 639px) {
  .p-form .c-container .smf-form--business .smf-item__col--controls .smf-placeholder,
.p-form .c-container .smf-form--business .smf-checkboxes-control__control {
    padding: 2vw 4vw;
  }
}

@media (max-width: 639px) {
  .p-form .c-container .smf-form--business .smf-item__col--label {
    padding: 6vw 4vw 2vw;
  }
}

@media (max-width: 639px) {
  .p-form .c-container .smf-form--business .smf-radio-buttons-control__control {
    padding: 2vw;
  }
}

.p-form .c-container .smf-form--business .smf-item__col--label a {
  text-decoration: none;
}

@media (max-width: 639px) {
  .p-form .c-container .smf-action {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
}

@media (max-width: 639px) {
  .p-form .c-container .smf-action .smf-button-control {
    margin: 0;
  }
}

#autozip {
  display: none;
}

/* ========================================
    p-service (Project)
======================================== */
/* H2見出し用 */
.p-service__heading {
  font-family: "noto sans-serif";
  font-weight: 500;
  line-height: 62px;
  box-shadow: 4px 6px #bdbdbd;
}

.p-service__heading-skew {
  transform: skew(-8deg);
}

/* 見出し↓強調用テキスト */
.p-service__lead-text {
  margin-top: 40px;
}

/* H3小見出し用 */
.p-service__sub-heading {
  line-height: 1.5;
  display: inline-block;
  font-weight: 500;
  border-bottom: 2px solid #c30d23;
}

/* テキストをsansに変える用 */
.p-service__reason-text {
  font-family: "noto sans-serif";
  font-weight: 500;
}

.p-service__reason .p-service__reason-pc .p-service__reason-box .p-service__reason-pc-card,
.p-service__reason .p-service__reason-sp .p-service__reason-sp-box .p-service__reason-sp-card {
  gap: 0;
}

/* チェックポイントのボックスの箱のための記述 */
.p-service__dropshadow-box {
  box-shadow: 8px 8px #BFBFBF;
}

.p-service__reason-box {
  height: 146px;
}

.p-service__difference-check {
  font-family: "noto sans-serif";
  font-weight: 400;
}

.p-service__difference-check::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: text-bottom;
  background: url("../img/icon-check.png") no-repeat center/contain;
  position: absolute;
  left: 0;
  top: 6px;
}

.p-service__difference-emphasis > span {
  position: relative;
}

.p-service__difference-emphasis > span::after {
  content: "";
  display: inline-block;
  width: 99%;
  height: 4px;
  background: #eee7e8;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.p-service__flow .p-service__flow-pc .p-service__flow-box,
.p-service__flow .p-service__flow-tab .p-service__flow-box {
  max-width: 800px;
  font-family: "noto sans-serif";
  font-weight: 500;
  gap: 0;
  /*     aspect-ratio: 800 / 80; */
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);
}

.p-service__flow .p-service__flow-sp .p-service__flow-sp-box {
  font-family: "noto sans-serif";
  font-weight: 500;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);
}

.p-service__flow .p-service__flow-sp .p-service__flow-sp-box-column {
  gap: 0;
}

.p-service__conclusion-emphasis {
  position: relative;
}

.p-service__conclusion-emphasis::before {
  content: "";
  display: inline-block;
  width: 65px;
  height: 60px;
  position: absolute;
  top: 0;
  left: 24px;
  background: url(https://assence-inc.com/wp-content/uploads/2025/10/icon-three-arrow.png) no-repeat center/contain;
}

@media (max-width: 639px) {
  .p-service__conclusion-emphasis::before {
    width: 10vw;
    height: 12vw;
    left: 4vw;
  }
}
.p-service__others-checkBox {
  position: relative;
}

.p-service__others-checkBox::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url("../img/icon-check.png") no-repeat center/contain;
  position: absolute;
  right: calc(100% + 10px);
  top: 6px;
}

/* ========================================
    p-top (Project)
======================================== */
.p-top__fv .smb-section__header {
  display: none;
}
.p-top__fv .smb-container__body {
  margin-left: 0;
}
.p-top__fv .p-top__fv-content {
  transform: translateY(-10%);
}
.p-top__fv .p-top__fv-mainText {
  font-size: clamp(22px, 3.5vw, 36px);
}
.p-top__fv .p-top__fv-subText {
  font-size: min(3vw, 26px);
}
@media (max-width: 1023px) {
  .p-top__fv .p-top__fv-subText {
    text-align: center;
  }
  .p-top__fv .p-top__fv-content {
    transform: translateY(0);
  }
}
@media (max-width: 639px) {
  .p-top__fv .p-top__fv-mainText {
    font-size: 6vw;
  }
  .p-top__fv .p-top__fv-subText {
    font-size: 5.14vw;
  }
}

.p-top__about .wp-block-separator {
  border-top: 1px solid;
}
.p-top__about .smb-section__header .smb-section__title > span {
  padding-left: 2%;
}
@media (max-width: 639px) {
  .p-top__about .smb-section__header .smb-section__title > span {
    padding-left: 4%;
  }
}

.p-top__background {
  position: relative;
}

.p-top__background::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(60deg, #fbfdff 10%, #cdc7c8 100%);
  -webkit-clip-path: polygon(0% 20%, 100% 20%, 100% 50%, 0% 80%);
          clip-path: polygon(0% 20%, 100% 20%, 100% 50%, 0% 80%);
  z-index: -10;
}

.p-top__service .p-top__service-card {
  max-width: 520px;
  gap: 0;
  aspect-ratio: 520/160;
}
.p-top__service .p-top__service-img {
  position: relative;
}
.p-top__service .p-top__service-img::after {
  position: absolute;
  top: 8px;
  left: 110%;
  font-size: 32px;
  line-height: 1;
  white-space: nowrap;
  color: #c7c7c7;
}
.p-top__service .p-top__service-img-01::after {
  content: "01";
}
.p-top__service .p-top__service-img-02::after {
  content: "02";
}
.p-top__service .p-top__service-img-03::after {
  content: "03";
}
.p-top__service .p-top__service-img-04::after {
  content: "04";
}
@media (max-width: 1023px) {
  .p-top__service .p-top__service .p-top__service-flex {
    flex-direction: column;
  }
  .p-top__service .p-top__service-card {
    width: min(94vw, 520px);
  }
}
@media (max-width: 639px) {
  .p-top__service .p-top__service-img::after {
    top: 4px;
    left: 105%;
    font-size: 28px;
  }
}

.p-top__reason .p-top__reason-column {
  width: min(100vw, 1000px);
  gap: 0;
  height: 160px;
  padding: 16px 0;
  position: relative;
}
.p-top__reason .p-top__reason-column-left {
  -webkit-clip-path: polygon(0% 0%, 94% 0%, 100% 50%, 94% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 94% 0%, 100% 50%, 94% 100%, 0% 100%);
  position: relative;
  z-index: 1;
  height: 100%;
}
.p-top__reason .p-top__reason-column-left > div {
  height: 100%;
}
.p-top__reason .p-top__reason-column::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(0% 0%, 47% 0%, 50% 50%, 53% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 47% 0%, 50% 50%, 53% 100%, 0% 100%);
  background: linear-gradient(60deg, #fbfdff 41%, #cdc7c8 50%);
}
.p-top__reason .p-top__reason-column-sub {
  gap: 0;
}
.p-top__reason .p-top__reason-column-sp {
  display: none;
}
@media (max-width: 781px) {
  .p-top__reason .p-top__reason-column {
    width: min(94vw, 460px);
    gap: 0;
    height: 240px;
    padding: 0;
    position: relative;
  }
  .p-top__reason .p-top__reason-column-pc {
    display: none;
  }
  .p-top__reason .p-top__reason-column-sp {
    display: block;
  }
  .p-top__reason .p-top__reason-column-left {
    -webkit-clip-path: polygon(0% 0%, 88% 0%, 94% 50%, 88% 100%, 0% 100%);
            clip-path: polygon(0% 0%, 88% 0%, 94% 50%, 88% 100%, 0% 100%);
    height: 120px;
  }
  .p-top__reason .p-top__reason-column-right {
    background: #fff;
    height: 120px;
    display: flex;
    align-items: center;
  }
  .p-top__reason .p-top__reason-column::before {
    width: 100%;
    height: 120px;
    -webkit-clip-path: polygon(0% 0%, 88% 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0% 0%, 88% 0%, 100% 100%, 0% 100%);
    background: linear-gradient(60deg, #fbfdff 74%, #cdc7c8 100%);
  }
}
/*# sourceMappingURL=style.css.map */