/* 固定ヘッダー直下の吸着CTA用。値は px 付きで上書きしてください（単位なしだと top が無効になります） */
:root {
    --mansion-type3-header-offset: 120px;
    --mansion-type3-header-offset-sp: 60px;
}

.sp{
    display: none;
}

img{
    margin: 0;
}
div h4{
    margin: 30px 
}
footer {
    margin: 0 auto 90px !important;
    font-family: "Noto Sans JP", sans-serif;
}

/* ページ内テキストを中央揃え（ヘッダー・フッターは共通HTMLのため対象外） */
.sectionWrapper_m {
    text-align: center;
}

@media (max-width: 768px) {
    .section_top {
        padding: 0 0 4vw;
    }
}
/* パンくず：親の中央揃えを打ち消し */
.path_listWrapper.sectionWrapper_m,
.path_listWrapper .path_list {
    text-align: left;
}

/* よくあるご質問：タブ1表示時のみ表示・背景をビューポート幅いっぱい（.mansion_type3_tab_wrap の max-width の外に出す） */
#faq_other {
    display: none;
}
body.mansion_type3-tab1-active #faq_other {
    display: block;
}

/* よくあるご質問：アコーディオン（プラス／マイナス） */
#faq_other .mansion_type3-faq-accordion {
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
}

#faq_other .mansion_type3-faq-item {
    margin: 16px 0;
    border: 1px solid #CFD2D4;
}

#faq_other .mansion_type3-faq-item:first-child {
    border-top: 1px solid #CFD2D4;
}

#faq_other .mansion_type3-faq-head {
    display: flex;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 14px 52px 14px 16px;
    text-align: left;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.45;
    color: #0099FF;
    background: #fff;
    cursor: pointer;
}

#faq_other .mansion_type3-faq-head:hover {
    opacity: 0.9;
}

#faq_other .mansion_type3-faq-head__text {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

#faq_other .mansion_type3-faq-head__icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    box-sizing: border-box;
}

#faq_other .mansion_type3-faq-head__icon::before,
#faq_other .mansion_type3-faq-head__icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: #0099FF;
    border-radius: 0;
    transform: translate(-50%, -50%);
}

#faq_other .mansion_type3-faq-head__icon::before {
    width: 3px;
    height: 20px;
}

#faq_other .mansion_type3-faq-head__icon::after {
    width: 20px;
    height: 3px;
}

#faq_other .mansion_type3-faq-head.open .mansion_type3-faq-head__icon::before {
    display: none;
}

#faq_other .mansion_type3-faq-body {
    display: none;
    margin: 0;
    padding: 20px 16px 28px;
    box-sizing: border-box;
    text-align: left;
    background: #fff;
    border-top: 1px solid #CFD2D4;
}

#faq_other .mansion_type3-faq-body p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    color: #333;
    font-weight: normal;
}

#faq_other .mansion_type3-faq-body p + p {
    margin-top: 12px;
}

#faq_other .mansion_type3-faq-body a {
    color: #0099FF;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

#faq_other .mansion_type3-faq-body a:hover {
    opacity: 0.85;
}

#faq_other .mansion_type3-faq-body__sep {
    padding-top: 16px;
}

#faq_other .mansion_type3-faq-body__indent {
    padding-left: 1em;
    text-indent: -1em;
}

#faq_other .mansion_type3-faq-body__indent-in-indent {
    padding-left: 2em;
    text-indent: -1em;
}

@media (max-width: 768px) {
    #faq_other .mansion_type3-faq-item {
        margin: 4vw 0;
    }

    #faq_other .mansion_type3-faq-head {
        padding: 3.5vw 12vw 3.5vw 4vw;
        font-size: 3.8vw;
    }

    #faq_other .mansion_type3-faq-head__icon {
        right: 4vw;
        width: 8vw;
        height: 8vw;
        max-width: 36px;
        max-height: 36px;
    }

    #faq_other .mansion_type3-faq-head__icon::before {
        width: 0.8vw;
        min-width: 3px;
        height: 5.5vw;
        max-height: 22px;
    }

    #faq_other .mansion_type3-faq-head__icon::after {
        width: 5.5vw;
        max-width: 22px;
        height: 0.8vw;
        min-height: 3px;
    }

    #faq_other .mansion_type3-faq-body {
        padding: 4.5vw 4vw 6.5vw;
    }

    #faq_other .mansion_type3-faq-body p {
        font-size: 3.5vw;
    }
}

/* よくあるご質問：一覧ボタン（.faq_wrapper 直下） */
#faq_other .sectionInner_s > .link_button {
    margin-top: 28px;
}
@media (max-width: 768px) {
    #faq_other .sectionInner_s > .link_button {
        margin-top: 5vw;
    }
}

/* テレビ視聴障害ダイヤル（#faq-failure）：白背景・max-width 900px */
#faq_other #faq-failure {
    margin-top: 28px;
    box-sizing: border-box;
}

#faq_other .faq-failure__inner {
    border-radius: 20px;
    max-width: 750px;
    margin: 0 auto;
    padding: 28px 24px 32px;
    box-sizing: border-box;
    background: #fff;
    text-align: left;
    display: grid;
    grid-template-columns: 1fr minmax(200px, 42%);
    grid-template-rows: auto auto;
    gap: 16px 36px;
    align-items: start;
}

#faq_other .faq-failure__title {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    font-size: 20px;
    line-height: 1.45;
    font-weight: bold;
    text-align: left;
    color: #333;
}

#faq_other .faq-failure__inner > .txt-area {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
}

#faq_other .faq-failure__inner .txt-area p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    color: #333;
}

#faq_other .faq-failure__inner .txt-area a {
    color: #0099FF;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

#faq_other .faq-failure__inner .txt-area a:hover {
    opacity: 0.85;
}

#faq_other .faq-failure__inner > .faq-failure-body {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: center;
    justify-self: end;
    margin: 0;
}

#faq_other .faq-failure-inquiry-tel {
    margin: 0;
    text-align: center;
}

#faq_other .faq-failure-inquiry-tel .name {
    margin: 0;
    font-size: 22px;
    line-height: 1.4;
    font-weight: bold;
    color: #0099FF;
}

#faq_other .faq-failure-inquiry-tel .number {
    margin: 8px 0 0;
    font-size: 33px;
    line-height: 1.3;
    font-weight: bold;
}

#faq_other .faq-failure-inquiry-tel .number a {
    color: #0099FF;
    text-decoration: none;
}

#faq_other .faq-failure-inquiry-tel .number a:hover {
    opacity: 0.85;
    text-decoration: underline;
}

#faq_other .faq-failure-inquiry-tel .hours {
    margin: 12px 0 0;
    font-size: 14px;
    line-height: 1.55;
    color: #333;
    font-weight: normal;
}

@media (max-width: 768px) {
    #faq_other #faq-failure {
        margin-top: 6vw;
    }

    #faq_other .faq-failure__inner {
        width: 80%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 5vw;
        padding: 5vw 4vw 6vw;
    }

    #faq_other .faq-failure__inner > .faq-failure-body {
        align-self: stretch;
        justify-self: stretch;
        width: 100%;
    }

    #faq_other .faq-failure__inner .txt-area p {
        font-size: 3.5vw;
    }

    #faq_other .faq-failure__title {
        text-align: center;
        font-size: 5.9vw;
    }

    #faq_other .faq-failure-inquiry-tel .name {
        font-size: 5.9vw;
    }

    #faq_other .faq-failure-inquiry-tel .number {
        font-size: 8.8vw;
    }

    #faq_other .faq-failure-inquiry-tel .hours {
        font-size: 3.7vw;
    }
}

#faq_other .mansion_type3-bnr-koji {
    display: block;
    margin-top: 24px;
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    #faq_other .mansion_type3-bnr-koji {
        margin-top: 6vw;
    }
}

/* tab navigation */
.tab-nav {
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
}

.tab-nav-list {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 1px solid #0099FF;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
}

.tab-nav-list li {
    list-style: none;
    flex: 1 1 0;
    min-width: 0;
}
.tab-nav-list img{
    padding-right: 10px;
}
.tab-nav-list li a {
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    text-align: center;
    text-decoration: none;
    line-height: 1.4;
    box-sizing: border-box;
    background-color: #fff;
    color: #0099FF;
    border: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.tab-nav-list li + li a {
    border-left: 1px solid #0099FF;
}

.tab-nav-list li a:hover{
    opacity: 1;
}

.tab-nav-list li a.current {
    background-color: #0099FF;
    color: #fff;
}

@media (max-width: 768px) {
    .tab-nav-list li a {
        justify-content: center;
        text-align: left;
        padding-left: 3vw;
        padding-right: 2vw;
    }
}
/*title-area*/
.title_top{
    background-color: #fff;
    color: #0099FF;
    padding: 10px 0;
    border-radius: 18px;
    font-size: 16px;
    max-width: 790px;
    font-weight: bold;
    margin: 30px auto 0;
    text-align: center;

}
#service_top h2::after {
    content: "";
    position: absolute;
    bottom: 3px;
    right: -45px;
    background: url(../img/icon_bg_emi.png);
    background-size: contain;
    width: 139px;
    height: 120px;
    z-index: -1;
    background-repeat: no-repeat;
}


@media (max-width:768px) {
    .title_top{
        border-radius: 13vw;
        font-size: 4vw;
        padding: 3vw 5vw;
        margin: 30px 30px 0px;
    }
    .sp{
        display: block;
    }
}
/* point-area */
.point_img{
    padding-top: 20px;
    max-width: 900px;
    margin: 0 auto;
    border: 2px #F0F0F0 solid;
    border-radius: 10px;
}
.point_area{
    display: flex;   
    gap: 30px;
    max-width: 900px;
    margin: 40px auto 0;

}
.point_area-card{
    max-width: 280px;
    width: 100%;
}
.point_number, .point_title{
    text-align: center;
}
.point_number{
    background-color: #0099FF;
    color: #fff;
    border-radius: 18px;
    font-size: 18px;
    padding: 5px 0 5px;
    font-weight: 700;
}
.point_title{
    color: #0099FF;
    font-size: 20px;
    font-weight: bold;
    margin: 20px 0 15px;
}
.point_text{
  font-size: 14px;
  text-align: center;
}
@media (max-width:768px) {
    .point_img{
        padding:0 2.66vw;
    }
    .point_area{
        flex-direction: column;
        padding:0 2.66vw;
    }
    .point_area-card{
        max-width: none;
    }
}
/* feature-area */
#service_feature .feature_box_top{
    position: relative;
}
#service_feature .feature_box_top .number {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-size: 189px;
    font-weight: bold;
    color: #D1EDFF;
    position: absolute;
    top: -80px;
    left: 0px;
    z-index: 10;
}
#service_feature .feature_box_top .number.first{
    top: -30px;
}
.sectionWrapper_m #service_feature .feature_box{
    margin: 0 auto 40px;
    padding: 40px 40px 55px 40px;
}
.feature_box{
    max-width: 900px;
}
#service_feature .feature_box .flex .number{
    top: -40px;
    left: -70px;
}
#service_feature .feature_box .flex .text_box{
    padding-left: 19px;
    max-width: 360px;
}
.feature_list{
      line-height: 1.8;
}
.feature_list li:not(.annotation_text) {
  position: relative;
  margin-left: 20px;
}

#service_feature ul li:not(.annotation_text)::before {
  content: "・"; 
  color: #0099FF;
  font-weight: bold;
  position: absolute;
  left: -20px;
}
#service_feature .feature_box1 .annotation_text{
    margin: 0;
}
.box_top{
    margin-left: 70px;
}
.feature_box_bottom{
    background-color: #F5F5F5;
    border-radius: 15px;
    margin-top: 30px;
    padding-bottom: 30px;
}
.feature_box_bottom h5{
    padding-top: 30px;
}
.box_bottom-container{
    display: flex;
    padding: 0 30px 30px 30px;
}
.box_bottom-img{
    flex: 1;
}
.box_bottom-text{
    display: flex;
    flex-direction: column;
    flex: 1;
    line-height: 1.8;
}
.box_bottom-text .text_title{
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 15px;
}  
#service_feature .feature_box1 .flex {
    padding: 0 0 0 80px;
}
@media (max-width:768px) {

    #service_feature .feature_box1 .flex{
        padding: 0;
        flex-direction: column;
    }
    #service_feature .feature_box_top .number {
        font-size: 27vw;
        letter-spacing: 0.08em;
        position: absolute;
        top: -7.8vw;
        left: 3.6vw;
    }
    #service_feature .feature_box .flex h4{
        margin: 5.5vw 0 4.5vw 16.5vw;
    }
    /* #service_feature .feature_box .flex h4{
        margin: 9.5vw 0 8.5vw 16.5vw;
    } */
    .sectionWrapper_m #service_feature .feature_box {
        padding: 2.5vw;
    }
    #service_feature .feature_box .flex .text_box{
        padding: 0;
        max-width: none;
    }
    .feature_list li:not(.annotation_text){
        font-size: 4.2vw;
    }
    .flex_img{
        width: 100%;
    }
    .flex_img img{
        display: block;
        width: 95%;
    }
    .box_bottom-container{
        flex-direction: column;
        align-items: center;
    }
}

.link_button.border a {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 66px;
    margin: 0 auto;
    background: #fff;
    text-align: center;
    position: relative;
    border-radius: 33px;
    color: #333;
    border: 2px solid #CFD2D4;
    padding: 8px 75px;
    font-size: 15px;
    box-sizing: border-box;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.link_button.border a:hover {
    background: #f5f5f5;
    color: #333;
    border-color: #b8bcbf;
}
@media (max-width: 768px) {
    .link_button.border a {
        max-width: 65.5vw;
        width: 100%;
        /* min-width: 305px; */
        min-height: 16vw;
        border-radius: 8.79vw;
        border: 0.53vw solid #CFD2D4;
        font-size: 3.26vw;
        justify-content: center;
        padding-left: 6.4vw;
        padding-right: 11.46vw;
    }
}

/* enjoy-02 またはタブ2の enjoy-01.mansion_type3-enjoy-plan 内「３つの主な特徴」（番号は absolute で背面・白背景内にクリップ） */
.mansion_type3_tab_wrap .enjoy-02 .feature_box_top,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    margin-bottom: 24px;
    padding: 25px 24px 25px 24px;
    background: #fff;
    border-radius: 10px;
}
.mansion_type3_tab_wrap .enjoy-02 .feature_box_top:last-child,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top:last-child {
    margin-bottom: 0;
}
.feature_box_top h4{
    margin: 0;
}
/* 「３つの主な特徴」カード内 h4（直接子） */
.mansion_type3_tab_wrap .enjoy-02 .feature_box_top > h4,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top > h4 {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    /* padding-left: clamp(72px, 18vmin, 128px);
    padding-right: clamp(72px, 18vmin, 128px); */
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    color: #000;
    text-align: center;
}
.mansion_type3_tab_wrap .enjoy-02 .feature_box_top h4 span,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top h4 span {
    padding: 0 3px;
    color: #0099FF;
    font-size: 1.1em;
    font-weight: bold;
}
.mansion_type3_tab_wrap .enjoy-02 .feature_box_top .number,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top .number {
    position: absolute;
    top: 35px;
    left: 25px;
    transform: translateY(-50%);
    margin: 0;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-size: 85px;
    font-weight: bold;
    color: #D1EDFF;
    line-height: 1;
    letter-spacing: 0.08em;
    z-index: 0;
    pointer-events: none;
}
.mansion_type3_tab_wrap .enjoy-02 .feature_box_top:first-of-type .number,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top:first-of-type .number {
    top: 35px;
}
.mansion_type3_tab_wrap .enjoy-02 .feature_box_top .flex,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top .flex {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    min-width: 0;
    padding: 0 0 0 clamp(72px, 18vmin, 128px);
}
.mansion_type3_tab_wrap .enjoy-02 .feature_box_top .flex .text_box,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top .flex .text_box {
    padding-left: 0;
    max-width: none;
    text-align: left;
}
.mansion_type3_tab_wrap .enjoy-02 .feature_box_top .flex .text_box h4,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top .flex .text_box h4 {
    margin: 0;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    color: #000;
    text-align: left;
}
@media (max-width: 768px) {
    .mansion_type3_tab_wrap .enjoy-02 .feature_box_top,
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top {
        margin-bottom: 4vw;
        padding: 4vw 5vw;
        border-radius: 8px;
    }
    .mansion_type3_tab_wrap .enjoy-02 .feature_box_top .number,
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top .number {
        font-size: 19vw;
        top: 37px;
        left: 10px;
    }
    .mansion_type3_tab_wrap .enjoy-02 .feature_box_top:first-of-type .number,
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top:first-of-type .number {
        top: 37px;
        font-size: 19vw;
        left: 10px;
    }
    .mansion_type3_tab_wrap .enjoy-02 .feature_box_top .flex,
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top .flex {
        flex-direction: column;
        padding-left: clamp(52px, 22vw, 100px);
    }
    .mansion_type3_tab_wrap .enjoy-02 .feature_box_top .flex .text_box h4,
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top .flex .text_box h4 {
        font-size: calc(4.2vw - 2px);
    }
    .mansion_type3_tab_wrap .enjoy-02 .feature_box_top > h4,
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top > h4 {
        padding-left: 0;
        padding-right: 0;
        font-size: calc(4.2vw - 2px);
        text-align: center;
    }
    .mansion_type3_tab_wrap .enjoy-02 .feature_box_top > h4 span,
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .feature_box_top > h4 span {
        display: block;
        margin-top: 0.35em;
    }
}

/* バナー（picture）・フォームボタン（.link_button）の上下余白 */
.mansion_type3_tab_wrap .mansion_type3-vertical-space {
    margin-top: 28px;
    margin-bottom: 28px;
}
.mansion_type3_tab_wrap picture.mansion_type3-vertical-space {
    display: block;
}
.mansion_type3_tab_wrap picture.mansion_type3-vertical-space img {
    display: block;
    width: 100%;
    height: auto;
}
.mansion_type3_tab_wrap img.mansion_type3-vertical-space {
    display: block;
    max-width: 100%;
    height: auto;
}
.mansion_type3_tab_wrap .link_button.mansion_type3-vertical-space + .link_button.mansion_type3-vertical-space {
    margin-top: 12px;
}
@media (max-width: 768px) {
    .mansion_type3_tab_wrap .mansion_type3-vertical-space {
        margin-top: 5vw;
        margin-bottom: 5vw;
    }
    .mansion_type3_tab_wrap .link_button.mansion_type3-vertical-space + .link_button.mansion_type3-vertical-space {
        margin-top: 3vw;
    }
}

/* flow-area（service/tenant/css/style.css と同定義）
   #service_area 外の「お申し込みの流れ」等は .mansion_type3-flow-area で同一スタイル */
#service_area .sectionInner_s,
.mansion_type3_tab_wrap .mansion_type3-flow-area.sectionInner_s {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* メイン全体の text-align:center によるフロー崩れを防ぐ */
#service_area .flow_box,
#service_area .flow_box .flow_contents,
#service_area .flow_box .acc_body,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .flow_contents,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .acc_body {
    text-align: left;
}

#service_area .text.text_center,
.mansion_type3_tab_wrap .mansion_type3-flow-area .text.text_center {
    text-align: center;
}

/* タブ2：SP で視聴確認・プラン・動画ブロックの本文・見出しを左寄せ */
@media (max-width: 768px) {
    .tab-area-b #service_area .text.text_center {
        text-align: left;
    }

    .tab-area-b .mansion_type3-enjoy-plan > p,
    .tab-area-b .mansion_type3-enjoy-plan .mansion_type3-discount-apply-note {
        text-align: left;
    }

    .tab-area-b .mansion_type3-enjoy-plan > h4 {
        justify-content: flex-start;
    }

    .tab-area-b .enjoy-03 > h4 {
        justify-content: flex-start;
    }

    .tab-area-b .enjoy-03 > p {
        text-align: left;
    }
}

/* STEP 見出しの改行：PC のみ（共通 .pc と同等） */
#service_area br.pc,
.mansion_type3_tab_wrap .mansion_type3-flow-area br.pc {
    display: none;
}
@media (min-width: 769px) {
    #service_area br.pc,
    .mansion_type3_tab_wrap .mansion_type3-flow-area br.pc {
        display: inline;
    }
}

#service_area .flow_box,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box {
    display: flex;
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}
#service_area .flow_box:not(:last-child),
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box:not(:last-child) {
    margin-bottom: 63px;
}
#service_area .flow_box .step,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .step {
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
    background: #09F;
    color: #fff;
    display: flex;
    justify-content: center;
    width: 85px;
    align-items: center;
    text-align: center;
}
#service_area .flow_box .step p,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .step p {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}
#service_area .flow_box .step p span,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .step p span {
    font-size: 36px;
    letter-spacing: 0.08em;
}
#service_area .flow_box .flow_contents,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .flow_contents {
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
    padding: 0 40px 0;
    width: 100%;
}
#service_area .flow_box .flow_contents {
    background: #F5F5F5;
}
/* お申し込みの流れ（mansion_type3-flow-area）のみ本文エリアを白背景 */
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .flow_contents {
    background: #fff;
}
#service_area .flow_box .flow_contents h4,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .flow_contents h4 {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.35;
    margin: 25px 0 25px 0;
    padding: 0;
    text-align: left;
}
#service_area .flow_box .flow_contents h4+.acc_body,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .flow_contents h4+.acc_body {
    border-top: 2px solid #888888;
    margin: 0 0 0;
    padding: 20px 0 0;
}

/* 視聴確認：見出し＋画像を横並び（テキストは行の縦方向中央） */
#service_area .flow_box .flow_contents.mansion_type3-flow-contents-media {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 20px 28px;
    flex-wrap: nowrap;
    box-sizing: border-box;
    padding-top: 20px;
    padding-bottom: 0;
}

#service_area .flow_box .flow_contents.mansion_type3-flow-contents-media h4 {
    flex: 1 1 auto;
    min-width: 0;
    margin-top: 0;
    margin-bottom: 0;
    align-self: center;
}

#service_area .flow_box .flow_contents.mansion_type3-flow-contents-media img {
    flex-shrink: 0;
    display: block;
    width: auto;
    max-width: 45%;
    height: auto;
}
#service_area .flow_box:not(:last-child)::after,
.mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: -43px;
    right: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    border-top: 23px solid #09F;
    border-bottom: 0;
    margin: auto;
}
@media (max-width:768px) {
    #service_area .flow_box,
    .mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box {
        flex-direction: column;
    }
    #service_area .flow_box:not(:last-child),
    .mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box:not(:last-child) {
        margin-bottom: 12vw;
    }
    #service_area .flow_box .step,
    .mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .step {
        width: 100%;
        border-top-left-radius: 2.133vw;
        border-top-right-radius: 2.133vw;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        padding: 4vw 0;
    }
    #service_area .flow_box .step p span,
    .mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .step p span {
        font-size: 8vw;
    }
    #service_area .flow_box .step p,
    .mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .step p {
        font-size: 5.6vw;
        line-height: 1;
    }
    #service_area .flow_box .flow_contents,
    .mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .flow_contents {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-bottom-left-radius: 2.133vw;
        border-bottom-right-radius: 2.133vw;
        padding: 2vw;
    }
    #service_area .flow_box .flow_contents h4,
    .mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .flow_contents h4 {
        font-size: calc(5.333vw - 2px);
        text-align: center;
        position: relative;
    }

    /* 視聴確認：SP は見出しの下に画像（縦並び）・下パディングなし */
    #service_area .flow_box .flow_contents.mansion_type3-flow-contents-media {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 4vw;
        padding-top: 5vw;
        padding-bottom: 0;
    }

    #service_area .flow_box .flow_contents.mansion_type3-flow-contents-media h4 {
        text-align: center;
        width: 100%;
    }

    #service_area .flow_box .flow_contents.mansion_type3-flow-contents-media img {
        max-width: min(90%, 320px);
        width: auto;
    }
    #service_area .flow_box .flow_contents h4+.acc_body,
    .mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box .flow_contents h4+.acc_body {
        margin-top: 5.333vw;
        padding-top: 5.333vw;
    }
    #service_area .flow_box:not(:last-child)::after,
    .mansion_type3_tab_wrap .mansion_type3-flow-area .flow_box:not(:last-child)::after {
        bottom: -8vw;
        border-right: 5.33vw solid transparent;
        border-left: 5.33vw solid transparent;
        border-top: 4vw solid #09F;
    }
}

/* 導入フロー直下のお問い合わせボタン（共通 style.css 未読込環境向けの最低限） */
.mansion_type3_tab_wrap #service_area .link_button,
.mansion_type3_tab_wrap .mansion_type3-flow-area .link_button {
    margin: 20px auto;
    max-width: 900px;
    text-align: center;
}
@media (max-width: 768px) {
    .mansion_type3_tab_wrap #service_area .link_button,
    .mansion_type3_tab_wrap .mansion_type3-flow-area .link_button {
        margin-top: 10vw;
        padding: 0 4vw;
    }
    .mansion_type3_tab_wrap #service_area .link_button.border.type.type02 a,
    .mansion_type3_tab_wrap .mansion_type3-flow-area .link_button.border.type.type02 a {
        width: 100%;
        max-width: 100%;
    }
}

/* recruit_area */
.recruit_area{
    max-width: 740px;
    margin: 80px auto 0;
    background-color: #F0F0F0;
    padding: 35px 40px 40px 40px;
    border-radius: 10px;
}
@media (max-width:768px) {
    .recruit_area{
        width: 90%;
    }

}

/* 入居者ページ：タブエリアを中央寄せ */
.sectionWrapper_m .mansion_type3_tab_wrap {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    box-sizing: border-box;
}

/* セクション見出し（マンション共通の .title_type / .title_type02 に準拠） */
.mansion_type3_tab_wrap .title_type.title_type02 {
    font-size: 30px;
    font-weight: bold;
    color: #000;
    text-align: center;
    margin: 40px 0;
    padding: 0;
    line-height: 1.35;
}


.mansion_type3_tab_wrap section iframe {
    display: block;
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    height: auto;
    border: 0;
}

@media (max-width: 768px) {
    .mansion_type3_tab_wrap .title_type.title_type02 {
        font-size: 5.333vw;
        margin: 8vw 0 8vw;
    }
}

/* アコーディオン（main.js の switchAccordion 用） */
.mansion_type3_tab_wrap .js-howto-01-btn,
.mansion_type3_tab_wrap .js-enjoy-02-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    margin: 0 0 10px;
    color: #0099FF;
    font-weight: bold;
    text-decoration: none;
    border: 1px solid #0099FF;
    border-radius: 8px;
    background: #fff;
    text-align: center;
    cursor: pointer;
}

.mansion_type3_tab_wrap .js-howto-01-box,
.mansion_type3_tab_wrap .js-enjoy-02-box {
    margin-bottom: 16px;
}

/* 本文段落内のテキストリンク（コチラ等）：色・下線 */
.mansion_type3_tab_wrap p a {
    color: #0099FF;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.mansion_type3_tab_wrap p a:hover {
    opacity: 0.85;
}

/* テレビ設定イメージ：枠一体型アコーディオン */
.mansion_type3_tab_wrap .howto-tvimg-accordion {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0 0 16px;
    border: 1px solid #CFD2D4;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.mansion_type3_tab_wrap .howto-tvimg-accordion .js-howto-tvimg-btn.howto-tvimg-accordion__head {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 14px 52px 14px 16px;
    border: none;
    border-radius: 0;
    background: #fff;
    color: #0099FF;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.45;
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
}

.mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__label {
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
}

.mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
}

.mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__icon::before,
.mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: #0099FF;
    border-radius: 0;
    transform: translate(-50%, -50%);
}

.mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__icon::before {
    width: 3px;
    height: 20px;
}

.mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__icon::after {
    width: 20px;
    height: 3px;
}

.mansion_type3_tab_wrap .howto-tvimg-accordion.is-open .howto-tvimg-accordion__icon::before {
    display: none;
}

.mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__body {
    margin: 0;
    padding: 0 16px 20px;
    border-top: 1px solid #CFD2D4;
    background: #fff;
    box-sizing: border-box;
}

#howto-tvimg-panel[hidden] {
    display: none !important;
}

@media (max-width: 768px) {
    .mansion_type3_tab_wrap .howto-tvimg-accordion .js-howto-tvimg-btn.howto-tvimg-accordion__head {
        padding: 3.5vw 12vw 3.5vw 4vw;
        font-size: 3.5vw;
        text-align: center;
        gap: 3vw;
    }

    .mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__icon {
        right: 4vw;
        width: 8vw;
        height: 8vw;
        max-width: 36px;
        max-height: 36px;
    }

    .mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__icon::before {
        width: 0.8vw;
        min-width: 3px;
        height: 5.5vw;
        max-height: 22px;
    }

    .mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__icon::after {
        width: 5.5vw;
        max-width: 22px;
        height: 0.8vw;
        min-height: 3px;
    }

    .mansion_type3_tab_wrap .howto-tvimg-accordion .howto-tvimg-accordion__body {
        padding: 0 4vw 5vw;
    }
}

/* クラス gray：薄グレー背景のカード（.feature_box_bottom 等と同系統の角丸） */
.gray {
    background-color: #F5F5F5;
    padding: 50px 40px;
    border-radius: 15px;
    box-sizing: border-box;
    margin-bottom: 40px;
}

@media (max-width: 768px) {
    .gray {
        padding: 8vw 5.333vw;
        border-radius: 10px;
        margin-bottom: 8vw;
    }
}

/* テレビ設定ガイド：見出しアイコン＋テキストを縦方向中央揃え */
.mansion_type3_tab_wrap .howto-01 > h4,
.mansion_type3_tab_wrap .howto-02 > h4,
.mansion_type3_tab_wrap .enjoy-01 > h4,
.mansion_type3_tab_wrap .enjoy-02 > h4,
.mansion_type3_tab_wrap .enjoy-03 > h4 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 22px;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.4;
}

.mansion_type3_tab_wrap .howto-01 > h4 img,
.mansion_type3_tab_wrap .howto-02 > h4 img,
.mansion_type3_tab_wrap .enjoy-01 > h4 img,
.mansion_type3_tab_wrap .enjoy-02 > h4 img,
.mansion_type3_tab_wrap .enjoy-03 > h4 img {
    display: block;
    flex-shrink: 0;
    width: auto;
    height: auto;
}

@media (max-width: 768px) {
    .mansion_type3_tab_wrap .howto-01 > h4,
    .mansion_type3_tab_wrap .howto-02 > h4,
    .mansion_type3_tab_wrap .enjoy-01 > h4,
    .mansion_type3_tab_wrap .enjoy-02 > h4,
    .mansion_type3_tab_wrap .enjoy-03 > h4 {
        /* font-size: calc(4.2vw - 2px); */
        font-size: 6vw;
        gap: 2vw;
        margin-bottom: 3vw;
    }
}

/* h3 / h4 直下の本文段落 */
.mansion_type3_tab_wrap h3 + p,
.mansion_type3_tab_wrap h4 + p,
#case_list h3 + p,
#case_list h4 + p {
    margin-top: 12px;
    margin-bottom: 12px;
}

@media (max-width: 768px) {
    .mansion_type3_tab_wrap h3 + p,
    .mansion_type3_tab_wrap h4 + p,
    #case_list h3 + p,
    #case_list h4 + p {
        margin-top: 3vw;
        margin-bottom: 3vw;
    }
}

/* STEP.01 / STEP.02 バッジ（楕円）＋タイトル（黒） */
.mansion_type3_tab_wrap .howto-step-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 16px;
    margin: 28px 0 12px;
}

.mansion_type3_tab_wrap .howto-step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 22px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
    color: #0099FF;
    border: 2px solid #0099FF;
    border-radius: 999em;
    background: #fff;
    box-sizing: border-box;
    flex-shrink: 0;
}

.mansion_type3_tab_wrap .howto-step-title {
    color: #000;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
}

/* テレビ設定ガイド：画像ブロック（PCは横並び・SPは下のメディアクエリで縦並び） */
.mansion_type3_tab_wrap .howto-img-stack {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 35px;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.mansion_type3_tab_wrap .howto-img-stack:has(> img:only-child) {
    justify-content: center;
}

.mansion_type3_tab_wrap .howto-img-stack img {
    max-width: 355px;
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .mansion_type3_tab_wrap .howto-step-row {
        margin: 6vw 0 3vw;
        gap: 2vw 3vw;
    }

    .mansion_type3_tab_wrap .howto-step-badge {
        padding: 2.5vw 5vw;
        font-size: 4vw;
    }

    .mansion_type3_tab_wrap .howto-step-title {
        font-size: 4.2vw;
    }

    .mansion_type3_tab_wrap .howto-img-stack {
        flex-direction: column;
        align-items: center;
        gap: 5vw;
    }

    .mansion_type3_tab_wrap .howto-img-stack img {
        max-width: 100%;
    }
}

/* タブ1：リード文・説明ブロック（PC / SP） */
.mansion_type3_tab_wrap .mansion_type3-intro-lead {
    margin: 28px 0 28px;
}

.mansion_type3_tab_wrap .mansion_type3-intro-lead p {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 1.75;
}

.mansion_type3_tab_wrap .mansion_type3-intro-lead > img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* タブ2リード：吹き出し画像＋割引CTA */
.mansion_type3_tab_wrap .mansion_type3-intro-img-area {
    margin-top: 28px;
    margin-bottom: 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mansion_type3_tab_wrap .mansion_type3-intro-img-area img {
    display: block;
    width: 100%;
    max-width: 422px;
    height: auto;
}

.mansion_type3_tab_wrap .mansion_type3-intro-discount-btn {
    position: relative;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 265px;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    padding: 12px 36px 12px 20px;
    border: none;
    border-radius: 7px;
    background: #FD2839;
    color: #FFF;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}

.mansion_type3_tab_wrap .mansion_type3-intro-discount-btn:visited {
    color: #fff;
}

.mansion_type3_tab_wrap .mansion_type3-intro-discount-btn:hover {
    opacity: 0.92;
}

/* 矢印アイコン（url は運用に合わせて差し替え可） */
.mansion_type3_tab_wrap .mansion_type3-intro-discount-btn::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background: transparent url("../img/mansion/img_arrow.png") no-repeat center / contain;
    pointer-events: none;
}

.mansion_type3_tab_wrap .mansion_type3-text-block {
    margin: 22px 0 22px;
}

.mansion_type3_tab_wrap .howto-tvimg-accordion__body > .mansion_type3-text-block:last-child {
    margin-bottom: 0;
}

.mansion_type3_tab_wrap .mansion_type3-text-block p {
    margin: 0;
    font-size: 16px;
    line-height: 1.75;
}

/* .mansion_type3_tab_wrap .mansion_type3-text-block p + p {
    margin-top: 10px;
} */

.mansion_type3_tab_wrap .mansion_type3-text-block--footer {
    margin-top: 8px;
    margin-bottom: 0;
}

/* チャンネル設定フッター：エリア別チャンネル（2行・上段小さめ） */
.mansion_type3_tab_wrap .mansion_type3-text-block--footer .link_button.mansion_type3-channel-area-btn {
    margin: 16px auto 0;
    max-width: 900px;
}

.mansion_type3_tab_wrap .mansion_type3-channel-area-btn a {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35em;
    min-height: 66px;
    padding-top: 12px;
    padding-bottom: 12px;
    line-height: 1.45;
}

.mansion_type3_tab_wrap .mansion_type3-channel-area-btn .mansion_type3-channel-area-btn__row1 {
    display: block;
    text-align: center;
}

.mansion_type3_tab_wrap .mansion_type3-channel-area-btn .mansion_type3-channel-area-btn__row2 {
    display: block;
    text-align: center;
    font-size: 15px;
}

.mansion_type3_tab_wrap .mansion_type3-channel-area-btn .mansion_type3-channel-area-btn__lead {
    font-size: 12px;
    font-weight: normal;
    line-height: 1.35;
}

@media (max-width: 768px) {
    .mansion_type3_tab_wrap .mansion_type3-text-block--footer .link_button.mansion_type3-channel-area-btn {
        margin-top: 4vw;
        padding: 0 4vw;
        max-width: 100%;
    }

    .mansion_type3_tab_wrap .mansion_type3-channel-area-btn a {
        min-height: 16vw;
        padding-top: 3vw;
        padding-bottom: 3vw;
    }

    .mansion_type3_tab_wrap .mansion_type3-channel-area-btn .mansion_type3-channel-area-btn__row2 {
        font-size: 3.26vw;
    }

    .mansion_type3_tab_wrap .mansion_type3-channel-area-btn .mansion_type3-channel-area-btn__lead {
        font-size: 3.2vw;
    }
}

/* 4K8K「必要な機器」：カードエリア・注記 */
.mansion_type3_tab_wrap .enjoy-02-body {
    text-align: center;
}

.mansion_type3_tab_wrap .enjoy-02 .card-area {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 24px;
    margin: 0 auto 28px;
    max-width: 100%;
}

.mansion_type3_tab_wrap .enjoy-02 .img-card {
    margin: 0;
    max-width: 395px;
    width: 100%;
    box-sizing: border-box;
    background: #D0F0FE;
    padding: 20px 18px 22px;
    border-radius: 10px;
}

.mansion_type3_tab_wrap .enjoy-02 .img-card img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.mansion_type3_tab_wrap .enjoy-02 .img-card .img-card-caption {
    margin: 14px 0 0;
    font-size: 16px;
    line-height: 1.7;
}

/* 割引バナー直下：最大2か月無料の注釈（本文より一段小さく） */
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-discount-apply-note {
    font-size: 12px;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-discount-apply-note {
        font-size: 3.4vw;
    }
}

/* 割引プラン：注釈・フォームボタン（親の sectionWrapper_m 中央揃えを打ち消し） */
.mansion_type3_tab_wrap .enjoy-02 .mansion_type3-enjoy-discount-notes,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-enjoy-discount-notes {
    text-align: left;
}

.mansion_type3_tab_wrap .enjoy-02 .mansion_type3-enjoy-discount-notes ul,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-enjoy-discount-notes ul {
    margin: 16px 0 0;
    padding-left: 0;
    list-style: none;
    text-align: left;
}

.mansion_type3_tab_wrap .enjoy-02 .mansion_type3-enjoy-discount-notes li,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-enjoy-discount-notes li {
    text-align: left;
    line-height: 1.7;
    font-size: 12px;
}

.mansion_type3_tab_wrap .enjoy-02 .mansion_type3-enjoy-discount-notes li + li,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-enjoy-discount-notes li + li {
    margin-top: 0.5em;
}

.mansion_type3_tab_wrap #service_area .mansion_type3-enjoy-discount-notes div.link_button,
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-enjoy-discount-notes div.link_button {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

/* タブ2「スカパー！のご案内」：画面下部に固定するCTA（白半透明） */
.mansion_type3-sticky-join {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10030;
    padding: 10px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.52);
    box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.08);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.mansion_type3-sticky-join.is-dismissed {
    display: none !important;
}

.mansion_type3-sticky-join__close {
    position: absolute;
    top: 6px;
    right: calc(8px + env(safe-area-inset-right, 0px));
    z-index: 2;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #333;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.mansion_type3-sticky-join__close:hover {
    background: rgba(0, 0, 0, 0.06);
    color: #111;
}

.mansion_type3-sticky-join__close:focus {
    outline: 2px solid #333;
    outline-offset: 2px;
}

.mansion_type3-sticky-join__close span {
    display: block;
    margin-top: -2px;
}

/* タブ2かつタブナビ下端より下へスクロールしたときのみ表示（JS で body.mansion_type3-sticky-past-tabs を付与） */
body:not(.mansion_type3-tab1-active).mansion_type3-sticky-past-tabs .mansion_type3-sticky-join {
    display: block;
}

.mansion_type3-sticky-join__note {
    margin: 0;
    padding: 8px 12px 14px;
    box-sizing: border-box;
    text-align: center;
    font-size: 12px;
    line-height: 1.55;
    color: #333;
}

@media (max-width: 768px) {
    .mansion_type3-sticky-join__note {
        padding: 3vw 0;
        font-size: 12px;
    }
}

.mansion_type3-sticky-join__inner {
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: center;
}

.mansion_type3-sticky-join .mansion_type3-sticky-join__btn.link_button {
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 768px) {
    .mansion_type3-sticky-join {
        padding: 2.5vw 4vw calc(3vw + env(safe-area-inset-bottom, 0px));
    }
}

/* 割引プラン：ご加入のお申し込み（ピンク・逆くの字アイコン）—本文 */
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-join-campaign-btn.link_button.border a {
    background: #FF4171;
    color: #fff;
    border-color: #FF4171;
    padding-right: 52px;
}

.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-join-campaign-btn.link_button.border a:hover {
    background: #e63a66;
    color: #fff;
    border-color: #e63a66;
    opacity: 1;
}

/* 吸着バー内：共通 .type.type02 等の background:url を無効化し、親の白半透明が透けるようボタンは半透明 */
.mansion_type3-sticky-join .mansion_type3-join-campaign-btn.link_button.border.type.type02 a {
    background: none !important;
    background-color: rgba(255, 65, 113, 1) !important;
    color: #fff;
    border-color: rgba(255, 65, 113, 0.95);
    padding-right: 52px;
}

.mansion_type3-sticky-join .mansion_type3-join-campaign-btn.link_button.border.type.type02 a:hover {
    background: none !important;
    background-color: rgba(230, 58, 102, 0.55) !important;
    color: #fff;
    border-color: rgba(230, 58, 102, 0.95);
    opacity: 1;
}

.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-join-campaign-btn.link_button.border a::after,
.mansion_type3-sticky-join .mansion_type3-join-campaign-btn.link_button.border a::after {
    content: "";
    position: absolute;
    right: 22px;
    /* top: 50%; */
    width: 9px;
    height: 9px;
    box-sizing: border-box;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}

@media (max-width: 768px) {
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-join-campaign-btn.link_button.border a,
    .mansion_type3-sticky-join .mansion_type3-join-campaign-btn.link_button.border a {
        padding-right: 14vw;
    }

    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-join-campaign-btn.link_button.border a::after,
    .mansion_type3-sticky-join .mansion_type3-join-campaign-btn.link_button.border a::after {
        background: none;
        right: 5.5vw;
        width: 2vw;
        height: 2vw;
        border-top-width: 2px;
        border-right-width: 2px;
    }
}

/* 割引プラン：価格表・TEL 画像は左右中央（img に誤って付いた .link_button の左寄せを打ち消し） */
.mansion_type3_tab_wrap .enjoy-02 .mansion_type3-enjoy-discount-notes img[src*="img_price3000"],
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-enjoy-discount-notes img[src*="img_price3000"],
.mansion_type3_tab_wrap .mansion_type3-enjoy-plan > img[src*="img_TEL"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    height: auto;
}

.mansion_type3_tab_wrap .enjoy-02 .enjoy-02-notes {
    margin-bottom: 24px;
    text-align: left;
}

.mansion_type3_tab_wrap .enjoy-02 .enjoy-02-notes p {
    font-size: 14px;
    line-height: 1.7;
}

.mansion_type3_tab_wrap .enjoy-02 .enjoy-02-nav-note {
    margin: 0;
}

.mansion_type3_tab_wrap .enjoy-02 .enjoy-02-nav-note img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto 12px;
}

.mansion_type3_tab_wrap .enjoy-02 .enjoy-02-nav-note p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .mansion_type3_tab_wrap .mansion_type3-intro-lead {
        margin: 6vw 0;
    }

    .mansion_type3_tab_wrap .mansion_type3-intro-img-area {
        margin-top: 5vw;
        margin-bottom: 5vw;
    }

    .mansion_type3_tab_wrap .mansion_type3-intro-discount-btn {
        margin-top: 4vw;
        padding: 3vw 10vw 3vw 5vw;
        font-size: 3.73vw;
        min-height: 11vw;
    }

    .mansion_type3_tab_wrap .mansion_type3-intro-discount-btn::after {
        right: 4vw;
        width: 2.7vw;
        height: 2.7vw;
        max-width: 12px;
        max-height: 12px;
    }

    .mansion_type3_tab_wrap .mansion_type3-intro-lead p {
        margin: 4vw 0;
        font-size: 3.73vw;
        line-height: 1.65;
        text-align: left;
    }

    .mansion_type3_tab_wrap .mansion_type3-text-block {
        margin: 5vw 0;
    }
    .mansion_type3_tab_wrap .mansion_type3-text-block.left{
        text-align: left;
    }
    .mansion_type3_tab_wrap .mansion_type3-text-block p {
        font-size: 3vw;
        line-height: 1.8;
    }

    /* .mansion_type3_tab_wrap .mansion_type3-text-block p + p {
        margin-top: 2.5vw;
    } */

    .mansion_type3_tab_wrap .enjoy-02 .card-area {
        flex-direction: column;
        align-items: center;
        gap: 5vw;
        margin-bottom: 5vw;
    }

    .mansion_type3_tab_wrap .enjoy-02 .img-card {
        max-width: 395px;
        padding: 4vw 4.5vw 4.5vw;
        border-radius: 2.5vw;
    }

    .mansion_type3_tab_wrap .enjoy-02 .img-card .img-card-caption {
        margin-top: 3vw;
        font-size: 3.73vw;
        line-height: 1.65;
    }

    .mansion_type3_tab_wrap .enjoy-02 .enjoy-02-notes {
        margin-bottom: 5vw;
    }

    .mansion_type3_tab_wrap .enjoy-02 .mansion_type3-enjoy-discount-notes ul,
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-enjoy-discount-notes ul {
        margin-top: 4vw;
    }

    .mansion_type3_tab_wrap .enjoy-02 .mansion_type3-enjoy-discount-notes li,
    .mansion_type3_tab_wrap .mansion_type3-enjoy-plan .mansion_type3-enjoy-discount-notes li {
        font-size: 3.47vw;
        line-height: 1.65;
    }

    .mansion_type3_tab_wrap .enjoy-02 .enjoy-02-notes p {
        font-size: 3.47vw;
        line-height: 1.65;
    }

    .mansion_type3_tab_wrap .enjoy-02 .enjoy-02-nav-note img {
        margin-bottom: 2.5vw;
    }

    .mansion_type3_tab_wrap .enjoy-02 .enjoy-02-nav-note p {
        font-size: 3.47vw;
        line-height: 1.65;
    }
}
