/* price Section - Custom CSS */
/* 基本的なElementorスタイル再現 */

/* Base section styles */
.price-section {
    position: relative;
    width: 100%;
}

.price-top-section {
    background-color: #00516D;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    margin-top: -165px;
    margin-bottom: 0px;
    padding: 4% 0% 0% 0%;
}

/* Container styles */
.price-container {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    max-width: 1200px;
    width: 100%;
}

/* Column styles */
.price-column {
    display: flex;
    min-height: 1px;
    position: relative;
    flex-direction: column;
}

.price-column.price-col-100 {
    width: 100%;
}

.price-column.price-col-50 {
    width: 50%;
}

.price-top-column {
    /* Top column styles */
}

.price-inner-column {
    /* Inner column styles */
}

/* Widget wrap styles */
.price-widget-wrap {
    align-content: flex-start;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.price-element-populated {
    /* Populated element styles */
}

/* Widget styles */
.price-widget {
    position: relative;
}

.price-element {
    position: relative;
    width: 100%;
}

/* Heading widget styles */
.price-widget-heading {
    margin-bottom: 10px;
}

.price-heading-title {
    line-height: 1;
    margin: 0;
    padding: 0;
    position: relative;
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #FFFFFF;
}

.price-heading-title2 {
    line-height: 1;
    margin: 0;
    padding: 0;
    position: relative;
    font-family: "Mulish", Sans-serif;
    font-size: 65px;
    font-weight: 900;
    color: #FFFFFF;
}

.price-heading-title3 {
    line-height: 1;
    margin: 0;
    padding: 0;
    position: relative;
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 40px;
    font-weight: 600;
    color: #FFFFFF;
    text-align: center;
}

.price-heading-title4 {
    line-height: 1;
    margin: 0;
    padding: 0;
    position: relative;
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 40px;
    font-weight: 600;
    color: #00516D;
    text-align: center;
}

.price-heading-title5 {
    line-height: 1;
    margin: 0;
    padding: 0;
    position: relative;
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 40px;
    font-weight: 600;
    color: #FFFFFF;
    text-align: center;
}

.price-heading-title6 {
    line-height: 1;
    margin: 0;
    padding: 0;
    position: relative;
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #FFFFFF;
}

.price-heading-title7 {
    line-height: 1;
    margin: 0;
    padding: 0;
    position: relative;
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #FFFFFF;
}

.price-widget-heading .price-heading-title.price-size-default {
    font-size: inherit;
}

/* Widget container */
.price-widget-container {
    position: relative;
}

/* Inner section styles */
.price-inner-section {
    position: relative;
}

.price-section-boxed {
    /* Boxed section styles */
}

.price-section-height-default {
    /* Default height section */
}

/* Custom class styles */
.price-element-e463b32 {
    padding: 4% 0% 3% 0%;
}

.price-element-791bbaf {
    background-color: #FFFFFF;
}

.price-element-791bbaf > .price-widget-container {
    padding: 2% 2% 2% 2%;
}

.price-top_store-link {
    /* Top store link styles */
}

/* Link styles */
.price-heading-title a {
    text-decoration: none;
}

.price-heading-title5 a {
    color: #FFFFFF;
    text-decoration: underline;
}

.price-heading-title5 a:hover {
    color: #F8931F;
}

/* Column gap styles */
.price-column-gap-default > .price-column > .price-element-populated {
    padding: 15px;
}

/* Responsive styles */
@media (max-width: 767px) {
    .price-top-section {
        margin-top: -47px;
        margin-bottom: 0px;
        padding: 0% 0% 0% 0%;
    }
    
    .price-column.price-col-50 {
        width: 100%;
    }
    
    .price-container {
        flex-direction: column;
    }
    
    .price-heading-title {
        font-size: 13px;
    }
    
    .price-heading-title2 {
        font-size: 25px;
    }
    
    .price-heading-title3 {
        font-size: 25px;
    }
    
    .price-heading-title4 {
        font-size: 25px;
    }
    
    .price-heading-title5 {
        font-size: 25px;
    }
    
    .price-heading-title6 {
        font-size: 13px;
    }
    
    .price-heading-title7 {
        font-size: 12px;
    }
}
