@charset "utf-8";

img {
    max-width: 100%;
}

p,
ul li,
ol li,
label {
    font-size: 20px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.7;
}

h2 {
    font-size: 40px;
    font-family: "Noto+Sans+JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #82C374;
    width: 100%;
    text-align: center;
    border-top: 2px solid #82C374;
    border-bottom: 2px solid #82C374;
    padding: 1rem 0;
    margin: 60px 0 40px;
}

section {
    max-width: 1000px;
    margin: 0 auto;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

.headder {
    overflow: hidden;
    max-width: 100%;
}

.headder_inner {
    background: -moz-linear-gradient(0% 50% 0deg, rgba(128, 187, 115, 1) 0%, rgba(137, 191, 116, 1) 29.46%, rgba(161, 201, 119, 1) 77.34%, rgba(175, 207, 120, 1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(128, 187, 115, 1) 0%, rgba(137, 191, 116, 1) 29.46%, rgba(161, 201, 119, 1) 77.34%, rgba(175, 207, 120, 1) 100%);
    background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(128, 187, 115, 1)), color-stop(0.2946, rgba(137, 191, 116, 1)), color-stop(0.7734, rgba(161, 201, 119, 1)), color-stop(1, rgba(175, 207, 120, 1)));
    background: -o-linear-gradient(0deg, rgba(128, 187, 115, 1) 0%, rgba(137, 191, 116, 1) 29.46%, rgba(161, 201, 119, 1) 77.34%, rgba(175, 207, 120, 1) 100%);
    background: -ms-linear-gradient(0deg, rgba(128, 187, 115, 1) 0%, rgba(137, 191, 116, 1) 29.46%, rgba(161, 201, 119, 1) 77.34%, rgba(175, 207, 120, 1) 100%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#80BB73', endColorstr='#AFCF78' ,GradientType=0)";
    background: linear-gradient(90deg, rgba(128, 187, 115, 1) 0%, rgba(137, 191, 116, 1) 29.46%, rgba(161, 201, 119, 1) 77.34%, rgba(175, 207, 120, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80BB73', endColorstr='#AFCF78', GradientType=1);
    border-radius: 0 0 50% 50%;
    height: 200px;
    margin-left: -500px;
    margin-right: -500px;
    text-align: center;
    padding: 95px 0 200px;
    color: #FFF;
    position: relative;
    z-index: -1;
}

.headder_inner::before {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: repeating-linear-gradient(45deg, #FFF, #FFF 2px, transparent 1px, transparent 10px);
    opacity: 0.1;
}

.headder_inner::after {
    display: block;
    content: "";
    width: 180px;
    height: 204px;
    top: 50%;
    left: 30%;
    transform: translateY(-50%);
    position: absolute;
    background-image: url(/lifecare/service/fuyouhinseiri/oheya/images/header_bg.webp);
    background-size: contain;
}

.headder_inner h1 {
    font-size: 48px;
    font-family: "Noto+Sans+JP", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.headder_inner p {
    font-size: 36px;
    font-family: "Noto+Sans+JP", sans-serif;
    font-weight: 700;
    font-style: normal;
}

/*  ページトップ　メイン  */
.main {
    margin: 80px auto 90px;
}

.main .main_inner p {
    text-align: center;
}

.main .main_box {
    display: flex;
    justify-content: space-between;
    align-items: start;
    margin: 40px auto auto;
}

.main .main_box .img_box {
    flex-basis: calc((100% - 5px) / 3);
}

.main .main_box .img_box h3 {
    font-size: 30px;
    color: #82C374;
    font-family: "Noto+Sans+JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    margin-top: 20px;
}

.main .main_box .img_box img {
    width: 100%;
}

/*  料金体系  */
.price {
    background: #EFEFEF;
    padding: 60px 20px;
    max-width: 100%;
}

.price .price_inner {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.price .price_box {
    background: #FFF;
    border: 2px solid #82C374;
    border-radius: 5px;
    flex-basis: 60%;
}

.price p {
    font-family: "Noto+Sans+JP", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.price span {
    font-family: "Noto+Sans+JP", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.price .price_box h2 {
    font-size: 20px;
    background: #E6F3E3;
    color: #82C374;
    padding: 10px;
    width: 100%;
    border-radius: 5px 5px 0 0;
    border: none;
    margin: 0;
}

.price .price_box .price_box_inner {
    display: flex;
    align-items: stretch;
    padding: 20px;
    justify-content: space-between;
}

.price .price_box .content {
    background: #82C374;
    border-radius: 5px;
    padding: 20px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-basis: calc((100% - 20px) / 2);
}

.price .price_box p {
    line-height: 1.4;
    text-align: center;
    color: #FFF;
}

.price .price_box p.sup {
    color: #82C374;
    text-align: center;
    margin: 0 30px 20px;
}

.price .price_box p.sup span {
    font-size: 16px;
}

.icon-plus {
    color: #979798;
    width: 24px;
    height: 24px;
    position: relative;
}

.icon-plus:before,
.icon-plus:after {
    content: "";
    position: absolute;
    top: 12px;
    width: 23px;
    height: 7px;
    background-color: currentColor;
}

.icon-plus:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.price .price_box02 {
    flex-basis: 35%;
}

.price .price_box02 .content {
    flex: 1;
    background: #82C374;
    border-radius: 5px;
    padding: 10px;
}

.price .price_box02 .content p {
    line-height: 1.4;
    text-align: center;
    color: #FFF;
    padding: 10px 20px;
}

.price .price_box02 .content p.sup {
    font-size: 16px;
}

.price .caution {
    font-size: 16px;
    margin-top: 20px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
}

/*  料金例  */
.price-example {
    padding: 0 20px;
}

.price-example p,
.price-example span {
    font-weight: 400;
    font-style: normal;
}

.price-example .sean_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 60px;
}

.price-example .sean_inner .sean_box01 {
    flex-basis: 35%;
    max-width: 400px;
}

.price-example .sean_inner p {
    font-size: 16px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.price-example .sean_inner p.caution {
    font-size: 14px;
}

.price-example .sean_box02 {
    flex-basis: 60%;
    display: flex;
    flex-direction: column;
}

.price-example .sean_box02 .img_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.price-example .sean_box02 .img_box .arrow {
    height: calc(tan(60deg) * 20px / 2);
    width: 15px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: #C1C2C3;
    margin: 0 10px;
}

.price-example .price_inner {
    display: flex;
    justify-content: space-between;
    //align-items: center;
}

.price-example .price_inner .price_box {
    background: #FFF;
    border: 2px solid #82C374;
    border-radius: 5px;
    flex-basis: 60%;
}

.price-example .price_inner .price_box h3 {
    font-size: 20px;
    background: #82C374;
    color: #FFF;
    padding: 10px;
    width: 100%;
    border-radius: 3px 3px 0 0;
    border: none;
    margin: 0;
    text-align: center;
    font-weight: 700;
}

.price-example .price_inner .price_box .price_box_inner {
    display: flex;
    align-items: flex-start;
    padding: 20px 20px 0 20px;
}

.price-example .price_inner .price_box .price_box_inner .day {
    background: #82C374;
    color: #FFF;
    border-radius: 10px;
    font-size: 13px;
    border-radius: 20px;
    padding: 2px 20px;
    margin-right: 20px;
}

.price-example .price_inner .price_box .price_box_inner p {
    font-size: 16px;
}

.price-example .price_bottom {
    background: #E6F3E3;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    align-items: center;
}

.price-example .price_bottom_inner:first-of-type {
    display: flex;
    align-items: center;
}

.price-example .price_bottom_inner p {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.price-example .price_bottom_inner p.ex-mark {
    background: #82C374;
    color: #FFF;
    padding: 10px 5px;
    border-radius: 5px;
    margin-right: 10px;
    text-align: center;
}

.price-example .price_bottom_inner p.time {
    font-size: 12px;
    font-weight: 400;
}

.price-example .price_bottom_inner span.price_txt {
    font-size: 24px;
    font-weight: 700;
}

.price-example .price_bottom_inner span.sup {
    font-size: 14px;
    font-weight: 400;
}

.price-example .price_box02 {
    flex-basis: 35%;
    margin-top: 50px;
}

.price-example .icon-plus {
    margin-top: 70px;
}

.price-example .price_box02 .content {
    flex: 1;
    background: #82C374;
    border-radius: 5px;
    padding: 20px 10px;
}

.price-example .price_box02 .content p {
    line-height: 1.4;
    text-align: center;
    color: #FFF;
    font-weight: 700;
}

.price-example .content02 .sup {
    font-size: 16px;
}

.price-example .caution {
    font-size: 16px;
    margin-top: 10px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.price-example .content .sup {
    font-size: 16px;
}

.price-example .line {
    width: 93%;
    border: 1px dashed #000;
    margin: 20px auto 0;
}

.price-example .ver-line {
    width: 2px;
    height: 60px;
    margin: 0 20px;
    background: #000;
}

.price-example ul {
    margin-top: 40px;
}

.price-example ul.caution_list li {
    font-size: 16px;
    position: relative;
    margin-left: 1.2em;
}

.price-example ul.caution_list li::before {
    content: "※";
    position: absolute;
    font-size: 16px;
    color: #000;
    left: -1.2em;
}

.ihin {
    background: #FFF5E5;
    max-width: 100%;
    margin-top: 90px;
}

.ihin .ihin_inner {
    max-width: 1000px;
    margin: 0 auto;
    background-image: url(/lifecare/service/fuyouhinseiri/oheya/images/ihin_bg.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right -30% top 50%;
}

.ihin .ihin_inner .txt_box {
    max-width: 500px;
    padding: 80px 0;
}

.ihin .ihin_inner h3 {
    font-size: 23px;
    margin-left: 27px;
}

.ihin .ihin_inner a {
    display: block;
}

.flow {}

.flow h2 {
    color: #7774B5;
    border-color: #7774B5;
}

.flow .flow_wrap {
    display: flex;
    flex-direction: column;
}

.flow .flow_box:last-of-type {
    border: none;
}

.flow .flow_box:last-of-type::before,
.flow .flow_box:last-of-type::after {
    height: 0;
}

.flow .flow_box {
    display: flex;
    align-items: flex-start;
    padding: 40px 0;
    border-bottom: 1.5px solid #C1C2C3;
    position: relative;
}

.flow .flow_box::before {
    content: "";
    position: absolute;
    height: calc(tan(60deg) * 15px / 2);
    width: 20px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #C1C2C3;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.flow .flow_box::after {
    content: "";
    position: absolute;
    height: calc(tan(60deg) * 40px / 2);
    width: 40px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #FFF;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.flow .flow_box p.number {
    background: #7774B5;
    color: #FFF;
    font-size: 28px;
    border-radius: 50%;
    font-weight: 700;
    width: 50px;
    height: 50px;
    text-align: center;
    margin-right: 20px;
}

.flow .flow_box .flow_box_inner {
    flex-basis: 70%;
}

.flow .flow_box .flow_box_inner.full {
    flex-basis: 100%;
}

.flow .flow_box .flow_box_inner h3 {
    font-size: 30px;
    font-weight: 700;
    color: #7774B5;
    margin: 5px 0 10px;
}

.flow .flow_box .flow_box_inner p {
    font-size: 20px;
}

.flow .flow_box img {
    flex-basis: 20%;
}

.flow .flow_box img:first-of-type {
    margin-bottom: -40px;
}

.flow .flow_box .btn_box {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.flow .flow_box .btn_box .flow_btn {
    margin-top: 40px;
    flex-basis: 40%;
    background: #7774B5;
    font-size: 20px;
    color: #FFF;
    font-weight: 700;
    padding: 20px;
    text-align: center;
    border-radius: 5px;
    box-shadow: 0 5px 0px 0 rgb(204, 204, 204);
    position: relative;
}

.flow .flow_box .btn_box .flow_btn::after {
    content: "";
    position: absolute;
    height: calc(30px / 2);
    width: 10px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: #FFF;
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
    z-index: 1;
}

.flow .flow_box .btn_box p {
    font-size: 16px;
}


.option h2 {
    color: #7774B5;
    border-color: #7774B5;
}

.option .option_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.option .option_box {
    background: #FFF;
    border: 2px solid #7774B5;
    border-radius: 5px;
    flex-basis: calc((100% - 60px) / 3);
    max-width: calc((100% - 60px) / 3);
}

.option .option_box h3 {
    font-size: 18px;
    background: #F1F1F8;
    color: #7774B5;
    padding: 10px;
    width: 100%;
    border-radius: 3px 3px 0 0;
    border: none;
    margin: 0;
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
    border-bottom: 2px solid #7774B5;
}

.option .option_box h3 span {
    font-size: 8px;
}

.option .option_box img {
    padding: 15px;
}

.option .option_box p {
    padding: 0 15px 15px;
    font-size: 16px;
}

.faq h2 {
    color: #7774B5;
    border-color: #7774B5;
}

/* inputのチェックボックスを非表示 */
.faq .accordion-hidden {
    display: none;
}

/* 見出しボタン部分 */
.faq .accordion-open {
    display: block;
    padding: 20px 60px 20px 20px;
    background: #7774B5;
    color: #FFF;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
    cursor: pointer;
    margin: 20px 0 0;
    position: relative;
}

.faq .accordion-open::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    color: #FFF;
    line-height: 1;
    width: 12px;
    height: 12px;
    border: 0.1em solid #FFF;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(135deg);
}

.faq .accordion-hidden:checked+.accordion-open::before {
    transform: translateY(-50%) rotate(-45deg);
}

/* アコーディオン中身部分 */
.faq .accordion-inner {
    display: block;
    height: 0;
    overflow: hidden;
    padding: 0 20px;
    opacity: 0;
    transition: 0.5s;
    /* 表示速度の設定 */
    cursor: pointer;
}

/* チェックボックスにチェックが入ったら中身部分を表示する */
.faq .accordion-hidden:checked+.accordion-open+.accordion-inner {
    height: auto;
    opacity: 1;
    padding: 20px;
    background: #F1F1F8;
}

/* ↑ここまで共通 */

.faq .accordion_qa .accordion-open {
    padding-left: 2.5em;
}

.faq .accordion_qa .accordion-hidden:checked+.accordion-open+.accordion-inner {
    height: auto;
    opacity: 1;
    padding: 10px 10px 10px 2.5em;
}

/* Q&A追加ここまで */


/* 中にいろいろ入れたいとき */
.faq .accordion-box {
    display: block;
    height: 0;
    overflow: hidden;
    padding: 0;
    opacity: 0;
    transition: 1s;
}

.faq .accordion-hidden:checked+.accordion-open+.accordion-box {
    height: auto;
    opacity: 1;
    padding: 10px;
}

@media screen and (max-width:480px) {
    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    header {
        background: #fff;
    }

    section {
        padding: 0 20px;
    }

    h2 {
        font-size: 20px;
        margin: 40px 0 20px;
    }

    p,
    ul li,
    label {
        font-size: 16px;
    }

    .headder_inner {
        padding: 100px 0 60px;
        height: auto;
    }

    .headder_inner::before {
        height: 120%;
    }

    .headder_inner::after {
        width: 100px;
        height: 100%;
        top: 84%;
        left: 36%;
        background-repeat: no-repeat;
    }

    .headder_inner h1 {
        font-size: 26px;
        margin-bottom: 0;
    }

    .headder_inner p {
        font-size: 20px;
    }

    .main {
        margin: 40px auto 60px;
        overflow-x: hidden;
    }

    .main .main_box img,
    .main .main_box p {
        flex-basis: calc((100% - 40px) / 2);
        max-width: 250px;
    }

    .main .main_box img {
        right: -70px;
        top: 0;
    }

    .main .main_box .img_box h3 {
        font-size: 15px;
        margin-top: 0;
        padding: 5px;
        background: #E6F3E3;
    }

    .main .main_box ul {
        padding: 20px 0 0 20px;
        flex-basis: 1;
        max-width: 100%;
    }

    .main .main_box ul li {
        font-size: 16px;
    }

    .price {
        background: #FFF;
        padding: 0 20px;
    }

    .price .price_inner {
        flex-direction: column;
    }

    .price .price_box {
        flex-basis: 100%;
        width: 100%;
    }

    .price .price_box h2 {
        font-size: 18px;
    }

    .icon-plus {
        margin: 10px 0 20px;
    }

    .price .caution {
        font-size: 12px;
        margin-top: 10px;
    }

    .price .price_box .content {
        flex-basis: calc((100% - 10px) / 2);
    }

    .price .price_box p.sup {
        font-size: 14px;
        margin: 0 20px 20px
    }

    .price .price_box p.sup span {
        font-size: 10px;
    }

    .price .price_box02 {
        flex-basis: 100%;
        width: 100%;
    }

    .price .price_box02 .content p {
        font-size: 18px;
    }

    .price .price_box02 .content p.sup {
        font-size: 14px;
    }

    .price-example .sean_inner {
        flex-direction: column;
        margin-bottom: 30px;
    }

    .price-example .sean_inner .sean_box01 {
        margin-bottom: 20px;
    }

    .price .price_box02 {
        width: 100%;
    }

    .price-example .sean_box02 .img_box:last-of-type {
        margin-bottom: 0;
    }

    .price-example .sean_inner p.caution {
        text-align: right;
    }

    .price-example .price_inner {
        flex-direction: column;
        padding: 0;
        align-items: center;
        align-items: center;
    }

    .price-example .icon-plus {
        margin: 10px 0 20px;
    }

    .price-example .price_box02 {
        margin-top: 0;
    }

    .price-example .price_box .price_box_inner .day {
        flex-basis: 20%;
        font-size: 12px;
        font-weight: 700;
        border-radius: 20px;
        padding: 2px 2px;
        margin-right: 10px;
        text-align: center;
    }

    .price-example .price_box02 {
        width: 100%;
    }

    .price-example .price_bottom {
        padding: 8px;
    }

    .price-example .price_bottom_inner p.time {
        font-size: 12px;
    }

    .price-example .price_bottom_inner span.price_txt {
        font-size: 20px;
    }

    .price-example .price_bottom_inner span.sup {
        display: block;
        line-height: 1;
    }

    .price-example ul.caution_list {
        background: #EAEAEA;
        padding: 30px 20px;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    .price-example ul.caution_list li {
        font-size: 14px;
    }

    .price-example .content p {
        font-size: 18px;
    }

    .price-example .content .sup {
        font-size: 14px;
    }

    .price-example .caution {
        font-size: 12px;
    }

    .ihin {
        background: none;
        margin-top: 0;
        padding: 0;
    }

    .ihin .ihin_inner {
        background: none;
    }

    .ihin .ihin_inner .txt_box {
        padding: 60px 0 0;
    }

    .ihin .ihin_inner h3 {
        font-size: 18px;
    }

    .flow .flow_box {
        padding: 20px 0;
    }

    .flow .flow_box::before {
        height: calc(tan(60deg)* 10px / 2);
        width: 15px;
        bottom: -5px;
    }

    .flow .flow_box p.number {
        font-size: 14px;
        width: 25px;
        height: 25px;
        margin-right: 10px;
        flex-shrink: 0;
    }

    .flow .flow_box .flow_box_inner {
        flex-basis: 60%;
    }

    .flow .flow_box img.sp {
        flex-basis: 25%;
        margin-bottom: -20px;
    }

    .flow .flow_box .flow_box_inner h3 {
        font-size: 18px;
    }

    .flow .flow_box .flow_box_inner p {
        font-size: 14px;
    }

    .flow .flow_box .btn_box {
        flex-wrap: wrap;
    }

    .flow .flow_box .btn_box .flow_btn {
        flex-basis: 48%;
        font-size: 16px;
        margin-bottom: 10px;
        margin-top: 20px;
    }

    .flow .flow_box .btn_box p {
        font-size: 12px;
        margin-left: auto;
    }

    .flow .flow_box img {
        flex-basis: 30%;
    }

    .flow .flow_box .btn_box .flow_btn::after {
        height: calc(15px / 2);
        width: 5px;
    }

    .option .option_wrap {
        flex-direction: column;
    }

    .option .option_box {
        max-width: 100%;
        margin-bottom: 20px;
    }

    .option .option_box h3 span {
        font-size: 10px;
    }
}





/* 追加BR 251122 */

@media screen and (max-width:768px) {
    .price-example .price_box02 .content p {
        margin-bottom: 10px;
    }

    .content p.caution.sp {
        font-size: 14px;
        padding-top: 0;
        margin: 0;
        font-weight: normal;
    }
}