@charset "utf-8";

/* ========================================
   基本設定
======================================== */
body {
    background: #E7F4E7 !important;
}

/* ========================================
   ユーティリティクラス
======================================== */
.p0 {
    padding: 0 !important;
}

.p0 figure {
    padding: 0 !important;
}

.m0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.m10 {
    margin-top: 10px !important;
}

.p10 {
    padding: 10px !important;
}

.br20 {
    border-radius: 20px;
}

.br20-up {
    border-radius: 20px 20px 0 0;
}

/* ========================================
   レイアウト - ヘッダー・パンくず
======================================== */
.l-header__content {
    display: none;
}

.l-contents__container > .p-breadcrumbs-wrapper:first-child,
.l-contents__container > .p-breadcrumbs-wrapper:last-child,
.l-contents__container > .u-slim-width > .p-breadcrumbs-wrapper:first-child,
.l-contents__container > .u-slim-width > .p-breadcrumbs-wrapper:last-child {
    display: none;
}

.c-page-header {
    display: none !important;
}

.l-contents__inner {
    margin-top: 0 !important;
}

/* ========================================
   LP用ヘッダー
======================================== */
.wp-block-snow-monkey-blocks-section.alignfull.smb-section.smb-section--fit.header {
    padding-top: 5px;
    padding-bottom: 5px;
    margin-top: 0;
}

.wp-block-snow-monkey-blocks-section.alignfull.smb-section.smb-section--fit.header .smb-section__body .wp-block-columns {
    align-items: center;
}

.header .wp-block-column p.header-tel {
    margin-top: 0 !important;
    line-height: 0.8;
    display: flex;
    align-items: center;
}

.smb-section-with-bgimage__bgimage img {
    object-fit: cover;
}

.header_area {
    position: relative;
    z-index: 1;
}

.header_area::after {
    content: "";
    position: absolute;
    top: -45px;
    left: calc(50% - 90px);
    width: 180px;
    height: 135px;
    background-image: url(http://positive-w.com/cms/wp-content/uploads/2025/11/img_lp_h3_bg.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
}

.header-tel a{
    text-decoration: none;
    color: #ff7224;
}

.wp-block-snow-monkey-blocks-section.alignfull.smb-section.smb-section--fit.header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    min-width: 100vw;
}

.wp-block-snow-monkey-blocks-section-with-bgimage.alignfull.smb-section.smb-section-with-bgimage.smb-section--fit.lp_main.p0.sme-hidden-sm {
    margin-top: 73px;
}

@media print, screen and (max-width: 782px) {
    .wp-block-snow-monkey-blocks-section-with-bgimage.alignfull.smb-section.smb-section-with-bgimage.smb-section--fit.lp_main.p0.sme-hidden-sm {
        margin-top: 60px;
    }
}

@media print, screen and (max-width: 768px) {
    .wp-block-snow-monkey-blocks-section-with-bgimage.alignfull.smb-section.smb-section-with-bgimage.smb-section--fit.lp_main.p0.sme-hidden-sm {
        margin-top: 29px;
    }
}


/* ========================================
   セクション - PR
======================================== */
.lp_section_pr {
    padding: 2rem 0;
}

.section_lp_inner_pr {
    border: 2px solid #389127;
    border-radius: 20px;
    background-color: #fff;
    padding: 0;
    overflow: visible;
    min-height: 150px;
    position: relative;
}

.section_lp_inner_pr figure {
    position: absolute;
    bottom: -37px;
    left: 4%;
}

/* ========================================
   セクション - オレンジ
======================================== */
.section_lp_orange {
    padding: 50px 0;
    margin-top: 0 !important;
    position: relative;
    margin-bottom: 5rem;
}

.section_lp_orange::after {
    content: "";
    position: absolute;
    bottom: -50px;
    left: calc(50% - 125px);
    width: 0;
    height: 0;
    border-left: 125px solid transparent;
    border-right: 125px solid transparent;
    border-bottom: 60px solid #F39702;
    z-index: -1;
    rotate: 180deg;
}

/* ========================================
   セクション - 見出し
======================================== */
.section_lp_heading {
    padding: 50px 0;
    margin-top: 0 !important;
    position: relative;
}

/* ========================================
   セクション - グリーン
======================================== */
.section_lp_green {
    padding-top: 0 !important;
    border-radius: 20px;
}

.section_lp_green .c-container {
    padding-left: 0;
    padding-right: 0;
}

.wp-block-columns.section_lp_green_header {
    padding: 0;
}

.wp-block-column.section_lp_green_header_right {
    padding: 10px;
    padding-right: 2rem;
}

.wp-block-columns.section_lp_green_header.has-white-background-color.has-background {
    border-radius: 20px;
}

.section_lp_green_header p.has-white-color.has-text-color.has-background {
    border-radius: 20px 0 0 20px;
    padding-left: 2rem !important;
    padding: 1rem;
}

.wp-block-columns.columns_soudan_inner {
    max-width: 90%;
    margin: 1rem auto;
}

p.columns_soudan_inner_heading {
    border-bottom: 1px solid #44ac07;
}

.wp-block-snow-monkey-blocks-list.smb-list {
    display: flex;
    margin-left: 100px;
}

.smb-list ul > li .smb-list__icon {
    left: -2em;
    line-height: 1;
    position: absolute;
    top: 8px;
}

/* ========================================
   セクション - 悩み
======================================== */
.box_lp_nayami {
    position: relative;
}

.box_lp_nayami::after {
    content: "";
    position: absolute;
    bottom: -50px;
    left: calc(50% - 80px);
    width: 0;
    height: 0;
    border-left: 80px solid transparent;
    border-right: 80px solid transparent;
    border-bottom: 60px solid #43648D;
    z-index: 1;
    rotate: 180deg;
}

/* ========================================
   セクション - 特徴
======================================== */
.section_lp_tokucho .box_3columns .smb-box {
    min-height: 420px;
}

/* ========================================
   セクション - プロフィール
======================================== */
.section_lp_profile figure {
    display: flex;
    justify-content: flex-end;
}

/* ========================================
   セクション - フロー
======================================== */
.wp-block-column.lp_flow_circle.has-background {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    max-width: 100px;
    max-height: 100px;
    aspect-ratio: 1 / 1;
    z-index: 1;
}

.lp_flow_box {
    margin-top: 0;
    padding: 1rem 3rem !important;
    border-radius: 20px;
}

.wp-block-column.is-vertically-aligned-center.lp_flow_box.has-white-background-color.has-background {
    margin-left: -1rem;
    z-index: 0;
}

.wp-block-columns.are-vertically-aligned-center.lp_flow_container {
    display: flex;
    justify-content: center;
    margin-left: 1rem;
}

.lp_flow_box p:not(:first-child) {
    margin-top: 10px;
}

/* ========================================
   セクション - 料金
======================================== */
.section_lp_cost .wp-block-column .smb-box {
    padding: 0 !important;
}

.section_lp_cost .wp-block-column .smb-box.box_containar {
    padding: 0 !important;
    height: 100%;
}

.section_lp_cost .wp-block-column .smb-box.box_containar .box_containar-inner {
    height: 145px;
    padding: 10px !important;
}

.wp-block-snow-monkey-blocks-box.smb-box.box_containar.box_containar_right {
    padding: 10px 16px !important;
}

p.has-text-align-center.m0.br20-up.cost_heading_green.has-white-color.has-text-color.has-background {
    padding: 1rem;
}

p.has-text-align-center.p_lp_cost.has-text-color {
    margin-top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

/* ========================================
   セクション - コンタクト
======================================== */
p.m0.tel_contact_p.has-text-color {
    line-height: 1.4;
    display: flex;
    align-items: center;
}

.wp-block-columns.columns_lp_contact.has-white-background-color.has-background {
    padding: 2rem 3rem;
}

.wp-block-columns.columns_lp_contact .wp-block-column {
    padding: 2rem 1rem;
}

.wp-block-column.column_lp_left {
    border-right: 1px solid #333;
}

.columns_lp_contact {
    border-radius: 10px;
}

div#lp_otoiawase .c-container {
    padding-left: 0;
    padding-right: 0;
}

.tel_contact_p a{
    text-decoration: none;
    color: #ff7224;
}

/* ========================================
   コンタクトフォーム
======================================== */
.p-contactform table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.table_rows tbody th {
    background: #307E18 !important;
    color: #fff !important;
    font-weight: bold !important;
    text-align: left;
    width: 25%;
    padding: 12px 15px;
    vertical-align: middle;
    font-weight: normal;
}

.p-contactform td {
    background: #fff !important;
    padding: 12px 15px !important;
    border-bottom: 1px solid #d5d5d5;
}

.input-full,
.input-half,
textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

.input-half {
    width: 48%;
    margin-bottom: 6px;
}

.required {
    color: #d00;
    font-weight: bold;
}

.privacy-text {
    margin-top: 20px;
    font-size: 0.9em;
}

.privacy-check {
    margin: 10px 0;
}

.privacy-container {
    text-align: center;
}

.submit-btn input[type="submit"] {
    background: #e9a63b;
    color: #fff;
    font-weight: bold;
    padding: 12px 40px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: 0.3s;
}

.submit-btn input[type="submit"]:hover {
    background: #cc8a2d;
}

/* ========================================
   レスポンシブ - タブレット (max-width: 1023px)
======================================== */
@media print, screen and (max-width: 1023px) {
    .top-right {
        display: none;
    }
}

/* ========================================
   レスポンシブ - 1224px以下
======================================== */
@media screen and (max-width: 1224px) {
    p.p_lp_cost {
        font-size: 35px !important;
        padding: 1.5rem !important;
    }
}

/* ========================================
   レスポンシブ - 1150px以下
======================================== */
@media screen and (max-width: 1150px) {
    .header .sp_none {
        display: none;
    }

    .lp_header_columns .wp-block-column {
        flex-basis: 100% !important;
    }

    .wp-block-column .column_jukyuugaku {
        flex-basis: 30% !important;
    }

    .section_lp_green_header_number {
        flex-basis: 20% !important;
    }

    .lp_header_columns p.has-text-color.has-sm-small-font-size {
        text-align: right;
    }

    .header .wp-block-column p.header-tel {
        justify-content: flex-end;
    }
}
/* ========================================
   レスポンシブ - 1130px以下
======================================== */
@media screen and (max-width: 1130px) {
    .wp-block-columns.box_3columns p {
        font-size: 20px !important;
    }
}

/* ========================================
   レスポンシブ - 1089px以下
======================================== */
@media screen and (max-width: 1089px) {
    p.tel_contact_p {
        font-size: 30px !important;
    }

    .tel_contact_p img {
        max-width: 22px;
    }
}

/* ========================================
   レスポンシブ - 1024px以下
======================================== */
@media screen and (max-width: 1024px) {
    .columns_message .wp-block-column {
        flex-basis: 100% !important;
    }

    .wp-block-columns.columns_message:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) {
        flex-basis: 100% !important;
    }
}

/* ========================================
   レスポンシブ - 1000px以下
======================================== */
@media screen and (max-width: 1000px) {
    .section_lp_inner_pr figure {
        position: static;
        bottom: 0;
        left: 0;
    }

    .heading_jukyuurei p {
        font-size: 20px !important;
    }
}

/* ========================================
   レスポンシブ - 980px以下
======================================== */
@media screen and (max-width: 980px) {
    .wp-block-columns.box_3columns {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        gap: 10px;
        align-content: center;
    }

    .wp-block-columns.box_3columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        max-width: 600px;
    }

    .wp-block-columns.box_3columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) {
        margin-left: 0 !important;
    }

    .columns_cost {
        display: flex;
        flex-direction: column;
    }

    .wp-block-columns.columns_cost:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) {
        margin-left: 0 !important;
    }
}

/* ========================================
   レスポンシブ - 786px以下
======================================== */
@media screen and (max-width: 786px) {
    .wp-block-columns.p0.heading_jukyuurei.has-background {
        display: flex;
        flex-direction: column;
    }

    .wp-block-columns.section_lp_green_header.has-white-background-color.has-background {
        display: flex;
        flex-direction: column;
    }

    .section_lp_green_header p.has-white-color.has-text-color.has-background {
        border-radius: 10px 10px 0 0;
        padding-left: 8px !important;
        padding: 8px;
        text-align: center;
    }

    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(2n) {
        margin-left: 0 !important;
    }

    p.has-text-align-center.p_example_maincopy.has-text-color {
        font-size: 24px !important;
    }

    .wp-block-columns.columns_soudan_inner {
        display: flex;
        flex-direction: column;
    }
}

/* ========================================
   レスポンシブ - 781px以下
======================================== */
@media screen and (max-width: 781px) {
    .lp_header_columns.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) {
        flex-basis: 100% !important;
    }
}

/* ========================================
   レスポンシブ - スマホ (max-width: 768px)
======================================== */
@media screen and (max-width: 768px) {
    /* 共通 */
    .sp_none {
        display: none;
    }

    .top-right {
        display: none;
    }

    /* ヘッダー */
    .header .wp-block-image figcaption {
        display: none;
    }

    .header-tel {
        font-size: 22px !important;
        word-break: keep-all;
    }

    /* セクション - PR */
    .p_pr_copy {
        font-size: 16px !important;
    }

    .section_lp_inner_pr .wp-block-column {
        margin-left: 0 !important;
    }

    /* コピーテキスト */
    .lp_copy_text {
        font-size: 18px !important;
    }

    /* セクション - オレンジ */
    .section_lp_orange {
        padding: 25px 0;
        margin-bottom: 0;
    }

    .section_lp_orange::after {
        bottom: -25px;
        left: calc(50% - 60px);
        border-left: 60px solid transparent;
        border-right: 60px solid transparent;
        border-bottom: 30px solid #F39702;
    }

    .section_lp_orange p {
        font-size: 18px !important;
    }

    .section_lp_orange .wp-block-snow-monkey-blocks-section .smb-section .smb-section--fit {
        padding-top: 0;
    }

    /* セクション - 見出し */
    .section_lp_heading {
        padding: 25px 0;
    }

    .section_lp_heading p {
        font-size: 18px !important;
    }

    /* セクション - グリーン */
    .section_lp_green {
        border-radius: 10px;
    }

    .wp-block-columns.section_lp_green_header.has-white-background-color.has-background {
        border-radius: 10px;
    }

    .section_lp_green_header .wp-block-column {
        margin-top: 0 !important;
    }

    .section_lp_green_header .wp-block-column p {
        font-size: 16px !important;
        padding: 10px;
    }

    .wp-block-column.section_lp_green_header_right {
        margin-top: 0 !important;
        padding-top: 8px;
        padding-right: 10px;
    }

    p.has-text-align-center.p_example_number.has-white-color.has-text-color {
        font-size: 18px !important;
        padding: 12px;
        padding-bottom: 0;
    }

    p.has-text-align-center.p_example_maincopy.has-text-color {
        font-size: 16px !important;
        text-align: left;
        padding: 0 16px;
    }

    .wp-block-column.is-vertically-aligned-center.columns_exanple_person {
        display: flex;
        flex-direction: row;
        gap: 10px;
        align-items: center;
    }

    .columns_exanple_person figure.wp-block-image.size-full {
        width: 25%;
    }

    .columns_soudan_inner_heading {
        font-size: 16px !important;
    }

    .columns_soudan_inner p {
        font-size: 16px !important;
    }

    .wp-block-snow-monkey-blocks-list.smb-list {
        margin-left: 0;
        margin-top: 1rem;
    }

    /* セクション - 悩み */
    .box_lp_nayami {
        padding: 8px 26px;
        margin-top: 0 !important;
    }

    p.has-text-align-center.p-nayami-copy-end.has-white-color.has-text-color {
        font-size: 24px !important;
    }

    /* セクション - プロフィール */
    p.copy_lp_profile.has-text-color {
        font-size: 20px !important;
    }

    /* セクション - フロー */
    .wp-block-column.lp_flow_circle.has-background {
        max-width: 66px;
        max-height: 66px;
        padding: 0;
    }

    .lp_flow_circle p.has-text-align-center.has-white-color.has-text-color {
        font-size: 18px !important;
    }

    .lp_flow_container {
        position: relative;
        margin-left: 0;
    }

    .lp_flow_circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .wp-block-column.is-vertically-aligned-center.lp_flow_box.has-white-background-color.has-background {
        margin-left: 2rem;
        flex-basis: 100% !important;
        padding: 1rem 1rem 1rem 3rem !important;
    }

    .lp_flow_box p:first-child {
        font-size: 18px !important;
    }

    p.has-text-align-center.p_flow_end.has-text-color {
        font-size: 18px !important;
        text-align: left;
    }

    /* セクション - 料金 */
    p.has-text-align-center.m0.br20-up.cost_heading_green.has-white-color.has-text-color.has-background {
        font-size: 18px !important;
        padding: 0.5rem;
    }

    p.has-text-align-center.p_lp_cost.has-text-color {
        font-size: 20px !important;
        padding: 0.5rem;
    }

    .section_lp_cost .wp-block-column .smb-box.box_containar {
        height: 100%;
    }

    .section_lp_cost .wp-block-column .smb-box.box_containar .box_containar-inner {
        height: 100%;
        padding: 5px !important;
    }

    .box_containar-inner p {
        font-size: 12px !important;
        margin-top: 0.5rem !important;
    }

    p.has-text-align-center.p_heading_cost-right.has-text-color {
        font-size: 17px !important;
        padding: 0.5rem;
    }

    figure.wp-block-image.size-full.img_plus_cost {
        text-align: center;
        max-width: 30px;
    }

    .section_lp_cost .wp-block-column {
        margin-top: 0 !important;
    }

    .section_lp_cost .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:not(:first-child) {
        margin-left: 0.5rem;
    }

    p.has-text-align-right.m0.p_cost_add {
        font-size: 12px;
    }

    /* セクション - メッセージ */
    .section_lp_message .smb-section__contents-wrapper {
        width: 100% !important;
    }

    .section_lp_message p.has-text-color {
        font-size: 17px !important;
    }

    .section_lp_message .c-container {
        padding-left: 0;
        padding-right: 0;
    }

    /* セクション - コンタクト */
    .wp-block-columns.columns_lp_contact.has-white-background-color.has-background {
        padding: 1rem;
    }

    .wp-block-column.is-vertically-aligned-center.column_lp_left {
        padding: 0;
        border-right: none;
    }

    img.wp-image-1867 {
        max-width: 22px;
    }

    p.m0.tel_contact_p {
        font-size: 37px !important;
    }

    .column_lp_right {
        text-align: center;
    }

    .p_contact_time {
        font-size: 14px !important;
    }

    /* コンタクトフォーム */
    .p-contactform table,
    .p-contactform tbody,
    .p-contactform tr,
    .p-contactform th,
    .p-contactform td {
        display: block;
        width: 100%;
    }

    .table_rows table,
    .table_rows tbody,
    .table_rows tbody tr,
    .table_rows tbody th,
    .table_rows tbody td {
        display: block;
        width: 100%;
    }

    .table_rows tbody th {
        width: 100%;
        padding: 10px;
    }

    .p-contactform td {
        background: #f8f8f8;
        padding: 10px;
        border-bottom: 2px solid #fff;
    }

    .input-half {
        width: 100%;
    }

    textarea {
        min-height: 160px;
    }

    .submit-btn input[type="submit"] {
        width: 100%;
        padding: 14px 0;
    }

    .wpcf7-submit {
        margin-left: 0 !important;
    }
}
@media print, screen and (max-width: 388px) {
    .header-tel {
        font-size: 18px !important;
    }
}


/* ========================================
   レスポンシブ - 640px以下
======================================== */
@media print, screen and (max-width: 640px) {
    .top-right {
        display: none;
    }
}