@charset "utf-8";

.contents_wrap{
    background: #fff;
    padding: 0px 15px 20px;
    margin: 0 0 20px;
}
.contents_wrap h3{
    padding: 0 0 0 10px;
    margin: 0 0 10px;
    color: #564c2f;
    font-size: 20px;
    font-weight: bold;
    border-left: 5px solid #afa67a;
}
.contents_wrap .ct_wrap{
    padding: 10px 15px 20px;
    border: 1px solid #afa67a;
    font-size: 15px;
    margin: 0 0 40px;
}
.ct_wrap ol{
    counter-reset: titleNum;
}
.ct_wrap ol li > *:not(h4){
    margin: 0 0 20px;
}
.ct_wrap ol li > *:not(h4,p + ul){
    padding: 0 0 0 15px;
}
.ct_wrap h4{
    display: flex;
    gap: 10px;
    border-bottom: 1px solid #a59a6a;
    margin: 0 0 15px;
    padding: 0 0 10px;
    font-size: 18px;
    font-weight: bold;
}
.ct_wrap h4::before{
    flex-shrink: 0;
    content: counter(titleNum);
    counter-increment: titleNum;
    width: 28px;
    height: 28px;
    background: #a59a6a;
    border-radius: 100%;
    color: #fff;
    text-align: center;
}
.ct_wrap dl:first-of-type dd:first-of-type:not(.att):not(.att){
    margin: 0 0 15px;
}
.ct_wrap .lead dt{
    background: #f6f3eb;
    margin: 0 0 10px;
    padding: 5px 20px;
    font-size: 18px;
}
.lead dd p{
    margin: 0 0 15px;
}
.ct_wrap .summary{
    border-left: 5px solid #afa67a;
    padding: 0 0 0 10px;
    margin: 0 0 5px;
    font-weight: bold;
    color: #564c2f;
}
.ct_wrap .summary ~ *:not(.summary){
    padding: 0 0 0 15px;
}
.ct_wrap .att{
    display: table;
}
.ct_wrap .att span{
    display: table-cell;
}
.ct_wrap dd.att::before{
    content: '・';
    display: table-cell;
}
.ct_wrap dd ol li{
    display: table;
}
.ct_wrap dd ol li::before{
    content: '・';
    display: table-cell;
}

@media screen and (min-width:768px) {
    .contents_wrap{
        padding: 20px;
    }
    .main_heading{
        margin: 0 0 40px;
    }
    .ct_wrap ol li > *:not(h4):not(ul):not(ul li span){
        padding: 0 0 0 28px;
    }
    .ct_wrap .lead dd{
        padding: 0 0 0 20px;
    }
    .ct_wrap ol li > *:not(h4){
        padding: 0 0 0 15px;
    }
}