.elementor-168 .elementor-element.elementor-element-3bc0b98{--display:flex;--min-height:400px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-168 .elementor-element.elementor-element-3bc0b98:not(.elementor-motion-effects-element-type-background), .elementor-168 .elementor-element.elementor-element-3bc0b98 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFDF1;}.elementor-168 .elementor-element.elementor-element-3bc0b98.e-con{--align-self:center;}.elementor-168 .elementor-element.elementor-element-10bdf2b{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-168 .elementor-element.elementor-element-10bdf2b.e-con{--align-self:center;}.elementor-168 .elementor-element.elementor-element-26b83d9.elementor-element{--align-self:center;}.elementor-168 .elementor-element.elementor-element-bc55cf3{text-align:center;}.elementor-168 .elementor-element.elementor-element-bc55cf3 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;letter-spacing:2px;color:var( --e-global-color-text );}.elementor-168 .elementor-element.elementor-element-4a8f9e0{--display:flex;--padding-top:10px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-168 .elementor-element.elementor-element-af9c7b8{font-family:"Noto Sans JP", Sans-serif;font-size:14px;letter-spacing:1px;color:#B6B6B6;}.elementor-168 .elementor-element.elementor-element-af9c7b8 a{color:#A7A083;}.elementor-168 .elementor-element.elementor-element-225b408{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-168 .elementor-element.elementor-element-3bc0b98{--min-height:200px;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-168 .elementor-element.elementor-element-10bdf2b{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-168 .elementor-element.elementor-element-bc55cf3 .elementor-heading-title{font-size:14px;}.elementor-168 .elementor-element.elementor-element-4a8f9e0{--padding-top:10px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-168 .elementor-element.elementor-element-af9c7b8{padding:0px 20px 0px 20px;font-size:12px;}.elementor-168 .elementor-element.elementor-element-93961ae{padding:20px 20px 20px 20px;}}/* Start custom CSS for html, class: .elementor-element-26b83d9 */.fade-in-text {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  display: inline-block;
  color: #666666 !important;
  font-size: 48px !important;
  letter-spacing: 0.1em !important;
  text-align: center !important;
  margin: 0px 0 !important;
}


.fade-in-text span {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px); /* 下から開始 */
  animation: fadeUp 0.8s ease-out forwards;
}

/* アニメーションのタイミングを調整 */
.fade-in-text span:nth-child(1) { animation-delay: 0.1s; }  /* B */
.fade-in-text span:nth-child(2) { animation-delay: 0.15s; } /* A */
.fade-in-text span:nth-child(3) { animation-delay: 0.2s; }  /* L */
.fade-in-text span:nth-child(4) { animation-delay: 0.25s; } /* L */
.fade-in-text span:nth-child(5) { animation-delay: 0.3s; }  /* O */
.fade-in-text span:nth-child(6) { animation-delay: 0.35s; } /* O */
.fade-in-text span:nth-child(7) { animation-delay: 0.4s; }  /* N */

/* スペースは飛ばしてケアへ */
.fade-in-text span:nth-child(9) { animation-delay: 0.5s; }  /* C */
.fade-in-text span:nth-child(10) { animation-delay: 0.55s; } /* A */
.fade-in-text span:nth-child(11) { animation-delay: 0.6s; }  /* R */
.fade-in-text span:nth-child(12) { animation-delay: 0.65s; } /* E */

/* アニメーションの定義 */
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* スマホ用（画面幅が狭い場合） */
@media (max-width: 767px) {
  .fade-in-text {
    font-size: 28px !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-93961ae *//* =========================================
   カード式コンテナ
========================================= */
.terms-container {
    max-width: 800px !important;
    margin: 0px auto !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-family: "Noto Sans", "Noto Sans JP", sans-serif !important;
    box-sizing: border-box !important;
}

/* 個別のカードデザイン */
.terms-card {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 30px;
    background: #ffffff !important;
    border: 1px solid #f5eedb !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    transition: all 0.3s ease;
}

/* ホバー時の演出（背景色が #FFFDF1 に変化） */
.terms-card:hover {
    background: #FFFDF1 !important;
    border-color: #e6dfcb !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

/* Google Fontsアイコン部分 */
.terms-card-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background: #fcf9f6;
    border: 1px solid #f5eedb;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.terms-card-icon .material-icons {
    font-size: 24px !important;
    color: #666666 !important;
}

/* テキスト部分 */
.terms-card-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* カードタイトル */
.terms-card-title {
    font-size: 18px !important;
    margin: 0 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif !important;
    color: #666666 !important;
    font-weight: 400 !important;
    border-bottom: 1px solid #f5eedb !important;
    padding-bottom: 8px !important;
}

/* カード本文 */
.terms-card-desc {
    font-size: 14px !important;
    font-family: "Noto Sans", "Noto Sans JP", sans-serif !important;
    color: #666666 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    line-height: 1.8 !important;
}

/* 補足などの小さなテキスト */
.terms-card-desc span {
    font-size: 13px !important;
    color: #777777 !important;
}

/* スマホ対応 */
@media (max-width: 767px) {
    .terms-card {
        padding: 20px;
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }

    .terms-card-icon {
        margin: 0 auto;
    }

    .terms-card-title {
        font-size: 16px !important;
        text-align: center;
    }

    .terms-card-desc {
        font-size: 13px !important;
        text-align: left; /* スマホでも文章は読みやすく左寄せ */
    }
}/* End custom CSS */