@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
*/

html,
body,
button,
input,
select,
textarea {
    font-family: "M PLUS 2", sans-serif;
    font-weight: 500;
}

body {
    color: var(--color_text);
    font-size: 16px;
    line-height: 1.7;
    max-width: unset;
    font-family: "M PLUS 2", sans-serif;
    font-weight: 500;
    min-width: 1440px;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

a[href^="tel:"] {
    pointer-events: none;
}

.sp {
    display: none !important;
}

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

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

.sec_pt_none {
    padding-top: unset !important;
}

.sec_pb_none {
    padding-bottom: unset !important;
}

/* font */
@font-face {
    font-family: "Poppins";
    src: url("/wp-content/themes/swell_child/font/Poppins-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "Poppins";
    src: url("/wp-content/themes/swell_child/font/Poppins-BoldItalic.ttf") format("truetype");
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-family: "Poppins";
    src: url("/wp-content/themes/swell_child/font/Poppins-MediumItalic.ttf") format("truetype");
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: "Poppins";
    src: url("/wp-content/themes/swell_child/font/Poppins-SemiBoldItalic.ttf") format("truetype");
    font-weight: 600;
    font-style: italic;
}

@font-face {
    font-family: "Poppins";
    src: url("/wp-content/themes/swell_child/font/Poppins-LightItalic.ttf") format("truetype");
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: "M PLUS 2";
    src: url("/wp-content/themes/swell_child/font/MPLUS2-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "M PLUS 2";
    src: url("/wp-content/themes/swell_child/font/MPLUS2-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "851Gkktt";
    src: url("/wp-content/themes/swell_child/font/851Gkktt_005.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

/* l-content */
.l-content {
    padding-top: 6em;
}

/* PC固定ページ 共通設定 */
.common_page_main {
    height: 456px;
    padding-top: 140px;
    position: relative;
    background: url(/wp-content/themes/swell_child/image/checkpoint_hero.png) no-repeat center center/cover;
}

.page-template-page-features .common_page_main {
    background: url(/wp-content/themes/swell_child/image/features_img04.png) no-repeat center center/cover;
}

.page-template-page-management .common_page_main {
    background: url(/wp-content/themes/swell_child/image/sell_flow_img04.jpg) no-repeat center center/cover;
}

.page-template-page-plan .common_page_main {
    background: url(/wp-content/themes/swell_child/image/page_plan_contents01.jpg) no-repeat center center/cover;
}

.page-template-page-sell .common_page_main {
    background: url(/wp-content/themes/swell_child/image/page_sell_main.jpg) no-repeat center center/cover;
}

.page-template-page-land-usage .common_page_main {
    background: url(/wp-content/themes/swell_child/image/land_usage_img03new.jpg) no-repeat center center/cover;
}

.page-template-page-company .common_page_main {
    background: url(/wp-content/themes/swell_child/image/page_company_main.jpg) no-repeat center center/cover;
}

.page-template-page-residents .common_page_main {
    background: url(/wp-content/themes/swell_child/image/page_residents_main.jpg) no-repeat center center/cover;
}

.common_page_main .title_box {
    text-align: center;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 20px;
    padding: 64px 50px 61px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    position: relative;
}

.common_page_main .title_box .title {
    font-size: 24px;
    font-weight: 700;
    font-weight: 700;
    line-height: 1;
    padding: 8px 20px;
    background-color: #fff;
    border-radius: 2px;
    border: 2px solid #333333;
}

.common_page_main .title_box .sub_title {
    font-size: 60px;
    font-weight: 900;
    color: #fff;
    font-family: "Poppins", sans-serif;
    -webkit-text-stroke-width: 2.5px;
    -webkit-text-stroke-color: #333333;
    line-height: 1;
    letter-spacing: -0.05em;
}

.common_page_wrap {
    padding: 55px 0 100px;
    border-radius: 0 0 50px 50px;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.common_page_wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    border-radius: 0 0 50px 50px;
    overflow: hidden;
    z-index: -1;
}

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

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

/* パンくず */
.breadcrumb {
    position: absolute;
    top: 86px;
    left: 100px;
    font-size: 14px;
    font-weight: 500;
    color: #333333;
}

.breadcrumb a {
    text-decoration: none;
    color: #808080;
    display: inline-block;
    line-height: 1.8571428571;
    position: relative;
}

.breadcrumb a::after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #808080;
    bottom: 0;
    left: 0;
}

.breadcrumb .breadcrumb_separator {
    padding: 0 6px;
    color: #808080;
}

/* PC固定ページ 個人情報保護方針 */
.page_privacy .main_text {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 3em;
}

.page_privacy dl {
    margin-bottom: 50px;
}

.page_privacy dl:last-child {
    margin-bottom: 0;
}

.page_privacy dl dt {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 0.5em;
    border-left: 3px solid var(--color_main);
    padding-left: 1em;
}

.page_privacy dl dd {
    font-size: 14px;
    line-height: 2;
}

/* 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;
}

/* トップページ下記より */
.test_text {
    font-size: 30px;
    font-weight: 700;
}

/* header
----------------------------------------*/
/* ヘッダーナビゲーション */
.is-top-page #pc_header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: 35px 50px;
    transition: all 0.3s ease;
}

.is-top-page #pc_header.fixed {
    position: fixed;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
    margin: 0 50px;
    border-radius: 0 0 10px 10px;
    padding: 18px 50px;
}

.is-inner-page #pc_header {
    position: fixed;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
    margin: 0 50px;
    border-radius: 0 0 10px 10px;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    padding: 18px 50px;
    transition: all 0.3s ease;
}

#pc_header .header_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#pc_header .header_container .logo {
    width: 223.41px;
    display: flex;
    align-items: center;
}

#pc_header.fixed .header_container .logo {
    width: 151.92px;
    flex-shrink: 0;
}

.is-inner-page #pc_header .header_container .logo {
    width: 151.92px;
    flex-shrink: 0;
}

#pc_header .header_container .logo img {
    width: 100%;
    height: auto;
}

#pc_header .header_container .nav {
    margin-left: 50px;
}

#pc_header .header_container .nav .list {
    display: flex;
    align-items: center;
    gap: 0 25px;
    flex-wrap: wrap;
}

#pc_header .header_container .nav .list .item {
    position: relative;
}

#pc_header .header_container .nav .list .item .link {
    display: block;
    text-decoration: none;
    color: #333333;
    font-weight: 700;
    font-size: 15px;
    transition: color 0.3s ease;
    position: relative;
    cursor: pointer;
}

/* ドロップダウンメニュー */
#pc_header .header_container .nav .list .item.dropdown {
    position: relative;
}

#pc_header .header_container .nav .list .item.dropdown .link {
    height: 100%;
    text-decoration: none;
    color: #333333;
    font-weight: 700;
    font-size: 15px;
    transition: color 0.3s ease;
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
}

#pc_header .header_container .nav .list .item.dropdown .link::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(/wp-content/themes/swell_child/image/icon_dropdown_close.svg) no-repeat center center/contain;
    margin-left: 5px;
    transition: all 0.3s ease;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: center;
}

#pc_header .header_container .nav .list .item.dropdown .menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    width: 190px;
    transform: translateX(-50%);
    background: #ffffff;
    border-radius: 5px;
    border: 2px solid #333333;
    padding: 23px 22px 25px 18px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    gap: 13px;
}

#pc_header .header_container .nav .list .item.dropdown .menu .item {
    cursor: pointer;
    transition: all 0.3s ease;
    color: #333333;
    font-size: 15px;
    font-weight: 500;
    position: relative;
}

#pc_header .header_container .nav .list .item.dropdown .menu .item span {
    position: relative;
    display: inline-block;
}

#pc_header .header_container .nav .list .item.dropdown .menu .item span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #ffd101;
    transition: all 0.3s ease;
}

#pc_header .header_container .nav .list .item.dropdown .menu .item::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background: url(/wp-content/themes/swell_child/image/icon_arrow_green.svg) no-repeat center center/contain;
    transition: all 0.3s ease;
}

/*----------------------------------------
　　トップページ
----------------------------------------*/
/* button
----------------------------------------*/
.button {
    color: #333333;
    display: inline-flex;
    align-items: center;
    gap: 20px;
    position: relative;
}

.button .icon {
    width: 50px;
    height: 50px;
    background-color: #016b2b;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.button .icon svg {
    width: 14px;
    height: 12px;
    transition: all 0.3s ease;
}

.button .text {
    font-size: 18px;
    display: inline-block;
    position: relative;
}

.button .text:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #ffd101;
    transition: all 0.3s ease;
}

/* section title
----------------------------------------*/
.common_title_box .en {
    display: block;
    font-size: 88px;
    font-weight: 700;
    line-height: 1.49;
    color: #016b2b;
    font-family: "Poppins", sans-serif;
}

.common_title_box .ja {
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    border: 2px solid #333333;
    padding: 7px 20px 9px;
    background-color: #fff;
    line-height: 1;
    margin-top: -10px;
    border-radius: 2px;
}

/* contact-fixed
----------------------------------------*/
.contact-fixed {
    position: fixed;
    right: 0;
    top: 490px;
    height: 200px;
    transform: translateX(calc(100% - 63px));
    z-index: 999;
    display: flex;
    transition: transform 0.3s ease;
    border-radius: 10px 0 0 10px;
    overflow: hidden;
    background-color: #fff;
}

.contact-fixed .trigger {
    position: relative;
    width: 64px;
    height: 200px;
    background: #016b2b;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    transition: all 0.3s ease;
    padding-top: 25px;
}

.contact-fixed .trigger .text {
    color: white;
    font-size: 18px;
    font-weight: 700;
    writing-mode: vertical-rl;
    line-height: 1.11;
    display: flex;
    align-items: center;
    gap: 13px;
    letter-spacing: 0.1em;
}

.contact-fixed .trigger .text::after {
    content: "";
    width: 24px;
    height: 24px;
    background: url(/wp-content/themes/swell_child/image/icon_arrow_white.svg) no-repeat center center/contain;
}

.contact-fixed .panel {
    width: 280px;
    padding: 35px 20px 35px 15px;
    display: flex;
    flex-direction: column;
    position: relative;
}

.contact-fixed .panel::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-top: 5px solid #016b2b;
    border-right: 5px solid #016b2b;
    border-bottom: 5px solid #016b2b;
    border-left: none;
    pointer-events: none;
}

.contact-fixed .panel .contact_link {
    display: block;
    font-size: 16px;
    font-weight: 700;
    width: 100%;
    height: 65px;
    background-color: #016b2b;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    gap: 10px;
    transition: all 0.3s ease;
    border-radius: 3px;
    border: 2px solid #333333;
    overflow: hidden;
}

.contact-fixed .panel .contact_link svg {
    width: 24px;
    height: 24px;
    transition: all 0.3s ease;
    margin-top: 2px;
}

.contact-fixed .panel .contact_link svg * {
    transition: all 0.3s ease;
}

.contact-fixed .panel .number {
    display: block;
    color: #016b2b;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
}

.contact-fixed .panel .number::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 21px;
    background: url(/wp-content/themes/swell_child/image/icon_phone_green.svg) no-repeat center center/contain;
    margin-left: 15px;
    margin-top: 3px;
}

.contact-fixed .panel .hours {
    color: #333333;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.85;
    margin-top: 7px;
    margin-left: 15px;
}

/* hero
----------------------------------------*/
/* コンテナの調整 */
.top_hero {
    margin-top: 120px;
    padding-top: 161px;
    padding-bottom: 171px;
    position: relative;
}

.top_hero::before {
    content: "";
    background: url(/wp-content/themes/swell_child/image/hero_bg.png) no-repeat center center/cover;
    position: absolute;
    top: -368px;
    left: -105px;
    width: 1055px;
    height: 883px;
    z-index: 2;
}

.top_hero .text-content {
    width: 600px;
    margin-left: 100px;
    position: relative;
    z-index: 2;
}

.top_hero .text-content .title {
    font-size: 64px;
    font-weight: 700;
    color: #333333;
    line-height: 1.3;
    letter-spacing: 0.03em;
}

.top_hero .text-content .title .char {
    display: inline-block;
    opacity: 0;
    transform: translateY(-1.2em);
    animation: drop .4s ease forwards;
}

@keyframes drop {
    from {
        opacity: 0;
        transform: translateY(-1.2em);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.js_orderleft span {
    opacity: 0.2;
    display: inline-block;
    animation: none;
}

.js_orderleft span.active {
    animation: fadeInLeft .3s ease forwards;
}

.js_orderleft span.accent {
    opacity: 1;
    line-height: 1.4;
}

.js_orderleft span.accent .active {
    opacity: 1;
    background: linear-gradient(transparent 74%, rgb(228 228 0 / 100%) 40%);
}

@keyframes fadeInLeft {
    to {
        opacity: 1;
    }
}

.top_hero .text-content .text {
    font-size: 20px;
    font-weight: 500;
    color: #333333;
    font-family: "Poppins", sans-serif;
    font-style: italic;
    line-height: 1.3;
    margin-top: 25px;
}

.hero_slider {
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    mask: linear-gradient(to right,
            black 0px,
            black 50px,
            transparent 50px,
            transparent 740px,
            black 740px,
            black 100%);
    -webkit-mask: linear-gradient(to right,
            black 0px,
            black 50px,
            transparent 50px,
            transparent 740px,
            black 740px,
            black 100%);
    z-index: 1;
}

.hero_slider .slide {
    border: 2px solid #333333;
    border-radius: 10px;
    overflow: hidden;
}

.hero_slider .slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}

/* Slickのデフォルトスタイルをカスタマイズ */
.hero_slider.slick-slider {
    overflow: hidden;
    width: 100%;
}

.hero_slider .slick-list,
.hero_slider .slick-track {
    height: 100%;
}

.hero_slider .slick-slide {
    margin-right: 20px;
}

.hero_slider .slick-slide>div {
    height: 100%;
    width: 100%;
}

.hero_slider .slick-slide>div>div {
    height: 100%;
    width: 100%;
}

/* 横スクロールの無限ループ用 */
.hero_slider .slick-track {
    display: flex;
    align-items: center;
}

/* Slick初期化後のスタイル強制適用 */
.hero_slider.slick-initialized {
    visibility: visible;
}

.hero_slider.slick-initialized .slide {
    display: none;
}

.hero_slider.slick-initialized .slick-slide {
    display: block;
}

/* background_text_01
----------------------------------------*/
.background_text_01 {
    margin-top: 67px;
}

.background_text_01 .text_scroll {
    display: flex;
    overflow: hidden;
    width: 100%;
}

.background_text_01 .text_scroll span {
    display: inline-block;
    color: #f8f8f8;
    font-size: 120px;
    font-weight: 700;
    font-family: "Poppins", sans-serif;
    font-style: italic;
    text-transform: uppercase;
    line-height: 1;
    word-break: keep-all;
    padding-right: 30px;
    flex-shrink: 0;
    white-space: nowrap;
}

.background_text_01 .text_scroll span:nth-child(odd) {
    -webkit-animation: scroll_text_01 36s linear infinite;
    animation: scroll_text_01 36s linear infinite;
}

.background_text_01 .text_scroll.delay span:nth-child(odd) {
    -webkit-animation: scroll_text_01_reverse 36s linear infinite;
    animation: scroll_text_01_reverse 36s linear infinite;
    -webkit-animation-delay: -6s;
    animation-delay: -6s;
}

.background_text_01 .text_scroll span:nth-child(even) {
    -webkit-animation: scroll_text_02 36s linear infinite;
    animation: scroll_text_02 36s linear infinite;
    -webkit-animation-delay: -18s;
    animation-delay: -18s;
}

.background_text_01 .text_scroll.delay span:nth-child(even) {
    -webkit-animation: scroll_text_02_reverse 36s linear infinite;
    animation: scroll_text_02_reverse 36s linear infinite;
    -webkit-animation-delay: -24s;
    animation-delay: -24s;
}

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

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

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

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

@-webkit-keyframes scroll_text_02 {
    0% {
        transform: translateX(-200%);
    }

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

@keyframes scroll_text_02 {
    0% {
        transform: translateX(-200%);
    }

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

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

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

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

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

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

    100% {
        transform: translateX(-200%);
    }
}

@keyframes scroll_text_02_reverse {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-200%);
    }
}

/* company
----------------------------------------*/
.top_company {
    position: relative;
    padding-top: 112px;
    z-index: 1;
    margin: -107px 0 330px;
}

.top_company::before {
    content: "";
    background: url(/wp-content/themes/swell_child/image/company_bg.png) no-repeat center top/cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1046px;
    z-index: -1;
}

.top_company .flex {
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 80px;
}

.top_company .flex .text_box {
    flex: 1;
}

.top_company .flex .text_box .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    margin-top: 125px;
}

.top_company .flex .text_box .description {
    font-size: 18px;
    font-weight: 500;
    line-height: 2.2;
    margin-top: 48px;
}

.top_company .image_box {
    width: 600px;
    height: auto;
}

.top_company .image_box img {
    width: 100%;
    height: auto;
}

/* service
----------------------------------------*/
.top_service {
    margin-top: -210px;
    position: relative;
    z-index: 1;
    padding-top: 90px;
}

.top_service::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 655px;
    background: url(/wp-content/themes/swell_child/image/service_bg_01.png) no-repeat center top/cover;
}

.top_service::after {
    content: "";
    position: absolute;
    top: 345px;
    left: 0;
    width: 100%;
    height: 1277px;
    background: url(/wp-content/themes/swell_child/image/service_bg_02.png) no-repeat center top/cover;
}

.top_service .title {
    text-align: center;
    position: relative;
    z-index: 2;
}

.top_service .description {
    text-align: center;
    margin: 22px auto 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
    position: relative;
    z-index: 2;
}

.top_service .grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: 47px;
}

.top_service .grid .item {
    padding: 47px 30px 30px 26px;
    border-radius: 10px;
    overflow: hidden;
    height: 576px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    transition: all 0.3s ease;
    z-index: 1;
}

.top_service .grid .item:nth-of-type(1) {
    border: 2px solid #45ef88;
}

.top_service .grid .item:nth-of-type(2) {
    border: 2px solid #ffd101;
}

.top_service .grid .item:nth-of-type(3) {
    border: 2px solid #b5947c;
}

.top_service .grid .item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.top_service .grid .item:nth-of-type(1)::before {
    background: url(/wp-content/themes/swell_child/image/service_management.jpg) no-repeat center center/cover;
}

.top_service .grid .item:nth-of-type(2)::before {
    background: url(/wp-content/themes/swell_child/image/service_agency.jpg) no-repeat center center/cover;
}

.top_service .grid .item:nth-of-type(3)::before {
    background: url(/wp-content/themes/swell_child/image/service_land-usage.jpg) no-repeat center center/cover;
}

.top_service .grid .item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top,
            rgba(51, 51, 51, 0.7) 0%,
            rgba(15, 15, 15, 0.7) 100%);
    transition: all 0.3s ease;
}

.top_service .grid .item:nth-of-type(2) {
    margin-top: 50px;
}

.top_service .grid .item .item_title_box {
    position: relative;
    z-index: 3;
}

.top_service .grid .item .number {
    width: 81px;
    height: 45px;
}

.top_service .grid .item .number img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.top_service .grid .item .item_title {
    writing-mode: vertical-lr;
    margin-top: 21px;
}

.top_service .grid .item .item_title .ja {
    display: block;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.06;
    border-radius: 2px;
    border: 2px solid #333333;
    padding: 19px 7px 15px;
    color: #333333;
}

.top_service .grid .item:nth-of-type(1) .item_title .ja {
    background-color: #45ef88;
}

.top_service .grid .item:nth-of-type(2) .item_title .ja {
    background-color: #ffd101;
}

.top_service .grid .item:nth-of-type(3) .item_title .ja {
    background-color: #b5947c;
}

.top_service .grid .item .item_title .en {
    display: block;
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
    margin-left: 7px;
    font-family: "Poppins", sans-serif;
    font-style: italic;
    letter-spacing: 0.05em;
}

.top_service .grid .item .item_content {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 3;
}

.top_service .grid .item .item_content .text {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
    color: #ffffff;
    flex: 1;
}

.top_service .grid .item .item_content .arrow {
    width: 50px;
    height: 50px;
}

.top_service .grid .item .item_content .arrow img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

/* properties
----------------------------------------*/
.top_properties {
    position: relative;
    z-index: 10;
    margin-top: 162px;
    padding-top: 150px;
    padding-bottom: 90px;
}

.top_properties::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 50px);
    height: 1013px;
    background: #f8faf7;
    border-radius: 0 250px 250px 0;
}

.top_properties .title_box {
    position: relative;
    margin-bottom: 50px;
}

.top_properties .title .en {
    position: relative;
    z-index: 1;
    letter-spacing: -0.02em;
}

.top_properties .title .en::before {
    content: "";
    position: absolute;
    top: 85px;
    left: 55px;
    width: 10px;
    height: 10px;
    background: #67c6da;
    border-radius: 50%;
    z-index: 2;
}

.top_properties .title .en::after {
    content: "";
    position: absolute;
    top: 49px;
    left: 675px;
    width: 17px;
    height: 17px;
    background: #ffd101;
    border-radius: 50%;
    z-index: 2;
}

/* Slickページネーションのスタイル */
.top_properties .common_bukken_slider_box .slick-dots {
    position: absolute;
    bottom: -60px;
    left: 0;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2px;
    width: 1090px;
    background-color: #efefef;
    border-radius: 5px;
}

.top_properties .common_bukken_slider_box .slick-dots li {
    width: 100%;
    height: 100%;
    margin: 0;
}

.top_properties .common_bukken_slider_box .slick-dots button {
    width: 100%;
    height: 10px;
    border: none;
    background-color: #efefef;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 0;
    padding: 0;
    display: block;
}

.top_properties .common_bukken_slider_box .slick-dots button::before {
    display: none;
}

.top_properties .common_bukken_slider_box .slick-dots .slick-active button {
    background-color: #016b2b;
}

/* information
----------------------------------------*/
.top_information {
    padding: 150px 0;
    position: relative;
    z-index: 15;
}

.top_information::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100% - 50px);
    height: 100%;
    background: url(/wp-content/themes/swell_child/image/information_bg.jpg) no-repeat right top/cover;
    z-index: -1;
    border-radius: 250px 0 0 250px;
}

.top_information .flex {
    flex-wrap: nowrap;
    justify-content: space-between;
}

.top_information .title {
    writing-mode: vertical-rl;
    margin-top: 24px;
}

.top_information .title .en {
    margin-left: -24px;
    letter-spacing: -0.015em;
}

.top_information .title .ja {
    padding: 27px 10px 24px;
    margin-left: 110px;
    margin-top: 6px;
}

.top_information .content {
    width: 960px;
    padding: 95px 100px 60px;
    background-color: #fff;
    border-radius: 10px;
}

.top_information .content .list .item .link {
    display: block;
    padding: 35px 0 41px 0;
    color: #333333;
    position: relative;
}

.top_information .content .list .item:first-child .link {
    padding-top: 0;
}

.top_information .content .list .item .link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: url(/wp-content/themes/swell_child/image/line_dotted.png) repeat-x center center/contain;
}

.top_information .content .list .item .link .icon {
    content: "";
    position: absolute;
    bottom: 47px;
    right: 0;
    width: 30px;
    height: 30px;
    background-color: #016b2b;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.top_information .content .list .item .link .icon svg {
    width: 10px;
    height: 8.5px;
    transition: all 0.3s ease;
}

.top_information .content .list .item .link .icon svg * {
    transition: all 0.3s ease;
}

.top_information .content .list .item .date {
    color: #808080;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: "Poppins", sans-serif;
    font-style: italic;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.44;
}

.top_information .content .list .item .date::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #ffd101;
    border-radius: 50%;
    margin-left: 3px;
}

.top_information .content .list .item .item_title {
    margin-top: 5px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.11;
    max-width: 700px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top_information .content .button_wrap {
    margin-top: 35px;
    text-align: right;
}

/* about
----------------------------------------*/
.top_about {
    margin-top: 170px;
    position: relative;
    z-index: 2;
    border-radius: 0 0 50px 50px;
    overflow: hidden;
}

.top_about::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    z-index: -1;
    border-radius: 0 0 50px 50px;
}

.top_about .flex {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 70px;
}

.top_about .image_box {
    width: 520px;
    height: 520px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid #333333;
}

.top_about .image_box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1/1;
}

.top_about .text_box {
    flex: 1;
}

.top_about .text_box .title .en {
    position: relative;
    margin-left: 5px;
    letter-spacing: -0.025em;
}

.top_about .text_box .title .en::before {
    content: "";
    position: absolute;
    top: 86px;
    left: 57px;
    width: 10px;
    height: 10px;
    background: #67c6da;
    border-radius: 50%;
    z-index: 2;
}

.top_about .text_box .title .en::after {
    content: "";
    position: absolute;
    top: 19px;
    left: 345px;
    width: 17px;
    height: 17px;
    background: #ffd101;
    border-radius: 50%;
    z-index: 2;
}

.top_about .text_box .description {
    margin-top: 48px;
}

.top_about .text_box .description .text {
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
}

.top_about .text_box .description .text+.text {
    margin-top: 32px;
}

.top_about .text_box .button_wrap {
    margin-top: 51px;
}

/* background_text_02
----------------------------------------*/
.background_text_02 {
    margin-top: 25px;
    transform: translateY(18px);
}

.background_text_02 .text_scroll_02 {
    display: flex;
    overflow: hidden;
    width: 100%;
}

.background_text_02 .text_scroll_02 span {
    display: inline-block;
    color: #f8f8f8;
    font-size: 120px;
    font-weight: 700;
    font-family: "Poppins", sans-serif;
    font-style: italic;
    text-transform: uppercase;
    line-height: 1;
    word-break: keep-all;
    padding-right: 30px;
    flex-shrink: 0;
    white-space: nowrap;
    font-feature-settings: "liga"1, "kern"1;
    text-rendering: optimizeLegibility;
}

.background_text_02 .text_scroll_02 span:nth-child(odd) {
    -webkit-animation: scroll_text_03 72s linear infinite;
    animation: scroll_text_03 72s linear infinite;
}

.background_text_02 .text_scroll_02 span:nth-child(even) {
    -webkit-animation: scroll_text_04 72s linear infinite;
    animation: scroll_text_04 72s linear infinite;
    -webkit-animation-delay: -36s;
    animation-delay: -36s;
}

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

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

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

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

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

    100% {
        transform: translateX(-200%);
    }
}

@keyframes scroll_text_04 {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-200%);
    }
}

/* contact
----------------------------------------*/
.common_contact {
    position: relative;
    z-index: 1;
    margin-top: -70px;
    padding-top: 186px;
}

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

.common_contact .flex {
    flex-wrap: nowrap;
    justify-content: space-between;
    border: 2px solid #333333;
    border-radius: 10px;
    padding: 70px 100px 45px;
    background-color: #fff;
}

.common_contact .title {
    margin-top: 10px;
}

.common_contact .title .en {
    font-size: 72px;
    position: relative;
    line-height: 1.4;
    letter-spacing: -0.015em;
}

.common_contact .title .en::before {
    content: "";
    position: absolute;
    top: 53px;
    left: 32px;
    width: 10px;
    height: 10px;
    background: #67c6da;
    border-radius: 50%;
    z-index: 2;
}

.common_contact .title .en::after {
    content: "";
    position: absolute;
    top: 24px;
    left: 291px;
    width: 17px;
    height: 17px;
    background: #ffd101;
    border-radius: 50%;
    z-index: 2;
}

.common_contact .title .ja {
    margin-top: 7px;
    padding: 0;
    border: none;
    background-color: transparent;
}

.common_contact .content_box .email_section {
    display: flex;
    align-items: center;
    gap: 33px;
}

.common_contact .content_box .email_section .label {
    font-size: 18px;
    font-weight: 700;
}

.common_contact .content_box .email_section .btn {
    width: 280px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #016b2b;
    border-radius: 10px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border: 2px solid #333333;
    transition: all 0.3s ease;
    gap: 10px;
}

.common_contact .content_box .email_section .btn svg {
    width: 20px;
    height: 14px;
    transition: all 0.3s ease;
    margin-top: 3px;
}

.common_contact .content_box .email_section .btn svg * {
    transition: all 0.3s ease;
}

.common_contact .content_box .phone_info {
    padding: 32px 0 30px 48px;
    margin-top: 20px;
    border-radius: 3px;
    background: #fafafa;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #333333;
}

.common_contact .content_box .phone_info .number {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 11px;
}

.common_contact .content_box .phone_info .number::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 28px;
    background: url(/wp-content/themes/swell_child/image/icon_phone_black.svg) no-repeat center center/contain;
    margin-top: 5px;
}

.common_contact .content_box .phone_info .details {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.42;
}

.common_contact .content_box .phone_info .details .hours {
    display: block;
}

.common_contact .content_box .phone_info .details .holiday {
    display: block;
}

/* footer
----------------------------------------*/
.footer {
    padding-top: 100px;
    background: #f8faf7;
    margin-top: auto;
}

.footer .company_info {
    text-align: center;
}

.footer .company_info .logo {
    width: 340px;
    height: 76px;
    margin: 0 auto;
}

.footer .company_info .logo img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.footer .company_info .address {
    margin-top: 27px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.71;
}

.footer .company_info .contact {
    margin-top: 24px;
}

.footer .company_info .contact .phone {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.71;
}

.footer .company_info .contact .hours {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.71;
}

.footer .pc_footer_nav {
    margin-top: 96px;
    padding-bottom: 127px;
    border-bottom: 1px solid #9d9d9d;
}

.footer .pc_footer_nav .list {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.footer .pc_footer_nav .list .nav_item {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.footer .pc_footer_nav .list .nav_item.nav_item_menu {
    gap: 7px;
}

.footer .pc_footer_nav .list .nav_item .link {
    font-size: 16px;
    font-weight: 700;
    color: #333333;
    transition: all 0.3s ease;
}

.footer .pc_footer_nav .list .nav_item.nav_item_light .link {
    font-size: 12px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.footer .pc_footer_nav .list .nav_item.nav_item_menu .menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer .pc_footer_nav .list .nav_item.nav_item_menu .menu .item span {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    color: #808080;
    position: relative;
    margin-left: 17px;
}

.footer .pc_footer_nav .list .nav_item.nav_item_menu .menu .item span::before {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    background: #ffd101;
    border-radius: 50%;
    left: -17px;
    top: 50%;
    transform: translateY(-50%);
}

.footer .pc_footer_nav .list .nav_item.nav_item_menu .menu .item span::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    background: #ffd101;
    bottom: 0;
    left: 0;
    transition: all 0.3s ease;
}

.footer .copyright {
    text-align: center;
    padding: 23px 0 50px;
}

.footer .copyright small {
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 500;
    font-style: italic;
}

/*----------------------------------------
　　オーナー様へ
----------------------------------------*/
.page_main .common_lead {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 80px;
    text-align: center;
    position: relative;
}

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

.page_owner .list .item {
    text-align: center;
    background: #f8faf7;
    border: solid 2px #333333;
    border-radius: 10px;
    overflow: hidden;
}

.page_owner .list .item .link {
    display: block;
    padding: 20px;
    color: #333333;
}

.page_owner .list .item .link .en {
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    font-family: "Poppins", sans-serif;
    font-style: italic;
}

.page_owner .list .item .link .ja {
    display: block;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 5px;
    color: #333333;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.page_owner .list .item .link .ja::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url(/wp-content/themes/swell_child/image/icon_arrow_green.svg) no-repeat center center/contain;
    transition: all 0.3s ease;
}

/*----------------------------------------
　　当社の管理の特徴
----------------------------------------*/
.page_features .wrap .lead {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.7;
    margin-bottom: 80px;
    text-align: center;
    position: relative;
}

.page_features .list {
    display: flex;
    flex-direction: column;
    gap: 130px;
    position: relative;
    z-index: 1;
}

.page_features .list::before {
    content: "";
    position: absolute;
    top: 85px;
    left: 0;
    width: calc(100% - 50px);
    height: 1118px;
    background: #f8faf7;
    border-radius: 0 250px 250px 0;
    z-index: -1;
}

.page_features .list .item {
    position: relative;
    z-index: 1;
}

.page_features .list .item .flex {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 80px;
}

.page_features .list .item .flex.reversed {
    flex-direction: row-reverse;
}

.page_features .list .item .content {
    flex: 1;
}

.page_features .list .item .content .title_box {
    display: flex;
    flex-direction: column;
}

.page_features .list .item .content .title_box .number {
    font-size: 56px;
    font-weight: 700;
    line-height: 1.41;
    color: #016b2b;
    font-style: italic;
    font-family: "Poppins", sans-serif;
}

.page_features .list .item .content .title_box .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.44;
}

.page_features .list .item .content .title_box .title span {
    color: #016b2b;
}

.page_features .list .item .content .description {
    margin-top: 35px;
}

.page_features .list .item .content .description .text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.69;
}

.page_features .list .item .content .description .text+.text {
    margin-top: 27px;
}

.page_features .list .item .image {
    width: 420px;
    border-radius: 10px;
    border: solid 2px #333333;
    position: relative;
}

.page_features .list .item .image img {
    width: 100%;
    border-radius: 10px;
}

.page_features .list .item .image .number {
    position: absolute;
    top: -73px;
    font-size: 22px;
    right: -74px;
    font-weight: 700;
    background-color: #016b2b;
    color: #fff;
    font-style: italic;
    font-family: "Poppins", sans-serif;
    z-index: 1;
    width: 120px;
    padding: 15px 0;
    display: block;
    text-align: center;
    border-radius: 12px;
}

.page_features .list .item .image .number .num {
    font-size: 38px;
    line-height: 1;
}


/*----------------------------------------
　　管理実績
----------------------------------------*/
.page_management_title .title_box {
    gap: 20px;
}

.page_management .common_page_wrap .lead {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.7;
    margin-bottom: 80px;
    text-align: center;
    position: relative;
}

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

.page_management .common_page_wrap .list .item {
    background: #f8faf7;
    border: solid 2px #333333;
    border-radius: 10px;
    overflow: hidden;
    padding: 20px;
    transition: .3s;
    display: block;
}

.page_management .common_page_wrap .list .item:hover {
    background: #c0d9c6;
}

.page_management .common_page_wrap .list .item .number {
    font-size: 56px;
    font-weight: 700;
    line-height: 1;
    color: #016b2b;
    font-style: italic;
    font-family: "Poppins", sans-serif;
}

.page_management .common_page_wrap .list .item .image {
    width: 120px;
    height: 120px;
    margin: 0 auto;
}

.page_management .common_page_wrap .list .item .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.page_management .common_page_wrap .list .item .title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.44;
    margin-top: 20px;
    text-align: center;
}

/*----------------------------------------
　　管理プラン
----------------------------------------*/
.page_plan .common_page_wrap .wrap .lead {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.7;
    margin-bottom: 80px;
    text-align: center;
    position: relative;
}

.page_plan .plan_bg {
    padding: 100px 0;
    position: relative;
    z-index: 1;
}

.page_plan .plan_bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 50px);
    height: 100%;
    background: #f8faf7;
    border-radius: 0 250px 250px 0;
    z-index: -1;
}

.page_plan .reward .title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.page_plan .reward .table-wrapper {
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

.page_plan .reward .table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
}

.page_plan .reward .table th {
    background-color: #016b2b;
    color: #ffffff;
    padding: 15px;
    text-align: center;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
}

.page_plan .reward .table th:first-child {
    width: 35%;
    border-right: 3px solid #ffffff;
}

.page_plan .reward .table td {
    padding: 15px;
    border-bottom: 1px solid #eee;
    background-color: #ffffff;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
}

.page_plan .reward .table td:first-child {
    border-right: 3px solid #ffffff;
}

.page_plan .reward .notes {
    margin-top: 10px;
}

.page_plan .reward .notes ul {
    list-style: none;
    padding: 0;
}

.page_plan .reward .notes li {
    color: #808080;
    font-size: 14px;
}

.page_plan .service_overview {
    position: relative;
    z-index: 1;
    margin-top: 80px;
}

.page_plan .service_overview .service_overview_title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.page_plan .service_overview .service_overview_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 20px;
    position: relative;
    z-index: 1;
}

.page_plan .service_overview .service_overview_list .item {
    display: flex;
    flex-direction: column;
    gap: 40px;
    color: #333333;
    padding: 20px;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    transition: all 0.3s ease;
    background: #fff;
    position: relative;
    transition: .3s;
}

.page_plan .service_overview .service_overview_list .item:hover {
    color: #fff;
    background: #016b2b;
}

.page_plan .service_overview .service_overview_list .item .image {
    width: 90%;
    height: 110px;
    margin: 0 auto;
}

.page_plan .service_overview .service_overview_list .item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_plan .service_overview .service_overview_list .item .title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    color: #333333;
    text-align: center;
    position: relative;
    transition: .3s;
}

.page_plan .service_overview .service_overview_list .item:hover .title {
    color: #fff;
}

.page_plan .service_overview .service_overview_list .item .title::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    height: 1px;
    background: url(/wp-content/themes/swell_child/image/line_dotted.png) repeat center center/contain;
}

.page_plan .service_overview .service_overview_list .item .title span {
    font-size: 16px;
    line-height: 1.5;
    color: #808080;
}

.page_plan .service_overview .option-services {
    margin-top: 60px;
}

.page_plan .service_overview .option-services .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    color: #333333;
    margin-bottom: 20px;
    text-align: center;
}

.page_plan .service_overview .option-services .option_text {
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-size: 16px;
    font-weight: 600;
}

.page_plan .service_overview .option-services .option_text .small {
    display: block;
    font-size: 80%;
    font-weight: 400;
}

.page_plan .service_overview .option-services .option_text+.option_text {
    margin-top: 8px;
}

.page_plan .service_overview .option-services .option_img_list {
    margin-top: 80px;
}

.page_plan .service_overview .option-services .option_img_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.page_plan .service_overview .option-services .option_img_list ul li {
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.page_plan .service_overview .option-services .option_img_list ul li .img {
    width: 100%;
    height: 180px;
}

.page_plan .service_overview .option-services .option_img_list ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_plan .service_overview .option-services .option_img_list ul li .cont_box {
    padding: 15px;
}

.page_plan .service_overview .option-services .option_img_list ul li .cont_box .option_theme {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 5px;
}

.page_plan .service_overview .option-services .option_img_list ul li .cont_box .cont {
    font-size: 15px;
    letter-spacing: 0.04em;
}


.page_plan .common_item_list {
    margin-top: 20px;
}

.moveout .common_item_list {
    padding: 30px 120px;
    gap: 15px;
    grid-template-columns: 100%;
}

.moveout .common_item_list .item {
    align-items: baseline;
}

.common_item_list {
    display: grid;
    gap: 5px 30px;
    padding: 30px 120px;
    background-color: #fff;
    border-radius: 10px;
    grid-template-columns: repeat(3, 1fr);
}

.common_item_list .item {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.69;
    color: #333333;
    display: flex;
    align-items: center;
    gap: 10px;
}

.common_item_list .item::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ffd101;
    flex-shrink: 0;
}

/*----------------------------------------
　　入居者様へ
----------------------------------------*/
.page_residents .guide {
    position: relative;
    z-index: 1;
    padding: 100px 0;
}

.page_residents .guide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 50px);
    height: 100%;
    background: #f8faf7;
    border-radius: 0 250px 250px 0;
    z-index: -1;
}

.page_residents .guide .guide_title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.page_residents .guide .list {
    display: flex;
    flex-direction: column;
    gap: 153px;
    position: relative;
    z-index: 1;
    padding-bottom: 150px;
}

.page_residents .guide .list .item {
    position: relative;
    z-index: 1;
}

.page_residents .guide .list .item::after {
    content: "";
    position: absolute;
    top: calc(100% + 67px);
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 51px;
    background: url(/wp-content/themes/swell_child/image/icon_arrow_guide.svg) no-repeat center center/contain;
    z-index: -1;
}

.page_residents .guide .list .item:last-child::after {
    display: none;
}

.page_residents .guide .list .item .content {
    display: flex;
    position: relative;
    gap: 20px;
}

.page_residents .guide .list .item .content::before {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 0;
    width: 100%;
    height: 2px;
    background: url(/wp-content/themes/swell_child/image/line_dotted.png) repeat center center/contain;
}

.page_residents .guide .list .item .content .image {
    width: 80px;
    height: 80px;
}

.page_residents .guide .list .item .content .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    aspect-ratio: 80/80;
}

.page_residents .guide .list .item .content .text_box {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 5px;
}

.page_residents .guide .list .item .content .number {
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    color: #016b2b;
    font-style: italic;
    font-family: "Poppins", sans-serif;
    width: 95px;
}

.page_residents .guide .list .item .content .description {
    flex: 1;
}

.page_residents .guide .list .item .content .description .text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.69;
}

.page_residents .guide .list .item .content .description .text+.text {
    margin-top: 27px;
}

.page_residents .guide .button_wrap {
    display: flex;
    justify-content: center;
    gap: 50px;
    position: relative;
    z-index: 1;
}

.page_residents .garage {
    position: relative;
    z-index: 1;
    margin-top: 150px;
}

.page_residents .garage .garage_title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.page_residents .garage .content {
    display: flex;
    gap: 20px;
    align-items: center;
}

.page_residents .garage .content .text_box {
    flex: 1;
}

.page_residents .garage .content .text_box .text {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
}

.page_residents .garage .content .text_box .text .accent {
    font-size: 20px;
    background-color: #016b2b;
    color: #fff;
    font-weight: 800;
    margin-right: 5px;
    padding: 3px 10px;
}

.page_residents .garage .content .text_box .text+.text {
    margin-top: 27px;
}

.page_residents .garage .content .text_box .text.up {
    margin-top: 17px;
}

.page_residents .garage .content .image {
    width: 400px;
    height: 300px;
}

.page_residents .garage .content .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 400/300;
}

.page_residents .faq {
    position: relative;
    z-index: 1;
    margin-top: 100px;
    padding: 100px 0;
}

.page_residents .faq::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100% - 50px);
    height: 100%;
    background: #f8faf7;
    border-radius: 250px 0 0 250px;
    z-index: -1;
}

.page_residents .faq .faq_title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.page_residents .faq .faq_list {
    display: flex;
    flex-direction: column;
    gap: 50px;
    position: relative;
    z-index: 1;
}

.page_residents .faq .faq_list .faq_item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.page_residents .faq .faq_list .faq_item .faq_question .question_text {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    color: #333333;
    display: flex;
    gap: 10px;
    border-bottom: solid 1px #e0e0e0;
    padding-bottom: 5px;
}

.page_residents .faq .faq_list .faq_item .faq_question .question_text::before {
    content: "Q.";
    display: inline-block;
    color: #016b2b;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    font-family: "Poppins", sans-serif;
}

.page_residents .faq .faq_list .faq_item .faq_answer .answer_text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.69;
    color: #333333;
    display: flex;
    gap: 13px;
}

.page_residents .faq .faq_list .faq_item .faq_answer .answer_text::before {
    content: "A.";
    display: inline-block;
    color: #ffd101;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    font-family: "Poppins", sans-serif;
}

.page_residents .moveout {
    position: relative;
    z-index: 1;
    margin-top: 100px;
}

.page_residents .moveout .moveout_title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.page_residents .moveout .content .text_box .list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.page_residents .moveout .content .text_box .list .item {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.69;
    color: #333333;
    display: flex;
    gap: 10px;
}

.page_residents .moveout .content .text_box .list .item::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #333333;
    flex-shrink: 0;
    margin-top: 12px;
}

/*----------------------------------------
　　不動産売買
----------------------------------------*/
.page_sell .sell {
    position: relative;
    z-index: 1;
    padding: 100px 0;
}

.page_sell .sell::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 50px);
    height: 100%;
    background: #f8faf7;
    border-radius: 0 250px 250px 0;
    z-index: -1;
}

.page_sell .sell .sell_title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    color: #ffffff;
    text-align: center;
    position: relative;
    z-index: 1;
    background: #016b2b;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 30px;
    padding: 5px 25px;
    border-radius: 10px;
}

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

.page_sell .sell .sell_description .img_one {
    background-color: #fff;
    border: 2px solid #016b2b;
    width: 280px;
}

.page_sell .sell .sell_description .img_wrap_box {
    display: flex;
    gap: 50px;
    align-items: flex-end;
}

.page_sell .sell .sell_description .img_one .img {
    height: 150px;
}

.page_sell .sell .sell_description .img_one .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_sell .sell .sell_description .img_one .text_theme {
    padding: 12px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.6;
}

.page_sell .sell .sell_description .img_one .text_theme .small {
    font-size: 12px;
    display: flex;
    align-items: flex-start;
}


.page_sell .sell .sell_description .list li {
    background-color: #fff;
    border: 2px solid #016b2b;
}

.page_sell .sell .sell_description .list li .img {
    width: 100%;
    height: 150px;
}

.page_sell .sell .sell_description .list li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_sell .sell .sell_description .list li .text_theme {
    padding: 12px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.6;
}

.page_sell .sell .sell_description .list li .text_theme .small {
    font-size: 12px;
    display: flex;
    align-items: flex-start;
}

.page_sell .sell .sell_description .list li .text_theme .small::before {
    content: "※";
    font-size: 12px;
}

.page_sell .sell .sell_description .image_wrap {
    display: flex;
    gap: 45px;
    justify-content: center;
    margin-top: 60px;
}

.page_sell .sell .sell_description .image_wrap .image_before {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.page_sell .sell .sell_description .image_wrap .image_before .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: #016b2b;
    text-align: center;
    font-family: "Poppins", sans-serif;
}

.page_sell .sell .sell_description .image_wrap .image_before .image {
    width: 380px;
    height: 300px;
    position: relative;
}

.page_sell .sell .sell_description .image_wrap .image_before .image::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -37px;
    transform: translateY(-50%);
    width: 30px;
    height: 36px;
    background: url(/wp-content/themes/swell_child/image/sell_flow_arrow.svg) no-repeat center center/contain;
}

.page_sell .sell .sell_description .image_wrap .image_before .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 380/300;
    border-radius: 10px;
}

.page_sell .sell .sell_description .image_wrap .image_after {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.page_sell .sell .sell_description .image_wrap .image_after .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: #ffd101;
    text-align: center;
    font-family: "Poppins", sans-serif;
}

.page_sell .sell .sell_description .image_wrap .image_after .image {
    width: 380px;
    height: 300px;
}

.page_sell .sell .sell_description .image_wrap .image_after .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 380/300;
    border-radius: 10px;
}

.page_sell .sell .sell_flow {
    margin-top: 100px;
}

.page_sell .sell .sell_flow .sell_flow_title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.page_sell .sell .sell_flow .sell_flow_list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 60px;
}

.page_sell .sell .sell_flow .sell_flow_list .item {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
    width: 320px;
    height: 240px;
    position: relative;
}

.page_sell .sell .sell_flow .sell_flow_list .item::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -45px;
    width: 30px;
    height: 36px;
    background: url(/wp-content/themes/swell_child/image/sell_flow_arrow.svg) no-repeat center center/contain;
    transform: translateY(-50%);
}

.page_sell .sell .sell_flow .sell_flow_list .item:last-child::after {
    display: none;
}

.page_sell .sell .sell_flow .sell_flow_list .item .item_bg {
    position: relative;
    z-index: 1;
    border-radius: 10px;
    overflow: hidden;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.page_sell .sell .sell_flow .sell_flow_list .item .item_bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.page_sell .sell .sell_flow .sell_flow_list .item .item_bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: rgba(0, 0, 0, 0.3);
}

.page_sell .sell .sell_flow .sell_flow_list .item:nth-of-type(1) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/sell_flow_img01.jpg) no-repeat center center/cover;
}

.page_sell .sell .sell_flow .sell_flow_list .item:nth-of-type(2) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/sell_flow_img02.jpg) no-repeat center center/cover;
}

.page_sell .sell .sell_flow .sell_flow_list .item:nth-of-type(3) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/sell_flow_img03.jpg) no-repeat center center/cover;
}

.page_sell .sell .sell_flow .sell_flow_list .item:nth-of-type(4) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/sell_flow_img04.jpg) no-repeat center center/cover;
}

.page_sell .sell .sell_flow .sell_flow_list .item:nth-of-type(5) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/sell_flow_img05.jpg) no-repeat center center/cover;
}

.page_sell .sell .sell_flow .sell_flow_list .item:nth-of-type(6) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/sell_flow_img06.jpg) no-repeat center center/cover;
}

.page_sell .sell .sell_flow .sell_flow_list .item .item_bg .text {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    color: #ffffff;
    text-align: center;
}

.page_sell .sell .methods {
    margin-top: 100px;
}

.page_sell .sell .methods .methods_title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.page_sell .sell .methods .method_tabs {
    display: flex;
    justify-content: center;
}

.page_sell .sell .methods .method_tabs .method_tab.active {
    background: #016b2b;
    color: #ffffff;
    cursor: default;
}

.page_sell .sell .methods .method_tabs .method_tab.active .tab_text {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    color: #ffffff;
}

.page_sell .sell .methods .method_tabs .method_tab {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    display: flex;
    gap: 10px;
    width: 50%;
    padding: 10px 0;
    justify-content: center;
    background: #cccccc;
    cursor: pointer;
}

.page_sell .sell .methods .method_tabs .method_tab .tab_text {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    color: #ffffff;
    display: flex;
    gap: 10px;
}

.page_sell .sell .methods .method_content.active {
    display: block;
}

.page_sell .sell .methods .method_content.active .method_info {
    padding: 40px;
    background: #ffffff;
}

.page_sell .sell .methods .method_content.active .method_info .pros_cons {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.page_sell .sell .methods .method_content.active .method_info .pros_cons .pros {
    display: flex;
    align-items: stretch;
}

.page_sell .sell .methods .method_content.active .method_info .pros_cons .pros .pros_title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    display: flex;
    background: #fdf7da;
    color: #016b2b;
    justify-content: center;
    align-items: center;
    width: 30%;
}

.page_sell .sell .methods .method_content.active .method_info .pros_cons .pros .pros_list {
    display: flex;
    flex-direction: column;
    width: 70%;
    padding: 20px;
    background: #fafafa;
}

.page_sell .sell .methods .method_content.active .method_info .pros_cons .pros .pros_list li {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.69;
    color: #333333;
}

.page_sell .sell .methods .method_content.active .method_info .pros_cons .cons {
    display: flex;
}

.page_sell .sell .methods .method_content.active .method_info .pros_cons .cons .cons_title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    display: flex;
    background: #d8efe2;
    color: #016b2b;
    justify-content: center;
    align-items: center;
    width: 30%;
}

.page_sell .sell .methods .method_content.active .method_info .pros_cons .cons .cons_list {
    display: flex;
    flex-direction: column;
    width: 70%;
    padding: 20px;
    background: #fafafa;
}

.page_sell .sell .methods .method_content.active .method_info .pros_cons .cons .cons_list li {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.69;
    color: #333333;
}

.page_sell .sell .methods .method_content {
    display: none;
}

.page_sell .buy {
    position: relative;
    z-index: 1;
    margin-top: 100px;
    padding: 100px 0;
}

.page_sell .buy::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100% - 50px);
    height: 100%;
    background: #f8faf7;
    z-index: -1;
    border-radius: 250px 0 0 250px;
}

.page_sell .buy .buy_title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    color: #ffffff;
    text-align: center;
    position: relative;
    z-index: 1;
    background: #016b2b;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 30px;
    padding: 5px 25px;
    border-radius: 10px;
}

.page_sell .buy .buy_flow .buy_flow_title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
}

.page_sell .buy .buy_flow .buy_flow_list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 60px;
}

.page_sell .buy .buy_flow .buy_flow_list .item {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
    width: 320px;
    height: 240px;
    position: relative;
}

.page_sell .buy .buy_flow .buy_flow_list .item::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -45px;
    width: 30px;
    height: 36px;
    background: url(/wp-content/themes/swell_child/image/sell_flow_arrow.svg) no-repeat center center/contain;
    transform: translateY(-50%);
}

.page_sell .buy .buy_flow .buy_flow_list .item:last-child::after {
    display: none;
}

.page_sell .buy .buy_flow .buy_flow_list .item .item_bg {
    position: relative;
    z-index: 1;
    border-radius: 10px;
    overflow: hidden;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.page_sell .buy .buy_flow .buy_flow_list .item .item_bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.page_sell .buy .buy_flow .buy_flow_list .item .item_bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: rgba(0, 0, 0, 0.3);
}

.page_sell .buy .buy_flow .buy_flow_list .item:nth-of-type(1) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/buy_flow_img01.jpg) no-repeat center center/cover;
}

.page_sell .buy .buy_flow .buy_flow_list .item:nth-of-type(2) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/buy_flow_img02.jpg) no-repeat center center/cover;
}

.page_sell .buy .buy_flow .buy_flow_list .item:nth-of-type(3) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/buy_flow_img03.jpg) no-repeat center center/cover;
}

.page_sell .buy .buy_flow .buy_flow_list .item:nth-of-type(4) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/buy_flow_img04.jpg) no-repeat center center/cover;
}

.page_sell .buy .buy_flow .buy_flow_list .item:nth-of-type(5) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/buy_flow_img05.jpg) no-repeat center center/cover;
}

.page_sell .buy .buy_flow .buy_flow_list .item:nth-of-type(6) .item_bg::before {
    background: url(/wp-content/themes/swell_child/image/buy_flow_img06.jpg) no-repeat center center/cover;
}

.page_sell .buy .buy_flow .buy_flow_list .item .item_bg .text {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    color: #ffffff;
    text-align: center;
}

.page_sell .buy .lifestyle_pack {
    margin-top: 100px;
}

.page_sell .buy .lifestyle_pack .lifestyle_pack_title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
}

.page_sell .buy .lifestyle_pack .lifestyle_pack_table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.page_sell .buy .lifestyle_pack .lifestyle_pack_table tbody tr {
    border-bottom: solid 1px #ccc;
}

.page_sell .buy .lifestyle_pack .lifestyle_pack_table tbody tr th {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    color: #333333;
    padding: 10px 20px;
    text-align: left;
}

.page_sell .buy .lifestyle_pack .lifestyle_pack_table tbody tr td {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #5d5d5d;
    padding: 10px 20px;
    text-align: left;
}

.page_sell .buy .repeat_discount {
    margin-top: 20px;
}

.page_sell .buy .repeat_discount .repeat_discount_title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.69;
    color: #333333;
}

.page_sell .buy .repeat_discount .repeat_discount_text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.69;
    color: #333333;
}

/*----------------------------------------
　　土地活用
----------------------------------------*/
.page_land_usage .land_usage {
    position: relative;
    z-index: 1;
}

.page_land_usage .land_usage .usage_title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
}

.page_land_usage .land_usage .land_usage_content {
    display: flex;
    gap: 60px;
    justify-content: space-between;
    align-items: center;
}

.page_land_usage .land_usage .land_usage_content .discription {
    flex: 1;
}

.page_land_usage .land_usage .land_usage_content .discription .text {
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
    color: #333333;
}

.page_land_usage .land_usage .land_usage_content .image {
    width: 400px;
    height: 400px;
}

.page_land_usage .land_usage .land_usage_content .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 400/400;
}

.page_land_usage .land_usage_case {
    position: relative;
    z-index: 1;
    margin-top: 100px;
}

.page_land_usage .land_usage_case .case_title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    color: #016b2b;
    margin-bottom: 30px;
    text-align: center;
}

.page_land_usage .land_usage_case .list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 45px 35px;
    position: relative;
    z-index: 1;
}

.page_land_usage .land_usage_case .list .item {
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
    border-radius: 10px;
    overflow: hidden;
}

.page_land_usage .land_usage_case .list .item .img {
    width: 100%;
    height: 170px;
}

.page_land_usage .land_usage_case .list .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_land_usage .land_usage_case .list .text_box {
    padding: 17px 15px;
}

.page_land_usage .land_usage_case .list .text_box .text {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.8;
    margin-top: 5px;
}

.page_land_usage .land_usage_case .list .text_box .theme {
    font-size: 19px;
    letter-spacing: 0.08em;
    font-weight: 800;
}


/*----------------------------------------
　　内見時のチェックポイント
----------------------------------------*/
.page_checkpoint .wrap .lead {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.7;
    margin-bottom: 80px;
    text-align: center;
    position: relative;
}

.page_checkpoint .list {
    display: flex;
    flex-direction: column;
    gap: 130px;
    position: relative;
    z-index: 1;
    padding-bottom: 150px;
}

.page_checkpoint .list::before {
    content: "";
    position: absolute;
    top: 85px;
    left: 0;
    width: calc(100% - 50px);
    height: 1200px;
    background: #f8faf7;
    border-radius: 0 250px 250px 0;
    z-index: -1;
}

.page_checkpoint .list::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(100% - 50px);
    height: 947px;
    background: #f8faf7;
    border-radius: 250px 0 0 250px;
    z-index: -1;
}

.page_checkpoint .list .item {
    position: relative;
    z-index: 1;
}

.page_checkpoint .list .item .flex {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 80px;
}

.page_checkpoint .list .item .flex.reversed {
    flex-direction: row-reverse;
}

.page_checkpoint .list .item .content {
    flex: 1;
}

.page_checkpoint .list .item .content .title_box {
    display: flex;
    flex-direction: column;
}

.page_checkpoint .list .item .content .title_box .number {
    font-size: 56px;
    font-weight: 700;
    line-height: 1.41;
    color: #016b2b;
    font-style: italic;
    font-family: "Poppins", sans-serif;
}

.page_checkpoint .list .item .content .title_box .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.44;
}

.page_checkpoint .list .item .content .title_box .title span {
    color: #016b2b;
}

.page_checkpoint .list .item .content .description {
    margin-top: 35px;
}

.page_checkpoint .list .item .content .description .text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.69;
}

.page_checkpoint .list .item .content .description .text+.text {
    margin-top: 27px;
}

.page_checkpoint .list .item .image {
    width: 420px;
    height: 520px;
    border-radius: 10px;
    overflow: hidden;
    border: solid 2px #333333;
}

.page_checkpoint .list .item .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 420/520;
}

/*----------------------------------------
　　privacy
----------------------------------------*/
.page_privacy_title .title_box {
    gap: 20px;
}

/*----------------------------------------
　　sitemap
----------------------------------------*/
.page_title_sitemap .title_box {
    gap: 20px;
}

.site-main {
    margin-top: 50px;
}

.favorite_button,
.fav_button,
.archive_flWrap #list_simplepage .list_simple_boxtitle .simplefavorite-button,
.fudo_kaiin_type_logo,
body.single-fudo .fixed_contact_box {
    display: none;
}

/*  */

.common_banner_btn {
    margin-top: 100px;
}

.common_banner_btn ul {
    padding: 50px 100px;
    border: 2px solid #000;
    border-radius: 10px;
    background-color: #f8faf7;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.common_banner_btn.four ul {
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

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

.common_banner_btn.two ul {
    grid-template-columns: repeat(2, 350px);
    gap: 40px;
    justify-content: center;
}

.common_banner_btn.one ul {
    grid-template-columns: repeat(1, 350px);
    justify-content: center;
}

.page_plan .common_banner_btn ul {
    background-color: #fff;
}

.page_residents .common_banner_btn {
    margin-bottom: 65px;
}

.common_banner_btn ul li a {
    background-color: #106b2a;
    color: #fff;
    display: block;
    padding: 16px 0;
    text-align: center;
    letter-spacing: 0.08em;
    font-size: 18px;
    border: 1px solid #116b2a;
    transition: .3s;
    position: relative;
}

.common_banner_btn ul li a::after {
    position: absolute;
    top: 50%;
    content: "";
    translate: 0 -50%;
    right: 20px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    width: 12px;
    aspect-ratio: 1;
    transform: rotate(45deg);
    transition: .3s;
}

.common_banner_btn ul li a:hover {
    background-color: #fff;
    color: #106b2a;
}

.common_banner_btn ul li a:hover::after {
    border-top: 2px solid #106b2a;
    border-right: 2px solid #106b2a;
}

.common_modal_inner {
    display: flex;
    align-items: center;
    gap: 45px;
}

.common_modal_inner .img {
    width: 430px;
    height: 350px;
    flex-shrink: 0;
}

.common_modal_inner .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.common_modal_inner .text_box .modal_ttl {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 15px;
}

.common_modal_inner .text_box .text {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.07em;
}

.common_contact_form input[type="text"].menseki {
    width: 90%;
}

.page_plan .service_overview .option-services .option_img_list .option_sub {
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
}

.page_plan .service_overview .option-services .option_img_list .option_sub .small {
    font-size: 0.8rem;
    font-weight: 400;
    margin-top: 3px;
    display: block;
}

/*----------------------------------------
　　hover
----------------------------------------*/
@media (min-width: 751px) {
    #pc_header .header_container .nav .list .item .link:hover {
        color: #016b2b;
    }

    #pc_header .header_container .nav .list .item.dropdown .link:hover,
    #pc_header .header_container .nav .list .item.dropdown:hover .link {
        color: #016b2b;
    }

    #pc_header .header_container .nav .list .item.dropdown .link:hover::after,
    #pc_header .header_container .nav .list .item.dropdown:hover .link::after {
        background: url(/wp-content/themes/swell_child/image/icon_dropdown_open.svg) no-repeat center center/contain;
    }

    #pc_header .header_container .nav .list .item.dropdown:hover .menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(0);
    }

    #pc_header .header_container .nav .list .item.dropdown .menu .item:hover span::after {
        width: 100%;
    }

    #pc_header .header_container .nav .list .item.dropdown .menu .item:hover::after {
        background: url(/wp-content/themes/swell_child/image/icon_arrow_yellow.svg) no-repeat center center/contain;
    }

    /* button
  ----------------------------------------*/
    .button:hover .icon svg * {
        transition: all 0.3s ease;
    }

    .button:hover .icon {
        background-color: #ffd101;
    }

    .button:hover .icon svg * {
        fill: #333333;
    }

    .button:hover .text:before {
        width: 100%;
    }

    /* contact-fixed
  ----------------------------------------*/
    .contact-fixed:hover {
        transform: translateX(0);
    }

    .contact-fixed .panel .contact_link:hover {
        background-color: #ffd101;
        color: #333333;
    }

    .contact-fixed .panel .contact_link:hover svg * {
        fill: #333333;
    }

    /* service
  ----------------------------------------*/
    .top_service .grid .item:hover {
        transform: translateY(-30px);
    }

    .top_service .grid .item:hover::after {
        opacity: 0;
    }

    /* information
  ----------------------------------------*/
    .top_information .content .list .item .link:hover .icon {
        background-color: #ffd101;
    }

    .top_information .content .list .item .link:hover .icon svg * {
        fill: #333333;
    }

    /* contact
  ----------------------------------------*/
    .common_contact .content_box .email_section .btn:hover {
        background-color: #ffd101;
        color: #333333;
    }

    .common_contact .content_box .email_section .btn:hover svg * {
        fill: #333333;
    }

    /* footer
  ----------------------------------------*/
    .footer .pc_footer_nav .list .nav_item .nav_item_link:hover {
        color: #016b2b;
    }

    .footer .pc_footer_nav .list .nav_item.nav_item_light .link:hover {
        opacity: 0.7;
    }

    .footer .pc_footer_nav .list .nav_item.nav_item_menu .menu .item:hover span::after {
        width: 100%;
    }

    /*----------------------------------------
  　　オーナー様へ
  ----------------------------------------*/
    .page_owner .list .item .link:hover .ja::after {
        background: url(/wp-content/themes/swell_child/image/icon_arrow_yellow.svg) no-repeat center center/contain;
    }
}

/*----------------------------------------
　　レスポンシブ
----------------------------------------*/
@media (min-width: 1440px) {

    /* PC固定ページ 共通設定 */
    .common_page_main {
        height: 31.66vw;
        padding-top: 9.72vw;
    }

    /* hero
  ----------------------------------------*/
    .top_hero::before {
        left: calc((100vw - 1440px) / 2 - 105px);
    }

    .top_hero .text-content {
        margin-left: calc((100vw - 1440px) / 2 + 100px);
    }

    .hero_slider {
        mask: linear-gradient(to right,
                black 0px,
                black calc((100vw - 1440px) / 2 + 50px),
                transparent calc((100vw - 1440px) / 2 + 50px),
                transparent calc((100vw - 1440px) / 2 + 740px),
                black calc((100vw - 1440px) / 2 + 740px),
                black 100%);
        -webkit-mask: linear-gradient(to right,
                black 0px,
                black calc((100vw - 1440px) / 2 + 50px),
                transparent calc((100vw - 1440px) / 2 + 50px),
                transparent calc((100vw - 1440px) / 2 + 740px),
                black calc((100vw - 1440px) / 2 + 740px),
                black 100%);
        z-index: 1;
    }

    /* top_company
  ----------------------------------------*/
    .top_company::before {
        height: 72.63vw;
    }

    /* top_service
  ----------------------------------------*/
    .top_service::before {
        height: 45.48vw;
    }
}

@media (max-width: 750px) {

    .wrap,
    .wrap.mid,
    .wrap.lr {
        max-width: 90%;
    }

    a[href$=".pdf"]::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

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

    a[href^="tel:"] {
        pointer-events: auto;
    }

    body {
        min-width: auto;
    }

    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }

    /* l-content */
    .l-content {
        padding-top: 25.64vw;
    }

    /* SP固定ページ 共通設定 */
    .common_page_main {
        height: 101.28vw;
        padding-top: 35.13vw;
        background: url(/wp-content/themes/swell_child/image/checkpoint_hero_sp.png) no-repeat center center/cover;
    }

    .common_page_main .title_box {
        border-radius: 2.56vw;
        padding: 10.51vw 0 10.77vw;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1.54vw;
        width: 100%;
    }

    .common_page_main .title_box .title {
        font-size: 4.1vw;
        padding: 1.03vw 3.33vw 1.28vw;
        max-width: 79.49vw;
    }

    .common_page_main .title_box .sub_title {
        font-size: 10.77vw;
        -webkit-text-stroke-width: 0.51vw;
        letter-spacing: -0.03em;
    }

    .common_page_wrap {
        padding: 10.26vw 0 15.38vw;
        border-radius: 0 0 6.41vw 6.41vw;
    }

    .common_page_wrap::before {
        border-radius: 0 0 6.41vw 6.41vw;
    }

    .reserve_text {
        font-size: 6vw;
    }

    /* パンくず */
    .breadcrumb {
        position: absolute;
        top: 19.23vw;
        left: 5.13vw;
        font-size: 3.08vw;
    }

    .breadcrumb a {
        line-height: 1.4166666667;
    }

    .breadcrumb .breadcrumb_separator {
        padding: 0 1.79vw;
    }

    /* SP固定ページ 個人情報保護方針 */
    #page_privacy .main_text {
        font-size: 3.5vw;
    }

    #page_privacy dl {
        margin-bottom: 10vw;
    }

    #page_privacy dl dt {
        font-size: 4vw;
    }

    #page_privacy dl dd {
        font-size: 3.5vw;
        margin-left: 5vw;
    }

    /* 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 .home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0;
    }

    /* sp_header
  ----------------------------------------*/
    #sp_header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 999;
        height: 15.38vw;
    }

    #sp_header .header_container {
        margin: 0 10px;
        box-shadow: 0 3px 5px rgba(51, 51, 51, 0.03);
        border-radius: 0 0 2.56vw 2.56vw;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #ffffff;
        height: 100%;
    }

    #sp_header .header_container .logo {
        width: 33.33vw;
        height: 7.69vw;
    }

    #sp_header .header_container .logo .link {
        display: block;
        width: 100%;
        height: 100%;
    }

    #sp_header .header_container .logo .link img {
        width: 100%;
        height: 100%;
        -o-object-fit: contain;
        object-fit: contain;
    }

    /* fixed_footer
  ----------------------------------------*/
    .fixed_footer {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 998;
        display: flex;
        height: 15.38vw;
        border-top: 2px solid #333333;
    }

    .fixed_footer .tel {
        display: block;
        width: 42.31vw;
        height: 100%;
        background: #67c6da;
        color: #333333;
        font-size: 2.82vw;
        font-weight: 500;
        display: flex;
        align-items: center;
    }

    .fixed_footer .tel span {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 2.56vw;
    }

    .fixed_footer .tel span::before {
        content: "";
        display: inline-block;
        width: 3.59vw;
        height: 6.15vw;
        background: url(/wp-content/themes/swell_child/image/icon_phone_black.svg) no-repeat center center/contain;
        margin-left: 4.36vw;
    }

    .fixed_footer .mail {
        display: block;
        width: 42.31vw;
        height: 100%;
        background: #ffd101;
        color: #333333;
        font-size: 2.82vw;
        font-weight: 500;
        display: flex;
        align-items: center;
        border-left: 2px solid #333333;
    }

    .fixed_footer .mail span {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1.54vw;
        padding-left: 4.1vw;
    }

    .fixed_footer .mail span::before {
        content: "";
        display: inline-block;
        width: 4.62vw;
        height: 3.33vw;
        background: url(/wp-content/themes/swell_child/image/icon_mail_black.svg) no-repeat center center/contain;
    }

    /*----------------------------------------
  　　トップページ
  ----------------------------------------*/
    /* button
  ----------------------------------------*/
    .button {
        gap: 2.56vw;
    }

    .button .icon {
        width: 11.54vw;
        height: 11.54vw;
    }

    .button .icon svg {
        width: 3.23vw;
        height: 2.77vw;
    }

    .button .text {
        font-size: 4.62vw;
        letter-spacing: -0.1em;
    }

    /* section title
  ----------------------------------------*/
    .common_title_box .en {
        font-size: 11.28vw;
        line-height: 1.4;
    }

    .common_title_box .ja {
        font-size: 4.62vw;
        padding: 0.77vw 3.33vw 1.54vw;
        margin-top: -0.51vw;
        border-radius: 0.51vw;
    }

    /* hero
  ----------------------------------------*/
    /* コンテナの調整 */
    .top_hero {
        padding-top: 15.38vw;
        padding-bottom: 11.54vw;
        margin-top: 0;
    }

    .top_hero::before {
        background: url(/wp-content/themes/swell_child/image/hero_bg_sp.png) no-repeat center center/cover;
        width: 100%;
        height: 91.28vw;
        z-index: -1;
        top: 0;
        left: 0;
    }

    .top_hero .text-content {
        padding-top: 33.33vw;
        margin-left: 0;
        width: 100%;
        padding-left: 2.56vw;
        padding-right: 2.56vw;
        padding-bottom: 0;
    }

    .top_hero .text-content .title {
        font-size: 8.21vw;
        line-height: 1.3;
        letter-spacing: normal;
    }

    .top_hero .text-content .text {
        font-size: 3.33vw;
        line-height: 1.54;
        margin-top: 3.08vw;
    }

    .hero_slider {
        position: static;
        width: 100%;
        height: 58.97vw;
        -webkit-mask: unset;
        mask: unset;
        margin-top: 15.9vw;
    }

    .hero_slider .slide {
        width: 58.97vw;
        height: 58.97vw;
        border-radius: 2.56vw;
    }

    .hero_slider .slide img {
        width: 58.97vw;
        height: 58.97vw;
    }

    .hero_slider .slick-slide {
        height: 58.97vw;
        width: 58.97vw;
        margin-right: 2.56vw;
    }

    /* background_text_01
  ----------------------------------------*/
    .background_text_01 {
        margin-top: 0;
    }

    .background_text_01 .text_scroll span {
        font-size: 14.36vw;
        padding-right: 3.85vw;
    }

    /* company
  ----------------------------------------*/
    .top_company {
        padding-top: 15.9vw;
        margin-top: -10.77vw;
        margin: -10.77vw 0 35vw;
    }

    .top_company::before {
        background: url(/wp-content/themes/swell_child/image/company_bg_sp.png) no-repeat center top/cover;
        height: 255vw;
    }

    .top_company .flex {
        flex-direction: column;
        justify-content: flex-start;
        gap: 8.97vw;
    }

    .top_company .flex .text_box {
        width: 100%;
    }

    .top_company .flex .text_box .title {
        font-size: 5.13vw;
        line-height: 1.3;
        margin-top: 0;
        text-align: center;
    }

    .top_company .flex .text_box .description {
        font-size: 3.85vw;
        line-height: 1.8;
        margin-top: 3.85vw;
        letter-spacing: .08em;
    }

    .top_company .image_box {
        width: 100%;
        height: auto;
    }

    /* service
  ----------------------------------------*/
    .top_service {
        margin-top: -17.69vw;
        padding-top: 16.15vw;
    }

    .top_service::before {
        height: 91.03vw;
        background: url(/wp-content/themes/swell_child/image/service_bg_01_sp.png) no-repeat center top/cover;
    }

    .top_service::after {
        top: 74.87vw;
        height: 87.69vw;
        background: url(/wp-content/themes/swell_child/image/service_bg_02_sp.png) no-repeat center top/cover;
    }

    .top_service .title .en {
        letter-spacing: -0.06em;
    }

    .top_service .description {
        margin: 5.13vw auto 0;
        font-size: 3.59vw;
        line-height: 1.7;
    }

    .top_service .grid {
        grid-template-columns: 1fr;
        gap: 3.59vw;
        margin-top: 12.31vw;
    }

    .top_service .grid .item {
        padding: 5.13vw 6.41vw 7.18vw;
        border-radius: 2.56vw;
        height: 88.72vw;
    }

    .top_service .grid .item:nth-of-type(2) {
        margin-top: 0;
    }

    .top_service .grid .item .number {
        width: 14.1vw;
        height: 14.1vw;
    }

    .top_service .grid .item .item_title {
        margin-top: 0;
    }

    .top_service .grid .item .item_title .ja {
        font-size: 6.15vw;
        line-height: 1.04;
        padding: 4.62vw 2.05vw 3.85vw;
    }

    .top_service .grid .item .item_title .en {
        font-size: 4.1vw;
        line-height: 1.44;
        margin-left: 1.28vw;
        letter-spacing: normal;
        font-weight: 300;
        margin-top: 1.28vw;
    }

    .top_service .grid .item .item_content {
        gap: 5.13vw;
    }

    .top_service .grid .item .item_content .text {
        font-size: 3.59vw;
        line-height: 1.7;
    }

    .top_service .grid .item .item_content .arrow {
        width: 8.97vw;
        height: 8.97vw;
    }

    /* properties
  ----------------------------------------*/
    .top_properties .title_box {
        margin-bottom: 0;
    }

    .top_properties {
        margin-top: 15.9vw;
        padding-top: 15.9vw;
        padding-bottom: 15.38vw;
    }

    .top_properties::before {
        width: calc(100% - 2.56vw);
        height: 205.13vw;
        border-radius: 0 12.82vw 12.82vw 0;
    }

    .top_properties .title .en {
        font-size: 10.26vw;
        letter-spacing: -0.02em;
    }

    .top_properties .title .en::before {
        top: 8.72vw;
        left: 6.15vw;
        width: 2.05vw;
        height: 2.05vw;
    }

    .top_properties .title .en::after {
        top: 5.38vw;
        left: 78.46vw;
        width: 2.56vw;
        height: 2.56vw;
    }

    .top_properties .title .ja {
        margin-top: 2.05vw;
    }

    /* Slickページネーションのスタイル */
    .top_properties .common_bukken_slider_box .slick-dots {
        position: absolute;
        bottom: -14.36vw;
        left: 0;
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;
        gap: 0.51vw;
        width: 56.41vw;
        background-color: #efefef;
        border-radius: 1.28vw;
    }

    .top_properties .common_bukken_slider_box .slick-dots li {
        width: 100%;
        height: 100%;
        margin: 0;
    }

    .top_properties .common_bukken_slider_box .slick-dots button {
        height: 1.54vw;
        border-radius: 1.28vw;
    }

    /* information
  ----------------------------------------*/
    .top_information {
        padding: 14.62vw 0 70px;
    }

    .top_information::before {
        width: calc(100% - 2.56vw);
        height: 100%;
        background: url(/wp-content/themes/swell_child/image/information_bg_sp.jpg) no-repeat right top/cover;
        border-radius: 12.82vw 0 0 12.82vw;
    }

    .top_information .flex {
        flex-direction: column;
        justify-content: unset;
        gap: 5.13vw;
    }

    .top_information .title {
        writing-mode: unset;
        margin-top: 0;
        text-align: center;
    }

    .top_information .title .en {
        margin-left: 0;
        letter-spacing: -0.015em;
        font-size: 10.26vw;
    }

    .top_information .title .ja {
        padding: 1.03vw 3.33vw 1.28vw;
        margin-left: 0;
        margin-top: 0;
    }

    .top_information .content {
        width: calc(100% - 2.56vw);
        margin-left: 2.56vw;
        padding: 8.97vw 5.13vw;
        border-radius: 2.56vw;
    }

    .top_information .content .list .item .link {
        padding: 4.36vw 0;
    }

    .top_information .content .list .item .link .icon {
        bottom: unset;
        top: 5.13vw;
        width: 5.13vw;
        height: 5.13vw;
    }

    .top_information .content .list .item:first-child .link .icon {
        top: 0;
    }

    .top_information .content .list .item .link .icon svg {
        width: 1.71vw;
        height: 1.46vw;
    }

    .top_information .content .list .item .date {
        gap: 2.56vw;
        font-size: 4.1vw;
        line-height: 1.44;
    }

    .top_information .content .list .item .date::before {
        width: 2.05vw;
        height: 2.05vw;
        margin-left: 1.28vw;
    }

    .top_information .content .list .item .item_title {
        margin-top: 1.28vw;
        font-size: 4.1vw;
        line-height: 1.8;
        max-width: 100%;
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .top_information .content .button_wrap {
        margin-top: 6.67vw;
        margin-left: 0;
        text-align: center;
    }

    /* about
  ----------------------------------------*/
    .top_about {
        margin-top: 15.38vw;
        border-radius: 0 0 6.41vw 6.41vw;
    }

    .top_about::before {
        border-radius: 0 0 6.41vw 6.41vw;
    }

    .top_about .flex {
        flex-direction: column;
        justify-content: unset;
        gap: 5.64vw;
    }

    .top_about .image_box {
        width: 100%;
        height: 58.97vw;
        border-radius: 2.56vw;
        aspect-ratio: 390/230;
    }

    .top_about .image_box img {
        aspect-ratio: 390/230;
    }

    .top_about .text_box .title .en {
        margin-left: 0;
        letter-spacing: -0.025em;
        font-size: 10.26vw;
    }

    .top_about .text_box .title .en::before {
        top: 8.97vw;
        left: 5.9vw;
        width: 2.05vw;
        height: 2.05vw;
    }

    .top_about .text_box .title .en::after {
        top: 2.05vw;
        left: 39.74vw;
        width: 2.56vw;
        height: 2.56vw;
    }

    .top_about .text_box .title .ja {
        margin-top: 0.26vw;
    }

    .top_about .text_box .description {
        margin-top: 5.9vw;
    }

    .top_about .text_box .description .text {
        font-size: 3.59vw;
        line-height: 1.8;
    }

    .top_about .text_box .description .text+.text {
        margin-top: 6.46vw;
    }

    .top_about .text_box .button_wrap {
        margin-top: 5.13vw;
    }

    /* background_text_02
  ----------------------------------------*/
    .background_text_02 {
        margin-top: 1.79vw;
        transform: translateY(4.36vw);
    }

    .background_text_02 .text_scroll_02 span {
        font-size: 14.36vw;
        padding-right: 3.85vw;
    }

    /* contact
  ----------------------------------------*/
    .common_contact {
        margin-top: -5.13vw;
        padding-top: 23.59vw;
    }

    .common_contact .flex {
        flex-direction: column;
        justify-content: unset;
        gap: 4.1vw;
        border-radius: 2.56vw;
        padding: 5.13vw 5.13vw 7.44vw;
    }

    .common_contact .title {
        margin-top: 0;
        text-align: center;
    }

    .common_contact .title .en {
        font-size: 10.26vw;
        line-height: 1.4;
        letter-spacing: -0.015em;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;
    }

    .common_contact .title .en::before {
        top: 6.41vw;
        left: 4.1vw;
        width: 2.05vw;
        height: 2.05vw;
    }

    .common_contact .title .en::after {
        top: 3.33vw;
        left: 41.54vw;
        width: 2.56vw;
        height: 2.56vw;
    }

    .common_contact .title .ja {
        margin-top: -1.79vw;
        display: block;
    }

    .common_contact .content_box .email_section {
        gap: 2.05vw;
        flex-direction: column;
        justify-content: center;
    }

    .common_contact .content_box .email_section .label {
        font-size: 4.1vw;
    }

    .common_contact .content_box .email_section .btn {
        width: 100%;
        height: 16.67vw;
        border-radius: 0.77vw;
        font-size: 4.1vw;
        gap: 2.56vw;
    }

    .common_contact .content_box .email_section .btn svg {
        width: 5.13vw;
        height: 3.59vw;
        margin-top: 0.77vw;
    }

    .common_contact .content_box .email_section .btn .text {
        gap: 2.56vw;
    }

    .common_contact .content_box .email_section .btn .text::before {
        width: 5.13vw;
        height: 3.59vw;
    }

    .common_contact .content_box .phone_info {
        padding: 1.28vw 0 1.03vw 13.85vw;
        margin-top: 2.56vw;
        border-radius: 0.77vw;
        gap: 0;
        flex-direction: column;
        background: #3a9cb1;
        border: 2px solid #333333;
        color: #ffffff;
        align-items: unset;
    }

    .common_contact .content_box .phone_info .number {
        font-size: 6.15vw;
        line-height: 1.46;
        gap: 2.05vw;
    }

    .common_contact .content_box .phone_info .number::before {
        width: 3.08vw;
        height: 5.38vw;
        background: url(/wp-content/themes/swell_child/image/icon_phone_white.svg) no-repeat center center/contain;
    }

    .common_contact .content_box .phone_info .details {
        font-size: 2.56vw;
        line-height: 1.68;
        margin-left: 2.56vw;
    }

    .common_contact .content_box .phone_info .details .hours {
        display: inline-block;
    }

    .common_contact .content_box .phone_info .details .holiday {
        display: inline-block;
    }

    /* footer
  ----------------------------------------*/
    .footer {
        padding-top: 15.38vw;
    }

    .footer .company_info .logo {
        width: 66.67vw;
        height: 15.13vw;
    }

    .footer .company_info .address {
        margin-top: 3.59vw;
        font-size: 3.59vw;
        line-height: 1.71;
    }

    .footer .company_info .contact {
        margin-top: 6.15vw;
    }

    .footer .company_info .contact .phone {
        font-size: 3.59vw;
        line-height: 1.71;
    }

    .footer .company_info .contact .hours {
        font-size: 3.59vw;
        line-height: 1.71;
    }

    .footer .sp_footer_nav {
        margin-top: 9.23vw;
        padding-bottom: 6.15vw;
        border-bottom: 1px solid #9d9d9d;
    }

    .footer .sp_footer_nav .list {
        display: flex;
        justify-content: center;
        flex-wrap: nowrap;
        gap: 7.69vw;
    }

    .footer .sp_footer_nav .list .nav_item .link {
        font-size: 3.08vw;
        line-height: 1.42;
        color: #333333;
    }

    .footer .copyright {
        padding: 5.9vw 0 28.21vw;
    }

    .footer .copyright small {
        font-size: 3.08vw;
    }

    /*----------------------------------------
  　　オーナー様へ
  ----------------------------------------*/
    .page_main .common_lead {
        font-size: 4.2vw;
        margin-bottom: 15vw;
    }

    .page_owner .list {
        grid-template-columns: 1fr;
        gap: 7.69vw;
    }

    .page_owner .list .item {
        border-radius: 2.56vw;
    }

    .page_owner .list .item .link {
        padding: 5.13vw;
    }

    .page_owner .list .item .link .en {
        font-size: 8.21vw;
        line-height: 1.44;
    }

    .page_owner .list .item .link .ja {
        font-size: 6.15vw;
        margin-top: 2.56vw;
        gap: 5.13vw;
    }

    .page_owner .list .item .link .ja::after {
        width: 10.26vw;
        height: 10.26vw;
    }

    /*----------------------------------------
  　　当社の管理の特徴
  ----------------------------------------*/
    .page_features .wrap .lead {
        font-size: 4.1vw;
        line-height: 1.63;
        margin-bottom: 10.26vw;
    }

    .page_features .list {
        flex-direction: column;
        gap: 15.38vw;
    }

    .page_features .list::before {
        top: 5.64vw;
        width: 100%;
        height: 440.26vw;
        border-radius: 0 12.82vw 12.82vw 0;
    }

    .page_features .list .item .flex {
        flex-direction: column;
        gap: 10.26vw;
    }

    .page_features .list .item .flex.reversed {
        flex-direction: column;
    }

    .page_features .list .item .content {
        width: 100%;
    }

    .page_features .list .item .content .title_box .number {
        font-size: 8.21vw;
        line-height: 1.44;
    }

    .page_features .list .item .content .title_box .title {
        font-size: 6.15vw;
        line-height: 1.46;
    }

    .page_features .list .item .content .description {
        margin-top: 5.13vw;
    }

    .page_features .list .item .content .description .text {
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .page_features .list .item .content .description .text+.text {
        margin-top: 3.85vw;
    }

    .page_features .list .item .image {
        width: 100%;
    }

    .page_features .list .item .image img {
        border-radius: 2.56vw;
    }

    /*----------------------------------------
  　　管理実績
  ----------------------------------------*/
    .page_management_title .title_box {
        gap: 2.56vw;
    }

    .page_management .common_page_wrap .lead {
        font-size: 4.1vw;
        line-height: 1.63;
        margin-bottom: 20.51vw;
    }

    .page_management .common_page_wrap .list {
        grid-template-columns: 1fr 1fr;
        gap: 5.13vw 2.56vw;
    }

    .page_management .common_page_wrap .list .item {
        border-radius: 2.56vw;
        padding: 2.56vw;
        position: relative;
    }

    .page_management .common_page_wrap .list .item::before {
        position: absolute;
        content: "";
        width: 3vw;
        aspect-ratio: 1;
        border-top: #016b2b 3px solid;
        border-right: #016b2b 3px solid;
        top: 4.5vw;
        right: 3vw;
        transform: rotate(45deg);
    }

    .page_management .common_page_wrap .list .item:hover {
        background: #f8faf7;
    }

    .page_management .common_page_wrap .list .item .number {
        font-size: 8.21vw;
    }

    .page_management .common_page_wrap .list .item .image {
        width: 20.51vw;
        height: 20.51vw;
        margin: 0 auto;
    }

    .page_management .common_page_wrap .list .item .title {
        font-size: 5.13vw;
        line-height: 1.4;
        margin-top: 2.56vw;
    }

    /*----------------------------------------
  　　管理プラン
  ----------------------------------------*/
    .page_plan .common_page_wrap .wrap .lead {
        font-size: 4.1vw;
        line-height: 1.63;
        margin-bottom: 20.51vw;
    }

    .page_plan .plan_bg {
        padding: 12.82vw 0;
    }

    .page_plan .plan_bg::before {
        width: 100%;
        border-radius: 0 12.82vw 12.82vw 0;
    }

    .page_plan .reward .title {
        font-size: 7.18vw;
        line-height: 1.5;
        margin-bottom: 5.13vw;
    }

    .page_plan .reward .table-wrapper {
        padding: 0;
    }

    .page_plan .reward .table {
        border-radius: 2.05vw;
    }

    .page_plan .reward .table th {
        padding: 2.56vw 2.56vw;
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .page_plan .reward .table th:first-child {
        width: 50%;
        border-right: 2px solid #ffffff;
    }

    .page_plan .reward .table td {
        padding: 2.56vw 2.56vw;
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .page_plan .reward .table td:first-child {
        border-right: 2px solid #ffffff;
    }

    .page_plan .reward .notes {
        margin-top: 2.56vw;
    }

    .page_plan .reward .notes li {
        font-size: 3.59vw;
    }

    .page_plan .service_overview {
        margin-top: 20.51vw;
    }

    .page_plan .service_overview .service_overview_title {
        font-size: 7.18vw;
        line-height: 1.5;
        margin-bottom: 5.13vw;
    }

    .page_plan .service_overview .service_overview_list {
        grid-template-columns: 1fr 1fr;
        gap: 5.13vw 2.56vw;
    }

    .page_plan .service_overview .service_overview_list .item {
        gap: 5.13vw;
        padding: 5.13vw 2.56vw;
        border-radius: 2.56vw;
    }

    .page_plan .service_overview .service_overview_list .item:hover {
        color: #333333;
        background: #fff;
    }

    .page_plan .service_overview .service_overview_list .item::before {
        position: absolute;
        content: "";
        width: 2.5vw;
        aspect-ratio: 1;
        border-top: #333333 2px solid;
        border-right: #333333 2px solid;
        bottom: 2vw;
        right: 2vw;
        transform: rotate(45deg);
    }

    .page_plan .service_overview .service_overview_list .item .image {
        height: 20.51vw;
    }

    .page_plan .service_overview .service_overview_list .item .title {
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .page_plan .service_overview .service_overview_list .item:hover .title {
        color: #333;
    }

    .page_plan .service_overview .service_overview_list .item .title::before {
        top: -2.56vw;
    }

    .page_plan .service_overview .option-services {
        margin-top: 10.26vw;
    }

    .page_plan .service_overview .option-services .title {
        font-size: 4.62vw;
        line-height: 1.44;
        margin-bottom: 5.13vw;
    }

    .page_plan .service_overview .option-services .option_text {
        font-size: 3.8vw;
    }

    .page_plan .service_overview .option-services .option_text .small {
        font-size: 84%;
    }

    .page_plan .service_overview .option-services .option_text+.option_text {
        margin-top: 1.2vw;
    }

    .page_plan .common_item_list {
        margin-top: 6vw;
    }

    .common_item_list {
        gap: 2vw;
        padding: 5vw 4vw;
        grid-template-columns: 100%;
        border-radius: 2vw;
    }

    .common_item_list .item {
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .common_item_list .item::before {
        width: 2.05vw;
        height: 2.05vw;
    }

    /*----------------------------------------
  　　入居者様へ
  ----------------------------------------*/
    .page_residents .guide {
        padding: 12.82vw 0;
    }

    .page_residents .guide::before {
        width: 100%;
        border-radius: 0 12.82vw 12.82vw 0;
    }

    .page_residents .guide .guide_title {
        font-size: 7.18vw;
        line-height: 1.5;
        margin-bottom: 5.13vw;
    }

    .page_residents .guide .list {
        gap: 32.05vw;
        padding-bottom: 12.82vw;
    }

    .page_residents .guide .list .item::after {
        top: calc(100% + 12.31vw);
        width: 12.82vw;
        height: 13.08vw;
    }

    .page_residents .guide .list .item .content {
        gap: 5.13vw;
    }

    .page_residents .guide .list .item .content::before {
        bottom: -6.67vw;
    }

    .page_residents .guide .list .item .content .image {
        width: 15.38vw;
        height: 15.38vw;
    }

    .page_residents .guide .list .item .content .text_box {
        gap: 1.28vw;
    }

    .page_residents .guide .list .item .content .number {
        font-size: 5.64vw;
        width: auto;
    }

    .page_residents .guide .list .item .content .description .text {
        font-size: 4.1vw;
        line-height: 1.56;
        padding-right: 1.28vw;
    }

    .page_residents .guide .list .item .content .description .text+.text {
        margin-top: 3.85vw;
    }

    .page_residents .guide .button_wrap {
        gap: 12.82vw;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .page_residents .garage {
        margin-top: 20.51vw;
    }

    .page_residents .garage .garage_title {
        font-size: 7.18vw;
        line-height: 1.5;
        margin-bottom: 5.13vw;
    }

    .page_residents .garage .content {
        display: flex;
        gap: 5.13vw;
        flex-direction: column-reverse;
    }

    .page_residents .garage .content .text_box .text {
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .page_residents .garage .content .text_box .text+.text {
        margin-top: 3.85vw;
    }

    .page_residents .garage .content .image {
        width: 71.79vw;
        height: 53.85vw;
    }

    .page_residents .faq {
        margin-top: 20.51vw;
        padding: 12.82vw 0;
    }

    .page_residents .faq::before {
        width: 100%;
        border-radius: 12.82vw 0 0 12.82vw;
    }

    .page_residents .faq .faq_title {
        font-size: 7.18vw;
        line-height: 1.5;
        margin-bottom: 5.13vw;
    }

    .page_residents .faq .faq_list {
        gap: 12.82vw;
    }

    .page_residents .faq .faq_list .faq_item {
        gap: 2.56vw;
    }

    .page_residents .faq .faq_list .faq_item .faq_question .question_text {
        font-size: 4.62vw;
        line-height: 1.44;
        gap: 2.56vw;
    }

    .page_residents .faq .faq_list .faq_item .faq_question .question_text::before {
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .page_residents .faq .faq_list .faq_item .faq_answer .answer_text {
        font-size: 3.59vw;
        line-height: 1.43;
        gap: 3.08vw;
    }

    .page_residents .faq .faq_list .faq_item .faq_answer .answer_text::before {
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .page_residents .moveout {
        margin-top: 20.51vw;
    }

    .page_residents .moveout .moveout_title {
        font-size: 7.18vw;
        line-height: 1.5;
        margin-bottom: 5.13vw;
    }

    .page_residents .moveout .content .text_box .list {
        gap: 5.13vw;
    }

    .page_residents .moveout .content .text_box .list .item {
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .page_residents .moveout .content .text_box .list .item::before {
        width: 1.28vw;
        height: 1.28vw;
        margin-top: 2.82vw;
    }

    /*----------------------------------------
  　　不動産売買
  ----------------------------------------*/
    .page_sell .sell {
        padding: 12.82vw 0;
    }

    .page_sell .sell::before {
        width: 100%;
        border-radius: 0 12.82vw 12.82vw 0;
    }

    .page_sell .sell .sell_title {
        font-size: 7.18vw;
        line-height: 1.5;
        margin-bottom: 5.13vw;
        text-align: center;
        padding: 1.28vw 5.13vw;
    }

    .page_sell .sell .sell_description {
        margin: 0 auto;
    }

    .page_sell .sell .sell_description .image_wrap {
        flex-direction: column;
        gap: 15.38vw;
        margin-top: 10.26vw;
    }

    .page_sell .sell .sell_description .image_wrap .image_before {
        gap: 2.56vw;
    }

    .page_sell .sell .sell_description .image_wrap .image_before .title {
        font-size: 6.15vw;
        line-height: 1.42;
    }

    .page_sell .sell .sell_description .image_wrap .image_before .image {
        width: 100%;
        height: 51.28vw;
        -o-object-fit: cover;
        object-fit: cover;
        aspect-ratio: 380/300;
    }

    .page_sell .sell .sell_description .image_wrap .image_before .image::after {
        top: unset;
        bottom: -11.54vw;
        right: 50%;
        transform: translateX(50%) rotate(90deg);
        width: 7.69vw;
        height: 9.23vw;
    }

    .page_sell .sell .sell_description .image_wrap .image_after {
        gap: 2.56vw;
    }

    .page_sell .sell .sell_description .image_wrap .image_after .title {
        font-size: 6.15vw;
        line-height: 1.42;
    }

    .page_sell .sell .sell_description .image_wrap .image_after .image {
        width: 100%;
        height: 51.28vw;
        -o-object-fit: cover;
        object-fit: cover;
        aspect-ratio: 400/300;
    }

    .page_sell .sell .sell_flow {
        margin-top: 20.51vw;
    }

    .page_sell .sell .sell_flow .sell_flow_title {
        font-size: 6.15vw;
        line-height: 1.42;
        margin-bottom: 5.13vw;
        text-align: center;
    }

    .page_sell .sell .sell_flow .sell_flow_list {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 15.38vw;
    }

    .page_sell .sell .sell_flow .sell_flow_list .item {
        font-size: 4.1vw;
        line-height: 1.56;
        width: 100%;
        height: 35.9vw;
    }

    .page_sell .sell .sell_flow .sell_flow_list .item::after {
        content: "";
        position: absolute;
        top: unset;
        bottom: -12.31vw;
        right: 50%;
        width: 7.69vw;
        height: 9.23vw;
        transform: translateX(50%) rotate(90deg);
    }

    .page_sell .sell .sell_flow .sell_flow_list .item .item_bg {
        border-radius: 2.56vw;
        padding: 5.13vw;
    }

    .page_sell .sell .sell_flow .sell_flow_list .item .item_bg .text {
        font-size: 5.13vw;
        line-height: 1.5;
        color: #ffffff;
    }

    .page_sell .sell .methods {
        margin-top: 20.51vw;
    }

    .page_sell .sell .methods .methods_title {
        font-size: 6.15vw;
        line-height: 1.42;
        margin-bottom: 5.13vw;
        text-align: center;
    }

    .page_sell .sell .methods .method_tabs .method_tab.active .tab_text {
        font-size: 5.13vw;
        line-height: 1.4;
    }

    .page_sell .sell .methods .method_tabs .method_tab {
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .page_sell .sell .methods .method_tabs .method_tab .tab_text {
        font-size: 5.13vw;
        line-height: 1.4;
    }

    .page_sell .sell .methods .method_content.active .method_info {
        padding: 10.26vw;
    }

    .page_sell .sell .methods .method_content.active .method_info .pros_cons {
        gap: 5.13vw;
    }

    .page_sell .sell .methods .method_content.active .method_info .pros_cons .pros {
        flex-direction: column;
    }

    .page_sell .sell .methods .method_content.active .method_info .pros_cons .pros .pros_title {
        font-size: 5.13vw;
        width: 100%;
        padding: 2.56vw 0;
    }

    .page_sell .sell .methods .method_content.active .method_info .pros_cons .pros .pros_list {
        gap: 2.56vw;
        width: 100%;
        padding: 5.13vw;
    }

    .page_sell .sell .methods .method_content.active .method_info .pros_cons .pros .pros_list li {
        font-size: 4.1vw;
        line-height: 1.56;
        gap: 2.56vw;
    }

    .page_sell .sell .methods .method_content.active .method_info .pros_cons .cons {
        flex-direction: column;
    }

    .page_sell .sell .methods .method_content.active .method_info .pros_cons .cons .cons_title {
        font-size: 5.13vw;
        width: 100%;
        padding: 2.56vw 0;
    }

    .page_sell .sell .methods .method_content.active .method_info .pros_cons .cons .cons_list {
        gap: 2.56vw;
        width: 100%;
        padding: 5.13vw;
    }

    .page_sell .sell .methods .method_content.active .method_info .pros_cons .cons .cons_list li {
        font-size: 4.1vw;
        line-height: 1.56;
        gap: 2.56vw;
    }

    .page_sell .buy {
        margin-top: 12.82vw;
        padding: 12.82vw 0;
    }

    .page_sell .buy::before {
        width: 100%;
        border-radius: 12.82vw 0 0 12.82vw;
    }

    .page_sell .buy .buy_title {
        font-size: 7.18vw;
        line-height: 1.5;
        margin-bottom: 5.13vw;
    }

    .page_sell .buy .buy_flow .buy_flow_title {
        font-size: 6.15vw;
        line-height: 1.42;
        margin-bottom: 5.13vw;
    }

    .page_sell .buy .buy_flow .buy_flow_list {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 15.38vw;
    }

    .page_sell .buy .buy_flow .buy_flow_list .item {
        font-size: 4.62vw;
        line-height: 1.5;
        width: 100%;
        height: 35.9vw;
    }

    .page_sell .buy .buy_flow .buy_flow_list .item::after {
        top: unset;
        bottom: -12.31vw;
        right: 50%;
        width: 7.69vw;
        height: 9.23vw;
        transform: translateX(50%) rotate(90deg);
    }

    .page_sell .buy .buy_flow .buy_flow_list .item .item_bg {
        border-radius: 2.56vw;
        padding: 5.13vw;
    }

    .page_sell .buy .buy_flow .buy_flow_list .item .item_bg .text {
        font-size: 5.13vw;
        line-height: 1.5;
    }

    .page_sell .buy .lifestyle_pack {
        margin-top: 20.51vw;
    }

    .page_sell .buy .lifestyle_pack .lifestyle_pack_title {
        font-size: 6.15vw;
        line-height: 1.42;
        margin-bottom: 5.13vw;
    }

    .page_sell .buy .lifestyle_pack .lifestyle_pack_table {
        width: 100%;
        border-collapse: collapse;
        border-spacing: 0;
    }

    .page_sell .buy .lifestyle_pack .lifestyle_pack_table tbody tr {
        border-bottom: solid 1px #333333;
    }

    .page_sell .buy .lifestyle_pack .lifestyle_pack_table tbody tr th {
        font-size: 3.59vw;
        line-height: 1.79;
        padding: 2.56vw 0 2.56vw 0;
        width: 35.9vw;
    }

    .page_sell .buy .lifestyle_pack .lifestyle_pack_table tbody tr td {
        font-size: 3.59vw;
        line-height: 1.79;
        padding: 2.56vw 0 2.56vw 7.69vw;
    }

    .page_sell .buy .repeat_discount {
        margin-top: 5.13vw;
    }

    .page_sell .buy .repeat_discount .repeat_discount_title {
        font-size: 3.59vw;
        line-height: 1.56;
    }

    .page_sell .buy .repeat_discount .repeat_discount_text {
        font-size: 3.59vw;
        line-height: 1.56;
    }

    /*----------------------------------------
  　　土地活用
  ----------------------------------------*/
    .page_land_usage .land_usage .usage_title {
        font-size: 7.18vw;
        line-height: 1.5;
        margin-bottom: 5.13vw;
        text-align: center;
    }

    .page_land_usage .land_usage .land_usage_content {
        gap: 5.13vw;
        flex-direction: column-reverse;
    }

    .page_land_usage .land_usage .land_usage_content .discription .text {
        font-size: 4.62vw;
        line-height: 1.5;
    }

    .page_land_usage .land_usage .land_usage_content .image {
        width: 76.92vw;
        height: 76.92vw;
    }

    .page_land_usage .land_usage_case {
        margin-top: 20.51vw;
    }

    .page_land_usage .land_usage_case .case_title {
        font-size: 7.18vw;
        line-height: 1.5;
        margin-bottom: 5.13vw;
        text-align: center;
    }

    .page_land_usage .land_usage_case .list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4vw 2vw;
    }

    .page_land_usage .land_usage_case .list .item {
        border-radius: 2vw;
    }

    .page_land_usage .land_usage_case .list .item .img {
        height: 33vw;
    }

    .page_land_usage .land_usage_case .list .text_box {
        padding: 3vw 2vw;
    }

    .page_land_usage .land_usage_case .list .text_box .text {
        font-size: 3.2vw;
        margin-top: 1.2vw;
    }

    .page_land_usage .land_usage_case .list .text_box .theme {
        font-size: 4.4vw;
    }



    /*----------------------------------------
  　　内見時のチェックポイント
  ----------------------------------------*/
    .page_checkpoint .wrap .lead {
        font-size: 4.1vw;
        line-height: 1.63;
        margin-bottom: 10.26vw;
    }

    .page_checkpoint .list {
        flex-direction: column;
        gap: 15.38vw;
        padding-bottom: 12.82vw;
    }

    .page_checkpoint .list::before {
        top: 5.64vw;
        width: 100%;
        height: 440.26vw;
        border-radius: 0 12.82vw 12.82vw 0;
    }

    .page_checkpoint .list::after {
        width: 100%;
        height: 287.18vw;
        border-radius: 12.82vw 0 0 12.82vw;
        z-index: -1;
    }

    .page_checkpoint .list .item .flex {
        flex-direction: column;
        gap: 10.26vw;
    }

    .page_checkpoint .list .item .flex.reversed {
        flex-direction: column;
    }

    .page_checkpoint .list .item .content {
        width: 100%;
    }

    .page_checkpoint .list .item .content .title_box .number {
        font-size: 8.21vw;
        line-height: 1.44;
    }

    .page_checkpoint .list .item .content .title_box .title {
        font-size: 6.15vw;
        line-height: 1.46;
    }

    .page_checkpoint .list .item .content .description {
        margin-top: 5.13vw;
    }

    .page_checkpoint .list .item .content .description .text {
        font-size: 4.1vw;
        line-height: 1.56;
    }

    .page_checkpoint .list .item .content .description .text+.text {
        margin-top: 3.85vw;
    }

    .page_checkpoint .list .item .image {
        width: 100%;
        height: 64.1vw;
        border-radius: 2.56vw;
        overflow: hidden;
    }

    .page_checkpoint .list .item .image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        aspect-ratio: 390/250;
    }

    /*----------------------------------------
  　　privacy
  ----------------------------------------*/
    .page_privacy_title .title_box {
        gap: 2.56vw;
    }

    /*----------------------------------------
  　　sitemap
  ----------------------------------------*/
    .page_title_sitemap .title_box {
        gap: 2.56vw;
    }

    .js_orderleft span.accent {
        font-size: 5vw;
    }

    .page_features .list .item .image .number {
        top: -8vw;
        font-size: 3.6vw;
        translate: -50% 0;
        right: unset;
        width: 25vw;
        padding: 1vw 0;
        border-radius: 2vw;
        left: 50%;
    }

    .page_features .list .item .image .number .num {
        font-size: 6.8vw;
    }

    .common_banner_btn ul li a {
        padding: 3vw 0;
        font-size: 4.2vw;
    }

    .common_banner_btn ul li a::after {
        right: 6vw;
        width: 3vw;
    }

    .common_banner_btn ul li a:hover {
        background-color: #106b2a;
        color: #fff;
    }

    .common_banner_btn ul li a:hover::after {
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }

    .common_modal_inner {
        display: block;
    }

    .common_modal_inner .img {
        width: 100%;
        height: unset;
        margin-bottom: 5vw;
    }


    .common_modal_inner .img img {
        height: unset;
        object-fit: unset;
    }


    .common_modal_inner .text_box .modal_ttl {
        font-size: 4.6vw;
        margin-bottom: 2vw;
    }

    .common_modal_inner .text_box .text {
        font-size: 3.4vw;
    }

    .page_sell .sell .sell_description .list {
        display: flex;
        gap: 2vw;
        overflow-x: scroll;
    }

    .page_sell .sell .sell_description .list li {
        flex-shrink: 0;
        width: 70vw;
    }

    .page_sell .sell .sell_description .list li .img {
        height: 40vw;
    }

    .page_sell .sell .sell_description .list li .text_theme {
        padding: 4vw 3vw;
        font-size: 3.3vw;
    }

    .page_sell .sell .sell_description .list li .text_theme .small {
        font-size: 3.3vw;
    }

    .page_sell .sell .sell_description .list li .text_theme .small::before {
        font-size: 3.3vw;
    }

    .common_banner_btn.four ul {
        grid-template-columns: 100%;
        gap: 2vw;
    }

    .common_banner_btn.three ul {
        grid-template-columns: 100%;
        gap: 2vw;
    }

    .common_banner_btn.two ul {
        grid-template-columns: 100%;
        gap: 2vw;
    }

    .common_banner_btn.one ul {
        grid-template-columns: 100%;
    }

    .page_residents .common_banner_btn {
        margin-bottom: 10vw;
    }


    .common_banner_btn {
        margin-top: 10vw;
    }

    .common_banner_btn ul {
        padding: 10vw 5vw;
        border-radius: 2vw;
        grid-template-columns: 100%;
        gap: 2vw;
    }

    .page_residents .garage .content .text_box .text .accent {
        font-size: 4.2vw;
        margin-right: 1vw;
        padding: 0.8vw 1.3vw;
    }

    .page_plan .service_overview .option-services .option_img_list {
        margin-top: 10vw;
    }

    .page_plan .service_overview .option-services .option_img_list ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 2vw;
    }

    .page_plan .service_overview .option-services .option_img_list ul li .img {
        height: 32vw;
    }

    .page_plan .service_overview .option-services .option_img_list ul li .cont_box {
        padding: 3.4vw 1.5vw 2.5vw;
    }

    .page_plan .service_overview .option-services .option_img_list ul li .cont_box .option_theme {
        font-size: 3.5vw;
        margin-bottom: 1.2vw;
    }

    .page_plan .service_overview .option-services .option_img_list ul li .cont_box .cont {
        font-size: 3.2vw;
    }

    .page_residents .garage .content .text_box .text.up {
        margin-top: 3.3vw;
    }

    .moveout .common_item_list {
        padding: 6vw 3vw;
        gap: 4vw;
    }

    .page_sell .sell .sell_description .img_one {
        width: 100%;
    }

    .page_sell .sell .sell_description .img_wrap_box {
        display: block;
        margin-top: 18vw;
    }

    .page_sell .sell .sell_description .img_one .img {
        height: 45vw;
    }

    .page_sell .sell .sell_description .img_one .text_theme {
        padding: 3vw;
        font-size: 3.3vw;
    }

    .page_sell .sell .sell_description .img_one .text_theme .small {
        font-size: 3.3vw;
    }

    .page_plan .service_overview .option-services .option_img_list .option_sub {
        margin: 0 0 4vw;
        font-size: 4vw;
    }
}

/*# sourceMappingURL=style.css.map */