@charset "utf-8";

/* =========================================
   pg-sale / PC 静的オリぺ（売却ページ）
   MV: 13029:187 / お悩み: 13029:227 / 強み: 13060:652 / CTA: 13060:470 / フロー: 13060:655 / 売却事例: 13056:323 / FAQ: 13056:330
   ========================================= */
   @font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Regular.woff2);
    font-weight: 400;
    font-display: swap;
    }
    /*Zen Kaku Gothic New 500*/
    @font-face {
        font-family: 'Zen Kaku Gothic New';
        src: url(/fonts/ZenKakuGothicNew-Medium.woff2);
        font-weight: 500;
        font-display: swap;
    }
    /*Zen Kaku Gothic New 700*/
    @font-face {
        font-family: 'Zen Kaku Gothic New';
        src: url(/fonts/ZenKakuGothicNew-Bold.woff2);
        font-weight: 700;
        font-display: swap;
    }

body {
    -webkit-text-size-adjust: 100%;
}

#content {
    width: 100%;
}

#contents {
    width: 100%;
    padding: 0;
}

.l-header.l-header-under {
    position: fixed;
    border: none;
}

.l-main {
    width: auto;
    padding: 0;
    overflow: hidden;
    background: #fff;
}
.l-main *{
    font-family: "Zen Kaku Gothic New", sans-serif;
    box-sizing: border-box;
    font-weight: 400;
}

/* ========================================= */
/* hero（MV） */
/* 計測: セクション高さ 710px / 背景 1920×710 */
/* ========================================= */

.hero {
    position: relative;
    width: 100%;
    /* min-height: 710px; */
    overflow: hidden;
}

.hero__bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    width: 100%;
    height: 710px;
}

.hero__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.hero__inner {
    position: relative;
}

/* アイコン 計測: 55×90 */
.hero__icon {
    display: block;
    width: 55px;
    height: 90px;
    flex-shrink: 0;
}

/* リード文行 計測: gap 10px / ライン 35×4 / テキスト 26px Bold */
.hero__lead {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin: 0;
}

.hero__lead-line {
    flex-shrink: 0;
}

.hero__lead-line-img {
    display: block;
    width: 35px;
    height: 4px;
}

.hero__lead-text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 1.3;
    color: #ffffff;
    letter-spacing: 1.56px;
    text-align: center;
    white-space: nowrap;
}

.hero__lead-text--accent {
    letter-spacing: 3.12px;
}

/* メイン見出し 計測: 84px / line-height 1.3 / tracking 8.4px */
/* フォント: Figma VDL-MegaMaru → Zen Maru Gothic で近似 */
.hero__title {
    width: 100%;
    height: 710px;
}
.hero__title img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero__title-line {
    display: block;
}

.hero__brand {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 560px;
    margin-left: -280px;
}

.hero__brand-inner {
    position: relative;
    width: 560px;
    height: 100px;
}

.hero__brand-shape {
    display: block;
    width: 560px;
    height: 100px;
}

.hero__brand-label {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding-bottom: 4px;
}

.hero__brand-en {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 2.6px;
    color: #004f8f;
}

.hero__brand-name {
    margin: 4px 0 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: normal;
    letter-spacing: 3px;
    color: #004f8f;
}

/* ========================================= */
/* concerns（お悩み）Figma 13029:227 */
/* 計測: セクション padding 150px 0 / bg_img 13099:6990 1920×1156 / 内枠 1140 / 見出し〜Grid gap 40 */
/* Grid: row-gap 30px column-gap 50px / カード 256幅 322高 / 円 220 / 円〜文 gap 12 */
/* ========================================= */

.concerns {
    position: relative;
    padding: 150px 0 190px;
    overflow: hidden;
}

.concerns__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.concerns__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 0;
}

.concerns__inner {
    position: relative;
    z-index: 1;
    display: flex;
    width: 1140px;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    gap: 40px;
}

.concerns__header {
    width: 100%;
    text-align: center;
}

.concerns__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.concerns__subtitle-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.concerns__subtitle {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    color: #249b41;
    letter-spacing: 3.6px;
}

.concerns__line {
    display: block;
    line-height: 0;
}

.concerns__line-img {
    display: block;
    width: 35px;
    height: 4px;
}

.concerns__title {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.4;
    color: #353535;
    letter-spacing: 2.56px;
}

.concerns__grid {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    margin: 0;
    padding: 0;
    gap: 30px 50px;
    list-style: none;
}

.concerns-card {
    display: flex;
    width: 256px;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.concerns-card__figure {
    position: relative;
    width: 220px;
    height: 220px;
    flex-shrink: 0;
}

.concerns-card__img {
    display: block;
    width: 220px;
    height: 220px;
    object-fit: cover;
}

.concerns-card__body {
    width: 256px;
}

.concerns-card__text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.5;
    color: #333333;
    letter-spacing: 1px;
    text-align: center;
}

.concerns-card__text--emphasis {
    color: #000000;
}

/* ========================================= */
/* strength（強み・3ブロック）Figma 13060:652 */
/* 計測: 帯背景 #f0ffe8 / py 150 / 見出し〜ブロック gap 40 */
/* ブロック間 gap 40 / 画像 529×330 r15 / 画像〜本文 gap 30 / 本文幅 581 */
/* ========================================= */

.strength {
    width: 100%;
    position: relative;
}

.strength__wave {
    width: 100%;
    line-height: 0;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -43px;
    z-index: 1;
}

.strength__wave-img {
    display: block;
    width: 100%;
    height: 44px;
    transform: scaleY(-1);
}

.strength__surface {
    position: relative;
    padding: 155px 0 150px;
    background-color: #f0ffe8;
}

.strength__deco {
    position: absolute;
    z-index: 0;
    pointer-events: none;
}

.strength__deco--585 {
    left: -177px;
    top: 246px;
    width: 370px;
    height: 292px;
}

.strength__deco--607-wrap {
    left: -135px;
    bottom: -59px;
    width: 292px;
    height: 273px;
    transform: scaleY(-1) rotate(23deg);
    transform-origin: center center;
}

.strength__deco-img {
    display: block;
    width: 100%;
    height: auto;
}

.strength__deco--600-wrap {
    right: -205px;
    top: 522px;
    display: flex;
    width: 471px;
    height: 471px;
    align-items: center;
    justify-content: center;
}

.strength__deco-img--600 {
    width: 345px;
    height: 345px;
    transform: rotate(60deg);
}

.strength__inner {
    position: relative;
    z-index: 1;
    display: flex;
    width: 1140px;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    gap: 40px;
}

.strength__header {
    width: 100%;
    text-align: center;
}

.strength__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.strength__subtitle-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.strength__subtitle {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    color: #249b41;
    letter-spacing: 3.6px;
}

.strength__line {
    display: block;
    line-height: 0;
}

.strength__line-img {
    display: block;
    width: 35px;
    height: 4px;
}

.strength__title {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.4;
    color: #353535;
    letter-spacing: 2.56px;
}

.strength__title-line {
    display: block;
    font-weight: 500;
}

.strength__blocks {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 40px;
}

.strength-block {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 30px;
}

.strength-block--media-right {
    flex-direction: row-reverse;
}

.strength-block__media {
    position: relative;
    flex-shrink: 0;
    width: 529px;
    height: 330px;
    overflow: hidden;
    border-radius: 15px;
}

.strength-block__photo-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.strength-block__media-inner {
    width: 100%;
    height: 100%;
}

.strength-block__media-inner--shift {
    position: relative;
    height: 100%;
    overflow: hidden;
}

.strength-block__photo-img--shift {
    /* position: absolute; */
    /* top: -6.87%; */
    /* left: 0; */
    /* width: 100%; */
    /* height: 106.88%; */
    /* object-fit: cover; */
}

.strength-block__content {
    width: 581px;
    flex-shrink: 0;
}

.strength-block__heading {
    margin: 0 0 10px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.5;
    color: #249b41;
    letter-spacing: 2.4px;
}

.strength-block__body {
    display: flex;
    flex-direction: column;
}

.strength-block__text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 2;
    color: #353535;
    letter-spacing: 0.8px;
}

.strength-block__accent {
    font-weight: 500;
    color: #353535;
}

.strength__mascot {
    position: absolute;
    left: 178px;
    top: 33px;
    z-index: 2;
    width: 140px;
    height: 140px;
}

.strength__mascot-img {
    display: block;
    width: 140px;
    height: 140px;
}

/* ========================================= */
/* cta（ご相談CTA）Figma 13060:470 */
/* 計測: py 150 / カード 1140・角丸20・白半透明88%・blur 15 / カード py50 px70 */
/* ボタン高さ80 / 左 #da484e 丸210 / 右 #249b41 丸180 / キャプション #7c7c7c 16 */
/* ========================================= */

.cta {
    position: relative;
    padding: 150px 0 150px;
    overflow: hidden;
}

.cta__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.cta__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 35%;
}

.cta__inner {
    position: relative;
    z-index: 1;
    width: 1140px;
    margin: 0 auto;
}

.cta-card {
    display: flex;
    box-sizing: border-box;
    width: 1140px;
    flex-direction: column;
    gap: 40px;
    padding: 43px 70px 50px;
    border-radius: 20px;
    background-color: rgba(255, 255, 255, 0.88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
}

.cta-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.cta-card__figure-img {
    flex-shrink: 0;
    display: block;
    position: absolute;
    left: 230px;
    top: 18px;
}
.cta-card__figure-img--right {
    right: 210px;
    left: inherit;
}

.cta-card__lead {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    align-items: center;
    padding-top: 8px;
    gap: 10px;
}

.cta-card__subtitle-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.cta-card__subtitle {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    color: #249b41;
    letter-spacing: 3.6px;
}

.cta-card__line {
    display: block;
    line-height: 0;
}

.cta-card__line-img {
    display: block;
    width: 35px;
    height: 4px;
}

.cta-card__title {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.4;
    color: #353535;
    letter-spacing: 2.56px;
    text-align: center;
}

.cta-card__actions {
    display: flex;
    gap: 30px;
    justify-content: center;
}

.cta-card__column {
    display: flex;
    width: 456px;
    flex-direction: column;
    flex-shrink: 0;
    align-items: center;
    gap: 8px;
}

.cta-card__caption {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.cta-card__caption-mark {
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.cta-card__caption-mark-img {
    display: block;
}

.cta-card__caption-mark-img--open {
    transform: rotate(63.43deg);
}

.cta-card__caption-mark-img--close {
    transform: scaleY(-1) rotate(65deg);
}

.cta-card__caption-text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: normal;
    color: #7c7c7c;
    text-align: center;
    white-space: nowrap;
}

.cta-card__btn {
    position: relative;
    display: flex;
    box-sizing: border-box;
    width: 100%;
    align-items: center;
    justify-content: end;
    text-decoration: none;
}

.cta-card__btn--assessment {
    height: 80px;
    gap: 10px;
    padding: 0 71px 0 24px;
    border-radius: 210px;
    background-color: #da484e;
    color: #ffffff;
}

.cta-card__btn--consult {
    height: 80px;
    padding: 23px 70px 24px 24px;
    border-radius: 180px;
    background-color: #249b41;
    color: #ffffff;
}

.cta-card__badge {
    flex-shrink: 0;
    padding: 3px 7px 3px;
    border-radius: 4px;
    background-color: #ffffff;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.4;
    color: #da484e;
    letter-spacing: 0.72px;
}

.cta-card__btn-label {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 1px;
}

.cta-card__btn--consult .cta-card__btn-label {
    line-height: 1.5;
}

.cta-card__btn--assessment .cta-card__btn-label,
.cta-card__btn--consult .cta-card__btn-label {
    color: #ffffff;
}

.cta-card__btn-icon {
    position: absolute;
    top: 50%;
    right: 24px;
    line-height: 0;
    transform: translateY(-50%);
}

.cta-card__btn-arrow {
    display: block;
    width: 8px;
    height: 14px;
}

/* ========================================= */
/* flow（不動産売却相談フロー）Figma 13060:655 */
/* 計測: セクション高さ 1172 / 内枠 1140 / 見出し〜図 gap 40 */
/* ========================================= */

.flow {
    position: relative;
    padding: 150px 0 148px;
    overflow: hidden;
    background-color: #ffffff;
    position: relative;
    z-index: 0;
}

.flow__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.flow__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    z-index: 0;
    position: relative;
}

.flow__inner {
    position: relative;
    z-index: 1;
    width: 1140px;
    margin: 0 auto;
}

.flow__header {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.flow__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.flow__subtitle-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.flow__subtitle {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    color: #249b41;
    letter-spacing: 3.6px;
    text-align: center;
}

.flow__line {
    display: block;
    line-height: 0;
}

.flow__line-img {
    display: block;
    width: 35px;
    height: 4px;
}

.flow__title {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.4;
    color: #353535;
    letter-spacing: 2.56px;
    text-align: center;
}

.flow__deco {
    position: absolute;
    top: -20px;
    right: 110px;
    width: 162px;
    height: 128px;
}

.flow__deco-img {
    display: block;
    width: 162px;
    height: 128px;
}

.flow__diagram {
    position: relative;
    width: 1140px;
}

.flow__diagram-img {
    display: block;
    width: 1140px;
    height: auto;
}

.flow__sr-only {
    margin-top: 20px;
    position: absolute;
    bottom: 0;
}

.flow-methods {
    display: grid;
    grid-template-columns: repeat(4, 270px);
    justify-content: space-between;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.flow-methods__item {
    position: relative;
    min-height: 188px;
    padding: 62px 0px 15px;
    border-radius: 0 0 8px 8px;
    background-color: #ebffe0;
    z-index: 0;
}
.flow-methods__badge-wrapper {
    height: 30px;
    overflow: hidden;
    position: absolute;
    display: flex;
    top: -20px;
    width: 100%;
}

.flow-methods__heading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 8px 10px 10px;
    border-radius: 8px 8px 0 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #ffffff;
    background-color: #249b41;
    position: absolute;
    width: 100%;
    top: 0;
    z-index: 0;
}
.flow-methods__heading-text {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #ffffff;
    position: relative;
    z-index: 2;
}

.flow-methods__heading--rent {
    background-color: #80bc05;
}

.flow-methods__badge {
    position: absolute;
    /* top: -21px; */
    left: 50%;
    z-index: 1;
    display: flex;
    /* align-items: center; */
    justify-content: center;
    width: 65px;
    height: 65px;
    margin: 0;
    border-radius: 50%;
    transform: translateX(-50%);
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.04em;
    color: #ffffff;
    background-color: #249b41;
    z-index: 1;
}

.flow-methods__badge--rent {
    background-color: #80bc05;
}

.flow-methods__text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.05em;
    color: #353535;
    padding: 0 16px;
}


/* ========================================= */
/* cases（売却事例）Figma 13056:323 */
/* 計測: pt 190 pb 150 / 内枠 1140 / カード間 gap 40 / 画像 420×315 角丸15 */
/* ========================================= */

.cases {
    position: relative;
    padding: 193px 0 138px;
    overflow: hidden;
    background-color: #f5faf6;
    z-index: 1;
    min-height: 1936px;
}
.cases::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    left: 0;
    /* top: -90px; */
    right: 0;
    margin: auto;
    background: url('../images/cases-bg.webp') no-repeat center center / cover;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 1;
}

.cases__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 221px;
    height: 143px;
    left: 110px;
    top: -14px;
}

.cases__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 0;
}

.cases__inner {
    position: relative;
    z-index: 1;
    width: 1140px;
    margin: 0 auto;
}

.cases__header {
    position: relative;
    /* min-height: 189px; */
    margin-bottom: 40px;
}

.cases__deco {
    position: absolute;
    left: 0;
    top: 0;
    width: 263px;
    height: 189px;
}

.cases__deco-img {
    display: block;
    width: 263px;
    height: 189px;
    object-fit: cover;
}

.cases__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.cases__subtitle-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.cases__subtitle {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    color: #249b41;
    letter-spacing: 3.6px;
    text-align: center;
}

.cases__line {
    display: block;
    line-height: 0;
}

.cases__line-img {
    display: block;
    width: 35px;
    height: 4px;
}

.cases__title {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.4;
    color: #353535;
    letter-spacing: 2.56px;
    text-align: center;
}

.cases__list {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-direction: column;
    gap: 40px;
}

.cases-card a {
    display: flex;
    align-items: center;
    gap: 30px;
}

.cases-card__figure {
    position: relative;
    flex-shrink: 0;
    width: 420px;
    height: 315px;
    overflow: hidden;
    border-radius: 15px;
    background: #F0F1EF;
}
.cases-card__figure img {
width: 100%;
height: 100%;
object-fit: cover;
}

.cases-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cases-card__overlay {
    position: absolute;
    inset: 0;
    border-radius: 15px;
    background-color: rgba(0, 0, 0, 0.3);
    pointer-events: none;
}

.cases-card__label {
    position: absolute;
    left: 50%;
    top: 50%;
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.5;
    color: #ffffff;
    letter-spacing: 3px;
    white-space: nowrap;
    transform: translate(-50%, -50%);
}

.cases-card__body {
    flex: 1;
    width: 690px;
    min-width: 0;
}

.cases-card__title {
    margin: 0 0 10px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.5;
    color: #249b41;
    letter-spacing: 1px;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cases-card__text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 2;
    color: #353535;
    letter-spacing: 0.8px;
    white-space: pre-line;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
}

.cases__action {
    margin: 40px 0 0;
    text-align: center;
}

.cases__btn {
    position: relative;
    display: inline-flex;
    box-sizing: border-box;
    width: 300px;
    height: 56px;
    align-items: center;
    justify-content: center;
    padding: 0 4px 0 0;
    border-radius: 30px;
    background-color: #249b41;
    text-decoration: none;
}

.cases__btn-label {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 2;
    color: #ffffff;
    letter-spacing: 0.8px;
}

.cases__btn-icon {
    position: absolute;
    top: 50%;
    right: 15px;
    line-height: 0;
    transform: translateY(-50%);
}

.cases__btn-arrow {
    display: block;
    width: 4px;
    height: 9px;
}
/* ========================================= */
/* faq（よくある質問） */
/* ========================================= */

.faq {
    position: relative;
    padding: 150px 0;
    overflow: hidden;
    background-color: #f5faf6;
    background: url("../images/faq-bg.svg")center / cover no-repeat;
}

.faq__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.faq__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    display: none;
}

.faq__inner {
    position: relative;
    z-index: 1;
    width: 1140px;
    margin: 0 auto;
}

.faq__header {
    position: relative;
    margin-bottom: 40px;
}

.faq__mascot {
    position: absolute;
    top: 29px;
    right: 225px;
    width: 140px;
    height: 152px;
}

.faq__mascot-img {
    /* display: block; */
    /* width: 140px; */
    /* height: 142px; */
    /* object-fit: cover; */
}

.faq__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.faq__subtitle-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.faq__line-img {
    display: block;
    width: 35px;
    height: 4px;
}

.faq__subtitle {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    color: #249b41;
    letter-spacing: 3.6px;
    text-align: center;
}

.faq__line {
    display: block;
    width: 35px;
    height: 4px;
    border-radius: 2px;
    background-color: #249b41;
}

.faq__title {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.4;
    color: #353535;
    letter-spacing: 2.56px;
    text-align: center;
}

.faq__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.faq-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.faq-item__question {
    display: flex;
    align-items: center;
    gap: 15px;
}

.faq-item__mark {
    flex-shrink: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.5;
    color: #249b41;
}

.faq-item__heading {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.5;
    color: #333333;
    letter-spacing: 1px;
}

.faq-item__answer {
    box-sizing: border-box;
    width: 100%;
    padding: 30px;
    border-radius: 10px;
    background-color: #f0ffe8;
}

.faq-item__text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 2;
    color: #353535;
    letter-spacing: 0.8px;
}
