@media (min-width: 810px) {
    .wrap{
        margin-bottom: 5%;
    }
}
.marker.grad{
    background-image: none;
}
/*--------------------------------------------

firstview

--------------------------------------------*/
#firstview{
    height: 100vh;
    height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-top: 60px;
}
#firstview .title-item{
    background-image: url(../../images/lp/personal_fukui/header_sp.webp);
    background-size: 340px;
    background-repeat: no-repeat;
    background-position: center;
    text-align: center;
    padding: 60px 20px;
    margin-bottom: -50px;
}
#firstview .title-item h1{
    position: relative;
    font-size: 1.8rem;
    color: rgb(50, 50, 50);
}
#firstview .title-item .bubble{
    background: rgb(50, 50, 50);
    color: rgb(255, 255, 255);
    font-weight: 800;
    border-radius: 50%;
    position: relative;
    padding: 5px 10px;
    font-size: 0.75rem;
    transform: rotate(-10deg);
    display: inline-block;
}
#firstview .title-item .bubble::before{
    content: "";
    background: rgb(50, 50, 50);
    width: 10px;
    height: 5px;
    position: absolute;
    left: 50%;
    bottom: -4px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#firstview .title-item .bubble small{
    font-size: 0.65rem;
    transform: rotate(5deg);
    display: inline-block;
}
#firstview .title-item .lean{
    transform: rotate(-2deg);
    display: inline-block;
}
#firstview .title-item p{
    font-size: 1.5rem;
    font-weight: 800;
}
#firstview img{
    width: 100%;
    display: inline-block;
    position: relative;
    z-index: -1;
}
/*--------------------------------------------
min-width 550
--------------------------------------------*/
@media (min-width: 550px) {
    #firstview .title-item{
        background-size: 400px;
        padding: 90px 20px;
    }
    #firstview img{
        width: 500px;
        margin: 0 auto;
    }
}
/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {

}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {
    #firstview{
        flex-direction: row;
        align-items: center;
        height: auto;
        justify-content: center;
    }
    #firstview .title-item{
        height: fit-content;
        background-image: url(../../images/lp/personal_fukui/header_pc.webp);
        background-size: 100%;
        padding: 90px 50px;
    }
    #firstview .title-item h1{
        font-size: 2.5rem;
    }
    #firstview .title-item .bubble{
        font-size: 0.9rem;
    }
    #firstview .title-item .bubble small{
        font-size: 0.8rem;
    }
    #firstview .title-item p{
        font-size: 2rem;
    }
    #firstview img{
        margin: 0;
    }
}
/*--------------------------------------------
min-width 1200
--------------------------------------------*/
@media (min-width: 1200px) {

}

/*--------------------------------------------

content

--------------------------------------------*/
#menu{
    margin: 20px 0;
}
#doubt ,#time ,#price{
    margin: 20px 5%;
}
/*title*/
.content h2{
    position: relative;
    font-weight: 400;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 10px 0 10px 20px;
}
.content h2::before{
    content: "";
    background: rgb(50, 50, 50);
    width: 10px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.content h3{
    margin: 30px auto 15px auto;
    font-weight: 500;
    letter-spacing: 0.05em;
}
.content h3::before{
    content: "\f45c";
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
    padding-right: 5px;
}
.content h4{
    margin: 15px 0;
    border-bottom: dotted 2px rgb(50, 50, 50);
    padding-bottom: 10px;
}
.content i.bottom-arrow{
    font-size: 3rem;
    display: block;
    margin: 0 auto;
    width: fit-content;
}
/*link-btn*/
.link-btn{
    color: rgb(50, 50, 50);
    border: solid 1px rgb(50, 50, 50);
    text-align: center;
    padding: 10px 20px;
    border-radius: 300px;
    margin: 30px auto 0 auto;
    width: 100%;
    display: block;
    font-weight: 600;
}
.link-btn.cream{
    background: rgb(255, 253, 197);
}
.link-btn.grad{
    background: linear-gradient(90deg, rgb(217, 243, 254) ,rgb(217, 248, 234) ,rgb(255, 255, 224));
}
.link-btn i{
    padding-left: 5px;
}
/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {
    .link-btn{
        width: 500px;
    }
}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {
    .content{
        margin: 5% calc((100% - 1080px) / 2) 0 calc((100% - 1080px) / 2);
    }
}


/*--------------------------------------------
menu
--------------------------------------------*/
#menu > p{
    border: solid 2px rgb(50, 50, 50);
    border-radius: 200px;
    padding: 10px 40px;
    position: relative;
    width: fit-content;
    font-weight: 700;
    margin: 0 auto;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
}
#menu > p::before{
    content: "";
    width: 25px;
    height: 2px;
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    -webkit-transform: translateX(-50%) rotate(45deg);
    -ms-transform: translateX(-50%) rotate(45deg);
    background: rgb(50, 50, 50);
}
#menu h2{
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px;
}
#menu h2::before{
    content: none;
}
.menu-content{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.menu-content a{
    width: 95%;
    height: 320px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-size: cover;
    background-position: center;
    padding: 20px;
}
.menu-content a::before{
    content: "";
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    border: solid 1px rgb(50, 50, 50);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.menu-content a:nth-child(1){background-image: linear-gradient(90deg ,rgba(255, 255, 255, 0.8) ,rgba(255, 255, 255, 0.2)), url(../../images/lp/personal_fukui/menu/1.webp);}
.menu-content a:nth-child(2){background-image: linear-gradient(-90deg ,rgba(255, 255, 255, 0.8) ,rgba(255, 255, 255, 0.2)), url(../../images/lp/personal_fukui/menu/2.webp);}
.menu-content a:nth-child(3){background-image: linear-gradient(90deg ,rgba(255, 255, 255, 0.8) ,rgba(255, 255, 255, 0.2)), url(../../images/lp/personal_fukui/menu/3.webp);}
.menu-content a:nth-child(odd){
    align-items: flex-start;
}
.menu-content a:nth-child(even){
    align-items: flex-end;
    text-align: right;
    margin: 0 5px 0 auto;
}
.menu-content h3{
    font-size: 1.3rem;
    margin-top: 0;
    margin-bottom: 15px;
    margin: 0 0 15px 0;
    color: rgb(0, 0, 0);
    font-weight: 700;
    letter-spacing: 0;
}
.menu-content a:nth-child(odd) h3{
    border-left: solid 10px rgb(50, 50, 50);
    padding-left: 10px;
}
.menu-content a:nth-child(even) h3{
    border-right: solid 10px rgb(50, 50, 50);
    padding-right: 10px;
}
.menu-content a h3::before{
    content: none;
}
.menu-content a small{
    display: block;
    font-size: 0.8rem;
    font-weight: 500;
}
.menu-content a p{
    padding: 0 20px;
    font-size: 0.75rem;
}
.menu-content a .arrow{
    width: 50px;
    aspect-ratio: 1 / 1;
    background: rgb(50, 50, 50);
    color: rgb(255, 255, 255);
    position: absolute;
    right: -5px;
    bottom: -5px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {
    .menu-content a{
        width: calc((100% - 55px) / 3);
    }
    .menu-content a:nth-child(even){
        align-items: flex-start;
        text-align: left;
        margin: auto;
    }
    .menu-content h3{
        font-size: 1.2rem;
    }
    .menu-content a:nth-child(even) h3{
        border-right: none;
        padding-right: 0;
        border-left: solid 10px rgb(50, 50, 50);
        padding-left: 10px;
    }
}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {
    .menu-content{

    }

}
/*--------------------------------------------
min-width 1200
--------------------------------------------*/
@media (min-width: 1200px) {

}

/*--------------------------------------------
doubt
--------------------------------------------*/
/*personal*/
#personal p{
    margin-top: 15px;
}

/*trainer*/
.label-content{
    display: flex;
    gap: 10px;
    justify-content: center;
}
.accordion input {
	display: none;
}
.accordion-summary{
    border: solid 1px rgb(50, 50, 50);
    border-radius: 300px;
    padding: 5px 10px;
    position: relative;
    display: block;
    text-align: center;
    font-size: 0.75rem;
    transition: all 0.3s;
}
.accordion-summary.active {
    background: rgb(50, 50, 50);
    color: rgb(255, 255, 255);
    font-weight: 700;
}
.accordion-summary.active::before{
    content: "";
    width: 20px;
    height: 10px;
    background: rgb(50, 50, 50);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    bottom: -9px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.accordion-detail {
    display: none;
    flex-direction: column;
    gap: 20px;
    border: solid 2px rgb(50, 50, 50);
    padding: 20px;
    border-radius: 15px;
    margin-top: 20px;
    transition: all 0.3s;
}
.accordion-detail.show {
    display: flex;
}
.accordion-detail dt{
    font-weight: 700;
    position: relative;
    text-align: center;
    padding-bottom: 20px;
    position: relative;
}
.accordion-detail dt::before{
    content: "";
    width: 50px;
    height: 1px;
    background: rgb(50, 50, 50);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.accordion-detail dd{
    width: fit-content;
}
.accordion-detail dd::before{
    content: "\f111";
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
    padding-right: 5px;
}

.guide h5{
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    text-align: center;
}
.guide h5 small{
    font-size: 0.8rem;
}

.guide .check-content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: solid 1px rgb(50, 50, 50);
    border-radius: 15px;
    overflow: hidden;
    margin-top: 20px;
}
.guide .check-content dt{
    color: rgb(255, 255, 255);
    padding: 10px;
    text-align: center;
    font-weight: 700;
    font-size: 0.75rem;
}
.guide .check-content.blue dt{
    background: rgb(0, 154 ,255);
}
.guide .check-content.green dt{
    background: rgb(66, 181, 125);
}
.guide .check-content dd{
    padding: 20px;
    line-height: 1.6em;
}

/*mezzotto*/
#mezzotto > p{
    margin-bottom: 15px;
}

#mezzotto dt{
    margin-bottom: 10px;
}
#mezzotto dd{
    display: flex;
    flex-direction: column;
}
#mezzotto dl img{
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
#mezzotto dl p{
    background: rgb(180, 180, 180);
    color: rgb(255, 255, 255);
    padding: 10px;
}

#mezzotto .mezzotto-word{
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-top: 15px;
}
#mezzotto .mezzotto-word small{
    font-size: 0.8rem;
    font-weight: 600;
}
#mezzotto .mezzotto-word p{
    font-size: 1.5rem;
    font-weight: 800;
}
/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {
    .accordion-summary{
        font-size: 0.8rem;
        padding: 10px 20px;
    }

    #mezzotto .mezzotto-word{
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }
}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {
    .accordion{
        width: 100%;
    }
}
/*--------------------------------------------
min-width 1200
--------------------------------------------*/
@media (min-width: 1200px) {

}

/*--------------------------------------------
time
--------------------------------------------*/
/*lifestyle*/
#lifestyle > p{
    text-align: center;
    margin: 15px 0;
}
.life-parson{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.life-parson div{
    width: calc(50% - 10px);
}
.life-parson div img{
    width: 90%;
    margin: 0 auto;
    display: block;
}
.life-parson div p{
    background: rgb(240, 240, 240);
    padding: 15px;
    border-radius: 15px;
    position: relative;
    margin-top: 20px;
    font-size: 0.75rem;
    line-height: 1.6em;
}
.life-parson div p::before{
    content: "";
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 20px;
    height: 10px;
    background: rgb(240, 240, 240);
}

.reason{
    border: 2px solid;
    border-image: linear-gradient(90deg ,rgba(20, 122, 177, 0.6) ,rgba(21, 206, 128, 0.6) ,rgba(255, 255, 0 ,0.6)) 1;
    padding: 20px;
    width: fit-content;
    margin: 0 auto;
    margin-top: 15px;
}
.reason h5{
    margin: 0 0 10px 0;
    text-align: center;
}
.reason dl{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: fit-content;
    margin: 0 auto;
}
.reason dl div{
    display: flex;
    gap: 10px;
}
.reason dl div dt{
    font-size: 0.75rem;
}
.reason dl div dd{
    font-size: 0.9rem;
    font-weight: 700;
}

/*before_after*/
#before_after{
    display: flex;
    flex-direction: column;
    gap: 30px;
}
#before_after img{
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
}
#before_after .link-btn{
    margin-top: 15px;
}
/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {

}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {
    #lifestyle > p{
        margin: 15px 0 30px 0;
    }
    .life-parson div{
        width: calc((100% - 60px) / 4);
    }
}
/*--------------------------------------------
min-width 1200
--------------------------------------------*/
@media (min-width: 1200px) {

}

/*--------------------------------------------
price
--------------------------------------------*/
/*difference*/
#difference p.difference-text{
    width: fit-content;
    margin: 0 auto;
}
#difference > dl{
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 20px 0;
}
#difference > dl div{
    display: flex;
    align-items: center;
    justify-content: center;
}
#difference > dl dt{
    color: rgb(255, 255, 255);
    font-weight: 700;
    text-align: center;
    aspect-ratio: 1 / 1;
    padding: 10px;
    position: relative;
}
#difference > dl div:nth-child(1) dt{
    background: rgb(0, 0, 0);
}
#difference > dl div:nth-child(2) dt{
    background: rgb(100, 100, 100);
}
#difference > dl dt::before ,
#difference > dl dt::after{
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
}
#difference > dl dt::before{
    width: 20px;
    height: 2px;
}
#difference > dl dt::after{
    width: 2px;
    height: 20px;
}
#difference > dl div:nth-child(1) dt::before ,
#difference > dl div:nth-child(1) dt::after{
    background: rgb(0, 0, 0);
}
#difference > dl div:nth-child(2) dt::before ,
#difference > dl div:nth-child(2) dt::after{
    background: rgb(100, 100, 100);
}
#difference > dl dd{
    border-top: solid 1px rgb(50, 50, 50);
    border-right: solid 1px rgb(50, 50, 50);
    border-bottom: solid 1px rgb(50, 50, 50);
    font-weight: 700;
    font-size: 1rem;
    text-align: center;
    padding: 15px 20px;
}
#difference div.more-word p{
    font-size: 6.5vw;
    font-size: 6.5svw;
    font-weight: 600;
    margin: 0 auto;
    width: fit-content;
}

/*table*/
#difference .table{
    display: flex;
    flex-direction: column;
    gap: 3px;
}
#difference .table .gym-name{
    display: flex;
    gap: 3px;
    justify-content: flex-end;
}
#difference .table .gym-name p{
    background: rgba(0, 0, 0, 0.5);
    color: rgb(255, 255, 255);
    width: calc((100% - 1.5rem - 9px) / 3);
    border-radius: 100px;
    font-size: 0.65rem;
    text-align: center;
    padding: 5px 0;
}
#difference .table .gym-name p.bona{
    background: rgb(50, 50, 50);
}
#difference .table dl{
    display: flex;
    gap: 3px;
    justify-content: flex-end;
}
#difference .table dl dt{
    background: rgba(0, 0, 0, 0.5);
    color: rgb(255, 255, 255);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: center;
    width: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
#difference .table dl dd{
    width: calc((100% - 1.5rem - 12px) / 3);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    background: rgba(255, 255, 255, 0.6);
    padding: 10px 5px;
    border: solid 1px rgb(50, 50, 50);
}
#difference .table dl dd.bona{
    background: rgb(255, 255, 255);
}
#difference .table dl dd span{
    font-size: 0.7rem;
    text-align: center;
}
/*icon*/
#difference .table i{
    font-size: 2rem;
}
#difference .table span.double-mark-bottom{
    position: relative;
    width: 1em;
    display: inline-table;
}
#difference .table i.double-mark-top{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#difference .table span.triangle-mark-bottom{
    position: relative;
    width: fit-content;
}
#difference .table i.triangle-mark-center{
    transform: scale(1 ,1.5);
}
#difference .table i.triangle-mark-top{
    position: absolute;
    top: 74%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#difference .table-word{
    margin-top: 15px;
    line-height: 1.7em;
}
/*cheapest*/
#cheapest img{
    width: 100%;
}
#cheapest > p{
    background: rgb(240, 240, 240);
    position: relative;
    border-radius: 15px;
    padding: 20px;
    text-align: center;
}
#cheapest > p::before{
    content: "";
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 20px;
    height: 10px;
    background: rgb(240, 240, 240);
}
#cheapest > p span.br{
    display: block;
}
#cheapest .more-word{
    text-align: center;
}

/*discount*/
#discount{

}
.discount-content{
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.discount-content div{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.discount-content h5{
    text-align: center;
    margin: 0;
}
.discount-content img{
    width: 90%;
    margin: 0 auto;
}
.discount-content p{
    background: rgb(240, 240, 240);
    position: relative;
    border-radius: 15px;
    padding: 20px;
    text-align: center;
    margin-top: 10px;
}
.discount-content p::before{
    content: "";
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 20px;
    height: 10px;
    background: rgb(240, 240, 240);
}
/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {
    #difference > dl{
        flex-direction: row;
        justify-content: center;
    }
    #difference div.more-word small{
        margin: 0 auto;
        display: block;
        width: fit-content;
        font-size: 1rem;
    }
    #difference div.more-word p{
        font-size: 2rem;
    }

    /*table*/
    #difference .table .gym-name{
        margin-bottom: 5px;
    }
    #difference .table .gym-name p{
        font-size: 0.8rem;
    }
    #difference .table dl dd{
        padding: 10px 20px;
    }

    /*cheapest*/
    #cheapest > p {
        width: 80%;
        margin: 0 auto;
    }
    #cheapest > p span.br{
        display: inline-block;
    }

    /*discount*/
    .discount-content{
        flex-direction: row;
        margin: 40px 0;
    }
}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {

}
/*--------------------------------------------
min-width 1200
--------------------------------------------*/
@media (min-width: 1200px) {

}

/*--------------------------------------------

plugin

--------------------------------------------*/
/*toc*/
.toc{
    border: solid 1px rgb(50, 50, 50);
    padding: 20px;
    background: #f7f7f7;
    border: 1px solid #ddd;
    margin: 30px 5%;
}
.toc p{
    background: rgb(50, 50, 50);
    padding: 5px 15px;
    color: rgb(255, 255, 255);
    width: fit-content;
    margin: 0 auto 20px auto;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
}
.toc ul {
    list-style: none;
    padding: 0;
}
.toc li {
    margin: 10px 0;
}
.toc > ul > li > a {
    position: relative;
    padding-left: calc(1em + 15px); /* パディングを適用 */
}

.toc > ul > li > a::before,
.toc > ul > li > a::after {
    position: absolute;
    top: 0.5em;
    transform: translateY(-50%); /* Y軸で中央揃え */
}

.toc > ul > li > a::before {
    content: "";
    width: 1em;
    aspect-ratio: 1 / 1;
    background: rgb(200, 200, 200);
    display: inline-block;
    border-radius: 50%;
    left: 0; /* 左を0に設定 */
    padding: 5px;
}

.toc > ul > li > a::after {
    content: "";
    width: 0.4em;
    height: 0.4em;
    border-top: solid 3px rgb(255, 255, 255);
    border-right: solid 3px rgb(255, 255, 255);
    left: calc(0.5em + 4px); /* パディングを考慮して中心に配置 */
    transform: translate(-50%, -50%) rotate(45deg); /* 中央揃え & 45度回転 */
    border-radius: 2px;
}
.toc ul li ul li a{
    padding-left: calc(1.5em + 5px);
}
.toc ul li ul li a:before{
    content: "\2022";
    counter-increment:item;
    font-weight: 900;
    padding-right: 5px;
}
.toc ul li ul li ul li a{
    padding-left: calc(3em + 5px);
}
.toc a{
    color: rgb(50, 50, 50);
    text-decoration: none;
}
/*dialog*/
.dialog{
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-top: 30px;
    width: fit-content;
}
.dialog.myself{
    flex-direction: row-reverse;
    margin: 30px 0 0 auto;
}
.dialog img{
    width: 100px;
    margin: 0;
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.dialog > p{
    border-radius: 10px;
    border: solid 2px rgb(50, 50, 50);
    position: relative;
    padding: 20px;
}
.dialog > p::before,
.dialog > p::after{
    content: "";
    width: 15px;
    height: 20px;
    position: absolute;
    top: 20px;
}
.dialog.myself > p{
    background: rgb(255, 255, 255);
    margin-right: 15px;
}
.dialog.myself > p::before,
.dialog.myself > p::after{
    clip-path: polygon(0 20%, 0 100%, 100% 0);
}
.dialog.myself > p::before{
    background: rgb(50, 50, 50);
    right: -15px;
}
.dialog.myself > p::after{
    background: rgb(255, 255, 255);
    right: -10px;
    top: 23px;
}
.dialog.partner > p{
    background: rgb(240, 240, 240);
    margin-left: 15px;
}
.dialog.partner > p::before,
.dialog.partner > p::after{
    clip-path: polygon(0 0, 100% 100%, 100% 20%);
}
.dialog.partner > p::before{
    background: rgb(50, 50, 50);
    left: -15px;
}
.dialog.partner > p::after{
    background: rgb(240, 240, 240);
    left: -10px;
    top: 23px;
}