@charset "utf-8";

/*===============================
font-face
===============================*/
@font-face {
    font-family: "Roboto";
    src: url(/fonts/roboto-v51-latin-regular.woff2);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: url(/fonts/roboto-v51-latin-600.woff2);
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: url(/fonts/roboto-v51-latin-700.woff2);
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/noto-sans-jp-v56-japanese_latin-regular.woff2);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/noto-sans-jp-v56-japanese_latin-500.woff2);
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/noto-sans-jp-v56-japanese_latin-600.woff2);
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/noto-sans-jp-v56-japanese_latin-700.woff2);
    font-weight: 700;
    font-display: swap;
}

body {
	-webkit-text-size-adjust: 100%;
}

#content,
#contents {
    width: 100%;
    padding: 0;
}

#contents * {
    font-family: "Noto Sans JP", sans-serif;
    box-sizing: border-box;
}

.l-main {
    width: auto;
    padding: 0;
    margin: 0;
    overflow: hidden;
    background: #fff;
}

[id="top"],
[id="no-fee"],
[id="reason"],
[id="flow"],
[id="faq"] {
    scroll-margin-top: 100px;
}

/* カード・CTAホバー：上に10px浮く（トップ準拠） */
.main__link--line,
.reason__company-link--line,
.property__card,
.voice__card,
.contact__line-link {
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.main__link--line:hover,
.reason__company-link--line:hover,
.property__card:hover,
.voice__card:hover,
.contact__line-link:hover {
    opacity: 1;
    transform: translateY(-10px);
}

/* ボタンホバー：色反転リップル（トップ準拠・矢印はmask） */
.main__link--search,
.reason__company-link--search,
.flow__bottom-link,
.property__tab,
.property__more-link,
.voice__more-link,
.faq__more-link,
.contact__action-link {
    --btn-ripple: #fff;
    --btn-hover-text: #074b9f;
    position: relative;
    z-index: 2;
    overflow: hidden;
    transition-duration: 0.4s;
}
.flow__bottom-link {
    --btn-hover-text: #00c3ce;
}
.property__tab {
    --btn-ripple: #074b9f;
    --btn-hover-text: #fff;
}
.contact__action-link--mail {
    --btn-hover-text: #00c3ce;
}
.contact__action-link--reserve {
    --btn-hover-text: #ff8000;
}
.main__link--search::after,
.reason__company-link--search::after,
.flow__bottom-link::after,
.property__tab::after,
.property__more-link::after,
.voice__more-link::after,
.faq__more-link::after,
.contact__action-link::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 100%;
    border-radius: 50%;
    background-color: var(--btn-ripple);
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.1);
    transition: opacity 0.5s, transform 0s;
    transition-delay: 0s, 0.4s;
    pointer-events: none;
    font-size: 0;
}
.main__link--search:hover,
.reason__company-link--search:hover,
.flow__bottom-link:hover,
.property__tab:hover,
.property__more-link:hover,
.voice__more-link:hover,
.faq__more-link:hover,
.contact__action-link:hover {
    opacity: 1;
}
.main__link--search:hover::after,
.reason__company-link--search:hover::after,
.flow__bottom-link:hover::after,
.property__tab:hover::after,
.property__more-link:hover::after,
.voice__more-link:hover::after,
.faq__more-link:hover::after,
.contact__action-link:hover::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(3);
    transition: opacity 0.8s, transform 0.6s ease-in-out;
    transition-delay: 0s;
}
.main__link--search .main__link-ttl,
.reason__company-link--search .reason__company-link-ttl,
.flow__bottom-link-ttl,
.property__more-txt,
.voice__more-txt,
.faq__more-txt,
.contact__action-ttl {
    position: relative;
    z-index: 1;
    transition: color 0.4s;
}
.flow__bottom-arrow,
.property__more-arrow,
.voice__more-arrow,
.faq__more-arrow,
.contact__action-arrow {
    z-index: 1;
    background-color: currentColor;
    color: #fff;
    transition: color 0.4s;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-image: url("../images/btn_arrow.svg");
    mask-image: url("../images/btn_arrow.svg");
}
.reason__company-search-icon {
    z-index: 1;
    background-color: currentColor;
    color: #fff;
    transition: color 0.4s;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-image: url("../images/icon_search.svg");
    mask-image: url("../images/icon_search.svg");
}
.main__link-arrow {
    position: relative;
    z-index: 1;
    border-radius: 9999px;
    background-color: #fff;
    transition: background-color 0.4s;
}
.main__link-arrow::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #074b9f;
    transition: background-color 0.4s;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-image: url("../images/mv_arrow_mask.svg");
    mask-image: url("../images/mv_arrow_mask.svg");
}
.main__link--search:hover .main__link-ttl,
.reason__company-link--search:hover .reason__company-link-ttl,
.reason__company-link--search:hover .reason__company-search-icon,
.flow__bottom-link:hover .flow__bottom-link-ttl,
.flow__bottom-link:hover .flow__bottom-arrow,
.property__more-link:hover .property__more-txt,
.property__more-link:hover .property__more-arrow,
.voice__more-link:hover .voice__more-txt,
.voice__more-link:hover .voice__more-arrow,
.faq__more-link:hover .faq__more-txt,
.faq__more-link:hover .faq__more-arrow,
.contact__action-link:hover .contact__action-ttl,
.contact__action-link:hover .contact__action-arrow {
    color: var(--btn-hover-text);
}
.main__link--search:hover .main__link-arrow {
    background-color: #074b9f;
}
.main__link--search:hover .main__link-arrow::before {
    background-color: #fff;
}
.property__tab:hover {
    color: var(--btn-hover-text);
}
.property__tab--active:hover {
    opacity: 1;
    color: #fff;
	cursor: default;
}
.property__tab--active:hover::after {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.1);
    transition: none;
}

/*//////////////////// MV ////////////////////*/
.main__box {
    position: relative;
    width: 100%;
    margin: 0 auto;
    background-color: #DCFAFB;
}
    .main__img {
        margin: 0;
        line-height: 0;
		width: 100%;
    }
        .main__img img {
            display: block;
            width: 100%;
            height: 100%;
        }
    /* 1920pxデザイン基準でMV幅に追従 */
    .main__content {
        position: relative;
        width: 49.479vw;
        margin: 0 auto;
    }
        .main__contact {
            position: absolute;
            top: -18.646vw;
            left: 50%;
            z-index: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1.042vw;
            width: 49.479vw;
            transform: translateX(-50%);
        }
            .main__btn {
                margin: 0;
            }
                .main__link--line {
                    display: block;
                    width: 30.208vw;
                    height: 5.885vw;
                    text-decoration: none;
					margin: 3px 0 0;
                }
                    .main__link--line img {
                        display: block;
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                    }
                .main__link--search {
                    display: flex;
                    align-items: baseline;
                    justify-content: center;
                    gap: 0.625vw;
                    width: 18.229vw;
                    height: 4.323vw;
                    padding: 0.573vw 1.042vw 0 1.458vw;
                    border-radius: 0.417vw;
                    background-color: #074b9f;
                    box-shadow: 0.156vw 0.156vw 0.104vw rgba(0, 0, 0, 0.1);
                    text-decoration: none;
                    box-sizing: border-box;
                }
                    .main__link--search .main__link-ttl {
                        display: block;
                        width: 12.604vw;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 1.25vw;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0;
                        color: #fff;
                        text-align: center;
                        white-space: nowrap;
                    }
                    .main__link--search .main__link-ttl .main-num__txt {
                        font-size: 2.292vw;
                    }
                    .main__link--search .main__link-arrow {
                        display: block;
                        width: 2.5vw;
                        height: 1.25vw;
                        line-height: 0;
                        flex-shrink: 0;
                    }
        .bkn-num {
            position: absolute;
            left: 48.3%;
            top: -10.092vw;
            z-index: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.321vw;
            transform: translateX(7.083vw);
        }
            .bkn-num__ttl {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 16.25vw;
                height: 1.771vw;
                margin: 0;
                border-radius: 9999px;
                background-color: #074b9f;
                font-family: "Noto Sans JP", sans-serif;
                font-size: 1.042vw;
                font-weight: 500;
                line-height: 1.2;
                color: #fff;
                text-align: center;
            }
            .bkn-num__txt {
                display: flex;
                align-items: flex-end;
                gap: 0.417vw;
                margin: 0;
            }
                #contents .bkn-num__txt-num {
                    font-family: "Roboto", sans-serif;
                    font-size: 4.008vw;
                    font-weight: 600;
                    line-height: 1;
                    color: #de061f;
                }
                .bkn-num__txt-unit {
                    margin: 0 0 0.729vw;
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 1.25vw;
                    font-weight: 500;
                    line-height: 1;
                    color: #0d233d;
                }

/*//////////////////// no_fee ////////////////////*/
.section__wrapper--no-fee {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    padding: 79px 0 120px;
    background-color: #dcfafb;
}
    .no-fee__circle {
        position: absolute;
        left: 50%;
        top: 99px;
        z-index: 0;
        width: 3000px;
        height: 3000px;
        border-radius: 50%;
        background-color: #fff;
        pointer-events: none;
        transform: translateX(-50%);
    }
    .no-fee__deco {
        position: absolute;
        left: 50%;
        transform: translateX(-648px);
        top: 11px;
        z-index: 1;
        display: block;
        width: 90px;
        height: 84px;
    }
    .no-fee__whale {
        position: absolute;
        left: 50%;
        top: 166px;
        z-index: 1;
        display: block;
        width: 269px;
        height: 215px;
        transform: translateX(235px);
    }
    .section__inner--no-fee {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 1140px;
        margin: 0 auto;
        gap: 0;
    }
        .ttl__box--no-fee {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 1140px;
            gap: 138px;
        }
            .no-fee__main-ttl {
                margin: 0;
                line-height: 0;
                text-align: center;
            }
                .no-fee__main-ttl img {
                    display: block;
                    width: 733px;
                    height: 53px;
                    margin: 0 auto;
                }
            .no-fee__headline {
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: flex-start;
                margin: 0 auto 60px;
                gap: 0;
                overflow: visible;
				z-index: 1;
            }
			.no-fee__headline::before {
				position: absolute;
				content: "";
                border-radius: 50%;
                background-color: #e9feff;
                width: 180px;
				height: 180px;
				top: -28px;
				left: 50%;
				transform: translateX(-50%);
				z-index: -1;
			}
                .no-fee__headline-deco {
                    display: block;
                    width: 51px;
                    height: 16px;
                }
                .section__ttl--no-fee {
                    position: relative;
                    z-index: 1;
                    width: 361px;
                    margin: 26px 0 8px;
                    line-height: 0;
                    text-align: center;
                }
                    .section__ttl--no-fee img {
                        display: block;
                        width: 361px;
                        height: 53px;
                        margin: 0 auto;
                    }
                .section__sub-ttl--no-fee {
                    margin: 0;
                    font-family: "Roboto", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: 0.25em;
                    color: #074b9f;
                    text-align: center;
                }
        .no-fee__box {
            width: 1140px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin: 0 0 34px;
        }
            .no-fee__txt {
                margin: 0;
                font-family: "Noto Sans JP", sans-serif;
                font-size: 16px;
                font-weight: 400;
                line-height: 1.5;
                letter-spacing: 0;
                color: #0d294b;
                text-align: center;
            }
                .no-fee__txt--color {
                    font-weight: 700;
                    color: #00c3ce;
                }
        .comparison__box {
			position: relative;
			display: flex;
			align-items: flex-start;
			gap: 32px;
			width: 1140px;
			z-index: 0;
			margin: 0 0 29px;
			}
		.comparison__box::before {
			position: absolute;
			content: "";
			background: url(../images/no-fee_fish.webp) no-repeat center / cover;
			width: 279px;
			height: 137px;
			bottom: -50px;
			left: -124px;
			z-index: 1;
		}
            .comparison__company {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 24px;
                width: 554px;
                padding: 37px 40px 40px;
                border-radius: 20px;
            }
            .comparison__company--other {
                background-color: #fafafa;
            }
            .comparison__company--kujira {
                background-color: #e9feff;
            }
                .comparison__ttl {
                    margin: 0;
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 24px;
                    font-weight: 700;
                    line-height: 1;
                    letter-spacing: 0;
                    text-align: center;
                }
                .comparison__ttl--other {
                    color: #0d294b;
                }
                .comparison__ttl--kujira {
                    color: #0d294b;
                }
                    .ttl__color--kujira {
                        color: #074b9f;
                    }
                .comparison__body {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    gap: 12px;
                    width: 474px;
                }
                    .comparison__img {
                        margin: 0;
                        line-height: 0;
                    }
                        .comparison__img img {
                            display: block;
                            width: 474px;
                            height: 271px;
                        }
                    .comparison__inner {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        width: 474px;
                        min-height: 80px;
                        padding: 16px;
                        border-radius: 8px;
                        border-style: solid;
                        border-width: 1px;
                    }
                    .comparison__inner--other {
                        border-color: #e3e3e3;
                        padding: 7px 16px 16px;
                    }
                    .comparison__inner--kujira {
                        border-color: #00c3ce;
                        padding: 16px 0;
                    }
                        .comparison__txt {
                            margin: 0;
                            font-family: "Noto Sans JP", sans-serif;
                            font-size: 20px;
                            font-weight: 400;
                            line-height: 0.9;
                            letter-spacing: 0;
                            color: #333;
                            text-align: center;
                        }
                            .color__txt--other {
                                font-weight: 700;
                                color: #78909c;
                                line-height: 1.8;
                            }
                            .color__txt--kujira {
                                font-weight: 700;
                                color: #074b9f;
                            }
        .fee__reason {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 16px;
            width: 1140px;
        }
            .fee__reason-ttl {
                margin: 0;
                font-family: "Noto Sans JP", sans-serif;
                font-size: 30px;
                font-weight: 700;
                line-height: 1;
                letter-spacing: 0;
                color: #0d294b;
                text-align: center;
            }
                .fee__ttl-color {
                    color: #ff8000;
                }
            .fee__list {
                display: flex;
                align-items: stretch;
                gap: 24px;
                width: 1140px;
                margin: 0;
                padding: 0;
                list-style: none;
            }
                .fee__item {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    gap: 16px;
                    width: 364px;
                    padding: 24px;
                    border-radius: 20px;
                    background-color: #fffae8;
                }
				.fee__item:not(:first-child){
					gap: 31px;
				}
                    .fee__img {
                        margin: 0;
                        line-height: 0;
                    }
                        .fee__img img {
                            display: block;
                            width: 316px;
                            height: 180px;
                            border-radius: 8px;
                        }
                    .fee__box {
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        gap: 8px;
                        width: 316px;
                    }
					.fee__item:not(:first-child) .fee__box{
						gap: 22px;
					}
                        .fee__ttl {
                            margin: 0;
                            font-family: "Noto Sans JP", sans-serif;
                            font-size: 20px;
                            font-weight: 700;
                            line-height: 1.4;
                            letter-spacing: 0;
                            color: #ff8000;
                            text-align: center;
                        }
                        .fee__txt {
                            margin: 0;
                            font-family: "Noto Sans JP", sans-serif;
                            font-size: 16px;
                            font-weight: 400;
                            line-height: 1.64;
                            letter-spacing: 0;
                            color: #0d294b;
                            text-align: left;
                        }

/*//////////////////// comparison ////////////////////*/
.section__wrapper--comparison {
    position: relative;
    margin: 0 auto;
    padding: 169px 0 70px;
    background-color: #fff;
    z-index: 1;
}
.section__wrapper--comparison::before{
	position: absolute;
	content: "";
	background: url(../images/comparison_bg.webp) no-repeat center / cover;
	width: 100%;
	min-height: 1247px;
	top: -279px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
    .section__inner--comparison {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 1140px;
        margin: 0 auto;
        gap: 30px;
    }
        .ttl__box--comparison {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-items: center;
            gap: 62px;
            width: 1140px;
        }
            .comparison__headline {
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: flex-start;
                margin: 0 auto;
                gap: 0;
                overflow: visible;
                z-index: 1;
            }
            .comparison__headline::before {
                position: absolute;
                content: "";
                border-radius: 50%;
                background-color: #fff;
                width: 180px;
                height: 180px;
                top: -28px;
                left: 50%;
                transform: translateX(-50%);
                z-index: -1;
            }
                .comparison__headline-deco {
                    display: block;
                    width: 51px;
                    height: 16px;
                    margin: 0 auto 26px;
                }
                .section__ttl--comparison {
                    position: relative;
                    z-index: 1;
                    width: 635px;
                    margin: 0 0 12px;
                    line-height: 0;
                    text-align: center;
                }
                    .section__ttl--comparison img {
                        display: block;
                        width: 635px;
                        height: 48px;
                        margin: 0 auto;
                    }
                .section__sub-ttl--comparison {
                    margin: 0;
                    font-family: "Roboto", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: 3.5px;
                    color: #074b9f;
                    text-align: center;
                }
            .comparison__lead {
                margin: 0;
                font-family: "Noto Sans JP", sans-serif;
                font-size: 16px;
                font-weight: 400;
                line-height: 1.8;
                letter-spacing: 0;
                color: #0d294b;
                text-align: center;
            }
        .comparison__table-wrap {
            position: relative;
            width: 968px;
            margin-bottom: 120px;
        }
            .comparison__whale {
                position: absolute;
                left: -214px;
				top: 324px;
                z-index: 2;
                display: block;
                width: 264px;
                height: 219px;
                pointer-events: none;
            }
            .comparison__table {
                width: 968px;
                border-collapse: separate;
                border-spacing: 0;
                background-color: #f0f0f0;
                border-radius: 12px;
                overflow: hidden;
            }
                .comparison__table-head,
                .comparison__table-label,
                .comparison__table-cell {
                    box-sizing: border-box;
                    height: 60px;
                    padding: 0 20px;
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 20px;
                    font-weight: 700;
                    line-height: 1;
                    letter-spacing: 0;
                    vertical-align: middle;
                    white-space: nowrap;
                }
                .comparison__table-head {
                    background-color: #eeeeee;
                }
                .comparison__table-head--label {
                    width: 227px;
                    padding: 0 24px;
                    color: #616161;
                    text-align: center;
                    background-color: #eeeeee;
                }
                .comparison__table-head--a,
                .comparison__table-head--b {
                    width: 240px;
                    color: #0d294b;
                    text-align: center;
                    background-color: #eeeeee;
                }
                .comparison__table-head--b {
                    border-left: 1px solid #d4d4d4;
                    border-right: 1px solid #d4d4d4;
                }
                .comparison__table-head--kujira {
                    width: 261px;
                    color: #fff;
                    text-align: center;
                    background-color: #ff8000;
                    border: 3px solid #ff8000;
                    border-bottom: none;
                    border-radius: 12px 12px 0 0;
                }
                .comparison__table-label {
                    width: 227px;
                    padding: 0 24px;
                    font-weight: 500;
                    color: #616161;
                    text-align: center;
                    background-color: #fafafa;
                }
                .comparison__table tbody tr:nth-child(even) .comparison__table-label {
                    background-color: #f3f3f3;
                }
                .comparison__table-cell {
                    width: 240px;
                    color: #455a64;
                    text-align: right;
                    background-color: #fff;
                }
                .comparison__table-cell--b {
                    border-left: 1px solid #d4d4d4;
                    border-right: 1px solid #d4d4d4;
                }
                .comparison__table tbody tr:nth-child(even) .comparison__table-cell--a,
                .comparison__table tbody tr:nth-child(even) .comparison__table-cell--b {
                    background-color: #fafafa;
                }
                .comparison__table-cell--kujira {
                    width: 261px;
                    color: #ff8000;
                    text-align: right;
                    background-color: #fff8e9;
                    border-left: 3px solid #ff8000;
                    border-right: 3px solid #ff8000;
                    padding: 0 17px 0 0;
                }
                .comparison__table tbody tr:nth-child(even) .comparison__table-cell--kujira {
                    background-color: #fff1d4;
                }
                .comparison__table tbody tr:last-child .comparison__table-cell--kujira {
                    border-bottom: 3px solid #ff8000;
                    border-radius: 0 0 12px 12px;
                }
                .comparison__table-cell--total {
                    font-size: 24px;
                }

/*//////////////////// reason ////////////////////*/
.section__wrapper--reason {
    position: relative;
    margin: 0 auto;
    padding: 120px 0 0;
    background-color: #fff;
    z-index: 1;
}
.section__wrapper--reason::before {
	position: absolute;
	content: "";
	background: url(../images/reason_bg.webp) no-repeat center / cover;
	width: 100%;
	min-height: 806px;
	bottom: -70px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
    .section__inner--reason {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 1140px;
        margin: 0 auto;
        gap: 60px;
    }
    .reason__whale {
        position: absolute;
        left: 50%;
        top: 181px;
        z-index: 2;
        display: block;
        width: 223px;
        height: 180px;
        pointer-events: none;
		transform: translateX(406px);
    }
        .ttl__box--reason {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 1140px;
        }
            .reason__headline {
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                margin: 0 auto;
                gap: 0;
                overflow: visible;
                z-index: 1;
            }
            .reason__headline::before {
                position: absolute;
                content: "";
                border-radius: 50%;
                background-color: #e9feff;
                width: 180px;
                height: 180px;
                top: -28px;
                left: 50%;
                transform: translateX(-50%);
                z-index: -1;
            }
                .reason__headline-deco {
                    display: block;
                    width: 51px;
                    height: 16px;
                    margin: 0 auto 27px;
                }
                .section__ttl--reason {
                    position: relative;
                    z-index: 1;
                    width: 638px;
                    margin: 0 0 9px;
                    line-height: 0;
                    text-align: center;
                }
                    .section__ttl--reason img {
                        display: block;
                        width: 638px;
                        height: 52px;
                        margin: 0 auto;
                    }
                .section__sub-ttl--reason {
                    margin: 0;
                    font-family: "Roboto", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: 0.25em;
                    color: #074b9f;
                    text-align: center;
                }
        .reason__list {
            display: flex;
            align-items: stretch;
            gap: 24px;
            width: 1140px;
            margin: 0;
            padding: 0;
            list-style: none;
        }
            .reason__item {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 16px;
                width: 364px;
                padding: 24px;
                border-radius: 20px;
                background-color: #e9feff;
            }
                .reason__img {
                    margin: 0;
                    line-height: 0;
                }
                    .reason__img img {
                        display: block;
                        width: 316px;
                        height: 180px;
                        border-radius: 8px;
                    }
                .reason__box {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    gap: 8px;
                    width: 316px;
                    min-height: 214px;
                }
                    .reason__ttl {
                        margin: 0;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 20px;
                        font-weight: 700;
                        line-height: 1.3;
                        letter-spacing: 0;
                        color: #074b9f;
                        text-align: center;
                    }
                    .reason__txt {
                        margin: 0;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 16px;
                        font-weight: 400;
                        line-height: 1.64;
                        letter-spacing: 0;
                        color: #0d294b;
                        text-align: left;
                    }
                    .reason__tag {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        width: 316px;
                        min-height: 42px;
                        margin: auto 0 0;
                        padding: 10px 6px;
                        border-radius: 4px;
                        background-color: rgba(0, 195, 206, 0.08);
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 16px;
                        font-weight: 400;
                        line-height: 1.4;
                        letter-spacing: 0;
                        color: #074b9f;
                        text-align: center;
                    }
    .reason__company {
        position: relative;
        z-index: 1;
        margin: 28px auto 0;
        padding: 0 0 140px;
    }
        .reason__company-inner {
            display: flex;
            align-items: flex-start;
            justify-content: center;
            gap: 32px;
            width: 1140px;
            margin: 0 auto;
        }
            .reason__company-content {
                display: flex;
                flex-direction: column;
                justify-content: center;
                gap: 0;
                width: 335px;
                margin: 10px 0 0;
            }
                .reason__company-ttl {
                    margin: 0 0 2px;
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 24px;
                    font-weight: 700;
                    line-height: 1.3;
                    letter-spacing: 0;
                    color: #0d294b;
                    text-align: left;
                }
                    .reason__company-ttl--color {
                        color: #074b9f;
                    }
                .reason__company-txt {
                    margin: 16px 0 52px;
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.6;
                    letter-spacing: 0;
                    color: #0d294b;
                    text-align: left;
                }
                    .reason__company-txt--color {
                        font-weight: 700;
                        color: #00c3ce;
                    }
                .reason__company-actions {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    gap: 8px;
                    width: 335px;
                    padding-top: 12px;
                }
                    .reason__company-btn {
                        margin: 0;
                    }
                    .reason__company-btn--line {
                        width: 335px;
                        height: 60px;
                    }
                    .reason__company-btn--search {
                        width: 335px;
                        height: 45px;
                    }
                        .reason__company-link {
                            position: relative;
                            display: flex;
                            align-items: center;
                            text-decoration: none;
                        }
                        .reason__company-link--line {
							position: relative;
                            width: 335px;
                            height: 60px;
                            padding: 4px 16px 0 20px;
                            border-radius: 8px;
                            background-color: #06c755;
                            gap: 12px;
							z-index: 0;
                        }
						.reason__company-link--line::before {
							position: absolute;
							content: "";
							background: url(../images/whale_line.webp) no-repeat center / cover;
							width: 112px;
							height: 57px;
							top: -48px;
							right: 0;
							z-index: 0;
						}
                        .reason__company-link--search {
                            justify-content: center;
                            width: 335px;
                            height: 45px;
                            gap: 6px;
                            border-radius: 4px;
                            background-color: #074b9f;
                        }
                            .reason__company-badge {
                                position: absolute;
                                left: 12px;
                                top: -12px;
                                display: inline-flex;
                                align-items: center;
                                justify-content: center;
                                height: 26px;
                                padding: 4px 10px 4px 16px;
                                border-radius: 9999px;
                                background-color: #ff8000;
                                font-family: "Noto Sans JP", sans-serif;
                                font-size: 16px;
                                font-weight: 500;
                                line-height: 1;
                                letter-spacing: 0.05em;
                                color: #fff;
                                white-space: nowrap;
                            }
                            .reason__company-link-ttl {
                                display: block;
                                font-family: "Noto Sans JP", sans-serif;
                                font-weight: 700;
                                line-height: 1;
                                letter-spacing: 0;
                                color: #fff;
                                white-space: nowrap;
                            }
                            .reason__company-link--line .reason__company-link-ttl {
                                font-size: 24px;
                            }
                                .reason__company-link-ttl--line {
                                    font-size: 31px;
                                }
                            .reason__company-link--search .reason__company-link-ttl {
                                font-size: 16px;
                            }
                            .reason__company-arrow {
                                display: block;
                                width: 48px;
                                height: 24px;
                                margin-left: auto;
                                line-height: 0;
                                flex-shrink: 0;
                            }
                                .reason__company-arrow img {
                                    display: block;
                                    width: 48px;
                                    height: 24px;
                                }
                            .reason__company-search-icon {
                                display: block;
                                width: 20px;
                                height: 20px;
                                line-height: 0;
                                flex-shrink: 0;
                            }
            .reason__company-img {
                margin: 0;
                line-height: 0;
                flex-shrink: 0;
            }
                .reason__company-img img {
                    display: block;
                    width: 773px;
                    height: 380px;
                    border-radius: 15px;
                    object-fit: cover;
                }

/*//////////////////// flow ////////////////////*/
.section__wrapper--flow {
    position: relative;
    margin: 0 auto;
    padding: 170px 0 140px;
    z-index: 1;
}
.section__wrapper--flow::before {
	position: absolute;
	content: "";
	background: url(../images/flow_bg.webp) no-repeat center / cover;
	width: 100%;
	min-height: 1042px;
	top: -171px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	pointer-events: none;
}
    .section__inner--flow {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 1140px;
        margin: 0 auto;
        gap: 0;
    }
        .ttl__box--flow {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 1140px;
        }
            .flow__headline {
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                margin: 0 auto 60px;
                gap: 0;
                overflow: visible;
                z-index: 1;
            }
            .flow__headline::before {
                position: absolute;
                content: "";
                border-radius: 50%;
                background-color: #fff;
                width: 180px;
                height: 180px;
                top: -28px;
                left: 50%;
                transform: translateX(-50%);
                z-index: -1;
            }
                .flow__headline-deco {
                    display: block;
                    width: 51px;
                    height: 16px;
                    margin: 0 auto 27px;
                }
                .section__ttl--flow {
                    position: relative;
                    z-index: 1;
                    width: 780px;
                    margin: 0 0 12px;
                    line-height: 0;
                    text-align: center;
                }
                    .section__ttl--flow img {
                        display: block;
                        width: 780px;
                        height: 49px;
                        margin: 0 auto;
                    }
                .section__sub-ttl--flow {
                    margin: 0;
                    font-family: "Roboto", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: 0.25em;
                    color: #074b9f;
                    text-align: center;
                }
        .flow__list {
            display: flex;
            align-items: stretch;
            gap: 24px;
            width: 1140px;
            margin: 0 0 31px;
            padding: 0;
            list-style: none;
            counter-reset: flow-step;
        }
            .flow__item {
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 2px;
                width: 267px;
                padding: 20px;
                border-radius: 8px;
                background-color: #fff;
                counter-increment: flow-step;
            }
                .flow__item::before {
                    content: counter(flow-step);
                    position: absolute;
                    top: -22px;
                    left: 50%;
                    z-index: 1;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 43px;
                    height: 43px;
                    margin-left: -21.5px;
                    border-radius: 50%;
                    background-color: #074b9f;
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 24px;
                    font-weight: 700;
                    line-height: 1.3;
                    letter-spacing: 0;
                    color: #fff;
                }
                .flow__img {
                    margin: 0;
                    line-height: 0;
                }
                    .flow__img img {
                        display: block;
                        width: 80px;
                        height: 80px;
                    }
                .flow__box {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    gap: 8px;
                    width: 227px;
                }
                    .flow__ttl {
                        margin: 0;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 18px;
                        font-weight: 700;
                        line-height: 1.3;
                        letter-spacing: 0;
                        color: #074b9f;
                        text-align: center;
                    }
                    .flow__txt {
                        margin: 0;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 16px;
                        font-weight: 400;
                        line-height: 1.5;
                        letter-spacing: 0;
                        color: #0d294b;
                        text-align: center;
                    }
        .flow__bottom-wrap {
            position: relative;
            width: 1140px;
            z-index: 1;
        }
        .section__wrapper--flow::after {
            position: absolute;
            content: "";
            background: url(../images/deco_flow_01.webp) no-repeat center / cover;
            width: 100%;
            height: 208px;
            bottom: 2px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 1;
            pointer-events: none;
        }
        .flow__bottom {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 40px;
            width: 1140px;
            padding: 40px;
            border-radius: 20px;
            background-color: #fff;
            z-index: 1;
        }
            .flow__bottom-text {
                display: flex;
                flex-direction: column;
                gap: 8px;
                width: 625px;
            }
                .flow__bottom-ttl {
                    margin: 0;
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 30px;
                    font-weight: 700;
                    line-height: 1.3;
                    letter-spacing: 0;
                    color: #074b9f;
                    text-align: left;
                }
                .flow__bottom-txt {
                    margin: 0;
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.4;
                    letter-spacing: 0;
                    color: #0d294b;
                    text-align: left;
                }
            .flow__bottom-btn {
                margin: 0;
                flex-shrink: 0;
            }
                .flow__bottom-link {
                    position: relative;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 12px;
                    width: 270px;
                    height: 50px;
                    padding: 0 15px 0 14px;
                    border-radius: 4px;
                    background-color: #00c3ce;
                    box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
                    text-decoration: none;
                }
                    .flow__bottom-link-ttl {
                        display: block;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 16px;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0;
                        color: #fff;
                        text-align: center;
                        white-space: nowrap;
                    }
                    .flow__bottom-arrow {
                        display: block;
                        width: 14px;
                        height: 14px;
                        line-height: 0;
                        flex-shrink: 0;
                        position: absolute;
                        top: 0;
                        bottom: 0;
                        margin: auto;
                        right: 16px;
                    }
    .flow__fish {
        position: absolute;
        left: 1426px;
        top: 690px;
        z-index: 2;
        display: block;
        width: 189px;
        height: 54px;
        pointer-events: none;
    }

/*//////////////////// property ////////////////////*/
.section__wrapper--property {
    position: relative;
    margin: 0 auto;
    padding: 168px 0 140px;
    background-color: #fff;
	z-index: 1;
}
.section__wrapper--property::before {
	position: absolute;
	content: "";
	background: url(../images/property_bg.webp) no-repeat center / cover;
	width: 100%;
	min-height: 1588px;
	top: 0;
	left: 50%;
	transform: translate(-50%);
	z-index: -1;
}
    .property__whale {
        position: absolute;
        left: 50%;
        top: 162px;
        z-index: 2;
        display: block;
        width: 248px;
        height: 161px;
        pointer-events: none;
        transform: translateX(325px);
    }
    .section__inner--property {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 1140px;
        margin: 0 auto;
        gap: 0;
    }
        .ttl__box--property {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 1140px;
            margin: 0 auto 62px;
        }
            .property__headline {
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                margin: 0 auto;
                gap: 0;
                overflow: visible;
                z-index: 1;
            }
            .property__headline::before {
                position: absolute;
                content: "";
                border-radius: 50%;
                background-color: #e9feff;
                width: 180px;
                height: 180px;
                top: -28px;
                left: 50%;
                transform: translateX(-50%);
                z-index: -1;
            }
                .property__headline-deco {
                    display: block;
                    width: 51px;
                    height: 16px;
                    margin: 0 auto 26px;
                }
                .section__ttl--property {
                    position: relative;
                    z-index: 1;
                    width: 642px;
                    margin: 0 0 13px;
                    line-height: 0;
                    text-align: center;
                }
                    .section__ttl--property img {
                        display: block;
                        width: 642px;
                        height: 48px;
                        margin: 0 auto;
                    }
                .section__sub-ttl--property {
                    margin: 0;
                    font-family: "Roboto", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: 0.25em;
                    color: #074b9f;
                    text-align: center;
                }
        .property__tab-list {
            display: flex;
            align-items: stretch;
            justify-content: center;
            gap: 10px;
            width: 1140px;
            margin: 0 auto 30px;
            padding: 0;
            list-style: none;
        }
            .property__tab-item {
                flex: 0 0 auto;
                width: 277px;
            }
                .property__tab {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 277px;
                    height: 50px;
                    padding: 2px 16px 0;
                    border: none;
                    border-radius: 4px;
                    background-color: #f3fcff;
                    box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.05);
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1.2;
                    letter-spacing: 0;
                    color: #bfccdd;
                    text-align: center;
                    cursor: pointer;
                }
                .property__tab--active {
                    background-color: #074b9f;
                    box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
                    color: #fff;
                }
        .property__panel-wrap {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 1140px;
            gap: 32px;
        }
            .property__panel {
                width: 1140px;
            }
                .property__list {
                    display: flex;
                    flex-wrap: wrap;
                    align-items: stretch;
                    justify-content: center;
                    gap: 24px;
                    width: 1140px;
                    margin: 0;
                    padding: 0;
                }
                    .property__card {
                        position: relative;
                        width: 364px;
                        overflow: hidden;
                        border-radius: 16px;
                        background-color: #fff;
                        box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
                    }
                        .property__card-link {
                            display: flex;
                            flex-direction: column;
                            gap: 12px;
                            padding: 0 0 20px;
                            text-decoration: none;
                        }
						.property__card-link:hover,
						.voice__card-link:hover {
							opacity: 1;
						}
                            .property__card-img {
                                margin: 0;
                                line-height: 0;
								width: 364px;
								height: 243px;
                            }
                                .property__card-img img {
                                    display: block;
									width: 100%;
									height: 100%;
                                    object-fit: cover;
                                }
                            .property__card-body {
                                display: flex;
                                flex-direction: column;
                                gap: 4px;
                                width: 364px;
                                padding: 0 20px;
                            }
                                .property__card-ttl {
                                    margin: 0;
                                    overflow: hidden;
                                    font-family: "Noto Sans JP", sans-serif;
                                    font-size: 20px;
                                    font-weight: 700;
                                    line-height: 1;
                                    letter-spacing: 0;
                                    color: #0d294b;
                                    text-align: left;
                                    white-space: nowrap;
                                    text-overflow: ellipsis;
                                }
                                .property__card-price {
                                    margin: 0;
                                    padding-top: 1px;
									display: block;
									font-family: "Noto Sans JP", sans-serif;
									font-size: 16px;
									font-weight: 400;
									line-height: 1.4;
									letter-spacing: 0;
									color: #0d294b;
                                }
								.property__card-price .price {
                                        font-family: "Roboto", sans-serif;
                                        font-size: 30px;
                                        font-weight: 600;
                                        line-height: 1;
                                        letter-spacing: 0;
                                        color: #de061f;
                                    }
                                    .property__card-price-kanri {
                                        font-family: "Noto Sans JP", sans-serif;
                                        font-size: 16px;
                                        font-weight: 400;
                                        line-height: 1.4;
                                        letter-spacing: 0;
                                        color: #0d294b;
                                    }
                                .property__card-details {
                                    display: flex;
                                    flex-direction: column;
                                    gap: 9px;
                                    width: 324px;
                                }
                                    .property__card-detail {
                                        margin: 0;
                                        overflow: hidden;
                                        font-family: "Noto Sans JP", sans-serif;
                                        font-size: 16px;
                                        font-weight: 400;
                                        line-height: 1;
                                        letter-spacing: 0;
                                        color: #aeaeae;
                                        text-align: left;
                                        white-space: nowrap;
                                        text-overflow: ellipsis;
                                    }
                        .property__card-fav {
                            position: absolute;
                            top: 8px;
                            right: 8px;
                            z-index: 2;
                            display: block;
                            width: 40px;
                            height: 40px;
                            padding: 0;
                            border: none;
                            border-radius: 50%;
                            background: url("../images/favorite-icn.webp") no-repeat center / cover;
                            cursor: pointer;
                        }
                        .property__card-fav.is-checked {
                            background: url("../images/favorite-icn-on.webp") no-repeat center / cover;
                        }
            .property__more {
                margin: 0;
            }
                .property__more-link {
                    position: relative;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 12px;
                    width: 240px;
                    height: 50px;
                    margin: 0 auto;
                    padding: 0 15px;
                    border-radius: 4px;
                    background-color: #074b9f;
                    box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
                    text-decoration: none;
                }
                    .property__more-txt {
                        display: block;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 16px;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0;
                        color: #fff;
                        text-align: center;
                        white-space: nowrap;
                    }
                    .property__more-arrow {
                        display: block;
                        width: 14px;
                        height: 14px;
                        line-height: 0;
                        flex-shrink: 0;
                        position: absolute;
                        top: 0;
                        bottom: 0;
                        margin: auto;
                        right: 15px;
                    }

/*//////////////////// voice ////////////////////*/
.section__wrapper--voice {
    position: relative;
    margin: 0 auto;
    padding: 172px 0 120px;
    z-index: 1;
}
.section__wrapper--voice::before {
	position: absolute;
	content: "";
	background: url(../images/voice_bg.webp) no-repeat center / cover;
	width: 100%;
	min-height: 975px;
	top: -119px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
    .voice__whale {
        position: absolute;
        left: 50%;
        top: 170px;
        z-index: 2;
        display: block;
        width: 232px;
        height: 154px;
        pointer-events: none;
        transform: translateX(-558px) scaleX(-1);
    }
    .section__inner--voice {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 1140px;
        margin: 0 auto;
        gap: 62px;
    }
        .ttl__box--voice {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 1140px;
        }
            .voice__headline {
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                margin: 0 auto;
                gap: 0;
                overflow: visible;
                z-index: 1;
            }
            .voice__headline::before {
                position: absolute;
                content: "";
                border-radius: 50%;
                background-color: #fff;
                width: 180px;
                height: 180px;
                top: -28px;
                left: 50%;
                transform: translateX(-50%);
                z-index: -1;
            }
                .voice__headline-deco {
                    display: block;
                    width: 51px;
                    height: 16px;
                    margin: 0 auto 26px;
                }
                .section__ttl--voice {
                    position: relative;
                    z-index: 1;
                    width: 586px;
                    margin: 0 0 11px;
                    line-height: 0;
                    text-align: center;
                }
                    .section__ttl--voice img {
                        display: block;
                        width: 586px;
                        height: 49px;
                        margin: 0 auto;
                    }
                .section__sub-ttl--voice {
                    margin: 0;
                    font-family: "Roboto", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: 0.25em;
                    color: #074b9f;
                    text-align: center;
                }
        .voice__body {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 30px;
            width: 790px;
        }
            .voice__list {
                display: flex;
                align-items: flex-start;
                gap: 20px;
                width: 790px;
                margin: 0;
                padding: 0;
                list-style: none;
            }
                .voice__card {
                    position: relative;
                    width: 250px;
                    min-height: 310px;
                    filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.1));
                }
                    .voice__card-link {
                        display: block;
                        width: 250px;
                        min-height: 310px;
                        text-decoration: none;
                    }
                        .voice__card-img {
                            margin: 0;
                            width: 250px;
                            height: 250px;
                            overflow: hidden;
                            border: 2px solid #21a9b1;
                            border-radius: 50%;
                            box-sizing: border-box;
                            line-height: 0;
                        }
                        .voice__card--navy .voice__card-img {
                            border-color: #074b9f;
                        }
                            .voice__card-img img {
                                display: block;
                                width: 100%;
                                height: 100%;
                                object-fit: contain;
                                border-radius: 50%;
                            }
                        .voice__card-box {
                            position: absolute;
                            left: 5px;
                            top: 161px;
                            z-index: 1;
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            justify-content: center;
                            gap: 0;
                            width: 240px;
                            min-height: 150px;
                            padding: 24px 32px 15px;
                            background-repeat: no-repeat;
                            background-position: center top;
                            background-size: cover;
                            box-sizing: border-box;
                        }
                        .voice__card--teal .voice__card-box {
                            background-image: url("../images/voice-bg01.svg");
                        }
                        .voice__card--navy .voice__card-box {
                            background-image: url("../images/voice-bg02.svg");
                        }
                            .voice__card-profile {
                                display: flex;
                                align-items: flex-end;
                                justify-content: space-between;
                                width: 176px;
                                padding-bottom: 8px;
								border-bottom: 1px solid #3E74B7;
                            }
							.voice__card--teal .voice__card-profile {
								border-bottom: 1px solid #2A9DA4;
							}
                                .voice__card-name {
                                    display: flex;
                                    align-items: flex-end;
                                    gap: 2px;
                                    margin: 0;
                                    color: #fff;
                                    line-height: 1;
                                }
                                    .voice__card-name-main {
                                        display: block;
                                        font-family: "Noto Sans JP", sans-serif;
                                        font-size: 16px;
                                        font-weight: 500;
                                        line-height: 1;
                                        letter-spacing: 0;
                                        color: #fff;
                                        text-align: center;
                                        white-space: nowrap;
										max-width: 67px;
										overflow: hidden;
										text-overflow: ellipsis;
                                    }
                                    .voice__card-name-sama {
                                        display: block;
                                        font-family: "Noto Sans JP", sans-serif;
                                        font-size: 11px;
                                        font-weight: 500;
                                        line-height: 1;
                                        letter-spacing: 0;
                                        color: #fff;
                                        text-align: center;
                                    }
                                .voice__card-stars {
                                    display: block;
                                    width: 62px;
                                    height: 10px;
                                    line-height: 0;
                                    flex-shrink: 0;
                                }
                                    .voice__card-stars svg {
                                        display: block;
                                        width: 62px;
                                        height: 10px;
                                    }
                            .voice__card-saving {
                                display: flex;
                                align-items: flex-end;
                                justify-content: space-between;
                                width: 176px;
                                padding: 6px 0 0;
                            }
                                .voice__card-saving-label {
                                    margin: 0;
                                    font-family: "Noto Sans JP", sans-serif;
                                    font-size: 11px;
                                    font-weight: 500;
                                    line-height: 1.4;
                                    letter-spacing: 0;
                                    color: #fff;
                                    text-align: left;
                                    white-space: nowrap;
                                }
                                .voice__card-saving-price {
                                    display: flex;
                                    align-items: flex-end;
                                    gap: 2px;
                                    margin: 0;
                                    line-height: 1;
                                }
                                    .voice__card-saving-num {
                                        display: block;
                                        font-family: "Noto Sans JP", sans-serif;
                                        font-size: 20px;
                                        font-weight: 500;
                                        line-height: 1.1;
                                        letter-spacing: 0;
                                        color: #ffeb78;
                                        text-align: left;
                                        white-space: nowrap;
                                    }
                                    .voice__card-saving-unit {
                                        display: block;
                                        font-family: "Noto Sans JP", sans-serif;
                                        font-size: 11px;
                                        font-weight: 500;
                                        line-height: 1.4;
                                        letter-spacing: 0;
                                        color: #fff;
                                        text-align: left;
                                    }
                            .voice__card-txt {
                                display: -webkit-box;
                                width: 176px;
                                margin: 4px 0 0;
                                overflow: hidden;
                                font-family: "Noto Sans JP", sans-serif;
                                font-size: 13px;
                                font-weight: 400;
                                line-height: 1.4;
                                letter-spacing: 0;
                                color: #fff;
                                text-align: left;
                                -webkit-box-orient: vertical;
                                -webkit-line-clamp: 3;
                            }
            .voice__more {
                margin: 0;
            }
                .voice__more-link {
                    position: relative;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 12px;
                    width: 240px;
                    height: 45px;
                    margin: 0 auto;
                    padding: 0 15px 0 14px;
                    border-radius: 4px;
                    background-color: #074b9f;
                    box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
                    text-decoration: none;
                }
                    .voice__more-txt {
                        display: block;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 14px;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0;
                        color: #fff;
                        text-align: center;
                        white-space: nowrap;
                    }
                    .voice__more-arrow {
                        position: absolute;
                        display: block;
                        width: 14px;
                        height: 14px;
                        line-height: 0;
                        flex-shrink: 0;
                        top: 0;
                        bottom: 0;
                        margin: auto;
                        right: 15px;
                    }

/*//////////////////// faq ////////////////////*/
.section__wrapper--faq {
    position: relative;
    margin: 0 auto;
    padding: 170px 0 140px;
    background-color: #fff;
	z-index: 1;
}
.section__wrapper--faq::before {
	position: absolute;
	content: "";
	background: url(../images/faq_bg.webp) no-repeat center / cover;
	width: 100%;
	min-height: 1029px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
    .faq__whale {
        position: absolute;
        left: 50%;
        top: 85px;
        z-index: 2;
        display: block;
        width: 331px;
        height: 232px;
        pointer-events: none;
        transform: translateX(-427px);
    }
    .section__inner--faq {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 1140px;
        margin: 0 auto;
        gap: 62px;
    }
        .ttl__box--faq {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 1140px;
        }
            .faq__headline {
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                margin: 0 auto;
                gap: 0;
                overflow: visible;
                z-index: 1;
            }
            .faq__headline::before {
                position: absolute;
                content: "";
                border-radius: 50%;
                background-color: #e9feff;
                width: 180px;
                height: 180px;
                top: -28px;
                left: 50%;
                transform: translateX(-50%);
                z-index: -1;
            }
                .faq__headline-deco {
                    display: block;
                    width: 51px;
                    height: 16px;
                    margin: 0 auto 26px;
                }
                .section__ttl--faq {
                    position: relative;
                    z-index: 1;
                    width: 265px;
                    margin: 0 0 15px;
                    line-height: 0;
                    text-align: center;
                }
                    .section__ttl--faq img {
                        display: block;
                        width: 265px;
                        height: 46px;
                        margin: 0 auto;
                    }
                .section__sub-ttl--faq {
                    margin: 0;
                    font-family: "Roboto", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: 0.25em;
                    color: #074b9f;
                    text-align: center;
                }
        .faq__wrap {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 30px;
            width: 1140px;
        }
            .faq__list {
                display: flex;
                flex-direction: column;
                gap: 16px;
                width: 1140px;
                margin: 0;
                padding: 0;
                list-style: none;
            }
                .faq__item {
                    display: flex;
                    flex-direction: column;
                    width: 1140px;
                }
                .faq__item.is-open {
                    gap: 8px;
                    padding-bottom: 20px;
                }
                    .faq__trigger {
                        display: flex;
                        align-items: center;
                        gap: 12px;
                        width: 1140px;
                        min-height: 50px;
                        padding: 0 16px 0 0;
                        border: none;
                        background-color: #fafafa;
                        cursor: pointer;
                        text-align: left;
                    }
                        .faq__icon {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            flex-shrink: 0;
                            width: 34px;
                            height: 50px;
                            background-color: #074b9f;
                            line-height: 0;
                        }
                            .faq__icon img {
                                display: block;
                                width: 14px;
                                height: 26px;
                            }
                        .faq__question {
                            display: block;
                            flex: 1 1 auto;
                            min-width: 0;
                            padding: 10px 0 12px;
                            font-family: "Noto Sans JP", sans-serif;
                            font-size: 20px;
                            font-weight: 700;
                            line-height: 1.4;
                            letter-spacing: 0;
                            color: #0d294b;
                        }
                        .faq__trigger::after {
                            content: "";
                            display: block;
                            flex-shrink: 0;
                            width: 18px;
                            height: 10px;
                            background: url("../images/faq_arrow.svg") no-repeat center / contain;
                            transform: rotate(180deg);
                            transition: transform 0.2s ease;
                        }
                        .faq__item.is-open .faq__trigger::after {
                            transform: rotate(0deg);
                        }
                    .faq__answer {
                        display: none;
                        width: 1140px;
                    }
                    .faq__item.is-open .faq__answer {
                        display: block;
                    }
                        .faq__answer-txt {
                            margin: 0;
                            font-family: "Noto Sans JP", sans-serif;
                            font-size: 16px;
                            font-weight: 400;
                            line-height: 1.8;
                            letter-spacing: 0;
                            color: #0d294b;
                            text-align: left;
                        }
            .faq__more {
                margin: 0;
            }
                .faq__more-link {
                    position: relative;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 12px;
                    width: 240px;
                    height: 50px;
                    margin: 0 auto;
                    padding: 0 15px;
                    border-radius: 4px;
                    background-color: #074b9f;
                    box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
                    text-decoration: none;
                }
                    .faq__more-txt {
                        display: block;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 16px;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0;
                        color: #fff;
                        text-align: center;
                        white-space: nowrap;
                    }
                    .faq__more-arrow {
                        position: absolute;
                        display: block;
                        width: 14px;
                        height: 14px;
                        line-height: 0;
                        flex-shrink: 0;
                        top: 0;
                        bottom: 0;
                        margin: auto;
                        right: 15px;
                    }

/*//////////////////// contact ////////////////////*/
.section__wrapper--contact {
    position: relative;
    margin: 0 auto;
    padding: 111px 0 128px;
    background-color: #dcfafb;
    z-index: 1;
}
.section__wrapper--contact::before {
	position: absolute;
	content: "";
	background: url(../images/contact_bg.webp) no-repeat center /cover;
	width: 100%;
	min-height: 693px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
    .contact__deco {
        position: absolute;
        z-index: 2;
        display: block;
        pointer-events: none;
    }
    .contact__deco--jellyfish {
        left: 390px;
        top: 25px;
        width: 74px;
        height: 103px;
    }
    .contact__deco--lobster {
        left: 1470px;
        top: -48px;
        width: 59px;
        height: 92px;
    }
    .section__inner--contact {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 1140px;
        margin: 0 auto;
        gap: 51px;
    }
        .ttl__box--contact {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 1140px;
        }
            .contact__headline {
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                margin: 0 auto;
                gap: 0;
                overflow: visible;
                z-index: 1;
            }
            .contact__headline::before {
                position: absolute;
                content: "";
                border-radius: 50%;
                background-color: #e9feff;
                width: 180px;
                height: 180px;
                top: -28px;
                left: 50%;
                transform: translateX(-50%);
                z-index: -1;
            }
                .contact__headline-deco {
                    display: block;
                    width: 51px;
                    height: 16px;
                    margin: 0 auto 24px;
                }
                .section__ttl--contact {
                    position: relative;
                    z-index: 1;
                    width: 688px;
                    margin: 0 0 12px;
                    line-height: 0;
                    text-align: center;
                }
                    .section__ttl--contact img {
                        display: block;
                        width: 688px;
                        height: 51px;
                        margin: 0 auto;
                    }
                .section__sub-ttl--contact {
                    margin: 0;
                    font-family: "Roboto", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: 0.25em;
                    color: #074b9f;
                    text-align: center;
                }
        .contact__wrap {
            position: relative;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            gap: 20px;
            width: 1140px;
            height: 220px;
            padding: 60px;
            border-radius: 32px;
            background-color: rgba(255, 255, 255, 0.75);
            -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
            box-sizing: border-box;
        }
            .contact__whale {
                position: absolute;
                right: -140px;
                bottom: -156px;
                z-index: 2;
                display: block;
                width: 240px;
                height: 163px;
                pointer-events: none;
            }
            .contact__tel {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 10px;
                width: 313px;
                padding-bottom: 5px;
            }
                .contact__tel-row {
                    display: flex;
                    align-items: center;
                    gap: 8px;
                    margin: 0;
                    line-height: 1;
                }
                    .contact__tel-icon {
                        display: block;
                        width: 30px;
                        height: 30px;
                        flex-shrink: 0;
                    }
                    .contact__tel-num {
                        display: block;
                        font-family: "Roboto", sans-serif;
                        font-size: 42px;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0;
                        color: #074b9f;
                        white-space: nowrap;
                    }
                .contact__info {
                    display: flex;
                    flex-direction: column;
                    gap: 6px;
                    width: 169px;
                    margin: 0;
                }
                    .contact__info-row {
                        display: flex;
                        align-items: center;
                        gap: 6px;
                    }
                        .contact__info-ttl {
                            margin: 0;
                            font-family: "Noto Sans JP", sans-serif;
                            font-size: 13px;
                            font-weight: 400;
                            line-height: 1;
                            letter-spacing: 0;
                            color: #0d294b;
                            white-space: nowrap;
                        }
                        .contact__info-ttl::after {
                            content: "";
                            display: inline-block;
                            width: 1px;
                            height: 13px;
                            margin-left: 6px;
                            vertical-align: -2px;
                            background-color: rgba(7, 75, 159, 0.4);
                        }
                        .contact__info-txt {
                            margin: 0;
                            font-family: "Noto Sans JP", sans-serif;
                            font-size: 13px;
                            font-weight: 400;
                            line-height: 1;
                            letter-spacing: 0;
                            color: #0d294b;
                            white-space: nowrap;
                        }
            .contact__line {
                position: relative;
                margin: 0;
                flex-shrink: 0;
            }
                .contact__line-link {
                    position: relative;
                    display: flex;
                    align-items: center;
                    justify-content: flex-end;
                    gap: 12px;
                    width: 427px;
                    height: 96px;
                    padding: 4px 16px 0 20px;
                    border-radius: 8px;
                    background-color: #06c755;
                    box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
                    text-decoration: none;
                    box-sizing: border-box;
                }
                    .contact__line-badge {
                        position: absolute;
                        left: 21px;
                        top: -12px;
                        z-index: 2;
                        display: inline-flex;
                        align-items: center;
                        justify-content: center;
                        height: 28px;
                        padding: 6px 16px 6px 24px;
                        border-radius: 9999px;
                        background-color: #ff8000;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 16px;
                        font-weight: 500;
                        line-height: 1;
                        letter-spacing: 0.05em;
                        color: #fff;
                        white-space: nowrap;
                        box-sizing: border-box;
                    }
                    .contact__line-illust {
                        position: absolute;
                        right: 10px;
                        top: -48px;
                        z-index: 1;
                        display: block;
                        width: 112px;
                        height: 56px;
                        pointer-events: none;
                    }
                    .contact__line-ttl {
                        display: block;
                        margin-right: auto;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 30px;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0;
                        color: #fff;
                        white-space: nowrap;
                    }
                        .contact__line-ttl--line {
                            font-size: 40px;
                        }
                    .contact__line-arrow {
                        display: block;
                        width: 48px;
                        height: 24px;
                        line-height: 0;
                        flex-shrink: 0;
                    }
                        .contact__line-arrow img {
                            display: block;
                            width: 48px;
                            height: 24px;
                        }
            .contact__actions {
                display: flex;
                flex-direction: column;
                gap: 10px;
                width: 240px;
                flex-shrink: 0;
            }
                .contact__action {
                    margin: 0;
                }
                    .contact__action-link {
                        position: relative;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        gap: 10px;
                        width: 240px;
                        height: 45px;
                        padding: 1px 16px 0 10px;
                        border-radius: 4px;
                        box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
                        text-decoration: none;
                        box-sizing: border-box;
                    }
                    .contact__action-link--mail {
                        background-color: #00c3ce;
                    }
                    .contact__action-link--reserve {
                        background-color: #ff8000;
                    }
                        .contact__action-ttl {
                            display: block;
                            font-family: "Noto Sans JP", sans-serif;
                            font-size: 16px;
                            font-weight: 700;
                            line-height: 1;
                            letter-spacing: 0;
                            color: #fff;
                            text-align: center;
                            white-space: nowrap;
                        }
                        .contact__action-arrow {
                            display: block;
                            width: 14px;
                            height: 14px;
                            line-height: 0;
                            flex-shrink: 0;
                            position: absolute;
                            top: 0;
                            bottom: 0;
                            margin: auto;
                            right: 16px;
                        }
