body {
    background: url(../../img/about/bg.jpg) no-repeat center top;
    background-attachment: fixed;
    background-size: cover;
}

.ec-layoutRole {
    background: none !important;
}

.breadcrumbs li,.breadcrumbs li a{
    color: var(--color-white);
}

/*************************************************************

#top-tokusatsu

*************************************************************/
#top-tokusatsu {
    max-width: 1100px !important;
}

@media screen and (max-width: 1100px) {
    #top-tokusatsu {
        padding: 70px 40px !important;
    }
}

@media screen and (max-width: 768px) {
    #top-tokusatsu {
        padding: 0 15px !important;
        margin-top: 0 !important;
    }
}

#top-tokusatsu .top-tokusatsu__container {
    justify-content: space-between;
}

#top-tokusatsu .top-tokusatsu__container p {
    font-size: 18px;
}

#top-tokusatsu h1 {
    flex: 0 1 auto;
}

#top-tokusatsu h1 .mainFont.back-bl.bold {
    font-size: 18px;
}

#top-tokusatsu h1 .titleFont.top-tokusatsu_title {
    display: block;
}

#top-tokusatsu .top-tokusatsu_text {
    flex: 0 1 700px;
}

@media screen and (max-width: 1024px) {
    #top-tokusatsu .top-tokusatsu_text {
        flex: 0 1 auto;
    }
}

/*************************************************************

#point

*************************************************************/
#point {
    background: var(--color-white);
    max-width: none;
}

@media screen and (max-width: 1100px) {
    #point {
        width: calc(100% - 30px);
        margin: auto;
    }
}

#point > .inner {
    max-width: 1100px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 80px 0;
}

@media screen and (max-width: 1100px) {
    #point > .inner {
        padding: 80px 40px;
    }
}

@media screen and (max-width: 768px) {
    #point > .inner {
        padding: 40px 15px;
    }
}

#point h2 {
    flex: 0 1 auto;
}

@media screen and (max-width: 599px) {
    #point h2 {
        font-size: clamp(21px, 4vw, 28px);
    }
}

#point .point-text {
    flex: 0 1 700px;
}

#point .text-box {
    display: flex;
    justify-content: space-between;
    border-bottom: solid 1px var(--color-main);
}

#point .text-box h3 {
    flex: 0 0 65px;
    color: var(--color-main);
    font-family: var(--font-main);
    writing-mode: vertical-lr;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 20px 15px;
    letter-spacing: 0.1em;
    font-size: 28px;
}

@media screen and (max-width: 599px) {
    #point .text-box h3 {
        flex: 0 0 45px;
        padding: 20px 10px;
    }
}

#point .text-box .text {
    flex: 0 1 calc(100% - 75px);
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

@media screen and (max-width: 599px) {
    #point .text-box .text {
        flex: 0 1 calc(100% - 45px);
    }
}

#point .text-box .text p br {
}

@media screen and (max-width: 768px) {
    #point .text-box .text p br {
        display: none;
    }
}

/*************************************************************

#message

*************************************************************/
#message > .inner {
    max-width: 720px;
    margin: auto;
    padding: 130px 0;
}

@media screen and (max-width: 1100px) {
    #message > .inner {
        padding: 80px 40px;
    }
}

@media screen and (max-width: 768px) {
    #message > .inner {
        padding: 40px 15px;
    }
}

#message .text-box {
    margin-bottom: 15px;
}

#message .text-box p {
    padding: 10px;
    font-size: 18px;
    color: var(--color-white);
    background: rgba(24, 24, 24, 0.9);
    width: fit-content;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
}

#page_user_data .footer-top{
    border-top: none;
}