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

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

:root {
    --main-color: #1D4B33;
    --point-color: #AD8132;
    --sub-color: #8D806A;
    --text-color: #484848;
    --text-color2: #1A1A1A;
}

html,
body,
button,
input,
select,
textarea {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
}

.f_gen {
    font-family: "source-han-serif-japanese", serif;
    font-weight: 700;
}

@font-face {
    font-family: "DIN2014";
    src: url("./fonts/DIN2014_Bold.otf") format("opentype");
}

.f_din {
    font-family: "DIN2014", sans-serif;
}

body {
    color: var(--text-color);
    font-size: 16px;
    line-height: 1.7;
    min-width: 1340px;
}

.wrap {
    width: 1240px;
    margin-inline: auto;
}

.wrap.mid {
    width: 1340px;
    margin-inline: auto;
}

main#main_content {
    margin-bottom: 110px;
}

.p-articleThumb {
    height: 430px;
}

.p-articleThumb__img {
    height: 100%;
    object-fit: contain;
}

/* 共通ボタン */
.common_site_btn.center .btn {
    margin-inline: auto;
}

.common_site_btn .btn {
    border: 1px solid var(--main-color);
    display: grid;
    place-content: center;
    width: 260px;
    min-block-size: 50px;
    color: var(--main-color);
    font-size: 14px;
    line-height: 1;
    letter-spacing: .1em;
    font-weight: 700;
    background-color: #fff;
    transition: all .3s;
    position: relative;
}

.common_site_btn .btn:hover {
    background-color: var(--main-color);
    color: #fff;
}

.common_site_btn .btn::after {
    content: '';
    width: 8px;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    right: 20px;
    translate: 0% -50%;
    border-right: 2px solid var(--main-color);
    border-bottom: 2px solid var(--main-color);
    rotate: -45deg;
    transition: all .3s;
}

.common_site_btn .btn:hover::after {
    border-color: #fff;
}

.top_faq_sec .common_site_btn .btn {
    width: 268px;
}

/* 追従 */
.pc_follow_box {
    position: absolute;
    bottom: 53px;
    right: 0;
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 22px 0;
    z-index: 1;
}

.pc_follow_box .link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    background-color: var(--main-color);
    padding: 32px 15px 23px;
    border-radius: 5px 0 0 5px;
    transition: all .3s;
}

.pc_follow_box .link:hover {
    background-color: #246242;
}


.pc_follow_box .link .text {
    font-size: 16px;
    line-height: 1;
    letter-spacing: .15em;
    font-weight: 700;
    color: #fff;
    writing-mode: vertical-lr;
}

.pc_follow_box .link .text .color {
    color: #E2B76B;
}

.pc_follow_box .link .arrow svg {
    width: 20px;
    aspect-ratio: 1;
    min-width: 0;
    fill: #fff;
}

/* PCヘッダー */
.pc_header {
    position: fixed;
    inset: 0;
    width: 100%;
    height: fit-content;
    padding-block: 16px 12px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    background-color: #fff;
    z-index: 1000;
    padding-inline: 50px;
    overflow-x: scroll;
}

.pc_header .inner {
    display: flex;
    justify-content: space-between;
    min-width: 1340px;
}

.pc_header .box {
    display: flex;
    align-items: center;
    gap: 0 35px;
}

.pc_header .logo a {
    display: block;
    width: 159px;
}

.pc_header .logo a img {
    width: 100%;
}

.pc_header .medal_box {
    display: flex;
    gap: 0 14px;
}

.pc_header .medal_box .medal {
    width: 150px;
}

.pc_header .medal_box .medal img {
    width: 100%;
}

.pc_header .info {
    display: flex;
    gap: 0 21px;
    align-items: center;
}

.pc_header .tel_box .tel {
    display: flex;
    align-items: center;
    gap: 0 12px;
    line-height: 1;
    font-size: 30px;
    letter-spacing: 0;
    font-weight: 700;
    color: #212121;
    pointer-events: none;
    white-space: nowrap;
}

.pc_header .tel_box .tel::before {
    content: '';
    width: 40px;
    aspect-ratio: 40/27;
    min-width: 0;
    background: url(./image/icon_dial.svg) no-repeat;
    background-size: contain;
    background-position: center;
}

.pc_header .tel_box .time {
    color: #212121;
    font-size: 12px;
    letter-spacing: 0em;
    font-weight: 700;
}

.pc_header .btn_box {
    display: flex;
    gap: 0 13px;
}

.pc_header .btn_box .btn {
    display: flex;
    gap: 0 12px;
    align-items: center;
    min-block-size: 45px;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0em;
    color: #fff;
    width: 170px;
    transition: all .3s;
}

.pc_header .btn_box .btn.line::before {
    content: '';
    width: 41px;
    aspect-ratio: 1;
    min-width: 0;
    background: url(./image/icon_line.svg) no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 7px;
}

.pc_header .btn_box .btn.line {
    background-color: #03C755;
}

.pc_header .btn_box .btn.contact::before {
    content: '';
    width: 24px;
    aspect-ratio: 24/16;
    min-width: 0;
    background: url(./image/icon_mail.svg) no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 18px;
}

.pc_header .btn_box .btn.contact {
    background-color: var(--main-color);
    gap: 0 17px;
}

.pc_header .btn_box .btn.request::before {
    content: '';
    width: 20px;
    aspect-ratio: 20/25;
    min-width: 0;
    background: url(./image/icon_note.svg) no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 18px;
}

.pc_header .btn_box .btn.request {
    background-color: var(--point-color);
    gap: 0 27px;
}

.pc_header .btn_box .btn:hover {
    opacity: .8;
}

.pc_header .hd_nav ul {
    display: flex;
    align-items: center;
    margin-top: 5px;
}

.pc_header .hd_nav ul li .link {
    padding: 1px 27px;
    border-left: 1px solid var(--text-color2);
    color: var(--text-color2);
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0em;
    transition: all .3s;
}

.pc_header .hd_nav ul li:last-child .link {
    border-right: 1px solid var(--text-color2);
}

.pc_header .hd_nav ul li .link:hover {
    opacity: .5;
}

/* PC トップFV */
.top_fv {
    position: relative;
    padding-block: 141px 30px;
}

.top_fv::before {
    content: '';
    width: 670px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0px;
    background: url(./image/fv_accent.png) no-repeat;
    background-size: contain;
    background-position: bottom left;
    z-index: 1;
}

.top_fv .fv_img {
    position: absolute;
    inset: 0;
}

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

.top_fv .fv_img::before {
    content: '';
    inset: 0;
    position: absolute;
    background-color: rgba(247, 247, 248, .83);
}

.top_fv .inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    gap: 0 113px;
}

.top_fv .cont {
    margin-bottom: 28px;
}

.top_fv .cont .h1_box .sub {
    display: flex;
    gap: 0 19px;
    align-items: center;
    font-size: 28px;
    letter-spacing: .05em;
    color: var(--main-color);
    line-height: 1;
}

.top_fv .cont .h1_box .sub::after {
    content: '';
    display: block;
    width: 177px;
    height: 2px;
    background-color: var(--main-color);
}

.top_fv .cont .h1_box .h1_text {
    font-size: 56px;
    letter-spacing: 0em;
    color: var(--main-color);
    line-height: 1.5;
}

.top_fv .cont .h1_box .h1_text .small {
    font-size: 39px;
}

.top_fv .cont .h1_box .h1_text .color {
    color: var(--point-color);
}

.top_fv .cont .h1_box .catch {
    font-size: 25px;
    letter-spacing: .1em;
    color: #fff;
    line-height: 1;
    margin-top: .5em;
}

.top_fv .cont .h1_box .catch .bg {
    background-color: var(--main-color);
    padding: .15em .75em .2em;
}

.top_fv .cont .medal_box {
    margin-top: 69px;
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 0 29px;
}

.top_fv .cont .medal_box .medal:first-child {
    width: 330px;
}

.top_fv .cont .medal_box .medal:last-child {
    width: 308px;
}

.top_fv .cont .medal_box .medal img {
    width: 100%;
}

.top_fv .cont .notes_text {
    font-size: 14px;
    text-align: right;
    margin-top: 0.4em;
}

.top_fv .cont .info_box {
    background-color: #fff;
    margin-top: 37px;
    padding: 25px 34px 25px 30px;
    display: flex;
    width: fit-content;
    color: var(--text-color2);
}

.top_fv .cont .info_box .text_box {
    padding-right: 20px;
    border-right: 1px solid var(--text-color2);
}

.top_fv .cont .info_box .heading {
    font-size: 19px;
    letter-spacing: 0;
    font-weight: 700;
}

.top_fv .cont .info_box .text_box .text {
    font-size: 14px;
    letter-spacing: 0em;
    font-weight: 700;
}

.top_fv .cont .info_box .tel_box {
    padding-left: 20px;
}

.top_fv .cont .info_box .tel_box .tel {
    display: flex;
    align-items: center;
    gap: 0 10px;
    font-size: 33px;
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 700;
    pointer-events: none;
    color: var(--text-color2);
}

.top_fv .cont .info_box .tel_box .tel::before {
    content: '';
    width: 43px;
    aspect-ratio: 43 / 28;
    min-width: 0;
    background: url(./image/icon_dial.svg) no-repeat;
    background-size: contain;
    background-position: center;
}

.top_fv .cont .info_box .tel_box .time {
    font-size: 13px;
    letter-spacing: 0em;
    font-weight: 700;
    margin-top: .2em;
}

.fv_form_pc {
    width: 435px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .5);
    overflow: hidden;
}

.fv_form_pc .title_box {
    background-color: #FFEDBA;
    display: flex;
    align-items: center;
    gap: 0 20px;
    padding: 18px 32px 12px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .16);
}

.fv_form_pc .title_box .icon {
    width: 44px;
}

.fv_form_pc .title_box .icon img {
    width: 100%;
}

.fv_form_pc .title_box .text_box .sub {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-color2);
    letter-spacing: .1em;
    line-height: 1.5;
    margin-left: .3em;
}

.fv_form_pc .title_box .text_box .catch {
    color: #B97E15;
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: .1em;
    font-weight: 900;
}

.fv_form_pc .form_inner {
    padding: 18px 23px;
}

.fv_form_pc .form_inner .fv_form_box dl {
    display: grid;
    grid-template-columns: 32% 1fr;
    gap: 0 22px;
    align-items: center;
}

.fv_form_pc .form_inner .fv_form_box dl dt {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
    color: var(--text-color2);
}

.fv_form_pc .form_inner .fv_form_box dl dt .hissu {
    color: #C33F3E;
}

.fv_form_pc .form_inner .fv_form_box dl+dl {
    margin-top: 14px;
}

.fv_form_pc .form_inner .common_contact_form select {
    width: 100%;
}

.fv_form_pc .form_inner .common_contact_form input[type="text"],
.fv_form_pc .form_inner .common_contact_form input[type="email"] {
    box-shadow: inset 2px 2px 7px rgba(0, 0, 0, .2);
}

.fv_form_pc .form_inner .common_contact_form input::placeholder {
    font-size: 12px;
    font-weight: 700;
    color: #909090;
}

.fv_form_pc .form_inner .common_contact_form select {
    color: #909090;
    font-size: 13px;
    background-color: #fff;
    padding: .9em 2.3em .9em 1em;
}

.fv_form_pc .form_inner .common_contact_form .select {
    position: relative;
}

.fv_form_pc .form_inner .mw_wp_form_confirm .common_contact_form dl dd {
    font-size: 13px;
}

.fv_form_pc .form_inner .mw_wp_form_confirm .common_contact_form .select {
    padding-right: 2.3em;
}

.fv_form_pc .form_inner .common_contact_form .select::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 14px;
    translate: 0% -50%;
    width: 8px;
    aspect-ratio: 1;
    border-right: 2px solid #909090;
    border-bottom: 2px solid #909090;
    transform: rotate(45deg);
}

.fv_form_pc .form_inner .privacy_term_detail {
    display: none;
}

.fv_form_pc .form_inner #btn_wrap {
    line-height: 0;
}

.fv_form_pc .form_inner #btn_wrap button {
    background-color: var(--point-color);
    color: #fff;
    text-align: center;
    width: 100%;
    min-block-size: 50px;
    margin-top: 21px;
    transition: all .3s;
    position: relative;
}

.fv_form_pc .form_inner #btn_wrap button:hover {
    background-color: #B78731;
}

.fv_form_pc .form_inner #btn_wrap button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    translate: 0% -50%;
    width: 7px;
    aspect-ratio: 1;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    rotate: -45deg;
}

.fv_form_pc .form_inner #btn_wrap button.common_page_btn.back {
    background-color: var(--main-color);
}

.fv_form_pc .form_inner .thanks_textArea .name {
    text-align: center;
    font-size: 16px;
    margin-bottom: .7em;
}

.fv_form_pc .form_inner .thanks_textArea .contact_text {
    font-size: 14px;
}

.fv_form_pc .form_inner .thanks_textArea .contact_text .space {
    display: block;
    font-size: .9em;
    margin-top: .5em;
}

.top_owner_sec {
    padding-block: 47px 48px;
    position: relative;
}

.top_owner_sec::before {
    content: '';
    width: 1043px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    clip-path: polygon(100% 0, 0 0, 100% 100%);
    background-color: rgba(29, 75, 51, .02);
    mix-blend-mode: multiply;
    z-index: -1;
}

.top_owner_sec::after {
    content: '';
    width: 1108px;
    height: 520px;
    position: absolute;
    bottom: 0;
    right: 0;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    background-color: rgba(29, 75, 51, .03);
    mix-blend-mode: multiply;
    z-index: -1;
}

/* PC トップお知らせ */
.news_sec {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0 47px;
}

.news_sec .title_box .title {
    font-size: 33px;
    letter-spacing: .1em;
}

.news_sec .title_box .btn {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0 7.5px;
    color: var(--main-color);
    margin-top: .2em;
}

.news_sec .title_box .btn .text {
    font-size: 14px;
    line-height: 1;
    letter-spacing: .1em;
}

.news_sec .title_box .btn svg {
    width: 27px;
    aspect-ratio: 27/7;
    min-width: 0;
    stroke: var(--main-color);
}

.common_news_list ul li .link {
    padding-block: 20px 18px;
    border-width: 1px 0;
    border-color: #707070;
    display: flex;
    align-items: center;
    gap: 0 44px;
}

.common_news_list ul li .link .date {
    border-radius: 100vmax;
    background-color: #AA9B83;
    font-size: 16px;
    line-height: 1;
    letter-spacing: .05em;
    color: #ffff;
    padding: .32em .85em;
}

.common_news_list ul li .link .ttl {
    color: #525252;
    font-size: 16px;
    letter-spacing: .05em;
    font-weight: 700;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    padding-right: 40px;
    transition: all .3s;
    position: relative;
    width: 100%;
}

.common_news_list ul li .link .ttl::before {
    content: '';
    width: 10px;
    aspect-ratio: 1;
    min-width: 0;
    position: absolute;
    top: 50%;
    right: 24px;
    translate: 0% -50%;
    border-bottom: 2px solid #525252;
    border-right: 2px solid #525252;
    rotate: -45deg;
    transition: all .3s;
}

.common_news_list ul li .link .ttl:hover::before {
    opacity: .5;
}

.common_news_list ul li .link:hover .ttl {
    opacity: .5;
}

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

.common_site_title .sub_text {
    font-size: 22px;
    letter-spacing: .1em;
}

.common_site_title .title {
    font-size: 38px;
    line-height: 1.5;
    letter-spacing: .1em;
}

.common_site_title .title .color {
    color: var(--point-color);
}

.common_site_title.line {
    position: relative;
    padding-bottom: 1em;
}

.common_site_title.line::before {
    content: '';
    width: 80px;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #484848;
}

.common_lead_box {
    margin-top: .8em;
}

.common_lead_box .text {
    font-size: 16px;
    letter-spacing: .05em;
}

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

/* PCトップ　３つのこと */
.top_owner_sec .cont {
    margin-top: 65px;
}

.top_owner_sec .item_list {
    margin-top: 24px;
}

.top_owner_sec .item_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 20px;
}

.top_owner_sec .item_list ul li {
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    background-color: #ffff;
}

.top_owner_sec .item_list ul li .img {
    height: 206px;
}

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

.top_owner_sec .item_list ul li .text_box {
    padding: 15px 15px 20px 22px;
}

.top_owner_sec .item_list ul li .text_box .heading {
    text-align: center;
    font-size: 22px;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
    margin-bottom: .6em;
}

.top_owner_sec .item_list ul li .text_box .heading .sub {
    font-size: .55em;
    line-height: 1;
}

.top_owner_sec .item_list ul li .text_box .text {
    font-size: 14px;
    letter-spacing: .05em;
}

.top_owner_sec .item_list ul li .text_box .small {
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0;
    margin-top: .5em;
}

.top_owner_sec .worries_box {
    margin-top: 115px;
}

.top_owner_sec .worries_box .item_box {
    margin-top: 25px;
}

.top_owner_sec .worries_box .item_box ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 20px;
}

.top_owner_sec .worries_box .item_box ul li {
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .16));
}

.top_owner_sec .worries_box .item_box ul li .inner {
    clip-path: polygon(100% 0, 100% 83%, 50% 100%, 0 83%, 0 0);
    background-color: #fff;
    padding: 27px 29px 55px 20px;
    height: 100%;
}

.top_owner_sec .worries_box .item_box ul li .label {
    display: flex;
    gap: 0 5px;
    font-size: 20px;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--text-color2);
    position: relative;
    padding-bottom: 12px;
}

.top_owner_sec .worries_box .item_box ul li .label::before {
    flex-shrink: 0;
    content: '';
    width: 38px;
    aspect-ratio: 1;
    min-width: 0;
    background: url(./image/icon_moya.svg) no-repeat;
    background-size: contain;
    background-position: center;
}

.top_owner_sec .worries_box .item_box ul li .label::after {
    content: '';
    width: 86px;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0%;
    background-color: var(--text-color2);
}

.top_owner_sec .worries_box .item_box ul li .text_box {
    margin-top: 15px;
}

.top_owner_sec .worries_box .item_box ul li .text_box .text {
    text-align: center;
    font-size: 14px;
    letter-spacing: .05em;
}

/* PCトップ　解決セクション */
.top_cta_sec {
    background: linear-gradient(120deg, #1F5F3E 0%, #0F2B1C 70%, #0B1E13 90%, #0A1C12 100%);
    position: relative;
    overflow: hidden;
}

.top_cta_sec::before {
    content: '';
    width: 217px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #08502B;
    clip-path: polygon(0 0, 100% 0, 20% 100%, 0% 100%);
}

.top_cta_sec .cont {
    display: flex;
    align-items: center;
    position: relative;
}

.top_cta_sec .cont .img {
    width: 654px;
    flex-shrink: 0;
    margin-right: -100px;
    position: relative;
}

.top_cta_sec .cont .img img {
    width: 100%;
    aspect-ratio: 654/535;
    min-width: 0;
    object-fit: cover;
    clip-path: polygon(18% 0%, 100% 0, 100% 100%, 0% 100%);
}

.top_cta_sec .cont .img::before {
    content: '';
    width: 453px;
    height: 519px;
    position: absolute;
    bottom: -150px;
    left: -200px;
    background: url(./image/illust_rudder.png) no-repeat;
    background-size: contain;
    background-position: center;
    opacity: .08;
}

.top_cta_sec .common_site_title .title {
    color: #fff;
    font-size: 40px;
}

.top_cta_sec .common_site_title .title .color {
    color: #E2B76B;
}

.top_cta_sec .common_site_title.line {
    padding-bottom: 1.8em;
}

.top_cta_sec .common_site_title.line::before {
    width: 113px;
    height: 2px;
    background-color: #fff;
}

.top_cta_sec .common_lead_box {
    color: #fff;
    margin-top: 35px;
}

.top_cta_sec .common_lead_box .point {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: .1em;
    margin-top: .8em;
}

.top_cta_sec .cont .box {
    margin-right: -20px;
}

/* PCトップ　特徴セクション */
.top_feature_sec {
    padding-top: 115px;
}

.top_feature_sec .item_box {
    margin-top: 30px;
}

.top_feature_sec .item_box ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-radius: 10px;
    overflow: hidden;
}

.top_feature_sec .item_box ul li {
    position: relative;
    border: 1px solid #656565;
}

.top_feature_sec .item_box ul li::before {
    content: '';
    width: 7px;
    aspect-ratio: 1;
    min-width: 0;
    position: absolute;
    bottom: 10px;
    right: 10px;
    background-color: #fff;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    z-index: 1;
}

.top_feature_sec .item_box ul li .link {
    display: grid;
    place-content: center;
    height: 200px;
    color: #fff;
}

.top_feature_sec .item_box ul li .link .img {
    position: absolute;
    inset: 0;
}

.top_feature_sec .item_box ul li .link .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top_feature_sec .item_box ul li .link .img::before {
    content: '';
    inset: 0;
    position: absolute;
    background-color: rgba(0, 0, 0, .7);
    mix-blend-mode: multiply;
    transition: all .3s;
}

.top_feature_sec .item_box ul li .link:hover .img::before {
    backdrop-filter: blur(4px);
    background-color: rgba(0, 0, 0, .28);
}

.top_feature_sec .item_box ul li .link .text_box {
    position: relative;
    z-index: 1;
    text-align: center;
}

.top_feature_sec .item_box ul li .link .text_box .num {
    font-size: 20px;
    letter-spacing: 0;
    line-height: 1;
}

.top_feature_sec .item_box ul li .link .text_box .ttl {
    font-size: 20px;
    letter-spacing: .1em;
    line-height: 1.3;
    font-weight: 700;
}

/* PCトップ　プランについて */
.top_plan_sec {
    padding-block: 90px 119px;
}

.top_plan_sec .cont {
    display: flex;
    justify-content: center;
    gap: 0 146px;
}

.top_plan_sec .cont .img {
    width: 501px;
    flex-shrink: 0;
}

.top_plan_sec .cont .img img {
    width: 100%;
    aspect-ratio: 501/ 391;
    min-width: 0;
    object-fit: cover;
}

.top_plan_sec .cont .common_lead_box {
    margin-top: 27px;
}

.top_plan_sec .cont .list {
    margin-top: 27px;
}

.top_plan_sec .cont .list ul li+li {
    margin-top: 12px;
}

.top_plan_sec .cont .list ul li {
    border-left: 3px solid var(--main-color);
    color: var(--main-color);
    font-size: 21px;
    line-height: 1;
    letter-spacing: .1em;
    font-weight: 700;
    padding-left: 14px;
}

.top_plan_sec .btn_box {
    display: inline-block;
}

.top_plan_sec .btn_box .point {
    border-radius: 100vmax;
    border: 2px solid var(--point-color);
    background-color: #FFF4E0;
    margin: 45px auto -10px;
    width: fit-content;
    padding: .55em 1em;
    font-size: 14px;
    letter-spacing: .05em;
    line-height: 1;
    font-weight: 700;
    color: var(--point-color);
    position: relative;
}

.top_plan_sec .btn_box .point .size {
    font-size: 1.15em;
    color: #886423;
}

.top_plan_sec .btn_box .point::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: var(--point-color) transparent transparent;
    translate: -50% 100%;
}

.top_plan_sec .btn_box .point::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 7.2px 7.2px 0 7.2px;
    border-color: #FFF4E0 transparent transparent;
    translate: -50% 100%;
}

.top_plan_sec .btn_box .btn {
    display: grid;
    place-content: center;
    width: 400px;
    min-block-size: 60px;
    text-align: center;
    font-size: 16px;
    letter-spacing: .05em;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    background-color: var(--main-color);
    transition: all .3s;
}

.top_plan_sec .btn_box .btn:hover {
    background-color: #246242;
}

/* PCトップ　オーナー様からの推薦の声 */
.top_voice_sec {
    padding-top: 45px;
    position: relative;
}

.top_voice_sec::before {
    content: "";
    width: 275px;
    height: 315px;
    position: absolute;
    top: -115px;
    right: 0;
    opacity: 0.08;
    background: url(./image/illust_rudder.png) center center / contain no-repeat;
    rotate: 22deg;
    z-index: 1;
}

.top_voice_sec .bg {
    background: linear-gradient(120deg, #1F5F3E 10%, #0F2B1C 90%, #0A1C12 100%);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 359px;
}

.top_voice_sec .bg::before {
    content: '';
    width: 357px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #16482E;
    clip-path: polygon(0 0, 100% 0%, 35% 100%, 0% 100%);
}

.top_voice_sec .wrap {
    position: relative;
}

.top_voice_sec .common_site_title .title,
.top_voice_sec .common_lead_box .text {
    color: #fff;
}

.top_voice_sec .common_site_title .title .color {
    color: #E2B76B;
}

.top_voice_sec .common_voice_list {
    margin-top: 50px;
}

.common_voice_list.js_voice_slider ul li.slick-slide .link {
    background-color: #F6F7F7;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    display: flex;
    width: 1000px;
    margin-inline: 32.5px;
}

/* ２投稿の時のレイアウト */
.common_voice_list.active ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.common_voice_list.active ul li .link {
    background-color: #F6F7F7;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    display: flex;
    margin-inline: 0;
}

.common_voice_list.active ul li .link .text_box {
    padding: 38px 30px 40px;
    transition: all .3s;
}

.common_voice_list.active ul li .link .img,
.common_voice_list ul li .link .img {
    width: 319px;
    flex-shrink: 0;
}

.common_voice_lis.active ul li .link .img img,
.common_voice_list ul li .link .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_voice_list ul li .link .text_box {
    padding: 38px 63px 40px 68px;
    transition: all .3s;
}

.common_voice_list.active ul li .link .title_box,
.common_voice_list ul li .link .title_box {
    padding-bottom: 20px;
    margin-bottom: 27px;
    position: relative;
}

.common_voice_list.active ul li .link .title_box::before,
.common_voice_list ul li .link .title_box::before {
    content: '';
    position: absolute;
    width: 77px;
    height: 2px;
    background-color: var(--text-color2);
    bottom: 0;
    left: 0;
}

.common_voice_list.active ul li .link .title,
.common_voice_list ul li .link .title {
    font-size: 25px;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--text-color2);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.common_voice_list.active ul li .link .content,
.common_voice_list ul li .link .content {
    font-size: 16px;
    letter-spacing: .05em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
    color: var(--text-color2);
}

.top_voice_sec .js_voice_slider .draggable {
    overflow: visible;
}

.js_voice_slider ul .slick-arrow {
    border-radius: 100vmax;
    background-color: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    width: 62px;
    aspect-ratio: 1;
    min-width: 0;
    position: relative;
    position: absolute;
    top: 50%;
    translate: 0% -50%;
    z-index: 10;
    cursor: pointer;
}

.js_voice_slider ul .slick-arrow::before {
    content: '';
    width: 15px;
    height: 20px;
    position: absolute;
    top: 50%;
    translate: -50% -50%;
    background: url(./image/icon_arrow2.svg) center center / contain no-repeat;
}

.js_voice_slider ul .slick_prev.slick-arrow {
    left: 90px;
}

.js_voice_slider ul .slick_next.slick-arrow {
    left: unset;
    right: 90px;
}

.js_voice_slider ul .slick_prev.slick-arrow::before {
    left: 45%;
}

.js_voice_slider ul .slick_next.slick-arrow::before {
    left: unset;
    right: 25%;
    transform: scale(-1, 1);
}

.js_voice_slider ul .slick-dots {
    bottom: -40px;
    display: flex;
    gap: 0;
    justify-content: center;
}

.js_voice_slider ul .slick-dots li {
    margin: 0 9px;
}

.js_voice_slider ul .slick-dots li,
.js_voice_slider ul .slick-dots li button {
    width: 10px;
    height: 10px;
    background-color: #D1D1D1;
    border-radius: 100vmax;
}

.js_voice_slider ul .slick-dots li button:before {
    display: none;
}

.js_voice_slider ul .slick-dots li.slick-active button {
    border: 1px solid var(--main-color);
    background-color: #fff;
}

/* PCトップ　改善事例 */
.top_case_sec {
    padding-top: 100px;
}

.top_case_sec .common_site_btn {
    margin-top: 85px;
}

.common_case_area .category_list ul {
    display: flex;
    justify-content: center;
    gap: 0 37px;
    margin-block: 40px;
}

.common_case_area .category_list ul li {
    border-radius: 100vmax;
    width: 122px;
    padding: .45em;
    font-size: 14px;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--text-color);
    background-color: #F2F2F2;
    display: grid;
    place-content: center;
    cursor: pointer;
}

.common_case_area .category_list ul li.tab.active {
    background-color: #D3B67E;
    color: #fff;
}

.common_case_area .common_case_list {
    position: relative;
    height: 412px;
}

.common_case_area .common_case_list ul.tab_content {
    margin: auto;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
}

.common_case_area .common_case_list ul.tab_content.show {
    visibility: visible;
    opacity: 1;
}

.common_case_list ul li .link {
    width: 372px;
    display: block;
    background-color: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    transition: all .3s;
}

.common_case_list ul li.slick-slide {
    margin-inline: 15px;
}

.common_case_list .js_case_slider li .link:hover {
    background-color: #F4F4F4;
}

.common_case_list ul li .link .img img {
    width: 100%;
    height: 149px;
    object-fit: cover;
}

.common_case_list ul li .link .box {
    padding: 20px 28px 24px;
}

.common_case_list ul li .link .text_box .ttl_box {
    position: relative;
    padding-bottom: 1.3em;
}

.common_case_list ul li .link .text_box .ttl_box::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0%;
    width: 80px;
    height: 1px;
    background-color: var(--text-color);
}

.common_case_list ul li .link .text_box .ttl {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--text-color2);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}



.common_case_list ul li .link .text_box .content {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: .1em;
    color: #848484;
    margin-top: 1.5em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.common_case_list ul li .link .category_box {
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 9px 5px;
}

.common_case_list ul li .link .category_box .cat {
    width: fit-content;
    border-radius: 100vmax;
    background-color: #F2F2F2;
    padding: .6em 1.5em;
    display: grid;
    place-content: center;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--text-color2);
}

.common_case_list .js_case_slider .slick-list.draggable {
    overflow: visible;
    margin-bottom: 0;
}

.js_case_slider .slick-dots {
    bottom: -35px;
}

.js_case_slider .slick-dots li,
.js_case_slider .slick-dots li button {
    width: 10px;
    height: 10px;
    background-color: #D1D1D1;
    border-radius: 100vmax;
}

.js_case_slider .slick-dots li {
    margin: 0 9px;
}

.js_case_slider button.slick-arrow,
.js_case_slider .slick-dots li button:before {
    display: none !important;
}

.js_case_slider .slick-dots li.slick-active button {
    border: 1px solid var(--main-color);
    background-color: #fff;
}

/* PCトップ　クライフについて*/
.top_about_sec {
    padding-block: 120px 130px;
}

.top_about_sec .wrap {
    position: relative;
}

.top_about_sec .wrap::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 470px;
    bottom: -155px;
    left: 0;
    background: url(./image/bg_town.png) center bottom / cover no-repeat;
}

.top_about_sec .common_site_title.line {
    padding-bottom: 2em;
}

.top_about_sec .cont {
    display: grid;
    grid-template-columns: 1fr 477px;
    gap: 0 68px;
    position: relative;
}

.top_about_sec .cont .text_box {
    margin-top: 40px;
}

.top_about_sec .cont .text_box .text+.text {
    margin-top: 1.8em;
}

.top_about_sec .cont .text_box .text {
    font-size: 16px;
    line-height: 2;
    letter-spacing: .1em;
}

.top_about_sec .cont .link_box ul li .link {
    padding-block: 20px 17px;
    border-bottom: 1px solid #BFBFBF;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 50px;
}

.top_about_sec .cont .link_box ul li .link .ttl {
    display: flex;
    align-items: center;
    gap: 0 15px;
    font-size: 18px;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--main-color);
    transition: all .3s;
}

.top_about_sec .cont .link_box ul li .link:hover .ttl {
    color: var(--point-color);
}

.top_about_sec .cont .link_box ul li .link .ttl::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 40px;
    height: 46px;
    background: url(./image/icon_rudder2.svg) center center / contain no-repeat;
    margin-left: -10px;
    opacity: .3;
    transition: all .3s;
}

.top_about_sec .cont .link_box ul li .link:hover .ttl::before {
    background: url(./image/icon_rudder.svg) center center / contain no-repeat;
}

.top_about_sec .cont .link_box ul li .link .arrow svg {
    fill: var(--main-color);
    transition: all .3s;
}

.top_about_sec .cont .link_box ul li .link:hover .arrow svg {
    fill: var(--point-color);
}

/* PCトップ　クライフのクルー紹介 */
.top_crew_sec .common_crew_list {
    margin-top: 28px;
}

.common_crew_list ul {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
}

.common_crew_list ul li .link {
    display: block;
    width: 230px;
    flex-shrink: 0;
    color: var(--text-color);
}

.common_crew_list ul li .link .img {
    overflow: hidden;
}

.common_crew_list ul li .link .img img {
    width: 100%;
    aspect-ratio: 230/330;
    min-height: 0;
    object-fit: cover;
    transition: all .3s;
}

.common_crew_list ul li .link:hover .img img {
    scale: 1.1;
}

.common_crew_list ul li .link .text_box {
    margin-top: 18px;
}

.common_crew_list ul li .link .title_box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 .5em;
    font-size: 20px;
    line-height: 1.7;
    letter-spacing: .05em;
    font-weight: 700;
    text-align: center;
}

.common_crew_list ul li .link .en {
    font-size: 14px;
    line-height: 1;
    letter-spacing: .1em;
    font-weight: 700;
    text-align: center;
}

.top_crew_sec .common_site_btn {
    margin-top: 40px;
}

/* PCトップ　その他の事業について */
.top_service_sec {
    padding-block: 115px 120px;
}

.top_service_sec .item_list {
    margin-top: 28px;
}

.top_service_sec .item_list ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0 23px;
}

.top_service_sec .item_list ul li .link {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: var(--text-color);
    box-shadow: 0 0 10px rgba(0, 0, 0, .16);
    border-radius: 5px;
    overflow: hidden;
    height: 100%;
}

.top_service_sec .item_list ul li .link .box {
    padding: 32px 17px 18px;
}

.top_service_sec .item_list ul li .link .icon {
    margin-inline: auto;
    text-align: center;
}

.top_service_sec .item_list ul li .link .icon img {
    min-height: 95px;
}

.top_service_sec .item_list ul li .link .text_box .ttl {
    margin-block: 20px;
    font-size: 18px;
    letter-spacing: .08em;
    font-weight: 700;
    text-align: center;
    padding-bottom: .4em;
    position: relative;
}

.top_service_sec .item_list ul li .link .text_box .ttl::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0%;
    width: 80px;
    height: 1px;
    background-color: var(--text-color);
}

.top_service_sec .item_list ul li .link .text_box .text {
    font-size: 14px;
    letter-spacing: .05em;
}

.top_service_sec .item_list ul li .link .label_box {
    background-color: #F7F7F7;
    min-block-size: 45px;
    display: grid;
    place-content: center;
    position: relative;
    transition: all .3s;
}

.top_service_sec .item_list ul li .link:hover .label_box {
    background-color: var(--main-color);
}

.top_service_sec .item_list ul li .link .label_box .label {
    color: var(--main-color);
    font-size: 14px;
    line-height: 1;
    letter-spacing: .1em;
    font-weight: 700;
    padding-right: 10px;
    transition: all .3s;
}

.top_service_sec .item_list ul li .link:hover .label_box .label {
    color: #fff;
}

.top_service_sec .item_list ul li .link .label_box::after {
    content: '';
    width: 7px;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    right: 37px;
    translate: 0% -50%;
    border-right: 2px solid var(--main-color);
    border-bottom: 2px solid var(--main-color);
    rotate: -45deg;
    transition: all .3s;
}

.top_service_sec .item_list ul li .link:hover .label_box::after {
    border-color: #fff;
}

/* PCトップ　クライフ航海記 */
.top_archive_sec {
    padding-block: 105px 92px;
    position: relative;
    clip-path: inset(0);
}

.top_archive_sec .bg_img {
    position: fixed;
    inset: 0;
    z-index: -1;
}

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

.top_archive_sec .bg_img::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(247, 247, 248, .75);
    backdrop-filter: blur(7px);
    z-index: 1;
}

.top_archive_sec .common_site_title {
    background: url(./image/illust_ribbon.svg) center top / cover no-repeat;
    rotate: 1deg;
    width: 537px;
    margin-inline: auto;
    padding-block: 10px 34px;
}

.top_archive_sec .common_site_title .title {
    color: #fff;
}

.top_archive_sec .common_archive_box {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(2, 538px);
    justify-content: center;
}

.top_archive_sec .common_archive_box .common_archive_list.column {
    padding-right: 41px;
    border-right: 1px solid var(--text-color2);
}

.top_archive_sec .common_archive_box .common_archive_list.blog {
    padding-left: 41px;
}

.common_archive_list .title_box {
    display: flex;
    gap: 0 17px;
    align-items: center;
}

.common_archive_list.column .title_box .icon {
    width: 40px;
}

.common_archive_list.blog .title_box .icon {
    width: 36px;
    rotate: 30deg;
}

.common_archive_list .title_box .icon img {
    width: 100%;
}

.common_archive_list.column .title_box .title {
    color: var(--sub-color);
}

.common_archive_list .title_box .title {
    font-size: 25px;
    letter-spacing: .1em;
    color: var(--point-color);
}

.common_archive_list ul li .link {
    display: flex;
    align-items: center;
    gap: 0 22px;
    padding-block: 38px;
    border-bottom: 1px dashed var(--text-color2);
    position: relative;
    transition: all .3s;
}

.common_archive_list ul li .link:hover {
    opacity: .6;
}

.common_archive_list ul li .link::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0% -50%;
    width: 10px;
    aspect-ratio: 1;
    min-width: 0;
    border-right: 2px solid var(--text-color2);
    border-bottom: 2px solid var(--text-color2);
    rotate: -45deg;
}

.common_archive_list ul li .link .date {
    border-radius: 100vmax;
    font-size: 16px;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    color: #fff;
    padding: .3em .8em;
    background-color: var(--point-color);
}

.common_archive_list.column ul li .link .date {
    background-color: var(--sub-color);
}

.common_archive_list ul li .link .title {
    font-size: 16px;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--text-color2);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    margin-right: 30px;
}

.common_archive_list .btn .link {
    margin: 30px auto 0;
    width: 204px;
    min-block-size: 45px;
    display: grid;
    place-content: center;
    font-size: 14px;
    line-height: 1;
    letter-spacing: .1em;
    color: #fff;
    font-weight: 700;
    padding-right: 18px;
    background-color: var(--point-color);
    position: relative;
    transition: all .3s;
    border: 1px solid var(--point-color);
}

.common_archive_list.column .btn .link {
    border: 1px solid var(--sub-color);
}

.common_archive_list.column .btn .link {
    background-color: var(--sub-color);
}

.common_archive_list .btn .link::after {
    content: '';
    width: 7px;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    right: 17px;
    translate: 0% -50%;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    rotate: -45deg;
    transition: all .3s;
}

.common_archive_list .btn .link:hover {
    background-color: transparent;
    color: var(--point-color);
}

.common_archive_list.column .btn .link:hover {
    background-color: transparent;
    color: var(--sub-color);
}

.common_archive_list .btn .link:hover::after {
    border-color: var(--point-color);
}

.common_archive_list.column .btn .link:hover::after {
    border-color: var(--sub-color);
}

.common_archive_list ul .no_text {
    margin-top: 40px;
}

/* PCトップ　よくある質問 */
.top_faq_sec {
    padding-block: 115px;
}

.top_faq_sec .common_faq_list {
    margin-top: 28px;
}

.common_faq_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 34px;
}

.common_faq_list dl {
    box-shadow: 0 0 10px rgba(0, 0, 0, .16);
    border-radius: 5px;
    background-color: #F7F7F7;
    overflow: hidden;
}

.common_faq_list dl .en {
    font-size: 32px;
    line-height: 1;
    letter-spacing: .1em;
    flex-shrink: 0;
}

.common_faq_list dl dt .en {
    color: var(--text-color2);
}

.common_faq_list dl dd .en {
    color: var(--point-color);
}

.common_faq_list dl dt {
    background-color: #fff;
}

.common_faq_list dl dt,
.common_faq_list dl dd {
    padding: 20px 40px;
    display: flex;
    gap: 0 20px;
}

.common_faq_list dl dt .question,
.common_faq_list dl dd .answer {
    margin-top: .25em;
}

.common_faq_list dl dt .question {
    font-size: 18px;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--text-color2);
}

.common_faq_list dl dd .answer {
    font-size: 14px;
    letter-spacing: .05em;
    font-weight: 500;
}

.top_faq_sec .common_site_btn {
    margin-top: 38px;
}

/* PCフッター　お問い合わせセクション */
.common_contact_sec {
    padding-block: 130px 70px;
    background: linear-gradient(120deg, #1F5F3E 10%, #0F2B1C 90%, #0A1C12 100%);
    position: relative;
}

.common_contact_sec::before {
    content: '';
    width: 375px;
    height: 98%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, .05);
    clip-path: polygon(0 0, 0% 100%, 100% 0);
}

.common_contact_sec .title_box {
    position: relative;
    text-align: center;
}

.common_contact_sec .title_box .en {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -100%;
    width: fit-content;
    height: auto;
    font-size: 120px;
    line-height: 1.2;
    letter-spacing: .1em;
    color: rgba(255, 255, 255, .07);
}

.common_contact_sec .title_box .title {
    font-size: 40px;
    letter-spacing: .1em;
    color: #fff;
}

.common_contact_sec .title_box .title .color {
    color: #E2B76B;
}

.common_contact_sec .title_box .text_box {
    margin-block: .6em 2em;
}

.common_contact_sec .title_box .text_box .text {
    font-size: 16px;
    letter-spacing: .1em;
    font-weight: 700;
    color: #fff;
}

.common_contact_btn {
    border-radius: 5px;
    background-color: #fff;
    padding: 20px;
    display: flex;
    justify-content: center;
}

.common_contact_btn .item {
    border-left: 2px solid #707070;
    padding-block: 10px;
    margin-top: auto;
}

.common_contact_btn .item.contact {
    padding-right: 94px;
    border-left: none;
}

.common_contact_btn .item.request {
    padding-inline: 97px;
}

.common_contact_btn .item.line {
    padding-left: 80px;
}

.common_contact_btn .item .ttl_box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 12px;
}

.common_contact_btn .item.contact .ttl_box .icon {
    width: 35px;
    flex-shrink: 0;
}

.common_contact_btn .item.request .ttl_box .icon {
    width: 27px;
    flex-shrink: 0;
}

.common_contact_btn .item .ttl_box .icon img {
    width: 100%;
}

.common_contact_btn .item.contact .ttl_box .ttl {
    font-size: 22px;
}

.common_contact_btn .item .ttl_box .ttl {
    font-size: 28px;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--text-color2);
}

.common_contact_btn .item .text_box {
    border-top: 2px dotted var(--text-color2);
    padding-top: .5em;
    margin-block: .8em;
}

.common_contact_btn .item .text_box .text {
    color: var(--text-color2);
    font-size: 14px;
    letter-spacing: .1em;
    font-weight: 700;
    text-align: center;
}

.common_contact_btn .item .btn_box .btn {
    width: 180px;
    min-block-size: 50px;
    display: grid;
    place-content: center;
    color: #fff;
    margin-inline: auto;
    position: relative;
    transition: all .3s;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0;
    font-weight: 700;
}

.common_contact_btn .item .btn_box .btn:hover {
    opacity: .8;
}

.common_contact_btn .item.contact .btn_box .btn {
    background-color: var(--main-color);
}

.common_contact_btn .item.request .btn_box .btn {
    background-color: var(--point-color);
}

.common_contact_btn .item.request .btn_box .btn:hover {
    background-color: #C6A770;
}

.common_contact_btn .item.line .btn_box .btn {
    background-color: #03C755;
}

.common_contact_btn .item.line .btn_box .btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0 12px;
    padding-left: 9px;
}

.common_contact_btn .item.contact .btn_box .btn::before,
.common_contact_btn .item.request .btn_box .btn::before {
    content: '';
    width: 7px;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    right: 18px;
    translate: 0% -50%;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    rotate: -45deg;
}

.common_contact_sec .tel_box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 26px;
    color: #fff;
    margin-top: 30px;
}

.common_contact_sec .tel_box .tel {
    display: flex;
    align-items: flex-end;
    gap: 0 18px;
    font-size: 48px;
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 700;
}

.common_contact_sec .tel_box .tel::before {
    content: '';
    width: 65px;
    aspect-ratio: 65/43;
    min-width: 0;
    background: url(./image/icon_dial_white.svg) no-repeat;
    background-size: contain;
    background-position: center;
}

.common_contact_sec .tel_box .time {
    font-size: 18px;
    letter-spacing: 0em;
    font-weight: 700;
    line-height: 1;
}

/* PCフッター */
.main_footer .cont {
    padding-block: 75px 70px;
}

.main_footer .cont .ft_nav {
    display: flex;
    justify-content: space-between;
    padding-bottom: 22.5px;
}

.main_footer .cont .menu_ttl {
    padding-left: 22px;
    position: relative;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--text-color2);
    transition: all .3s;
}

.main_footer .cont a.menu_ttl:hover {
    opacity: .7;
}

.main_footer .cont .menu_ttl::before {
    content: '';
    width: 15px;
    aspect-ratio: 1;
    min-width: 0;
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0% -50%;
    background-color: var(--text-color2);
}

.main_footer .cont .ft_nav .menu_box:last-child {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 140px 0;
}

.main_footer .cont .ft_nav .menu_box:last-child .box {
    margin-right: 15px;
}

.main_footer .cont .ft_nav .menu_box .list {
    margin-top: 20px;
}

.main_footer .cont .ft_nav .menu_box .list ul li .link {
    font-size: 14px;
    letter-spacing: .1em;
    color: var(--text-color2);
    transition: all .3s;
}

.main_footer .cont .ft_nav .menu_box .list ul li .link:hover {
    opacity: .7;
}

.main_footer .cont .ft_nav .menu_box .list ul li+li {
    margin-top: .4em;
}

.main_footer .cont .btn_menu .btn {
    width: 250px;
    min-block-size: 50px;
    background-color: var(--main-color);
    font-size: 16px;
    letter-spacing: .1em;
    color: #fff;
    display: flex;
    align-items: center;
    padding-inline: 20px 40px;
    transition: all .3s;
    position: relative;
}

.main_footer .cont .btn_menu .btn:hover {
    background-color: #628171;
}

.main_footer .cont .btn_menu .btn::before {
    content: '';
    width: 7px;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    right: 14px;
    translate: 0% -50%;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    rotate: -45deg;
}

.main_footer .cont .btn_menu .btn+.btn {
    margin-top: 15.5px;
}

.main_footer .cont .ft_sub_nav {
    border-top: 1px solid var(--text-color2);
    padding-top: 18px;
}

.main_footer .cont .ft_sub_nav ul {
    display: flex;
    gap: 0 70px;
}

.main_footer .copy_box {
    background-color: var(--text-color2);
    padding-block: 26px;
}

.main_footer .copy_box .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main_footer .copy_box .bottom_menu ul {
    display: flex;
    gap: 0 40px;
}

.main_footer .copy_box .bottom_menu ul li .link {
    display: block;
    color: #fff;
    font-size: 12px;
    letter-spacing: .1em;
    font-weight: 700;
    transition: all .3s;
}

.main_footer .copy_box .copy {
    display: block;
    margin-right: 50px;
    color: #fff;
    font-size: 10px;
    letter-spacing: 0;
}

.main_footer .copy_box .bottom_menu ul li .link:hover {
    opacity: .7;
}

/* PC固定ページ　その他の事業について */
.page_business .common_page_wrap {
    padding: 0 0 100px;
}

.business_sec .list_box .item {
    display: flex;
    gap: 0 60px;
    border-bottom: 1px dashed var(--sub-color);
    padding-block: 100px;
}

.business_sec .list_box .item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.business_sec .list_box .item:nth-child(even) {
    flex-direction: row-reverse;
    justify-content: space-between;
}

.business_sec .list_box .item+.item {
    padding-top: 100px;
}

.business_sec .list_box .item .img {
    flex-shrink: 0;
    width: 480px;
}

.business_sec .list_box .item .img img {
    width: 100%;
    aspect-ratio: 3/2;
    min-width: 0;
    object-fit: cover;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.business_sec .list_box .item .text_area .title {
    font-size: 32px;
    letter-spacing: .1em;
    color: var(--main-color);
    position: relative;
    padding-bottom: .4em;
}

.business_sec .list_box .item .text_area .title::before {
    content: '';
    position: absolute;
    width: 80px;
    height: 1px;
    background-color: var(--text-color2);
    bottom: 0;
    left: 0;
}

.business_sec .list_box .item .text_box {
    margin-top: 20px;
}

.business_sec .list_box .item .text_box .text {
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: .05em;
}

/* PC固定ページ CPM・CCIMとは */
.page_cpm_ccim .link_box {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.page_cpm_ccim .link_box a {
    display: grid;
    place-content: center;
    width: 400px;
    background-color: #fff;
    min-block-size: 55px;
    font-size: 16px;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--main-color);
    border: 1px solid var(--main-color);
    position: relative;
}

.page_cpm_ccim .link_box a::before {
    content: '';
    width: 9px;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    right: 20px;
    translate: 0% -50%;
    border-right: 2px solid var(--main-color);
    border-bottom: 2px solid var(--main-color);
    rotate: 45deg;
}

.page_cpm_ccim .page_title {
    font-size: 32px;
    letter-spacing: .08em;
    color: var(--text-color2);
    text-align: center;
    width: fit-content;
    margin-inline: auto;
    border-bottom: 1px solid var(--text-color2);
    padding-bottom: .3em;
}

.page_cpm_ccim .page_title .small {
    font-size: .8em;
}

.cpm_ccim_sec {
    padding-top: 100px;
}

.cpm_ccim_sec .heading_box {
    margin-top: 40px;
    padding: 30px 50px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    background-color: #F6F7F7;
}

.cpm_ccim_sec .heading_box .catch {
    background-color: var(--main-color);
    color: #fff;
    font-size: 24px;
    letter-spacing: .05em;
    font-weight: 700;
    padding: .4em 1em;
    text-align: center;
}

.cpm_ccim_sec .heading_box .text_box {
    margin-top: 20px;
}

.cpm_ccim_sec .heading_box .text_box .text {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .05em;
    text-align: center;
    color: var(--text-color2);
}

.cpm_ccim_sec .heading_box .text_box .text+.text {
    margin-top: 1em;
}

.cpm_ccim_sec .item_box .cont {
    display: flex;
    gap: 0 60px;
    margin-top: 70px;
}

.cpm_ccim_sec .item_box .cont:nth-child(even) {
    flex-direction: row-reverse;
    justify-content: space-between;
}

.cpm_ccim_sec .cont .img {
    flex-shrink: 0;
    width: 480px;
}

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

.cpm_ccim_sec .cont .img.graph img {
    object-fit: contain;
}

.cpm_ccim_sec .cont .img.graph .sub {
    font-size: 22px;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--main-color);
    margin-top: 30px;
}

.cpm_ccim_sec .cont .text_area .label {
    border-left: 4px solid var(--main-color);
    padding-left: 1em;
    font-size: 24px;
    line-height: 1.7;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--text-color2);
}

.cpm_ccim_sec .cont .text_box {
    margin-top: 30px;
}

.cpm_ccim_sec .cont .text_box .text {
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: .05em;
}

.cpm_ccim_sec .cont .text_box .text+.text {
    margin-top: 1em;
}

.cpm_ccim_sec .note {
    margin-top: 30px;
}

.cpm_ccim_sec .note .link {
    display: inline-block;
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--point-color);
    transition: all .3s;
}

.cpm_ccim_sec .note .link:hover {
    opacity: .7;
}

/* PC固定ページ 会社概要*/
.company_profile_sec .cont dl {
    border-top: 1px solid var(--text-color);
    display: flex;
}

.company_profile_sec .cont dl dt {
    flex-shrink: 0;
    width: 19.5%;
    border-top: 4px solid var(--main-color);
    padding: 1em;
    font-size: 20px;
    letter-spacing: .08em;
    font-weight: 700;
    color: var(--text-color2);
}

.company_profile_sec .cont dl dd {
    width: 100%;
    font-size: 16px;
    letter-spacing: .08em;
    padding: 1.8em 5.3em;
}

.company_profile_sec .cont dl dd .map {
    margin-top: 1em;
}

.company_profile_sec .company_gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1%;
    margin-bottom: 60px;
}

.company_profile_sec .company_gallery .img img {
    width: 100%;
    aspect-ratio: 3/2;
    min-width: 0;
    object-fit: cover;
}

/* PC固定ページ　経営理念 */
.philosophy_sec .heading_cont {
    display: flex;
    align-items: center;
    gap: 0 60px;
}

.philosophy_sec .heading_cont .img {
    width: 450px;
    flex-shrink: 0;
}

.philosophy_sec .heading_cont .img img {
    width: 100%;
}

.philosophy_sec .heading_cont .text_box .catch {
    font-size: 30px;
    letter-spacing: .1em;
    color: var(--text-color2);
}

.philosophy_sec .heading_cont .text_box .catch .color {
    color: var(--point-color);
    font-size: 1.2em;
}

.philosophy_sec .heading_cont .text_box .catch .small {
    font-size: .8em;
}

.philosophy_sec .heading_cont .text_box .text {
    font-size: 14px;
    letter-spacing: .08em;
    margin-top: 30px;
    text-align: right;
}

.philosophy_sec .item_box {
    margin-top: 80px;
}

.philosophy_sec .item_box .item+.item {
    margin-top: 60px;
}

.philosophy_sec .item_box .item .page_title {
    font-size: 22px;
    line-height: 1.7;
    letter-spacing: .1em;
    border-left: 3px solid var(--main-color);
    padding: .5em .5em .5em 1em;
    background-color: #F7F7F7;
    color: var(--text-color2);
}

.philosophy_sec .item_box .item .list_box {
    margin-top: 30px;
    background-color: rgba(173, 129, 50, .1);
    padding: 50px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    position: relative;
    overflow: hidden;
}

.philosophy_sec .item_box .item .list_box::before {
    content: "";
    width: 275px;
    height: 315px;
    position: absolute;
    top: -115px;
    right: 0;
    background: url(./image/illust_rudder.png) center center / contain no-repeat;
    z-index: 1;
}

.philosophy_sec .item_box .item .text_box {
    margin-top: 1.5em;
}

.philosophy_sec .item_box .item .text_box .text {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: .05em;
    font-weight: 700;
}

.philosophy_sec .item_box .item ul li+li {
    margin-top: .8em;
}

.philosophy_sec .item_box .item ul li {
    font-size: 16px;
    letter-spacing: .08em;
    font-weight: 700;
    color: var(--text-color2);
    z-index: 1;
    position: relative;
}

/* PC固定ページ　代表挨拶 */
.message_cont_sec .top_box {
    text-align: center;
    position: relative;
    z-index: 0;
    margin-block: 0 4em;
}

.message_cont_sec .top_box .title {
    font-size: 28px;
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1.5;
    color: var(--text-color2);
}

.message_cont_sec .top_box .title .color {
    color: var(--point-color);
    font-size: 1.2em;
}

.message_cont_sec .top_box .en {
    color: rgba(29, 75, 51, .1);
    font-size: 80px;
    letter-spacing: .02em;
    font-weight: 700;
    line-height: 1;
    position: absolute;
    top: -0.6em;
    left: 50%;
    translate: -50% 0;
    z-index: -1;
}

.message_cont_sec .cont {
    display: grid;
    grid-template-columns: 470px 1fr;
    gap: 80px;
    align-items: flex-start;
}

.message_cont_sec .cont .img_box {
    position: sticky;
    top: 110px;
    left: 0;
}

.message_cont_sec .cont .img_box .img {
    margin-block: 0 0.9em;
}

.message_cont_sec .cont .img_box .img img {
    width: 100%;
    aspect-ratio: 47/40;
    object-fit: cover;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.message_cont_sec .cont .img_box .name_box {
    position: relative;
    z-index: 0;
    color: var(--text-color2);
}

.message_cont_sec .cont .img_box .name_box .position {
    font-size: 18px;
    letter-spacing: .08em;
    font-weight: 500;
    line-height: 1.5;
}

.message_cont_sec .cont .img_box .name_box .name {
    font-size: 30px;
    letter-spacing: .08em;
    font-weight: 700;
    line-height: 1.4;
}

.message_cont_sec .cont .img_box .name_box .en_name {
    color: rgba(29, 75, 51, .1);
    font-size: 50px;
    letter-spacing: .02em;
    font-weight: 700;
    line-height: 1;
    position: absolute;
    top: 0.1em;
    left: 0.4em;
    z-index: -1;
}

.message_cont_sec .cont .text_box .catch {
    color: #fff;
    font-size: 20px;
    letter-spacing: .05em;
    font-weight: 700;
}

.message_cont_sec .cont .text_box .catch .size {
    font-size: 1.2em;
}

.message_cont_sec .cont .text_box .catch .bg {
    background-color: var(--main-color);
    padding: .4em .7em;
    display: block;
    width: fit-content;
}

.message_cont_sec .cont .text_box .catch .bg+.bg {
    margin-top: .2em;
}

.message_cont_sec .cont .text_box .catch:not(:first-child) {
    margin-block: 2em 1em;
}

.message_cont_sec .cont .text_box .catch:first-child {
    margin-bottom: 1em;
}

.message_cont_sec .cont .text_box .text {
    font-size: 14px;
    letter-spacing: .08em;
    line-height: 1.9;
    color: var(--text-color2);
}

.message_cont_sec .cont .text_box .text+.text {
    margin-top: 1em;
}


/* PC固定ページ　８つの特徴ページ共通 */
.common_page_features {
    padding-top: 68px;
}

.common_page_features .common_site_title.line {
    padding-bottom: 1.5em;
}

.common_page_features .common_site_title.line::before {
    height: 2px;
}

.common_page_features .catch_sec .common_site_title.line::before {
    left: 50%;
    translate: -50% 0%;
}

.common_page_features .catch_sec .text_box {
    margin-top: 28px;
}

.common_page_features .catch_sec .text_box .text {
    text-align: center;
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--text-color2);
}

.common_page_features .problem_sec {
    padding-block: 99px 114px;
}

.common_page_features .problem_sec .item_box {
    margin-top: 30px;
}

.common_page_features .problem_sec .item_box ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 39px 20px;
}

.common_page_features .problem_sec .item_box ul li {
    width: 400px;
    flex-shrink: 0;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    background-color: #FFF0D6;
    position: relative;
    text-align: center;
    color: var(--text-color2);
}

.common_page_features .problem_sec .item_box ul li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 113px;
    height: 100%;
    background-color: rgba(252, 240, 214, .38);
    mix-blend-mode: multiply;
    clip-path: polygon(0 0, 100% 0%, 30% 100%, 0% 100%);
}

.common_page_features .problem_sec .item_box ul li .inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 13px 9px 0 9px;
    border-color: #FFF0D6 transparent transparent;
    translate: -50% 100%;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .16));
}

.common_page_features .problem_sec .item_box ul li .inner::before {
    content: "";
    position: absolute;
    bottom: 4px;
    left: 50%;
    width: 26px;
    height: 4px;
    background-color: #FFF0D6;
    translate: -50% 100%;
    z-index: 1;
}

.common_page_features .problem_sec .item_box ul li .inner {
    padding: 22px 22px 26px;
    position: relative;

}

.common_page_features .problem_sec .item_box ul li .num {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0em;
}

.common_page_features .problem_sec .item_box ul li .text {
    font-size: 17px;
    letter-spacing: .1em;
    font-weight: 700;
    margin-top: 9px;
}

.common_page_features .bg {
    position: relative;
}

.common_page_features .bg::before {
    content: '';
    position: absolute;
    width: 65%;
    height: 100%;
    top: 0;
    right: 0;
    clip-path: polygon(88% 0%, 100% 0%, 100% 100%, 0% 100%);
    background-color: #FAFAFA;
    mix-blend-mode: multiply;
}

.common_page_features .attempt_sec {
    padding-block: 100px;
    background-color: #FAFAFA;
}

.common_page_features .attempt_sec .cont {
    display: flex;
    align-items: flex-end;
    gap: 0 73px;
    position: relative;
}

.common_page_features .attempt_sec .cont .img {
    width: 647px;
    flex-shrink: 0;
}

.common_page_features .attempt_sec .cont .img img {
    width: 100%;
    aspect-ratio: 13/7;
    min-width: 0;
    object-fit: cover;
}

.common_page_features .attempt_sec .cont .text_area {
    margin-bottom: 20px;
}

.common_page_features .attempt_sec .cont .text_box {
    margin-top: 35px;
}

.common_page_features .attempt_sec .cont .text_box .text {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--text-color2);
}

.common_page_features .attempt_sec .cont .text_box .text+.text {
    margin-top: 1em;
}

.common_page_features .merit_sec {
    padding-block: 98px;
    position: relative;
}

.common_page_features .merit_sec .list_box {
    margin-top: 28px;
}

.common_page_features .merit_sec .list_box ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.common_page_features .merit_sec .list_box ul li {
    box-shadow: 0 0 10px rgba(0, 0, 0, .16);
    background-color: #fff;
}

.common_page_features .merit_sec .list_box ul li .img {
    height: 184px;
}

.common_page_features .merit_sec .list_box ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_page_features .merit_sec .list_box ul li .text_area {
    padding: 25px 56px;
}

.common_page_features .merit_sec .list_box ul li .title {
    color: var(--text-color2);
    font-size: 20px;
    letter-spacing: .1em;
    font-weight: 700;
    text-align: center;
    position: relative;
    padding-bottom: .6em;
}

.common_page_features .merit_sec .list_box ul li .title::after {
    content: '';
    position: absolute;
    width: 86px;
    height: 1px;
    background-color: var(--text-color2);
    bottom: 0;
    left: 50%;
    translate: -50% 0%;
}

.common_page_features .merit_sec .list_box ul li .text_box {
    margin-top: 16px;
}

.common_page_features .merit_sec .list_box ul li .text_box .text {
    font-size: 14px;
    letter-spacing: .05em;
    text-align: center;
}

/* PC固定ページ　入居者専用お問い合わせ一覧 */
.resident_form_sec .item_list ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.resident_form_sec .item_list ul li .link {
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    display: block;
    transition: all .3s;
}

.resident_form_sec .item_list ul li .link .img {
    height: 200px;
    overflow: hidden;
}

.resident_form_sec .item_list ul li .link .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s;
}

.resident_form_sec .item_list ul li .link .title {
    background-color: var(--main-color);
    color: #fff;
    font-size: 16px;
    letter-spacing: .1em;
    font-weight: 700;
    text-align: center;
    padding: .3em;
}

.resident_form_sec .item_list ul li .link:hover {
    opacity: .6;
}

.resident_form_sec .item_list ul li .link:hover .img img {
    scale: 1.1;
}

/* PC固定ページ　賃貸管理プラン */
.rental_plan .check_box .point_box {
    margin-bottom: 30px;
    background-color: var(--main-color);
    clip-path: polygon(100% 0, 100% 58%, 50% 100%, 0 58%, 0 0);
    padding: 1em 1em 2.5em;
}

.rental_plan .check_box .point_box .text {
    font-size: 28px;
    text-align: center;
    line-height: 1.7;
    letter-spacing: .08em;
    font-weight: 700;
    color: #fff;
}

.rental_plan .check_box .point_box .text .size {
    font-size: 1.2em;
}


.rental_plan .check_box .item_box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em;
}

.rental_plan .check_box .item_box .item {
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    border-radius: 5px;
    overflow: hidden;
    background-color: #fff;
}

.rental_plan .check_box .item_box .item .title {
    text-align: center;
    font-size: 18px;
    letter-spacing: .08em;
    font-weight: 700;
    background-color: var(--point-color);
    color: #fff;
    padding: .3em 1em;
}

.rental_plan .check_box .item_box .item ul {
    padding: 20px 30px;
}

.rental_plan .check_box .item_box .item ul li {
    position: relative;
    padding-left: 28px;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .08em;
    color: var(--text-color2);
}

.rental_plan .check_box .item_box .item ul li::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    aspect-ratio: 1;
    min-width: 0;
    background: url(./image/icon_check.svg) center center / contain no-repeat;
}

.rental_plan .check_box .item_box .item ul li+li {
    margin-top: .4em;
}

.rental_plan .table_menu {
    padding-top: 80px;
}

.rental_plan .table_menu table {
    width: 100%;
    border-radius: 5px;
    border-collapse: collapse;

}

.rental_plan .table_menu table tbody {
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.rental_plan .table_menu table,
.rental_plan .table_menu table td {
    padding: 1em;
    color: var(--text-color2);
    vertical-align: middle;
}

.rental_plan .table_menu table td {
    padding: 1em;
    font-size: 14px;
    letter-spacing: .05em;
    text-align: center;
    border: 1px solid var(--main-color);
    color: var(--text-color2);
}

.rental_plan .table_menu table td.color {
    font-size: 15px;
    font-weight: 700;
    background-color: #DEE8E3;
}

.rental_plan .table_menu table th {
    background: var(--main-color);
    padding: 1em .5em;
    text-align: center;
    font-size: 20px;
    letter-spacing: .05em;
    font-weight: 700;
    color: #fff;
    border-left: 1px solid #fff;
    border-radius: 10px 10px 0 0;
}

.rental_plan .table_menu table th:nth-child(1) {
    background-color: transparent;
}

.rental_plan .table_menu table th:nth-child(2) {
    background-color: #B4B4B4;
}

.rental_plan .table_menu table th:nth-child(3) {
    background-color: var(--point-color);
}

.rental_plan .table_menu .attention {
    text-align: right;
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: .05em;
    margin-top: 1em;
}

.rental_plan .option_box {
    margin-top: 50px;
    background-color: #DEE8E3;
    border-radius: 8px;
    padding: 30px 50px;
}

.rental_plan .option_box .title_box {
    display: flex;
    align-items: center;
    gap: 0 1em;
}

.rental_plan .option_box .title_box .label {
    border-radius: 100vmax;
    background-color: var(--main-color);
    width: fit-content;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
    color: #fff;
    padding: .2em 1em;
}

.rental_plan .option_box .title_box .text {
    color: var(--text-color2);
    font-size: 14px;
    letter-spacing: .05em;
}

.rental_plan .option_box .option_menu {
    margin-top: 1em;
}

.rental_plan .option_box .option_menu ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px 15px;
}

.rental_plan .option_box .option_menu ul li {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--text-color2);
    padding-left: 18px;
    white-space: nowrap;
    position: relative;
}

.rental_plan .option_box .option_menu ul li::before {
    content: '';
    position: absolute;
    width: 10px;
    aspect-ratio: 1;
    min-width: 0;
    border-radius: 100%;
    background-color: var(--main-color);
    top: 8px;
    left: 0;
}

.rental_plan .option_box .option_menu ul li small {
    display: inline-block;
}

/* PC固定ページ　採用情報 */
.page_recruit .common_sec_title .title {
    font-size: 32px;
    letter-spacing: .08em;
    font-weight: 700;
    line-height: 1.5;
}

.recruit_message_sec .common_site_title.line::before {
    left: 50%;
    translate: -50% 0%;
}

.recruit_message_sec .catch_box {
    margin-top: 30px;
}

.recruit_message_sec .catch_box .text {
    text-align: center;
    font-size: 24px;
    letter-spacing: .1em;
    font-weight: 700;
}

.recruit_message_sec .catch_box .text .size {
    font-size: 1.2em;
    color: var(--point-color);
}

.recruit_message_sec .message_cont {
    margin-top: 40px;
}

.recruit_message_sec .message_cont .item {
    display: flex;
    justify-content: center;
    gap: 0 40px;
    align-items: center;
    background-color: #f0f8f5;
    padding: 30px;
    width: fit-content;
    margin-inline: auto;
}

.recruit_message_sec .message_cont .item .img {
    width: 300px;
}

.recruit_message_sec .message_cont .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recruit_message_sec .message_cont .item .text_box .name {
    font-size: 20px;
    letter-spacing: .08em;
    font-weight: 700;
    line-height: 1.5;
    color: var(--main-color);
    margin-bottom: 1em;
}

.recruit_message_sec .message_cont .item .text_box .text {
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: .08em;
    color: var(--text-color2);
}

.recruit_message_sec .comment_box {
    margin-top: 30px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    padding: 50px;
    background-color: #fff;
}

.recruit_message_sec .comment_box .text {
    text-align: center;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .08em;
    font-weight: 700;
    color: var(--text-color2);
}

.recruit_message_sec .comment_box .text.line {
    font-size: 1.5em;
    line-height: 1.5;
    margin-block: .6em .5em;
    color: var(--point-color);
}

.recruit_message_sec .cont {
    margin-top: 80px;
}

.recruit_message_sec .cont .inner {
    display: flex;
    gap: 0 60px;
}

.recruit_message_sec .cont .inner+.inner {
    margin-top: 50px;
}

.recruit_message_sec .cont .inner:nth-child(even) {
    flex-direction: row-reverse;
    justify-content: space-between;
}

.recruit_message_sec .cont .inner .img {
    width: 400px;
    flex-shrink: 0;
}

.recruit_message_sec .cont .inner .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.recruit_message_sec .cont .inner .text_box .catch {
    font-size: 24px;
    letter-spacing: .1em;
    position: relative;
    padding-bottom: .4em;
    margin-bottom: .5em;
    color: var(--text-color2);
}

.recruit_message_sec .cont .inner .text_box .catch::before {
    content: '';
    position: absolute;
    width: 80px;
    height: 1px;
    background-color: var(--text-color2);
    bottom: 0;
    left: 0;
}

.recruit_message_sec .cont .inner .text_box .catch .color {
    font-size: 1.2em;
    color: var(--point-color);
}

.recruit_message_sec .cont .inner .text_box .text {
    margin-top: 1em;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: .08em;
}

.recruit_staff_sec {
    padding-top: 150px;
}

.recruit_staff_sec .cont {
    margin-top: 60px;
}

.recruit_staff_sec .cont .inner {
    display: flex;
    gap: 0 50px;
    margin-top: 40px;
}

.recruit_staff_sec .cont .inner .img {
    width: 480px;
    flex-shrink: 0;
}

.recruit_staff_sec .cont .inner .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.recruit_staff_sec .cont .inner .text_box .text {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: .1em;
    color: var(--text-color2);
}

.recruit_staff_sec .cont .inner .text_box .text+.text {
    margin-top: .8em;
}

.recruit_staff_sec .cont .catch {
    background-color: var(--point-color);
    color: #fff;
    font-size: 22px;
    letter-spacing: .05em;
    font-weight: 700;
    padding: .3em 1em;
}

.recruit_staff_sec .cont .item_box {
    margin-top: 40px;
}

.recruit_staff_sec .cont .item_box ul li {
    display: flex;
    gap: 0 60px;
    align-items: center;
}

.recruit_staff_sec .cont .item_box ul li:nth-child(even) {
    flex-direction: row-reverse;
    justify-content: space-between;
}

.recruit_staff_sec .cont .item_box ul li+li {
    margin-top: 20px;
}

.recruit_staff_sec .cont .item_box ul li .img_box {
    width: 150px;
    flex-shrink: 0;
}

.recruit_staff_sec .cont .item_box ul li .img_box .img {
    height: 150px;
}

.recruit_staff_sec .cont .item_box ul li .img_box .img img {
    border-radius: 100%;
    width: 100%;
    aspect-ratio: 1;
    min-width: 0;
    object-fit: cover;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.recruit_staff_sec .cont .item_box ul li .img_box .name {
    margin-top: .6em;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--text-color2);
}

.recruit_staff_sec .cont .item_box ul li .img_box .name .en {
    margin-left: .3em;
    color: #F2F2F2;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1;
    color: #FFF0D6;
    display: block;
}

.recruit_staff_sec .cont .item_box ul li:nth-child(even) .img_box .name .en {
    color: #F2F2F2;
}

.recruit_staff_sec .cont .item_box ul li .text_box {
    background-color: #FFF0D6;
    padding: 30px;
    position: relative;
}

.recruit_staff_sec .cont .item_box ul li .text_box::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1px;
    translate: -100% -50%;
    width: 20px;
    height: 22px;
    background: #FFF0D6;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.recruit_staff_sec .cont .item_box ul li:nth-child(even) .text_box::before {
    background: #F2F2F2;
    left: unset;
    right: 0;
    translate: 99% -50%;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
}

.recruit_staff_sec .cont .item_box ul li:nth-child(even) .text_box {
    background-color: #F2F2F2;
}

.recruit_staff_sec .cont .item_box ul li .text_box .text {
    font-size: 14px;
    letter-spacing: .1em;
    font-weight: 700;
}

.recruit_desc_sec {
    background-color: #FAFAFA;
    padding-block: 120px 130px;
    margin-block: 120px 0;
    position: relative;
}

.recruit_desc_sec::before {
    content: '';
    position: absolute;
    width: 55%;
    height: 100%;
    top: 0;
    right: 0;
    clip-path: polygon(88% 0%, 100% 0%, 100% 100%, 0% 100%);
    background-color: #FAFAFA;
    mix-blend-mode: multiply;
}

.recruit_desc_sec .nav_box {
    background: #fff;
    padding: 25px 10px;
    margin-block: 0 60px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em 0;
    position: relative;
}

.recruit_desc_sec .nav_box ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.recruit_desc_sec .nav_box ul:nth-child(even) {
    border-left: 1px solid var(--sub-color);
}

.recruit_desc_sec .nav_box li+li {
    border-left: 1px solid var(--sub-color);
}

.recruit_desc_sec .nav_box li a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    color: #3E3E3E;
    font-size: 20px;
    letter-spacing: .08em;
    font-weight: 700;
    line-height: 1.5;
    padding: 0.5em;
}

.recruit_desc_sec .nav_box li a::after {
    content: "";
    width: 8px;
    aspect-ratio: 1;
    min-width: 0;
    border: solid currentColor;
    border-width: 2px 2px 0 0;
    rotate: 135deg;
    translate: 0 -0.05em;
}

.recruit_desc_sec .cont {
    margin-top: 2.5em;
    position: relative;
}

.recruit_desc_sec .cont .item {
    background-color: #fff;
    padding: 0 2em;
}

.recruit_desc_sec .cont .item {
    margin-top: 60px;
    padding-block: 80px;
}

.recruit_desc_sec .cont .item .title {
    display: flex;
    align-items: center;
    gap: 0.8em;
    font-size: 24px;
    letter-spacing: .08em;
    font-weight: 700;
    line-height: 1.5;
    margin-block: 0 1.2em;
    color: var(--main-color);
}

.recruit_desc_sec .cont .item .title::before {
    content: "";
    width: 15px;
    aspect-ratio: 1;
    min-width: 0;
    background: var(--main-color);
    flex-shrink: 0;
    display: block;
}

.recruit_desc_sec .cont .item .text_box {
    border: solid var(--sub-color);
    border-width: 1px 0;
    padding-block: 2em;
}

.recruit_desc_sec .cont .item .text_box .text {
    font-size: 15px;
    letter-spacing: .05em;
}

.recruit_desc_sec .cont .item .text_box .text .num {
    background-color: var(--main-color);
    color: #fff;
    letter-spacing: 0;
    padding: .2em .3em;
    font-size: 16px;
    margin-right: .8em;
}

.recruit_desc_sec .cont .item .text_box .text+.text {
    margin-top: 1em;
}

.recruit_desc_sec .cont .item .table_box table {
    width: 100%;
}

.recruit_desc_sec .cont .item .table_box table th,
.recruit_desc_sec .cont .item .table_box table td {
    border: solid var(--sub-color);
    border-width: 1px 0;
    padding: 2em 0.6em;
    letter-spacing: .08em;
    vertical-align: middle;
}

.recruit_desc_sec .cont .item .table_box table th {
    width: 30%;
    font-size: 16px;
    font-weight: 700;
}

.recruit_desc_sec .cont .item .table_box table td {
    font-size: 15px;
    letter-spacing: .08em;
}


/* PCシングルページ　スタッフ */
.single_staff {
    margin-top: 110px;
}

.single_staff .about_sec .inner {
    display: grid;
    grid-template-columns: 490px 1fr;
    align-items: center;
    gap: 125px;
}

.single_staff .about_sec .img {
    position: relative;
    z-index: 0;
}

.single_staff .about_sec .img img {
    width: 100%;
    aspect-ratio: 49/46;
    object-fit: cover;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.single_staff .about_sec .img::before {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--main-color);
    position: absolute;
    top: 10px;
    left: -10px;
    z-index: -1;
}

.single_staff .about_sec .text_box .name_box {
    margin-block: 0 0.5em;
    position: relative;
    z-index: 0;
}

.single_staff .about_sec .text_box .name_box .name {
    font-size: 40px;
    letter-spacing: .08em;
    line-height: 1.5;
    color: var(--text-color2);
}

.single_staff .about_sec .text_box .name_box .en_name {
    color: #EFEFEF;
    font-size: 70px;
    letter-spacing: 0em;
    line-height: 1;
    position: absolute;
    top: -0.55em;
    left: 0;
    z-index: -1;
}

.single_staff .about_sec .text_box .info {
    margin-block: 0 2.3em;
}

.single_staff .about_sec .text_box .info .text {
    font-size: 15px;
    letter-spacing: .08em;
}

.single_staff .about_sec .text_box .info .catch {
    background: #E6E6E6;
    padding: .3em 1em;
    font-size: 20px;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--text-color2);
    margin-bottom: .5em;
}

.single_staff .cont_sec {
    padding-block: 130px 0;
}

.single_staff .cont_sec .item {
    display: flex;
    gap: 100px;
    background-color: #F7F7F7;
    padding: 40px;
    border-radius: 5px;
}

.single_staff .cont_sec .item+.item {
    margin-block: 100px 0;
}

.single_staff .cont_sec .item:nth-child(even) {
    flex-direction: row-reverse;
}

.single_staff .cont_sec .item .img {
    flex-shrink: 0;
    width: 370px;
}

.single_staff .cont_sec .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.single_staff .cont_sec .item .text_box {
    width: 100%;
}

.single_staff .cont_sec .item .text_box .title {
    font-size: 24px;
    letter-spacing: .08em;
    font-weight: 700;
    line-height: 1.5;
    border-left: 6px solid var(--main-color);
    padding-inline: 0.6em 0;
    margin-block: 0 0.8em;
    color: var(--text-color2);
}

.single_staff .cont_sec .item .text_box .text {
    font-size: 16px;
    letter-spacing: .08em;
}

/* PC固定ページ　資料ダウンロード */
.page-id-778 .pc_header,
.page-id-778 .hamburger,
.page-id-778 .common_contact_sec,
.page-id-778 .main_footer .cont,
.page-id-778 .breadcrumb,
.page-id-780 .pc_header,
.page-id-780 .hamburger,
.page-id-780 .common_contact_sec,
.page-id-780 .main_footer .cont,
.page-id-780 .breadcrumb,
.page-id-798 .pc_header,
.page-id-798 .hamburger,
.page-id-798 .common_contact_sec,
.page-id-798 .main_footer .cont,
.page-id-798 .breadcrumb {
    display: none;
}

.page-id-778 .common_page_main,
.page-id-780 .common_page_main,
.page-id-798 .common_page_main {
    margin-top: 0;
}

.request_document_cont {
    display: grid;
    grid-template-columns: 432px 1fr;
    gap: 0 50px;
}

.request_document_cont .image_box .point {
    font-size: 35px;
    font-weight: 700;
    line-height: 1;
    color: var(--point-color);
    letter-spacing: .05em;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0 .6em;
    text-emphasis: filled var(--point-color);
    margin-bottom: 15px;
}

.request_document_cont .image_box .point::before,
.request_document_cont .image_box .point::after {
    content: "";
    width: 3px;
    height: 35px;
    background-color: var(--point-color);
    rotate: 18deg;
}

.request_document_cont .image_box .point::before {
    rotate: -18deg;
}

.request_document_cont .image_box .img img {
    width: 100%;
}

.request_document_cont .title_box {
    margin-top: 15px;
}

.request_document_cont .title_box .label {
    display: inline-block;
    background-color: var(--point-color);
    color: #fff;
    padding: .3em;
    font-size: 30px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0em;
}

.request_document_cont .title_box .title {
    color: var(--point-color);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
    margin-top: .3em;
}

.request_document_cont .title_box .text_box {
    margin-top: 15px;
}

.request_document_cont .title_box .text_box .text {
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
}

.request_document_cont .list_box {
    margin-top: 30px;
}

.request_document_cont .list_box .index {
    font-size: 24px;
    line-height: 1.7;
    letter-spacing: .08em;
    font-weight: 700;
    border-bottom: 2px solid var(--text-color2);
    color: var(--text-color2);
}

.request_document_cont .list_box .list ul li {
    color: var(--text-color2);
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0;
    font-weight: 700;
    list-style: disc;
    margin-left: 23px;
    margin-top: .6em;
}

.request_document_cont .privacy_box {
    margin-top: 60px;
}

.request_document_cont .privacy_term_outer {
    width: 100%;
}

.request_document_cont .common_contact_form .form_box {
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .5);
    overflow: hidden;
    padding-block: 1em;
}

.request_document_cont .common_contact_form input[type="text"],
.request_document_cont .common_contact_form input[type="email"] {
    box-shadow: inset 2px 2px 7px rgba(0, 0, 0, .2);
}

.request_document_cont .common_contact_form select {
    width: 100%;
    appearance: auto;
    -webkit-appearance: auto;
}

.request_document_cont .common_contact_form .form_box dl {
    grid-template-columns: 33% 1fr;
    padding: 1em 1.2em;
}

.request_document_cont .common_contact_form .form_box dl+dl {
    margin-top: 0;
}

/* PCカスタム投稿　管理物件紹介ページ一覧 */
.property_cont_sec .property_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.property_cont_sec .tax_category {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #ccc;
}

.property_cont_sec .tax_category ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.property_cont_sec .tax_category ul li a {
    width: fit-content;
    display: inline-block;
    padding: .2em 2em;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .1em;
    background-color: #fff;
    color: var(--main-color);
    border: 1px solid var(--main-color);
    transition: all .3s;
}

.property_cont_sec .tax_category ul li a:hover {
    background-color: var(--main-color);
    color: #fff;
}

.property_list ul li .link {
    background-color: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    transition: all .3s;
    display: block;
    position: relative;
}

.property_list ul li .link::before {
    content: '';
    width: 12px;
    aspect-ratio: 1;
    min-width: 0;
    position: absolute;
    bottom: 10px;
    right: 10px;
    background-color: var(--main-color);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    z-index: 1;
    transition: all .3s;
}

.property_list ul li .link .img {
    overflow: hidden;
}

.property_list ul li .link .img img {
    width: 100%;
    aspect-ratio: 3/2;
    min-width: 0;
    object-fit: cover;
    transition: all .3s;
}

.property_list ul li .link .text_box {
    padding: 20px 30px;
}

.property_list ul li .link .text_box .ttl_box {
    position: relative;
    padding-bottom: .8em;
}

.property_list ul li .link .text_box .ttl_box::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 1px;
    background-color: var(--text-color);
}

.property_list ul li .link .text_box .title {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--text-color2);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.property_list ul li .link .text_box .access {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: .1em;
    color: #848484;
    margin-top: 1.3em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.property_list ul li .link:hover {
    background-color: #F2F2F2;
}

.property_list ul li .link:hover::before {
    bottom: 5px;
    right: 5px;
}

.property_list ul li .link:hover .img img {
    scale: 1.1;
}

.wp-pagenavi {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 50px;
    gap: 10px;
}

.wp-pagenavi span:first-child {
    width: 60px;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--main-color);
    border-radius: 5px;
    background-color: transparent;
    color: #151515;
}

.wp-pagenavi a {
    transition: background 0.3s, color 0.3s ease 0s;
}

.wp-pagenavi a.first,
.wp-pagenavi a.last {
    width: 60px;
}

.wp-pagenavi a:hover {
    border: 1px solid transparent !important;
    background-color: var(--main-color) !important;
    color: #FFF;
}

.wp-pagenavi span.current {
    border: 1px solid transparent !important;
    background-color: var(--main-color);
    color: #FFF;
}

/* PC詳細ページ　管理物件紹介 */
.single_property .common_page_wrap {
    padding: 100px 0 0;
}

.single_property_main {
    padding-block: 87px 90px;
    position: relative;
    margin-top: 110px;
}

.single_property_main .main_img {
    position: absolute;
    inset: 0;
}

.single_property_main .main_img::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(255, 255, 255, .49);
    backdrop-filter: blur(6px);
}

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

.single_property_main .title_box {
    text-align: center;
    position: relative;
    z-index: 1;
}

.single_property_main .title_box .title {
    font-size: 50px;
    letter-spacing: .1em;
    font-weight: 700;
    line-height: 1.5;
    color: var(--main-color);
}

.single_property .single_title {
    font-size: 25px;
    line-height: 1.5;
    letter-spacing: .1em;
    border-left: 4px solid var(--main-color);
    padding-left: .5em;
}

.single_property .gallery_sec .cont {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}

.single_property .gallery_sec .cont.no_madori {
    justify-content: center;
}

.single_property .gallery_sec .cont.no_madori .main_img {
    width: 100%;
    max-width: 700px;
}

.single_property .gallery_sec .cont .main_img {
    width: 50%;
    flex-shrink: 0;
    height: 520px;
}

.single_property .gallery_sec .cont .main_img img {
    width: 100%;
    height: 100%;
    min-width: 0;
    object-fit: contain;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.single_property .gallery_sec .cont .heading {
    background-color: var(--point-color);
    border-radius: 100vmax;
    padding: .4em 2em;
    font-size: 16px;
    line-height: 1;
    letter-spacing: .08em;
    font-weight: 700;
    display: inline-block;
    color: #fff;
}

.single_property .gallery_sec .cont .slider_box {
    width: 40%;
}

.single_property .gallery_sec .cont .madori_img {
    margin-top: 2em;
}

.single_property .gallery_sec .cont .madori_img .img {
    height: 430px;
}

.single_property .gallery_sec .cont .madori_img .img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background-color: #F2F2F2;
}

.js_img_slider .slick-dots {
    bottom: -40px;
}

.js_img_slider .slick-dots li {
    margin: 0 9px;
}

.js_img_slider .slick-dots li,
.js_img_slider .slick-dots li button {
    width: 15px;
    height: 15px;
    background-color: #D1D1D1;
    border-radius: 100vmax;
}

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

.js_img_slider .slick-dots li.slick-active button {
    border: 1px solid var(--main-color);
    background-color: #fff;
}

.js_img_slider .slick-arrow {
    border-radius: 100vmax;
    background-color: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    width: 62px;
    aspect-ratio: 1;
    min-width: 0;
    position: relative;
    position: absolute;
    top: 50%;
    translate: 0% -50%;
    z-index: 10;
    cursor: pointer;
}

.js_img_slider .slick-arrow::before {
    content: '';
    width: 15px;
    height: 20px;
    position: absolute;
    top: 50%;
    translate: -50% -50%;
    background: url(./image/icon_arrow2.svg) center center / contain no-repeat;
}

.js_img_slider .slick_prev.slick-arrow {
    left: -30px;
}

.js_img_slider .slick_next.slick-arrow {
    left: unset;
    right: -30px;
}

.js_img_slider .slick_prev.slick-arrow::before {
    left: 45%;
}

.js_img_slider .slick_next.slick-arrow::before {
    left: unset;
    right: 25%;
    transform: scale(-1, 1);
}

.single_property .information_sec {
    padding-top: 100px;
}

.single_property .information_sec .table_box {
    margin-top: 40px;
}

.single_property .information_sec .table_box dl:first-child {
    border-top: 1px solid #BFBFBF;
}

.single_property .information_sec .table_box dl {
    border-bottom: 1px solid #BFBFBF;
    display: flex;
}

.single_property .information_sec .table_box dl dt {
    width: 20%;
    flex-shrink: 0;
    background-color: #F7F7F7;
    font-size: 16px;
    letter-spacing: .08em;
    font-weight: 700;
    color: var(--text-color2);
}

.single_property .information_sec .table_box dl dt,
.single_property .information_sec .table_box dl dd {
    padding: 1em 1.5em;
}

.single_property .information_sec .table_box dl dd {
    font-size: 14px;
    letter-spacing: .08em;
    display: grid;
    place-content: center;
}

.single_property .information_sec .table_box dl dd .img360 iframe,
.single_property .information_sec .table_box dl dd .map iframe {
    height: 300px;
    width: 800px;
}

.single_property .recommend_sec {
    margin-top: 100px;
    padding-block: 0 100px;
    background-color: rgba(29, 75, 51, .03);
}

.single_property .property_list {
    margin-top: 30px;
    padding-top: 70px;
}

.single_property .property_list ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    padding-top: 30px;
}

.recommend_sec .category_box {
    padding-top: 70px;
}

.recommend_sec .category_box ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.recommend_sec .category_box ul li a {
    width: fit-content;
    padding: .6em 2em;
    border: 1px solid var(--main-color);
    color: var(--main-color);
    background-color: #fff;
    display: inline-block;
    transition: all .3s;
}

.recommend_sec .category_box ul li a:hover {
    background-color: var(--main-color);
    color: #fff;
}


/* PC固定ページ 共通設定 */
.common_page_main {
    padding-block: 87px 90px;
    position: relative;
    margin-top: 110px;
}

.common_page_main .img {
    position: absolute;
    inset: 0;
}

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

.common_page_main .img::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(255, 255, 255, .49);
    /* backdrop-filter: blur(6px); */
}

.common_page_main .title_box {
    text-align: center;
    position: relative;
}

.common_page_main .title_box .title {
    font-size: 50px;
    letter-spacing: .1em;
    font-weight: 700;
    line-height: 1.5;
    color: var(--main-color);
}

.common_page_wrap {
    padding: 100px 0;
}

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

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

/* パンくず */
.breadcrumb {
    font-size: 12px;
    color: var(--text-color);
    letter-spacing: .05em;
    margin-top: 15px;
}

.breadcrumb a {
    text-decoration: none;
    color: var(--main-color);
}

/* PC固定ページ お問い合わせ */
.contact_form_disc {
    color: #3E3E3E;
    letter-spacing: .08em;
    font-weight: 400;
    text-align: center;
    margin-block: 0 3.8em;
}

.contact_form_disc .text {
    font-size: 16px;
    margin-block: 0 1em;
}

.contact_form_disc .caution {
    font-size: 14px;
}

.common_contact_form .form_box {
    margin-block: 0 50px;
}

.common_contact_form .form_box dl {
    display: grid;
    grid-template-columns: 26.5% 1fr;
    align-items: center;
    gap: 80px;
}

.common_contact_form .form_box dl.start {
    align-items: flex-start;
}

.common_contact_form .form_box dl+dl {
    margin-block: 1.6em 0;
}

.common_contact_form .form_box dl dt {
    display: flex;
    align-items: center;
    gap: 1.3em;
    font-size: 16px;
    letter-spacing: .08em;
    font-weight: 700;
    padding-inline: 0 0.5em;
    position: relative;
}

.common_contact_form .form_box dl dd.cancel_month {
    display: flex;
    gap: 10px;
}

.common_contact_form .form_box dl dd.cancel_month select {
    width: 37%;
}

.common_contact_form .form_box dl dt .label {
    flex-shrink: 0;
    color: #3E3E3E;
    font-size: 12px;
    letter-spacing: .2em;
    font-weight: 700;
    border-radius: 100vmax;
    padding: 0.2em 0.9em;
}

.common_contact_form .form_box dl dt .label.hissu {
    background: #C70000;
    color: #fff;
}

.common_contact_form .form_box dl dt .label.ninni {
    background: #E0E0E0;
}

.common_contact_form .form_box dl .filebox {
    margin-block: .3em;
}

.common_contact_form .form_box .td_list input.number {
    width: 70px;
}

.common_contact_form .form_box .td_list {
    gap: 10px;
}

.contact_check_text.left {
    text-align: left;
}

.contact_check_text {
    text-align: center;
    padding: 1em 2em;
    border: 1px solid #ccc;
    margin-bottom: 1.8em;
}

.contact_check_text .text {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .08em;
}

.contact_check_text.left .text {
    font-size: 15px;
}

.contact_check_text .text.color {
    color: red;
    text-align: center;
    margin-block: .7em;
}

.common_contact_form .form_box dl dt::after {
    content: "";
    content: "";
    width: 1px;
    height: 30px;
    background: #AAA;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.common_contact_form input[type="text"],
.common_contact_form input[type="email"],
.common_contact_form #zip {
    width: 100%;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
    padding: 0.8em 1em;
}

.common_contact_form textarea {
    width: 100%;
    height: 180px;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    padding: 1em;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
}

.common_contact_form input::placeholder,
.common_contact_form textarea::placeholder {
    color: #C7C4C4;
}

.common_contact_form select {
    width: 47.5%;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: .08em;
    padding: 1.1em 1em;
}

.common_contact_form select.empty {
    color: #C7C4C4;
}

.page_contact #btn_wrap {
    justify-content: center;
    text-align: right;
    width: 74%;
    margin: auto;
}

.page_contact #btn_wrap button {
    background-color: var(--main-color);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 310px;
    line-height: 60px;
    font-size: 18px;
    font-weight: 900;
    transition: .3s;
    text-align: center;
    letter-spacing: .08em;
    margin: auto;
}

.page_contact #btn_wrap button[name="submitBack"] {
    background: #333;
    margin-top: 20px;
}

.page_contact #btn_wrap button:hover {
    opacity: .8;
}

.privacy_term_outer .privacy_term_inner {
    height: 138px;
    margin: auto;
    overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
    font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
    font-size: 13px;
    margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner .title {
    margin-bottom: .3em;
    font-size: 15px;
}

.privacy_term_outer .privacy_term_inner dl dt {
    font-size: 13px;
    border-left: solid 3px var(--main-color);
    padding-left: 1em;
    margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
    font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl+dl {
    margin-top: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
    width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
    background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
    background-color: #333;
    border-radius: 10px;
}

.privacy_term_outer {
    border-top: solid 1px #e3e3e3;
    padding: 30px 0;
    border-bottom: solid 1px #e3e3e3;
    width: 60%;
    margin: 0 auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
    padding-right: 0;
}

.privacy_check_list .error {
    font-size: 12px;
}

.privacy_term_detail {
    text-align: center;
    font-size: 13px;
    margin: 20px 0;
    position: relative;
    font-weight: 600;
}

.privacy_term_detail::after {
    content: "";
    margin: 5px auto 0;
    border: solid #333;
    border-width: 2px 2px 0 0;
    width: 10px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    rotate: 135deg;
    display: block;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
    display: none;
}

/* ラジオボタン デザイン */
.radio_btns,
.checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5em;
    padding: .5em 0;
}

/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
    display: none;
}

.radio_btns label {
    display: inline-block;
    cursor: pointer;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item+span {
    color: #3E3E3E;
    font-size: 15px;
    letter-spacing: .08em;
    font-weight: 600;
    padding-left: 2em;
    display: inline-block;
    position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item+span::before,
.radio_btns .radio_btns__item+span::after {
    content: '';
    display: block;
    position: absolute;
    border: 1px solid #E6E6E6;
    background: #F8F8F8;
    border-radius: 50%;
    width: 20px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item+span::after {
    width: 10px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0px;
    left: 5px;
    border: none;
    background: #5A5A5A;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    transition: all .3s;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked+span::after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

/* チェックボックス デザイン */
.page_contact input[type="checkbox"] {
    /* デフォルトcheckボックス非表示*/
    display: none;
}

.mwform-checkbox-field label {
    cursor: pointer;
}

.mwform-checkbox-field-text {
    color: #3E3E3E;
    font-size: 15px;
    letter-spacing: .08em;
    font-weight: 600;
    display: inline-block;
    position: relative;
    padding: 0 0 0 30px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    display: block;
}

.mwform-checkbox-field-text::before {
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 2px;
    width: 20px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 3px;
    border-color: transparent transparent #333 #333;
    border-style: solid;
    width: 20px;
    aspect-ratio: 2/1;
    min-width: 0;
    margin-top: -0.2em;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
    opacity: 1;
}

.mw_wp_form .horizontal-item {
    display: inline-block;
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0 !important;
}

/* サンクスページ */

.page_contact .thanks_textArea .name {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    margin-bottom: 20px;
}

.page_contact .thanks_textArea .contact_text {
    margin: 0 auto 50px;
    width: 62%;
}

.page_contact .thanks_textArea .ichiran_link {
    background-color: var(--main-color);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 4px;
    font-size: 16px;
    transition: .3s;
    margin: 0 auto;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: .08em;
    text-align: center;
}

.page_contact .thanks_textArea .ichiran_link:hover {
    opacity: .8;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
    margin-top: 10px;
}

/* ステップバー デザイン */
.page_contact .progressbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5.6em;
    margin-block: 0 3em;
}

.page_contact .progressbar .item {
    color: #3E3E3E;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
    text-align: center;
    line-height: 1.5;
    position: relative;
}

.page_contact .progressbar .item+.item::before {
    content: "";
    width: 50px;
    height: 1px;
    background: #E6E6E6;
    position: absolute;
    top: 64%;
    left: -5em;
}

.page_contact .progressbar .item .mark {
    width: 36px;
    aspect-ratio: 1;
    background: #fff;
    border: 1px solid #AFAFAF;
    border-radius: 50%;
    display: block;
    margin: 0 auto 0.5em;
    position: relative;
}

.page_contact .progressbar .item .mark::before {
    content: "";
    width: 41%;
    aspect-ratio: 1;
    background: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    opacity: 0;
}

.page_contact .progressbar .item.active .mark::before {
    opacity: 1;
}

.page_contact .progressbar .item .en {
    display: block;
    color: #A7A7A7;
    letter-spacing: 0;
    font-family: 'Helvetica', 'Arial', sans-serif;
}

.privacy_check_list {
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.privacy_check_list .hissu {
    background: #c70200;
    color: #fff;
    padding: 2px 15px;
    font-size: 10px;
    letter-spacing: .08em;
    border-radius: 30px;
    font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
    margin: 0;
}

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

.p-authorBox .avatar {
    display: inline;
}

/* PC固定ページ　個人情報保護方針・勧誘方針 */
.privacy_cont_sec .title {
    font-size: 32px;
    letter-spacing: .1em;
    color: var(--main-color);
    text-align: center;
    margin-bottom: 1em;
}

.privacy_cont_sec .main_text {
    font-size: 16px;
    letter-spacing: .07em;
    font-weight: 700;
    line-height: 1.8;
    border-bottom: 1px solid var(--text-color);
    padding-bottom: 50px;
    margin-bottom: 45px;
}

.privacy_cont_sec .main_text.bottom {
    border-top: 1px solid var(--text-color);
    border-bottom: none;
    margin-top: 60px;
    padding-top: 30px;
    padding-bottom: none;
    margin-bottom: 0;
}

.privacy_cont_sec dl+dl {
    margin-block: 40px 0;
}

.privacy_cont_sec dl dt {
    font-size: 18px;
    letter-spacing: .07em;
    font-weight: 700;
    line-height: 1.5;
    border-left: 4px solid var(--main-color);
    padding-inline: 0.8em 0;
    margin-block: 0 0.7em;
}

.privacy_cont_sec dl dd {
    font-size: 14px;
    letter-spacing: .07em;
    line-height: 1.8;
}

.privacy_cont_sec ol {
    list-style: decimal;
    margin-left: 20px;
}

.privacy_cont_sec ol li {
    font-size: 14px;
    letter-spacing: .07em;
    line-height: 1.8;
}

.privacy_cont_sec ol li+li {
    margin-top: 2em;
}

body.archive .l-content,
body.wp-singular .l-content {
    padding-top: 190px !important;
}

@media (max-width: 750px) {

    body.archive .l-content,
    body.wp-singular .l-content {
        padding-top: 15vw !important;
    }

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

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

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

    body {
        font-size: 13px;
        padding-top: 60px;
        min-width: 100%;
    }

    main#main_content {
        margin: 0 auto 15vw;
        width: 90%;
    }

    .p-articleThumb {
        height: 60vw;
    }


    /* SPヘッダー */
    #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
        z-index: 1000;
        height: 60px;
    }

    #sp_header .logo {
        position: absolute;
        left: 20px;
        top: 12px;
        line-height: 0;
    }

    #sp_header .logo img {
        height: 36px;
    }

    #sp_header .medal_box {
        display: flex;
        gap: 6px;
        position: absolute;
        left: 115px;
        top: 12px;
    }

    #sp_header .medal_box .medal {
        width: 70px;
    }

    #sp_header .medal_box .medal img {}

    /* 共通ボタン */
    .common_site_btn .btn {
        width: 100%;
        min-block-size: 15vw;
        font-size: 3.8vw;
    }

    .common_site_btn .btn::after {
        width: 2vw;
    }

    .common_site_btn .btn:hover {
        background-color: #fff;
        color: var(--main-color);
    }

    .common_site_btn .btn:hover::after {
        border-color: var(--main-color);
    }

    .top_faq_sec .common_site_btn .btn {
        width: 100%;
    }

    /* 追従 */
    .pc_follow_box {
        display: none;
    }

    .sp_follow_box {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: auto;
        background-color: #fff;
        border-radius: 10px 10px 0 0;
        box-shadow: 0 -3px 6px rgba(0, 0, 0, .16);
        z-index: 100;
    }

    .sp_follow_box .sub_text {
        font-size: 16px;
        letter-spacing: .04em;
        font-weight: 700;
        text-align: center;
        color: var(--main-color);
        padding: .3em;
    }

    .sp_follow_box .menu_list {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0 3px;
    }

    .sp_follow_box .menu_list .link {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        gap: 7px 0;
        padding-block: 5px 8px;
    }

    .sp_follow_box .menu_list .link.tel {
        background-color: #8E8E8E;
        padding-top: 13px;
    }

    .sp_follow_box .menu_list .link.contact {
        background-color: var(--main-color);
        padding-top: 18px;
    }

    .sp_follow_box .menu_list .link.request {
        background-color: var(--point-color);
        padding-top: 8px;
    }

    .sp_follow_box .menu_list .link.line {
        background-color: #49C755;
    }

    .sp_follow_box .menu_list .link .text {
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .05em;
        line-height: 1;
        color: #fff;
    }

    .sp_follow_box .menu_list .link.tel .icon {
        width: 21px;
    }

    .sp_follow_box .menu_list .link.contact .icon {
        width: 32px;
    }

    .sp_follow_box .menu_list .link.request .icon {
        width: 27px;
    }

    .sp_follow_box .menu_list .link.line .icon {
        width: 41px;
    }

    .sp_follow_box .menu_list .link .icon img {
        width: 100%;
    }


    /* SP トップFV */
    .top_fv {
        padding-block: 20vw;
    }

    .top_fv::before {
        width: 65vw;
        height: 98vw;
        position: absolute;
        top: unset;
        bottom: 0;
        right: 0px;
        background: none;
        background-color: rgba(29, 75, 51, .9);
        mix-blend-mode: multiply;
        clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    }

    .top_fv .inner {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 7vw 0;
    }

    .top_fv .cont {
        margin-bottom: 0;
        width: 100%;
    }

    .top_fv .cont .h1_box .sub {
        display: block;
        font-size: 5vw;
        text-align: center;
    }

    .top_fv .cont .h1_box .sub::after {
        display: none;
    }

    .top_fv .cont .h1_box .h1_text {
        font-size: 10vw;
        line-height: 1.3;
        letter-spacing: .05em;
        text-align: center;
        margin-top: .4em;
    }

    .top_fv .cont .h1_box .h1_text .small {
        font-size: 7.5vw;
    }

    .top_fv .cont .h1_box .catch {
        font-size: 5.3vw;
        text-align: center;
    }

    .top_fv .cont .h1_box .catch .bg {
        display: inline-block;
        text-align: center;
        padding: .4em .7em;
    }

    .top_fv .cont .h1_box .catch .bg .small {
        font-size: .8em;
    }

    .top_fv .cont .h1_box .catch .bg+.bg {
        margin-top: .2em;
    }

    .top_fv .cont .medal_box {
        margin-top: 5vw;
        grid-template-columns: repeat(2, 38vw);
        justify-content: center;
        gap: 0 4vw;
    }

    .top_fv .cont .medal_box .medal:first-child {
        width: 100%;
    }

    .top_fv .cont .medal_box .medal:last-child {
        width: 100%;
    }

    .top_fv .cont .notes_text {
        font-size: 3.2vw;
    }

    .top_fv .cont .info_box {
        display: none;
    }

    .fv_form_pc {
        display: none;
    }

    .top_fv .fv_form_sp {
        background-color: #fff;
        box-shadow: 0 0 10px rgba(0, 0, 0, .5);
        padding: 5vw;
        border-radius: 5px;
    }

    .top_fv .fv_form_sp .text_area .ttl_box {
        display: flex;
        align-items: center;
        gap: 0 2vw;
        margin-bottom: 2vw;
    }

    .top_fv .fv_form_sp .text_area .ttl_box .icon {
        width: 10vw;
        flex-shrink: 0;
    }

    .top_fv .fv_form_sp .text_area .ttl_box .icon img {
        width: 100%;
    }

    .top_fv .fv_form_sp .text_area .ttl_box .text {
        font-size: 3.4vw;
        line-height: 1.3;
        letter-spacing: .04em;
        font-weight: 700;
        color: var(--text-color2);
    }

    .top_fv .fv_form_sp .text_area .ttl_box .text .color {
        font-size: 5.3vw;
        color: var(--point-color);
    }

    .top_fv .fv_form_sp .text_area .btn {
        display: block;
        min-block-size: 13vw;
        display: grid;
        place-content: center;
        color: #fff;
        font-size: 3.6vw;
        line-height: 1;
        letter-spacing: 0;
        font-weight: 700;
        position: relative;
        background-color: var(--point-color);
    }

    .top_fv .fv_form_sp .text_area .btn::before {
        content: '';
        width: 1.5vw;
        aspect-ratio: 1;
        position: absolute;
        top: 50%;
        right: 20px;
        translate: 0% -50%;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        rotate: -45deg;
    }

    .top_fv .fv_form_sp .info_box {
        margin-top: 5vw;
        padding-top: 3vw;
        border-top: 1px solid var(--text-color2);
    }

    .top_fv .fv_form_sp .info_box .heading {
        text-align: center;
        font-size: 5vw;
        letter-spacing: 0;
        font-weight: 700;
        color: var(--main-color);
    }

    .top_fv .fv_form_sp .info_box .text_box .text {
        font-size: 3vw;
        letter-spacing: 0;
        font-weight: 700;
        line-height: 1.5;
        color: var(--text-color2);
        text-align: center;
    }

    .top_fv .fv_form_sp .info_box .tel_box {
        margin-top: 3vw;
    }

    .top_fv .fv_form_sp .info_box .tel_box .tel {
        display: flex;
        gap: 0 2vw;
        align-items: baseline;
        justify-content: center;
        font-size: 7.5vw;
        line-height: 1;
        letter-spacing: 0;
        font-weight: 700;
        color: var(--text-color2);
    }

    .top_fv .fv_form_sp .info_box .tel_box .tel::before {
        content: '';
        flex-shrink: 0;
        width: 9vw;
        aspect-ratio: 3/2;
        min-width: 0;
        background: url(./image/icon_dial.svg) center center / contain no-repeat;
    }

    .top_fv .fv_form_sp .info_box .tel_box .time {
        text-align: center;
        color: var(--text-color2);
        font-size: 3vw;
        letter-spacing: 0;
        font-weight: 700;
        margin-top: .3em;
    }

    /* SPトップ　オーナー様へ */
    .top_owner_sec {
        padding-block: 10vw 0;
    }

    .top_owner_sec::before {
        width: 100%;
        height: 100%;
        clip-path: polygon(100% 0, 0 0, 100% 100%);
    }

    .top_owner_sec::after {
        width: 100%;
        height: 520px;
        clip-path: polygon(100% 0, 0 100%, 100% 100%);
    }

    /* SP トップお知らせ */
    .news_sec {
        display: block;
    }

    .common_news_list ul li .link {
        padding-block: 0 3vw;
        border-width: 0 0 1px;
        border-color: var(--text-color2);
        border-style: dashed;
        flex-direction: column;
        align-items: flex-start;
        gap: 1vw 0;
    }

    .common_news_list ul li .link .date {
        font-size: 3.3vw;
        background-color: #8D806A;
        padding: .6em 1.3em .5em;
    }

    .common_news_list ul li .link .ttl {
        font-size: 4vw;
        color: var(--text-color2);
        padding-right: 8vw;
    }

    .common_news_list ul li .link .ttl::before {
        width: 3vw;
        right: 1vw;
    }

    .common_news_list ul li .link .ttl:hover::before {
        opacity: 1;
    }

    .common_news_list ul li .link:hover .ttl {
        opacity: 1;
    }

    .common_site_title .sub_text {
        font-size: 4.2vw;
    }

    .common_site_title .title {
        font-size: 6.2vw;
    }

    .common_site_title.line::before {
        width: 15vw;
    }

    .common_lead_box .text {
        font-size: 3.6vw;
    }

    .common_lead_box .text+.text {
        margin-top: 1em;
    }

    /* SPトップ　３つのこと */
    .top_owner_sec .cont {
        margin-top: 8vw;
    }

    .top_owner_sec .item_list {
        margin-top: 4vw;
    }

    .top_owner_sec .item_list ul {
        grid-template-columns: repeat(1, 100%);
        gap: 4vw 0;
    }

    .top_owner_sec .item_list ul li .img {
        height: 32vw;
    }

    .top_owner_sec .item_list ul li .img img {
        object-position: top;
    }

    .top_owner_sec .item_list ul li .text_box {
        padding: 5vw 5vw 6vw;
    }

    .top_owner_sec .item_list ul li .text_box .heading {
        font-size: 5vw;
    }

    .top_owner_sec .item_list ul li .text_box .text {
        font-size: 3.5vw;
    }

    .top_owner_sec .item_list ul li .text_box .small {
        font-size: 3vw;
        margin-top: 3vw;
    }

    .top_owner_sec .worries_box {
        margin-top: 20vw;
    }

    .top_owner_sec .worries_box .item_box {
        margin-top: 5vw;
        position: relative;
        z-index: 1;
    }

    .top_owner_sec .worries_box .item_box ul {
        grid-template-columns: repeat(1, 100%);
        gap: 0;
    }

    .top_owner_sec .worries_box .item_box ul li+li {
        border-top: 1px solid #D6D6D6;
    }

    .top_owner_sec .worries_box .item_box ul li {
        filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .16));
    }

    .top_owner_sec .worries_box .item_box ul li:last-child .inner {
        clip-path: polygon(100% 0, 100% 83%, 50% 100%, 0 83%, 0 0);
    }

    .top_owner_sec .worries_box .item_box ul li .inner {
        clip-path: none;
        padding: 8vw 9vw 10vw;
    }

    .top_owner_sec .worries_box .item_box ul li .label {
        gap: 0 2vw;
        font-size: 4.8vw;
        line-height: 1.4;
        padding-bottom: 0;
        margin-left: 5vw;
    }

    .top_owner_sec .worries_box .item_box ul li .label::before {
        width: 12vw;
    }

    .top_owner_sec .worries_box .item_box ul li .label::after {
        display: none;
    }

    .top_owner_sec .worries_box .item_box ul li .text_box {
        margin-top: 4vw;
    }

    .top_owner_sec .worries_box .item_box ul li .text_box .text {
        font-size: 3.4vw;
    }

    /* SPトップ　解決セクション */
    .top_cta_sec {
        margin-top: -15vw;
        padding-bottom: 10vw;
    }

    .top_cta_sec::before {
        display: none;
    }

    .top_cta_sec .cont {
        flex-direction: column-reverse;
        gap: 8vw 0;
    }

    .top_cta_sec .cont .img {
        width: 100vw;
        margin-right: 0;
    }

    .top_cta_sec .cont .img img {
        height: 50vw;
        clip-path: none;
        object-position: top;
    }

    .top_cta_sec .cont .img::before {
        display: none;
    }

    .top_cta_sec .common_site_title .title {
        font-size: 6.2vw;
    }

    .top_cta_sec .common_site_title.line::before {
        width: 20vw;
    }

    .top_cta_sec .common_lead_box {
        margin-top: 6vw;
    }

    .top_cta_sec .common_lead_box .point {
        font-size: 6.5vw;
        line-height: 1.4;
    }

    .top_cta_sec .cont .box {
        margin-right: 0;
    }

    /* SPトップ　特徴セクション */
    .top_feature_sec {
        padding-top: 25vw;
    }

    .top_feature_sec .item_box {
        margin-top: 6vw;
    }

    .top_feature_sec .item_box ul {
        grid-template-columns: repeat(1, 100%);
        border-radius: 0;
    }

    .top_feature_sec .item_box ul li {
        border: none;
        border-bottom: 2px solid #fff;
    }

    .top_feature_sec .item_box ul li:last-child {
        border-bottom: none;
    }

    .top_feature_sec .item_box ul li::before {
        content: '';
        width: 3vw;
        aspect-ratio: 1;
        min-width: 0;
        bottom: unset;
        background-color: transparent;
        clip-path: none;
        z-index: 1;
        content: '';
        top: 50%;
        right: 7vw;
        translate: 0% -50%;
        border-bottom: 2px solid #fff;
        border-right: 2px solid #fff;
        rotate: -45deg;
    }

    .top_feature_sec .item_box ul li .link {
        height: auto;
        justify-content: flex-start;
        padding: 7vw 8vw;
    }

    .top_feature_sec .item_box ul li .link .img::before {
        backdrop-filter: blur(9px);
        background-color: rgba(0, 0, 0, .65);
    }

    .top_feature_sec .item_box ul li .link:hover .img::before {
        backdrop-filter: blur(9px);
        background-color: rgba(0, 0, 0, .65);
    }

    .top_feature_sec .item_box ul li .link .text_box {
        display: flex;
        gap: 0 5vw;
        align-items: center;
    }

    .top_feature_sec .item_box ul li .link .text_box .num {
        font-size: 5.5vw;
    }

    .top_feature_sec .item_box ul li .link .text_box .ttl {
        font-size: 4.5vw;
    }

    /* SPトップ　プランについて */
    .top_plan_sec {
        padding-block: 20vw;
    }

    .top_plan_sec .cont {
        display: block;
    }

    .top_plan_sec .cont .img {
        display: none;
    }

    .top_plan_sec .common_site_title .title {
        text-align: center;
    }

    .top_plan_sec .common_site_title.line::before {
        left: 50%;
        translate: -50% 0%;
    }

    .top_plan_sec .cont .common_lead_box {
        margin-top: 5vw;
        text-align: center;
    }

    .top_plan_sec .cont .list {
        margin-top: 6vw;
    }

    .top_plan_sec .cont .list ul li+li {
        margin-top: 0;
    }

    .top_plan_sec .cont .list ul li {
        display: flex;
        align-items: center;
        font-size: 5.3vw;
        padding-left: 0;
        padding-top: 0;
        border-left: none;
        border-bottom: 1px dashed var(--main-color);
        padding: 4vw 0;
    }

    .top_plan_sec .cont .list ul li:first-child {
        padding: 0 0 4vw;
    }

    .top_plan_sec .cont .list ul li .en {
        display: inline-block;
        background-color: var(--main-color);
        padding: .5em 2em;
        font-size: 3.6vw;
        line-height: 1;
        letter-spacing: .1em;
        font-weight: 700;
        color: #fff;
        clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0 100%, 0 0);
        margin-right: 3vw;
    }

    .top_plan_sec .btn_box .point {
        font-size: 3.4vw;
        margin: 8vw auto -8px;
    }

    .top_plan_sec .btn_box .btn {
        width: 90vw;
        min-block-size: 15vw;
        font-size: 4.5vw;
    }

    .top_plan_sec .btn_box .btn:hover {
        background-color: var(--main-color);
    }

    /* SPトップ　オーナー様からの推薦の声 */
    .top_voice_sec {
        padding-top: 10vw;
    }

    .top_voice_sec::before {
        display: none;
    }

    .top_voice_sec .bg {
        height: 80vw;
    }

    .top_voice_sec .bg::before {
        width: 40vw;
        height: 70%;
        clip-path: polygon(0 0, 0% 100%, 100% 0);
    }

    .top_voice_sec .common_voice_list {
        margin-top: 10vw;
    }

    .common_voice_list.active ul {
        display: flex;
        gap: 0 5vw;
        overflow-x: scroll;
        padding-bottom: 2vw;
    }

    .common_voice_list.active ul li .link {
        width: 75vw;
        flex-shrink: 0;
        background-color: #F6F7F7;
        box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
        flex-direction: column;
        margin-inline: 0;
    }

    .common_voice_list.active ul li .link .text_box {
        padding: 38px 30px 40px;
        transition: all .3s;
    }

    .common_voice_list.js_voice_slider ul li.slick-slide .link {
        width: 80vw;
        margin-inline: 2.5vw;
        flex-direction: column;
    }

    .common_voice_list.active ul li .link .img,
    .common_voice_list ul li .link .img {
        width: 100%;
    }

    .common_voice_list.active ul li .link .img img,
    .common_voice_list ul li .link .img img {
        aspect-ratio: 3/2;
        min-width: 0;
    }

    .common_voice_list.active ul li .link .text_box,
    .common_voice_list ul li .link .text_box {
        padding: 6vw 4vw 7vw;
    }

    .common_voice_list.active ul li .link .title_box,
    .common_voice_list ul li .link .title_box {
        margin-bottom: 5vw;
        padding-bottom: 4vw;
    }

    .common_voice_list.active ul li .link .title_box::before,
    .common_voice_list ul li .link .title_box::before {
        width: 15vw;
        left: 50%;
        translate: -50% 0%;
    }

    .common_voice_list.active ul li .link .title,
    .common_voice_list ul li .link .title {
        font-size: 5vw;
        text-align: center;
    }

    .common_voice_list.active ul li .link .content,
    .common_voice_list ul li .link .content {
        font-size: 3.4vw;
    }

    .js_voice_slider ul .slick_next.slick-arrow,
    .js_voice_slider ul .slick_prev.slick-arrow {
        display: none !important;
    }

    .js_voice_slider ul .slick-dots {
        display: flex;
        bottom: -30px;
    }

    .js_voice_slider ul .slick-dots li {
        margin: 0;
    }

    .js_voice_slider ul .slick-dots li,
    .js_voice_slider ul .slick-dots li button {
        width: 100%;
        height: 5px;
        border-radius: 0;
        padding: 0;
        background-color: #EFEFEF;
    }

    .js_voice_slider ul .slick-dots li.slick-active button {
        border: none;
        background-color: var(--main-color);
    }

    /* SPトップ　改善事例 */
    .top_case_sec {
        padding-top: 20vw;
    }

    .top_case_sec .common_site_btn {
        margin-top: 15vw;
    }

    .common_case_area .category_select {
        margin-inline: auto;
        width: 90%;
        position: relative;
    }

    .common_case_area .category_select::before {
        content: '';
        width: 2vw;
        aspect-ratio: 1;
        position: absolute;
        top: 50%;
        right: 30px;
        border-right: 2px solid var(--text-color);
        border-bottom: 2px solid var(--text-color);
        rotate: 45deg;
    }

    .common_case_area .category_select select {
        border-radius: 5px;
        background-color: #F6F7F7;
        border: 1px solid #DEDEDE;
        width: 100%;
        margin-block: 8vw 5vw;
        font-size: 3.8vw;
        font-weight: 700;
        letter-spacing: .05em;
        line-height: 1;
        padding: 4vw 15vw 4vw 8vw;
    }

    .common_case_area .category_list ul li {
        border-radius: 5px;
        width: 35vw;
        font-size: 3.5vw;
    }

    .common_case_area .common_case_list ul.tab_content {
        display: none;
        position: relative;
    }

    .common_case_area .common_case_list ul.tab_content.show {
        display: block;
    }

    .common_case_area .common_case_list {
        height: unset;
    }

    .common_case_list ul li .link {
        width: 80vw;
    }

    .common_case_list ul li.slick-slide {
        margin-inline: 3vw;
    }

    .common_case_list .js_case_slider li .link:hover {
        background-color: #fff;
    }

    .common_case_list ul li .link .img img {
        height: 40vw;
    }

    .common_case_list ul li .link .box {
        padding: 5vw 5vw 7vw;
    }

    .common_case_list ul li .link .text_box .ttl_box::before {
        width: 15vw;
    }

    .common_case_list ul li .link .text_box .ttl {
        font-size: 4vw;
    }

    .common_case_list ul li .link .text_box .content {
        font-size: 3.4vw;
    }

    .common_case_list ul li .link .category_box {
        margin-top: 5vw;
        gap: 1vw;
    }

    .common_case_list ul li .link .category_box .cat {
        border-radius: 5px;
        font-size: 3vw;
    }

    .js_case_slider .slick-dots {
        bottom: -30px;
        display: flex;
    }

    .js_case_slider .slick-dots li,
    .js_case_slider .slick-dots li button {
        width: 100%;
        height: 5px;
        border-radius: 0;
        padding: 0;
        background-color: #EFEFEF;
    }

    .js_case_slider .slick-dots li {
        margin: 0;
    }

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

    .js_case_slider .slick-dots li.slick-active button {
        border: none;
        background-color: var(--main-color);
    }

    /* SPトップ　クライフについて*/
    .top_about_sec {
        padding-block: 20vw;
    }

    .top_about_sec .wrap::before {
        height: 150vw;
        bottom: unset;
        top: 17vw;
    }

    .top_about_sec .cont {
        grid-template-columns: 100%;
        gap: 8vw 0;
    }

    .top_about_sec .cont .text_box {
        margin-top: 8vw;
    }

    .top_about_sec .cont .text_box .text {
        font-size: 3.6vw;
    }

    .top_about_sec .cont .link_box ul li .link {
        padding-block: 4vw;
        gap: 0 5vw;
    }

    .top_about_sec .cont .link_box ul li .link .ttl {
        gap: 0 4vw;
        font-size: 4.2vw;
    }

    .top_about_sec .cont .link_box ul li .link:hover .ttl {
        color: var(--main-color);
    }

    .top_about_sec .cont .link_box ul li .link .ttl::before {
        width: 9vw;
        height: 9.5vw;
        margin-left: 0;
    }

    .top_about_sec .cont .link_box ul li .link:hover .ttl::before {
        background: url(./image/icon_rudder2.svg) center center / contain no-repeat;
    }

    .top_about_sec .cont .link_box ul li .link:hover .arrow svg {
        fill: var(--main-color);
    }

    /* SPトップ　クライフのクルー紹介 */
    .top_crew_sec {
        background-color: #F6F7F7;
        padding-block: 20vw;
    }

    .top_crew_sec .common_crew_list {
        margin-top: 6vw;
    }

    .top_crew_sec .common_crew_list ul {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: scroll;
        padding-bottom: 8vw;
        gap: 0 5vw;
        width: 95vw;
    }

    .top_crew_sec .common_crew_list ul::-webkit-scrollbar {
        height: 5px;
    }

    .top_crew_sec .common_crew_list ul::-webkit-scrollbar-track {
        background-color: #fff;
    }

    .top_crew_sec .common_crew_list ul::-webkit-scrollbar-thumb {
        background-color: var(--main-color);
    }

    .top_crew_sec .common_crew_list ul li .link {
        width: 65vw;
    }

    .top_crew_sec .common_crew_list ul li .link .img img {
        height: 75vw;
    }

    .common_crew_list ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 5vw 3vw;
    }

    .common_crew_list ul li .link {
        width: 100%;
    }

    .common_crew_list ul li .link .img img {
        height: 70vw;
    }

    .common_crew_list ul li .link:hover .img img {
        scale: 1;
    }

    .common_crew_list ul li .link .text_box {
        margin-top: 3vw;
    }

    .common_crew_list ul li .link .title_box {
        font-size: 4.3vw;
    }

    .common_crew_list ul li .link .en {
        font-size: 3.2vw;
    }

    .top_crew_sec .common_site_btn {
        display: none;
    }

    /* SPトップ　その他の事業について */
    .top_service_sec {
        padding-block: 22vw 30vw;
    }

    .top_service_sec .item_list {
        margin-top: 6vw;
    }

    .top_service_sec .item_list ul {
        display: flex;
        gap: 0 4vw;
        overflow-x: scroll;
        padding: 8px 8px 8vw 10px;
        width: 95vw;
    }

    .top_service_sec .item_list ul::-webkit-scrollbar {
        height: 5px;
    }

    .top_service_sec .item_list ul::-webkit-scrollbar-track {
        background-color: #EFEFEF;
    }

    .top_service_sec .item_list ul::-webkit-scrollbar-thumb {
        background-color: var(--main-color);
    }

    .top_service_sec .item_list ul li .link {
        width: 60vw;
    }

    .top_service_sec .item_list ul li .link .box {
        padding: 5vw 5vw 6vw;
    }

    .top_service_sec .item_list ul li .link .text_box .ttl {
        margin-block: 4vw;
        font-size: 4.2vw;
    }

    .top_service_sec .item_list ul li .link .text_box .ttl::after {
        width: 20vw;
    }

    .top_service_sec .item_list ul li .link .text_box .text {
        font-size: 3.5vw;
    }

    .top_service_sec .item_list ul li .link .label_box {
        min-block-size: 12vw;
        background-color: var(--main-color);
    }

    .top_service_sec .item_list ul li .link:hover .label_box {
        background-color: var(--main-color);
    }

    .top_service_sec .item_list ul li .link .label_box .label {
        font-size: 3.6vw;
        padding-right: 2vw;
        color: #fff;
    }

    .top_service_sec .item_list ul li .link .label_box::after {
        width: 1.8vw;
        border-color: #fff;
    }

    /* SPトップ　クライフ航海記 */
    .top_archive_sec {
        padding-block: 20vw;
    }

    .top_archive_sec .common_site_title {
        width: 100%;
        padding-block: 2vw 5vw;
    }

    .top_archive_sec .common_archive_box {
        margin-top: 5vw;
        grid-template-columns: repeat(1, 100%);
    }

    .top_archive_sec .common_archive_box .common_archive_list.column {
        padding-right: 0;
        border-right: none;
        border-bottom: 1px solid var(--text-color2);
        padding-bottom: 10vw;
        margin-bottom: 8vw;
    }

    .top_archive_sec .common_archive_box .common_archive_list.blog {
        padding-left: 0;
    }

    .common_archive_list .title_box {
        gap: 0 2vw;
        justify-content: center;
        margin-bottom: 5vw;
    }

    .common_archive_list.column .title_box .icon {
        width: 10vw;
    }

    .common_archive_list.blog .title_box .icon {
        width: 8vw;
    }

    .common_archive_list .title_box .title {
        font-size: 5vw;
    }

    .common_archive_list ul li .link {
        align-items: flex-start;
        flex-direction: column;
        gap: 1.5vw 0;
        padding-block: 4vw;
    }

    .common_archive_list ul li .link::after {
        top: 65%;
    }

    .common_archive_list ul li .link:hover {
        opacity: 1;
    }

    .common_archive_list ul li .link .date {
        font-size: 3vw;
    }

    .common_archive_list ul li .link .title {
        font-size: 3.8vw;
        margin-right: 6vw;
    }

    .common_archive_list .btn .link {
        margin: 8vw auto 0;
        width: 60vw;
        min-block-size: 12vw;
        font-size: 3.6vw;
        padding-right: 3vw;
    }

    .common_archive_list .btn .link:hover {
        background-color: var(--point-color);
        color: #fff;
    }

    .common_archive_list.column .btn .link:hover {
        background-color: var(--sub-color);
        color: #fff;
    }

    .common_archive_list .btn .link:hover::after {
        border-color: var(--text-color2);
    }

    .common_archive_list.column .btn .link:hover::after {
        border-color: var(--text-color2);
    }

    .common_archive_list ul .no_text {
        margin-top: 40px;
    }

    /* SPトップ　よくある質問 */
    .top_faq_sec {
        padding-block: 20vw;
    }

    .top_faq_sec .common_faq_list {
        margin-top: 8vw;
    }

    .common_faq_list {
        grid-template-columns: repeat(1, 1fr);
        gap: 5vw;
    }

    .common_faq_list dl .en {
        font-size: 7.3vw;
    }

    .common_faq_list dl dt,
    .common_faq_list dl dd {
        padding: 5vw;
        gap: 0 2.5vw;
    }

    .common_faq_list dl dt .question,
    .common_faq_list dl dd .answer {
        margin-top: 0;
    }

    .common_faq_list dl dt .question {
        font-size: 3.8vw;
    }

    .common_faq_list dl dd .answer {
        font-size: 3.4vw;
        line-height: 2;
    }

    .top_faq_sec .common_site_btn {
        display: none;
    }

    /* SPフッター　お問い合わせセクション */
    .common_contact_sec {
        padding-block: 20vw 15vw;
    }

    .common_contact_sec::before {
        width: 40vw;
        height: 70vw;
    }

    .common_contact_sec .title_box .en {
        display: none;
    }

    .common_contact_sec .title_box .title {
        font-size: 6.5vw;
        line-height: 1.3;
    }

    .common_contact_sec .title_box .text_box {
        margin-block: 5vw 8vw;
    }

    .common_contact_sec .title_box .text_box .text {
        font-size: 3.5vw;
    }

    .common_contact_btn {
        padding: 0 5vw;
        flex-direction: column;
    }

    .common_contact_btn .item {
        padding-block: 7vw;
        border-left: none;
        border-top: 1px solid #D9D9D9;
    }

    .common_contact_btn .item.contact {
        padding-right: 0;
        border-top: none;
    }

    .common_contact_btn .item.request {
        padding-inline: 0;
    }

    .common_contact_btn .item.line {
        padding-left: 0;
    }

    .common_contact_btn .item .ttl_box {
        gap: 0 3vw;
    }

    .common_contact_btn .item.contact .ttl_box .icon {
        width: 7.5vw;
    }

    .common_contact_btn .item.request .ttl_box .icon {
        width: 6vw;
    }

    .common_contact_btn .item.contact .ttl_box .ttl {
        font-size: 5vw;
    }

    .common_contact_btn .item .ttl_box .ttl {
        font-size: 5vw;
        line-height: 1;
        letter-spacing: .05em;
        font-weight: 700;
        color: var(--text-color2);
    }

    .common_contact_btn .item .btn_box {
        margin-top: 4vw;
    }

    .common_contact_btn .item .btn_box .btn {
        width: 65vw;
        min-block-size: 15vw;
        font-size: 4.2vw;
    }

    .common_contact_btn .item.tel .btn_box .btn {
        letter-spacing: .08em;
    }

    .common_contact_btn .item .btn_box .btn:hover {
        opacity: 1;
    }

    .common_contact_btn .item.request .btn_box .btn:hover {
        background-color: var(--point-color);
    }

    .common_contact_btn .item.line .btn_box .btn {
        gap: 0 6vw;
        padding-left: 6vw;
    }

    .common_contact_btn .item .btn_box.tel .btn {
        background-color: #3E3E3E;
    }

    .common_contact_btn .item.tel .time {
        text-align: center;
        font-size: 3vw;
        font-weight: 700;
        letter-spacing: .1em;
        margin-top: 2vw;
        color: var(--text-color2);
    }

    .common_contact_btn .item .btn_box .fukidashi {
        border-radius: 100vmax;
        border: 1px solid #707070;
        background-color: #fff;
        padding: .5em 2em;
        font-size: 3vw;
        line-height: 1;
        letter-spacing: .1em;
        font-weight: 700;
        color: var(--text-color2);
        margin: 0 auto -10px;
        width: fit-content;
        position: relative;
        z-index: 1;
    }

    .common_contact_btn .item.request .btn_box .fukidashi {
        border-color: var(--point-color);
    }

    .common_contact_btn .item .btn_box .fukidashi::before,
    .common_contact_btn .item .btn_box .fukidashi::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        border-style: solid;
        translate: -50% 100%;
    }

    .common_contact_btn .item .btn_box .fukidashi::before {
        border-width: 4px 4px 0 4px;
        border-color: #707070 transparent transparent;
    }

    .common_contact_btn .item .btn_box .fukidashi::after {
        border-width: 3px 3px 0 3px;
        border-color: #fff transparent transparent;
    }

    .common_contact_btn .item.request .btn_box .fukidashi::before {
        border-color: var(--point-color) transparent transparent;
    }

    .common_contact_btn .item.tel .btn_box .btn::before {
        content: '';
        width: 1.8vw;
        aspect-ratio: 1;
        position: absolute;
        top: 50%;
        right: 18px;
        translate: 0% -50%;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        rotate: -45deg;
    }

    /* SPフッター */
    .main_footer {
        margin-bottom: 105px;
    }

    .main_footer .cont {
        padding-block: 20vw 22vw;
    }

    .main_footer .cont .logo .link {
        display: block;
        width: 40vw;
        margin-inline: auto;
    }

    .main_footer .cont .logo .link img {
        width: 100%;
    }

    .main_footer .cont .ft_btn {
        margin-top: 8vw;
    }

    .main_footer .cont .ft_btn .link {
        border: 1px solid var(--main-color);
        display: flex;
        align-items: center;
        min-block-size: 14vw;
        gap: 0 4vw;
        padding-inline: 5vw;
        width: 65vw;
        margin-inline: auto;
        font-size: 4vw;
        line-height: 1;
        letter-spacing: .1em;
        font-weight: 700;
        color: var(--main-color);
        background-color: #fff;
        position: relative;
    }

    .main_footer .cont .ft_btn .link .icon {
        width: 7vw;
    }

    .main_footer .cont .ft_btn .link .icon img {
        width: 100%;
    }

    .main_footer .cont .ft_btn .link+.link {
        margin-top: 6vw;
    }

    .main_footer .cont .ft_btn .link::before {
        content: '';
        width: 1.8vw;
        aspect-ratio: 1;
        position: absolute;
        top: 50%;
        right: 15px;
        translate: 0% -50%;
        border-right: 2px solid var(--main-color);
        border-bottom: 2px solid var(--main-color);
        rotate: -45deg;
    }


    .main_footer .cont .ft_sub_nav {
        border-top: 1px solid var(--text-color2);
        padding-top: 18px;
    }

    .main_footer .cont .ft_sub_nav ul {
        display: flex;
        gap: 0 70px;
    }

    .main_footer .copy_box {
        background-color: var(--text-color2);
        padding-block: 6vw 4vw;
    }

    .main_footer .copy_box .inner {
        flex-direction: column;
        justify-content: center;
        gap: 3vw;
    }

    .main_footer .copy_box .bottom_menu ul {
        justify-content: center;
        gap: 2vw;
        flex-direction: column;
        align-items: center;
    }

    .main_footer .copy_box .bottom_menu ul li .link {
        font-size: 3vw;
    }

    .main_footer .copy_box .copy {
        margin-right: 0;
        text-align: center;
        font-size: 2.5vw;
    }

    .main_footer .copy_box .bottom_menu ul li .link:hover {
        opacity: 1;
    }

    /* SP固定ページ　その他の事業について */
    .page_business .common_page_wrap {
        padding: 0 0 20vw;
    }

    .business_sec .list_box .item {
        flex-direction: column;
        gap: 4vw 0;
        padding-bottom: 10vw;
    }

    .business_sec .list_box .item:last-child {
        padding-bottom: 0;
    }

    .business_sec .list_box .item:nth-child(even) {
        flex-direction: column;
    }

    .business_sec .list_box .item+.item {
        padding-top: 10vw;
    }

    .business_sec .list_box .item .img {
        width: 100%;
    }

    .business_sec .list_box .item .img img {
        aspect-ratio: 2/1;
    }

    .business_sec .list_box .item .text_area .title {
        font-size: 5.3vw;
    }

    .business_sec .list_box .item .text_area .title::before {
        width: 15vw;
    }

    .business_sec .list_box .item .text_box {
        margin-top: 3vw;
    }

    .business_sec .list_box .item .text_box .text {
        font-size: 3.5vw;
    }

    /* PC固定ページ CPM・CCIMとは */
    .page_cpm_ccim .link_box {
        gap: 5vw;
        flex-direction: column;
        align-items: center;
    }

    .page_cpm_ccim .link_box a {
        width: 70vw;
        min-block-size: 13vw;
        font-size: 3.6vw;
    }

    .page_cpm_ccim .link_box a::before {
        width: 2vw;
        right: 4vw;
    }

    .page_cpm_ccim .page_title {
        font-size: 5.2vw;
    }

    .cpm_ccim_sec {
        padding-top: 20vw;
    }

    .cpm_ccim_sec .heading_box {
        margin-top: 8vw;
        padding: 5vw 4vw;
    }

    .cpm_ccim_sec .heading_box .catch {
        font-size: 4.5vw;
    }

    .cpm_ccim_sec .heading_box .text_box {
        margin-top: 4vw;
    }

    .cpm_ccim_sec .heading_box .text_box .text {
        font-size: 3.5vw;
    }

    .cpm_ccim_sec .item_box .cont {
        display: grid;
        gap: 5vw 0;
        margin-top: 12vw;
    }

    .cpm_ccim_sec .item_box .cont:nth-child(even) {
        display: grid;
    }

    .cpm_ccim_sec .cont .img {
        width: 100%;
    }

    .cpm_ccim_sec .cont .img img {
        height: 40vw;
    }

    .cpm_ccim_sec .cont .img.graph img {
        height: auto;
    }

    .cpm_ccim_sec .cont .img.graph .sub {
        font-size: 3.8vw;
        margin-top: 3vw;
    }

    .cpm_ccim_sec .cont .text_area {
        display: contents;
    }

    .cpm_ccim_sec .cont .text_area .label {
        font-size: 4.5vw;
        order: -1;
    }

    .cpm_ccim_sec .cont .text_box {
        margin-top: 0;
    }

    .cpm_ccim_sec .cont .text_box .text {
        font-size: 3.4vw;
    }

    .cpm_ccim_sec .note {
        margin-top: 6vw;
    }

    .cpm_ccim_sec .note .link {
        font-size: 3.3vw;
    }

    .cpm_ccim_sec .note .link:hover {
        opacity: 1;
    }

    /* SP固定ページ　会社概要 */
    .company_profile_sec .cont dl {
        display: block;
        position: relative;
    }

    .company_profile_sec .cont dl dt {
        width: 100%;
        border: none;
        padding: 4vw 0 0;
        font-size: 4.2vw;
        margin-bottom: .5em;
    }

    .company_profile_sec .cont dl dd {
        font-size: 3.5vw;
        padding: 0 4vw 5vw;
    }

    .company_profile_sec .cont dl::before {
        content: "";
        width: 18vw;
        height: 4px;
        background: var(--main-color);
        position: absolute;
        top: 0;
        left: 0;
    }

    .company_profile_sec .company_gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 1%;
        margin-bottom: 8vw;
    }

    /* SP固定ページ　経営理念 */
    .philosophy_sec .heading_cont {
        flex-direction: column;
        gap: 6vw 0;
    }

    .philosophy_sec .heading_cont .img {
        width: 100%;
    }

    .philosophy_sec .heading_cont .text_box .catch {
        font-size: 4.5vw;
    }

    .philosophy_sec .heading_cont .text_box .text {
        font-size: 3.2vw;
        margin-top: 5vw;
        text-align: left;
    }

    .philosophy_sec .item_box {
        margin-top: 12vw;
    }

    .philosophy_sec .item_box .item+.item {
        margin-top: 10vw;
    }

    .philosophy_sec .item_box .item .page_title {
        font-size: 5vw;
    }

    .philosophy_sec .item_box .item .list_box {
        margin-top: 6vw;
        padding: 7vw 5vw;
    }

    .philosophy_sec .item_box .item .list_box::before {
        width: 40vw;
        height: 40vw;
        top: unset;
        bottom: -10vw;
        right: -10vw;
    }

    .philosophy_sec .item_box .item .text_box .text {
        font-size: 3.6vw;
    }

    .philosophy_sec .item_box .item ul li {
        font-size: 3.6vw;
        text-indent: -8.2vw;
        padding-left: 8vw;
    }

    /* SP固定ページ　代表挨拶 */
    .message_cont_sec .top_box {
        margin-block: 0 2em;
    }

    .message_cont_sec .top_box .title {
        font-size: 4.2vw;
        line-height: 1.8;
    }

    .message_cont_sec .top_box .en {
        font-size: 12.8vw;
    }

    .message_cont_sec .cont {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .message_cont_sec .cont .img_box {
        position: static;
    }

    .message_cont_sec .cont .img_box .img img {
        aspect-ratio: 35/24;
    }

    .message_cont_sec .cont .img_box .name_box .position {
        font-size: 3.6vw;
    }

    .message_cont_sec .cont .img_box .name_box .name {
        font-size: 5.6vw;
    }

    .message_cont_sec .cont .img_box .name_box .en_name {
        font-size: 9.7vw;
        top: 0.15em;
        left: 0.2em;
    }

    .message_cont_sec .cont .text_box .catch {
        font-size: 4vw;
    }

    .message_cont_sec .cont .text_box .catch .size {
        font-size: 1.2em;
    }

    .message_cont_sec .cont .text_box .text {
        font-size: 3.4vw;
        line-height: 1.8;
    }


    /* PC固定ページ　８つの特徴ページ共通 */
    .common_page_features {
        padding-top: 15vw;
    }

    .common_page_features .catch_sec .text_box {
        margin-top: 5vw;
    }

    .common_page_features .catch_sec .text_box .text {
        font-size: 3.6vw;
    }

    .common_page_features .problem_sec {
        padding-block: 15vw 20vw;
    }

    .common_page_features .problem_sec .item_box {
        margin-top: 6vw;
    }

    .common_page_features .problem_sec .item_box ul {
        flex-direction: column;
        gap: 5vw 0;
    }

    .common_page_features .problem_sec .item_box ul li {
        width: 100%;
    }

    .common_page_features .problem_sec .item_box ul li::before {
        width: 25vw;
    }

    .common_page_features .problem_sec .item_box ul li .inner::after {
        bottom: 0;
        border-width: 3vw 2.5vw 0 2.5vw;
    }

    .common_page_features .problem_sec .item_box ul li .inner {
        padding: 5vw 4vw;
        display: flex;
        align-items: center;
        gap: 0 4vw;
    }

    .common_page_features .problem_sec .item_box ul li .num {
        font-size: 7vw;
    }

    .common_page_features .problem_sec .item_box ul li .text {
        font-size: 3.6vw;
        line-height: 1.5;
        margin-top: 1vw;
        text-align: left;
    }

    .common_page_features .attempt_sec {
        padding-block: 18vw;
    }

    .common_page_features .attempt_sec .cont {
        flex-direction: column;
        align-items: flex-start;
        gap: 5vw 0;
    }

    .common_page_features .attempt_sec .cont .img {
        width: 100%;
    }

    .common_page_features .attempt_sec .cont .text_area {
        margin-bottom: 4vw;
    }

    .common_page_features .attempt_sec .cont .text_box {
        margin-top: 6vw;
    }

    .common_page_features .attempt_sec .cont .text_box .text {
        font-size: 3.6vw;
    }

    .common_page_features .merit_sec {
        padding-block: 18vw;
    }

    .common_page_features .merit_sec .list_box {
        margin-top: 7vw;
    }

    .common_page_features .merit_sec .list_box ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 5vw;
    }

    .common_page_features .merit_sec .list_box ul li .img {
        height: 35vw;
    }

    .common_page_features .merit_sec .list_box ul li .text_area {
        padding: 6vw 5vw;
    }

    .common_page_features .merit_sec .list_box ul li .title {
        font-size: 4.8vw;
    }

    .common_page_features .merit_sec .list_box ul li .title::after {
        width: 12vw;
    }

    .common_page_features .merit_sec .list_box ul li .text_box {
        margin-top: 4vw;
    }

    .common_page_features .merit_sec .list_box ul li .text_box .text {
        font-size: 3.5vw;
    }

    /* PC固定ページ　入居者専用お問い合わせ一覧 */
    .resident_form_sec .item_list ul {
        grid-template-columns: repeat(1, 100%);
        gap: 5vw;
    }

    .resident_form_sec .item_list ul li .link .img {
        height: 30vw;
    }

    .resident_form_sec .item_list ul li .link .title {
        font-size: 3.8vw;
    }

    .resident_form_sec .item_list ul li .link:hover {
        opacity: 1;
    }

    .resident_form_sec .item_list ul li .link:hover .img img {
        scale: 1;
    }


    /* SP固定ページ　賃貸管理プラン */
    .rental_plan .check_box .point_box {
        margin-bottom: 6vw;
    }

    .rental_plan .check_box .point_box .text {
        font-size: 5vw;
        line-height: 1.3;
    }

    .rental_plan .check_box .item_box {
        grid-template-columns: repeat(1, 1fr);
    }

    .rental_plan .check_box .item_box .item .title {
        font-size: 4.3vw;
    }

    .rental_plan .check_box .item_box .item ul {
        padding: 4vw 6vw;
    }

    .rental_plan .check_box .item_box .item ul li {
        padding-left: 6vw;
        font-size: 3.6vw;
    }

    .rental_plan .check_box .item_box .item ul li::before {
        width: 4.5vw;
    }

    .rental_plan .table_menu {
        padding-top: 12vw;
    }

    .rental_plan .table_menu table {
        width: 200vw;
        overflow-x: scroll;
    }

    .rental_plan .table_menu table td {
        font-size: 3.3vw;
    }

    .rental_plan .table_menu table td.color {
        font-size: 3.5vw;
    }

    .rental_plan .table_menu table th {
        font-size: 4.3vw;
    }

    .rental_plan .table_menu .attention {
        font-size: 2.8vw;
    }

    .rental_plan .option_box {
        margin-top: 8vw;
        padding: 5vw;
    }

    .rental_plan .option_box .title_box {
        flex-direction: column;
        align-items: flex-start;
        gap: 1vw 0;
    }

    .rental_plan .option_box .title_box .label {
        font-size: 3vw;
    }

    .rental_plan .option_box .title_box .text {
        font-size: 3.3vw;
    }

    .rental_plan .option_box .option_menu ul {
        grid-template-columns: repeat(1, 100%);
        gap: 2vw 3vw;
    }

    .rental_plan .option_box .option_menu ul li {
        font-size: 3.5vw;
        padding-left: 4vw;
    }

    .rental_plan .option_box .option_menu ul li::before {
        width: 2.5vw;
    }

    /* SP固定ページ　採用情報 */
    .page_recruit .common_sec_title .title {
        font-size: 6.1vw;
    }

    .recruit_message_sec .catch_box {
        margin-top: 6vw;
    }

    .recruit_message_sec .catch_box .text {
        font-size: 3.8vw;
    }

    .recruit_message_sec .message_cont {
        margin-top: 8vw;
    }

    .recruit_message_sec .message_cont .item {
        flex-direction: column;
        gap: 7vw 0;
        padding: 5vw;
    }

    .recruit_message_sec .message_cont .item .img {
        width: 100%;
    }

    .recruit_message_sec .message_cont .item .img img {
        aspect-ratio: 2/1;
        min-width: 0;
    }

    .recruit_message_sec .message_cont .item .text_box .name {
        font-size: 3.8vw;
    }

    .recruit_message_sec .message_cont .item .text_box .text {
        font-size: 3.5vw;
    }

    .recruit_message_sec .comment_box {
        margin-top: 5vw;
        padding: 5vw;
    }

    .recruit_message_sec .comment_box .text {
        font-size: 3.5vw;
    }

    .recruit_message_sec .cont {
        margin-top: 18vw;
    }

    .recruit_message_sec .cont .inner {
        flex-direction: column;
        gap: 5vw 0;
    }

    .recruit_message_sec .cont .inner+.inner {
        margin-top: 8vw;
    }

    .recruit_message_sec .cont .inner:nth-child(even) {
        flex-direction: column;
    }

    .recruit_message_sec .cont .inner .img {
        width: 100%;
        height: 40vw;
    }

    .recruit_message_sec .cont .inner .text_box .catch {
        font-size: 4.8vw;
        padding-bottom: .6em;
    }

    .recruit_message_sec .cont .inner .text_box .catch::before {
        width: 12vw;
    }

    .recruit_message_sec .cont .inner .text_box .text {
        font-size: 3.4vw;
        margin-top: 1.2em;
    }

    .recruit_staff_sec {
        padding-top: 20vw;
    }

    .recruit_staff_sec .cont {
        margin-top: 12vw;
    }

    .recruit_staff_sec .cont .inner {
        flex-direction: column;
        gap: 5vw 0;
        margin-top: 6vw;
    }

    .recruit_staff_sec .cont .inner .img {
        width: 100%;
        height: 50vw;
    }

    .recruit_staff_sec .cont .inner .text_box .text {
        font-size: 3.5vw;
    }

    .recruit_staff_sec .cont .inner .text_box .text+.text {
        margin-top: .8em;
    }

    .recruit_staff_sec .cont .catch {
        font-size: 4.3vw;
    }

    .recruit_staff_sec .cont .item_box {
        margin-top: 6vw;
    }

    .recruit_staff_sec .cont .item_box ul li {
        gap: 0 5vw;
    }

    .recruit_staff_sec .cont .item_box ul li:nth-child(even) {
        justify-content: space-between;
    }

    .recruit_staff_sec .cont .item_box ul li+li {
        margin-top: 5vw;
    }

    .recruit_staff_sec .cont .item_box ul li .img_box {
        width: 20vw;
    }

    .recruit_staff_sec .cont .item_box ul li .img_box .img {
        height: 20vw;
    }

    .recruit_staff_sec .cont .item_box ul li .img_box .name {
        font-size: 3.5vw;
    }

    .recruit_staff_sec .cont .item_box ul li .img_box .name .en {
        font-size: 3.8vw;
    }

    .recruit_staff_sec .cont .item_box ul li .text_box {
        padding: 4vw;
    }

    .recruit_staff_sec .cont .item_box ul li .text_box::before {
        width: 3vw;
        height: 4vw;
    }

    .recruit_staff_sec .cont .item_box ul li .text_box .text {
        font-size: 3.2vw;
    }

    .recruit_desc_sec {
        padding-block: 15vw;
        margin-block: 15vw 0;
    }

    .recruit_desc_sec .nav_box {
        background: transparent;
        padding: 0;
        margin-block: 0 7.5vw;
        grid-template-columns: 1fr;
        gap: 2.5vw;
    }

    .recruit_desc_sec .nav_box ul {
        background: #fff;
        padding: 4vw 2vw;
    }

    .recruit_desc_sec .nav_box ul:nth-child(even) {
        border: none;
    }

    .recruit_desc_sec .nav_box li a {
        font-size: 4.1vw;
        padding: 0 0.5em;
    }

    .recruit_desc_sec .nav_box li a::after {
        width: 2vw;
        translate: 0 -0.1em;
    }

    .recruit_desc_sec .inner {
        grid-template-columns: 1fr;
        gap: 5.5vw;
    }

    .recruit_desc_sec .cont .item {
        margin-top: 10vw;
        padding: 8vw 5vw;
    }

    .recruit_desc_sec .cont .item .title {
        gap: 0.6em;
        font-size: 4.6vw;
        margin-block: 0 0.7em;
    }

    .recruit_desc_sec .cont .item .text_box .text {
        font-size: 3.5vw;
    }

    .recruit_desc_sec .cont .item .title::before {
        width: 2.5vw;
    }

    .recruit_desc_sec .cont .item .table_box table {
        border-bottom: 1px solid #ccc;
    }

    .recruit_desc_sec .cont .item .table_box table th,
    .recruit_desc_sec .cont .item .table_box table td {
        display: block;
        width: 100%;
    }

    .recruit_desc_sec .cont .item .table_box table th {
        font-size: 3.6vw;
        border-width: 1px 0 0;
        padding: 1.5em 0.7em 0.3em;
    }

    .recruit_desc_sec .cont .item .table_box table td {
        font-size: 3.3vw;
        border: none;
        padding: 0 0.7em 1.5em;
    }


    /* PC固定ページ　資料ダウンロード */
    .page-id-778 #sp_header,
    .page-id-780 #sp_header,
    .page-id-798 #sp_header {
        display: none;
    }

    .page-id-778 .sp_follow_box,
    .page-id-780 .sp_follow_box,
    .page-id-798 .sp_follow_box {
        display: none !important;
    }

    body.page-id-778,
    body.page-id-780,
    body.page-id-798 {
        padding-top: 0;
    }

    .page-id-778 .main_footer,
    .page-id-780 .main_footer,
    .page-id-798 .main_footer {
        margin-bottom: 0;
    }

    .request_document_cont {
        grid-template-columns: 1fr;
        gap: 5vw 0;
    }

    .request_document_cont .text_area {
        display: contents;
    }

    .request_document_cont .image_box .point {
        font-size: 6.8vw;
        margin-bottom: 3vw;
    }

    .request_document_cont .image_box .point::before,
    .request_document_cont .image_box .point::after {
        height: 6vw;
    }

    .request_document_cont .title_box {
        margin-top: 3vw;
    }

    .request_document_cont .title_box .label {
        font-size: 6vw;
    }

    .request_document_cont .title_box .title {
        font-size: 4.8vw;
    }

    .request_document_cont .title_box .text_box {
        margin-top: 4vw;
    }

    .request_document_cont .title_box .text_box .text {
        font-size: 3.4vw;
    }

    .request_document_cont .list_box {
        margin-top: 4vw;
    }

    .request_document_cont .list_box .index {
        font-size: 4.2vw;
    }

    .request_document_cont .list_box .list ul li {
        font-size: 3.8vw;
        margin-left: 4vw;
    }

    .request_document_cont .privacy_box {
        margin-top: 0;
        order: 1;
    }

    .request_document_cont .privacy_term_outer {
        margin-bottom: 0;
    }

    .request_document_cont .common_contact_form input[type="text"],
    .request_document_cont .common_contact_form input[type="email"] {
        box-shadow: inset 2px 2px 7px rgba(0, 0, 0, .2);
    }

    .request_document_cont .common_contact_form select {
        width: 100%;
        appearance: auto;
        -webkit-appearance: auto;
    }

    .request_document_cont .common_contact_form .form_box dl {
        grid-template-columns: 1fr;
        padding: 1em 1.2em;
    }

    .request_document_cont .common_contact_form .form_box dl+dl {
        margin-top: 0;
    }


    /* SPシングルページ　スタッフ */
    .single_staff {
        margin-top: 0;
    }

    .single_staff .about_sec .inner {
        grid-template-columns: 1fr;
        gap: 8vw;
    }

    .single_staff .about_sec .img img {
        aspect-ratio: 1;
    }

    .single_staff .about_sec .img::before {
        top: 5px;
        left: -5px;
    }

    .single_staff .about_sec .text_box .name_box .name {
        font-size: 6vw;
    }

    .single_staff .about_sec .text_box .name_box .en_name {
        font-size: 9.6vw;
    }

    .single_staff .about_sec .text_box .info {
        margin-block: 0 1.3em;
    }

    .single_staff .about_sec .text_box .info .text {
        font-size: 3.5vw;
    }

    .single_staff .about_sec .text_box .info .catch {
        font-size: 4.5vw;
    }

    .single_staff .cont_sec {
        padding-block: 18vw 0;
    }

    .single_staff .cont_sec .item {
        flex-direction: column-reverse;
        gap: 5.5vw;
        padding: 6vw 5vw;
    }

    .single_staff .cont_sec .item:nth-child(even) {
        flex-direction: column-reverse;
    }

    .single_staff .cont_sec .item+.item {
        margin-block: 13vw 0;
    }

    .single_staff .cont_sec .item .img {
        width: 100%;
    }

    .single_staff .cont_sec .item .text_box .title {
        font-size: 4.5vw;
        border-width: 0 0 0 4px;
        margin-block: 0 0.6em;
    }

    .single_staff .cont_sec .item .text_box .text {
        font-size: 3.5vw;
    }

    /* PCカスタム投稿　管理物件紹介ページ一覧 */
    .property_cont_sec .property_list ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 2vw;
    }

    .property_cont_sec .tax_category {
        margin-bottom: 5vw;
        padding-bottom: 5vw;
    }

    .property_cont_sec .tax_category ul {
        gap: 2vw;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .property_cont_sec .tax_category ul li {
        flex-grow: 1;
    }

    .property_cont_sec .tax_category ul li a {
        font-size: 3.6vw;
        width: 100%;
        text-align: center;
        padding: .2em .5em;
    }

    .property_cont_sec .tax_category ul li a:hover {
        background-color: #fff;
        color: var(--main-color);
    }

    .property_list ul li .link::before {
        width: 2vw;
        bottom: 5px;
        right: 5px;
    }

    .property_list ul li .link .text_box {
        padding: 4vw 3vw;
    }

    .property_list ul li .link .text_box .ttl_box::before {
        width: 8vw;
    }

    .property_list ul li .link .text_box .title {
        font-size: 3.6vw;
    }

    .property_list ul li .link .text_box .access {
        font-size: 3.3vw;
    }

    .property_list ul li .link:hover {
        background-color: #fff;
    }

    .property_list ul li .link:hover .img img {
        scale: 1;
    }

    .wp-pagenavi {
        margin-top: 8vw;
        gap: 2vw;
    }

    .wp-pagenavi span:first-child {
        width: 12vw;
    }

    .wp-pagenavi a,
    .wp-pagenavi span {
        width: 10vw;
        height: 10vw;
        font-size: 4vw;
    }

    .wp-pagenavi a.first,
    .wp-pagenavi a.last {
        width: 12.5vw;
    }

    .wp-pagenavi a:hover {
        border: 1px solid var(--main-color) !important;
        background-color: transparent !important;
        color: var(--main-color);
    }

    /* PC詳細ページ　管理物件紹介 */
    .single_property .common_page_wrap {
        padding: 20vw 0 0;
    }

    .single_property_main {
        padding-block: 14vw;
        margin-top: 0;
    }

    .single_property_main .title_box .title {
        font-size: 5.6vw;
    }

    .single_property .single_title {
        font-size: 5vw;
    }

    .single_property .gallery_sec .cont {
        flex-direction: column;
        gap: 8vw 0;
        margin-top: 6vw;
    }

    .single_property .gallery_sec .cont.no_madori {
        justify-content: center;
    }

    .single_property .gallery_sec .cont.no_madori .main_img {
        width: 100%;
        max-width: 100%;
    }

    .single_property .gallery_sec .cont .madori_img {
        margin-top: 1em;
    }

    .single_property .gallery_sec .cont .main_img {
        width: 100%;
        height: 55vw;
    }

    .single_property .gallery_sec .cont .heading {
        font-size: 4vw;
    }

    .single_property .gallery_sec .cont .slider_box {
        width: 100%;
    }

    .single_property .gallery_sec .cont .madori_img .img {
        height: 55vw;
    }

    .js_img_slider .slick-dots {
        bottom: -6vw;
    }

    .js_img_slider .slick-dots li,
    .js_img_slider .slick-dots li button {
        width: 3vw;
        height: 3vw;
    }

    .js_img_slider .slick-arrow {
        width: 12vw;
    }

    .js_img_slider .slick-arrow::before {
        width: 3vw;
        height: 4vw;
    }

    .js_img_slider .slick_prev.slick-arrow {
        left: -4vw;
    }

    .js_img_slider .slick_next.slick-arrow {
        right: -4vw;
    }

    .single_property .information_sec {
        padding-top: 20vw;
    }

    .single_property .information_sec .table_box {
        margin-top: 6vw;
    }

    .single_property .information_sec .table_box dl {
        flex-direction: column;
    }

    .single_property .information_sec .table_box dl dt {
        width: 100%;
        font-size: 3.6vw;
    }

    .single_property .information_sec .table_box dl dd {
        font-size: 3.4vw;
        display: unset;
        padding: 1.3em 1.5em;
    }

    .single_property .information_sec .table_box dl dd .img360 iframe,
    .single_property .information_sec .table_box dl dd .map iframe {
        height: 40vw;
        width: 100%;
    }

    .single_property .property_list {
        margin-top: 6vw;
    }

    .single_property .property_list ul {
        display: flex;
        gap: 0 4vw;
        overflow-x: scroll;
        padding: 1vw 1.5vw 5vw 1.5vw;
        padding-top: 12vw;
    }

    .single_property .property_list ul li {
        width: 65vw;
        flex-shrink: 0;
    }

    .single_property .recommend_sec {
        margin-top: 20vw;
        padding-block: 0 18vw;
    }

    .recommend_sec .category_box {
        padding-top: 10vw;
    }

    .recommend_sec .category_box ul {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2vw;
        margin-top: 5vw;
    }

    .recommend_sec .category_box ul li a {
        width: 100%;
        font-size: 3.3vw;
        text-align: center;
    }

    .recommend_sec .category_box ul li a:hover {
        background-color: #fff;
        color: var(--main-color);
    }


    /* SP固定ページ 共通設定 */
    .common_page_main {
        padding-block: 14vw;
        margin-top: 0;
    }

    .common_page_main .title_box .title {
        font-size: 5.6vw;
    }

    .common_page_wrap {
        padding: 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

    /* パンくず */
    .breadcrumb {
        font-size: 2.5vw;
        margin-top: 3vw;
    }

    /* SP固定ページ お問い合わせ */
    .contact_form_disc {
        margin-block: 0 2em;
    }

    .contact_form_disc .text {
        font-size: 3.6vw;
        margin-block: 0 0.8em;
    }

    .contact_form_disc .caution {
        font-size: 3.1vw;
        letter-spacing: .06em;
    }

    .common_contact_form .form_box {
        margin-block: 0 10vw;
    }

    .common_contact_form .form_box dl {
        grid-template-columns: 1fr;
        gap: 0.6em;
    }

    .common_contact_form .form_box dl+dl {
        margin-block: 1.3em 0;
    }

    .common_contact_form .form_box dl dt {
        flex-direction: row-reverse;
        justify-content: space-between;
        font-size: 4.1vw;
        padding-inline: 0;
    }

    .common_contact_form .form_box dl dd.cancel_month {
        flex-direction: column;
        gap: 2vw;
    }

    .common_contact_form .form_box dl dd.cancel_month select {
        width: 100%;
    }

    .common_contact_form .form_box dl dd.cancel_month select+select {
        margin-top: 2vw;
    }

    .common_contact_form .form_box dl dt .label {
        font-size: 3.1vw;
    }

    .common_contact_form .form_box dl dt::after {
        content: none;
    }

    .common_contact_form .form_box .td_list input.number {
        width: 10vw;
    }

    .contact_check_text .text,
    .contact_check_text.left .text {
        font-size: 3.4vw;
    }

    .contact_check_text.left .text.color {
        font-size: 3.5vw;
    }

    .common_contact_form input[type="text"],
    .common_contact_form input[type="email"],
    .common_contact_form #zip {
        font-size: 3.6vw;
    }

    .common_contact_form select {
        width: 100%;
        font-size: 3.6vw;
    }

    .common_contact_form textarea {
        height: 33vw;
        font-size: 3.6vw;
    }

    .radio_btns,
    .checkboxes {
        gap: 0.5em 2.5em;
    }

    .page_contact #btn_wrap button {
        width: 83%;
        line-height: 15.5vw;
        font-size: 4.6vw;
    }

    .page_contact #btn_wrap button[name="submitBack"] {
        margin-top: 4vw;
    }

    .mwform-checkbox-field.horizontal-item {
        display: block;
    }

    .page_contact #btn_wrap {
        width: 100%;
        text-align: center;
    }

    .privacy_check_list .mwform-checkbox-field-text {
        font-size: 3.8vw;
        padding-left: 11vw;
    }

    .mw_wp_form .privacy_check_list .horizontal-item {
        margin-right: 4vw;
    }

    .privacy_check_list .hissu {
        padding: 0.3vw 4vw;
    }

    .privacy_check_list {
        margin-bottom: 6vw;
    }

    .privacy_term_detail {
        font-size: 3.4vw;
        margin: 5vw 0;
    }

    .privacy_term_outer {
        width: 96%;
        padding: 5vw 0;
    }

    .privacy_term_outer .privacy_term_inner .main_text {
        font-size: 3.4vw;
        line-height: 1.6;
        margin-bottom: 5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dt {
        font-size: 3.5vw;
        margin-bottom: 1.5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dd {
        font-size: 3.5vw;
        line-height: 1.6;
    }

    .privacy_term_outer .privacy_term_inner dl+dl {
        margin-top: 7vw;
    }

    .privacy_term_detail::after {
        width: 2.5vw;
        margin: 1.5vw auto 0;
    }

    /* サンクスページ */
    .page_contact .thanks_textArea .name {
        font-size: 4vw;
        margin-bottom: 3vw;
    }

    .page_contact .thanks_textArea .contact_text {
        font-size: 3.5vw;
        margin-bottom: 2em;
        width: 100%;
    }

    .page_contact .thanks_textArea .ichiran_link {
        width: 80%;
        line-height: 12vw;
        font-size: 4vw;
    }

    /* ステップバー デザイン */
    .page_contact .progressbar {
        gap: 4.5em;
        margin-block: 0 2.5em;
    }

    .page_contact .progressbar .item {
        font-size: 3.1vw;
    }

    .page_contact .progressbar .item+.item::before {
        width: 5.7vw;
        top: 63%;
        left: -3.3em;
    }

    .page_contact .progressbar .item .mark {
        width: 7.7vw;
        margin: 0 auto 0.4em;
    }

    /* SP固定ページ 404ページ */
    #page_404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page_404 .text {
        font-size: 3.5vw;
    }

    /* SP固定ページ サイトマップ */
    ul#sitemap_list li {
        margin: 0;
    }

    body #sitemap_list li a {
        font-size: 4vw;
        padding: 1vw 2vw;
        line-height: 9vw;
        margin-bottom: 1vw;
    }

    body #sitemap_list li.home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0;
    }

    /* SP固定ページ　個人情報保護方針・勧誘方針 */
    .privacy_cont_sec .title {
        font-size: 5.2vw;
    }

    .privacy_cont_sec .main_text.bottom {
        margin-top: 12vw;
        padding-top: 8vw;
    }

    .privacy_cont_sec .main_text {
        font-size: 3.3vw;
        line-height: 1.8;
        margin-bottom: 8vw;
        padding-bottom: 8vw;
    }

    .privacy_cont_sec dl+dl {
        margin-block: 7vw 0;
    }

    .privacy_cont_sec dl dt {
        font-size: 4.1vw;
    }

    .privacy_cont_sec dl dd {
        font-size: 3.3vw;
        line-height: 1.7;
    }

}