/* ーー下層ページタイトルーーーーーーーーーーーーーー */
.top-tittle {
    position: relative;
    margin-bottom: 75px;
}
.top-tittle__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: clamp(1.688rem, 1.142rem + 2.73vw, 3.188rem);
    font-weight: 500;
    color: transparent;
    text-shadow: 3px 3px 0 #896441;
    -webkit-text-stroke: 1px #896441;
}
@media screen and (max-width: 992px) {
    .top-tittle__text {
        text-shadow: 2px 2px 0 #896441;
    }
    .top-tittle {
        margin-bottom: 30px;
    }
}

/* ーー背景ーーーーーーーーーーーーーー */
.bg-border {
    background-image: var(--bg-border);
    background-size: 100% 2.5em;
}

/* ーー変数ーーーーーーーーーーーーーー */
:root {
    --main-color:#F27185;
    --color-beige:#F7F5EC;
    --color-brown:#896441;
    --bg-border:linear-gradient(180deg, rgba(112,112,112,0.11) 1px, transparent 1px);
    --bg-td-tittle:#FEF8E9;
    --btn-text-stroke: #E63245;

    /* 全体 */
    --base-font-size:18px;
    --title-font-size:28px;
    --sub-heading-font-size:24px;
    --caution-font-size:16px;

    /* 表 */
    --table-font-size:24px;
}
@media screen and (max-width: 992px) {
    :root {
        /* 全体 */
        --base-font-size:16px;
        --title-font-size:24px;
        --sub-heading-font-size:20px;
        --caution-font-size:14px;

        /* 表 */
        --table-font-size:20px;
    }
}

@media screen and (max-width: 576px) {
    :root {
        /* 全体 */
        --base-font-size:14px;
        --title-font-size:20px;
        --sub-heading-font-size:16px;
        --caution-font-size:12px;

        /* 表 */
        --table-font-size:16px;
    }
}

@media screen and (max-width: 400px) {
    :root {
        /* 全体 */
        --base-font-size:12px;
        --title-font-size:18px;
        --sub-heading-font-size:14px;
        --caution-font-size:10px;
    }
}

/* ーーコンテンツーーーーーーーーーーーーーー */
section {
    margin-bottom: 75px;
}
.flex__container {
    display: flex;
    align-items: center;
}
.flow__list {
    margin-bottom: 50px;
}
.step__tittle h2 {
    font-size: var(--title-font-size);
    color: var(--main-color);
    margin-left: 20px;
    font-weight: 500;
}
.step__tittle {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}
.step__tittle__img img{
    width: 60px;
}
.flow__img {
    border-radius: 15px;
}
.flex-item__left {
    flex-basis: 40%;
}
.flex-item__right {
    flex-basis: 60%;
    margin-left: 32px;
}
.flow__txt {
    font-size: var(--base-font-size);
}
.flow__txt span a {
    color: var(--main-color);
    text-decoration: underline;
}
.flow__txt h3 {
    font-size: var(--sub-heading-font-size);
    color: var(--color-brown);
    margin-bottom: 10px;
}
.allow__img {
    max-width: 319px;
    margin: 0 auto 50px;
}
ul .flex__container:nth-of-type(1){
    margin-bottom: 30px;
}




/* ペットが亡くなったら */
.if__container {
    background-color: #FDEBE2;
    border-radius: 26px;
    text-align: center;
    padding: 50px 25px 25px;
}
.if__item__container {
    padding: 40px 0;
    position: relative;
    border: solid #896441;
    border-radius: 26px;
}
.if__item__container h2 {
    position: absolute;
    right: 0;
    left: 0;
    top: -23px;
    font-size: var(--title-font-size);
    color: var(--color-brown);
    background-color: #FDEBE2;
    max-width: fit-content;
    margin: 0 auto;
    padding: 0 30px;
}
#if h3 {
    margin-bottom: 12px;
    color: #896441;
    font-size: var(--sub-heading-font-size);
}
#if .flex__container {
    justify-content: center;
    align-items: start;
    gap: 80px;
}
#if li {
    max-width: 440px;
    background-color: rgba(255,255,255,0.7);
    border-radius: 50%;
    padding: 55px;
    aspect-ratio: 1;
    font-size: var(--base-font-size);
}
#if li p{
    text-align: left;
}
.if__list__item01, .if__list__item02 {
    position: relative;
}
.if__list__item01::before, .if__list__item02::before {
    position: absolute;
    right: 0;
    left: 0;
    top: -40px;
    max-width: 300px;
    margin: 0 auto;
}
.if__list__item01::before{
    content: url(../images/flow/if_number01.svg);
}
.if__list__item02::before{
    content: url(../images/flow/if_number02.svg);
}
.if__list__item02::after {
    content: url(../images/flow/if_img.svg);
    position: absolute;
    right: 0;
    left: 0;
    bottom: -20px;
    max-width: 300px;
    margin: 0 auto;
}
.caution {
    font-size: var(--caution-font-size);
}

@media screen and (max-width: 992px) {
    #if .flex__container {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 50px;
        padding: 0 10px;
    }
    .step__tittle__img img {
        width: 50px;
    }
    .allow__img {
        max-width: 219px;
    }
}
@media screen and (max-width: 767px) {
    .flex__container {
        flex-direction: column;
    }
    .flex-item__right {
        margin: 20px 0 0 0;
    }
}
@media screen and (max-width: 576px) {
    .if__container {
        border-radius: 26px;
        padding: 50px 10px 25px;
    }
    #if li {
        max-width: 440px;
        padding: 40px;
    }
    .step__tittle__img img {
        width: 40px;
    }
    .step__tittle h2 {
        margin-left: 15px;
    }
}
@media screen and (max-width: 400px) {
    .if__container {
        border-radius: 26px;
        padding: 35px 10px 25px;
    }
    #if li {
        max-width: 440px;
        padding: 30px;
    }
    #if h3 {
        margin-bottom: 10px;
    }
    .if__list__item01::before, .if__list__item02::before {
        top: -40px;
        scale: .7;
    }
    .if__list__item02::after {
        bottom: -30px;
        scale: .9;
    }
    .step__tittle__img img {
        width: 30px;
    }
    .step__tittle h2 {
        margin-left: 10px;
    }
    .allow__img {
        max-width: 119px;
        margin: 0 auto 20px;
    }
    .flow__list {
        margin-bottom: 20px;
    }
}


/* ーー背景装飾ーーーーーーーーーーーーーー */
.flow-inner {
    position: relative;
}
.bg-01::after {
    content: url(../images/bg/bg01.png);
    position: absolute;
    left: -20%;
    top: 10%;
    z-index: -1;
}
.bg-02::after {
    content: url(../images/bg/bg02.png);
    position: absolute;
    right: -20%;
    top: 5%;
    z-index: -1;
}
.bg-03::after {
    content: url(../images/bg/bg03.png);
    position: absolute;
    left: -20%;
    top: 47%;
    z-index: -1;
}
.bg-04::after {
    content: url(../images/bg/bg04.png);
    position: absolute;
    right: -20%;
    top: 50%;
    z-index: -1;
}
.bg-05::after {
    content: url(../images/bg/bg05.png);
    position: absolute;
    left: -20%;
    top: 80%;
    z-index: -1;
}
@media screen and (max-width: 1024px) {
    .bg-01::after, .bg-03::after, .bg-05::after {
        left: -20%;
    }
    .bg-02::after, .bg-04::after {
        right: -20%;
    }
}