.fadeup
{
    visibility: hidden;

    opacity: 0;

    translate: 0 30px;
}

section
{
    position: relative;
}
section.message_area
{
    padding: 140px 0;
}
@media screen and (max-width: 768px)
{
    section.message_area
    {
        padding: 70px 0;
    }
}
section.message_area > .inner
{
    position: relative;

    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}
section.message_area > .inner .message_grid
{
    display: grid;

    width: 95%;
    max-width: 1000px;
    margin: 0 auto;

    grid-template-columns: 1fr 200px;
    grid-template-rows: auto auto;
    gap: 40px 70px;
}
@media screen and (max-width: 768px)
{
    section.message_area > .inner .message_grid
    {
        display: block;
    }
}
section.message_area > .inner .message_grid hgroup
{
    grid-column: 1/2;
    grid-row: 1/2;
}
@media screen and (max-width: 768px)
{
    section.message_area > .inner .message_grid hgroup
    {
        margin-bottom: 30px;
    }
}
section.message_area > .inner .message_grid hgroup p
{
    font-size: 20px;
    line-height: 1;

    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    letter-spacing: .06em;

    color: var(--bc-blue);

    align-items: center;
    gap: 10px;
    writing-mode: vertical-rl;
    font-feature-settings: normal;
}
@media screen and (max-width: 768px)
{
    section.message_area > .inner .message_grid hgroup p
    {
        font-size: 16px;

        position: static;

        margin-bottom: 10px;

        writing-mode: horizontal-tb;
    }
}
section.message_area > .inner .message_grid hgroup p:before
{
    width: 1px;
    height: 60px;

    content: '';

    background: var(--bc-blue);
}
@media screen and (max-width: 768px)
{
    section.message_area > .inner .message_grid hgroup p:before
    {
        width: 40px;
        height: 1px;
    }
}
section.message_area > .inner .message_grid > p
{
    font-size: 16px;
    line-height: 1.875;

    letter-spacing: .06em;

    grid-column: 1/2;
    grid-row: 2/3;
}
@media screen and (max-width: 768px)
{
    section.message_area > .inner .message_grid > p
    {
        font-size: 14px;

        margin-bottom: 30px;
    }
}
section.message_area > .inner .message_grid .img
{
    text-align: center;

    grid-column: 2/3;
    grid-row: 1/3;
}
@media screen and (max-width: 768px)
{
    section.message_area > .inner .message_grid .img
    {
        width: 70%;
        margin: 0 auto;
    }
}
section.message_area > .inner .message_grid .img p
{
    font-size: 24px;

    margin-top: 10px;

    text-align: left;
}
@media screen and (max-width: 768px)
{
    section.message_area > .inner .message_grid .img p
    {
        font-size: 18px;

        text-align: right;
    }
}
section.message_area > .inner .message_grid .img p span
{
    font-size: .66em;
}

.slogan_area
{
    position: relative;

    padding: 150px 0;

    background: url(/_kyokko-wp-files/wp-content/themes/kyokko/message/img/bg_message.webp) center top/100% 200% no-repeat;

    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
@media screen and (max-width: 768px)
{
    .slogan_area
    {
        padding: 70px 0;
    }
}
.slogan_area .deco
{
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;

    visibility: hidden;

    width: 100%;

    opacity: 0;

    mix-blend-mode: screen;
    filter: blur(15px);
}
.slogan_area .deco img
{
    width: 100%;
}
.slogan_area .slogan_block
{
    position: relative;
    z-index: 3;

    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}
.slogan_area .slogan_block + .slogan_block
{
    margin-top: 100px;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block + .slogan_block
    {
        margin-top: 60px;
    }
}
.slogan_area .slogan_block > .inner
{
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;

    color: #fff;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner
    {
        width: 100%;
    }
}
.slogan_area .slogan_block > .inner.col2
{
    display: flex;

    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner.col2
    {
        display: block;
    }
}
.slogan_area .slogan_block > .inner.col2 h3
{
    font-size: 56px;
    line-height: 1.25;

    letter-spacing: .12em;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner.col2 h3
    {
        font-size: 30px;

        margin-top: 40px;
    }
}
.slogan_area .slogan_block > .inner.col2 h3 span
{
    font-size: 80px;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner.col2 h3 span
    {
        font-size: 50px;
    }
}
.slogan_area .slogan_block > .inner.col2 p.txt
{
    font-family: 'Shippori Mincho', serif;
    font-size: 24px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.75;

    margin-top: 20px;

    letter-spacing: .06em;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner.col2 p.txt
    {
        font-size: 16px;
    }
}
.slogan_area .slogan_block > .inner hgroup
{
    font-family: 'Shippori Mincho', serif;
    font-weight: 400;
    font-style: normal;
}
.slogan_area .slogan_block > .inner hgroup p.en
{
    font-size: 20px;
    line-height: 1;

    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    letter-spacing: .06em;

    align-items: center;
    gap: 10px;
    writing-mode: vertical-rl;
    font-feature-settings: normal;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner hgroup p.en
    {
        font-size: 16px;

        position: static;

        margin-bottom: 10px;

        writing-mode: horizontal-tb;
    }
}
.slogan_area .slogan_block > .inner hgroup p.en:before
{
    width: 1px;
    height: 60px;

    content: '';

    background: #fff;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner hgroup p.en:before
    {
        width: 40px;
        height: 1px;
    }
}
.slogan_area .slogan_block > .inner hgroup h2
{
    font-size: 32px;
    line-height: 1.25;

    letter-spacing: 0;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner hgroup h2
    {
        font-size: 20px;
    }
}
.slogan_area .slogan_block > .inner hgroup h2 span
{
    font-size: 48px;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner hgroup h2 span
    {
        font-size: 30px;
    }
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner .txt_wrap.purpose
    {
        text-align: center;
    }
}
.slogan_area .slogan_block > .inner .txt_wrap.bgw
{
    margin-top: 20px;
    padding: 50px 90px;

    background: rgba(255, 255, 255, .1);
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner .txt_wrap.bgw
    {
        padding: 25px 5%;
    }
}
.slogan_area .slogan_block > .inner .txt_wrap.bgw:has(.cred)
{
    padding-inline: 30px;
}
.slogan_area .slogan_block > .inner .txt_wrap.bgw h3
{
    margin-bottom: 30px;
}
.slogan_area .slogan_block > .inner .txt_wrap h3
{
    font-family: 'Shippori Mincho', serif;
    font-size: 32px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5625;

    letter-spacing: 0;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner .txt_wrap h3
    {
        font-size: 20px;
    }
}
.slogan_area .slogan_block > .inner .txt_wrap ul.count
{
    counter-reset: number 0;
}
.slogan_area .slogan_block > .inner .txt_wrap ul.count li:has(dl):before
{
    top: 5px !important;
}
.slogan_area .slogan_block > .inner .txt_wrap ul.count li:has(dl):not(:last-child)
{
    margin-bottom: 50px;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner .txt_wrap ul.count li:has(dl):not(:last-child)
    {
        margin-bottom: 30px;
    }
}
.slogan_area .slogan_block > .inner .txt_wrap ul.count li:before
{
    position: absolute;
    top: 0;
    left: 0;

    content: counter(number) '.';
    counter-increment: number;
}
.slogan_area .slogan_block > .inner .txt_wrap ul.cred
{
    display: grid;

    width: 100%;

    grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner .txt_wrap ul.cred
    {
        grid-template-columns: 1fr;
    }
}
.slogan_area .slogan_block > .inner .txt_wrap ul.cred li
{
    margin: 0;
    padding: 0 30px;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner .txt_wrap ul.cred li
    {
        padding: 30px 0;
    }
}
.slogan_area .slogan_block > .inner .txt_wrap ul.cred li:not(:last-child)
{
    border-right: 1px solid #fff;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner .txt_wrap ul.cred li:not(:last-child)
    {
        border-right: none;
        border-bottom: 1px solid #fff;
    }
}
.slogan_area .slogan_block > .inner .txt_wrap ul.cred li dl dd
{
    font-size: 16px;
}
.slogan_area .slogan_block > .inner .txt_wrap ul li
{
    font-size: 18px;
    line-height: 1.8888888889;

    position: relative;

    padding-left: 35px;

    letter-spacing: .06em;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner .txt_wrap ul li
    {
        font-size: 16px;
    }
}
.slogan_area .slogan_block > .inner .txt_wrap ul li dl dt
{
    font-family: 'Shippori Mincho', serif;
    font-size: 1.34em;
    font-weight: 400;
    font-style: normal;
}
.slogan_area .slogan_block > .inner .txt_wrap p.txt
{
    font-size: 18px;
    line-height: 1.8888888889;

    margin-top: 20px;

    letter-spacing: .06em;
}
@media screen and (max-width: 768px)
{
    .slogan_area .slogan_block > .inner .txt_wrap p.txt
    {
        font-size: 16px;
    }
}

footer
{
    margin-top: 20px;
}

.breadcrumbs_area
{
    margin-top: 150px;
    padding: 0 50px;
}
@media screen and (max-width: 768px)
{
    .breadcrumbs_area
    {
        margin-top: 70px;
        padding: 0 5%;
    }
}
.breadcrumbs_area nav ol
{
    display: flex;

    align-items: center;
    gap: 15px;
}
.breadcrumbs_area nav ol li
{
    font-size: 14px;
    line-height: 1;

    display: flex;

    letter-spacing: 0;

    color: #8a9099;

    align-items: center;
    gap: 15px;
}
.breadcrumbs_area nav ol li:not(:last-child):after
{
    content: '>';
}
.breadcrumbs_area nav ol li a
{
    color: #8a9099;
}
/*# sourceMappingURL=style.css.map */
