.elementor-20986 .elementor-element.elementor-element-615d00ee:not(.elementor-motion-effects-element-type-background), .elementor-20986 .elementor-element.elementor-element-615d00ee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#CFCFCF;}.elementor-20986 .elementor-element.elementor-element-615d00ee{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-20986 .elementor-element.elementor-element-615d00ee > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-20986 .elementor-element.elementor-element-242546be:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-20986 .elementor-element.elementor-element-242546be > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F1D073;}.elementor-20986 .elementor-element.elementor-element-242546be > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-20986 .elementor-element.elementor-element-242546be > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-20986 .elementor-element.elementor-element-c5c0055{text-align:center;}.elementor-20986 .elementor-element.elementor-element-33978d95 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-20986 .elementor-element.elementor-element-641f99f6{color:var( --e-global-color-secondary );}.elementor-20986 .elementor-element.elementor-element-26c63d0c{color:var( --e-global-color-090bd1c );}.elementor-20986 .elementor-element.elementor-element-3b675475{color:var( --e-global-color-090bd1c );}.elementor-20986 .elementor-element.elementor-element-19f7e2d0{color:var( --e-global-color-secondary );}.elementor-20986 .elementor-element.elementor-element-7e3b71a4{color:var( --e-global-color-secondary );}.elementor-20986 .elementor-element.elementor-element-33ce58dc{color:var( --e-global-color-090bd1c );}.elementor-20986 .elementor-element.elementor-element-3c277940{color:var( --e-global-color-secondary );}.elementor-20986 .elementor-element.elementor-element-0df4e5e{color:var( --e-global-color-secondary );}.elementor-20986 .elementor-element.elementor-element-3a8d23dc{color:var( --e-global-color-secondary );}.elementor-20986 .elementor-element.elementor-element-65527c89{color:var( --e-global-color-secondary );}.elementor-20986 .elementor-element.elementor-element-5c42175d:not(.elementor-motion-effects-element-type-background), .elementor-20986 .elementor-element.elementor-element-5c42175d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFBEF;}.elementor-20986 .elementor-element.elementor-element-5c42175d{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-20986 .elementor-element.elementor-element-5c42175d > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-20986 .elementor-element.elementor-element-7cf2821{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-20986 .elementor-element.elementor-element-7cf2821 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-20986 .elementor-element.elementor-element-5622889{text-align:justify;}.elementor-20986 .elementor-element.elementor-element-37a0ce9e .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-20986 .elementor-element.elementor-element-5f7e356f{text-align:justify;}.elementor-20986 .elementor-element.elementor-element-152d6f35{text-align:justify;}.elementor-20986 .elementor-element.elementor-element-63de306d{text-align:justify;}.elementor-20986 .elementor-element.elementor-element-3772b934:not(.elementor-motion-effects-element-type-background), .elementor-20986 .elementor-element.elementor-element-3772b934 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EAFAFE;}.elementor-20986 .elementor-element.elementor-element-3772b934{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-20986 .elementor-element.elementor-element-3772b934 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-20986 .elementor-element.elementor-element-18c7fdf2{text-align:justify;}.elementor-20986 .elementor-element.elementor-element-157325cf{text-align:justify;}.elementor-20986 .elementor-element.elementor-element-15642527{text-align:justify;}.elementor-20986 .elementor-element.elementor-element-63a3d29c:not(.elementor-motion-effects-element-type-background), .elementor-20986 .elementor-element.elementor-element-63a3d29c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFBEF;}.elementor-20986 .elementor-element.elementor-element-63a3d29c{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-20986 .elementor-element.elementor-element-63a3d29c > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-20986 .elementor-element.elementor-element-7053ca15:not(.elementor-motion-effects-element-type-background), .elementor-20986 .elementor-element.elementor-element-7053ca15 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-20986 .elementor-element.elementor-element-7053ca15{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-20986 .elementor-element.elementor-element-7053ca15 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}/* Start custom CSS *//* ベース --------------------------------------------- */
.elementor-widget-container {
    color: #333;
    font-size: var(--base-size);
    font-weight: 400;
    font-family: "noto sans JP", Sans-Serif;
}
.elementor-section p,
.elementor-widget,
.elementor-widget:not(:last-child),
.elementor-element,
dl, dd {
    margin: 0;
}
.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: 0;
}

/* 汎用 --------------------------------------------- */
.l-section {
    &:not(.l-section--intro) .elementor-column  {
        width: min(800px, 100%);
        margin: 0 auto;
    }
    & a {
        color: var(--e-global-color-b068409);
        text-decoration: underline;
    }
}
.elementor-widget-button.m-btn--cv .elementor-button {
    width: min(540px, 100%);
    margin: var(--size-s) auto  0 !important;
    display: block;
    padding: var(--size-s) 0;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    background: #ff585f;
    border: 0.1em solid #fff;
    box-shadow: 0 0.2em 0 0 rgba(0, 0, 0, 0.2);
    border-radius: 1em;
    transition: opacity 0.2s;
    & .text {
        display: block;
        font-size: 0.6em;
        margin-bottom: 0.5em;
    }
    &:hover {
        opacity: 0.7;
    }
}

.elementor-widget-heading.m-title--l .elementor-heading-title,
.elementor-widget-heading.m-title--m .elementor-heading-title,
.elementor-widget-heading.m-title--s .elementor-heading-title,
.l-section--fee .fee__area .m-text--desc {
    line-height: 1.4;
    color: #222;
    font-weight: 700;
}
.elementor-widget-heading.m-title--l .elementor-heading-title,
.l-section--fee .fee__area .m-text--desc {
    margin-bottom: var(--size-sm);
    font-size: var(--size-l);
    text-align: center;
}
.elementor-widget-heading.m-title--m .elementor-heading-title {
    margin: var(--size-s) 0;
    font-size: var(--size-sm);
}
.elementor-widget-heading.m-title--s .elementor-heading-title {
    margin: var(--size-s) 0 0.5em;
    font-size: var(--size-s);
}
.elementor-widget-heading.m-title--m + .elementor-widget-heading.m-title--s .elementor-heading-title {
    margin-top: 0;
}

.elementor-accordion .elementor-tab-title {
    background: #f0f0f0;
}
.elementor-widget-accordion .elementor-accordion-title {
    font-size: var(--size-s);
}

.elementor-widget-container table {
    width: 100%;
    margin: var(--size-s) 0;
    & th, & td {
        padding: 1em;
        border: 1px solid #ccc;
        text-align: center;
    }
    & th {
        background: #f0f0f0;
        font-weight: 700;
        vertical-align: middle;
    }
    & img {
        display: inline-block;
        vertical-align: middle;
    }
    & .qq {
        color: #fa4e72;
        font-weight: 700;
        background: #fff6b2;
    }
}

/* intro --------------------------------------------- */
.l-section--intro {
    text-align: center;
    & p, & div {
        font-weight: 500;
    }
    & .m-text--intro__01 p,
    & .m-text--intro__02 p,
    & .m-text--intro__03 p {
        line-height: 1.4;
        font-weight: 700;
        & strong {
            color: #ff3034;
        }
    }
    & .m-text--intro__01 {
        margin: var(--size-s) 0;
        & p {
            color: #222;
            font-size: 2em;
        }
        & + div {
            margin-bottom:  var(--size-s);
        }
    }
    & .m-text--intro__02 {
        margin-top: var(--size-m);
        &  + .m-text--intro__02 {
            margin: var(--size-ss) 0 var(--size-m);
        }
        & p {
            width: min(25em, 100%) !important;
            margin: 0 auto;
            padding: 0.5em 0;
            color: #222;
            font-size: var(--size-s);
            background: #fff6b2;
        }
    }
     & .m-text--intro__03 {
         margin: var(--size-ll) 0 0;
         & p {
            color: #222;
            font-size: var(--size-s);
        }
    }
}

/* fee --------------------------------------------- */
.l-section--fee .elementor-widget-heading.m-title--m .elementor-heading-title {
    margin: var(--size-ll) 0 var(--size-s);
    text-align: center;
}
.m-list--plan p,
.m-list--plan ul {
    line-height: 1.6;
    text-align: justify;
}
.fee__area .m-list--plan .m-heading--l {
    padding: var(--size-s);
    max-height: none;
    font-size: var(--size-m);
}
.fee__area .m-list--plan .m-heading--l .headding__num {
    font-size: var(--size-l);
}
.fee__area .m-list--plan .headding__sub {
    display: block;
    margin-bottom: 0.55em;
    padding: 0.25em 0.5em;
    color: #000;
    font-weight: 700;
    background: #fff;
}
.m-list--plan .m-heading--s {
    color: var(--color-bgr);
    margin: 0.25em 0 0.5em;
    font-size: var(--base-size);
}
.m-list--plan p + .m-heading--s {
    margin-top: var(--base-size);
}
.m-list--plan ul li {
    list-style: disc;
}

/* reason --------------------------------------------- */
.l-section--reason {
    & .m-title--m .elementor-heading-title {
        margin: 0 0 var(--base-size);
        padding: var(--base-size) var(--size-s);
        color: #fff;
        background: #27AEDF;
    }
    & .elementor-widget-text-editor + .m-title--m .elementor-heading-title {
        margin-top: var(--size-m);
    }
    & .elementor-widget-image,
    & .elementor-widget-video {
        margin-bottom: var(--size-s);
    }
}

/* voice --------------------------------------------- */
.l-section--voice .elementor-widget-heading.m-title--m .elementor-heading-title {
    margin-top: var(--size-m);
    text-align: center;
}
.m-box--voice {
    margin-bottom: var(--size-ss);
    padding: var(--size-sm);
    background: #fff;
    & .elementor-column:nth-of-type(1) {
        width: 150px;
        & img {
            overflow: hidden;
            display: block;
            border-radius: 50%;
        }
    }
    & .elementor-column:nth-of-type(2) {
        & .elementor-heading-title {
            color: #27AEDF;
            font-size: calc(var(--base-size) * 1.2);
            line-height: 1.4;
        }
        & .elementor-widget-heading + .elementor-widget-text-editor {
            margin-bottom: var(--size-ss);
            & div {
                font-weight: 700;
            }
        }
    }
}



/* detail --------------------------------------------- */
.l-section--detail {
    & .l-box--detail {
        margin-bottom: var(--size-m);
        padding: var(--size-l);
        border: 1px solid #d5d8dc;
    }
    & .elementor-accordion .elementor-tab-title {
        padding: var(--base-size);
    }
    & .elementor-widget-accordion .elementor-accordion-icon,
    & .elementor-widget-accordion .elementor-accordion-title {
        color: #222 !important;
    }
    & .elementor-widget-accordion .elementor-accordion-title {
        text-decoration: none;
    }
    & .elementor-widget-accordion .elementor-tab-content {
        padding: var(--size-m) var(--size-l);
        color: #333;
        background: #fff;
    }
    & .elementor-widget-accordion .elementor-accordion-item:nth-of-type(2) img {
        display: block;
        margin: var(--size-ss) 0 var(--size-s);
        &:nth-of-type(1) {
            width: 49%;
        }
    }
    & ol, & li {
        list-style: none;
        margin: 0;
    }
    & ol {
        padding: 0;
        & li {
            font-weight: 500;
            &:not(:last-of-type) {
                margin-bottom: var(--size-l);
            }
            & > a {
                display: block;
                margin-top: var(--size-ss);
            }
        }
    }
}

@media only screen and (min-width: 769px) {
    :root {
        --base-size: 16px;
        --size-ss: calc(var(--base-size) * 0.8);
        --size-s: calc(var(--base-size) * 1.4);
        --size-sm: calc(var(--base-size) * 1.8);
        --size-m: calc(var(--base-size) * 2);
        --size-l: calc(var(--base-size) * 2.4);
        --size-ll: calc(var(--base-size) * 3.6);
    }
    .elementor-widget-container {
        line-height: 1.75;
    }
    .l-section {
        padding: var(--size-ll) 0;
    }
    .elementor-widget-button.m-btn--cv .elementor-button {
        font-size: var(--size-m);
    }

    .l-section--intro {
        line-height: 2;
        & p, & div {
            font-size: calc(var(--base-size) + 4px);
        }
    }
    .m-box--voice {
        & .elementor-container {
            align-items: center;
            justify-content: space-between;
        }
        & .elementor-column {
            margin: 0 !important;
        }
        & .elementor-column:nth-of-type(2) {
            width: calc(100% - 170px);
        }
    }
    .l-section--detail {
         & dl {
            display: flex;
            flex-wrap: wrap;
            & dt {
                width: 5em;
                font-weight: 700;
            }
            & dd {
                width: calc(100% - 5em);
            }
        }
        & ol {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            & li {
                width: calc(50% - var(--size-s));
            }
        }
    }
}
@media only screen and (max-width: 768px) {
    :root {
        --base-size: 14px;
        --size-ss: calc(var(--base-size) * 0.6);
        --size-s: calc(var(--base-size) * 1.2);
        --size-sm: calc(var(--base-size) * 1.6);
        --size-m: calc(var(--base-size) * 1.8);
        --size-l: calc(var(--base-size) * 2);
        --size-ll: calc(var(--base-size) * 3);
    }
    .elementor-widget-container {
        line-height: 1.68;
    }
    .l-section {
        padding: var(--size-ll) var(--size-s);
    }
    .elementor-widget-button.m-btn--cv .elementor-button {
        font-size: var(--size-sm);
    }
    .elementor-widget-heading.m-title--l .elementor-heading-title,
    .l-section--fee .fee__area .m-text--desc {
        overflow: hidden;
        margin-left: calc(var(--size-s) * -1);
        margin-right: calc(var(--size-s) * -1);
        font-size: var(--size-m);
    }
    .l-section--intro {
        line-height: 1.75;
        & p, & div {
            font-size: calc(var(--base-size) + 2px);
        }
    }
    .l-section--reason {
        & .m-title--m .elementor-heading-title {
            padding: var(--size-ss) var(--base-size);
            font-size: var(--size-s);
        }
        & .elementor-widget-image, & .elementor-widget-video {
            margin-bottom: var(--size-ss);
        }
    }
    .m-box--voice {
        padding: var(--size-s);
        & .elementor-container {
            display: block;
        }
        & .elementor-column:nth-of-type(1) {
            margin-bottom: var(--size-sm);
        }
    }
    .l-section--detail {
        & .elementor-widget-accordion .elementor-tab-content,
        & .l-box--detail {
            padding: var(--size-s);
        }
        & dd {
            margin-bottom: var(--size-ss);
        }
    }
}/* End custom CSS */