@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 新規の場合使用 */
:root {
    --main-color: #133562;
    --sub-color: #0c5980;
}

/* font */
@font-face {
    font-family: "saroshi";
    src: url("./font/saroshi-bold.woff2") format("woff2"),
        url("./font/saroshi-bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "saroshi";
    src: url("./font/saroshi-medium.woff2") format("woff2"),
        url("./font/saroshi-medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


html,
body,
button,
input,
select,
textarea,
body>* {
    /* 不要な指定は消す */
    font-family: "Zen Kaku Gothic Antique", "ZenkakuGothicAntique", sans-serif;
}

body {
    color: #05161a;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    min-width: 1440px;
    letter-spacing: .01em;
}

a[href $='.pdf'] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    text-decoration: underline;
    color: #fff;
    line-height: 1.5;
}

a[href $='.pdf']::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 30px;
    height: 38px;
    mask-image: url(./image/icon/icon_pdf.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
    margin-right: 15px;
    background: #fff;
}

a[href$=".pdf"]:hover {
    text-decoration: none;
}

.wrap {
    width: 1140px;
    margin: 0 auto;
}

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}


/* PC固定ページ 共通設定 */

.common_page_wrap {
    padding: 100px 0;
}

.not_found .text {
    text-align: center;
}

.reserve_text {
    text-align: center;
    font-size: 30px;
}

/* パンくず */
.breadcrumb {
    font-size: 12px;
    color: #3E3E3E;
    letter-spacing: .08em;
}

.breadcrumb a {
    text-decoration: none;
    color: #3E3E3E;
}

.breadcrumbs_bg {
    padding: 150px 0 15px;
    background: linear-gradient(rgba(5, 22, 26, 0.5), rgba(5, 22, 26, 0.25)), url(./image/mv_bg.png) no-repeat center center / cover;
    position: relative;
}

.breadcrumbs_bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0c5980;
    z-index: -1;
}

/* PC固定ページ 404ページ */
#page_404 {
    text-align: center;
}

#page_404 .num {
    font-size: 100px;
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
    margin-bottom: 1em;
    font-size: 16px;
}

/* 下記よりCSS追加 */
/* 共通部分 */
.common_page_main {
    padding: 197px 0 110px;
    position: relative;
    z-index: 1;
    min-height: 476px;
}

.common_page_main::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(5, 22, 26, 0.5), rgba(5, 22, 26, 0.25)),
        url(./image/mv_bg.png) no-repeat center center/cover;
    z-index: -1;
}

.common_page_main::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0c5980;
    z-index: -2;
}

.common_page_main .title_box {
    color: #fff;
}

.common_page_main .title_box .title {
    display: flex;
    flex-direction: column;
    color: #fff;
}

.common_page_main .title_box .title .en {
    font-size: 48px;
    font-weight: 700;
    font-family: "satoshi", sans-serif;
    text-transform: uppercase;
}

.common_page_main .title_box .title .ja {
    font-size: 24px;
    font-weight: 700;
}

.common_page_main .title_box .description {
    font-size: 14px;
    line-height: 1.6;
    margin-top: 20px;
}

.common_page_main .title_box .description.lr {
    font-size: 28px;
    font-weight: 700;
}

/* common_page_title */
.common_page_title_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    text-align: center;
}

.common_page_title_box .en {
    font-size: 20px;
    font-weight: 700;
    font-family: "satoshi", sans-serif;
    color: #c1c8d1;
}

.common_page_title_box .ja {
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
}

/* btn */
.common_btn {
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: #fff;
    padding: 13px 15px 13px 15px;
    border-radius: 50px;
    transition: all 0.3s ease;
    margin: 0 auto;
    border: 2px solid #133562;
    min-width: 350px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.common_btn .arrow {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #133562;
    border-radius: 50%;
}

.common_btn .arrow .arrow_line {
    width: 15px;
    height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.common_btn .arrow .arrow_line svg {
    width: 100%;
    height: 100%;
    stroke: #fff;
    transition: all 0.3s ease;
}

.common_btn .text {
    font-size: 18px;
    font-weight: 700;
    color: #133562;
}

/* cta_btn */
.cta_btn {
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    border-radius: 16px;
    padding: 7px 25px 7px 10px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

.cta_btn.btn_request {
    background-color: #fff;
    color: #133562;
    border: 2px solid #133562;
    padding: 6px 25px 6px 9px;
}

.cta_btn.btn_consultation {
    background-color: #133562;
}

.cta_btn.btn_ai {
    background-color: #0c5980;
}

.cta_btn.btn_line {
    background-color: #06c755;
}

.cta_btn .icon_box {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cta_btn .text {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.cta_btn.btn_request .text {
    color: #133562;
}

.cta_btn .icon_box {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cta_btn .text {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.cta_btn.common_btn_request .text {
    color: #133562;
}

/* title_box */
.title_box .en {
    display: block;
    font-size: 56px;
    font-weight: 700;
    margin-bottom: -4px;
    font-family: "satoshi", sans-serif;
}

.title_box .ja {
    font-size: 24px;
    font-weight: 700;
    position: relative;
    letter-spacing: 0.05em;
}

/* mask_overlay */
.mask_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: scale(0.5);
    transition: transform 0.3s ease;
    gap: 10px;
}

.mask_overlay .view_more_text {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    font-family: "satoshi", sans-serif;
}

.mask_overlay .arrow {
    width: 50px;
    height: 50px;
    align-self: center;
    background-image: url("./image/icon_arrow_white.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/*----------------------------------------
　　トップページ
----------------------------------------*/
/* header */
.pc_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 1440px;
    z-index: 1000;
}

.pc_header .header_wrap {
    padding: 30px 45px 30px 50px;
    position: relative;
}

.pc_header .header_wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.3s ease-in-out;
    z-index: -1;
    border-bottom: 1px solid #eceeef;
}

.pc_header[data-bg="true"] .header_wrap::before {
    transform: scaleY(1);
}

.pc_header[data-bg="true"] .logo_area .title,
.pc_header[data-bg="true"] .contact_area .favorite_link .text,
.pc_header[data-bg="true"] .contact_area .history_link .text,
.pc_header[data-bg="true"] .contact_area .phone_link .phone_wrap .number,
.pc_header[data-bg="true"] .contact_area .phone_link .text,
.pc_header[data-bg="true"] .nav .nav_list .nav_item .nav_link .text,
.pc_header[data-bg="true"] .nav .nav_list .nav_item .nav_link::after,
.pc_header[data-bg="true"] .common_btn .text {
    color: #05161a;
    transition: all 0.3s ease-in-out;
}

.pc_header[data-bg="true"] .phone_number {
    color: #333;
    transition: color 0.3s ease-in-out;
}

.pc_header .header_top {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
}

.pc_header .logo_area {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pc_header .logo_area .logo {
    width: 128.4px;
    height: 52.9px;
    background-image: url("./image/logo.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-image 0.3s ease;
}

.pc_header[data-bg="true"] .logo_area .logo {
    background-image: url("./image/logo_sp.svg");
}

.pc_header .logo_area .title {
    font-size: 12px;
    color: #fff;
    line-height: 1.3;
}

.pc_header .contact_area {
    display: flex;
}

.pc_header .contact_area .action_buttons .cta_btn.common_btn_request {
    border: 1px solid #133562;
}

.pc_header .contact_area .favorite_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    margin-right: 10px;
}

.pc_header .contact_area .favorite_link .text {
    font-size: 12px;
    font-weight: bold;
    transition: all 0.3s ease;
    color: #fff;
}

.pc_header .contact_area .favorite_icon {
    width: 22px;
    height: 21px;
    background-image: url("./image/icon_favorite.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-image 0.3s ease;
}

.pc_header[data-bg="true"] .contact_area .favorite_icon {
    background-image: url("./image/icon_favorite_sp.svg");
}

.pc_header .contact_area .history_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    margin-right: 30px;
}

.pc_header .contact_area .history_link .history_wrap {
    width: 22px;
    height: 22px;
}

.pc_header .contact_area .history_link .text {
    font-size: 12px;
    font-weight: bold;
    transition: all 0.3s ease;
    color: #fff;
}

.pc_header .contact_area .history_icon {
    width: 22px;
    height: 22px;
    background-image: url("./image/icon_history.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-image 0.3s ease;
}

.pc_header[data-bg="true"] .contact_area .history_icon {
    background-image: url("./image/icon_history_sp.svg");
}

.pc_header .contact_area .phone_link {
    display: flex;
    flex-direction: column;
    margin-right: 20px;
}

.pc_header .contact_area .phone_link .phone_wrap {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
}

.pc_header .contact_area .phone_link .phone_wrap .phone_icon {
    width: 22px;
    height: 22px;
    background-image: url("./image/icon_phone.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-image 0.3s ease;
}

.pc_header[data-bg="true"] .contact_area .phone_link .phone_wrap .phone_icon {
    background-image: url("./image/icon_phone_fix.svg");
}

.pc_header .contact_area .phone_link .phone_wrap .number {
    font-size: 24px;
    font-weight: bold;
    font-family: "satoshi", sans-serif;
    color: #fff;
    line-height: 1;
}

.pc_header .contact_area .phone_link .text {
    font-size: 10px;
    font-weight: bold;
    color: #fff;
    margin-left: 5px;
    margin-top: 2px;
}

.action_buttons {
    display: flex;
    gap: 10px;
    margin-top: 5px;
}

.pc_header .nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 8px;
}

.pc_header .nav .nav_list {
    display: flex;
    align-items: center;
    gap: 35px;
}

.pc_header .nav .nav_list .nav_item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pc_header .nav .nav_list .nav_item .nav_link {
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 5px;
    position: relative;
    overflow: hidden;
}

.pc_header .nav .nav_list .nav_item .nav_link .text {
    display: block;
    transition: transform 0.3s ease;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
}

.pc_header .nav .nav_list .nav_item .nav_link::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
}

.pc_header .nav .nav_list .nav_item .nav_link .nav_arrow {
    width: 6.4px;
    height: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url("./image/icon_dropdown_arrow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease;
}

.pc_header[data-bg="true"] .nav .nav_list .nav_item .nav_link .nav_arrow {
    background-image: url("./image/icon_dropdown_arrow_fix.svg");
}

.pc_header .dropdown {
    position: relative;
}

.pc_header .dropdown_menu {
    position: absolute;
    top: calc(100% + 5px);
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border-radius: 5px;
    border: 1px solid #eceeef;
    padding: 10px 20px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pc_header .dropdown_item {
    display: block;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: background-color 0.2s ease;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.pc_header .dropdown_item .text {
    font-size: 14px;
    font-weight: 500;
    color: #05161a;
    display: block;
    transition: transform 0.3s ease;
}

.pc_header .dropdown_item::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    font-size: 14px;
    color: #05161a;
    font-weight: 500;
    z-index: 1;
}

/* mv */
.top_mv {
    position: relative;
    overflow: hidden;
    z-index: 10;
}

.top_mv .image_box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.top_mv .mv_slider {
    width: 100%;
    height: 100%;
}

.top_mv .mv_slider .slick-slide {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.top_mv .mv_slider .slick_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@keyframes zoomout {
    0% {
        transform: scale(1.3);
    }

    100% {
        transform: scale(1);
    }
}

.add_animation {
    animation: zoomout 8s linear 0s normal both;
}

.top_mv .image_box::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("./image/mv_mask.png") no-repeat center center;
    background-size: cover;
    z-index: 2;
}

.top_mv .mv_content {
    position: relative;
    padding: 444px 0 73px 100px;
    z-index: 100;
}

.top_mv .mv_content .title {
    font-size: 48px;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
}

.top_mv .mv_content .description {
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    margin-top: 14px;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

/* banner */
.top_banner {
    margin-top: 125px;
}

.top_banner .banner_slides .banner_slide {
    width: 320px;
    height: 320px;
    margin: 0 10px;
}

.top_banner .banner_slides .banner_slide .banner_image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 320/320;
}

.top_banner .banner_slides .slick-dots {
    bottom: -35px;
}

.top_banner .banner_slides .slick-dots li {
    margin: 0;
}

.top_banner .banner_slides .slick-dots li button {
    background-color: #c1c8d1;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.top_banner .banner_slides .slick-dots li.slick-active button {
    background-color: #133562;
}

.top_banner .banner_slides .slick-dots li button:before {
    display: none;
}

/* search_bg */
.search_bg {
    position: relative;
}

.search_bg::before {
    content: "";
    position: absolute;
    top: 173px;
    left: 0;
    width: 100%;
    height: calc(100% - 173px);
    background-color: #fafafa;
    z-index: -2;
}

.search_bg::after {
    content: "";
    position: absolute;
    top: -105px;
    left: 0;
    width: 100%;
    height: 720px;
    background-image: url("./image/search_bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
}

/* search */
.top_search {
    padding: 106px 0 0;
    position: relative;
    z-index: 1;
}

.top_search .search_content {
    display: flex;
    justify-content: space-between;
    gap: 73px;
}

.top_search .title_box {
    margin-top: 10px;
}

.top_search .title_box .ja {
    padding-left: 30px;
}

.top_search .title_box .ja::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    width: 10px;
    height: 10px;
    background: #133562;
    border-radius: 50%;
}

.top_search .description {
    font-size: 16px;
    line-height: 1.8;
    margin-top: 15px;
}

.top_search .search_cards_area {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.top_search .search_card {
    position: relative;
}

.top_search .search_card.wow.zoomIn {
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
}

.top_search .search_card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: -1;
    border-radius: 5px;
    border: 1px solid #eceeef;
}

.top_search .search_card .search_card_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    transition: all 0.3s ease;
    padding: 50px 0 44px 0;
    color: #05161a;
}

.top_search .search_card .search_card_link .icon_box {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
}

.top_search .search_card .search_card_link .icon_box.train_icon img {
    width: 40px;
    height: 50.02px;
}

.top_search .search_card .search_card_link .icon_box.location_icon img {
    width: 38px;
    height: 52.26px;
}

.top_search .search_card .search_card_link .icon_box.house_icon img {
    width: 56px;
    height: 47.05px;
}

.top_search .search_card .search_card_link .icon_box::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #eceeef;
    z-index: -1;
    transition: all 0.3s ease;
    transform-origin: center center;
    will-change: transform;
}

.top_search .search_card .title {
    font-size: 16px;
    font-weight: 700;
    font-family: "satoshi", sans-serif;
    margin-top: 10px;
    text-align: center;
}

.top_search .search_card .text_box {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 2px;
}

.top_search .search_card .text_box .arrow {
    width: 20px;
    height: 20px;
    background-image: url("./image/icon_arrow_blue.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.top_search .search_card .text_box .text {
    font-size: 14px;
    font-weight: 700;
}

/* feature */
.top_feature {
    position: relative;
    z-index: 1;
    padding-top: 150px;
}

.top_feature .feature_title {
    font-size: 32px;
    font-weight: 700;
    position: absolute;
    top: 80px;
    left: 50%;
    transform: translateX(-50%);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    z-index: 1;
    text-align: center;
    letter-spacing: 0.05em;
}

.top_feature .feature_title .small {
    font-size: 24px;
    font-weight: 700;
}

.top_feature .bg_wrap {
    padding: 50px 0 150px;
    position: relative;
    overflow: hidden;
}

.top_feature .bg_wrap .feature_bg {
    opacity: 0;
    position: absolute;
    z-index: -2;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    transition: opacity 0.3s ease;
    transform: scale(1);
}

.top_feature .bg_wrap .feature_bg-img {
    transition: transform 20s ease;
}

.top_feature .bg_wrap .feature_bg-construction {
    background-image: url(./image/feature_bg_01.jpg);
}

.top_feature .bg_wrap .feature_bg-pet {
    background-image: url(./image/feature_bg_02.jpg);
}

.top_feature .bg_wrap .feature_bg-foreigner {
    background-image: url(./image/feature_bg_03.jpg);
}

.top_feature .bg_wrap .feature_bg-alone {
    background-image: url(./image/feature_bg_04.jpg);
}

.top_feature .bg_wrap .feature_bg-walk {
    background-image: url(./image/feature_bg_05.jpg);
}

.top_feature .bg_wrap .feature_bg-deposit {
    background-image: url(./image/feature_bg_06.jpg);
}

.top_feature .bg_wrap[data-bg="construction"] .feature_bg-construction,
.top_feature .bg_wrap[data-bg="pet"] .feature_bg-pet,
.top_feature .bg_wrap[data-bg="foreigner"] .feature_bg-foreigner,
.top_feature .bg_wrap[data-bg="alone"] .feature_bg-alone,
.top_feature .bg_wrap[data-bg="walk"] .feature_bg-walk,
.top_feature .bg_wrap[data-bg="deposit"] .feature_bg-deposit {
    opacity: 1;
    transform: scale(1.5);
}

.top_feature .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    position: relative;
    z-index: 1;
}

.top_feature .list .link {
    position: relative;
    min-height: 225px;
    border-radius: 5px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: stretch;
    text-align: center;
    padding: 20px;
    background-color: rgb(255, 255, 255);
    border: 1px solid #eceeef;
}

.top_feature .list .item .arrow {
    width: 24px;
    height: 24px;
    align-self: center;
    background-image: url("./image/icon_arrow_blue.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.top_feature .list .item .feature_list_title_box {
    border-left: 1px solid #eceeef;
    padding-left: 30px;
    margin-left: 10px;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    flex: 1;
    align-self: stretch;
}

.top_feature .list .item .feature_list_title_box .en {
    font-size: 16px;
    color: #c1c8d1;
    font-weight: 700;
    font-family: "satoshi", sans-serif;
}

.top_feature .list .item .feature_list_title_box .ja {
    font-size: 24px;
    font-weight: 700;
    color: #05161a;
}

.top_feature .list .item .feature_list_title_box .arrow {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background: #007bff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* recommend_bg */
.recommend_bg {
    position: relative;
    z-index: 1;
}

.recommend_bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(./image/recommend_bg_02.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -2;
}

.recommend_bg::after {
    content: "";
    position: absolute;
    top: 75px;
    left: 0;
    width: 100%;
    height: 328px;
    background-image: url(./image/recommend_bg_01.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -2;
}

/* recommend */
.owner.top_recommend {
    padding: 0 0 150px;
}

.top_recommend {
    padding: 141px 0 150px;
    position: relative;
    z-index: 1;
}

.top_recommend .title_box {
    text-align: center;
}

.top_recommend .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 30px;
}

.top_recommend .list .link {
    background: #fff;
    border-radius: 5px;
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid #eceeef;
    display: flex;
    flex-direction: column;
    position: relative;
    height: 100%;
}

.top_recommend .list .item .image_box {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.top_recommend .list .item .image_box .image {
    aspect-ratio: 360/200;
    object-fit: cover;
}

.top_recommend .list .item .image_box .badge {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 50px;
    height: 50px;
    z-index: 10;
}

.top_recommend .list .item .info_box {
    padding: 15px 20px 20px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1;
}

.top_recommend .list .item .info_box .title {
    font-size: 18px;
    font-weight: 700;
    color: #05161a;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
    line-height: 1.3;
}

.top_recommend .list .item .info_box .details_box {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 20px 11px 20px;
    background-color: #f5f6f7;
    border-radius: 5px;
    margin-top: 7px;
    align-items: stretch;
    flex: 1;
}

.top_recommend .list .item .info_box .details_box .detail_item {
    display: flex;
    gap: 8px;
}

.top_recommend .list .item .info_box .details_box .detail_item .icon_box {
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_recommend .list .item .info_box .details_box .detail_item .price_icon {
    width: 13px;
    height: 13px;
    margin-top: 7px;
}

.top_recommend .list .item .info_box .details_box .detail_item .room_icon {
    width: 12px;
    height: 11.79px;
    margin-top: 5px;
}

.top_recommend .list .item .info_box .details_box .detail_item .location_icon {
    width: 10.18px;
    height: 14px;
    margin-top: 3px;
    margin-left: 1px;
}

.top_recommend .list .item .info_box .details_box .detail_item .detail_text {
    font-size: 13px;
    font-weight: 500;
    color: #05161a;
    flex: 1;
}

.top_recommend .list .item .info_box .details_box .detail_item .detail_text .price {
    font-size: 16px;
    font-weight: 700;
    margin-right: .35em;
}

.top_recommend .list .item .info_box .details_box .detail_item .detail_text .unit {
    font-weight: 700;
}

.top_recommend .common_btn {
    margin-top: 38px;
}

/* youtube_bg */
.youtube_bg {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.youtube_bg::before {
    content: "";
    position: absolute;
    top: -86px;
    left: 0;
    width: 100%;
    height: 1040px;
    background: url(./image/youtube_bg.png) no-repeat center center/cover;
    z-index: -2;
}

/* youtube */
.top_youtube {
    padding: 143px 0 0;
    position: relative;
}

.top_youtube .title_box {
    text-align: center;
}

.youtube_slider {
    margin-top: 29px;
}

.youtube_slider .slider_container {
    position: relative;
    margin: 0 auto;
}

.youtube_slider .slider_wrapper {
    overflow: hidden;
    margin: 0;
}

.top_youtube .youtube_slider .slider_wrapper .swiper-wrapper .swiper-slide {
    width: 500px;
    flex-shrink: 0;
    border-radius: 5px;
    overflow: hidden;
}

.top_youtube .video_container {
    position: relative;
    width: 100%;
    height: 280px;
}

.top_youtube .video_item iframe {
    width: 100%;
    height: 280px;
}

.youtube_link {
    position: absolute;
    bottom: 4px;
    left: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(0, 0, 0, 0.7);
    padding: 9px 11px 9px 9px;
    border-radius: 2px;
    font-size: 12px;
    transition: all 0.3s ease;
    z-index: 10;
}

.youtube_text {
    font-size: 16px;
    font-weight: 500;
    color: #fff;
}

.youtube_logo {
    width: 60px;
    height: 15px;
    fill: #fff;
}

.youtube_slider .swiper-button-next,
.youtube_slider .swiper-button-prev {
    width: 60px;
    height: 60px;
}

.youtube_slider .swiper-button-prev {
    left: 427px;
}

.youtube_slider .swiper-button-next {
    right: 427px;
    transform: rotate(180deg);
}

.swiper-button-next:after,
.swiper-button-prev:after {
    display: none;
}

.youtube_slider .swiper-button-next .arrow,
.youtube_slider .swiper-button-prev .arrow {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #f0f0f0;
    border-radius: 50%;
    background-color: #fff;
}

.youtube_slider .swiper-button-next .arrow .arrow_line,
.youtube_slider .swiper-button-prev .arrow .arrow_line {
    width: 20px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.youtube_slider .swiper-button-next .arrow .arrow_line svg,
.youtube_slider .swiper-button-prev .arrow .arrow_line svg {
    width: 100%;
    height: 100%;
    stroke: #05161a;
    transition: all 0.3s ease;
}

/* properties */
.top_properties {
    padding: 112px 0 150px;
    position: relative;
}

.top_properties .title_box {
    text-align: center;
}

.top_properties .list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 20px;
    margin-top: 30px;
}

.top_properties .list .link {
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.top_properties .list .item .image_box {
    position: relative;
    height: 170px;
    overflow: hidden;
    border-radius: 5px;
}

.top_properties .list .item .image_box::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(5, 22, 26, 0.2);
    transition: all 0.3s ease;
}

.top_properties .list .item .image_box .image {
    aspect-ratio: 270/170;
    transition: all 0.3s ease;
}

.top_properties .list .item .image_box .badge {
    position: absolute;
    top: 8px;
    left: 8px;
    width: 45px;
    height: 45px;
    z-index: 10;
}

.top_properties .list .item .info_box {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1;
}

.top_properties .list .item .info_box .title {
    font-size: 18px;
    font-weight: 700;
    color: #05161a;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 20px;
    flex-grow: 1;
    max-height: 47px;
}

.top_properties .list .item .info_box .details_box {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 15px 11px 20px;
    background-color: #f5f6f7;
    border-radius: 5px;
    margin-top: 7px;
    align-items: stretch;
    flex: 1;
}

.top_properties .list .item .info_box .details_box .detail_item {
    display: flex;
    gap: 8px;
}

.top_properties .list .item .info_box .details_box .detail_item .icon_box {
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_properties .list .item .info_box .details_box .detail_item .price_icon {
    width: 13px;
    height: 13px;
    margin-top: 7px;
}

.top_properties .list .item .info_box .details_box .detail_item .room_icon {
    width: 12px;
    height: 11.79px;
    margin-top: 4px;
}

.top_properties .list .item .info_box .details_box .detail_item .location_icon {
    width: 10.18px;
    height: 14px;
    margin-top: 3px;
    margin-left: 1px;
}

.top_properties .list .item .info_box .details_box .detail_item .detail_text .price {
    font-size: 13px;
    font-weight: 500;
    color: #05161a;
}

.top_properties .list .item .info_box .details_box .detail_item .detail_text .price .num {
    font-size: 1.5em;
    font-weight: 700;
}


/* reason */
.top_reason {
    padding: 150px 0 0;
    position: relative;
    z-index: 2;
}

.top_reason::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 739px;
    background-color: rgba(19, 53, 98, 0.83);
    z-index: -1;
}

.top_reason::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 739px;
    background: url(./image/reason_bg.jpg) no-repeat center center/cover;
    z-index: -2;
}

.top_reason .title_box {
    text-align: center;
    color: #fff;
}

.top_reason .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    z-index: 2;
    margin-top: 29px;
}

.top_reason .list .item {
    display: flex;
    flex-direction: column;
}

.top_reason .list .item .image_box {
    position: relative;
    height: 360px;
    overflow: hidden;
    border-radius: 5px;
}

.top_reason .list .item .image_box .image {
    aspect-ratio: 360/360;
}

.top_reason .list .item .number {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 50px;
}

.top_reason .list .item .content {
    margin: -50px 10px 0;
    padding: 40px 20px 25px;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1;
    flex-grow: 1;
}

.top_reason .list .item .content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: -1;
    border-radius: 12px;
}

.top_reason .list .item .content .title {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
}

.top_reason .list .item .content .text {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 10px;
    flex-grow: 1;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

/* review_bg */
.review_bg {
    position: relative;
    z-index: 1;
}

.review_bg::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 585px;
    height: 696px;
    background: url(./image/review_bg.png) no-repeat center center/cover;
    z-index: -1;
}

/* review */
.top_review {
    padding: 277px 0 0;
    position: relative;
    z-index: 1;
    margin-top: -138px;
}

.top_review .title_box {
    text-align: center;
}

.top_review .list {
    max-width: 1400px;
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.top_review .list .link {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    position: relative;
}

.top_review .list .item .image_box {
    position: relative;
    height: 230px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.58, 1);
}

.top_review .list .item .image_box .image {
    aspect-ratio: 335/230;
    object-fit: contain;
}

.top_review .list .item .content {
    padding: 20px;
    background-color: #f5f6f7;
    flex: 1;
}

.top_review .list .item .content .title {
    font-size: 16px;
    font-weight: 700;
    color: #05161a;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.top_review .common_btn {
    margin-top: 30px;
}

/* staff */
.top_staff {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.top_staff::before {
    content: "";
    position: absolute;
    top: 470px;
    left: 0;
    width: 100%;
    height: calc(100% - 470px);
    background-color: #e9ecf0;
    z-index: -2;
}

.top_staff .staff_wrap {
    width: 1440px;
    margin: 0 auto;
    padding: 142px 150px 177px;
}

.top_staff .staff_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top_staff .title_box .ja {
    padding-left: 30px;
}

.top_staff .title_box .ja::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    width: 10px;
    height: 10px;
    background: #133562;
    border-radius: 50%;
    letter-spacing: 0.05em;
}

.top_staff .common_btn {
    margin: 20px 0 0;
}

.top_staff .staff-slider {
    margin-top: 30px;
    width: 100vw;
    margin-right: calc(50% - 50vw);
}

.top_staff .staff-slider .slick-slide {
    width: 480px;
    margin: 0 10px;
}

.top_staff .staff-slider .image_box {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
}

.top_staff .staff-slider .image_box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(19, 53, 98, 0.23);
    opacity: 1;
    transition: all 0.3s ease;
}

.top_staff .staff-slider .image_box::after {
    content: "#STAFF"attr(data-staff-id);
    position: absolute;
    top: 15px;
    left: 15px;
    background: #133562;
    color: #fff;
    padding: 5px 20px 4px;
    font-size: 20px;
    font-weight: 700;
    border-radius: 3px;
    z-index: 2;
    font-family: "Satoshi", sans-serif;
}

.top_staff .staff-slider .image_box .image {
    width: 100%;
    aspect-ratio: 480/320;
    object-position: 50% 28%;
    object-fit: cover;
}

.top_staff .staff-slider .name_box {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    z-index: 1;
    margin-top: 10px;
}

.top_staff .staff-slider .name_box .arrow {
    width: 40px;
    height: 40px;
    background-image: url("./image/icon_arrow_blue.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.top_staff .staff-slider .name {
    font-size: 24px;
    font-weight: 700;
    color: #05161a;
}

.top_staff .staff-navigation {
    display: flex;
    margin: 40px 0 0 60px;
}

.staff-pagination {
    font-family: "Satoshi", sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #05161a;
    letter-spacing: 1px;
    padding: 8px 17px;
    min-width: 104px;
    text-align: center;
}

.top_staff .staff-prev,
.top_staff .staff-next {
    top: unset;
    bottom: -90px;
    left: 0;
    width: 60px;
    height: 60px;
    background-image: url("./image/icon_arrow_white.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: unset;
}

.top_staff .staff-next {
    right: unset;
    left: 164px;
}

.top_staff .staff-prev {
    transform: scaleX(-1);
}

.top_staff .staff-prev::before,
.top_staff .staff-next::before {
    display: none;
}

.staff-progress {
    display: flex;
    justify-content: flex-end;
    margin-top: -25px;
}

.staff-progress-container {
    display: flex;
    background: #fff;
    border-radius: 5px;
    width: 836px;
    height: 10px;
}

.staff-progress-segment {
    background: #fff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    flex: 1;
}

.staff-progress-segment.active {
    background: #133562;
}

/* blog_bg */
.blog_bg {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.blog_bg::before {
    content: "";
    position: absolute;
    top: 340px;
    left: 0;
    width: 100%;
    height: 654px;
    background: url(./image/blog_bg.png) no-repeat center center/cover;
    z-index: -2;
}

.blog_bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: -3;
}

/* blog */
.top_blog {
    padding: 110px 0 0;
    position: relative;
    z-index: 1;
}

.top_blog .title_box {
    text-align: center;
}

.top_blog .list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.top_blog .list .link {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    position: relative;
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid #eceeef;
}

.top_blog .list .item .image_box {
    position: relative;
    height: 180px;
    overflow: hidden;
}

.top_blog .list .item .image_box .image {
    aspect-ratio: 270/180;
}

.top_blog .list .item .content {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
    background-color: #fafafa;
}

.top_blog .list .item .content .title {
    font-size: 16px;
    font-weight: 700;
    color: #05161a;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

.top_blog .list .item .content .date_box {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    margin-left: 5px;
}

.top_blog .list .item .content .date_box .calendar_icon {
    width: 13px;
    height: 13.3px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_blog .list .item .content .date_box .date {
    font-size: 13px;
    color: #05161a;
    font-weight: 500;
    font-family: "satoshi", sans-serif;
}

.top_blog .common_btn {
    margin-top: 30px;
}

/* news */
.top_news {
    padding: 130px 0 150px;
    position: relative;
    z-index: 1;
}

.top_news .news_wrap {
    display: flex;
    justify-content: space-between;
    gap: 80px;
}

.top_news .news_top {
    display: flex;
    flex-direction: column;
    margin-top: 68px;
}

.top_news .title_box .ja {
    padding-left: 30px;
}

.top_news .title_box .ja::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    width: 10px;
    height: 10px;
    background: #133562;
    border-radius: 50%;
    letter-spacing: 0.05em;
}

.top_news .common_btn {
    margin-top: 45px;
}

.top_news .list {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.top_news .list .link {
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 27px 30px;
    transition: all 0.3s ease;
    border-radius: 5px;
    color: #05161a;
}

.top_news .list .item:nth-of-type(2n - 1) .link {
    background-color: #fafafa;
}

.top_news .list .item .date_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-right: 34px;
}

.top_news .list .item .date_box .year_month {
    font-size: 13px;
    font-weight: 500;
    font-family: "satoshi", sans-serif;
}

.top_news .list .item .date_box .day {
    font-size: 32px;
    font-weight: 700;
    font-family: "satoshi", sans-serif;
    line-height: 1;
}

.top_news .list .item .content {
    flex: 1;
    margin-right: 30px;
}

.top_news .list .item .content .title {
    font-size: 18px;
    font-weight: 700;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.top_news .list .item .content .description {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 5px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.top_news .list .item .arrow {
    width: 45px;
    height: 45px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_news .list .item .arrow .arrow_line {
    width: 15px;
    height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_news .list .item .arrow .arrow_line svg {
    width: 100%;
    height: 100%;
    stroke: #05161a;
}

.top_news .list .item:nth-of-type(2n) .arrow {
    background-color: #fafafa;
}

/* footer */
.footer {
    padding: 70px 0 85px;
    background-color: #133562;
    position: relative;
    z-index: 1;
}

.footer .footer_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    padding: 37px 50px 45px;
    border-radius: 10px;
}

.footer .footer_top .footer_logo {
    width: 120px;
    height: auto;
}

.footer .footer_top .contact_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.footer .footer_top .contact_wrap .action_buttons {
    gap: 10px;
}

.footer .footer_top .contact_wrap .action_buttons .cta_btn {
    padding: 13px 12px 13px 12px;
    min-width: 207px;
    border-radius: 38px;
}

.footer .footer_top .contact_wrap .action_buttons .cta_btn .text {
    font-size: 16px;
}

.footer .footer_top .contact_wrap .action_buttons .cta_btn .icon_box {
    width: 40px;
    height: 40px;
}

.footer .footer_top .contact_wrap .action_buttons .cta_btn .icon_box img {
    width: 100%;
}

.contact_info {
    display: flex;
    align-items: center;
    padding: 16px 32px;
    border-radius: 10px;
    border: 1px solid #eceeef;
    color: #05161a;
}

.contact_info .label {
    font-size: 18px;
    font-weight: 700;
    margin-right: 60px;
    position: relative;
    line-height: 1;
    color: #05161a;
}

.contact_info .label::before {
    content: "";
    position: absolute;
    top: -6px;
    right: -30px;
    width: 1px;
    height: 32px;
    background-color: #eceeef;
}

.contact_info .phone_number {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-right: 7px;
}

.contact_info .phone_number .phone_icon {
    width: 28px;
    height: 28px;
    margin-top: 4px;
}

.contact_info .phone_number .number {
    font-size: 34px;
    font-weight: 700;
    color: #133562;
    font-family: "satoshi", sans-serif;
}

.contact_info .hours {
    font-size: 12px;
    font-weight: 700;
    color: #4a5253;
    margin-top: 5px;
    letter-spacing: 0.05em;
}

.footer .footer_bottom {
    display: flex;
    margin-top: 55px;
}

.footer .footer_bottom .footer_left {
    padding-right: 50px;
    border-right: 1px solid #c1c8d1;
}

.footer .footer_bottom .footer_left .footer_search {
    display: flex;
    gap: 58px;
}

.footer .footer_bottom .footer_left .footer_search .list_wrap {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.footer .footer_bottom .footer_left .footer_search .list_wrap .list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer .footer_bottom .footer_left .footer_search .list_wrap .list .item .link {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.footer .footer_bottom .footer_left .footer_search .list_wrap .list_detail {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.footer .footer_bottom .footer_left .footer_search .list_wrap .list_detail .link_detail {
    font-size: 14px;
    font-weight: 500;
    color: #c1c8d1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer .footer_bottom .footer_left .footer_search .list_wrap .list_detail .link_detail::before {
    content: "";
    display: inline-block;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 8px;
    height: 1px;
    background-color: #c1c8d1;
}

.footer .footer_bottom .footer_left .contact_area {
    display: flex;
    gap: 30px;
}

.footer .footer_bottom .footer_left .contact_area .favorite_link {
    display: flex;
    gap: 6px;
}

.footer .footer_bottom .footer_left .contact_area .favorite_link .icon_box {
    width: 22px;
    height: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer .footer_bottom .footer_left .contact_area .favorite_link .text {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-top: 2px;
}

.footer .footer_bottom .footer_left .contact_area .history_link {
    display: flex;
    gap: 6px;
}

.footer .footer_bottom .footer_left .contact_area .history_link .icon_box {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer .footer_bottom .footer_left .contact_area .history_link .text {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-top: 2px;
}

.footer .footer_right {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 5px 0 0 49px;
}

.footer .footer_right .map_container {
    border-radius: 5px;
    overflow: hidden;
    width: 360px;
    height: 200px;
}

.footer .footer_right .address {
    margin-top: 12px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.03em;
}

.footer .footer_right .footer_bottom_links {
    display: flex;
    gap: 30px;
    margin-top: 52px;
    justify-content: flex-end;
}

.footer .footer_right .footer_bottom_links .link {
    font-size: 12px;
    font-weight: 500;
    color: #c1c8d1;
}

.footer .footer_right .copyright {
    margin-top: 10px;
    text-align: right;
}

.footer .footer_right .copyright small {
    font-size: 12px;
    font-weight: 500;
    color: #c1c8d1;
    font-family: "satoshi", sans-serif;
}

/* fixed_btn */
.fixed_btn {
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 1000;
}

.fixed_btn .bg {
    width: 156px;
    height: 156px;
    border-radius: 50%;
    background-image: url("./image/fixed_btn_bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
    padding-top: 94px;
}

.fixed_btn .text {
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    line-height: 1;
    text-align: center;
}

.fixed_btn .text .text_strong {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
}

.fixed_btn {
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.fixed_btn.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/*----------------------------------------
　　owner
----------------------------------------*/
/* problem */
#page_owner .owner_banner {
    padding-top: 150px;
}

#page_owner .owner_banner .banner {
    display: block;
    transition: .3s;
}

#page_owner .owner_banner .banner img {
    width: 100%;
}

#page_owner .owner_banner .banner:hover {
    opacity: 0.7;
}

#page_owner .common_page_wrap {
    padding: 0;
}

#page_owner .problem {
    margin-top: 150px;
    position: relative;
    z-index: 2;
}

#page_owner .problem .problem_wrap {
    padding: 109px 0 120px;
    background-color: #fafafa;
    max-width: 1140px;
    margin: 0 auto;
}

#page_owner .problem .title {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
}

#page_owner .problem .list {
    margin: 26px 50px 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

#page_owner .problem .list .item {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding-top: 40px;
    padding-bottom: 25px;
}

#page_owner .problem .list .item .text {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

#page_owner .problem .list .item .image_box {
    width: 160px;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#page_owner .problem .list .item .image_box_01 .image {
    width: 140px;
    height: auto;
}

#page_owner .problem .list .item .image_box_02 .image {
    width: 140px;
    height: auto;
}

#page_owner .problem .list .item .image_box_03 .image {
    width: 150px;
    height: auto;
}

/* strengths_bg */
#page_owner .strengths_bg {
    position: relative;
    z-index: 1;
}

#page_owner .strengths_bg::before {
    content: "";
    position: absolute;
    top: -220px;
    left: 0;
    width: 100%;
    height: 720px;
    background: url(./image/strengths_bg.png) no-repeat center center/cover;
    z-index: -1;
}

/* strengths */
#page_owner .strengths {
    padding: 100px 0 127px;
}

#page_owner .strengths .strengths_list {
    margin-top: 37px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

#page_owner .strengths .strengths_list .strength_item {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-items: stretch;
}

#page_owner .strengths .strengths_list .strength_item .image_box {
    width: 100%;
    height: 200px;
    border-radius: 5px;
    overflow: hidden;
}

#page_owner .strengths .strengths_list .strength_item .image_box .image {
    aspect-ratio: 360/200;
}

#page_owner .strengths .strengths_list .strength_item .list_content {
    padding: 18px 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
    flex: 1;
}

#page_owner .strengths .strengths_list .strength_item .list_content .list_title {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
}

#page_owner .strengths .strengths_list .strength_item .list_content .list_description {
    font-size: 16px;
    line-height: 1.6;
}

/* service */
#page_owner .service {
    padding: 150px 0;
    background-color: #fafafa;
    position: relative;
    z-index: 1;
}

#page_owner .service .services_list {
    margin-top: 35px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

#page_owner .service .services_list .service_item {
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: stretch;
    padding: 20px 30px;
    border-radius: 10px;
    overflow: hidden;
    gap: 50px;
}

#page_owner .service .services_list .service_item .image_box {
    width: 360px;
    height: 240px;
    border-radius: 5px;
    overflow: hidden;
}

#page_owner .service .services_list .service_item .image_box .image {
    aspect-ratio: 360/240;
}

#page_owner .service .services_list .service_item .list_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
}

#page_owner .service .services_list .service_item .list_content .list_title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    display: flex;
    align-items: center;
    gap: 10px;
}

#page_owner .service .services_list .service_item .list_content .list_title::before {
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    background-color: #133562;
    border-radius: 50%;
}

#page_owner .service .services_list .service_item .list_content .list_description {
    font-size: 16px;
    line-height: 1.6;
    margin-top: 15px;
}

#page_owner .service .services_list .service_item .list_content .list_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

#page_owner .service .services_list .service_item .list_content .list_tags .tag {
    font-size: 14px;
    font-weight: 700;
    background-color: #eceeef;
    padding: 6px 10px 5px;
}

/* fee */
#page_owner .fee {
    padding: 150px 0;
    background-color: #f2f6fa;
    position: relative;
    z-index: 1;
}

#page_owner .fee::before {
    content: "";
    position: absolute;
    top: 115px;
    left: 0;
    width: 100%;
    height: 308px;
    background: url(./image/fee_bg.png) no-repeat center center/cover;
    z-index: -1;
}

#page_owner .fee .fee_list {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(4, 260px);
    justify-content: center;
    gap: 22px 33px;
}

#page_owner .fee .fee_list .fee_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

#page_owner .fee .fee_list .fee_item .image_box {
    width: 150px;
    height: 150px;
}

#page_owner .fee .fee_list .fee_item .image_box .image {
    aspect-ratio: 150/150;
}

#page_owner .fee .fee_list .fee_item .list_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    text-align: center;
    flex: 1;
}

#page_owner .fee .fee_list .fee_item .list_content .list_title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

#page_owner .fee .fee_list .fee_item .list_content .list_description {
    font-size: 16px;
    line-height: 1.6;
    flex: 1;
}

/* cost_bg */
#page_owner .cost_bg {
    position: relative;
    z-index: 1;
}

#page_owner .cost_bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fafafa;
    z-index: -1;
}

/* cost */
#page_owner .cost {
    padding: 146px 0 113px;
}

#page_owner .cost .comparison_table {
    margin-top: 35px;
}

#page_owner .cost .comparison_table table {
    width: 100%;
    border-collapse: collapse;
    vertical-align: middle;
}

#page_owner .cost .comparison_table thead th {
    background-color: #f4f7f8;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    border: 1px solid #f8f9fa;
    width: 20%;
    height: 146px;
    vertical-align: middle;
}

#page_owner .cost .comparison_table thead th.aldo {
    background-color: #2b7aa2;
    border: 1px solid #2b7aa2;
    color: #fff;
}

#page_owner .cost .comparison_table thead th.item_name {
    background-color: #f8f9fa;
    text-align: center;
    border-right: 1px solid #2b7aa2;
}

#page_owner .cost .comparison_table tbody td {
    background-color: #fff;
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    border: 1px solid #f8f9fa;
    vertical-align: middle;
    height: 120px;
    font-family: "satoshi", sans-serif;
}

#page_owner .cost .comparison_table tbody td .yen {
    display: inline-block;
    font-size: 20px;
    font-family: "zen kaku gothic antique", sans-serif;
    transform: translateX(-6px);
}

#page_owner .cost .comparison_table tbody td .small {
    display: block;
    font-size: 14px;
    line-height: 1.3;
    color: #05161a;
    font-family: "zen kaku gothic antique", sans-serif;
}

#page_owner .cost .comparison_table tbody td.item_name {
    font-weight: 700;
    background-color: #fff;
    color: #05161a;
    font-size: 20px;
}

#page_owner .cost .comparison_table tbody td.item_name .small {
    display: inline;
    font-size: 16px;
}

#page_owner .cost .comparison_table tbody td.aldo {
    background-color: #dff0f8;
    color: #d30f0f;
    font-weight: 700;
    position: relative;
    border: 1px solid #fff;
}

#page_owner .cost .comparison_table tbody td.aldo::before {
    position: absolute;
    content: "";
    display: block;
    top: -1px;
    left: -1px;
    width: 8px;
    height: calc(100% + 1px);
    background-color: #2b7aa2;
}

#page_owner .cost .comparison_table tbody td.aldo::after {
    position: absolute;
    content: "";
    display: block;
    top: -1px;
    right: -1px;
    width: 8px;
    height: calc(100% + 1px);
    background-color: #2b7aa2;
}

#page_owner .cost .comparison_table tbody tr.total td.aldo {
    border-bottom: 8px solid #2b7aa2;
}

/* consult */
#page_owner .consult {
    padding: 0 0 150px;
}

#page_owner .consult .description {
    font-size: 16px;
    line-height: 1.4;
    margin-top: 25px;
    text-align: center;
}

#page_owner .consult .cta_btn {
    width: 640px;
    margin: 31px auto 0;
    padding: 15px;
    border-radius: 50px;
    gap: 91px;
}

#page_owner .consult .cta_btn .icon_box {
    width: 70px;
    height: 70px;
}

#page_owner .consult .cta_btn .icon_box img {
    width: 100%;
}

#page_owner .consult .cta_btn .text {
    font-size: 32px;
}

/* dx_bg */
#page_owner .dx_bg {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

#page_owner .dx_bg::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1376px;
    background-color: #e9ecf0;
    z-index: -1;
}

#page_owner .dx_bg::after {
    content: "";
    position: absolute;
    top: 1542px;
    left: 428px;
    width: 1014px;
    height: 690px;
    background: url(./image/voice_bg.png) no-repeat center center/cover;
    z-index: -1;
}

/* dx */
#page_owner .dx {
    padding: 147px 0 0;
    position: relative;
}

#page_owner .dx::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 490px;
    background: url(./image/dx_bg.png) no-repeat center center/cover;
    z-index: -2;
}

#page_owner .dx .description {
    font-size: 16px;
    line-height: 1.4;
    margin-top: 17px;
    text-align: center;
}

#page_owner .dx .dx_list {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px 30px;
}

#page_owner .dx .dx_list .dx_item {
    display: flex;
    flex-direction: column;
}

#page_owner .dx .dx_list .dx_item .image_box {
    width: 100%;
    height: 240px;
}

#page_owner .dx .dx_list .dx_item .image_box .image {
    aspect-ratio: 360/240;
}

#page_owner .dx .dx_list .dx_item .list_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}

#page_owner .dx .dx_list .dx_item .list_content .list_title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

#page_owner .dx .dx_list .dx_item .list_content .list_description {
    font-size: 16px;
    line-height: 1.6;
}

/* voice */
#page_owner .voice {
    padding: 144px 0 126px;
    position: relative;
    z-index: 1;
}

#page_owner .voice .description {
    font-size: 16px;
    line-height: 1.4;
    margin-top: 10px;
    text-align: center;
}

#page_owner .voice .voice_list {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

#page_owner .voice .voice_list .voice_item {
    display: flex;
    gap: 25px;
    background-color: #fff;
    padding: 30px 25px 18px 30px;
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid #eceeef;
}

#page_owner .voice .voice_list .voice_item .image_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

#page_owner .voice .voice_list .voice_item .image_box .image {
    width: 130px;
    height: 130px;
    aspect-ratio: 130/130;
}

#page_owner .voice .voice_list .voice_item .list_text {
    flex: 1;
    font-size: 16px;
    line-height: 1.6;
}

/*----------------------------------------
　　help
----------------------------------------*/
/* title */
.section_title {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
}

/* message_bg */
#page_help .message_bg {
    position: relative;
    z-index: 3;
}

#page_help .message_bg::before {
    content: "";
    position: absolute;
    top: 300px;
    left: 0;
    width: 100%;
    height: 720px;
    background: url(./image/search_bg.png) no-repeat center center/cover;
    z-index: -1;
}

/* message */
#page_help .message .description {
    font-size: 18px;
    margin-top: 10px;
    text-align: center;
}

/* cta */
#page_help .cta {
    margin-bottom: 60px;
    position: relative;
    z-index: 1;
}

#page_help .cta .cta_wrap {
    padding: 60px 30px;
    border-radius: 10px;
    background-color: #fafafa;
}

#page_help .cta.cta01 .cta_wrap {
    padding: 10px 30px 30px;
    background-color: unset;
}

#page_help .cta .cta_title {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    position: relative;
}

#page_help .cta .cta_title::before {
    content: "";
    position: absolute;
    top: 5px;
    left: -15px;
    width: 2px;
    height: 30px;
    background-color: #05161a;
    transform: rotate(-45deg);
}

#page_help .cta .cta_title::after {
    content: "";
    position: absolute;
    top: 5px;
    right: -15px;
    width: 2px;
    height: 30px;
    background-color: #05161a;
    transform: rotate(45deg);
}

#page_help .cta .action_buttons {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

#page_help .cta .action_buttons .cta_btn {
    width: 100%;
    height: 100%;
    padding: 20px 25px 20px 80px;
    border-radius: 50px;
    position: relative;
}

#page_help .cta .action_buttons .cta_btn .icon_box {
    width: 56px;
    height: 56px;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
}

#page_help .cta .action_buttons .cta_btn .text {
    font-size: 18px;
}

/* problem_bg */
#page_help .problem_bg {
    position: relative;
    z-index: 3;
}

#page_help .problem_bg::before {
    content: "";
    position: absolute;
    top: 200px;
    left: 0;
    width: 100%;
    height: 720px;
    background: url(./image/search_bg.png) no-repeat center center/cover;
    z-index: -1;
}

/* problem */
#page_help .problem {
    padding: 0 0 150px;
    position: relative;
    z-index: 2;
}

#page_help .problem .problem_wrap {
    padding: 60px 100px;
    background-color: #fafafa;
}

#page_help .problem .problem_list {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    background-color: #fff;
    border-radius: 10px;
    padding: 30px;
    border: 1px solid #eceeef;
    position: relative;
}

#page_help .problem .problem_list::before {
    content: "";
    position: absolute;
    bottom: -175px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 62px;
    background: url(./image/icon_arrow_vertical.svg) no-repeat center center/cover;
}

#page_help .problem .problem_list .list_item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#page_help .problem .problem_list .list_item .list_text {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.1142857143;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #133562;
}

#page_help .problem .problem_list .list_item .list_text::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #133562;
    border-radius: 50%;
}

/* solution */
#page_help .solution {
    padding: 0 0 90px;
    position: relative;
    z-index: 3;
}

#page_help .solution .solution_list {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

#page_help .solution .solution_list .list_item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#page_help .solution .solution_list .list_item .image_box {
    width: 100%;
    height: 200px;
    border-radius: 5px;
    overflow: hidden;
}

#page_help .solution .solution_list .list_item .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 270/200;
}

#page_help .solution .solution_list .list_item .list_title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

#page_help .solution .solution_list .list_item .list_title .list_description {
    display: block;
    font-size: 18px;
    line-height: 1.6;
}

/* service_bg */
#page_help .service_bg {
    position: relative;
    z-index: 5;
}

#page_help .service_bg::before {
    content: "";
    position: absolute;
    top: 150px;
    left: 0;
    width: 100%;
    height: 1040px;
    background: url(./image/youtube_bg.png) no-repeat center center/cover;
    z-index: -1;
}

#page_help .service_bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #f2f6fa;
    z-index: -2;
}

/* service */
#page_help .service {
    padding: 60px 0 90px;
    position: relative;
    z-index: 5;
    margin-bottom: 60px;
}

#page_help .service .service_list {
    margin-top: 35px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 60px;
}

#page_help .service .service_list .list_item {
    display: flex;
    gap: 80px;
    background-color: #fff;
    border-radius: 10px;
    padding: 20px 30px;
}

#page_help .service .service_list .list_item:nth-of-type(even) {
    flex-direction: row-reverse;
}

#page_help .service .service_list .list_item .image_box {
    width: 420px;
    height: 100%;
    border-radius: 5px;
    overflow: hidden;
}

#page_help .service .service_list .list_item .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

#page_help .service .service_list .list_item .list_content {
    display: flex;
    flex-direction: column;
    gap: 25px;
    flex: 1;
}

#page_help .service .service_list .list_item .list_title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    position: relative;
    padding-left: 15px;
}

#page_help .service .service_list .list_item .list_title::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 10px;
    height: 10px;
    background-color: #133562;
    border-radius: 50%;
}

#page_help .service .service_list .list_item .list_features {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#page_help .service .service_list .list_item .list_features .list_feature {
    font-size: 16px;
    line-height: 1.6;
}

#page_help .service .service_list .list_item .list_features .list_feature .list_feature_title {
    display: inline-block;
    font-size: 16px;
    line-height: 1.6;
    display: flex;
    align-items: center;
    gap: 5px;
}

#page_help .service .service_list .list_item .list_features .list_feature .list_feature_title::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #05161a;
    border-radius: 50%;
}

#page_help .service .service_list .list_item .list_features .list_feature .list_feature_description {
    font-size: 16px;
    line-height: 1.6;
    display: block;
}

/* cost */

#page_help .cost {
    padding: 70px 0 0;
}

#page_help .cost .section_title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

#page_help .cost .section_title::before {
    content: "";
    position: absolute;
    top: 5px;
    left: -30px;
    width: 3px;
    height: 50px;
    background-color: #05161a;
    z-index: -1;
    transform: rotate(-45deg);
}

#page_help .cost .section_title::after {
    content: "";
    position: absolute;
    top: 5px;
    right: -30px;
    width: 3px;
    height: 50px;
    background-color: #05161a;
    z-index: -1;
    transform: rotate(45deg);
}

#page_help .cost .comparison_table {
    margin-top: 35px;
}

#page_help .cost .comparison_table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    vertical-align: middle;
}

#page_help .cost .comparison_table table thead th {
    padding: 20px 15px;
    background-color: #f4f7f8;
    border: 1px solid #dee2e6;
    text-align: center;
    font-weight: bold;
    font-size: 28px;
    width: 33.3333333333%;
}

#page_help .cost .comparison_table table thead th.item_name {
    border: none;
    background-color: transparent;
}

#page_help .cost .comparison_table table thead th:nth-last-of-type(2) {
    border-right: 1px solid #2b7aa2;
}

#page_help .cost .comparison_table table thead th.aldo {
    background-color: #2b7aa2;
    color: #fff;
    border: 1px solid #2b7aa2;
}

#page_help .cost .comparison_table table tbody td {
    padding: 20px 15px;
    border: 1px solid #dee2e6;
    text-align: center;
    font-size: 20px;
    background-color: #fff;
    vertical-align: middle;
}

#page_help .cost .comparison_table table tbody td.item_name {
    background-color: #fff;
    font-weight: 700;
    font-size: 20px;
}

#page_help .cost .comparison_table table tbody td.aldo {
    background-color: #dff0f8;
    color: #d30f0f;
    font-weight: 700;
    border: 1px solid #fff;
    position: relative;
}

#page_help .cost .comparison_table table tbody td.aldo::before {
    position: absolute;
    content: "";
    display: block;
    top: -1px;
    left: -1px;
    width: 8px;
    height: calc(100% + 1px);
    background-color: #2b7aa2;
}

#page_help .cost .comparison_table table tbody td.aldo::after {
    position: absolute;
    content: "";
    display: block;
    top: -1px;
    right: -1px;
    width: 8px;
    height: calc(100% + 1px);
    background-color: #2b7aa2;
}

#page_help .cost .comparison_table table tbody tr.total td.aldo {
    border-bottom: 8px solid #2b7aa2;
}

#page_help .cost .comparison_table table tbody td .price {
    font-size: 32px;
    font-family: "satoshi", sans-serif;
}

#page_help .cost .note {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 25px;
    text-align: center;
}

/* voice_bg */
#page_help .voice_bg {
    position: relative;
    z-index: 1;
}

#page_help .voice_bg::before {
    content: "";
    position: absolute;
    top: 170px;
    left: 0;
    width: 100%;
    height: 308px;
    background: url(./image/fee_bg.png) no-repeat center center/cover;
    z-index: -1;
}

/* voice */
#page_help .voice {
    padding: 120px 0;
}

#page_help .voice .voice_list {
    margin-top: 35px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#page_help .voice .voice_list .list_item {
    display: flex;
    align-items: center;
    gap: 20px;
    background-color: #fff;
    border-radius: 10px;
    padding: 20px 30px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

#page_help .voice .voice_list .list_item .image_box {
    width: 130px;
    height: 130px;
}

#page_help .voice .voice_list .list_item .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 130/130;
}

#page_help .voice .voice_list .list_item .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 420/280;
}

#page_help .voice .voice_list .list_item .list_content {
    flex: 1;
    display: flex;
}

#page_help .voice .voice_list .list_item .list_text {
    font-size: 24px;
    font-weight: 700;
}

#page_help .voice .voice_list .list_item .list_author {
    font-size: 20px;
    font-weight: 700;
}

/* flow */
#page_help .flow {
    padding: 150px 0;
    background-color: #f2f6fa;
    position: relative;
    z-index: 2;
}

#page_help .flow .title_description {
    margin-top: 16px;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
}

#page_help .flow .flow_list {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 80px;
}

#page_help .flow .flow_list .list_item {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

#page_help .flow .flow_list .list_item::before {
    content: "";
    position: absolute;
    top: 93px;
    right: -55px;
    width: 30px;
    height: 31px;
    background: url(./image/icon_arrow_horizon.svg) no-repeat center center/cover;
    z-index: 1;
}

#page_help .flow .flow_list .list_item:last-child::before {
    display: none;
}

#page_help .flow .flow_list .list_item .image_box {
    width: 100%;
    height: auto;
    border-radius: 5px;
    overflow: hidden;
}

#page_help .flow .flow_list .list_item .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 420/280;
}

#page_help .flow .flow_list .list_item .list_content {
    display: flex;
    flex-direction: column;
    flex: 1;
    margin-top: 10px;
}

#page_help .flow .flow_list .list_item .list_content .number {
    font-size: 14px;
    color: #c1c8d1;
    font-weight: 700;
    font-family: "satoshi", sans-serif;
}

#page_help .flow .flow_list .list_item .list_content .list_title_box {
    display: flex;
    flex-direction: column;
}

#page_help .flow .flow_list .list_item .list_content .list_title {
    font-size: 20px;
    font-weight: 700;
}

#page_help .flow .flow_list .list_item .list_content .list_description {
    font-size: 16px;
    display: block;
}

/* faq_bg */
#page_help .faq_bg {
    position: relative;
    z-index: 1;
}

#page_help .faq_bg::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 585px;
    height: 695px;
    background: url(./image/review_bg.png) no-repeat center center/cover;
    z-index: -1;
}

/* faq */
#page_help .faq {
    padding: 150px 0;
}

#page_help .faq .faq_list {
    margin-top: 35px;
}

#page_help .faq .faq_list .faq_item {
    background-color: #e9ecf0;
    padding: 30px 20px 30px 40px;
    margin-bottom: 20px;
    border-radius: 10px;
}

#page_help .faq .faq_question {
    margin-bottom: 15px;
    position: relative;
    padding-left: 50px;
}

#page_help .faq .faq_question::before {
    content: "Q";
    position: absolute;
    left: 0;
    top: 0;
    width: 36px;
    height: 36px;
    background-color: #133562;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 500;
    font-size: 20px;
}

#page_help .faq .faq_question .question_text {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}

#page_help .faq .faq_answer {
    padding: 0 20px 20px 50px;
    border-radius: 6px;
    position: relative;
}

#page_help .faq .faq_answer::before {
    content: "A";
    position: absolute;
    left: 0;
    top: -2px;
    width: 36px;
    height: 36px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #133562;
    font-weight: 500;
    font-size: 20px;
    border: 1px solid #133562;
}

#page_help .faq .faq_answer .answer_text {
    font-size: 18px;
    margin: 0;
}

/*----------------------------------------
　　support
----------------------------------------*/
/* title */
#page_support .support_title {
    font-size: 32px;
    font-weight: 700;
    position: relative;
    text-align: center;
    margin: 20px 0;
}

#page_support .support_title::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    height: 10px;
    background: url(./image/present_line.png) repeat-x center center/25px 10px;
}

#page_support .support_title::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 100%;
    height: 10px;
    background: url(./image/present_line.png) repeat-x center center/25px 10px;
}

/* campaign */
/* present */
#page_support .campaign .present {
    padding: 150px 0;
    position: relative;
}

#page_support .campaign .present .present_title {
    margin: 40px 0;
}

#page_support .campaign .present .present_title::before {
    top: -40px;
}

#page_support .campaign .present .present_title::after {
    bottom: -40px;
}

#page_support .campaign .present .present_title .highlight {
    color: #d30f0f;
    font-size: 48px;
}

#page_support .campaign .present .image_box {
    width: 800px;
    height: auto;
    margin: 80px auto 0;
}

/* method_bg */
#page_support .campaign .method_bg {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

#page_support .campaign .method_bg::before {
    content: "";
    position: absolute;
    top: 70px;
    right: 0;
    width: 100%;
    height: 328px;
    background: url(./image/recommend_bg_01.png) no-repeat center center/cover;
    z-index: -1;
}

#page_support .campaign .method_bg::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #fafafa;
    z-index: -2;
}

/* method */
#page_support .campaign .method {
    padding: 100px 0;
}

#page_support .campaign .method .method_list {
    margin-top: 60px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 80px;
}

#page_support .campaign .method .method_list .method_item {
    display: flex;
    flex-direction: column;
    position: relative;
}

#page_support .campaign .method .method_list .method_item::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -55px;
    width: 30px;
    height: 31px;
    background: url(./image/icon_arrow_horizon.svg) no-repeat center center/cover;
}

#page_support .campaign .method .method_list .method_item:last-child::before {
    display: none;
}

#page_support .campaign .method .method_list .method_item .title_box {
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: #133562;
    color: #fff;
    padding: 10px;
}

#page_support .campaign .method .method_list .method_item .title_box .number {
    font-size: 20px;
    font-weight: 700;
    background-color: #fff;
    color: #133562;
    padding: 0 10px;
    font-family: "satoshi", sans-serif;
}

#page_support .campaign .method .method_list .method_item .title_box .title {
    font-size: 24px;
    font-weight: 700;
}

#page_support .campaign .method .method_list .method_item .image_box {
    width: 100%;
    height: auto;
}

#page_support .campaign .method .method_list .method_item .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 326/217;
}

#page_support .campaign .method .method_list .method_item .text {
    font-size: 18px;
    background-color: #fff;
    padding: 20px;
    flex: 1;
}

#page_support .campaign .method .method_list .method_item .highlight {
    color: #d30f0f;
    font-size: 24px;
    font-weight: 700;
}

/* form */
#page_support .campaign .form {
    padding: 90px 0;
}

#page_support .campaign .form .common_btn {
    margin-top: 60px;
}

/* overview */
#page_support .campaign .overview {
    padding: 90px 0;
    background-color: #e9ecf0;
}

#page_support .campaign .overview .overview_title {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    position: relative;
    padding-bottom: 15px;
}

#page_support .campaign .overview .overview_title::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background-color: #133562;
}

#page_support .campaign .overview .overview_table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 40px;
    background-color: #fff;
}

#page_support .campaign .overview .overview_table th,
#page_support .campaign .overview .overview_table td {
    border: 1px solid #ddd;
    padding: 20px;
    vertical-align: top;
}

#page_support .campaign .overview .overview_table th {
    background-color: #133562;
    font-weight: 700;
    width: 200px;
    text-align: left;
    color: #fff;
    font-size: 20px;
}

#page_support .campaign .overview .overview_table td {
    background-color: #fff;
}

#page_support .campaign .overview .overview_table .text {
    margin: 0 0 15px 0;
    line-height: 1.6;
}

#page_support .campaign .overview .overview_table .text:last-child {
    margin-bottom: 0;
}

#page_support .campaign .overview .overview_table .highlight {
    font-weight: 700;
    font-size: 18px;
}

#page_support .campaign .overview .overview_table .highlight.more {
    font-size: 20px;
}

/* faq */
#page_support .campaign .faq {
    padding: 150px 0;
}

#page_support .campaign .faq .faq_list {
    margin-top: 60px;
}

#page_support .campaign .faq .faq_list .faq_item {
    background-color: #e9ecf0;
    padding: 20px 30px;
    margin-bottom: 20px;
    border-radius: 10px;
}

#page_support .campaign .faq .faq_question {
    margin-bottom: 15px;
    position: relative;
    padding-left: 50px;
}

#page_support .campaign .faq .faq_question::before {
    content: "Q";
    position: absolute;
    left: 0;
    top: 0;
    width: 36px;
    height: 36px;
    background-color: #133562;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 500;
    font-size: 20px;
}

#page_support .campaign .faq .faq_question .question_text {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}

#page_support .campaign .faq .faq_answer {
    padding: 0 20px 0 50px;
    border-radius: 6px;
    position: relative;
}

#page_support .campaign .faq .faq_answer::before {
    content: "A";
    position: absolute;
    left: 0;
    top: -2px;
    width: 36px;
    height: 36px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #133562;
    font-weight: 500;
    font-size: 20px;
    border: 1px solid #133562;
}

#page_support .campaign .faq .faq_answer .answer_text {
    font-size: 18px;
    margin: 0;
}

/* service */
#page_support .service .common_page_main::before {
    z-index: -1;
}

/* service */
/* intro */
#page_support .service .common_page_main {
    padding: 90px 0;
    overflow: hidden;
}

#page_support .service .common_page_main::before {
    top: 50px;
    height: 308px;
    background: url(./image/fee_bg.png) no-repeat center center/cover;
}

#page_support .service .common_page_main::after {
    z-index: -2;
    background-color: #f2f6fa;
}

#page_support .service .common_page_main .title_box .title {
    color: #05161a;
    text-align: center;
}

#page_support .service .common_page_main .title_box .description {
    color: #05161a;
    text-align: center;
}

#page_support .service .intro {
    padding-top: 60px;
}

#page_support .service .intro_wrap {
    display: flex;
    align-items: center;
    gap: 80px;
}

#page_support .service .intro_text {
    flex: 1;
    text-align: center;
}

#page_support .service .intro_title {
    position: relative;
    z-index: 10;
    padding: 15px 20px;
    box-shadow: 0 1px 3px #777;
    background: rgb(255, 255, 255);
    background: linear-gradient(to bottom,
            rgb(255, 255, 255) 0%,
            rgb(246, 246, 246) 47%,
            rgb(237, 237, 237) 100%);
    text-align: center;
    text-shadow: -1px -1px #fff;
    color: #133562;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.3;
}

#page_support .service .intro_title::before,
#page_support .service .intro_title::after {
    content: "";
    position: absolute;
    top: 100%;
    height: 0;
    width: 0;
    border: 5px solid transparent;
    border-top: 5px solid #333;
}

#page_support .service .intro_title::before {
    right: 0;
    border-left: 5px solid #333;
}

#page_support .service .intro_title::after {
    left: 0;
    border-right: 5px solid #333;
}

#page_support .service .intro_features {
    display: flex;
    justify-content: center;
    gap: 20px;
    list-style: none;
    margin: 20px 0 0 0;
    padding: 0;
}

#page_support .service .intro_feature {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 20px;
    border: 3px solid #2b7aa2;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgb(43, 122, 162);
    background: linear-gradient(135deg,
            rgb(43, 122, 162) 0%,
            rgb(20, 80, 120) 50%,
            rgb(3, 122, 162) 100%);
    list-style-type: none;
    color: #fff;
    text-shadow: -1px -1px #0c4a6b;
    font-size: 16px;
    line-height: 1.4;
}

#page_support .service .intro_image {
    flex: 0 0 300px;
}

#page_support .service .intro_image .image_box {
    width: 100%;
    height: auto;
}

#page_support .service .intro_image .image_box .image {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* category */
#page_support .service .category {
    margin-top: 60px;
    padding-bottom: 150px;
}

#page_support .service .category_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    position: relative;
    z-index: 5;
}

#page_support .service .category_item {
    display: flex;
    flex-direction: column;
    border: 1px solid #eceeef;
    border-radius: 5px;
    overflow: hidden;
}

#page_support .service .category_item .image_box {
    width: 100%;
    height: auto;
}

#page_support .service .category_item .image_box .image {
    width: 100%;
    height: auto;
    aspect-ratio: 353/235;
}

#page_support .service .category_item .category_text {
    flex: 1;
    background-color: #fff;
    padding: 20px 10px;
}

#page_support .service .category_item .category_text .category_title {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    padding-bottom: 10px;
}

#page_support .service .category_item .category_text .category_description {
    font-size: 16px;
    line-height: 2;
}

#page_support .service .category_item .category_text .category_description .narrow {
    letter-spacing: -0.06em;
}

/* special */
#page_support .service .special .special_title {
    color: #d30f0f;
    position: relative;
    z-index: 3;
}

/* benefit */

#page_support .service .special .benefit {
    margin-top: 55px;
    position: relative;
    z-index: 2;
}

#page_support .service .special .benefit .benefit_wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

#page_support .service .special .benefit .benefit_item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#page_support .service .special .benefit .benefit_item .benefit_title {
    font-size: 28px;
    font-weight: 700;
    text-align: center;
}

#page_support .service .special .benefit .benefit_item .benefit_description {
    font-size: 18px;
}

#page_support .service .special .benefit .benefit_item .highlight_price {
    color: #d30f0f;
}

/* flow_bg */
#page_support .service .flow_bg {
    position: relative;
    z-index: 1;
}

#page_support .service .flow_bg::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 720px;
    background: url(./image/search_bg.png) no-repeat center center/cover;
    z-index: -1;
    opacity: .7;
    pointer-events: none;
}

/* flow */
#page_support .service .special .flow {
    padding-top: 100px;
}

#page_support .service .special .flow .flow_title {
    font-size: 28px;
    font-weight: 700;
    color: #133562;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    position: relative;
    padding-bottom: 15px;
}

#page_support .service .special .flow .flow_title::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background-color: #133562;
}

#page_support .service .special .flow .flow_list {
    display: flex;
    flex-direction: column;
    gap: 50px;
    margin-top: 35px;
    background: rgba(255, 255, 255, 0.8);
    padding: 50px;
    border: 1px solid #eceeef;
    border-radius: 5px;
}

#page_support .service .special .flow .flow_list .flow_item {
    display: flex;
    gap: 30px;
    /* background: rgba(255,255,255,0.8); */
    /* padding: 30px; */
    /* border: 1px solid #eceeef; */
    /* border-radius: 5px; */
}

#page_support .service .special .flow .flow_list .flow_item .number {
    font-size: 32px;
    font-weight: 700;
    font-family: "satoshi", sans-serif;
    min-width: 150px;
    border-right: 2px solid #133562;
    color: #133562;
    display: flex;
    align-items: center;
}

#page_support .service .special .flow .flow_list .flow_item .list_content {
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex: 1;
}

#page_support .service .special .flow .flow_list .flow_item .list_content .list_title {
    font-size: 32px;
    font-weight: 700;
    color: #133562;
}

#page_support .service .special .flow .flow_list .flow_item .list_content .list_description {
    font-size: 18px;
}

#page_support .service .special .flow .flow_list .flow_item .list_content .list_description .highlight {
    font-size: 16px;
    display: block;
    font-weight: 700;
}

#page_support .service .special .flow .note_text {
    font-size: 18px;
    text-align: center;
    margin-top: 20px;
}

/* cta */
#page_support .cta {
    padding: 150px 0;
    position: relative;
    z-index: 1;
}

#page_support .cta .cta_header {
    text-align: center;
}

#page_support .cta .cta_title {
    font-size: 18px;
    font-weight: 700;
    position: relative;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}

#page_support .cta .cta_title::before {
    content: "";
    position: absolute;
    top: 0;
    left: -30px;
    width: 2px;
    height: 100%;
    background-color: #05161a;
    transform: rotate(-30deg);
}

#page_support .cta .cta_title::after {
    content: "";
    position: absolute;
    top: 0;
    right: -30px;
    width: 2px;
    height: 100%;
    background-color: #05161a;
    transform: rotate(30deg);
}

#page_support .cta .cta_title .highlight {
    font-size: 32px;
}

#page_support .cta .cta_content {
    max-width: 800px;
    margin: 60px auto 0;
    border: 1px solid #eceeef;
}

#page_support .cta .cta_heading {
    text-align: center;
    background-color: #133562;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    padding: 10px 20px;
}

#page_support .cta .cta_info {
    display: flex;
    align-items: center;
}

#page_support .cta .cta_text {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 20px;
}

#page_support .cta .price_text {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}

#page_support .cta .cta_button {
    text-align: center;
    width: 100%;
    margin-top: 10px;
}

#page_support .cta .common_btn_inquiry {
    display: inline-block;
    background: #133562;
    color: #fff;
    padding: 15px 40px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 24px;
    font-weight: bold;
    transition: all 0.3s ease;
    width: 100%;
}

#page_support .cta .cta_note {
    font-size: 15px;
    text-align: center;
    margin-top: 10px;
}

#page_support .cta .cta_image {
    flex: 0 0 300px;
    margin-top: -90px;
    padding: 0 10px;
}

#page_support .cta .image_box {
    width: 100%;
    height: auto;
}

#page_support .cta .cta_img {
    width: 100%;
    height: auto;
}

#page_support .cta .cta_footer {
    background-color: #e9ecf0;
}

#page_support .cta .cta_contact_info {
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 10px 20px;
    color: #05161a;
}

#page_support .cta .contact_text,
#page_support .cta .contact_phone,
#page_support .cta .contact_hours {
    text-align: center;
}

#page_support .cta .contact_label {
    font-size: 14px;
}

#page_support .cta .phone_number {
    font-size: 28px;
    font-weight: 700;
    font-family: "satoshi", sans-serif;
}

#page_support .cta .hours_text {
    font-size: 14px;
    font-weight: 700;
}

/* faq_bg */
#page_support .service .faq_bg {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

#page_support .service .faq_bg::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 585px;
    height: 695px;
    background: url(./image/review_bg.png) no-repeat center center/cover;
    z-index: -1;
}

#page_support .service .faq_bg::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #e9ecf0;
    z-index: -2;
}

/* faq */
#page_support .service .faq {
    padding: 90px 0;
    position: relative;
    z-index: 1;
}

#page_support .service .faq .faq_title {
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    position: relative;
    padding: 15px 0;
}

#page_support .service .faq .faq_title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 2px;
}

#page_support .service .faq .faq_list {
    margin-top: 20px;
}

#page_support .service .faq .faq_list .faq_item {
    background-color: #fff;
    padding: 30px 20px 30px 40px;
    margin-bottom: 20px;
    border-radius: 10px;
}

#page_support .service .faq .faq_question {
    margin-bottom: 15px;
    position: relative;
    padding-left: 50px;
}

#page_support .service .faq .faq_question::before {
    content: "Q";
    position: absolute;
    left: 0;
    top: 0;
    width: 36px;
    height: 36px;
    background-color: #133562;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 500;
    font-size: 20px;
}

#page_support .service .faq .faq_question .question_text {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}

#page_support .service .faq .faq_answer {
    padding: 0 20px 0 50px;
    border-radius: 6px;
    position: relative;
}

#page_support .service .faq .faq_answer::before {
    content: "A";
    position: absolute;
    left: 0;
    top: -2px;
    width: 36px;
    height: 36px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #133562;
    font-weight: 500;
    font-size: 20px;
    border: 1px solid #133562;
}

#page_support .service .faq .faq_answer .answer_text {
    font-size: 18px;
    margin: 0;
}

/*----------------------------------------
　　company
----------------------------------------*/
/* company_bg */
#page_company .company_bg {
    position: relative;
    z-index: 1;
}

#page_company .company_bg::before {
    content: "";
    position: absolute;
    top: 155px;
    left: 0;
    width: 100%;
    height: 1040px;
    background: url(./image/youtube_bg.png) no-repeat center center/cover;
    z-index: -1;
}

#page_company .company_bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fafafa;
    z-index: -2;
}

/* company */
#page_company .company {
    padding: 150px 0;
    position: relative;
    z-index: 1;
}

#page_company .company .company_info {
    max-width: 1000px;
    margin: 60px auto 0;
}

#page_company .company .company_table {
    width: 100%;
    border-collapse: collapse;
}

#page_company .company .company_table tbody tr:last-child {
    border-bottom: none;
}

#page_company .company .company_table .info_label {
    width: 20%;
    padding: 20px 0;
    text-align: left;
    font-weight: 700;
    border-top: 2px solid #133562;
    color: #133562;
    font-size: 15px;
}

#page_company .company .company_table .info_value {
    width: 80%;
    padding: 20px;
    text-align: left;
    vertical-align: top;
    border-top: 2px solid #ccc;
    font-size: 15px;
    vertical-align: bottom;
}

#page_company .company .company_table .info_link {
    color: #0c5980;
    text-decoration: underline;
    transition: color 0.3s ease;
}

/* map */
#page_company .map {
    padding: 150px 0 0;
    position: relative;
    z-index: 1;
}

#page_company .map .map_container {
    width: 100%;
    height: 500px;
    margin-top: 60px;
}

#page_company .map .map_container iframe {
    width: 100%;
    height: 100%;
}

#page_company .map .access_info {
    margin-top: 30px;
    padding: 1.5em;
    border-radius: 10px;
    font-size: 16px;
    border: 1px solid #d7d7d7;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

#page_company .map .access_info .text {
    letter-spacing: .02em;
    line-height: 1.7;
}

#page_company .map .access_info .text+.text {
    border-left: 1px dashed #d7d7d7;
    padding-left: 1.5em;
}

#page_company .mission,
#page_company .motto,
#page_company .message {
    padding-top: 150px;
}

#page_company .common_img_box {
    margin-top: 60px;
}

.common_img_box {
    display: flex;
    gap: 120px;
    align-items: center;
}

.common_img_box .img {
    width: 430px;
    height: 300px;
    flex-shrink: 0;
    position: relative;
}

.common_img_box .img::after {
    position: absolute;
    content: "";
    border: 1.5px solid #133562;
    width: 100%;
    height: 100%;
    top: 20px;
    left: -20px;
    z-index: -1;
}

.common_img_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_img_box .text_box .theme {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
}

.common_img_box .text_box .comment {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.5;
}

.common_img_box .text_box .name {
    font-size: 16px;
    letter-spacing: 0.05em;
    font-weight: 600;
    margin-top: 10px;
}

.motto .list {
    margin-top: 40px;
}

.motto .list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.motto .list ul li {
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
}

.motto .list ul li .img {
    width: 100%;
    height: 220px;
}

.motto .list ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.motto .list ul li .text_box {
    padding: 15px;
}

.motto .list ul li .text_box .theme {
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-bottom: 5px;
    font-size: 18px;
}

.motto .list ul li .text_box .text {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.05em;
}

/*----------------------------------------
　　staff
----------------------------------------*/
#page_staff .staff {
    padding: 150px 0;
    position: relative;
    z-index: 1;
}

#page_staff .staff .staff_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 35px;
}

#page_staff .staff .staff_item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#page_staff .staff .staff_item .link {
    display: block;
    color: #05161a;
    transition: opacity 0.3s ease;
}

#page_staff .staff .staff_item .image_box {
    width: 100%;
    height: 245px;
}

#page_staff .staff .staff_item .image_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 28%;
}

#page_staff .staff .staff_item .image_box .image {
    width: 100%;
    height: auto;
    aspect-ratio: 353/235;
}

#page_staff .staff .staff_item .text_box {
    flex: 1;
}

#page_staff .staff .staff_item .text_box .name {
    font-size: 24px;
    font-weight: 700;
}

/*----------------------------------------
　　staff_detail
----------------------------------------*/
/* staff_detail_bg */
#page_staff_detail .staff_detail_bg {
    position: relative;
    z-index: 1;
}

#page_staff_detail .staff_detail_bg::before {
    content: "";
    position: absolute;
    top: 265px;
    left: 0;
    width: 100%;
    height: 654px;
    background: url(./image/blog_bg.png) no-repeat center center/cover;
}

/* staff_detail */
#page_staff_detail .staff_detail {
    padding: 150px 0;
    position: relative;
    z-index: 1;
}

#page_staff_detail .staff_detail .staff_profile {
    display: flex;
    gap: 40px;
}

#page_staff_detail .staff_detail .staff_profile .image_box {
    width: 300px;
    height: 330px;
}

#page_staff_detail .staff_detail .staff_profile .image_box .image {
    width: 100%;
    height: 100%;
    aspect-ratio: 300/330;
}

#page_staff_detail .staff_detail .staff_profile .staff_info {
    flex: 1;
}

#page_staff_detail .staff_detail .staff_profile .staff_info .staff_header {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

#page_staff_detail .staff_detail .staff_profile .staff_info .staff_header .staff_name {
    font-size: 28px;
    font-weight: 700;
    position: relative;
    overflow: hidden;
    padding: 0 10px;
    color: #133562;
}

#page_staff_detail .staff_detail .staff_profile .staff_info .staff_header .staff_name::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #133562;
    -webkit-animation: staff_name_before 1s ease-in-out forwards;
    animation: staff_name_before 1s ease-in-out forwards;
    transform: translateX(-100%);
}

@-webkit-keyframes staff_name_before {
    0% {
        transform: translateX(-100%);
    }

    40% {
        transform: translateX(0);
    }

    70% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(110%);
    }
}

@keyframes staff_name_before {
    0% {
        transform: translateX(-100%);
    }

    40% {
        transform: translateX(0);
    }

    70% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(110%);
    }
}

#page_staff_detail .staff_detail .staff_profile .staff_info .staff_header .staff_name_en {
    font-size: 20px;
    font-family: "satoshi", sans-serif;
    font-weight: 700;
    color: #c1c8d1;
}

#page_staff_detail .staff_detail .staff_profile .staff_info .info_item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 40px;
    padding: 20px;
}

#page_staff_detail .staff_detail .staff_profile .staff_info .info_item:nth-last-of-type(2n) {
    background-color: #f2f6fa;
    border-radius: 10px;
}

#page_staff_detail .staff_detail .staff_profile .staff_info .info_item:nth-last-of-type(2n + 1) {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
}

#page_staff_detail .staff_detail .staff_profile .staff_info .info_item .info_title {
    font-size: 24px;
    font-weight: 700;
    margin-top: -37px;
    color: #133562;
}

#page_staff_detail .staff_detail .staff_profile .staff_info .info_item .info_title_message {
    font-family: "satoshi", sans-serif;
}

#page_staff_detail .staff_detail .staff_profile .staff_info .info_item .info_text {
    font-size: 18px;
    flex: 1;
}

.page_butken_heya .common_page_wrap {
    padding: 0 0 100px;
}

#page_support .special .service_cont {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-top: 70px;
}

#page_support .special .service_cont .item .img {
    height: 300px;
    border-radius: 5px;
    overflow: hidden;
}

#page_support .special .service_cont .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#page_support .special .service_cont .item .text_area {
    padding-top: 15px;
}

#page_support .special .service_cont .item .text_area .item_ttl {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: .5em;
    letter-spacing: .04em;
}

#page_support .special .service_cont .item .text_area .text {
    font-size: 18px;
    letter-spacing: .02em;
}

#page_support .special .service_cont .item .text_area .text .color {
    color: #d30f0f;
    font-weight: 700;
}

.service_cta_ban_area .link {
    display: block;
    overflow: hidden;
    border-radius: 5px;
    border: 1px solid #eceeef;
    background-color: #fff;
    transition: .3s;
    margin-top: 30px;
}

.service_cta_ban_area .link:hover {
    opacity: .7;
}

.service_cta_ban_area .link .cta_head {
    background-color: #133562;
    color: #fff;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: .12em;
    text-align: center;
    line-height: 1;
    padding: 0.75em;
}

.service_cta_ban_area .link .inner {
    position: relative;
    overflow: hidden;
    padding: 40px 60px;
    background-color: #e2edf4;
}

.service_cta_ban_area .link .inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(./image/service_cta_ban_area_bg.jpg);
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    opacity: .12;
}

.service_cta_ban_area .link .inner .text {
    font-size: 40px;
    letter-spacing: .04em;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    z-index: 1;
}

.service_cta_ban_area .link .inner .text .size {
    font-size: 1.5em;
    line-height: 1;
}

.service_cta_ban_area .link .inner .text .size .lr {
    font-size: 1.5em;
    margin: 0 0.1em;
    color: #d31110;
}

.service_cta_ban_area .link .inner .btn {
    width: 480px;
    background-color: #165980;
    color: #fff;
    text-align: center;
    font-weight: 700;
    letter-spacing: .04em;
    font-size: 20px;
    padding: 1em;
    border-radius: 100vmax;
    line-height: 1;
    margin-top: 1em;
    position: relative;
    z-index: 1;
}

.service_cta_ban_area .link .inner .note_text {
    font-size: 14px;
    margin-top: 1em;
    position: relative;
    z-index: 1;
}

.service_cta_ban_area .link .inner .cta_person {
    position: absolute;
    bottom: -129px;
    right: 70px;
    width: 380px;
    z-index: 1;
}

.service_cta_ban_area .link .inner .cta_person img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.service_cta_tel_area {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(5, 22, 26);
    padding: 16px 32px;
    border-radius: 10px;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(236, 238, 239);
    border-image: initial;
    margin-top: 30px;
    background-color: #f7f7f7;
    pointer-events: none;
}

.service_cta_tel_area .label {
    font-size: 18px;
    font-weight: 700;
    margin-right: 60px;
    position: relative;
    line-height: 1;
    color: #05161a;
    pointer-events: none;
}

.service_cta_tel_area .label::before {
    content: "";
    position: absolute;
    top: -6px;
    right: -30px;
    width: 1px;
    height: 32px;
    background-color: #eceeef;
}

.service_cta_tel_area .phone_number {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-right: 7px;
}

.service_cta_tel_area .phone_number .phone_icon {
    width: 28px;
    height: 28px;
    margin-top: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.service_cta_tel_area .phone_number .phone_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.service_cta_tel_area .phone_number .number {
    font-size: 34px;
    font-weight: 700;
    color: #133562;
    font-family: "satoshi", sans-serif;
}

.service_cta_tel_area .hours {
    font-size: 12px;
    font-weight: 700;
    color: #4a5253;
    margin-top: 5px;
    letter-spacing: 0.05em;
}

.top_aldo_plan {
    padding: 0 0 100px;
}

.top_aldo_plan .plan_box {
    display: flex;
    gap: 60px;
    align-items: center;
}

.top_aldo_plan .plan_box .logo {
    width: 350px;
    flex-shrink: 0;
}

.top_aldo_plan .plan_box .logo img {
    width: 100%;
}

.top_aldo_plan .plan_box .text_box .theme {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 10px;
}

.top_aldo_plan .plan_box .text_box .text {
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 1.6;
}

.top_aldo_plan .plan_box .text_box .text a {
    display: inline-block;
    margin: 5px 0 0;
    font-weight: 600;
    color: #7bb5f6;
}

/* hover----------------------------------------*/
@media (min-width: 751px) {

    /* btn */
    .common_btn:hover {
        background-color: #133562;
    }

    .common_btn:hover .arrow {
        border: 1px solid #133562;
        background-color: #fff;
        transition: all 0.3s ease;
    }

    .common_btn:hover .arrow .arrow_line svg {
        stroke: #133562;
    }

    .common_btn:hover .text {
        color: #fff;
    }

    .cta_btn:hover {
        opacity: 0.7;
    }

    .pc_header[data-bg="true"] .nav_link:hover .text {
        color: #3498db;
    }

    .pc_header .contact_area .favorite_link:hover .favorite_icon {
        background-image: url("./image/icon_favorite_sp.svg");
    }

    .pc_header[data-bg="true"] .contact_area .favorite_link:hover .favorite_icon {
        opacity: 0.7;
    }

    .pc_header .contact_area .favorite_link:hover .text {
        color: #133562;
    }

    .pc_header .contact_area .history_link:hover .history_icon {
        background-image: url("./image/icon_history_sp.svg");
    }

    .pc_header[data-bg="true"] .contact_area .history_link:hover .history_icon {
        opacity: 0.7;
    }

    .pc_header .contact_area .history_link:hover .text {
        color: #133562;
    }

    .pc_header .nav .nav_list .nav_item .nav_link:hover .text {
        transform: translateY(-100%);
    }

    .pc_header .nav .nav_list .nav_item .nav_link:hover::after {
        transform: translateY(0);
    }

    .dropdown_item:hover .text {
        transform: translateY(-100%);
    }

    .dropdown_item:hover::after {
        transform: translateY(0);
    }

    .pc_header .dropdown:hover .dropdown_menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%);
    }

    .pc_header .dropdown:hover .nav_arrow {
        transform: rotate(-180deg);
    }

    .pc_header .dropdown:hover .nav_arrow.reverse {
        transform: rotate(180deg);
    }

    .top_search .search_card .search_card_link:hover .icon_box::before {
        transform: translate(-50%, -50%) scale(1);
    }

    .top_feature .list .item:hover {
        background-color: rgba(255, 255, 255, 0.6);
    }

    .top_feature .list:has(.item:hover) .item:not(:hover) {
        opacity: 0.3;
        transition: opacity 0.3s ease;
    }

    .top_recommend .list .link:hover .mask_overlay {
        transform: scale(1);
        opacity: 1;
    }

    .youtube_slider .swiper-button-next:hover .arrow,
    .youtube_slider .swiper-button-prev:hover .arrow {
        background-color: #05161a;
    }

    .youtube_slider .swiper-button-next:hover .arrow .arrow_line svg,
    .youtube_slider .swiper-button-prev:hover .arrow .arrow_line svg {
        stroke: #fff;
    }

    .top_properties .list .link:hover .image_box .image {
        transform: scale(1.3);
        transform-origin: center center;
    }

    .top_properties .list .link:hover .image_box::after {
        background-color: transparent;
    }

    .top_review .list .item:hover .mask_overlay {
        transform: scale(1);
        opacity: 1;
    }

    .top_staff .staff-slider .slick-slide:hover .image_box::before {
        opacity: 0;
    }

    .top_blog .list .item:hover .mask_overlay {
        transform: scale(1);
        opacity: 1;
    }

    .top_news .list .link:hover {
        opacity: 0.5;
    }

    .footer .footer_bottom .footer_left .footer_search .list_wrap .list .item .link:hover,
    .footer .footer_bottom .footer_left .footer_search .list_wrap .list_detail .link_detail:hover,
    .footer .footer_bottom .footer_left .contact_area .favorite_link:hover,
    .footer .footer_bottom .footer_left .contact_area .history_link:hover,
    .footer .footer_right .footer_bottom_links .link:hover {
        opacity: 0.7;
    }

    .fixed_btn:hover {
        opacity: 0.7;
    }

    #page_support .cta .common_btn_inquiry:hover {
        opacity: 0.7;
    }

    #page_company .company .company_table .info_link:hover {
        opacity: 0.7;
    }

    #page_staff .staff .staff_item .link:hover {
        opacity: 0.7;
    }

    /*----------------------------------------
  　　トップページ
  ----------------------------------------*/
    /* ヘッダー */
    .pc_header .contact_area .phone_link {
        pointer-events: none;
        cursor: default;
    }

    /* フッター */
    .footer .contact_info {
        pointer-events: none;
        cursor: default;
    }
}

/* レスポンシブ
----------------------------------------*/
@media (min-width: 1441px) {
    .mv_content {
        padding-left: calc((100vw - 1440px) / 2 + 100px);
    }

    .top_banner .banner_slides .banner_slide {
        width: 22.22vw;
        height: 22.22vw;
        margin: 0 0.7vw;
    }

    .search_bg::after {
        height: 50vw;
    }

    .recommend_bg::after {
        top: 5.21vw;
        height: 22.77vw;
    }

    .recommend_::after {
        height: 22.77vw;
    }

    .youtube_bg::before {
        height: 72.23vw;
    }

    .top_youtube .youtube_slider .slider_wrapper .swiper-wrapper .swiper-slide {
        width: 34.72vw;
    }

    .top_youtube .video_container {
        height: 19.44vw;
    }

    .top_youtube .video_item iframe {
        height: 19.44vw;
    }

    .top_youtube .youtube_slider .swiper-button-next,
    .top_youtube .youtube_slider .swiper-button-prev {
        width: 4.16vw;
        height: 4.16vw;
    }

    .top_youtube .youtube_slider .swiper-button-prev {
        left: 29.65vw;
    }

    .top_youtube .youtube_slider .swiper-button-next {
        right: 29.65vw;
    }

    .top_youtube .youtube_slider .swiper-button-next .arrow,
    .top_youtube .youtube_slider .swiper-button-prev .arrow {
        width: 4.16vw;
        height: 4.16vw;
    }

    .top_youtube .youtube_slider .swiper-button-next .arrow .arrow_line,
    .top_youtube .youtube_slider .swiper-button-prev .arrow .arrow_line {
        width: 1.39vw;
        height: 1.09vw;
    }

    .review_bg::before {
        width: 40.63vw;
        height: 48.33vw;
    }

    .blog_bg::before {
        height: 45.41vw;
    }

    .fixed_btn {
        right: calc((100vw - 1440px) / 2 + 30px);
    }


    #page_owner .strengths_bg::before {
        top: -15.27vw;
        height: 50vw;
    }

    #page_owner .fee::before {
        top: 7.91vw;
        height: 21.39vw;
    }

    #page_owner .dx_bg::after {
        content: "";
        position: absolute;
        top: 1542px;
        left: 29.73vw;
        width: 70.42vw;
        height: 47.92vw;
        background: url(./image/voice_bg.png) no-repeat center center/cover;
        z-index: -1;
    }

    #page_owner .dx::before {
        height: 34.03vw;
    }


    #page_help .problem_bg::before {
        top: 13.88vw;
        height: 50vw;
    }

    #page_help .service_bg::before {
        top: 10.42vw;
        height: 72.23vw;
    }

    #page_help .voice_bg::before {
        top: 11.81vw;
        height: 21.39vw;
    }

    #page_help .faq_bg::before {
        width: 40.63vw;
        height: 48.27vw;
    }

    #page_support .campaign .method_bg::before {
        content: "";
        position: absolute;
        top: 4.82vw;
        right: 0;
        width: 100%;
        height: 22.78vw;
        background: url(./image/recommend_bg_01.png) no-repeat center center/cover;
        z-index: -1;
    }

    #page_support .service .common_page_main::before {
        height: 21.39vw;
    }

    #page_support .service .flow_bg::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50vw;
        background: url(./image/search_bg.png) no-repeat center center/cover;
        z-index: -1;
    }

    #page_support .service .faq_bg::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 40.63vw;
        height: 48.27vw;
        background: url(./image/review_bg.png) no-repeat center center/cover;
        z-index: -1;
    }

    #page_company .company_bg::before {
        top: 10.77vw;
        height: 72.23vw;
    }

    #page_staff_detail .staff_detail_bg::before {
        top: 18.41vw;
        height: 45.42vw;
    }
}


@media (max-width: 750px) {

    .wrap,
    .wrap.lr,
    .wrap.mid {
        max-width: 90%;
    }

    a[href $='.pdf']::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

    a[href $='.pdf']:hover {
        text-decoration: underline;
    }

    body {
        font-size: 3.3vw;
        padding-top: 60px;
        min-width: auto;
    }

    /* SP固定ページ 共通設定 */
    .common_page_wrap {
        padding: 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

    /* パンくず */
    .breadcrumb {
        font-size: 2.5vw;
    }

    .breadcrumbs_bg {
        padding: 3vw 0;
    }

    /* SP固定ページ 404ページ */
    #page_404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page_404 .text {
        font-size: 3.5vw;
    }

    /* SP固定ページ サイトマップ */
    ul#sitemap_list li {
        margin: 0;
    }

    body #sitemap_list li a {
        font-size: 4vw;
        padding: 1vw 2vw;
        line-height: 9vw;
        margin-bottom: 1vw;
    }

    body #sitemap_list li.home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0;
    }

    /* 下記から追加 */
    /* 共通設定 */
    .common_page_main {
        padding: 23.08vw 0 4.36vw;
        min-height: 88vw;
    }

    .common_page_main::before {
        background: linear-gradient(rgba(5, 22, 26, 0.5), rgba(5, 22, 26, 0.25)),
            url(./image/mv_bg_sp.png) no-repeat center center/cover;
    }

    .common_page_main .title_box .title .en {
        font-size: 8.21vw;
    }

    .common_page_main .title_box .title .ja {
        font-size: 4.1vw;
    }

    .common_page_main .title_box .description {
        font-size: 3.08vw;
        line-height: 1.6;
        margin-top: 4.36vw;
        letter-spacing: 0.18em;
    }

    .common_page_main .title_box .description.lr {
        font-size: 5vw;
    }

    .common_page_main .breadcrumb_box {
        display: block;
        margin-top: 18.46vw;
        color: #c1c8d1;
    }

    .common_page_main .breadcrumb_box a.home {
        text-decoration: underline;
        margin-right: 10px;
    }

    .common_page_main .breadcrumb_box .post.post-page.current-item {
        color: #fff;
        margin-left: 10px;
    }

    .common_page_main .breadcrumb_box .breadcrumb_list {
        display: flex;
        flex-wrap: wrap;
        gap: 10vw;
    }

    .common_page_main .breadcrumb_box .breadcrumb_list .breadcrumb_item {
        font-size: 3.08vw;
        position: relative;
    }

    .common_page_main .breadcrumb_box .breadcrumb_list .breadcrumb_item::before {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -6.15vw;
        width: 2.31vw;
        height: 1px;
        background-color: #c1c8d1;
    }

    .common_page_main .breadcrumb_box .breadcrumb_list .breadcrumb_item:last-child::before {
        display: none;
    }

    .common_page_main .breadcrumb_box .breadcrumb_list .breadcrumb_item .breadcrumb_link {
        text-decoration: none;
        color: #c1c8d1;
        border-bottom: 1px solid #c1c8d1;
    }

    .common_page_main .breadcrumb_box .breadcrumb_list .breadcrumb_item .breadcrumb_text {
        color: #fff;
    }

    /* title */
    .common_page_title_box {
        gap: 1.28vw;
    }

    .common_page_title_box .en {
        font-size: 4.62vw;
    }

    .common_page_title_box .ja {
        font-size: 5.13vw;
        line-height: 1.3;
    }

    /*----------------------------------------
    トップページ
    ----------------------------------------*/
    /*　ハンバーガーボタン　*/
    .hamburger {
        display: block;
        position: fixed;
        z-index: 99999;
        right: 10px;
        top: 22px;
        width: 25px;
        height: 17px;
        cursor: pointer;
        text-align: center;
    }

    .hamburger span {
        display: block;
        position: absolute;
        width: 100%;
        height: 2px;
        left: 0;
        background: #133562;
        transition: 0.5s ease-in-out;
    }

    .hamburger span:nth-child(1) {
        top: 0;
    }

    .hamburger span:nth-child(2) {
        top: 8px;
    }

    .hamburger span:nth-child(3) {
        top: 17px;
    }

    /* sideの場合,popup1の場合ここから */
    .hamburger.active span:nth-child(1) {
        top: 8px;
        left: 0;
        transform: rotate(315deg);
    }

    .hamburger.active span:nth-child(2),
    .hamburger.active span:nth-child(3) {
        top: 8px;
        left: 0;
        transform: translateX(-50%);
        transform: rotate(-315deg);
    }

    /* ハンバーガーメニュー */
    nav.globalMenuSp.active {
        transform: translateX(0%);
    }

    nav.globalMenuSp {
        position: fixed;
        z-index: 999;
        top: 0;
        left: 0;
        color: #000;
        transform: translateX(100%);
        transition: all 0.6s;
        width: 100%;
        height: 100vh;
        background: #f8fafd;
        overflow: scroll;
        padding: 26.67vw 0 29.49vw;
    }

    nav.globalMenuSp .action_buttons {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2.56vw;
    }

    nav.globalMenuSp .action_buttons .cta_btn {
        padding: 2.56vw 2.56vw 2.56vw 2.56vw;
        border-radius: 1.28vw;
        gap: 2.56vw;
    }

    nav.globalMenuSp .action_buttons .cta_btn .text {
        font-size: 3.33vw;
    }

    nav.globalMenuSp .action_buttons .cta_btn .icon_box {
        width: 10.26vw;
        height: 10.26vw;
    }

    nav.globalMenuSp .action_buttons .cta_btn .icon_box img {
        width: 10.26vw;
        height: 10.26vw;
    }

    nav.globalMenuSp .contact_info {
        margin-top: 10px;
        padding: 17px 0 15px;
        background-color: #fff;
    }

    nav.globalMenuSp .hamburger_search {
        margin-top: 5.38vw;
    }

    nav.globalMenuSp .hamburger_search .list {
        display: flex;
        flex-direction: column;
    }

    nav.globalMenuSp .hamburger_search .list .item {
        border-bottom: 1px solid #eceeef;
        position: relative;
    }

    nav.globalMenuSp .hamburger_search .list .item .arrow_box {
        position: absolute;
        right: 0;
        top: 3.08vw;
        width: 5.13vw;
        height: 5.13vw;
    }

    nav.globalMenuSp .hamburger_search .list .item .arrow_box .arrow {
        width: 5.13vw;
        height: 5.13vw;
        background-color: #133562;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.3s ease-in-out;
        position: relative;
        z-index: 1;
        transform: rotate(90deg);
    }

    nav.globalMenuSp .hamburger_search .list .item .arrow_box .arrow .arrow_line {
        width: 2.05vw;
        height: 1.54vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    nav.globalMenuSp .hamburger_search .list .item .arrow_box .arrow .arrow_line svg {
        width: 100%;
        height: 100%;
        stroke: #fff;
        transition: all 0.3s ease;
    }

    nav.globalMenuSp .hamburger_search .list .item:last-child {
        border-bottom: none;
    }

    nav.globalMenuSp .hamburger_search .list .item .link {
        display: block;
        font-size: 3.59vw;
        font-weight: 700;
        color: #05161a;
        padding: 2.82vw 0;
        position: relative;
        z-index: 2;
    }

    nav.globalMenuSp .hamburger_search .list .item .list_detail {
        display: flex;
        flex-direction: column;
    }

    nav.globalMenuSp .hamburger_search .list .item .link_detail {
        display: block;
        font-size: 3.59vw;
        font-weight: 500;
        color: #4a5253;
        padding: 1.54vw 0 1.79vw;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    nav.globalMenuSp .hamburger_search .list_detail .item_detail:last-child .link_detail {
        margin-bottom: 3.59vw;
    }

    nav.globalMenuSp .hamburger_search .list .item .link_detail:before {
        content: "";
        display: inline-block;
        width: 2.05vw;
        height: 1px;
        background-color: #4a5253;
    }

    nav.globalMenuSp .hamburger_search .list .item.accordion-item .accordion-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s;
    }

    nav.globalMenuSp .hamburger_search .list .item.accordion-item.active .accordion-content {
        max-height: 128.21vw;
    }

    nav.globalMenuSp .hamburger_search .list .item.accordion-item .accordion-arrow {
        transition: transform 0.3s;
    }

    nav.globalMenuSp .hamburger_search .list .item.accordion-item.active .accordion-arrow .arrow {
        transform: rotate(-90deg);
    }

    /* btn */
    .common_btn {
        gap: 2.56vw;
        padding: 2.56vw 3.85vw 2.56vw 3.85vw;
        border-radius: 12.82vw;
        min-width: 84.62vw;
    }

    .common_btn .arrow {
        width: 11.54vw;
        height: 11.54vw;
    }

    .common_btn .text {
        font-size: 4.62vw;
    }

    /* cta_btn */
    .cta_btn {
        display: flex;
        align-items: center;
        gap: 2.56vw;
        transition: all 0.3s ease;
        border-radius: 4.1vw;
        padding: 1.79vw 6.41vw 1.79vw 2.56vw;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
    }

    .cta_btn.common_btn_request {
        background-color: #fff;
        color: #133562;
        border: 2px solid #133562;
        padding: 1.54vw 6.41vw 1.54vw 2.31vw;
    }

    .cta_btn.common_btn_consultation {
        background-color: #133562;
    }

    .cta_btn.common_btn_ai {
        background-color: #0c5980;
    }

    .cta_btn.common_btn_line {
        background-color: #06c755;
    }

    .cta_btn .icon_box {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .cta_btn .text {
        font-size: 3.59vw;
        font-weight: 700;
        color: #fff;
    }

    .cta_btn.common_btn_request .text {
        color: #133562;
    }

    /* title_box */
    .title_box .en {
        font-size: 8.21vw;
        margin-bottom: -1.03vw;
    }

    .title_box .ja {
        font-size: 4.1vw;
        letter-spacing: 0.05em;
    }

    /* mask_overlay */
    .mask_overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        opacity: 0;
        transform: scale(0.5);
        transition: transform 0.3s ease;
        gap: 10px;
    }

    .mask_overlay .view_more_text {
        font-size: 20px;
        font-weight: 700;
        color: #fff;
        font-family: "satoshi", sans-serif;
    }

    .mask_overlay .arrow {
        width: 50px;
        height: 50px;
        align-self: center;
        --arrow-circle-fill: #fff;
        --arrow-circle-stroke: none;
        --arrow-circle-stroke-width: 0;
        --arrow-path-fill: none;
        --arrow-path-stroke: #05161a;
        --arrow-path-stroke-width: 1;
    }

    /* header */
    #sp_header.sp_header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 45px 0 10px;
        background-color: #fff;
        z-index: 9999;
        border-bottom: 1px solid #eceeef;
    }

    #sp_header.sp_header .logo_area {
        width: 90px;
    }

    #sp_header.sp_header .logo {
        width: 90px;
    }

    #sp_header.sp_header .contact_area {
        display: flex;
    }

    #sp_header.sp_header .contact_area .favorite_link {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        margin-right: 10px;
    }

    #sp_header.sp_header .contact_area .favorite_link .text {
        font-size: 10px;
        font-weight: 700;
        color: #05161a;
    }

    #sp_header.sp_header .contact_area .favorite_icon {
        width: 22px;
        height: 22px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #sp_header.sp_header .contact_area .history_link {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }

    #sp_header.sp_header .contact_area .history_link .text {
        font-size: 10px;
        font-weight: 700;
        color: #05161a;
    }

    #sp_header.sp_header .contact_area .history_icon {
        width: 22px;
        height: 22px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* mv */
    .top_mv .image_box::after {
        background: url("./image/mv_mask_sp.png") no-repeat center center;
    }

    .top_mv .mv_content {
        padding: 73.08vw 2.56vw 5.13vw 2.56vw;
    }

    .top_mv .mv_content .title {
        font-size: 7.69vw;
        line-height: 1.3;
    }

    .top_mv .mv_content .description {
        font-size: 3.59vw;
        margin-top: 1.03vw;
        line-height: 1.5;
    }

    /* banner */
    .top_banner {
        margin-top: 15.38vw;
    }

    .top_banner .banner_slides .banner_slide {
        width: 71.79vw;
        height: 71.79vw;
        margin: 0 1.28vw;
    }

    .top_banner .banner_slides .banner_slide .banner_image {
        aspect-ratio: 280/280;
    }

    /* search_bg */
    .search_bg::before {
        top: 18.72vw;
        height: calc(100% - 18.72vw);
    }

    .search_bg::after {
        top: -12.05vw;
        height: 61.54vw;
        background-image: url("./image/search_bg_sp.png");
    }

    /* search */
    .top_search {
        padding: 12.31vw 0 0;
    }

    .top_search .search_content {
        display: block;
    }

    .top_search .title_box {
        margin-top: 0;
    }

    .top_search .title_box .ja {
        padding-left: 7.69vw;
    }

    .top_search .title_box .ja::before {
        left: 2.56vw;
        width: 2.56vw;
        height: 2.56vw;
    }

    .top_search .description {
        font-size: 3.59vw;
        line-height: 1.8;
        margin-top: 1.28vw;
    }

    .top_search .search_cards_area {
        grid-template-columns: 1fr;
        gap: 2.56vw;
        margin-top: 5.13vw;
    }

    .top_search .search_card::before {
        border-radius: 1.28vw;
    }

    .top_search .search_card .search_card_link {
        flex-direction: row;
        justify-content: unset;
        padding: 6.41vw 7.69vw 6.41vw 7.69vw;
        gap: 5.13vw;
    }

    .top_search .search_card .search_card_link .icon_box {
        width: 20.51vw;
        height: 20.51vw;
    }

    .top_search .search_card .search_card_link .icon_box.train_icon img {
        width: 8.21vw;
        height: 10.26vw;
    }

    .top_search .search_card .search_card_link .icon_box.location_icon img {
        width: 7.18vw;
        height: 9.87vw;
    }

    .top_search .search_card .search_card_link .icon_box.house_icon img {
        width: 10.26vw;
        height: 8.62vw;
    }

    .top_search .search_card .search_card_link .icon_box::before {
        transform: translate(-50%, -50%);
        width: 20.51vw;
        height: 20.51vw;
    }

    .top_search .search_card .title {
        font-size: 4.62vw;
        margin-top: 0;
        text-align: left;
    }

    .top_search .search_card .text_box {
        gap: 1.28vw;
        margin-top: 0;
    }

    .top_search .search_card .text_box .arrow {
        width: 5.13vw;
        height: 5.13vw;
    }

    .top_search .search_card .text_box .text {
        font-size: 3.59vw;
    }

    /* feature */
    .top_feature {
        padding-top: 11.03vw;
    }

    .top_feature .feature_title {
        font-size: 5.13vw;
        position: static;
        transform: unset;
        width: 100%;
        text-align: center;
        line-height: 1.3;
    }

    .top_feature .feature_title .small {
        font-size: 4.1vw;
    }

    .top_feature .bg_wrap {
        padding: 4.36vw 0 70px;
    }

    .top_feature .list {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.56vw;
        margin-right: 1.28vw;
    }

    .top_feature .list .item {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: stretch;
    }

    .top_feature .list .link {
        min-height: 43.85vw;
        border-radius: 1.03vw;
        cursor: unset;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        text-align: center;
        padding: 24.36vw 2.31vw 3.59vw 2.31vw;
        border: 1px solid #eceeef;
        background-color: transparent;
        position: relative;
        z-index: 1;
        width: 100%;
        height: 100%;
    }

    .top_feature .list .link::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(./image/feature_bg_mask_sp.png) no-repeat center center/cover;
        z-index: -1;
    }

    .top_feature .list .link.construction {
        background: url(./image/feature_bg_01_sp.jpg) no-repeat center center/cover;
    }

    .top_feature .list .link.pet {
        background: url(./image/feature_bg_02_sp.jpg) no-repeat center center/cover;
    }

    .top_feature .list .link.foreigner {
        background: url(./image/feature_bg_03_sp.jpg) no-repeat center center/cover;
    }

    .top_feature .list .link.alone {
        background: url(./image/feature_bg_04_sp.jpg) no-repeat center center/cover;
    }

    .top_feature .list .link.walk {
        background: url(./image/feature_bg_05_sp.jpg) no-repeat center center/cover;
    }

    .top_feature .list .link.deposit {
        background: url(./image/feature_bg_06_sp.jpg) no-repeat center center/cover;
    }

    .top_feature .list .item .arrow {
        display: block;
        position: absolute;
        bottom: 3.59vw;
        right: 2.31vw;
        width: 5.13vw;
        height: 5.13vw;
        align-self: center;
        background-image: url("./image/icon_arrow_white.svg");
    }

    .top_feature .list .item .feature_list_title_box {
        border-left: none;
        padding-left: 0;
        margin-left: 0;
        min-height: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        text-align: left;
        flex: 1;
    }

    .top_feature .list .item .feature_list_title_box .en {
        font-size: 3.33vw;
        color: #fff;
    }

    .top_feature .list .item .feature_list_title_box .ja {
        font-size: 3.85vw;
        line-height: 1.3;
        color: #fff;
        margin-top: 0.51vw;
    }

    /* recommend_bg */
    .recommend_bg::after {
        top: 7.95vw;
        height: 33.33vw;
        background-image: url(./image/recommend_bg_01_sp.png);
    }

    /* recommend */
    .owner.top_recommend {
        padding: 0 0 11.79vw;
    }

    .top_recommend {
        padding: 16.67vw 0 11.79vw;
        position: relative;
        z-index: 1;
        overflow: hidden;
    }

    .top_recommend .title_box {
        text-align: center;
    }

    .top_recommend .recommend_swiper {
        margin-top: 5.13vw;
        overflow-x: scroll;
        display: flex;
        gap: 2vw;
    }

    .top_recommend .recommend_swiper .link {
        background: #fff;
        border-radius: 1.28vw;
        overflow: hidden;
        transition: all 0.3s ease;
        border: 1px solid #eceeef;
        display: flex;
        flex-direction: column;
        position: relative;
        height: 100%;
        color: #05161a;
        width: 80vw;
        flex-shrink: 0;
    }

    .top_recommend .recommend_swiper .image_box {
        height: 43.08vw;
    }

    .top_recommend .recommend_swiper .image_box .image {
        object-fit: cover;
        height: 100%;
        width: 100%;
    }

    .top_recommend .recommend_swiper .image_box .badge {
        top: 2.56vw;
        left: 2.56vw;
        width: 12.82vw;
        height: 12.82vw;
        position: absolute;
    }

    .top_recommend .recommend_swiper .info_box {
        padding: 15px 20px 20px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex: 1;
    }

    .top_recommend .recommend_swiper .info_box .title {
        font-size: 4.62vw;
        font-weight: 700;
        color: #05161a;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.3;
    }

    .top_recommend .recommend_swiper .info_box .details_box {
        /* display: flex; */
        flex-direction: column;
        gap: 0.51vw;
        padding: 2.05vw 3.85vw 2.82vw 3.85vw;
        background-color: #f5f6f7;
        border-radius: 1.28vw;
        margin-top: 2.82vw;
        flex: 1;
        align-items: stretch;
    }

    .top_recommend .recommend_swiper .info_box .details_box .detail_item {
        display: flex;
        gap: 2.05vw;
    }

    .top_recommend .recommend_swiper .info_box .details_box .detail_item .icon_box {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .top_recommend .recommend_swiper .info_box .details_box .detail_item .price_icon {
        width: 3.33vw;
        height: 3.33vw;
        margin-top: 1.79vw;
    }

    .top_recommend .recommend_swiper .info_box .details_box .detail_item .room_icon {
        width: 3.08vw;
        height: 3.02vw;
        margin-top: 1.28vw;
    }

    .top_recommend .recommend_swiper .info_box .details_box .detail_item .location_icon {
        width: 2.61vw;
        height: 3.59vw;
        margin-top: 0.77vw;
        margin-left: 0.26vw;
    }

    .top_recommend .recommend_swiper .info_box .details_box .detail_item .detail_text {
        font-size: 3.33vw;
    }

    .top_recommend .recommend_swiper .info_box .details_box .detail_item .detail_text .price {
        font-size: 4.2vw;
        margin-right: .3em;
        font-weight: 700;
    }

    .top_properties .progressbar-container {
        width: calc(100% - 10.26vw);
    }

    .progressbar-container {
        position: relative;
        margin-top: 7.69vw;
        height: 6.41vw;
        cursor: pointer;
        width: 100%;
    }

    .progressbar-track {
        position: relative;
        height: 1.03vw;
        background: #e0e0e0;
        border-radius: 0.51vw;
    }

    .top_recommend .progressbar-track,
    .top_blog .progressbar-track {
        width: calc(100% - 11.54vw);
    }

    .top_recommend .progressbar-track:before,
    .top_blog .progressbar-track:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: calc(100% + 11.54vw);
        height: 100%;
        background: #e0e0e0;
        border-radius: 0.51vw;
    }

    .progressbar-fill {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        background: #133562;
        border-radius: 0.51vw;
    }

    .progressbar-thumb {
        position: absolute;
        top: 50%;
        left: 0;
        width: 11.54vw;
        height: 11.54vw;
        transform: translate(0, -50%);
        cursor: -webkit-grab;
        cursor: grab;
        z-index: 10;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .progressbar-thumb img {
        width: 100%;
        height: 100%;
        pointer-events: none;
    }

    .progressbar-thumb:active {
        cursor: -webkit-grabbing;
        cursor: grabbing;
    }

    .top_recommend .common_btn {
        margin-top: 3.08vw;
    }

    /* youtube_bg */
    .youtube_bg::before {
        top: 12.82vw;
        height: 111.54vw;
        background: url(./image/youtube_bg_sp.png) no-repeat center center/cover;
    }

    /* youtube */
    .top_youtube {
        padding: 11.79vw 0 0;
    }

    .youtube_slider {
        margin-top: 5.64vw;
    }

    .top_youtube .youtube_slider .slider_wrapper .swiper-wrapper .swiper-slide {
        width: 89.74vw;
        border-radius: 1.28vw;
    }

    .top_youtube .video_container {
        height: 50.26vw;
    }

    .video_item iframe {
        height: 50.26vw;
    }

    .youtube_link {
        bottom: 1.03vw;
        gap: 1.28vw;
        padding: 1.54vw 2.31vw 1.03vw 1.28vw;
        border-radius: 0.51vw;
    }

    .youtube_text {
        font-size: 3.08vw;
    }

    .youtube_logo {
        width: 10.77vw;
    }

    .youtube_slider .swiper-button-next,
    .youtube_slider .swiper-button-prev {
        width: 11.54vw;
        height: 11.54vw;
    }

    .youtube_slider .swiper-button-prev {
        left: 2.56vw;
    }

    .youtube_slider .swiper-button-next {
        right: 2.56vw;
    }

    .youtube_slider .swiper-button-next .arrow,
    .youtube_slider .swiper-button-prev .arrow {
        width: 11.54vw;
        height: 11.54vw;
    }

    .youtube_slider .swiper-button-next .arrow .arrow_line,
    .youtube_slider .swiper-button-prev .arrow .arrow_line {
        width: 3.85vw;
        height: 3.08vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* properties */
    .top_properties {
        padding: 17.44vw 0 17.95vw;
        position: relative;
    }

    .top_properties .title_box {
        text-align: center;
    }

    .top_properties .properties_swiper {
        width: 100vw;
        margin-right: calc(50% - 50vw);
    }

    .top_properties .properties_swiper .swiper-wrapper {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 5.64vw 0;
        margin-top: 5.64vw;
    }

    .top_properties .properties_swiper .swiper-slide {
        width: 69.23vw;
    }

    .top_properties .properties_swiper .link {
        transition: all 0.3s ease;
        position: relative;
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .top_properties .properties_swiper .swiper-slide .image_box {
        position: relative;
        height: 43.59vw;
        overflow: hidden;
        border-radius: 1.28vw;
    }

    .top_properties .properties_swiper .swiper-slide .image_box::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(5, 22, 26, 0.2);
        transition: all 0.3s ease;
    }

    .top_properties .properties_swiper .swiper-slide .image_box .image {
        aspect-ratio: 270/170;
        transition: all 0.3s ease;
    }

    .top_properties .properties_swiper .swiper-slide .image_box .badge {
        position: absolute;
        top: 2.05vw;
        left: 2.05vw;
        width: 11.54vw;
        height: 11.54vw;
        z-index: 10;
    }

    .top_properties .properties_swiper .swiper-slide .info_box {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex: 1;
    }

    .top_properties .properties_swiper .swiper-slide .info_box .title {
        font-size: 4.1vw;
        font-weight: 700;
        color: #05161a;
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin-top: 3.08vw;
        flex-grow: 1;
        max-height: 11.99vw;
    }

    .top_properties .properties_swiper .swiper-slide .info_box .details_box {
        display: flex;
        flex-direction: column;
        gap: 0.51vw;
        padding: 2.05vw 3.85vw 2.82vw 5.13vw;
        background-color: #f5f6f7;
        border-radius: 1.28vw;
        margin-top: 1.79vw;
        align-items: stretch;
        flex: 1;
    }

    .top_properties .properties_swiper .swiper-slide .info_box .details_box .detail_item {
        display: flex;
        gap: 2.05vw;
    }

    .top_properties .properties_swiper .swiper-slide .info_box .details_box .detail_item .icon_box {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .top_properties .properties_swiper .swiper-slide .info_box .details_box .detail_item .price_icon {
        width: 3.33vw;
        height: 3.33vw;
        margin-top: 1.79vw;
    }

    .top_properties .properties_swiper .swiper-slide .info_box .details_box .detail_item .room_icon {
        width: 3.08vw;
        height: 3.02vw;
        margin-top: 1.03vw;
    }

    .top_properties .properties_swiper .swiper-slide .info_box .details_box .detail_item .location_icon {
        width: 2.61vw;
        height: 3.59vw;
        margin-top: 0.77vw;
        margin-left: 0.26vw;
    }

    .top_properties .properties_swiper .swiper-slide .info_box .details_box .detail_item .detail_text {
        font-size: 3.33vw;
        font-weight: 500;
        color: #05161a;
        flex: 1;
    }

    .top_properties .properties_swiper .swiper-slide .info_box .details_box .detail_item .detail_text .price {
        font-size: 4.1vw;
        font-weight: 700;
    }

    .top_properties .properties_swiper .swiper-slide .item .info_box .details_box .detail_item .detail_text .unit {
        font-weight: 700;
    }

    /* reason */
    .top_reason {
        padding: 16.15vw 0 0;
        overflow: hidden;
    }

    .top_reason::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 143.59vw;
        background-color: rgba(19, 53, 98, 0.83);
        z-index: -1;
    }

    .top_reason::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 143.59vw;
        background: url(./image/reason_bg_sp.jpg) no-repeat center center/cover;
        z-index: -2;
    }

    .top_reason .wrap {
        width: 100%;
    }

    .top_reason .title_box {
        text-align: center;
        color: #fff;
    }

    .top_reason .reason_swiper {
        z-index: 2;
        overflow: visible;
        margin-top: 25px;
    }

    .top_reason .swiper-slide {
        display: flex;
        flex-direction: column;
        width: 87.18vw;
        height: auto;
        align-items: stretch;
    }

    .top_reason .swiper-slide .image_box {
        position: relative;
        height: 87.18vw;
        border-radius: 1.28vw;
        overflow: hidden;
    }

    .top_reason .swiper-slide .image_box .image {
        aspect-ratio: 360/360;
        transition: all 0.4s cubic-bezier(0.23, 1, 0.58, 1);
        transform: scale(1) translateY(0%);
        transform-origin: center center;
        will-change: transform;
    }

    .top_reason .swiper-slide .number {
        position: absolute;
        top: -5.13vw;
        left: 50%;
        transform: translateX(-50%);
        width: 12.82vw;
        height: 12.82vw;
    }

    .top_reason .swiper-slide .content {
        margin: -13.08vw 2.56vw 0;
        padding: 10.26vw 3.85vw 6.41vw 5.13vw;
        display: flex;
        flex-direction: column;
        position: relative;
        z-index: 1;
        flex-grow: 1;
    }

    .top_reason .swiper-slide .content::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: white;
        z-index: -1;
        border-radius: 3.08vw;
        transition: all 0.3s ease;
    }

    .top_reason .swiper-slide .content .title {
        font-size: 4.62vw;
        font-weight: 700;
        text-align: center;
        line-height: 1.3;
    }

    .top_reason .swiper-slide .content .text {
        font-size: 3.59vw;
        line-height: 1.5;
        margin-top: 2.56vw;
        flex-grow: 1;
        display: flex;
        align-items: flex-start;
        justify-content: center;
    }

    .reason_swiper .swiper-button-next,
    .reason_swiper .swiper-button-prev {
        width: 11.54vw;
        height: 11.54vw;
    }

    .reason_swiper .swiper-button-prev {
        left: -2.56vw;
    }

    .reason_swiper .swiper-button-next {
        right: -2.56vw;
        transform: rotate(180deg);
    }

    .reason_swiper .swiper-button-next:after,
    .reason_swiper .swiper-button-prev:after {
        display: none;
    }

    .reason_swiper .swiper-button-next .arrow,
    .reason_swiper .swiper-button-prev .arrow {
        width: 11.54vw;
        height: 11.54vw;
        background-color: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 2px solid #f0f0f0;
    }

    .reason_swiper .swiper-button-next .arrow .arrow_line,
    .reason_swiper .swiper-button-prev .arrow .arrow_line {
        width: 3.85vw;
        height: 3.08vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .reason_swiper .swiper-button-next .arrow .arrow_line svg,
    .reason_swiper .swiper-button-prev .arrow .arrow_line svg {
        width: 100%;
        height: 100%;
        stroke: #05161a;
    }

    /* review_bg */
    .review_bg::before {
        width: 50.26vw;
        height: 60.77vw;
        background: url(./image/review_bg_sp.png) no-repeat center center/cover;
    }

    /* review */
    .top_review {
        padding: 46.41vw 0 0;
        position: relative;
        z-index: 1;
        margin-top: -28.97vw;
    }

    .top_review .title_box {
        text-align: center;
    }

    .top_review .review_swiper {
        margin-top: 4.87vw;
    }

    .top_review .review_swiper .swiper-slide {
        display: flex;
        flex-direction: column;
        width: 69.23vw;
        height: auto;
    }

    .top_review .review_swiper .swiper-slide .link {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        position: relative;
    }

    .top_review .review_swiper .swiper-slide .image_box {
        position: relative;
        height: 46.15vw;
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.23, 1, 0.58, 1);
    }

    .top_review .review_swiper .swiper-slide .image_box .image {
        aspect-ratio: 270/180;
    }

    .top_review .review_swiper .swiper-slide .content {
        padding: 4.62vw 5.13vw;
        background-color: #f5f6f7;
        flex: 1;
    }

    .top_review .review_swiper .swiper-slide .content .title {
        font-size: 4.1vw;
        font-weight: 700;
        color: #05161a;
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .review_swiper .swiper-button-next,
    .review_swiper .swiper-button-prev {
        width: 11.54vw;
        height: 11.54vw;
    }

    .review_swiper .swiper-button-prev {
        left: 8.97vw;
    }

    .review_swiper .swiper-button-next {
        right: 8.97vw;
        transform: rotate(180deg);
    }

    .review_swiper .swiper-button-next:after,
    .review_swiper .swiper-button-prev:after {
        display: none;
    }

    .review_swiper .swiper-button-next .arrow,
    .review_swiper .swiper-button-prev .arrow {
        width: 11.54vw;
        height: 11.54vw;
        background-color: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 2px solid #f0f0f0;
    }

    .review_swiper .swiper-button-next .arrow .arrow_line,
    .review_swiper .swiper-button-prev .arrow .arrow_line {
        width: 3.85vw;
        height: 3.08vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .review_swiper .swiper-button-next .arrow .arrow_line svg,
    .review_swiper .swiper-button-prev .arrow .arrow_line svg {
        width: 100%;
        height: 100%;
        stroke: #05161a;
    }

    .top_review .common_btn {
        margin-top: 5.9vw;
    }

    /* staff */
    .top_staff {
        position: relative;
        z-index: 1;
    }

    .top_staff::before {
        content: "";
        position: absolute;
        top: 72.31vw;
        left: 0;
        width: 100%;
        height: calc(100% - 72.31vw);
        background-color: #e9ecf0;
        z-index: -2;
    }

    .top_staff .staff_wrap {
        max-width: 90%;
        padding: 16.41vw 0 17.44vw;
        overflow: visible;
    }

    .top_staff .staff_top {
        display: block;
    }

    .top_staff .title_box {
        text-align: center;
    }

    .top_staff .title_box .ja {
        padding-left: 0;
    }

    .top_staff .title_box .ja::before {
        display: none;
    }

    .top_staff .staff-slider {
        margin-top: 5.64vw;
        width: 100vw;
        margin-right: calc(50% - 50vw);
    }

    .top_staff .staff-slider .slick-slide {
        width: 82.05vw;
        margin: 0 1.28vw;
    }

    .top_staff .staff-slider .image_box {
        height: 55.13vw;
        position: relative;
        overflow: hidden;
        border-radius: 1.28vw;
    }

    .top_staff .staff-slider .image_box::after {
        top: 2.56vw;
        left: 2.56vw;
        padding: 1.03vw 2.56vw 1.03vw;
        font-size: 3.85vw;
    }

    .top_staff .staff-slider .image_box .image {
        aspect-ratio: 320/215;
    }

    .top_staff .staff-slider .name_box {
        gap: 2.56vw;
        margin-top: 2.56vw;
    }

    .top_staff .staff-slider .name_box .arrow {
        width: 6.67vw;
        height: 6.67vw;
    }

    .top_staff .staff-slider .name {
        font-size: 4.62vw;
    }

    .top_staff .common_btn {
        margin: 23.08vw auto 0;
        background-color: #fff;
    }

    .top_staff .staff-navigation {
        margin: 12.56vw 0 0 30.77vw;
    }

    .staff-pagination {
        font-size: 4.1vw;
        padding: 3.33vw 5.13vw;
        min-width: 28.21vw;
    }

    .top_staff .staff-prev,
    .top_staff .staff-next {
        bottom: -25.38vw;
        width: 12.82vw;
        height: 12.82vw;
    }

    .top_staff .staff-next {
        left: 58.97vw;
    }

    .top_staff .staff-prev {
        left: 17.95vw;
    }

    .staff-progress {
        margin-top: -19.23vw;
    }

    .staff-progress-container {
        border-radius: 1.28vw;
    }

    .staff-progress-segment {
        border-radius: 1.28vw;
    }

    /* blog_bg */
    .blog_bg {
        position: relative;
        z-index: 1;
    }

    .blog_bg::before {
        content: "";
        position: absolute;
        top: 146.92vw;
        left: 0;
        width: 100%;
        height: 55.9vw;
        background: url(./image/blog_bg_sp.png) no-repeat center center/cover;
        z-index: -2;
    }

    .blog_bg::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff;
        z-index: -3;
    }

    /* blog */
    .top_blog {
        padding: 16.41vw 0 0;
        position: relative;
        z-index: 1;
        overflow: hidden;
    }

    .top_blog .title_box {
        text-align: center;
    }

    .top_blog .blog_swiper {
        margin-top: 5.13vw;
        width: 100vw;
        margin-right: calc(50% - 50vw);
    }

    .top_blog .blog_swiper .slick-slide {
        width: 69.23vw;
        display: flex;
        flex-direction: column;
        height: auto;
        margin: 0 1.28vw;
    }

    .top_blog .blog_swiper .slick-slide .link {
        display: flex;
        flex-direction: column;
        height: 100%;
        width: 100%;
        position: relative;
        border-radius: 1.28vw;
        overflow: hidden;
        border: 1px solid #eceeef;
    }

    .top_blog .blog_swiper .slick-slide .image_box {
        position: relative;
        height: 46.15vw;
        overflow: hidden;
    }

    .top_blog .blog_swiper .slick-slide .image_box .image {
        aspect-ratio: 270/180;
    }

    .top_blog .blog_swiper .slick-slide .content {
        padding: 4.62vw 5.13vw 5.13vw;
        display: flex;
        flex-direction: column;
        flex: 1;
        background-color: #fafafa;
    }

    .top_blog .blog_swiper .slick-slide .content .title {
        font-size: 4.1vw;
        font-weight: 700;
        color: #05161a;
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        flex: 1;
        min-height: 10.77vw;
    }

    .top_blog .blog_swiper .slick-slide .content .date_box {
        display: flex;
        align-items: center;
        gap: 2.05vw;
        margin-top: 2.05vw;
        margin-left: 1.28vw;
    }

    .top_blog .blog_swiper .slick-slide .content .date_box .calendar_icon {
        width: 3.33vw;
        height: 3.41vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .top_blog .blog_swiper .slick-slide .content .date_box .date {
        font-size: 3.33vw;
        color: #05161a;
        font-weight: 500;
        font-family: "satoshi", sans-serif;
    }

    .top_blog .common_btn {
        margin-top: 5.9vw;
    }

    /* news */
    .top_news {
        padding: 16.67vw 0 17.44vw;
        position: relative;
        z-index: 1;
    }

    .top_news .news_wrap {
        display: block;
    }

    .top_news .news_top {
        display: block;
        margin-top: 0;
    }

    .top_news .title_box {
        text-align: center;
    }

    .top_news .title_box .ja {
        padding-left: 0;
    }

    .top_news .title_box .ja::before {
        display: none;
    }

    .top_news .list {
        margin-top: 5.13vw;
    }

    .top_news .list .link {
        flex-direction: column;
        align-items: flex-start;
        padding: 5.13vw 5.13vw 3.08vw 5.13vw;
        border-radius: 1.28vw;
        position: relative;
    }

    .top_news .list .item .date_box {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        margin-right: 0;
        line-height: 1;
        margin-bottom: 3vw;
    }

    .top_news .list .item .date_box .year_month {
        font-size: 3.33vw;
        font-weight: 700;
    }

    .top_news .list .item .date_box .day {
        font-size: 3.33vw;
    }

    .top_news .list .item .content {
        flex: 1;
        margin-right: 0;
    }

    .top_news .list .item .content .title {
        font-size: 4.1vw;
        margin-top: 1.03vw;
    }

    .top_news .list .item .content .description {
        font-size: 3.59vw;
        margin-top: 0;
    }

    .top_news .list .item .arrow {
        position: absolute;
        top: 4.62vw;
        right: 4.62vw;
        width: 5.9vw;
        height: 5.9vw;
    }

    .top_news .list .item .arrow .arrow_line {
        width: 1.97vw;
        height: 1.57vw;
    }

    .top_news .common_btn {
        margin-top: 6.67vw;
    }

    /* footer */
    .footer {
        padding: 17.95vw 0 32.05vw;
    }

    .footer .footer_top {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        background-color: #fff;
        padding: 8.97vw 5.13vw 7.18vw;
        border-radius: 2.56vw;
        gap: 5.13vw;
    }

    .footer .footer_top .footer_logo {
        width: 17.95vw;
        height: auto;
    }

    .footer .footer_top .contact_wrap {
        gap: 3.85vw;
        width: 100%;
    }

    .footer .footer_top .contact_wrap .action_buttons {
        flex-direction: column;
        gap: 2.56vw;
    }

    .footer .footer_top .contact_wrap .action_buttons .cta_btn {
        padding: 2.31vw 3.59vw 2.56vw 3.59vw;
        min-width: 71.79vw;
        border-radius: 9.74vw;
        gap: 4.1vw;
    }

    .footer .footer_top .contact_wrap .action_buttons .cta_btn .text {
        font-size: 4.62vw;
    }

    .footer .footer_top .contact_wrap .action_buttons .cta_btn .icon_box {
        width: 10.26vw;
        height: 10.26vw;
    }

    .footer .contact_info {
        pointer-events: auto;
        cursor: pointer;
    }

    .contact_info {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 6.41vw 0 5.13vw;
        border-radius: 2.56vw;
        width: 100%;
    }

    .contact_info .label {
        font-size: 4.1vw;
        margin-right: 0;
    }

    .contact_info .label::before {
        top: unset;
        bottom: -2.56vw;
        right: 50%;
        transform: translateX(50%);
        width: 8.21vw;
        height: 1px;
    }

    .contact_info .phone_number {
        align-items: center;
        gap: 2.56vw;
        margin-right: 0;
        margin-top: 6.41vw;
    }

    .contact_info .phone_number .phone_icon {
        width: 6.67vw;
        height: 6.67vw;
        margin-top: -0.77vw;
    }

    .contact_info .phone_number .number {
        font-size: 6.15vw;
    }

    .contact_info .hours {
        font-size: 2.56vw;
        margin-top: 0;
        letter-spacing: 0.05em;
    }

    .footer .footer_bottom {
        margin-top: 6.41vw;
    }

    .footer .footer_right {
        flex-direction: column;
        padding: 0;
        text-align: center;
    }

    .footer .footer_right .map_container {
        border-radius: 1.28vw;
        width: 100%;
        height: 51.28vw;
    }

    .footer .footer_right .address {
        margin-top: 3.08vw;
        font-size: 3.59vw;
        line-height: 1.3;
    }

    .footer .footer_right .footer_bottom_links {
        gap: 7.69vw;
        margin-top: 8.21vw;
        justify-content: center;
    }

    .footer .footer_right .footer_bottom_links .link {
        font-size: 3.08vw;
    }

    .footer .footer_right .copyright {
        margin-top: 3.59vw;
        text-align: center;
    }

    .footer .footer_right .copyright small {
        font-size: 3.08vw;
    }

    /* fixed_btn */
    .fixed_btn_sp {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60px;
        background-color: #eceeef;
        z-index: 9999;
        border-radius: 5px 5px 0 0;
        overflow: hidden;
        padding: 5px;
    }

    .fixed_btn_sp .list {
        display: grid;
        grid-template-columns: 13.7% 1fr 1fr 1fr 1fr;
        align-items: center;
        justify-content: center;
        gap: 5px;
        height: 100%;
    }

    .fixed_btn_sp .list .item {
        height: 100%;
    }

    .fixed_btn_sp .list .item .link {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        border-radius: 3px;
        overflow: hidden;
        border: 1px solid transparent;
        width: 100%;
        height: 100%;
    }

    .fixed_btn_sp .list .item .image_box {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .fixed_btn_sp .list .item.tel .link {
        background-color: #4a5253;
        color: #fff;
    }

    .fixed_btn_sp .list .item.tel .link .image_box {
        width: 16px;
        height: 16.14px;
    }

    .fixed_btn_sp .list .item.request .link {
        background-color: #fff;
        color: #05161a;
        border: 1px solid #133562;
    }

    .fixed_btn_sp .list .item.request .link .image_box {
        width: 20px;
        height: 16.8px;
    }

    .fixed_btn_sp .list .item.consultation .link {
        background-color: #133562;
        color: #fff;
    }

    .fixed_btn_sp .list .item.consultation .link .image_box {
        width: 18px;
        height: 17.63px;
    }

    .fixed_btn_sp .list .item.ai .link {
        background-color: #0c5980;
        color: #fff;
    }

    .fixed_btn_sp .list .item.ai .link .image_box {
        width: 16px;
        height: 16px;
    }

    .fixed_btn_sp .list .item.line .link {
        background-color: #06c755;
        color: #fff;
    }

    .fixed_btn_sp .list .item.line .link .image_box {
        width: 12px;
        height: 18.89px;
    }

    .fixed_btn_sp .list .item .link .text {
        font-size: 10px;
        font-weight: 700;
        font-family: "satoshi", sans-serif;
    }

    /*----------------------------------------
  　　owner
  ----------------------------------------*/
    /* problem */
    #page_owner .owner_banner {
        padding-top: 15vw;
    }

    #page_owner .owner_banner .banner:hover {
        opacity: 1;
    }

    #page_owner .problem {
        margin-top: 15.38vw;
        position: relative;
        z-index: 2;
    }

    #page_owner .problem .problem_wrap {
        padding: 10.26vw 5.13vw 10.26vw;
        background-color: #fafafa;
    }

    #page_owner .problem .title {
        font-size: 6.15vw;
    }

    #page_owner .problem .list {
        margin: 7.69vw 0 0;
        grid-template-columns: 1fr;
        gap: 3.85vw;
    }

    #page_owner .problem .list .item {
        flex-direction: column;
        gap: 2.56vw;
        padding-top: 5.13vw;
        padding-bottom: 3.85vw;
    }

    #page_owner .problem .list .item .text {
        font-size: 5.13vw;
        font-weight: 700;
        line-height: 1.3;
    }

    #page_owner .problem .list .item .image_box {
        width: 20.51vw;
        height: 20.51vw;
    }

    #page_owner .problem .list .item .image_box_01 .image {
        width: 17.95vw;
    }

    #page_owner .problem .list .item .image_box_02 .image {
        width: 17.95vw;
    }

    #page_owner .problem .list .item .image_box_03 .image {
        width: 19.23vw;
    }

    /* strengths_bg */
    #page_owner .strengths_bg::before {
        position: absolute;
        top: -11.54vw;
        height: 61.54vw;
        background: url(./image/search_bg_sp.png) no-repeat center center/cover;
    }

    /* strengths */
    #page_owner .strengths {
        padding: 15.38vw 0 10.26vw;
    }

    #page_owner .strengths .strengths_list {
        margin-top: 7.69vw;
        grid-template-columns: 1fr;
        gap: 5.13vw;
    }

    #page_owner .strengths .strengths_list .strength_item .image_box {
        height: 50vw;
        border-radius: 1.28vw;
    }

    #page_owner .strengths .strengths_list .strength_item .image_box .image {
        aspect-ratio: 360/195;
    }

    #page_owner .strengths .strengths_list .strength_item .list_content {
        padding: 2.56vw 0;
        gap: 1.28vw;
    }

    #page_owner .strengths .strengths_list .strength_item .list_content .list_title {
        font-size: 5.64vw;
        line-height: 1.2;
    }

    #page_owner .strengths .strengths_list .strength_item .list_content .list_description {
        font-size: 4.1vw;
        line-height: 1.6;
    }

    /* service */
    #page_owner .service {
        padding: 15.38vw 0;
    }

    #page_owner .service .services_list {
        margin-top: 7.69vw;
        grid-template-columns: 1fr;
        gap: 5.13vw;
    }

    #page_owner .service .services_list .service_item {
        background-color: #fff;
        flex-direction: column;
        padding: 5.13vw;
        border-radius: 2.56vw;
        gap: 3.85vw;
    }

    #page_owner .service .services_list .service_item .image_box {
        width: 79.74vw;
        height: 53.08vw;
        border-radius: 1.28vw;
    }

    #page_owner .service .services_list .service_item .image_box .image {
        aspect-ratio: 311/207;
    }

    #page_owner .service .services_list .service_item .list_content .list_title {
        font-size: 4.62vw;
        line-height: 1.6;
        gap: 2.56vw;
    }

    #page_owner .service .services_list .service_item .list_content .list_title::before {
        width: 2.82vw;
        height: 2.82vw;
    }

    #page_owner .service .services_list .service_item .list_content .list_description {
        font-size: 4.1vw;
        line-height: 1.6;
        margin-top: 2.56vw;
    }

    #page_owner .service .services_list .service_item .list_content .list_tags {
        gap: 2.56vw;
        margin-top: 2.56vw;
    }

    #page_owner .service .services_list .service_item .list_content .list_tags .tag {
        font-size: 3.59vw;
        padding: 1.54vw 2.56vw 1.28vw;
    }

    /* fee */
    #page_owner .fee {
        padding: 15.38vw 0;
    }

    #page_owner .fee::before {
        top: 0;
        left: unset;
        right: 0;
        width: 50.26vw;
        height: 60.77vw;
        background: url(./image/review_bg_sp.png) no-repeat center center/cover;
    }

    #page_owner .fee .fee_list {
        margin-top: 7.69vw;
        grid-template-columns: repeat(2, 1fr);
        gap: 5.13vw 2.56vw;
    }

    #page_owner .fee .fee_list .fee_item {
        gap: 2.56vw;
    }

    #page_owner .fee .fee_list .fee_item .image_box {
        width: 25.64vw;
        height: 25.64vw;
    }

    #page_owner .fee .fee_list .fee_item .image_box .image {
        aspect-ratio: 100/100;
    }

    #page_owner .fee .fee_list .fee_item .list_content {
        gap: 1.03vw;
    }

    #page_owner .fee .fee_list .fee_item .list_content .list_title {
        font-size: 4.62vw;
        line-height: 1.3;
    }

    #page_owner .fee .fee_list .fee_item .list_content .list_description {
        font-size: 3.59vw;
        line-height: 1.6;
    }

    /* cost */
    #page_owner .cost {
        padding: 15.38vw 0 10.26vw;
    }

    #page_owner .cost .comparison_table {
        margin-top: 7.69vw;
    }

    #page_owner .cost .comparison_table table {
        width: 256.41vw;
    }

    #page_owner .cost .comparison_table thead th {
        font-size: 6.15vw;
        height: 30.77vw;
    }

    #page_owner .cost .comparison_table tbody td {
        font-size: 7.18vw;
        height: 25.64vw;
    }

    #page_owner .cost .comparison_table tbody td .yen {
        font-size: 4.62vw;
        transform: translateX(-6px);
    }

    #page_owner .cost .comparison_table tbody td .small {
        font-size: 3.08vw;
        line-height: 1.3;
    }

    #page_owner .cost .comparison_table tbody td.item_name {
        font-size: 4.62vw;
    }

    /* consult */
    #page_owner .consult {
        padding: 0 0 17.44vw;
    }

    #page_owner .consult .description {
        font-size: 4.1vw;
        line-height: 1.4;
        margin-top: 3.85vw;
    }

    #page_owner .consult .cta_btn {
        width: 100%;
        margin: 5.13vw auto 0;
        padding: 2.56vw;
        border-radius: 12.82vw;
        gap: 5.13vw;
    }

    #page_owner .consult .cta_btn .icon_box {
        width: 12.82vw;
        height: 12.82vw;
    }

    #page_owner .consult .cta_btn .text {
        font-size: 5.13vw;
    }

    /* dx_bg */
    #page_owner .dx_bg::before {
        height: 597.44vw;
    }

    #page_owner .dx_bg::after {
        top: 635.38vw;
        left: 0;
        width: 100%;
        height: 55.9vw;
        background: url(./image/blog_bg_sp.png) no-repeat center center/cover;
    }

    /* dx */
    #page_owner .dx {
        padding: 15.38vw 0 0;
        position: relative;
        z-index: 1;
    }

    #page_owner .dx::before {
        width: 50.26vw;
        height: 60.77vw;
        background: url(./image/review_bg_sp.png) no-repeat center center/cover;
        transform: scaleX(-1);
    }

    #page_owner .dx .description {
        font-size: 4.1vw;
        line-height: 1.4;
        margin-top: 2.56vw;
        text-align: center;
    }

    #page_owner .dx .dx_list {
        margin-top: 7.69vw;
        grid-template-columns: 1fr;
        gap: 5.13vw;
    }

    #page_owner .dx .dx_list .dx_item .image_box {
        width: 100%;
        height: 54.87vw;
    }

    #page_owner .dx .dx_list .dx_item .image_box .image {
        aspect-ratio: 351/214;
    }

    #page_owner .dx .dx_list .dx_item .list_content {
        gap: 1.28vw;
        margin-top: 2.56vw;
    }

    #page_owner .dx .dx_list .dx_item .list_content .list_title {
        font-size: 4.62vw;
        line-height: 1.6;
    }

    #page_owner .dx .dx_list .dx_item .list_content .list_description {
        font-size: 4.1vw;
        line-height: 1.6;
    }

    /* voice */
    #page_owner .voice {
        padding: 15.38vw 0 15.38vw;
    }

    #page_owner .voice .description {
        font-size: 4.1vw;
        line-height: 1.4;
        margin-top: 2.56vw;
    }

    #page_owner .voice .voice_list {
        margin-top: 7.69vw;
        grid-template-columns: 1fr;
        gap: 5.13vw;
    }

    #page_owner .voice .voice_list .voice_item {
        flex-direction: column;
        gap: 3.85vw;
        padding: 5.13vw;
        border-radius: 1.28vw;
    }

    #page_owner .voice .voice_list .voice_item .image_box {
        gap: 1.28vw;
    }

    #page_owner .voice .voice_list .voice_item .image_box .image {
        width: 33.33vw;
        height: 33.33vw;
        aspect-ratio: 130/130;
    }

    #page_owner .voice .voice_list .voice_item .list_text {
        font-size: 4.1vw;
        line-height: 1.6;
    }

    /*----------------------------------------
  　　help
  ----------------------------------------*/
    /* title */
    .section_title {
        font-size: 6.15vw;
    }

    /* message */
    #page_help .message .section_title {
        font-size: 5.13vw;
        line-height: 1.3;
    }

    #page_help .message .description {
        font-size: 4.1vw;
        margin-top: 2.56vw;
    }

    /* cta */
    #page_help .cta {
        margin-bottom: 15.38vw;
    }

    #page_help .cta .cta_wrap {
        padding: 7.69vw 5.13vw;
        border-radius: 2.56vw;
    }

    #page_help .cta.cta01 .cta_wrap {
        padding: 7.69vw 5.13vw 0;
    }

    #page_help .cta .cta_title {
        font-size: 5.64vw;
        line-height: 1.3;
    }

    #page_help .cta .cta_title::before {
        top: unset;
        bottom: 0;
        left: -10.69vw;
        height: 21.26vw;
        transform: rotate(-30deg);
    }

    #page_help .cta .cta_title::after {
        top: unset;
        bottom: 0;
        right: -10.69vw;
        height: 21.26vw;
        transform: rotate(30deg);
    }

    #page_help .cta .action_buttons {
        margin-top: 7.69vw;
        grid-template-columns: 1fr;
        gap: 3.85vw;
    }

    #page_help .cta .action_buttons .cta_btn {
        padding: 3.84vw 3.84vw 3.84vw 17.94vw;
        border-radius: 50px;
    }

    #page_help .cta .action_buttons .cta_btn .icon_box {
        width: 10.26vw;
        height: 10.26vw;
        top: 50%;
        left: 2.56vw;
    }

    #page_help .cta .action_buttons .cta_btn .text {
        font-size: 5.13vw;
    }

    /* problem_bg */
    #page_help .problem_bg::before {
        top: 78.88vw;
        height: 61.54vw;
        background: url(./image/search_bg_sp.png) no-repeat center center/cover;
    }

    /* problem */
    #page_help .problem {
        padding: 0 0 38.46vw;
    }

    #page_help .problem .problem_wrap {
        padding: 10.25vw 3.84vw;
    }

    #page_help .problem .problem_list {
        margin-top: 7.69vw;
        grid-template-columns: 1fr;
        gap: 2.56vw;
        border-radius: 2.56vw;
        padding: 5.13vw 2.56vw;
    }

    #page_help .problem .problem_list::before {
        bottom: -37.17vw;
        transform: translateX(-50%);
        width: 15.38vw;
        height: 15.9vw;
    }

    #page_help .problem .problem_list .list_item .list_text {
        font-size: 4.1vw;
        line-height: 1.6;
        gap: 1.28vw;
    }

    #page_help .problem .problem_list .list_item .list_text::before {
        width: 1.54vw;
        height: 1.54vw;
    }

    /* solution */
    #page_help .solution {
        padding: 0 0 15.38vw;
    }

    #page_help .solution .solution_list {
        margin-top: 7.69vw;
        grid-template-columns: 1fr;
        gap: 5.13vw;
    }

    #page_help .solution .solution_list {
        margin-top: 7.69vw;
        display: grid;
        grid-template-columns: 1fr;
        gap: 7.69vw;
    }

    #page_help .solution .solution_list .list_item {
        display: flex;
        flex-direction: column;
        gap: 2.56vw;
    }

    #page_help .solution .solution_list .list_item .image_box {
        height: 41.03vw;
        border-radius: 1.28vw;
    }

    #page_help .solution .solution_list .list_item .image_box .image {
        aspect-ratio: 350/160;
    }

    #page_help .solution .solution_list .list_item .list_title {
        font-size: 5.13vw;
        line-height: 1.28;
    }

    #page_help .solution .solution_list .list_item .list_title .list_description {
        font-size: 4.62vw;
    }

    /* service_bg */
    #page_help .service_bg::before {
        top: 8.97vw;
        height: 111.54vw;
        background: url(./image/youtube_bg_sp.png) no-repeat center center/cover;
    }

    /* service */
    #page_help .service {
        padding: 15.38vw 0;
        margin-bottom: 15.38vw;
    }

    #page_help .service .service_list {
        margin-top: 7.69vw;
        grid-template-columns: 1fr;
        gap: 10.26vw;
    }

    #page_help .service .service_list .list_item {
        flex-direction: column;
        gap: 5.13vw;
        padding: 5.13vw;
    }

    #page_help .service .service_list .list_item:nth-of-type(even) {
        flex-direction: column;
    }

    #page_help .service .service_list .list_item .image_box {
        width: 100%;
        height: 46.15vw;
    }

    #page_help .service .service_list .list_item .image_box .image {
        aspect-ratio: 350/180;
    }

    #page_help .service .service_list .list_item .list_content {
        display: flex;
        flex-direction: column;
        gap: 2.56vw;
    }

    #page_help .service .service_list .list_item .list_title {
        font-size: 5.13vw;
        line-height: 1.28;
    }

    #page_help .service .service_list .list_item .list_title::before {
        width: 2.05vw;
        height: 2.05vw;
    }

    #page_help .service .service_list .list_item .list_features {
        display: flex;
        flex-direction: column;
        gap: 2.56vw;
    }

    #page_help .service .service_list .list_item .list_features .list_feature {
        font-size: 4.1vw;
    }

    #page_help .service .service_list .list_item .list_features .list_feature .list_feature_title {
        font-size: 4.1vw;
        gap: 1.28vw;
    }

    #page_help .service .service_list .list_item .list_features .list_feature .list_feature_title::before {
        width: 1.54vw;
        height: 1.54vw;
    }

    #page_help .service .service_list .list_item .list_features .list_feature .list_feature_description {
        font-size: 4.1vw;
    }

    /* cost */
    #page_help .cost {
        padding: 0;
    }

    #page_help .cost .section_title {
        line-height: 1.3;
    }

    #page_help .cost .section_title::before {
        top: unset;
        bottom: 0;
        left: -9.69vw;
        height: 21.26vw;
        transform: rotate(-30deg);
    }

    #page_help .cost .section_title::after {
        top: unset;
        bottom: 0;
        right: -9.69vw;
        height: 21.26vw;
        transform: rotate(30deg);
    }

    #page_help .cost .comparison_table {
        margin-top: 7.69vw;
    }

    #page_help .cost .comparison_table table {
        width: 205.13vw;
    }

    #page_help .cost .comparison_table table thead th {
        padding: 3.85vw 2.56vw;
        font-size: 3.59vw;
        width: 33.3333333333%;
    }

    #page_help .cost .comparison_table table tbody td {
        padding: 3.85vw 2.56vw;
        font-size: 4.62vw;
    }

    #page_help .cost .comparison_table table tbody td.item_name {
        font-size: 4.62vw;
    }

    #page_help .cost .comparison_table table tbody tr.total td.aldo {
        border-bottom: 8px solid #2b7aa2;
    }

    #page_help .cost .comparison_table table tbody td .price {
        font-size: 7.18vw;
    }

    #page_help .cost .note {
        font-size: 5.64vw;
        margin-top: 5.13vw;
    }

    /* voice_bg */
    #page_help .voice_bg::before {
        top: 5.13vw;
        height: 55.9vw;
        background: url(./image/blog_bg_sp.png) no-repeat center center/cover;
    }

    /* voice */
    #page_help .voice {
        padding: 15.38vw 0;
    }

    #page_help .voice .voice_list {
        margin-top: 7.69vw;
        gap: 5.13vw;
    }

    #page_help .voice .voice_list .list_item {
        flex-direction: column;
        gap: 1.28vw;
        padding: 5.13vw 2.56vw;
    }

    #page_help .voice .voice_list .list_item .image_box {
        width: 33.33vw;
        height: 33.33vw;
    }

    #page_help .voice .voice_list .list_item .image_box .image {
        aspect-ratio: 1;
    }

    #page_help .voice .voice_list .list_item .list_content {
        display: block;
    }

    #page_help .voice .voice_list .list_item .list_text {
        font-size: 5.13vw;
    }

    #page_help .voice .voice_list .list_item .list_author {
        font-size: 4.62vw;
        display: block;
        text-align: center;
    }

    /* flow */
    #page_help .flow {
        padding: 15.38vw 0;
    }

    #page_help .flow .title_description {
        margin-top: 3.85vw;
        font-size: 5.13vw;
    }

    #page_help .flow .flow_list {
        margin-top: 7.69vw;
        grid-template-columns: 1fr;
        gap: 20.51vw;
    }

    #page_help .flow .flow_list .list_item::before {
        top: calc(100% + 6.41vw);
        right: 50%;
        transform: translateX(50%);
        width: 7.69vw;
        height: 7.95vw;
        background: url(./image/icon_arrow_vertical.svg) no-repeat center center/cover;
    }

    #page_help .flow .flow_list .list_item .image_box {
        height: 46.15vw;
        border-radius: 1.28vw;
    }

    #page_help .flow .flow_list .list_item .image_box .image {
        aspect-ratio: 350/180;
    }

    #page_help .flow .flow_list .list_item .list_content {
        margin-top: 1.28vw;
    }

    #page_help .flow .flow_list .list_item .list_content .number {
        font-size: 4.62vw;
    }

    #page_help .flow .flow_list .list_item .list_content .list_title {
        font-size: 5.13vw;
    }

    #page_help .flow .flow_list .list_item .list_content .list_description {
        font-size: 4.62vw;
    }

    /* faq_bg */
    #page_help .faq_bg::before {
        width: 50.26vw;
        height: 60.77vw;
        background: url(./image/review_bg_sp.png) no-repeat center center/cover;
    }

    /* faq */
    #page_help .faq {
        padding: 15.38vw 0;
    }

    #page_help .faq .faq_list {
        margin-top: 7.69vw;
    }

    #page_help .faq .faq_list .faq_item {
        padding: 5.13vw 2.56vw;
    }

    #page_help .faq .faq_question {
        margin-bottom: 3.85vw;
        padding-left: 8.97vw;
    }

    #page_help .faq .faq_question::before {
        font-size: 4.62vw;
        width: 7.69vw;
        height: 7.69vw;
        top: 0.77vw;
    }

    #page_help .faq .faq_question .question_text {
        font-size: 5.64vw;
    }

    #page_help .faq .faq_answer {
        padding: 0 0 5.13vw 8.97vw;
    }

    #page_help .faq .faq_answer::before {
        font-size: 4.62vw;
        width: 7.69vw;
        height: 7.69vw;
    }

    #page_help .faq .faq_answer .answer_text {
        font-size: 4.62vw;
    }

    /*----------------------------------------
  　　support
  ----------------------------------------*/
    /* title */
    #page_support .support_title {
        font-size: 5.12vw;
    }

    /* present */
    #page_support .campaign .present {
        padding: 15.38vw 0;
    }

    #page_support .campaign .present .present_title .highlight {
        font-size: 6.15vw;
    }

    #page_support .campaign .present .image_box {
        margin-top: 20.51vw;
        width: 100%;
    }

    /* method_bg */
    #page_support .campaign .method_bg::before {
        top: 5.13vw;
        height: 33.33vw;
        background: url(./image/recommend_bg_01_sp.png) no-repeat center center/cover;
    }

    /* method */
    #page_support .campaign .method {
        padding: 15.38vw 0;
    }

    #page_support .campaign .method .method_list {
        margin-top: 12.82vw;
        grid-template-columns: 1fr;
        gap: 20.51vw;
    }

    #page_support .campaign .method .method_list .method_item {
        flex-direction: column;
    }

    #page_support .campaign .method .method_list .method_item::before {
        top: calc(100% + 6.41vw);
        transform: translateX(50%);
        right: 50%;
        width: 7.69vw;
        height: 7.95vw;
        background: url(./image/icon_arrow_vertical.svg) no-repeat center center/cover;
    }

    #page_support .campaign .method .method_list .method_item .title_box {
        gap: 2.56vw;
        padding: 2.56vw;
    }

    #page_support .campaign .method .method_list .method_item .title_box .number {
        font-size: 4.61vw;
        padding: 0 2.56vw;
    }

    #page_support .campaign .method .method_list .method_item .title_box .title {
        font-size: 4.62vw;
    }

    #page_support .campaign .method .method_list .method_item .image_box {
        height: 46.15vw;
    }

    #page_support .campaign .method .method_list .method_item .image_box .image {
        aspect-ratio: 351/180;
    }

    #page_support .campaign .method .method_list .method_item .text {
        font-size: 4.62vw;
        padding: 2.56vw;
    }

    #page_support .campaign .method .method_list .method_item .highlight {
        font-size: 5.64vw;
    }

    /* form */
    #page_support .campaign .form {
        padding: 15.38vw 0;
    }

    #page_support .campaign .form .common_btn {
        margin-top: 15.38vw;
    }

    /* overview */
    #page_support .campaign .overview {
        padding: 15.38vw 0;
    }

    #page_support .campaign .overview .overview_title {
        font-size: 7.18vw;
        padding-bottom: 2.56vw;
    }

    #page_support .campaign .overview .overview_title::before {
        transform: translateX(-50%);
        width: 15.38vw;
    }

    #page_support .campaign .overview .overview_table {
        margin-top: 7.69vw;
    }

    #page_support .campaign .overview .overview_table tr {
        display: flex;
        flex-direction: column;
    }

    #page_support .campaign .overview .overview_table th,
    #page_support .campaign .overview .overview_table td {
        padding: 3.85vw;
    }

    #page_support .campaign .overview .overview_table th {
        font-size: 4.62vw;
        width: 100%;
    }

    #page_support .campaign .overview .overview_table td {
        font-size: 4.1vw;
    }

    #page_support .campaign .overview .overview_table .text {
        margin: 0 0 2.56vw 0;
        font-size: 4.1vw;
    }

    #page_support .campaign .overview .overview_table .highlight {
        font-size: 4.62vw;
    }

    #page_support .campaign .overview .overview_table .highlight.more {
        font-size: 5vw;
    }

    /* faq */
    #page_support .campaign .faq {
        padding: 15.38vw 0;
    }

    #page_support .campaign .faq .faq_list {
        margin-top: 10.26vw;
    }

    #page_support .campaign .faq .faq_list .faq_item {
        padding: 5.13vw 2.56vw;
    }

    #page_support .campaign .faq .faq_question {
        margin-bottom: 3.85vw;
        padding-left: 8.97vw;
    }

    #page_support .campaign .faq .faq_question::before {
        font-size: 4.62vw;
        width: 7.69vw;
        height: 7.69vw;
        top: 0.77vw;
    }

    #page_support .campaign .faq .faq_question .question_text {
        font-size: 4.64vw;
    }

    #page_support .campaign .faq .faq_answer {
        padding: 0 2.56vw 0 8.97vw;
    }

    #page_support .campaign .faq .faq_answer::before {
        font-size: 4.62vw;
        width: 7.69vw;
        height: 7.69vw;
    }

    #page_support .campaign .faq .faq_answer .answer_text {
        font-size: 3.6vw;
    }

    /* service */
    /* intro */
    #page_support .service .common_page_main {
        padding: 6.41vw 0;
    }

    #page_support .service .common_page_main::before {
        top: 0;
        height: 55.9vw;
        background: url(./image/blog_bg_sp.png) no-repeat center center/cover;
    }

    #page_support .service .intro {
        padding-top: 10.26vw;
    }

    #page_support .service .intro_wrap {
        display: block;
    }

    #page_support .service .intro_title {
        padding: 2.56vw;
        color: #133562;
        font-size: 6.15vw;
    }

    #page_support .service .intro_features {
        flex-direction: column;
        gap: 2.56vw;
        margin: 5.13vw 0 0 0;
    }

    #page_support .service .intro_feature {
        padding: 2.56vw 5.13vw;
        border-radius: 50px;
        font-size: 4.1vw;
        width: 100%;
        height: auto;
    }

    #page_support .service .intro_image {
        display: none;
    }

    /* category */
    #page_support .service .category {
        margin-top: 15.38vw;
        padding-bottom: 15.38vw;
    }

    #page_support .service .category_list {
        grid-template-columns: 1fr;
        gap: 7.69vw;
    }

    #page_support .service .category_item {
        border-radius: 1.28vw;
    }

    #page_support .service .category_item .image_box {
        height: 46.15vw;
    }

    #page_support .service .category_item .image_box .image {
        aspect-ratio: 351/180;
    }

    #page_support .service .category_item .category_text {
        padding: 2.56vw 2.56vw;
    }

    #page_support .service .category_item .category_text .category_title {
        font-size: 5.13vw;
        padding-top: 0;
    }

    #page_support .service .category_item .category_text .category_description {
        font-size: 4.62vw;
        line-height: 1.5;
    }

    /* special */
    /* benefit */
    #page_support .service .special .benefit {
        margin-top: 12.82vw;
    }

    #page_support .service .special .benefit .benefit_wrap {
        grid-template-columns: 1fr;
        gap: 7.69vw;
    }

    #page_support .service .special .benefit .benefit_item {
        gap: 1.28vw;
    }

    #page_support .service .special .benefit .benefit_item .benefit_title {
        font-size: 5.64vw;
    }

    #page_support .service .special .benefit .benefit_item .benefit_description {
        font-size: 4.62vw;
    }

    /* flow_bg */
    #page_support .service .flow_bg {
        position: relative;
        z-index: 1;
    }

    #page_support .service .flow_bg::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 61.54vw;
        background: url(./image/search_bg_sp.png) no-repeat center center/cover;
        z-index: -1;
    }

    /* flow */
    #page_support .service .special .flow {
        padding-top: 15.82vw;
    }

    #page_support .service .special .flow .flow_title {
        font-size: 6.15vw;
        padding-bottom: 2.56vw;
    }

    #page_support .service .special .flow .flow_title::before {
        transform: translateX(-50%);
        width: 15.38vw;
    }

    #page_support .service .special .flow .flow_list {
        gap: 9vw;
        margin-top: 7.69vw;
        padding: 9vw 5vw;
    }

    #page_support .service .special .flow .flow_list .flow_item {
        flex-direction: column;
        gap: 3vw;
        /* padding: 4vw; */
    }

    #page_support .service .special .flow .flow_list .flow_item .number {
        font-size: 4.1vw;
        border-right: none;
        background-color: #133562;
        color: #fff;
        padding: 0.64vw;
        min-width: auto;
        width: 17.94vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #page_support .service .special .flow .flow_list .flow_item .list_content {
        gap: 2.28vw;
    }

    #page_support .service .special .flow .flow_list .flow_item .list_content .list_title {
        font-size: 5.64vw;
    }

    #page_support .service .special .flow .flow_list .flow_item .list_content .list_description {
        font-size: 4vw;
    }

    #page_support .service .special .flow .flow_list .flow_item .list_content .list_description .highlight {
        font-size: 3.6vw;
    }

    #page_support .service .special .flow .note_text {
        font-size: 4.1vw;
        margin-top: 7.26vw;
        text-align: left;
    }

    /* cta */
    #page_support .cta {
        padding: 15.38vw 0;
    }

    #page_support .cta .cta_title {
        font-size: 3.59vw;
    }

    #page_support .cta .cta_title::before {
        left: -2.56vw;
        transform: rotate(-20deg);
    }

    #page_support .cta .cta_title::after {
        right: -2.56vw;
        transform: rotate(20deg);
    }

    #page_support .cta .cta_title .highlight {
        font-size: 5.12vw;
    }

    #page_support .cta .cta_content {
        margin: 5.12vw auto 0;
    }

    #page_support .cta .cta_heading {
        font-size: 5.13vw;
        padding: 2.56vw 5.13vw;
    }

    #page_support .cta .cta_info {
        flex-direction: column;
    }

    #page_support .cta .cta_text {
        flex-direction: column;
        padding: 2.56vw 5.13vw;
    }

    #page_support .cta .price_text {
        font-size: 5.13vw;
    }

    #page_support .cta .cta_button {
        margin-top: 2.56vw;
    }

    #page_support .cta .common_btn_inquiry {
        padding: 2.56vw 10.26vw;
        font-size: 4.62vw;
        width: 100%;
    }

    #page_support .cta .cta_note {
        font-size: 4.62vw;
        text-align: center;
        margin-top: 2.56vw;
    }

    #page_support .cta .cta_image {
        display: none;
    }

    #page_support .cta .cta_contact_info {
        flex-direction: column;
        gap: 1.28vw;
        padding: 2.56vw 5.13vw;
    }

    #page_support .cta .contact_label {
        font-size: 3.59vw;
    }

    #page_support .cta .phone_number {
        font-size: 6.15vw;
    }

    #page_support .cta .hours_text {
        font-size: 3.59vw;
    }

    /* faq_bg */
    #page_support .service .faq_bg::before {
        width: 50.26vw;
        height: 60.77vw;
        background: url(./image/review_bg_sp.png) no-repeat center center/cover;
    }

    /* faq */
    #page_support .service .faq {
        padding: 15.38vw 0 17.44vw;
    }

    #page_support .service .faq .faq_title {
        font-size: 5.13vw;
        padding: 2.56vw 0;
    }

    #page_support .service .faq .faq_list {
        margin-top: 5.13vw;
    }

    #page_support .service .faq .faq_list .faq_item {
        padding: 5.13vw 2.56vw;
    }

    #page_support .service .faq .faq_question {
        margin-bottom: 3.85vw;
        padding-left: 8.97vw;
    }

    #page_support .service .faq .faq_question::before {
        font-size: 4.62vw;
        width: 7.69vw;
        height: 7.69vw;
        top: 0.77vw;
    }

    #page_support .service .faq .faq_question .question_text {
        font-size: 4.64vw;
    }

    #page_support .service .faq .faq_answer {
        padding: 0 0 0 8.97vw;
    }

    #page_support .service .faq .faq_answer::before {
        font-size: 4.62vw;
        width: 7.69vw;
        height: 7.69vw;
    }

    #page_support .service .faq .faq_answer .answer_text {
        font-size: 3.6vw;
    }

    /*----------------------------------------
  　　company
  ----------------------------------------*/
    /* company_bg */
    #page_company .company_bg::before {
        top: 16.67vw;
        height: 111.54vw;
        background: url(./image/youtube_bg_sp.png) no-repeat center center/cover;
    }

    /* company */
    #page_company .company {
        padding: 15.38vw 0 17.44vw;
    }

    #page_company .company .company_info {
        max-width: 100%;
        margin: 7.69vw auto 0;
    }

    #page_company .company .company_table .info_label {
        width: 33%;
        padding: 5.13vw 0;
        font-size: 3.85vw;
    }

    #page_company .company .company_table .info_value {
        width: 67%;
        padding: 5.13vw 3vw;
        font-size: 3.85vw;
    }

    /* map */
    #page_company .map {
        padding: 15.38vw 0 0;
    }

    #page_company .map .map_container {
        width: 100%;
        height: 76.92vw;
        margin-top: 5.13vw;
    }

    #page_company .map .access_info {
        max-width: 100%;
        margin: 5vw 0 0;
        grid-template-columns: 1fr;
        padding: 1em;
    }

    #page_company .map .access_info .text {
        font-size: 3.59vw;
    }

    #page_company .map .access_info .text+.text {
        padding-left: 0;
        padding-top: 1em;
        border-left: none;
        border-top: 1px dashed #d7d7d7;
        margin-top: 1em;
    }

    #page_company .mission,
    #page_company .motto,
    #page_company .message {
        padding-top: 15vw;
    }

    #page_company .common_img_box {
        margin-top: 5vw;
    }

    .common_img_box {
        display: block;
    }

    .common_img_box .img {
        width: 100%;
        height: 52vw;
        margin-bottom: 8vw;
    }

    .common_img_box .img::after {
        width: 95vw;
        top: 5vw;
        left: -2.5vw;
    }

    .common_img_box .img img {}

    .common_img_box .text_box .theme {
        font-size: 5.5vw;
        margin-bottom: 2vw;
        line-height: 1.3;
    }

    .common_img_box .text_box .comment {
        font-size: 3.8vw;
    }

    .common_img_box .text_box .name {
        font-size: 4.2vw;
        margin-top: 3vw;
        text-align: end;
    }

    .motto .list {
        margin-top: 6vw;
    }

    .motto .list ul {
        grid-template-columns: 100%;
        gap: 3vw;
    }

    .motto .list ul li {}

    .motto .list ul li .img {
        height: 52vw;
    }

    .motto .list ul li .img img {}

    .motto .list ul li .text_box {
        padding: 3.5vw;
    }

    .motto .list ul li .text_box .theme {
        margin-bottom: 1vw;
        font-size: 4.5vw;
    }

    .motto .list ul li .text_box .text {
        font-size: 3.6vw;
    }

    /*----------------------------------------
  　　staff
  ----------------------------------------*/
    #page_staff .staff {
        padding: 15.38vw 0 17.44vw;
    }

    #page_staff .staff .staff_list {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 7.69vw;
        gap: 7.69vw 2.56vw;
    }

    #page_staff .staff .staff_item {
        gap: 1.28vw;
    }

    #page_staff .staff .staff_item .image_box {
        height: 60vw;
    }

    #page_staff .staff .staff_item .text_box .name {
        font-size: 4.1vw;
        padding-top: 2.56vw;
    }

    /*----------------------------------------
  　　staff_detail
  ----------------------------------------*/
    /* staff_detail_bg */
    #page_staff_detail .staff_detail_bg::before {
        top: 89.74vw;
        height: 55.9vw;
        background: url(./image/blog_bg_sp.png) no-repeat center center/cover;
    }

    /* staff_detail */
    #page_staff_detail .staff_detail {
        padding: 15.38vw 0;
    }

    #page_staff_detail .staff_detail .staff_profile {
        flex-direction: column;
        gap: 7.69vw;
    }

    #page_staff_detail .staff_detail .staff_profile .image_box {
        width: 100%;
        height: 73.84vw;
    }

    #page_staff_detail .staff_detail .staff_profile .image_box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #page_staff_detail .staff_detail .staff_profile .image_box .image {
        aspect-ratio: 351/360
    }

    #page_staff_detail .staff_detail .staff_profile .staff_info .staff_header {
        gap: 1.28vw;
    }

    #page_staff_detail .staff_detail .staff_profile .staff_info .staff_header .staff_name {
        font-size: 6.15vw;
        padding: 0 2.56vw;
    }

    #page_staff_detail .staff_detail .staff_profile .staff_info .staff_header .staff_name_en {
        font-size: 4.62vw;
    }

    #page_staff_detail .staff_detail .staff_profile .staff_info .info_item {
        flex-direction: column;
        gap: 2.56vw;
        margin-top: 7.69vw;
        padding: 5.13vw;
    }

    #page_staff_detail .staff_detail .staff_profile .staff_info .info_item:nth-last-of-type(2n) {
        border-radius: 2.56vw;
    }

    #page_staff_detail .staff_detail .staff_profile .staff_info .info_item .info_title {
        font-size: 5.13vw;
        margin-top: -9.23vw;
    }

    #page_staff_detail .staff_detail .staff_profile .staff_info .info_item .info_text {
        font-size: 4.1vw;
    }

    .page_heya .common_page_wrap {
        padding: 13vw 0;
    }

    .page_butken_heya .common_page_wrap {
        padding: 0 0 20vw;
    }


    #page_support .special .service_cont {
        grid-template-columns: 1fr;
        gap: 10vw;
        margin-top: 13vw;
    }

    #page_support .special .service_cont .item .img {
        height: 45vw;
    }

    #page_support .special .service_cont .item .text_area {
        padding-top: 4vw;
    }

    #page_support .special .service_cont .item .text_area .item_ttl {
        font-size: 5vw;
    }

    #page_support .special .service_cont .item .text_area .text {
        font-size: 3.6vw;
        letter-spacing: .02em;
    }

    .service_cta_ban_area .link {
        display: block;
        margin-top: 5vw;
    }

    .service_cta_ban_area .link .cta_head {
        font-size: 5vw;
        padding: 0.75em;
    }

    .service_cta_ban_area .link .inner {
        padding: 5vw;
    }

    .service_cta_ban_area .link .inner .text {
        font-size: 4.1vw;
    }

    .service_cta_ban_area .link .inner .text .size {
        font-size: 1.5em;
    }

    .service_cta_ban_area .link .inner .text .size .lr {
        font-size: 1.5em;
    }

    .service_cta_ban_area .link .inner .btn {
        width: 52vw;
        font-size: 3.8vw;
        padding: 1em;
        border-radius: 100vmax;
        line-height: 1;
        margin-top: 1em;
        position: relative;
        z-index: 1;
    }

    .service_cta_ban_area .link .inner .note_text {
        font-size: 2.5vw;
    }

    .service_cta_ban_area .link .inner .cta_person {
        position: absolute;
        bottom: 0;
        right: -4vw;
        width: 36vw;
    }

    .service_cta_tel_area {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 6.41vw 0 5.13vw;
        border-radius: 2.56vw;
        width: 100%;
        pointer-events: all;
    }

    .service_cta_tel_area .label {
        font-size: 4.1vw;
        margin-right: 0;
    }

    .service_cta_tel_area .label::before {
        top: unset;
        bottom: -2.56vw;
        right: 50%;
        transform: translateX(50%);
        width: 8.21vw;
        height: 1px;
    }

    .service_cta_tel_area .phone_number {
        align-items: center;
        gap: 2.56vw;
        margin-right: 0;
        margin-top: 6.41vw;
    }

    .service_cta_tel_area .phone_number .phone_icon {
        width: 6.67vw;
        height: 6.67vw;
        margin-top: -0.77vw;
    }

    .service_cta_tel_area .phone_number .number {
        font-size: 6.15vw;
    }

    .service_cta_tel_area .hours {
        font-size: 2.56vw;
        margin-top: 0;
        letter-spacing: 0.05em;
    }

    .top_aldo_plan {
        padding: 0 0 15vw;
    }

    .top_aldo_plan .plan_box {
        display: block;
    }

    .top_aldo_plan .plan_box .logo {
        width: 75%;
        margin: 0 auto 5vw;
    }

    .top_aldo_plan .plan_box .text_box .theme {
        font-size: 4vw;
        margin-bottom: 2vw;
    }

    .top_aldo_plan .plan_box .text_box .text {
        font-size: 3.4vw;
    }

    .top_aldo_plan .plan_box .text_box .text a {
        margin: 1.4vw 0 0;
    }

    .owner.top_recommend .list {
        display: flex;
        gap: 2vw;
        margin-top: 5vw;
        overflow-x: scroll;
    }

    .owner.top_recommend .list .item {
        width: 80vw;
        flex-shrink: 0;
    }

    .owner.top_recommend .item .link .link {
        background: #fff;
        border-radius: 1.28vw;
        overflow: hidden;
        transition: all 0.3s ease;
        border: 1px solid #eceeef;
        display: flex;
        flex-direction: column;
        position: relative;
        height: 100%;
        color: #05161a;
        width: 80vw;
        flex-shrink: 0;
    }

    .owner.top_recommend .item .link .image_box {
        height: 43.08vw;
    }

    .owner.top_recommend .item .link .image_box .image {
        object-fit: cover;
        height: 100%;
        width: 100%;
    }

    .owner.top_recommend .item .link .image_box .badge {
        top: 2.56vw;
        left: 2.56vw;
        width: 12.82vw;
        height: 12.82vw;
        position: absolute;
    }

    .owner.top_recommend .item .link .info_box {
        padding: 15px 20px 20px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex: 1;
    }

    .owner.top_recommend .item .link .info_box .title {
        font-size: 4.62vw;
        font-weight: 700;
        color: #05161a;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.3;
    }

    .owner.top_recommend .item .link .info_box .details_box {
        /* display: flex; */
        flex-direction: column;
        gap: 0.51vw;
        padding: 2.05vw 3.85vw 2.82vw 3.85vw;
        background-color: #f5f6f7;
        border-radius: 1.28vw;
        margin-top: 2.82vw;
        flex: 1;
        align-items: stretch;
    }

    .owner.top_recommend .item .link .info_box .details_box .detail_item {
        display: flex;
        gap: 2.05vw;
    }

    .owner.top_recommend .item .link .info_box .details_box .detail_item .icon_box {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .owner.top_recommend .item .link .info_box .details_box .detail_item .price_icon {
        width: 3.33vw;
        height: 3.33vw;
        margin-top: 1.79vw;
    }

    .owner.top_recommend .item .link .info_box .details_box .detail_item .room_icon {
        width: 3.08vw;
        height: 3.02vw;
        margin-top: 1.28vw;
    }

    .owner.top_recommend .item .link .info_box .details_box .detail_item .location_icon {
        width: 2.61vw;
        height: 3.59vw;
        margin-top: 0.77vw;
        margin-left: 0.26vw;
    }

    .owner.top_recommend .item .link .info_box .details_box .detail_item .detail_text {
        font-size: 3.33vw;
    }

    .owner.top_recommend .item .link .info_box .details_box .detail_item .detail_text .price {
        font-size: 4.2vw;
        margin-right: .3em;
        font-weight: 700;
    }
}