@charset "utf-8";

/*
 * 転勤族のためのお部屋さがしNAVI（PC）
 * Figma: jogjog.com node 28008:130093
 */

#content {
    width: 100%;
}

#contents {
    width: 100%;
    padding-bottom: 0;
}

.relocation-navi {
    width: 100%;
    background-color: #fff;
    padding-bottom: 0;
    overflow: hidden;
}

/* メインビジュアル（Figma: W1920 H470） */
.mv--relocation-navi {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden;
}

.mv--relocation-navi .mv__h1-image {
    margin: 0;
    line-height: 0;
}

.mv--relocation-navi .mv__h1-image img {
    display: block;
    width: 100%;
    height: 470px;
    object-fit: cover;
}

/* ---------- イントロ（Figma Frame 1501: pt 40px / gap 20px） ---------- */
.relocation-navi .intro {
    width: 100%;
    box-sizing: border-box;
    padding: 40px 0 0;
}

.relocation-navi .intro__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 550px;
    margin: 0 auto;
}

.relocation-navi .intro__text {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.79;
    color: #333333;
    text-align: center;
}

.relocation-navi .intro__text + .intro__text {
    margin-top: 0;
}

.relocation-navi .intro__bubble {
    position: relative;
    margin: 20px 0 0;
    padding: 14px 23px 14px 26px;
    background-color: #f6e24c;
    border-radius: 9999px;
    text-align: center;
}

.relocation-navi .intro__bubble-text {
    margin: 0;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
    color: #000000;
}

.relocation-navi .intro__bubble::after {
    content: '';
    position: absolute;
    left: 3px;
    right: 0;
    bottom: -7px;
    margin: auto;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 10px solid #f6e24c;
}

/* ---------- フロー（Figma column: W1140） ---------- */
.relocation-navi .flow {
    width: 100%;
    box-sizing: border-box;
    padding: 0 0 60px;
}

.relocation-navi .flow__inner {
    width: 1140px;
    margin: 0 auto;
}

/* ---------- フローマップ（Figma Frame 1364: W1140 H212 / gap 20px） ---------- */
.relocation-navi .flow__map {
    position: relative;
    margin-top: 40px;
    width: 1140px;
    min-height: 212px;
}

.relocation-navi .flow__map-items {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    position: relative;
    z-index: 1;
}

.relocation-navi .flow__map-item {
    width: 270px;
    min-height: 96px;
    box-sizing: border-box;
    background-color: #feffd6;
    border: 1px solid #eaeaea;
    border-radius: 10px;
    text-align: center;
    padding: 19px 10px;
    position: relative;
    color: inherit;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.relocation-navi .flow__map-item:focus-visible {
    outline: 2px solid #f6e24c;
    outline-offset: 2px;
}
.relocation-navi .flow__map-item:hover {
    transform: translateY(4px);
}

.relocation-navi .flow-step[id] {
    scroll-margin-top: 20px;
}

.relocation-navi .flow__map-num {
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    background-color: #f6e24c;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000000;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    position: static;
    margin: 0;
    padding-bottom: 2px;
}

.relocation-navi .flow__map-text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #000000;
    min-height: auto;
    display: block;
}

.relocation-navi .flow__map-lines {
    position: absolute;
    top: 0;
    left: -390px;
    width: 1920px;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

.relocation-navi .flow__map-line {
    position: absolute;
    height: 1px;
    background-color: #f6e24c;
}

.relocation-navi .flow__map-line--1 {
    top: 48px;
    left: 450px;
    width: 1470px;
}

.relocation-navi .flow__map-line--2 {
    top: 167px;
    left: 0;
    width: 1165px;
}

.relocation-navi .flow__map-line--3 {
    display: none;
}

.relocation-navi .flow__map-line--4 {
    display: none;
}

.relocation-navi .flow__illustration {
    position: absolute;
    right: 66px;
    top: 140px;
    width: 108px;
    height: 97px;
    z-index: 2;
    pointer-events: none;
}

.relocation-navi .flow__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* ---------- 事前確認（Figma servicelineup_item） ---------- */
.relocation-navi .prep {
    margin-top: 30px;
}

.relocation-navi .prep__block {
    padding-bottom: 30px;
    border-bottom: 1px solid #eaeaea;
}

.relocation-navi .prep__block + .prep__block {
    margin-top: 30px;
}

.relocation-navi .prep__title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: #d83c3c;
}

.relocation-navi .prep__text {
    margin: 10px 0 0 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
}

.relocation-navi .prep__list {
    margin: 12px 0 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 35px;
}

.relocation-navi .prep__item {
    display: flex;
    gap: 4px;
    align-items: flex-start;
    width: 296px;
}

.relocation-navi .prep__item:nth-child(2),
.relocation-navi .prep__item:nth-child(4) {
    width: 514px;
}

.relocation-navi .prep__item + .prep__item {
    margin-top: 0;
}

.relocation-navi .prep__check {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    background: url(/images/pc/relocation-navi/icon_check.webp) no-repeat center center / contain;
    margin-top: 2px;
}

.relocation-navi .prep__item-text {
    flex: 1;
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
}

/* ---------- フロー詳細ステップ ---------- */
.relocation-navi .flow__steps {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.relocation-navi .flow-step {
    position: relative;
    z-index: 1;
    padding-bottom: 40px;
}

.relocation-navi .flow-step--last {
    padding-bottom: 0;
}

.relocation-navi .flow-step__head {
    display: flex;
    gap: 8px;
    align-items: center;
}

.relocation-navi .flow-step__num {
    width: 36px;
    height: 36px;
    border-radius: 9999px;
    background-color: #f6e24c;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000000;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    flex-shrink: 0;
    padding-bottom: 2px;
}

.relocation-navi .flow-step__title {
    margin: 0;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
    color: #333333;
}

.relocation-navi .flow-step__body {
    margin-top: 8px;
    margin-left: 44px;
}

.flow-step--last .flow-step__body {
    margin-top: 11px;
}

.relocation-navi .flow-step__lead {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
}

.relocation-navi .flow-step__note {
    margin: 4px 0 0 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: #9e9e9e;
}

.relocation-navi .flow-step__lead--accent {
    margin: 0 0 15px 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: #d83c3c;
}

.flow-step--last .flow-step__lead--accent {
    margin-bottom: 9px;
}

.relocation-navi .flow-step__sub {
    margin-top: 15px;
}

.relocation-navi .flow-step__sub + .flow-step__sub {
    margin-top: 15px;
}

.relocation-navi .flow-step__sub-head {
    display: flex;
    gap: 5px;
    align-items: flex-start;
    margin: 0;
}

.relocation-navi .flow-step__sub-num {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #d83c3c;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    color: #d83c3c;
    margin-top: 4px;
    padding: 5px 6px 7px;
    box-sizing: border-box;
}

.relocation-navi .flow-step__sub-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #d83c3c;
}

.relocation-navi .flow-step__text {
    margin: 5px 0 0 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
}

.relocation-navi .flow-step__highlight {
    margin-top: 5px;
    margin-bottom: 2px;
    padding: 20px;
    background-color: #feffd6;
    border-radius: 10px;
}

.relocation-navi .flow-step__highlight-title {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #d83c3c;
}

.relocation-navi .flow-step__highlight-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.relocation-navi .flow-step__highlight-item {
    display: flex;
    gap: 5px;
    align-items: flex-start;
}

.relocation-navi .flow-step__highlight-item + .flow-step__highlight-item {
    margin-top: 8px;
}

.relocation-navi .flow-step__highlight-num {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 4px;
    border: 1px solid #d83c3c;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    color: #d83c3c;
    padding: 5px 6px 7px;
    box-sizing: border-box;
}

.relocation-navi .flow-step__highlight-text {
    flex: 1;
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
}

.relocation-navi .flow-step__highlight + .flow-step__highlight {
    margin-top: 2px;
    border-radius: 0 0 10px 10px;
}

.relocation-navi .flow-step__highlight:first-of-type {
    border-radius: 10px 10px 0 0;
}

.relocation-navi .flow-step__highlight:only-of-type {
    border-radius: 10px;
}

.relocation-navi .flow-step__disclaimer {
    margin: 8px 0 0 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.25;
    color: #9e9e9e;
    text-indent: -1em;
    padding-left: 1em;
}

.relocation-navi .flow-step__line {
    position: absolute;
    top: 0;
    left: 16px;
    bottom: 0;
    width: 1px;
    background-color: #f6e24c;
    z-index: -1;
}

.relocation-navi .flow-step--last .flow-step__line {
    display: none;
}

.relocation-navi .flow-step[id]::before {
    content: none;
}

/* お急ぎボックス（Figma Frame 1525: 左テキスト / 右ボタン） */
.relocation-navi .urgent {
    margin-top: 15px;
    padding: 15px 30px 15px;
    background-color: #feffd6;
    border-radius: 10px;
    display: grid;
    grid-template-columns: 1fr 272px;
    grid-template-rows: auto auto;
    column-gap: 24px;
    align-items: center;
    text-align: left;
    margin-bottom: 17px;
}

.urgent__left {
    border-right: 1px solid #EAEAEA;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.relocation-navi .urgent__title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    color: #d83c3c;
    grid-column: 1;
    grid-row: 1;
    padding-top: 3px;
}

.relocation-navi .urgent__text {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    color: #333333;
    grid-column: 1;
    grid-row: 2;
}

.relocation-navi .urgent__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 273px;
    height: 45px;
    margin: 0;
    padding: 0 30px;
    box-sizing: border-box;
    background-color: #f6e24c;
    border-radius: 6px;
    box-shadow: 0 3px 5px rgba(38, 50, 56, 0.08);
    text-decoration: none;
    color: #000000;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    border-left: 1px solid #eaeaea;
}

.relocation-navi .urgent__btn:hover {
    transform: translateY(4px);
}

.relocation-navi .urgent__btn--first {
    margin-top: 0;
    margin-bottom: 0;
}

.relocation-navi .urgent__btn-icon {
    position: absolute;
    right: 3px;
    bottom: 3px;
    width: 12px;
    height: 12px;
}

/* コミュニティカード（Figma communitybased_item: W543） */
.relocation-navi .community {
    margin-top: 15px;
    padding: 28px 30px 25px;
    background-color: #fff3e9;
    border-radius: 10px;
    box-sizing: border-box;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 24px;
}

.relocation-navi .community + .community {
    margin-top: 15px;
}

.community__wrapper {
    display: flex;
    gap: 16px;
    width: 100%;
}

#relocation-navi-step-2 .flow-step__body {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-left: 38px;
}

#relocation-navi-step-2 .flow-step__lead,
#relocation-navi-step-2 .flow-step__sub,
#relocation-navi-step-2 .urgent,
#relocation-navi-step-2 .advice {
    width: 100%;
}

#relocation-navi-step-2 .flow-step__sub--first {
    margin-top: 18px;
}

#relocation-navi-step-2 .community {
    margin-top: 0;
}
.community__text__wrap {
    width: 750px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    border-right: 1px solid #EAEAEA;
}
.relocation-navi .community__title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    color: #f08c34;
}

.relocation-navi .community__badge-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.relocation-navi .community__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1px 15px 2px;
    background-color: #ffffff;
    border-radius: 9999px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
    color: #f08c34;
    flex-shrink: 0;
}

.relocation-navi .community__rule {
    width: 100%;
    height: 1px;
    margin: 12px 0 10px;
    background-color: #eaeaea;
    border: none;
}

.relocation-navi .community__text {
    margin: 0;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
    padding: 0 2px;
}

.relocation-navi .community__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 270px;
    height: 40px;
    padding: 0 40px;
    box-sizing: border-box;
    background-color: #d83c3c;
    border-radius: 9999px;
    text-decoration: none;
    color: #ffffff;
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
}

.relocation-navi .community__btn:hover {
    transform: translateY(4px);
}

.relocation-navi .community__btn-icon {
    position: absolute;
    right: 14px;
    width: 7px;
    height: 10px;
}

/* 知っとこアドバイス（Figma Frame 1499: 横並び） */
.relocation-navi .advice {
    position: relative;
    margin-top: 5px;
    padding: 24px 30px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 25px;
    text-align: left;
    box-sizing: border-box;
}

.relocation-navi .advice--dedicated {
    margin-top: 15px;
}

.relocation-navi .advice--mamasan,
.relocation-navi .advice--kutshunosoko,
.relocation-navi .advice--nagerutohaku,
.relocation-navi .advice--oshechi {
    margin-top: 15px;
}

.relocation-navi .advice__bg {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: #feffd6;
    border-radius: 10px;
    z-index: 0;
}

.relocation-navi .advice__head {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
    width: 267px;
}

.relocation-navi .advice__bubble {
    position: relative;
    padding: 6px 13px 6px 16px;
    background-color: #f6e24c;
    border-radius: 9999px;
}

.relocation-navi .advice__bubble-text {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: #000000;
    white-space: nowrap;
}

.relocation-navi .advice__bubble::after {
    content: '';
    position: absolute;
    left: 3px;
    right: 0;
    bottom: -7px;
    margin: auto;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 10px solid #f6e24c;
}

.relocation-navi .advice__title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: #333333;
}

.relocation-navi .advice__illust {
    position: absolute;
    top: -15px;
    right: -15px;
    width: 86px;
    height: 97px;
    z-index: 2;
    pointer-events: none;
}

.relocation-navi .advice__illust img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.relocation-navi .advice__content {
    position: relative;
    z-index: 1;
    margin-top: 0;
    flex: 1;
    padding-left: 25px;
    border-left: 1px solid #eaeaea;
}

.relocation-navi .advice__theme {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #f08c34;
}

.relocation-navi .advice__text {
    margin: 6px 0 0 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
}

/* サービスCTA */
.relocation-navi .service-cta {
    margin-top: 15px;
    padding-top: 0;
    border-top: none;
}

#relocation-navi-step-6 .service-cta {
    margin-top: 15px;
    padding-top: 0;
}

.relocation-navi .service-cta__title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: #d83c3c;
}

.relocation-navi .service-cta__text {
    margin: 10px 0 0 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
}

.relocation-navi .service-cta__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 270px;
    height: 40px;
    margin-top: 10px;
    padding: 0 65px;
    box-sizing: border-box;
    background-color: #d83c3c;
    border-radius: 9999px;
    text-decoration: none;
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
}

.relocation-navi .service-cta__btn:hover {
    transform: translateY(4px);
}

.relocation-navi .service-cta__btn-icon {
    position: absolute;
    right: 19px;
    width: 14px;
    height: 14px;
}

/* ステップ3：ハイライト内ボタン */
#relocation-navi-step-3 .flow-step__highlight .urgent__btn {
    width: 273px;
    height: 45px;
    margin: 10px 0 0 0;
}

#relocation-navi-step-3 .flow-step__highlight .flow-step__text {
    margin-top: 7px;
}
