@charset "UTF-8";

@font-face {
    font-display: swap;
    font-weight: 300;
    font-style: normal;
    font-family: 'Lato';
    src: url("/themes/okusy/font/Lato-Light.woff") format("woff");
}

@font-face {
    font-display: swap;
    font-weight: 400;
    font-style: normal;
    font-family: 'Lato';
    src: url("/themes/okusy/font/Lato-Regular.woff") format("woff");
}

@font-face {
    font-display: swap;
    font-weight: 700;
    font-style: normal;
    font-family: 'Lato';
    src: url("/themes/okusy/font/Lato-Bold.woff") format("woff");
}

@font-face {
    font-display: swap;
    font-weight: 900;
    font-style: normal;
    font-family: 'Lato';
    src: url("/themes/okusy/font/Lato-Black.woff") format("woff");
}

.entry-column a:visited {
    color: #333;
    text-decoration: none;
}

.nav-menu-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    width: 50px;
    padding: initial;
    font-size: 20px;
    color: #111;
    box-sizing: border-box;
    position: fixed;
    top: 15px;
    right: 17px;
    border-radius: 99px;
}

.icon-toggle-menu {
    position: relative;
    display: inline-block;
    width: 25px;
    height: 3px;
    margin: 5px 0;
    vertical-align: middle;
    border-radius: 0;
    background-color: #555;
    -webkit-transition: all .1s;
    transition: all .1s;
}

.icon-toggle-menu:after,
.icon-toggle-menu:before {
    content: "";
    position: absolute;
    display: block;
    width: 29px;
    height: 3px;
    -webkit-transition: all .3s;
    transition: all .3s;
    border-radius: 0;
    background-color: #111;
}

.icon-toggle-menu:before {
    top: -8px;
}

.icon-toggle-menu:after {
    bottom: -8px;
}

[aria-expanded=true] .icon-toggle-menu:after {
    width: 27px;
    transform: translate(0, -8px) rotate(-45deg);
}

[aria-expanded=true] .icon-toggle-menu:before {
    width: 27px;
    transform: translate(0, 8px) rotate(45deg);
}

.acms-icon-twitter-circle::before {
    display: block;
    content: url("/themes/ayakomatsuda/img/xlogo_k.svg");
    width: 13px;
    height: 13px;
    font-size: 10px;
}

.share-item .share-item-twitter {
    position: initial;
    line-height: 1;
    color: #fff;
    background: #fff;
    display: flex;
    align-items: center;
    width: 23px;
    height: 23px;
    justify-content: center;
    border-radius: 99px;
}

@media screen and (min-width:960px) {
    .mobile-nav {
        display: none
    }
}

@media screen and (max-width:959px) {
    .mobile-nav {
        position: fixed;
        display: none;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding-top: 48px;
        background-color: #fff;
        opacity: 0;
        transition-property: all;
        transition-duration: .3s;
        z-index: 1000;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94);
        box-sizing: border-box
    }

    .mobile-nav-inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: start;
        align-items: start;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        padding: 20px 0 0;
        box-sizing: border-box;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;

        .mobile-navbar {
            width: 100%;
            padding: 0 30px;
            max-width: 725px
        }

        .mobile-navbar-list {
            list-style: none;
            margin: 0;
            padding: 0;
            text-align: initial;
            line-height: 1;
            display: grid;
            row-gap: 20px;
            font-size: 18px;

            a {
                font-weight: 600
            }
        }

        .wrap_btn {
            display: grid;
            row-gap: 15px;
            padding-bottom: 20px;
            padding-top: 10px;

            a {
                margin: 0 auto;
                width: 100%;
                max-width: 460px;
                min-width: initial;
                padding: 18px 0;
                font-size: 15px
            }

            a.btn_contact {
                background: #1F2224
            }
        }

        .wrap_mobile-navbar-info {
            border-top: 1px solid #ddddddff;
            padding-top: 20px;

            img {
                width: 60%;
                max-width: 200px
            }

            .copyright {
                display: flex;
                margin: 20px 0 0 0;

                .copyright-text {
                    color: #282c2ea6;
                    margin: 0;
                    text-align: initial;
                    font-size: 12px
                }
            }
        }
    }

    .mobile-nav.is-opened {
        opacity: 1
    }

    .mobile-nav.is-active {
        display: block
    }
}

@media screen and (max-width:767px) {
    .mobile-nav-inner {
        .mobile-navbar-list {
            font-size: 17px;
        }

        & .wrap_btn {
            a {
                font-size: 14px
            }
        }
    }
}

@media screen and (max-width:480px) {
    .mobile-nav-inner {
        .mobile-navbar-list {
            font-size: 16px;
        }

        & .wrap_btn {
            a {
                font-size: 13px
            }
        }
    }
}


.txt-row1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    text-overflow: ellipsis;
    white-space: initial;
}

.txt-row2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
    white-space: initial;
}

.txt-row3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-overflow: ellipsis;
    white-space: initial;
}

@media screen and (max-width:767px) {
    .acms-container {
        padding-right: 15px;
        padding-left: 15px
    }

    .index-container .acms-grid {
        margin: 0;

        .main,
        .side {
            padding: 0
        }
    }
}

[class*=column-image] img,
[class*=column-media] img,
[class*=column-eximage] img {
    border-radius: 28px;
}

@media screen and (max-width:767px) {

    [class*=column-image] img,
    [class*=column-media] img,
    [class*=column-eximage] img {
        border-radius: 22px
    }
}

p.custom_hr1 {
    text-align: center;
}

span.custom_hr4 {
    display: block;
    padding: 20px 0;
}

span.custom_hr5 {
    display: block;
    padding: 60px 0;
}

p.custom_hr1 {
    text-align: center;
}

.custom_hr_wrap {
    clear: both;
}

.wrap_custom_hr1 {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 0 50px;

    img {
        width: 45%;
        max-width: 125px
    }
}

.wrap_custom_hr1.wrap_cl_side_hr {
    padding: 10px 0 40px;
}

.wrap_custom_hr2 {
    padding: 30px 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;

    img {
        width: 45%;
        max-width: 200px
    }
}

.wrap_custom_hr2 {
    display: flex;
    padding: 30px 0 60px;
    justify-content: center;
    align-items: center;

    hr.custom_hr3 {
        border: 0;
        border-top: .175rem solid #f0f3f5;
        margin: 0;
        width: 95%
    }
}

.wrap_custom_hr6 {
    padding: 30px 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;

    img {
        width: 30%;
        max-width: 135px
    }
}

.wrap_custom_hr7 {
    padding: 30px 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;

    img {
        width: 45%;
        max-width: 200px
    }
}

@media screen and (max-width:480px) {

    .wrap_custom_hr1,
    .wrap_custom_hr6 {
        padding: 20px 0 40px
    }

    .wrap_custom_hr1 {
        img {
            max-width: 100px
        }
    }

    .wrap_custom_hr2 {
        padding: 20px 0 50px
    }

    span.custom_hr4 {
        padding: 15px 0
    }

    span.custom_hr5 {
        padding: 30px 0
    }
}

.contact-box {
    p {
        line-height: 1.6
    }
}

form.acms-form {
    margin-top: 40px;
}

.column-embed {
    width: 100%;
    background: #eee;
    padding: 30px;
    border-radius: 25px;
    margin: 0 0 40px;
    box-sizing: border-box;

    * {
        box-sizing: border-box
    }

    a {
        width: 100%;
        display: grid;
        grid-template-columns: 200px 1fr;
        column-gap: 20px;

        &:hover {
            text-decoration: none
        }

        img {
            width: 100%;
            border-radius: 10px
        }

        .acms-embed-link-content {
            display: grid;
            row-gap: 15px;

            .acms-embed-link-title {
                font-size: 18px;
                font-weight: bold;
                line-height: 1.4
            }

            .acms-embed-link-site-name {
                font-size: 15px;
                line-height: 1.4
            }

            .acms-embed-link-description {
                font-size: 15px;
                line-height: 1.4
            }
        }
    }
}

@media screen and (max-width:767px) {
    .column-embed {
        border-radius: 22px;

        a {
            grid-template-columns: 1fr;
            column-gap: 0;
            row-gap: 15px;

            & .acms-embed-link-content {
                .acms-embed-link-title {
                    font-size: 17px
                }

                .acms-embed-link-site-name {
                    font-size: 15px
                }

                .acms-embed-link-description {
                    font-size: 15px
                }
            }
        }
    }
}

@media screen and (max-width:480px) {
    .column-embed {
        padding: 30px 20px;

        & a {
            & .acms-embed-link-content {
                .acms-embed-link-title {
                    font-size: 16px
                }

                .acms-embed-link-site-name {
                    font-size: 14px
                }

                .acms-embed-link-description {
                    font-size: 14px
                }
            }
        }
    }
}

@media screen and (max-width:767px) {
    .pc_only {
        display: none
    }
}

@media screen and (max-width:480px) {
    .pc_tb_only {
        display: none
    }
}

@media screen and (min-width:768px) {
    .sp_tb_only {
        display: none
    }
}

@media screen and (min-width:481px) {
    .sp_only {
        display: none
    }
}