html, body, #container, .l-contents, .wrap, .container {
    overflow: visible !important;
    box-sizing: border-box !important;
}
div:before{display: none !important;}
div:after{display: none !important;}

.container_price {
    width: 100% !Important;
    max-width: 960px !important;
    margin: 0 auto !important;
}
.wrap{
    background: #FCF7F7;
    color: #505050 !important;
    line-height: 1.6 !important;
    padding: 0 0 40px 0;
}

.price_flex {
    display: flex !important;
    justify-content: space-between;
    width: 100%;
    flex-direction: row;

}
@media (max-width: 767px)  {
    .wrap{
        overflow: hidden !important;
    }
    .price_flex {
        flex-direction: column;
        width: 92%;
        margin: 0 auto;
    }
}

.price_nav {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 170px !important; /* ヘッダーとの兼ね合いで調整 */
    align-self: flex-start !important; /* 親がflexの場合の保険 */
    height: auto !important; /* 高さが親と同じにならないように固定 */
}
@media (max-width: 767px)  {
    .price_nav {
        width: 100%;
        position: static !important;
        margin: 0 0 40px 0;
    }
}

.price_nav nav{
    /* 内側は sticky にしない（二重かけ防止） */
    background: #ffffff;
    padding: 20px; /* 余白などはお好みで */
    position: -webkit-sticky;
    position: sticky;
    top: 100px; /* 画面上部からの位置 */
    width: 100%;
    border-radius: 8px;
}
@media (max-width: 767px)  {
    .price_nav nav{
        width: 92%;
    }
}

.price_nav nav ul{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.price_nav nav ul li a{
    color: #505050 !important;
    position: relative;
    transition: .4s;
}
.price_nav nav ul li a.current{
    font-weight: bold;
    padding: 0 0 0 15px;
}
.price_nav nav ul li a.current:before{
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: block !important;
    background: #97C7E9;
}

.price_content{
    width: 680px;
    display: flex;
    flex-direction: column;
    gap: 60px;
}
@media (max-width: 767px)  {
    .price_content{
        width: 100%;
    }
}

.price_h2{
    position: relative;
    padding-left: 22px;
    font-size: 24px;
    margin: 0 0 30px 0;
}
.price_h2:before{
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: block !important;
    background: #97C7E9;
}
h3.price_h3{
    text-align: left;
    font-size: 18px;
    color: #505050 !important;
    font-weight: normal;
    margin:0 0 15px 0
}
.price_box{
    background: #ffffff;
    border-radius: 8px;
    padding: 5px 20px;
    margin: 0 0 30px 0;
}

.price_box_txtArea {
    padding: 20px 24px 24px;
    line-height: 175%;
}
.price_box_txtArea h3 {
    font-weight: 400;
    margin-bottom: 4px;
}

.price_box_nomargin{
    margin: 0 0 0 0;
}
.price_box__inner{
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dotted #EBEBEB;
    padding: 13px 0 13px 0;
    flex-direction: row;
}
@media (max-width: 767px)  {
    .price_box__inner{
    }
}
.price_box__inner:last-child{
    border-bottom: none;
}
.price_box__inner__right{
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 300px;
}
@media (max-width: 767px)  {
    .price_box__inner__right{
        width: 50%;
    }
}
.price_box__inner__right__inner{
    display: flex;
    flex-direction: row;
}
@media (max-width: 767px)  {
    .price_box__inner__right__inner{
        flex-direction: column;
        padding: 0 0 5px 0;
    }
}
.price_box__inner__right_amount{
    width: 100px;
    white-space: nowrap;
}
.price_box__inner__right_price{
    font-size:18px;
    text-align: right;
    width: 200px;
    white-space: nowrap;
}
@media (max-width: 767px)  {
    .price_box__inner__right_amount{
        width: 100%;
        white-space: nowrap;
        text-align: right;
    }
    .price_box__inner__right_price{
        width: 100%;
        font-size:15px;
    }
}
.price_box__inner__right_price small{
    font-size:12px;
    font-weight: normal;
    margin: 0 0 0 5px;
}
.attention{
    font-size: 12px !important;
    line-height: 1.6;
    display: block;
}
.attention_margin{
    display: block;
    margin: 5px 0 30px 0 !important;
}
.text-right{
    text-align: right;
}
