:root {
    --main: #c71b18;
    --sub1: #873332;
    --sub2: #c61917;
    --sub3: #472d2c;
    --sub4: #C7A318;
    --back: #f1f1f1;
}

.section.section_1 {
    min-height: 50vh;
    align-items: center;
    justify-content: center;
    padding: 120px 10px 0;
}

.section.section_under {
    padding: 80px 0;
    align-items: center;
    gap: 80px;
}

.section_container.container_1 {
    max-width: 1400px;
    gap: 80px;
    padding: 0 10px;
    align-items: flex-start;
}

.section_1_container {
    max-width: 1000px;
    align-items: center;
    z-index: 1;
}

.section_1_title {
    font-size: 4.2rem;
    color: var(--main);
    &.type_2{
        color: var(--sub1);
    }
}

.section_1_sub {
    font-size: 1.4rem;
    padding-left: 5px;
}

.section_1_title_row {
    align-items: center;
}

.section_1_title_box {
    flex: 1;
    align-items: flex-start;
    gap: 20px;
    z-index: 1;
}

.section_content_container {
    gap: 40px;
    z-index: 1;
}

.section_content_container.container_1 {
    align-items: flex-start;
}

.section_content_container.container_2 {
    align-items: center;
}

.section_content_container.container_3 {
    align-items: flex-end;
}

.section_content_title {
    font-size: 2.8rem;
    font-style: italic;
}

.section_content_title.title_1 {
    color: white;
}

.section_content_border {
    height: 2px;
    width: 150px;
    align-items: center;
    justify-content: flex-end;
    z-index: 1;
}

.content_border_inside {
    width: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
}

.section_content_border.border_1,
.content_border_inside.inside_1 {
    background: white;
}

.section_content_border.border_2,
.content_border_inside.inside_2 {
    background: var(--sub3);
}

.page_loader {
    position: fixed;
    height: 100vh;
    z-index: 100;
    background: white;
}

.onepoint_image {
    position: absolute;
    width: 80px;
}

.onepoint_image img {
    width: 100%;
    height: auto;
}

.onepoint_image.image_1 {
    bottom: -25px;
    right: -25px;
    animation: for_onepoint 60s linear infinite;
}

.breadcrumb_container {
    align-items: center;
    z-index: 1;
}

.breadcrumb {
    max-width: 1400px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px 10px;
}

.bread_text,
.bread_divider {
    font-size: 1.4rem;
    font-weight: bold;
}

.bread_text.for_link {
    color: gray;
    text-decoration: underline;
}

.bread_text.current {
    color: var(--sub3);
}

@keyframes for_onepoint {
    to {
        transform: rotate(360deg);
    }
}

@keyframes floatUp {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 0.8;
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: translateY(-30px) rotate(30deg);
        opacity: 0;
    }
}

.section_content_row{
    &.type_1{
        max-width: 1200px;
        align-self: center;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(max-content, max-content);
        align-items: flex-end;
    }
}
.section_text_box{
    &.type_1{
        align-items: flex-start;
        gap: 20px;
        padding: 40px;
        background: white;
    }
    &.type_2{
        justify-content: center;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
        &.for_column{
            align-items: flex-start;
        }
    }
    &.type_3{
        max-width: 800px;
        align-items: flex-start;
        gap: 20px;
        padding: 40px;
        background: white;
        align-self: center;
        &.for_price{
            align-items: center;
            border: 1px solid var(--sub4);
        }
    }
}
.section_text_title{
    font-size: 2.4rem;
    &.type_1{
        color: var(--main);
    }
}
.section_text{
    font-size: 1.6rem;
    &.type_1{
        .strong{
            font-weight: bold;
            color: var(--sub1);
        }
    }
    &.type_2{
        font-style: italic;
        padding-left: 1.6rem;
        border-left: 4px solid var(--main);
    }
    &.type_3{
        color: var(--main);
        font-weight: bold;
        &.for_list{
            padding: 3px 8px;
            border: 1px solid var(--sub4);
        }
    }
    &.type_4{
        font-weight: bold;
    }
    &.type_5{
        font-size: 4.2rem;
        color: var(--sub4);
        span{
            font-size: 2rem;
        }
    }
    &.type_6{
        font-size: 2.8rem;
        padding: 5px 20px;
        border: 2px solid var(--sub4);
        background: var(--main);
        color: var(--back);
    }
}
.section_content_box{
    &.type_1{
        &.box_1::before{
            content: "";
            position: absolute;
            width: 100%;
            height: 100%;
            background: var(--sub3);
            z-index: -1;
            top: 20px;
            left: 20px;
        }
    }
    &.type_2{
        background: white;
        padding: 40px;
        gap: 20px;
        align-items: flex-start;
        border: 4px double var(--sub4);
    }
    &.type_3{
        align-items: flex-start;
        gap: 5px;
        padding: 10px;
    }
    &.type_4{
        padding: 40px;
        background: white;
        align-items: center;
        gap: 20px;
        border: 2px solid var(--sub4);
    }
    &.for_title{
        grid-area: 1 / 1 / 2 / 3;
        align-items: center;
    }
}
.for_title_asset{
    flex: 1;
    height: 1px;
    background: var(--sub4);
    position: relative;
    &::before{
        content: "";
        position: absolute;
        width: 5px;
        aspect-ratio: 1;
        border-radius: 50%;
        background: var(--sub4);
        top: -2px;
        right: 0;
    }
}
.section_image{
    overflow: hidden;
    &.type_1{
        aspect-ratio: 1;
    }
    img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}
.section_content_container{
    &.type_1{
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(max-content, max-content);
        gap: 10px;
    }
    &.type_2{
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        grid-template-rows: repeat(max-content, max-content);
        gap: 40px;
    }
}
.section_text_row{
    &.type_1{
        padding: 20px;
        background: var(--back);
        align-items: flex-start;
        gap: 10px;
        border: 1px solid var(--sub3);
    }
    &.type_2{
        padding: 20px;
        background: white;
        align-items: flex-start;
        gap: 10px;
        border: 1px dashed var(--main);
    }
}
.service_lists{
    flex-wrap: wrap;
    gap: 10px;
}
li.section_text{
    position: relative;
    padding-left: 1em;
    font-weight: bold;
    &::before{
        content: "✓";
        position: absolute;
        left: 0;
        color: var(--sub4);
    }
}

.section.section_3{
    background: #c61a1716;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.section.section_link{
    background-color: var(--sub3);
    background-image: repeating-linear-gradient(30deg, transparent, transparent 12px, #f1f1f18c 14px),repeating-linear-gradient(-30deg, transparent, transparent 12px, #f1f1f18c 14px);
}
@media all and (max-width:1280px) {}

@media all and (max-width:960px) {
    .section_content_title {
        font-size: 2.4rem;
    }
    .section_content_container{
        &.type_2{
            gap: 20px;
        }
    }
    .section_text_title{
        font-size: 2rem;
    }
    .section_text{
        font-size: 1.4rem;
    }
}

@media all and (max-width:768px) {
    .section_1_title {
        font-size: 3.2rem;
    }

    .section.section_under {
        padding: 40px 0;
        align-items: center;
        gap: 40px;
    }

    .section_container.container_1 {
        gap: 40px;
    }

    .onepoint_image {
        width: 70px;
    }

    .section_content_title {
        font-size: 2rem;
    }
    .section_content_box{
        &.type_2{
            padding: 20px;
        }
        &.type_3{
            padding: 0;
        }
    }
}

@media all and (max-width:450px) {
    .section_1_title {
        font-size: 2.8rem;
    }

    .section_1_sub {
        font-size: 1.2rem;
        padding-left: 2px;
    }

    .section_content_row{
        &.type_1{
            grid-template-columns: 1fr;
        }
    }
    .section_content_container{
        &.type_1{
            grid-template-columns: 1fr;
        }
        &.type_2{
            gap: 10px;
        }
    }
    .section_text_title{
        font-size: 1.8rem;
    }
    .section_text{
        &.type_5{
            font-size: 3.6rem;
            span{
                font-size: 1.8rem;
            }
        }
    }
    .section_text_box{
        &.type_3{
            gap: 10px;
        }
    }
}

@media (any-hover: hover) {
    .under_anchor {
        transition: filter ease 0.15s;
    }
    .under_anchor:hover {
        filter: grayscale(1);
        -webkit-filter: grayscale(1);
    }
}
