@charset "UTF-8";
/*---------------------------------------------

	ヘッダー

---------------------------------------------*/
.header {
  width: 100%;
  height: 50px;
  position: fixed;
  top: 0;
  z-index: 20;
  background: #000;
}

@media screen and (min-width: 1024px) {
  .header {
    height: 80px;
  }
}
.headerInner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 91.79487179%;
  height: 100%;
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  .util-inner-large {
    width: 90%;
  }
}
.header__logo {
  display: block;
  width: 60px;
}

@media screen and (min-width: 1024px) {
  .header__logo {
    width: 109px;
  }
}
.header__ctaButtom {
  min-width: 180px;
  padding: 8px 15px;
  border: 1px solid #fff;
}

@media screen and (min-width: 1024px) {
  .header__ctaButtom {
    min-width: 240px;
    padding: 12px 25px;
  }
}
/*---------------------------------------------

	FV

---------------------------------------------*/
.secFv {
  margin-top: 50px;
  padding-bottom: 60px;
  overflow: hidden;
}

@media screen and (min-width: 1024px) {
  .secFv {
    margin-top: 80px;
  }
}
.secFv__inner {
  width: 91.79487179%;
  margin: 0 auto;
}

/* FV｜画像エリア
-------------------------*/
.secFv__imageBlockWrapper {
  position: relative;
  margin-bottom: 14px;
  height: 63.33vh !important;
}

@media screen and (min-width: 1024px) {
  .secFv__imageBlockWrapper {
    margin-bottom: 0;
    height: 83.33vh !important;
  }
}
.secFv__imageBlock {
  height: 100%;
  overflow: hidden;
}

.secFv__image {
  height: 100%;
}
.secFv__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.orign-left {
  transform-origin: left;
}

.orign-right {
  transform-origin: right;
}

.secFv__textBlock {
  position: absolute;
  bottom: 8.333333%;
  left: 4.46927374%;
}

.secFv__imageBlock .slick-list,
.secFv__imageBlock .slick-track {
  height: 100%;
}

/* FV｜スライド-ズーム処理
-------------------------*/
@-webkit-keyframes zoomDown {
  0% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes zoomDown {
  0% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}
.add-animation {
  -webkit-animation: zoomDown 15s linear 0s normal both;
          animation: zoomDown 15s linear 0s normal both;
}

/* FV｜キャッチ
-------------------------*/
.secFv__catch--small {
  font-family: "Noto Serif JP", serif;
  font-size: 1.0625rem;
  color: #FFFFFF;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 0.8rem;
}

@media screen and (min-width: 1024px) {
  .secFv__catch--small {
    font-size: 1.8125rem;
  }
}
.secFv__catchBlock {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.secFv__catch {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: 1.625rem;
  font-weight: bold;
}

@media screen and (min-width: 1024px) {
  .secFv__catch {
    font-size: 2.75rem;
  }
}
/* FV｜ポイント
-------------------------*/
.secFv__point {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding-left: 25px;
  font-size: 14px;
  color: #FFFFFF;
  font-weight: bold;
  line-height: 1.429;
  text-shadow: 0px 0.5px 2px rgba(0, 0, 0, 0.6);
}
.secFv__point:first-child {
  margin-bottom: 15px;
}
.secFv__point::before {
  content: "";
  position: absolute;
  top: 20%;
  left: 0;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
}

@media screen and (min-width: 1024px) {
  .secFv__point {
    font-size: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .secFv__point::before {
    top: 40%;
    width: 8px;
    height: 8px;
  }
}
/* FVボタン
-------------------------*/
.secFv__ctaText {
  position: static;
  text-align: center;
}

.ctaButtonBlock__fvArea {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.ctaButton {
  max-width: 500px;
  position: relative;
  display: block;
  padding: 20px 0;
  width: 100%;
  font-size: 20px;
  margin-top: 2rem;
  margin-bottom: 4rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: 0;
  border: 1px solid #FFF;
}
.ctaButton svg {
  position: absolute;
  right: 20px;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

/* FVロゴ上テキスト
-------------------------*/
.logoSlide__text {
  /* margin-bottom: 40px; */
  font-size: 20px;
  text-align: center;
  line-height: 1.75;
}

@media screen and (min-width: 1024px) {
  .logoSlide__text {
    font-size: 1.875rem;
  }
}
.logoSlide__text--bald {
  font-weight: 500;
  color: #007f8e;
}

.logoSlide__slide .slick-list {
  overflow: visible;
}

.logoSlide__image {
  width: 81px;
  height: auto;
  margin: 0 8px;
}

@media screen and (min-width: 1024px) {
  .logoSlide__image {
    width: 100px;
  }
}
/*---------------------------------------------

	アバウト

---------------------------------------------*/
.secIntro {
  padding: 40px 0;
}

.secIntro .bg-blue-gray {
  padding: 40px 0;
  margin-bottom: 40px;
}

@media screen and (min-width: 1024px) {
  .secIntro {
    padding: 80px 0;
  }
}
/* イントロ｜タイトル
-------------------------*/
.secIntro .util-title--s {
  text-align: center;
}

.secIntro__title {
  text-align: center;
  margin-bottom: 40px;
  font-size: 20px;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .secIntro__title {
    margin-bottom: 70px;
    font-size: 40px;
  }
}
.secIntro__title--small {
  display: block;
  font-size: 12px;
  margin-bottom: 20px;
}

@media screen and (min-width: 1024px) {
  .secIntro__title--small {
    font-size: 24px;
  }
}
.secIntro__title--green {
  color: #007f8e;
}

.secIntro__mainImage {
  margin: 0 auto 40px auto;
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .secIntro__mainImage {
    margin-bottom: 78px;
    width: 81.4%;
  }
}
.secIntro__subTitle {
  text-align: center;
  margin-bottom: 40px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .secIntro__subTitle {
    margin-bottom: 60px;
    font-size: 1.25rem;
  }
}
/* イントロ|カード
-------------------------*/
.cardBlock {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.cardBlock__card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 15px 0;
  border-radius: 8px;
}

@media screen and (min-width: 768px) {
  .cardBlock__card {
    flex-direction: column;
    width: 47.619047619%;
  }
}
@media screen and (min-width: 1024px) {
  .cardBlock__card {
    flex-direction: column;
    width: 24.3902439024%;
  }
}
.cardBlock__image {
  max-width: 9.74944rem;
}

@media screen and (min-width: 1024px) {
  .cardBlock__image {
    max-width: 14.42638rem;
  }
}
.cardBlock__title {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .cardBlock__title {
    text-align: center;
    font-size: 1.0625rem;
    line-height: 1.4;
  }
}
.cardBlock__description {
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .cardBlock__description {
    font-size: 16px;
  }
}
/*---------------------------------------------

	選ばれる理由

---------------------------------------------*/
.secReason {
  padding: 60px 0;
}

@media screen and (min-width: 1024px) {
  .secReason {
    padding: 80px 0;
  }
}
.secReason .util-title {
  font-size: 1.25rem;
  text-align: start;
}

@media screen and (min-width: 1024px) {
  .secReason .util-title {
    font-size: 1.875rem;
  }
}
.secReason .util-title--s {
  margin-bottom: 10px;
}

.reasonMediaBlock {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-bottom: 30px;
}

@media screen and (min-width: 1024px) {
  .reasonMediaBlock {
    gap: 150px;
    margin-bottom: 80px;
  }
}
.reasonMediaBlock__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 41px;
}

@media screen and (min-width: 1024px) {
  .reasonMediaBlock__item {
    flex-direction: row;
  }
  .reasonMediaBlock__item:nth-child(2) {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 1024px) {
  .reasonMediaBlock__textContents {
    width: 46.3%;
  }
}
.reasonMediaBlock__title {
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.75;
}

@media screen and (min-width: 1024px) {
  .reasonMediaBlock__title {
    font-size: 1.375rem;
  }
}
.reasonMediaBlock__description {
  font-size: 16px;
  letter-spacing: normal;
  line-height: 1.75;
}

@media screen and (min-width: 1024px) {
  .reasonMediaBlock__description {
    font-size: 18px;
  }
}
.reasonMediaBlock__image {
  position: relative;
}

@media screen and (min-width: 1024px) {
  .reasonMediaBlock__image {
    width: 48.8%;
  }
}
.reasonMediaBlock__image--nam1 {
  aspect-ratio: 745/392;
}
.reasonMediaBlock__image--nam1 img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1024px) {
  .reasonMediaBlock__image--nam1 {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}

@media screen and (min-width: 1024px) {
  /* 左側いっぱいに表示 */
}
.reasonMediaBlock__image--nam2 {
  aspect-ratio: 745/469;
}
@media screen and (max-width: 1024px) {
  .reasonMediaBlock__image--nam2 {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}

.reasonMediaBlock__slideImage {
  position: relative;
}

.reasonMediaBlock__deco {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 11px 15px;
  font-size: 10.71px;
  font-weight: 500;
  color: #fff;
  background: #000;
  line-height: 1;
  z-index: 5;
}

@media screen and (min-width: 1024px) {
  .reasonMediaBlock__deco {
    padding: 15px 25px;
    font-size: 18px;
  }
}
/* 選ばれる理由|プロセス
-------------------------*/
.processBlock__title {
  margin-bottom: 40px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .processBlock__title {
    font-size: 1.25rem;
  }
}
.processBlock__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (min-width: 1024px) {
  .processBlock__list {
    flex-wrap: nowrap;
  }
}
.processBlock__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .processBlock__item {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 1024px) {
  .processBlock__item {
    flex-direction: column;
    width: 24.3902439024%;
  }
}
.processBlock__image {
  max-width: 232px;
  margin-bottom: 10px;
  width: 50%;
}
.processBlock__image img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

@media screen and (min-width: 1024px) {
  .processBlock__image {
    aspect-ratio: 124/85;
    width: 100%;
    margin-bottom: 40px;
  }
}
.processBlock__name {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
  color: #007F8E;
}

@media screen and (min-width: 1024px) {
  .processBlock__name {
    font-size: 24px;
  }
}
.processBlock__text {
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: normal;
}
@media screen and (max-width: 1024px) {
  .processBlock__text {
    padding-left: 20px;
    width: 80%;
  }
}

@media screen and (min-width: 1024px) {
  .processBlock__text {
    width: 90%;
    font-size: 16px;
  }
}
/*---------------------------------------------

	施工事例

---------------------------------------------*/
.secCase {
  padding: 30px 0 87px 0;
  overflow: hidden;
}
.secCase .util-title {
  text-align: start;
}
.secCase .util-title--s {
  margin-bottom: 0;
}

@media screen and (min-width: 1024px) {
  .secCase {
    padding: 80px 0 140px 0;
  }
}
/* 施工事例|スライド
-------------------------*/
.caseBlock__item {
  overflow: hidden;
  width: auto;
  margin-right: 0;
}
@media screen and (max-width: 1024px) {
  .caseBlock__item {
    flex-direction: column;
  }
}
@media screen and (min-width: 1024px) {
  .caseBlock__item {
    display: flex !important;
    margin-right: 150px;
    width: 750px;
  }
}

.caseBlock__image {
  width: 100%;
  overflow: hidden;
}
.caseBlock__image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media screen and (max-width: 1024px) {
  .caseBlock__image {
    height: 22.1875rem;
  }
}
@media screen and (min-width: 1024px) {
  .caseBlock__image {
    width: 50%;
    aspect-ratio: 4/5;
  }
}

@media screen and (min-width: 1024px) {
  .caseBlock__image img {
    -o-object-fit: cover;
       object-fit: cover;
    width: auto;
    height: 100%;
  }
}
.caseBlock__text {
  padding: 15px 16px 30px 16px;
  background: #1D1D1D;
}

@media screen and (min-width: 1024px) {
  .caseBlock__text {
    padding: 60px 40px 40px 40px;
    width: 50%;
  }
}
.caseBlock__company {
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .caseBlock__company {
    font-size: 24px;
  }
}
.caseBlock__title {
  margin-bottom: 2.94rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .caseBlock__title {
    font-size: 1rem;
  }
}
.caseBlock__description {
  line-height: 1.75;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .caseBlock__description {
    font-size: 0.875rem;
  }
}
/* 施工事例|スライド上書きCSS
-------------------------*/
@media screen and (min-width: 1024px) {
  .caseBlockWrapper {
    width: calc(100% + (100vw - 100%) / 2);
  }
}

.caseBlock .slick-track {
  display: flex;
}
.caseBlock .slick-slide {
  height: auto !important;
}

.dots-class {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.dots-class button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}
.dots-class li {
  width: 16px;
  height: 2px;
  background-color: #cbd2d6;
  border-radius: 0;
  margin-right: 10px;
  cursor: pointer;
  transition: background-color 0.5s ease;
}
.dots-class li.slick-active, .dots-class li:hover {
  background-color: #007f8e;
}
.dots-class li:last-child {
  margin-right: 0;
}

.slick-prev {
  display: none !important;
}

.slick-next.slide-arrow {
  top: 51.226993865%;
  right: 15px;
  padding: 0;
  width: 60px;
  height: 60px;
}
.slick-next.slide-arrow:hover {
  padding: 0;
}

.caseBlock.slick-dotted.slick-slider {
  margin-bottom: 0;
}

/*---------------------------------------------

	ビフォーアフター事例

---------------------------------------------*/
.secBeforeAfter {
  padding: 37px 0 97px 0;
}
@media screen and (min-width: 1024px) {
  .secBeforeAfter {
    padding: 80px 0 100px 0;
  }
}
.secBeforeAfter .util-inner-large {
  display: block;
}
@media screen and (min-width: 1024px) {
  .secBeforeAfter .util-inner-large {
    display: flex;
    align-items: center;
  }
  .secBeforeAfter .util-inner-large > * {
    width: 50%;
  }
}

.secBeforeAfter .util-title {
  text-align: left;
  padding-bottom: 0;
  margin-bottom: 10px;
}
.secBeforeAfter__company {
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (min-width: 1024px) {
  .secBeforeAfter__company {
    margin-bottom: 38px;
    font-size: 24px;
  }
}
@media screen and (min-width: 1024px) {
  .secBeforeAfter__image {
    margin: 0 auto;
    width: 90%;
  }
}
.secBeforeAfter__image--before {
  margin-bottom: 31px;
}

.main_imgBox {
  width: 100%;
  aspect-ratio: 375/233;
  height: 233px;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .main_imgBox {
    aspect-ratio: 606/350;
    width: 50%;
    height: 350px;
  }
}

.thumbnail {
  position: absolute;
  z-index: 9;
  display: block;
  width: 144px;
  height: 32px;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
  text-align: center;
}

/* FV｜スライド-ズーム処理
-------------------------*/
@-webkit-keyframes zoomleft {
  0% {
    transform: scale(1.2) translateX(0);
  }
  100% {
    transform: scale(1.2) translateX(-100px);
  }
}
@keyframes zoomleft {
  0% {
    transform: scale(1.2) translateX(0);
  }
  100% {
    transform: scale(1.2) translateX(-100px);
  }
}
.add-animation-2 {
  -webkit-animation: zoomleft 15s linear 0s normal both;
          animation: zoomleft 15s linear 0s normal both;
}

/*---------------------------------------------

	cta

---------------------------------------------*/
.secCta {
  padding: 60px 0;
}

@media screen and (min-width: 1024px) {
  .secCta {
    padding: 75px 0;
  }
}
@media screen and (min-width: 1024px) {
  .secCta__content {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 32px;
  }
}
@media screen and (min-width: 1024px) {
  .secCta__description {
    display: flex;
    flex-direction: column;
  }
}
.secCta__title {
  margin-bottom: 22px;
  font-size: 24px;
  font-weight: 500;
  text-align: center;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .secCta__title {
    margin-bottom: 10px;
    font-size: 32px;
  }
}
.secCta__title--large {
  font-size: 40px;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .secCta__title--large {
    font-size: 46px;
  }
}
.secCta__text {
  margin-bottom: 25px;
  font-size: 16px;
  text-align: center;
  line-height: 1.313;
}

@media screen and (min-width: 1024px) {
  .secCta__text {
    margin: 0;
    font-size: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .secCta__ctaButton {
    padding: 25px 0;
    width: 371px;
    font-size: 1.0625rem;
  }
}
/*---------------------------------------------

	ご相談〜お引渡しの流れ

---------------------------------------------*/
.secFlow {
  padding: 50px 0 60px 0;
}

@media screen and (min-width: 1024px) {
  .secFlow {
    padding: 80px 0 80px 0;
  }
}
.secFlow__step {
  margin-bottom: 40px;
  overflow: hidden;
}

@media screen and (min-width: 1024px) {
  .secFlow__step {
    margin-bottom: 60px;
  }
}
.stepCard__content {
  padding: 10px;
  display: flex;
  align-items: center;
}

.stepCardBlock {
  margin-bottom: 60px;
}

@media screen and (min-width: 1024px) {
  .stepCardBlock {
    margin: 0 auto 80px auto;
  }
}
.stepCard {
  border-width: 1px;
  border-color: #CCCCCC;
  border-style: solid;
  overflow: hidden;
  margin-bottom: 40px;
}

.stepCardBlock > .stepCard {
  padding: 10px;
}
.stepCardBlock > .stepCard:nth-child(-n+4) {
  border-color: #007F8E;
}
@media screen and (max-width: 1024px) {
  .stepCardBlock > .stepCard:nth-child(-n+4) .stepCard__content {
    border-bottom: 1px solid #007F8E;
  }
}
.stepCardBlock > .stepCard:nth-child(n+4) {
  border-color: #fff;
}
@media screen and (max-width: 1024px) {
  .stepCardBlock > .stepCard:nth-child(n+4) .stepCard__content {
    border-bottom: 1px solid #fff;
  }
}

.stepCard__image {
  width: 40%;
  aspect-ratio: 179/96;
}

@media screen and (min-width: 1024px) {
  .stepCard__image {
    width: 28.4552845528%;
    aspect-ratio: 28/15;
  }
}
.stepCard__textBlock {
  display: contents;
}

@media screen and (min-width: 1024px) {
  .stepCard__textBlock {
    display: flex;
    flex-direction: column;
  }
}
.stepCard__header {
  padding-left: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 60%;
}

@media screen and (min-width: 1024px) {
  .stepCard__header {
    justify-content: flex-start;
    flex: 1;
    padding: 22px 40px 40px 40px;
  }
}
.stepCard__titleBlockWrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (min-width: 1024px) {
  .stepCard__titleBlockWrapper {
    border-bottom: solid 1px #56A6B0;
    padding-bottom: 9px;
  }
  .stepCard__titleBlockWrapper--blue {
    border-bottom: solid 1px #fff;
  }
}
.stepCard__titleBlock {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 10px;
}

@media screen and (min-width: 1024px) {
  .stepCard__titleBlock {
    flex-direction: row;
    align-items: center;
  }
}
.stepCard__title {
  font-size: 14px;
  color: #56A6B0;
  font-weight: 500;
  line-height: 1;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .stepCard__title {
    font-size: 18px;
  }
}
.stepCard__title--blue {
  color: #fff;
}

.stepCard__tag {
  display: inline-block;
  padding: 0px 8px;
  font-size: 12px;
  color: #56A6B0;
  border-width: 1px;
  border-color: #56A6B0;
  border-style: solid;
}

.stepCard__step {
  padding-bottom: 5px;
  font-size: 13px;
  font-weight: 400;
  color: #56A6B0;
}
.stepCard__step.sp {
  align-self: center;
}

.stepCard__step--blue {
  color: #fff;
}

@media screen and (min-width: 1024px) {
  .stepCard__step,
.stepCard__step--blue {
    padding: 0;
    border-bottom: none;
  }
}
.stepCard__step--num {
  font-size: 20px;
}

.stepCard__text {
  margin: 0 auto;
  padding: 10px 0;
  width: 91%;
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .stepCard__text {
    margin: 0;
    font-size: 16px;
  }
}
.stepCard__triangleWrapper {
  display: flex;
  justify-content: center;
  margin: 6.5px 0;
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .stepCard__triangleWrapper {
    margin: 11px 0 15px 0;
  }
}
.stepCard__triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
  border-top: 16px solid #fff;
  border-bottom: 0;
}

.stepCard__triangle--blue {
  border-top: 16px solid #fff;
}

.stepCard__bubbleText {
  text-align: center;
  margin: 40px auto;
  width: 81%;
  border-bottom: 1px solid #fff;
}

@media screen and (min-width: 1024px) {
  .stepCard__bubbleText {
    width: 61%;
  }
}
/* 流れ|ご確認
-------------------------*/
.pleaseCheckBlock__content {
  padding: 30px 10px 58.5px 15px;
}

@media screen and (min-width: 1024px) {
  .pleaseCheckBlock__content {
    display: flex;
    justify-content: space-between;
    padding: 55px 30px 33px 95px;
  }
}
@media screen and (min-width: 1024px) {
  .pleaseCheckTextBlock {
    width: 38%;
  }
}
.pleaseCheckBlock__title {
  font-weight: normal;
  align-items: center;
  gap: 10px;
  margin-bottom: 40px;
  font-size: 24px;
}
.pleaseCheckBlock__title:after {
  content: "";
  display: block;
  border-bottom: 1px solid #fff;
  width: 60vw;
  margin-left: calc(50% - 50vw);
}

@media screen and (min-width: 1024px) {
  .pleaseCheckBlock__title {
    font-size: 30px;
  }
}
.pleaseCheckBlock__icon {
  width: 30px;
}

@media screen and (min-width: 1024px) {
  .pleaseCheckBlock__icon {
    width: 49px;
  }
}
.pleaseCheckBlock__subTitleWrapper {
  margin-bottom: 47.5px;
}

@media screen and (min-width: 1024px) {
  .pleaseCheckBlock__title {
    font-size: 30px;
  }
}
.pleaseCheckBlock__subTitle {
  display: inline;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.75;
}

@media screen and (min-width: 1024px) {
  .pleaseCheckBlock__subTitle {
    font-size: 24px;
    line-height: 1.5;
  }
}
.pleaseCheckBlock__text {
  margin-bottom: 23.5px;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .pleaseCheckBlock__text {
    font-size: 18px;
  }
}
.pleaseCheckBlock__image {
  margin: 0 auto;
  width: 84.8314606742%;
}

@media screen and (min-width: 1024px) {
  .pleaseCheckBlock__image {
    margin: 0;
    width: 60.9%;
  }
}
/* モーダルのスタイル */
.modalBg {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
}

.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 960px;
  max-width: 90%;
  padding: 30px 25px;
  background: #000;
  box-shadow: 0px 0px 30px 0px #16234F;
  overflow: scroll;
}

@media screen and (min-width: 1024px) {
  .modal {
    padding: 30px 0;
  }
}
.close-btn {
  position: absolute;
  top: 5px;
  right: 10px;
  background-color: #fff;
  z-index: 10;
}
.close-btn span {
  display: block;
  position: relative;
  width: 30px;
  height: 30px;
}
.close-btn span::before, .close-btn span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 15px;
  background: #333;
}
.close-btn span::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.close-btn span::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.open-modal {
  position: relative;
}

@media screen and (min-width: 1024px) {
  .open-modal {
    pointer-events: none;
  }
}
.icon-loupe {
  position: absolute;
  bottom: -10px;
  right: 0;
  width: 20px;
}

@media screen and (min-width: 1024px) {
  .icon-loupe {
    display: none;
  }
}
/*---------------------------------------------

	FAQ

---------------------------------------------*/
.secFaq {
  padding-bottom: 60px;
}
.secFaq .util-title--s {
  margin-bottom: 10px;
}
.secFaq .util-title {
  text-align: start;
  font-size: 1.875rem;
}

@media screen and (min-width: 1024px) {
  .secFaq {
    padding-bottom: 80px;
  }
}
.secFaq__items {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media screen and (min-width: 1024px) {
  .secFaq__items {
    gap: 30px;
    width: 80%;
    margin: 0 auto;
  }
}
.secFaq__item {
  position: relative;
  border-width: 1px;
  border-color: #CCCCCC;
  border-style: solid;
}

/* よくある質問|質問
-------------------------*/
.secFaq__questionItem {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
  padding: 10px 35px 10px 15px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

@media screen and (min-width: 1024px) {
  .secFaq__questionItem {
    gap: 20px;
    padding: 24px 30px;
  }
}
.secFaq__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  color: #007F8E;
  font-size: 1.25rem;
}

@media screen and (min-width: 1024px) {
  .secFaq__icon {
    width: 30px;
  }
}
.secFaq__questionText {
  flex: 1;
  font-size: 16px;
  letter-spacing: normal;
  line-height: 1.75;
}

@media screen and (min-width: 1024px) {
  .secFaq__questionText {
    font-size: 18px;
  }
}
/* よくある質問|回答
-------------------------*/
.secFaq__answer {
  display: none;
  padding: 15px 11.5px 15px 15px;
  border-top: 1px solid #CCCCCC;
}

@media screen and (min-width: 1024px) {
  .secFaq__answer {
    padding: 30px 30px 24px 30px;
  }
}
.secFaq__item.active .secFaq__answer {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 24px;
  opacity: 1;
  transform: translateY(0);
}

@media screen and (min-width: 1024px) {
  .secFaq__item.active .secFaq__answer {
    gap: 20px;
  }
}
.secFaq__answerText {
  flex: 1;
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .secFaq__answerText {
    font-size: 18px;
  }
}
.secFaq__answer {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* よくある質問|ボタン
-------------------------*/
.secFaq__toggle {
  position: absolute;
  top: 50%;
  right: 16.5px;
  width: 10px;
  height: 10px;
  margin-top: -10px;
}
.secFaq__toggle::before {
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
  position: absolute;
  content: "";
  border-top: 2px solid #fff;
  width: 10px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

@media screen and (min-width: 1024px) {
  .secFaq__toggle {
    right: 3.0487804878%;
    width: 20px;
    height: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .secFaq__toggle::before {
    width: 20px;
  }
}
.secFaq__item.active .secFaq__toggle::after {
  height: 0;
}

.secFaq__toggle::after {
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
  content: "";
  border-left: 2px solid #fff;
  width: 0;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  transform: translateX(-50%);
  left: 50%;
  transition: 0.3s;
}

@media screen and (min-width: 1024px) {
  .secFaq__toggle::after {
    height: 20px;
  }
}
/*---------------------------------------------

	フォーム

---------------------------------------------*/
.secContact {
  padding: 40px 0;
  background-color: #F5F5F5;
}
.secContact * {
  color: #000;
}

@media screen and (min-width: 1024px) {
  .secContact {
    padding: 80px 0;
  }
}
@media screen and (min-width: 1024px) {
  .secContact .util-title {
    margin-bottom: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .contactBlock {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.secContact__intro {
  margin-bottom: 40px;
  padding: 32px 33px 32.5px 33px;
  border-radius: 16px;
  background-color: #EBEBEB;
}

@media screen and (min-width: 1024px) {
  .secContact__intro {
    padding: 40px;
    width: 29%;
  }
}
.secContact__text {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .secContact__text {
    font-size: 18px;
  }
}
.secContact__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 14px;
  font-size: 32px;
  line-height: 1;
  color: #007F8E;
}

@media screen and (min-width: 1024px) {
  .secContact__tel {
    font-size: 1.6875rem;
  }
}
.secContact__telIcon {
  width: 22.5px;
  height: 30px;
}

@media screen and (min-width: 1024px) {
  .secContact__telIcon {
    width: 23px;
  }
}
.secContact__tel--small {
  font-size: 14px;
  line-height: 1;
  text-align: center;
  color: #007F8E;
}

@media screen and (min-width: 1024px) {
  .secContact__tel--small {
    font-size: 0.875rem;
  }
}
/* お問合せ|iframe上書きCSS
-------------------------*/
/* フォーム全体のサイズ指定 */
#form-iframe {
  width: 100%;
  min-height: 1000px;
  background-color: transparent;
}

@media screen and (min-width: 608px) {
  #form-iframe {
    width: 66%;
    min-height: 800px;
  }
}
/* フォーム全体の不要な余白、テキストを削除 */
#contentMain.container {
  padding-top: 0;
  padding-bottom: 0;
}

.contentHeader {
  display: none;
}

/* 入力項目の見た目用 */
.form-group {
  display: flex;
  padding: 11px 15px;
  border-radius: 8px;
}

@media screen and (min-width: 1024px) {
  .form-group {
    padding: 17px 20px;
  }
}
/* 入力項目の見出し調整 */
.formHeading {
  display: flex;
  justify-content: space-between;
  margin: 0 8px 0 0;
  padding: 0;
  min-width: 110px;
  align-items: center;
}
.formHeading label {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}

@media screen and (min-width: 608px) {
  .formHeading {
    min-width: 200px;
    margin: 0 24px 0 0;
  }
}
@media screen and (min-width: 608px) {
  .formHeading label {
    font-size: 18px;
  }
}
.formInputInner.last_name {
  width: 100%;
}

/* テキストエリア調整 */
.formHeading.formHeading-textArea,
#pardot-form .form-group:nth-child(5) .formHeading {
  justify-content: flex-start;
  gap: 5px;
}

@media screen and (min-width: 608px) {
  .formHeading.formHeading-textArea,
#pardot-form .form-group:nth-child(5) .formHeading {
    justify-content: space-between;
  }
}
.pd-textarea {
  flex-direction: column;
}

/* 入力エリア調整 */
.form-control {
  flex: 1;
  padding: 0;
  height: auto;
  border: none;
  box-shadow: none;
}

.form-group:after {
  display: none;
}

/* inputタグ調整 */
.col-sm-9 {
  padding: 0;
  width: 100%;
}

/* 必須アイコン */
.required .formHeading:after {
  content: "必須";
  padding: 0 5px;
  height: 19px;
  font-size: 12px;
  border: solid 1px #E50012;
  border-radius: 2px;
}

/* 個人情報保護方針テキスト */
.privacy-text,
#pardot-form p:has(a[href="https://www.etic.co.jp/privacy/"]) {
  font-size: 14px;
  text-align: left;
  line-height: 1.75;
}

.privacy-text a {
  font-size: 14px;
  color: #2C2A25 !important;
  text-decoration: underline;
}

#form-iframe a[href="https://www.etic.co.jp/privacy/"] {
  font-size: 14px;
  color: #2C2A25 !important;
  text-decoration: underline;
}
#form-iframe font[color="#E51F10"] {
  color: #2C2A25 !important;
}

@media screen and (min-width: 608px) {
  .text-center {
    text-align: left;
  }
}
/* 送信ボタン */
.btn-primary {
  padding: 20px 0;
  width: 100%;
  font-size: 19px;
  color: #FEFEFE;
  font-weight: 500;
  border-radius: 12px;
  background-color: #007F8E;
  border: none;
  box-shadow: 0px 0.5px 2.82px 0.18px rgba(0, 0, 0, 0.4980392157);
}
.btn-primary:hover {
  color: #FEFEFE;
  background-color: #007F8E;
  opacity: 0.8;
}

@media screen and (min-width: 608px) {
  .btn-primary {
    padding: 15px 0;
    font-size: 24px;
    width: 400px;
  }
}
/*---------------------------------------------

	フッター

---------------------------------------------*/
.secFooter {
  padding: 30px 15px 40px 20px;
}

@media screen and (min-width: 1024px) {
  .secFooter {
    padding: 30px 76px 56px 68px;
  }
}
.secFooter__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.secFooter__content {
  display: contents;
}

@media screen and (min-width: 1024px) {
  .secFooter__content {
    display: flex;
    margin-bottom: 33px;
    width: 100%;
  }
}
.secFooter__logoBlock {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}

@media screen and (min-width: 1024px) {
  .secFooter__logoBlock {
    display: contents;
  }
}
.secFooter__textBlock {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .secFooter__textBlock {
    justify-content: flex-start;
    gap: 41px;
  }
}
.secFooter__text {
  text-align: right;
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .secFooter__text {
    margin-bottom: 20px;
    font-size: 14px;
    text-align: left;
  }
}
.secFooter__text--bald {
  display: block;
  font-weight: 500;
}

.footer_images {
  display: none;
}

@media screen and (min-width: 1024px) {
  .footer_images {
    display: flex;
    gap: 15px;
    margin-bottom: 0;
  }
}
.footer_image {
  width: 40.5px;
}

@media screen and (min-width: 1024px) {
  .footer_image {
    width: 81px;
  }
}
.secFooter__logo {
  width: 47px;
}

@media screen and (min-width: 1024px) {
  .secFooter__logo {
    width: 94px;
  }
}
.secFooter__copyright {
  font-size: 12px;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .secFooter__copyright {
    font-size: 13px;
  }
}
/* スクロールCSS */
.fade-in {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
}

.fade-in-up {
  transform: translate(0, 50px);
}

.fade-in-down {
  transform: translate(0, -50px);
}

.fade-in-left {
  transform: translate(-50px, 0);
}

.fade-in-right {
  transform: translate(50px, 0);
}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}