@charset "UTF-8";
/*Zen Kaku Gothic New 700*/
@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Black.ttf);
    font-weight: 900;
    font-display: swap;
}

#content,
#contents,
.l-main {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 0;
    background: #fff;
}
.breadcrumbs{
    display: none;
}

.main__imgbox {
    width: 100%;
    height: 616px;
}

.main__heading {
    width: 100%;
    height: 100%;
}

.main__heading img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main__imgcontents {
    position: relative;
    padding-bottom: 204px;
}
.howtoadd {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -61px;
}

.l-page *{
    font-family: 'Zen Kaku Gothic New', sans-serif;
    box-sizing: border-box;
    font-weight: 500;
    }

/* ========================================= */
/* howtoadd（Figma 7426:1858「How to add」） */
/* 緑帯 Rectangle28: W1140 H282 #1db85c border-radius40 / 内側カード列 W988 gap10 左右余白76 */
/* タイトル ttl: #fff371 枠7px #1db85c pill50 / 文言30px Bold #1db85c padding 2px30px5px */
/* 白カード1 W507 / 白カード2 W471 / 角丸10 / バッジ #ddffeb 角丸10 */
/* 左イラスト W143 H157 / 右 W126 H150 / フレーム高302 */
/* ========================================= */
.howtoadd {
    margin-top: 100px;
    padding-bottom: 40px;
}

.howtoadd__wrap {
    position: relative;
    width: 1140px;
    margin: 0 auto;
    min-height: 302px;
}

.howtoadd__ttl {
    position: absolute;
    top: -26px;
    left: 50%;
    z-index: 2;
    margin: 0;
    padding: 2px 30px 5px;
    border: 7px solid #1db85c;
    border-radius: 50px;
    background-color: #fff371;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: normal;
    color: #1db85c;
    text-align: center;
    white-space: nowrap;
    transform: translateX(calc(-50% + 5px));
}

.howtoadd__panel {
    position: relative;
    z-index: 0;
    width: 100%;
    min-height: 304px;
    margin-top: 20px;
    padding: 50px 76px;
    box-sizing: border-box;
    border-radius: 40px;
    background-color: #1db85c;
}

.howtoadd__cards {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: center;
    justify-content: center;
    width: 988px;
    max-width: 100%;
    margin: 0 auto;
}

.howtoadd__card {
    flex-shrink: 0;
    background-color: #ffffff;
    border-radius: 10px;
}

.howtoadd__card--1 {
    width: 507px;
}

.howtoadd__card--2 {
    width: 471px;
}

.howtoadd__card-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    padding: 30px 35px 20px 30px;
}

.howtoadd__card-left {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    align-items: center;
    width: 299px;
}

.howtoadd__card-inner--2 {
    gap: 20px;
    align-items: center;
    height: 182px;
    padding: 34px 20px 40px 30px;
}

.howtoadd__badge {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    box-sizing: border-box;
    width: 54px;
    min-height: 102px;
    padding: 7px 16px 10px;
    border-radius: 10px;
    background-color: #ddffeb;
    color: #3db33d;
}

.howtoadd__badge-label {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: 0;
}

.howtoadd__badge-num {
    width: 100%;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 900;
    font-size: 30px;
    text-align: center;
    line-height: 0.9;
}

.howtoadd__card-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

.howtoadd__card-main--2 {
    gap: 4px;
    width: 332px;
}

.howtoadd__row1 {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 4px;
    align-items: center;
    min-height: 30px;
}

.howtoadd__row1--2 {
    gap: 5px;
    min-height: 38px;
}

.howtoadd__line-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 30px;
}

.howtoadd__text-mixed {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.3;
    color: #484848;
    white-space: nowrap;
}

.howtoadd__text-accent {
    color: #3db33d;
    font-weight: 500;
}

.howtoadd__text-muted {
    color: #484848;
    flex-shrink: 0;
    font-weight: 500;
}

.howtoadd__text-sub {
    margin: 0;
    padding-top: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.6;
    color: #484848;
    white-space: nowrap;
}

.howtoadd__search-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    align-items: flex-end;
    width: 100%;
}

.howtoadd__id-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 159px;
    padding: 3px 20px 5px;
    border: 1px solid #484848;
    border-radius: 5px;
    background-color: #ffffff;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 24px;
    color: #484848;
    white-space: nowrap;
    line-height: 1.4;
}

.howtoadd__text-muted--tail {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.4;
    padding-bottom: 2px;
}

.howtoadd__qr {
    display: block;
    flex-shrink: 0;
    width: 133px;
    height: 132px;
    object-fit: cover;
}

.howtoadd__illust {
    position: absolute;
    z-index: 1;
    bottom: 0;
    display: block;
    pointer-events: none;
}

.howtoadd__illust--left {
    left: -40px;
    width: 143px;
    height: auto;
    bottom: 21px;
}

.howtoadd__illust--right {
    right: -30px;
    width: 126px;
    height: auto;
    bottom: 21px;
}


/* ========================================= */
/* worries（Figma 7430:3292） */
/* フレーム: W1920 H864 / 上余白 pt265px 下 pb60px / 見出しブロック〜カード列 gap40px */
/* 英字見出し headline_eng: top205px 中央、160px #d9d9d9 opacity30% letter-spacing16px */
/* リード Frame316: W658、キャッチ〜見出し 子間隔 38px（y0→y38） */
/* カード列 contents: W1140 H320 gap20px、各カラム W270 */
/* ========================================= */
.worries {
    position: relative;
    width: 100%;
    padding: 61px 0 58px;
    overflow: hidden;
    background-color: #ffffff;
}

.worries__watermark {
    position: absolute;
    left: 17px;
    right: 0;
    top: -39px;
    margin: auto;
    padding: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 900;
    font-size: 160px;
    line-height: 1;
    letter-spacing: 16px;
    color: #d9d9d9;
    opacity: 0.3;
    pointer-events: none;
    white-space: nowrap;
    width: fit-content;
    z-index: 0;
}

.worries__inner {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 45px;
    position: relative;
}

.worries__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    text-align: center;
}

.worries__catch {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    line-height: 0;
}

.worries__catch-text {
    font-size: 20px;
    line-height: normal;
    color: #484848;
    font-weight: bold;
}

.worries__catch-accent {
    font-size: 26px;
    line-height: normal;
    color: #2499d4;
    font-weight: 500;
    font-weight: bold;
}

.worries__heading {
    margin: 0;
    color: #484848;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: bold;
}

.worries__heading-line1 {
    margin: 0;
    display: block;
}

.worries__heading-line2 {
    margin: 0;
    display: block;
    font-size: 42px;
    line-height: normal;
    font-weight: bold;
}

.worries__heading-text {
    font-size: 42px;
    line-height: normal;
    font-weight: bold;
}

.worries__heading-highlight {
    font-size: 58px;
    line-height: normal;
    color: #0098e4;
    font-weight: bold;
    line-height: 1.2;
}

.worries__cards {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0px;
    justify-content: end;
    align-items: center;
    width: 100%;
    min-height: 320px;
}
.worries__card--01 {

margin-right: 15px;
}
.worries__card--02 {

margin-right: 21px;
}
.worries__card--03 {

margin-right: 25px;
}
.worries__card {
    width: 270px;
    flex-shrink: 0;
}

.worries__card-inner {
    position: relative;
    width: 270px;
    min-height: 296px;
}

.worries__blob {
    position: absolute;
    top: 0;
    z-index: 0;
}

/* 各カード背景シェイプ（Vector 近似: W270 H250 ほか） */
.worries__blob--1 {
    width: 270px;
    height: 250px;
    background: url(../images/worries-03.svg) center / cover no-repeat;
    top: -3px;
}

.worries__blob--2 {
    width: 286px;
    height: 240px;
    background: url(../images/worries-01.svg) center / cover no-repeat;
    top: -4px;
}
.worries__blob--2 .worries__card-body {
padding-left: 20px;
}

.worries__blob--3 {
    width: 280px;
    height: 235px;
    background: url(../images/worries-02.svg) center / cover no-repeat;
}

.worries__blob--4 {
    width: 270px;
    height: 241px;
    background: url(../images/worries-04.svg)center / cover no-repeat;
}

.worries__card-body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-height: 296px;
    padding-top: 45px;
    box-sizing: border-box;
    padding-left: 9px;
}
.worries__card-body--2 {
    padding: 42px 0px 0 16px;
}
.worries__card-text {
    margin: 0;
    text-align: center;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: normal;
    color: #484848;
}

.worries__figure-wrap {
    margin-top: 17px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    min-height: 158px;
}
.worries__card--01 .worries__figure-wrap {
    position: absolute;
    bottom: 3px;
    left: 2px;
}
.worries__card--02 .worries__figure-wrap {
    position: absolute;
    bottom: 2px;
    left: 13px;
}
.worries__card--03 .worries__figure-wrap {
    position: absolute;
    bottom: 4px;
    left: 1px;
}
.worries__card--04 .worries__figure-wrap {
    position: absolute;
    bottom: 5px;
    left: 0px;
    }
.worries__figure {
    display: block;
    max-width: 100%;
    height: auto;
}

/* ========================================= */
/* problems（Figma 7431:3864） */
/* セクション背景 #f6f6f6 / 縦余白 py60 / 見出しブロック〜下コンテンツ gap40 */
/* 英字 PROBLEMS: 160px #d9d9d9 opacity30% letter-spacing16px */
/* Frame318: サブ20px / 見出し42px・強調60px #2499d4 / 子間 gap10 */
/* problems_list: W1140 3列366 gap横21縦20 / 画像角丸20 / ラベル #0098e4 下のみ角丸10 padding 6px25px8px */
/* speech bubble: #d9ffce 角丸20 padding40 gap45 / 白吹き出し内テキスト24行間30 / 強調30 Bold #f68004 */
/* ========================================= */
.problems {
    position: relative;
    width: 100%;
    padding: 60px 0;
    overflow: hidden;
    background-color: #f6f6f6;
}

.problems__watermark {
    position: absolute;
    top: -39px;
    left: 13px;
    right: 0;
    margin: auto;
    z-index: 0;
    padding: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 900;
    font-size: 160px;
    line-height: 1;
    letter-spacing: 16px;
    color: #d9d9d9;
    opacity: 0.3;
    white-space: nowrap;
    pointer-events: none;
    width: fit-content;
}

.problems__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 37px;
    width: 1140px;
    margin: 0 auto;
    box-sizing: border-box;
}

.problems__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.problems__sub {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: normal;
    color: #484848;
}

.problems__heading {
    margin: 0;
    color: #484848;
}

.problems__title-line1 {
    margin: 0;
    display: block;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 42px;
    line-height: 1.3;
    color: #484848;
}

.problems__title-line2 {
    margin: 0;
    display: block;
    line-height: 1.3;
}

.problems__title-accent {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 60px;
    line-height: 1.4;
    color: #2499d4;
}

.problems__title-rest {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 42px;
    line-height: 1.3;
    color: #484848;
}

.problems__contents {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
}

.problems__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px 20px;
    align-items: flex-start;
    justify-content: flex-start;
    width: 1140px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.problems__item {
    position: relative;
    flex-shrink: 0;
    width: 366px;
}

.problems__media {
    overflow: hidden;
    width: 366px;
    height: 209.79px;
    border-radius: 20px;
}

.problems__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.problems__label {
    position: absolute;
    top: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 25px 8px;
    border-radius: 0 0 10px 10px;
    background-color: #0098e4;
}

.problems__label-text {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: normal;
    color: #ffffff;
    white-space: nowrap;
}

.problems__item--01 .problems__label {
    left: 74px;
}

.problems__item--02 .problems__label {
    left: 98px;
}

.problems__item--03 .problems__label {
    left: 50px;
}

.problems__item--04 .problems__label {
    left: 38px;
}

.problems__item--05 .problems__label {
    left: 62px;
}

.problems__item--06 .problems__label {
    left: 14px;
}

.problems__speech {
    width: 1140px;
    box-sizing: border-box;
    padding: 42px 0px 6px 40px;
    border-radius: 20px;
    background-color: #d9ffce;
    height: 220px;
    position: relative;
}
.problems__speech::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 40px;
    width: 264px;
    height: 194px;
    background: url(../images/problems_illust.svg) center / cover no-repeat;
}


.problems__speech-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 45px;
}

.problems__bubble {
    width: 826px;
    height: 140px;
    padding: 36px 30px 36px 35px;
    border-radius: 20px;
    background: url(../images/problems__bubble_bg.webp) center / cover no-repeat;
    box-sizing: border-box;
}

.problems__bubble-line1 {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 30px;
    color: #484848;
}

.problems__bubble-line2 {
    margin: 10px 0 0;
    line-height: 30px;
}

.problems__bubble-text {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 30px;
    color: #484848;
}

.problems__bubble-accent {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 30px;
    color: #f68004;
}

/* ========================================= */
/* service（Figma 7432:4067） */
/* 縦余白 py60 / 見出し〜カード列 gap60 / カード列 W1140 gap20 各カード W270 H312 */
/* 英字 SERVICE: 160px #d9d9d9 opacity30% letter-spacing16px */
/* サブ 24px Bold #484848 / 見出し 58px #3db33d + 42px #484848 */
/* カード背景 #def3e4 角丸20 / 内側 pt40 px20 pb20 gap15 */
/* バッジ #3db33d 角丸30 top-20 / padding 3px20px5px（01はpx20、02〜04はpx30）文字22 Bold 白 */
/* アイコン円 150×150 白背景 / 本文 18px Medium #484848 line-height1.6 */
/* ========================================= */
.service {
    position: relative;
    width: 100%;
    padding: 60px 0;
    overflow: hidden;
    background-color: #ffffff;
}

.service__watermark {
    position: absolute;
    top: -38px;
    left: 14px;
    right: 0;
    z-index: 0;
    margin: auto;
    padding: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 900;
    font-size: 160px;
    line-height: 1;
    letter-spacing: 16px;
    color: #d9d9d9;
    opacity: 0.3;
    white-space: nowrap;
    pointer-events: none;
    width: fit-content;
}

.service__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
    width: 1140px;
    margin: 0 auto;
    box-sizing: border-box;
}

.service__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.service__sub {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: normal;
    color: #484848;
}

.service__heading {
    margin: 0;
    line-height: normal;
}

.service__heading-accent {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 58px;
    line-height: normal;
    color: #3db33d;
}

.service__heading-rest {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 42px;
    line-height: normal;
    color: #484848;
}

.service__list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    align-items: flex-start;
    justify-content: flex-start;
    width: 1140px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.service__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    box-sizing: border-box;
    width: 270px;
    min-height: 312px;
    padding: 40px 20px 20px;
    border-radius: 20px;
    background-color: #def3e4;
}

.service__badge {
    position: absolute;
    top: -20px;
    left: 16px;
    margin: 0;
    padding: 3px 20px 5px;
    border-radius: 30px;
    background-color: #3db33d;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: normal;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}

.service__item--02 .service__badge,
.service__item--03 .service__badge {
    left: 39px;
    padding: 3px 30px 5px;
}

.service__item--04 .service__badge {
    left: 14px;
    padding: 3px 33px 5px;
}

.service__icon-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 150px;
    overflow: hidden;
    border-radius: 50%;
    background-color: #ffffff;
}

.service__icon {
    display: block;
    width: 150px;
    height: 150px;
    object-fit: contain;
}

.service__body {
    width: 100%;
}

.service__text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.6;
    color: #484848;
    text-align: center;
}

/* ========================================= */
/* flow（Figma 7432:4201） */
/* 背景 #def3e4 / py60 / 見出し〜ステップ gap40 */
/* 英字 FLOW: 160px #c2d5ca opacity30% letter-spacing16px */
/* サブ24 Bold / 見出し42 + 強調58 #3db33d */
/* レール70 + gap20 + カード可変幅（計1140内）/ 番号丸70 #3db33d 数字36 Black */
/* 白カード: 01のみ角丸30 他20 / padding30 / 画像270 #f5f5f5 角10 / 見出し24 Bold #3db33d */
/* 番号付き灰箱 #f6f6f6 角10 px20 py15 gap5 / 丸番22 #ffa679 字16 */
/* ========================================= */
.flow {
    position: relative;
    width: 100%;
    padding: 60px 0 57px;
    overflow: hidden;
    background: url(../images/flow.webp) center /cover no-repeat;
}

.flow__watermark {
    position: absolute;
    top: -34px;
    left: 18px;
    right: 0;
    z-index: 0;
    margin: auto;
    padding: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 900;
    font-size: 160px;
    line-height: 1;
    letter-spacing: 16px;
    color: #c2d5ca;
    opacity: 0.3;
    white-space: nowrap;
    pointer-events: none;
    width: fit-content;
}

.flow__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 1140px;
    margin: 0 auto;
    box-sizing: border-box;
}

.flow__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.flow__sub {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: normal;
    color: #484848;
}

.flow__title {
    margin: 0;
    line-height: normal;
}

.flow__title-text {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 42px;
    line-height: normal;
    color: #484848;
}

.flow__title-accent {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 58px;
    line-height: normal;
    color: #3db33d;
}

.flow__steps {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 1140px;
    position: relative;
}
.flow__steps::before {
    content: '';
    position: absolute;
    top: -80px;
    right: 12px;
    width: 206px;
    height: 176px;
    background: url(../images/flow-top.svg) center / cover no-repeat;
    z-index: 1;
}
.flow__steps::after {
    content: '';
    position: absolute;
    bottom: -58px;
    left: 19px;
    width: 131px;
    height: 134px;
    background: url(../images/flow-bottom.svg) center / cover no-repeat;
    z-index: 1;
}

.flow__step {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 35px;
    align-items: stretch;
}

.flow__marker {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 70px;
    min-height: 70px;
}

.flow__num {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 70px;
    height: 70px;
    padding-bottom: 4px;
    border-radius: 35px;
    background-color: #3db33d;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 900;
    font-size: 36px;
    line-height: 1;
    color: #ffffff;
    z-index: 1;
}

.flow__marker-line {
    position: absolute;
    top: 130px;
    bottom: 0;
    left: 50%;
    z-index: 0;
    width: 2px;
    height: 360px;
    margin-left: -1px;
    background-color: #A9C7A9;
}

.flow__step--last .flow__marker-line {
    display: none;
}

.flow__card {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 29px;
    border-radius: 30px;
    align-items: center;
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
    padding: 31px 30px;
    background-color: #ffffff;
}

.flow__figure {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 273px;
    /* min-height: 170px; */
}

.flow__figure-cap {
    position: absolute;
    /* inset: 0; */
    /* z-index: 2; */
    /* display: flex; */
    /* align-items: center; */
    /* justify-content: center; */
    /* margin: 0; */
    /* font-family: 'Zen Kaku Gothic New', sans-serif; */
    /* font-weight: 500; */
    /* font-size: 18px; */
    /* line-height: normal; */
    /* color: #ffffff; */
    /* text-align: center; */
    /* pointer-events: none; */
}

.flow__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
    min-width: 0;
}

.flow__card-ttl {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.3;
    color: #3db33d;
}

.flow__card-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}

.flow__lead-text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.6;
    color: #484848;
}

.flow__lead-text--multi .flow__lead-p {
    margin: 0;
}

.flow__lead-text--multi .flow__lead-p + .flow__lead-p {
    margin-top: 0;
}

.flow__numbered {
    display: flex;
    flex-direction: column;
    gap: 5px;
    box-sizing: border-box;
    width: 100%;
    padding: 15px 15px 15px 20px;
    border-radius: 10px;
    background-color: #f6f6f6;
}

.flow__numbered-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    align-items: center;
}

.flow__numbered-badge {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 11px;
    background-color: #ffa679;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    color: #ffffff;
    padding: 0 0 2px 1px;
}

.flow__numbered-text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.6;
    color: #484848;
}

.flow__hearing {
    display: flex;
    flex-direction: column;
    gap: 13px;
    box-sizing: border-box;
    width: 100%;
    padding: 8px 18px 15px;
    border-radius: 10px;
    background-color: #f6f6f6;
}

.flow__hearing-ttl {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: normal;
    color: #484848;
}

.flow__hearing-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px 10px;
    align-items: flex-start;
    margin: 0;
    padding: 0;
    list-style: none;
}

.flow__hearing-item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    align-items: center;
    width: 304px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.3;
    color: #484848;
}

.flow__hearing-item--wide {
    width: 100%;
    max-width: 634px;
    padding-top: 0px;
}

.flow__check {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    background: url(../images/check-icon.svg) center / cover no-repeat;
}

.flow__option-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px 15px;
    align-items: flex-start;
    margin: 8px 0 0;
    padding: 10px 20px;
    border-radius: 10px;
    list-style: none;
    background-color: #f6f6f6;
}

.flow__option-item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    align-items: center;
    width: 304px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.6;
    color: #484848;
}

/* ========================================= */
/* reasons（Figma 7435:1655） */
/* 背景白 / py60 / 見出し〜カード群 gap40 */
/* 英字 REASONS: 160px #d9d9d9 opacity30% letter-spacing16px */
/* カード: W1140 H280 / bg #f8ffef / radius20 / px40 py30 / media 380x220 */
/* 見出し24 Bold #3db33d / 本文18 Medium line-height1.6 */
/* 左上番号: 65x65 #3db33d / rounded-tl20 rounded-br20 / 32px Bold 白 */
/* ========================================= */
.reasons {
    position: relative;
    width: 100%;
    padding: 60px 0 57px;
    overflow: hidden;
    background-color: #ffffff;
}

.reasons__watermark {
    position: absolute;
    top: -39px;
    left: 15px;
    right: 0;
    margin: auto;
    z-index: 0;
    padding: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 900;
    font-size: 160px;
    line-height: 1;
    letter-spacing: 16px;
    color: #d9d9d9;
    opacity: 0.3;
    white-space: nowrap;
    pointer-events: none;
    width: fit-content;
}

.reasons__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 1140px;
    margin: 0 auto;
}

.reasons__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.reasons__sub {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: normal;
    color: #484848;
}

.reasons__title {
    margin: 0;
    line-height: normal;
}

.reasons__title-accent {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 58px;
    line-height: normal;
    color: #3db33d;
}

.reasons__title-rest {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 42px;
    line-height: normal;
    color: #484848;
}

.reasons__contents {
    display: flex;
    flex-direction: column;
    gap: 19px;
    width: 1140px;
}

.reasons__card {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 30px;
    box-sizing: border-box;
    width: 1140px;
    min-height: 280px;
    padding: 30px 40px;
    border-radius: 20px;
    background-color: #f8ffef;
}

.reasons__media {
    flex-shrink: 0;
    overflow: hidden;
    width: 380px;
    height: 220px;
    border-radius: 10px;
    background-color: #f1f1f1;
}

.reasons__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reasons__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 15px;
    min-width: 0;
}

.reasons__card-ttl {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.3;
    color: #3db33d;
}

.reasons__text {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.6;
    color: #484848;
}

.reasons__num {
    position: absolute;
    top: 0px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 65px;
    height: 65px;
    margin: 0;
    padding-top: 0px;
    border-radius: 20px 0 20px 0;
    background-color: #3DB33D;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 1.3;
    color: #ffffff;
}

/* ========================================= */
/* support（Figma 7435:1741） */
/* 背景 #def3e4 / section H836相当 / 内側W1140 */
/* headline: SUPPORT 160px #c2d5ca(30%) / 見出し 24 + 58/42 */
/* feature box: W1050 H225 / 3カラム 330x165 */
/* howto box: W1140 H302 / 緑 #1db85c / ttl pill 270x50 */
/* ========================================= */
.support {
    position: relative;
    width: 100%;
    padding: 60px 0 40px;
    overflow: hidden;
    background-color: #def3e4;
}

.support__watermark {
    position: absolute;
    top: -37px;
    left: 3px;
    right: 0;
    z-index: 0;
    margin: auto;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 900;
    font-size: 160px;
    line-height: 1;
    letter-spacing: 16px;
    color: #c2d5ca;
    opacity: 0.3;
    pointer-events: none;
    width: fit-content;
}

.support__inner {
    position: relative;
    z-index: 1;
    width: 1140px;
    margin: 0 auto;
}

.support__lead {
    text-align: center;
}

.support__sub {
    margin: 0;
    font-size: 24px;
    line-height: normal;
    font-weight: 700;
    color: #484848;
}

.support__title {
    margin: 0;
    line-height: normal;
}

.support__title-accent {
    font-size: 58px;
    line-height: normal;
    font-weight: 700;
    color: #3db33d;
}

.support__title-rest {
    font-size: 42px;
    line-height: normal;
    font-weight: 700;
    color: #484848;
}

.support__illust {
    position: absolute;
    top: 8px;
    display: block;
    pointer-events: none;
}


.support__illust--right {
    right: 123px;
}

.support__feature-wrap {
    display: flex;
    width: 1050px;
    margin: 40px auto 50px;
    padding: 30px;
    border-radius: 20px;
    background-color: #ffffff;
    position: relative;
}
.support__feature-wrap::before {
    content: '';
    position: absolute;
    top: -140px;
    left: 38px;
    width: 153px;
    height: 153px;
    background: url(../images/support01.svg) center / cover no-repeat;
    z-index: -1;
}

.support__feature {
    width: 330px;
    min-height: 165px;
    padding: 0 0 0;
    text-align: center;
}

.support__feature--center {
    border-left: 1px solid #efefef;
    border-right: 1px solid #efefef;
}

.support__feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    /* background-color: #ffa679; */
    /* color: #ffffff; */
    font-size: 18px;
    line-height: 1;
    font-weight: 700;
}

.support__feature-ttl {
    margin: 10px 0 5px;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
    color: #3db33d;
    letter-spacing: 0;
    /* transform: scale(0.5714); */
    /* transform-origin: top center; */
    /* white-space: nowrap; */
}

.support__feature-text {
    margin: 0px 0 0;
    font-size: 18px;
    line-height: 1.6;
    font-weight: 500;
    color: #484848;
}

.support__howto {
    margin-top: 30px;
    position: relative;
}

.support__howto .howtoadd__wrap {
    width: 1140px;
}

.support__howto .howtoadd__ttl {
    top: -20px;
}

.support__howto .howtoadd__card-inner--2 {
    padding: 35px 35px 40px 30px;
}

.support__howto .howtoadd__illust--left {
    left: -35px;
}

.support__howto .howtoadd__illust--right {
    right: -35px;
}
.support__howto--last .howtoadd__ttl {
    top: -28px;
    left: 278px;
    right: 0;
    margin: auto;
    width: fit-content;
}
.support__howto--last .howtoadd__panel {
    min-height: 270px;
    padding: 50px 76px 49px;
}