/* front page */

#mainimg {
    width: 100%;
    position: relative;
    z-index: 2;
}

.mainimg-wrp {
    width: 100%;
    position: relative;
    background-color: #e0e2e1;
}

.mainimg-wrp .mainimg-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.mainimg {
    width: 55%;

}

.maintitle {
    width: 45%;
    padding: 5% 15% 5% 0;

}

.maintitle img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.mainimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

    #mainimg {}

    .maintitle {
        width: 100%;
        padding: 5% 20% 2%;
    }

    .mainimg {
        width: 100%;
        order: 1;
    }
}

.wrp {
    width: 100%;
    margin: 0 auto;
    padding: 0
}

.home.wrp {
    border: none
}

.home .contents-wrp {
    width: 100%;
    max-width: 1440px;
    padding: 1em 1.5em;
}

.home .content {
    width: 48%;
    margin-bottom: 2em;
    position: relative
}

.home .content .content-title-wrp {
    width: 100%;
    padding: 1.5vw 2vw;
}

.home .content .content-title-wrp h2 {
    font-size: 1.8em;
    line-height: 1.3;
    font-weight: 600;
    padding: .25em 0;
    margin-bottom: .25em;
}

.home .content .content-title-wrp .post-title {
    font-size: 1.3em;
}

.home .content .content-title-wrp .lead {
    font-size: 1em;
    letter-spacing: .05em;
    line-height: 1.6;
}

.home .contents-wrp .wp-block-group__inner-container {
    width: 100%;
}

.home .content .wp-block-image {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 55%;
    overflow: hidden;
    margin: 0
}

.home .content .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

/* message */

.home .contents-wrp.message-wrp {
    margin: 0 auto 4em
}

.home .contents-wrp .message {
    width: 100%;
    margin-bottom: 0
}

.home .contents-wrp .message-img {
    width: 100%;
    padding-bottom: 42%
}

.home .contents-wrp .message-img img {
    object-position: center top;
}

.home .contents-wrp .message .wp-block-group__inner-container {
    position: relative;
}

.home .contents-wrp .message .wp-block-group__inner-container .content-title-wrp {
    display: inline-block;
    width: 100%;
    max-width: 360px;
    text-align: center;
    /*    background-color:rgb(255, 255, 255, .8);*/
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translate(-50%, 0)
}

.home .contents-wrp .message .wp-block-group__inner-container .content-title-wrp .post-title,
.home .contents-wrp .message .wp-block-group__inner-container .content-title-wrp h2 {
    text-align: center;
    /*    display: inline-block;*/
}

.home .contents-wrp .message .wp-block-group__inner-container .content-title-wrp p {
    margin-bottom: 20%
}

.home .activity-wrp {
    padding: 2em 0 0;
    margin-bottom: 3em;
    /*    background-color:#edf0f4*/
    background-color: #f0f0f0
}

.home .activity-wrp .wp-block-group__inner-container {
    width: 100%;
    max-width: 1280px;
    padding: 0 2em;
    margin: 0 auto;
    text-align: left
}

.home .title-wrp .wp-block-group__inner-container {
    padding: .5em 0;
}

.home .btn a {
    font-size: 12px;
    line-height: 1.5;
    margin-top: 1.5em
}

.home .title-wrp {
    width: 100%;
    margin-bottom: 1em
}

.home .post-title,
.home .title-jp {
    text-align: left;
}

.home .title-jp {
    font-size: 1.5em;
    text-indent: 0;
    text-align: left;
    margin: .25em 0
}

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

@media screen and (max-width:767px) {
    .home .title-wrp.wp-block-group.flex>.wp-block-group__inner-container {
        display: block;
        text-align: center
    }

    .home .activity-wrp .wp-block-group__inner-container,
    .home .blog-wrp .wp-block-group__inner-container {
        padding: 0 1em
    }

    .home .post-title,
    .home .title-jp {
        width: 100%;
        text-align: center
    }

    .home .title-wrp .btn {
        display: none
    }

    .home .contents-wrp {
        padding: 0 1em
    }

    .home .content {
        width: 100%;
    }

    .home .contents-wrp .wp-block-group__inner-container {
        text-align: center;
    }

    .home .content .content-title-wrp h2 {
        font-size: 1.4em;
        text-align: center
    }

    .home .contents-wrp .message-img {
        padding-bottom: 55%;
    }

    .home .contents-wrp .message .wp-block-group__inner-container .content-title-wrp {
        position: static;
        transform: translate(0, 0)
    }

    .home .contents-wrp .message .wp-block-group__inner-container .content-title-wrp p {
        margin-bottom: 1em
    }
}

/* archive single page */
body.blog {
    background-color: #f5f5f4
}

.inner {
    width: 100%;
    max-width: 1440px;
    padding: 1em 3em 3em;
    margin: 0 auto;
}

.inner1280 {
    width: 100%;
    max-width: 1280px;
    padding: 1em 3em 3em;
    margin: 0 auto;
}

.inner980 {
    width: 100%;
    max-width: 980px;
    padding: 1em 3em 3em;
    margin: 0 auto;
}

.inner720 {
    width: 100%;
    max-width: 720px;
    padding: 1em 3em 3em;
    margin: 0 auto;
}

.inner640 {
    width: 100%;
    max-width: 640px;
    padding: 1em 3em 3em;
    margin: 0 auto;
}

.wp-block-image.frame {
    border: 1px solid #ccc
}

.columns-1 {
    display: block;
    width: 100%;
    margin: 0 auto;
}

.columns-2 {
    width: 100%;
    margin: 0 auto;
}

/* direction row */
.columns-3,
.columns-4 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    /*    max-width: 1440px;*/
    /*    padding:1.5em;*/
    margin: 0 auto
}

.columns-3 .entry {
    width: 32%;
    margin-bottom: 2%;
    position: relative;
    background-color: #fff;
    border: 1px solid #ddd
}

.columns-3::after {
    content: '';
    width: 32%;
    display: block;
    height: 0;
}

.columns-4::before {
    content: '';
    width: 22.5%;
    display: block;
    height: 0;
    order: 1
}

.columns-4::after {
    content: '';
    width: 22.5%;
    display: block;
    height: 0
}

.columns-4 .entry {
    width: 22.5%;
    margin-bottom: 3%;
    position: relative;
    background-color: #fff;
    border: 1px solid #ddd
}

/* direction column */
.entry.column {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 1em;
    padding: .5em;
    border: 1px solid #ccc;
    position: relative
}

.columns-2 .entry.column {
    width: 49%;
    background-color: #fff
}

.entry.column .figure-wrp {
    width: 28%
}

.entry.column .featured-image {
    width: 100%;
    padding-bottom: 100%;
    margin: 0
}

.entry.column .meta-wrp {
    width: 68%;
    padding: .5em 0
}

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

    .wrapper,
    .footer {
        font-size: 90%
    }

    .inner {
        padding: 1em 2em
    }

    .inner1280 {
        padding: 1em 2em
    }
}

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

    .wrapper,
    .footer {
        font-size: 82%
    }
}

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

    .wrapper,
    .footer {
        font-size: 100%
    }

    .inner,
    .inner1280,
    .inner980 {
        padding: 0 1em 1em
    }

    .columns-1 .entry,
    .columns-2 .entry,
    .columns-4 .entry {
        display: flex;
        justify-content: space-between;
        width: 100%;
        margin: 0 auto 1em;
        text-align: left;
        padding: 1em 0;
        border: none;
        border-bottom: 1px solid #ccc;
        background-color: transparent;
        position: relative
    }

    .columns-1 .entry:last-child,
    .columns-2 .entry:last-child,
    .columns-4 .entry:last-child {
        border: none;
    }

    .columns-1 .entry .figure-wrp,
    .columns-2 .entry .figure-wrp,
    .columns-4 .entry .figure-wrp {
        width: 25%;
    }

    .columns-1 .entry .featured-image,
    .columns-2 .entry .featured-image,
    .columns-4 .entry .featured-image {
        width: 100%;
        padding-bottom: 100%;
        margin-bottom: 0
    }

    .columns-1 .entry .meta-wrp,
    .columns-2 .entry .meta-wrp,
    .columns-4 .entry .meta-wrp,
    .columns-4 .entry .meta-wrp {
        width: 70%;
        padding: 0;
        text-align: left
    }

    .home .columns-4 .entry:nth-child(4) {
        display: flex
    }

    .columns-1 .entry.column,
    .columns-2 .entry.column {
        margin: .5em 0 1em
    }

    .columns-1 .entry.column,
    .columns-2 .entry.column {
        background-color: transparent;
        width: 100%
    }
}

.entry .abox {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2
}

.featured-image {
    width: 100%;
    padding: 0;
    padding-bottom: 66%;
    display: block;
    margin: 0 0 1em;
    background-color: #f9f9f9;
    position: relative
}

.featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: cover;";
    position: absolute;
    top: 0;
    left: 0
}

.featured-image img.contain {
    object-fit: contain;
    font-family: "object-fit: contain;";
}

.featured-image.bg {
    background-color: #f3f3f3;
}

.featured-image.bg img.contain {
    width: 90%;
    height: 90%;
    top: 5%;
    left: 5%
}

.meta-wrp {
    width: 100%;
    padding: .5em 1.5em 1em;
    text-align: left
}

.postdate {
    font-size: .94em;
    line-height: 1.4;
    color: #444;
    margin-bottom: .5em;
    vertical-align: baseline;
}

.entry-link {
    color: #222
}

.cat {
    display: inline-block;
    text-align: center;
    padding: .35em 1em .25em;
    font-size: .74em;
    line-height: 1.6;
    vertical-align: middle;
    border: 1px solid #ccc;
    background-color: #fff;
    border-radius: 3px;
    margin: .5em .5em .75em 0;
    transition: all .3s ease
}

.cat:not(.category-title):hover {
    background-color: #004098;
    color: #fff;
    border-color: #004098
}

.archive-title-wrp.entry-title-wrp {
    display: block;
    width: 100%;
    text-align: center;
    /*    background-color: #fff;*/
    padding: 3em 0 2em
}

.archive-title-wrp.entry-title-wrp .cat {
    margin: 0 auto 1em;
    letter-spacing: .1em;
    text-indent: .2em;
    font-size: .9em
}

.archive-list-wrp {
    min-height: 499px;
}

/* single */
.single .entry-title-wrp {
    width: 100%;
    max-width: 720px;
    text-align: left;
    padding: 0;
    margin: 3em auto 2em
}

.single .entry-title-wrp .post-title {
    display: inline-block;
    text-align: left;
    font-size: 1em;
    margin-right: .75em;
}

.single .entry-title-wrp .post-title::before {
    content: '';
    display: inline-block;
    margin-right: .5em;
    vertical-align: -.05em;
    width: .25em;
    height: .25em;
    border: 4px solid #004098;
    border-radius: 100%
}

.single .entry-title-wrp .postdate {
    font-size: 1em;
    margin: .75em 0 1em;
}

.single-figure-wrp {
    width: 100%;
    margin: 0 auto 3em
}

.single .entry-body-wrp {
    width: 100%;
    max-width: 740px;
    margin: 0 auto;
    padding: 0 15px 2em
}

.single .entry-body-wrp .cat-wrp {
    margin-bottom: .5em
}

.single .entry-body-wrp .cat {
    font-size: .86em;
    margin-right: .5em
}

.single .entry-body-wrp .entry-title {
    font-size: 1.6em;
    line-height: 1.5;
    vertical-align: middle;
    padding-left: 0;
    margin: 0
}

.single .entry-body-wrp h3 {
    display: block;
    width: 100%;
    font-size: 1.2em;
    margin: 0;
    padding: 1em 0;
    color: #222;
    font-weight: normal
}

.single .content-body-wrp {
    padding: 0 3%
}

.single .content-body-wrp h2 {
    font-size: 1.3em;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: .5em;
    word-break: break-all
}

.single .entry-body-wrp p {
    font-size: 1em;
    line-height: 2;
    padding-bottom: 2em;
    word-break: break-all
}

.single .entry-body-wrp code {
    display: block;
    padding: .5em 1em;
    background-color: #444;
    border-radius: 3px;
    color: #ddd;
    font-size: 1.2em;
    line-height: 1.6
}

.single .entry-body-wrp table {
    margin-bottom: 2em
}

.single .entry-body-wrp td {
    border: 1px solid #ccc;
    padding: 1em
}

.related-post-wrp,
.recent-post-wrp {
    width: 100%;
    padding-top: 1.5em
}

.related-post-wrp .archive-title,
.recent-post-wrp .archive-title {
    font-size: 1em
}

.related-post-wrp {
    background-color: #f9f9f9
}

@media screen and (max-width:1180px) {
    .meta-wrp {
        padding: .5em 1em 1em;
    }
}

@media screen and (max-width:767px) {
    .entry-body-wrp {
        width: 100%;
        max-width: 100%
    }

    .recent-post-wrp {
        max-width: 100%
    }
}

.post-title {
    display: block;
    font-size: 1em;
    font-weight: 600;
    padding: .5em 0;
    color: #004098
}

.post-title.tag-search-title {
    font-size: 1.3em;
    margin-bottom: .5em;
}

.archive-title {
    font-size: 1.2em;
    color: #222;
    padding: .5em 0;
    margin-bottom: 1em
}

.dot-title::before {
    content: '';
    display: inline-block;
    width: .3em;
    height: .3em;
    border: 5px solid #004098;
    margin-right: .5em;
    margin-bottom: .2em;
    vertical-align: middle;
    border-radius: 100%
}

.title-jp {
    display: block;
    font-size: 1.9em;
    letter-spacing: .1em;
    text-indent: .1em;
    margin: .5em auto 1em;
    text-align: center
}

@media screen and (max-width:767px) {
    .single .entry-title-wrp {
        font-size: .9em;
        margin: 2em auto
    }

    .page-title-wrp .title-jp,
    .archive-title-wrp .title-jp {
        font-size: 1.4em
    }

    .post-title.tag-search-title {
        display: block;
        text-align: center;
        font-size: 1.1em;
        margin-bottom: .5em
    }

    .archive-title {
        margin-bottom: 0
    }

    .single-title-wrp.entry-title-wrp {
        padding: 1em
    }

    .archive-title-wrp.entry-title-wrp {
        padding: 2em 1em
    }
}

/* archive */
.entry-archive .entry-title {
    font-size: 1em;
    color: #222;
    padding: 0;
    display: block;
    line-height: 1.5;
    margin-bottom: .5em
}

.entry-archive p {
    font-size: .8em;
    line-height: 1.6;
}

.entry-archive .tag-wrp {
    font-size: .7em;
    padding: 0;
    margin-top: 1em
}

.readmore {
    display: inline-block;
    position: relative;
    font-size: .8em;
    margin-top: .75em;
    margin-bottom: .5em;
    padding-right: 2em;
    transition: color .3s ease
}

.readmore:hover {
    color: #222
}

@media screen and (max-width:767px) {
    .entry-archive .entry-title {
        font-size: 1.05em
    }

    .entry-archive p {
        font-size: .92em
    }

    .readmore {
        font-size: .92em
    }

    .entry-archive .tag-wrp {
        font-size: .8em;
        margin-top: 1em
    }
}

.entry li,
.entry ol {
    padding-bottom: .75em;
    line-height: 1.6;
}

.entry ol {
    padding-left: 1.5em;
}

@media screen and (max-width:767px) {
    .entry ol {
        font-size: .94em;
    }
}

.tag-wrp {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap
}

.single .entry-body-wrp .tag-wrp {
    margin: 5em auto 3em;
    padding: .5em 0;
    border-bottom: 1px solid #ccc
}

.single .entry-body-wrp .tag-wrp .tag-title {
    font-size: .94em;
    margin-bottom: 1.25em;
    padding-bottom: .75em;
    border-bottom: 1px solid #ccc
}

.tag-menu-wrp .tag-title::before,
.single .entry-body-wrp .tag-wrp .tag-title::before {
    content: '';
    display: inline-block;
    vertical-align: -.05em;
    width: .25em;
    height: .25em;
    border: 4px solid #ccc;
    border-radius: 100%;
    margin-right: .5em
}

.tag-wrp ul {
    width: 100%;
    margin: 0;
    padding: 0
}

.tag-wrp li {
    display: inline-block;
    margin-right: .5em;
    margin-left: -.25em
}

.tag-wrp a {
    color: #222;
    display: inline-block;
    font-size: .94em;
    line-height: 1.7;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 2em;
    padding: .25em 1em;
    transition: all .3s ease
}

.tag-wrp a:hover {
    background-color: #004098;
    color: #fff;
    border: 1px solid #004098;
}

.single .entry-body-wrp .tag-wrp a {
    font-size: .84em
}

.nav-links {
    margin: 0 auto
}

.category-menu-wrp {
    width: 100%;
    margin: 1em auto 0;
}

.category-menu-wrp .flex {
    justify-content: center;
}

.category-menu-wrp .flex li {
    padding: .5em
}

.category-menu-wrp .flex li a {
    display: block;
    padding: .5em 1em
}

/* archive pagenation */
.archive-list-wrp .pagination {
    display: flex;
    justify-content: center;
    margin: 3% auto 4% !important
}

.archive-list-wrp .pagination li {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 1em
}

.archive-list-wrp .pagination .current:not(.next, .prev) {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #004098;
    color: #fff;
    border-radius: 100%;
    width: 2em;
    height: 2em;
}

/* single pagenation */
.pagination {
    display: flex;
    justify-content: space-between;
    max-width: 740px;
    text-align: center;
    margin: 2% auto 4% !important
}

.pagination .pagenavi {
    display: block;
    width: 49%;
    min-height: 4em;
    /*    max-width: 350px;*/
    margin: 1% .5%
}

.pagination .pagenavi a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: .8em;
    line-height: 1.5;
    text-decoration: none;
    padding: 1em 3em;
    color: #222;
    position: relative;
    background-color: #fff;
    border: 1px solid #ccc;
    transition: all .3s ease
}

.pagination .pagenavi a:hover {
    background-color: #004098;
    color: #fff
}

@media screen and (max-width:767px) {
    .pagination .pagenavi {
        width: 100%;
        max-width: 100%;
        margin: .5em 1em;
        font-size: .9em
    }

    /* archive pagenation */
    .archive-list-wrp .pagination {
        max-width: 320px
    }

    .archive-list-wrp .pagination li {
        display: none;
    }

    .archive-list-wrp .pagination li:first-child,
    .archive-list-wrp .pagination li:last-child,
    .archive-list-wrp .pagination li.active {
        display: flex;
    }

    .category-menu-wrp .flex li {}

    .category-menu-wrp .flex li a {
        font-size: .8em
    }

    /*
    .archive-list-wrp .pagination li .ellipse,
    .archive-list-wrp .pagination li a.page-link:not(.next,.prev){
        display: none
    }
*/
    /*
    .archive-list-wrp .pagination .current:not(.next,.prev){
        display: flex;
        justify-content: center;
        align-items: center;
        background-color:#004098;
        color:#fff;
        border-radius: 100%;
        width:2em;
        height: 2em;
    }
*/

    .post-title {
        text-align: center;
        display: inline-block;
        font-size: 4.5vw
    }

    .single .entry-title-wrp .entry-title {
        font-size: 1.4em
    }

    .single .content-body-wrp {
        padding: 0
    }

    .single-figure-wrp {
        margin-bottom: 2em
    }

    .single .content-body-wrp h2 {
        font-size: 1.2em
    }

    .single .content-body-wrp h3 {
        font-size: 1em
    }

    .single .content-body-wrp p {
        font-size: .96em;
        line-height: 1.9
    }

    .single .entry-body-wrp td {
        font-size: .8em;
        line-height: 1.5
    }

    .single .entry-body-wrp .tag-wrp a {
        font-size: .76em
    }

    .single .entry-body-wrp .tag-wrp {
        margin: 3em auto 0;
    }
}

/* author */
.author-bio {
    display: block;
    margin: 2em auto
}

.author-title-wrapper {
    display: flex;
    justify-content: flex-start
}

.author-avatar a {
    display: block;
    width: 70px;
    height: 70px;
    overflow: hidden;
    border-radius: 100%;
    border: 6px solid #ddd;
    position: relative
}

.author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: cover;"
}

.author-title-wrapper p {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: .5em 0 !important;
    margin-left: 1em
}

/* wp image */
.w25 {
    width: 25% !important;
    margin-left: auto;
    margin-right: auto;
}

.w50 {
    width: 50% !important;
    margin-left: auto;
    margin-right: auto;
}

.w70 {
    width: 70% !important;
    margin-left: auto;
    margin-right: auto;
}

.w100 {
    width: 100% !important;
    margin-left: auto;
    margin-right: auto;
}

.single .entry-body-wrp .wp-block-image.w25 {}

/* wp group flex */
.wp-block-group.flex>.wp-block-group__inner-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.wp-block-embed__wrapper {
    text-align: center;
}

.is-provider-youtube iframe {
    margin-left: auto;
    margin-right: auto;
}

.wp-embed-aspect-16-9 {
    margin-bottom: 2em
}

.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
    width: 100%;
    height: 0;
    padding-bottom: 54%;
    position: relative
}

.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

/* fix gallery */
.blocks-gallery-grid,
.wp-block-gallery {
    width: 100%;
    margin: 2em auto
}

.profile .wp-block-group.flex>.wp-block-group__inner-container>.wp-block-group__inner-container {
    display: flex;
    justify-content: space-between;
}

.profile-wrp .blocks-gallery-grid,
.profile-wrp .wp-block-gallery {
    width: 100%;
    margin: 0 auto
}

.profile-wrp .wp-block-gallery {
    gap: 3% !important;
}

.profile-wrp .wp-block-gallery .wp-block-image {
    width: 31%;
    margin-bottom: auto;
}

@media screen and (max-width:767px) {
    .profile-wrp .wp-block-gallery .wp-block-image {
        width: 48%;
    }
}

.wp-block-image img {
    height: auto
}

.profile-wrp .wp-block-gallery .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 4/3;
}

.wp-block-image figcaption {
    margin: 1em 0;
    font-size: min(.83em, 3vw);
    text-align: justify;
    line-height: 1.5;
    min-height: 2lh;
}

.entry li.blocks-gallery-item {
    padding-top: 0;
    padding-bottom: 2.5em
}

.blocks-gallery-item figure {
    flex-wrap: wrap
}

@supports ((position: -webkit-sticky) or(position: sticky)) {

    .blocks-gallery-grid .blocks-gallery-image figure,
    .blocks-gallery-grid .blocks-gallery-item figure,
    .wp-block-gallery .blocks-gallery-image figure,
    .wp-block-gallery .blocks-gallery-item figure {
        display: block;
        flex-wrap: wrap;
        margin-bottom: 2em
    }
}

.blocks-gallery-grid .blocks-gallery-image figcaption,
.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
    display: block;
    position: static;
    bottom: none;
    width: 100%;
    overflow: auto;
    padding: 1em 0;
    color: #222;
    text-align: left;
    font-size: .9em;
    line-height: 1.5;
    background: transparent;
}

.blocks-gallery-item figure img {
    width: 100%
}

/* comments */
/*--------------------------------------------------------------
14.0 Comments
--------------------------------------------------------------*/
.comments-wrp {
    padding: 2em 1em;
    background-color: #f9f9f9;
}

#comments {
    clear: both;
    padding: 1em 0 0.5em;
    width: 100%;
    /*    max-width: 700px;*/
    margin: 0 auto;
}

#comments p {
    font-size: .9em;
    line-height: 1.5em;
    padding: 1em 0;
}

#comments .comment-content p {
    font-size: .9rem;
}

#comments a {
    color: #222;
}

#comments .comment-reply-link {
    display: inline-block;
    padding: .5em 2em;
    border: 1px solid;
    font-weight: normal;
    font-size: .9em;
    margin: 1em 0;
}

#comments h3 {
    font-size: 1.05em;
    padding: .5em 0;
}

.comments-title {
    font-size: 1.2rem;
    margin-bottom: 1.5em;
    text-align: left;
}

.comment-list,
.comment-list .children {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comment-list li.comment:not(.parent) {
    border-bottom: 1px solid #ddd;
    margin-bottom: 2em;
}

.comment-list li:before {
    display: none;
}

.comment-body {
    margin-left: 65px;
}

.comment-author {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 0.4em;
    position: relative;
    z-index: 2;
}

.comment-author .avatar {
    height: 50px;
    left: -65px;
    position: absolute;
    width: 50px;
    border: 3px solid #ddd;
    border-radius: 100%;
    overflow: hidden;
}

.comment-author .says {
    display: none;
}

.comment-meta {
    margin-bottom: 1.5em;
}

.comment-metadata {
    color: #767676;
    font-size: 1em;
    text-transform: uppercase;
}

.comment-metadata a {
    color: #767676;
}

.comment-metadata a.comment-edit-link {
    color: #222;
    margin-left: 1em;
}

.comment-body {
    color: #333;
    font-size: 14px;
    font-size: 0.875rem;
    margin-bottom: 2em;
}

.comment-reply-link {
    font-weight: 800;
    position: relative;
}

.comment-reply-link .icon {
    color: #222;
    left: -2em;
    height: 1em;
    position: absolute;
    top: 0;
    width: 1em;
}

.children .comment-author .avatar {
    height: 30px;
    left: -45px;
    width: 30px;
}

.bypostauthor>.comment-body>.comment-meta>.comment-author .avatar {
    border: 3px solid #ddd;
    border-radius: 100%;
    overflow: hidden;
    /*    padding: 2px;*/
}

.no-comments,
.comment-awaiting-moderation {
    color: #767676;
    font-size: 14px;
    font-size: 0.875rem;
    font-style: italic;
}

.comments-pagination {
    margin: 2em 0 3em;
}

.form-submit {
    text-align: right;
}

.comment-form #wp-comment-cookies-consent {
    margin: 0 10px 0 0;
}

.comments-area label {
    padding: .5em 0;
}

#siteguard_captcha {
    margin: .5em 0;
    font-size: 1em;
    width: 8em;
}

.comment-form .comment-form-cookies-consent label {
    display: inline;
}

.comment-form-comment label {
    display: block;
    padding: .5em 0;
}

.comment-form .submit {
    font-size: .8em;
}

/*blog */
.mt-image-none {
    display: block;
    margin: 2em auto;
    width: 100%;
    height: auto
}

/* post and blog main image */
.page-figure-wrp.post-list-img .featured-image {
    padding-bottom: 30%;
    margin-bottom: 3em
}

/* page */
.page .page-header {}

.page .page-title-wrp {
    display: block;
    width: 100%;
    text-align: center;
    padding: 3em 0 2em
}

.page-figure-wrp .featured-image {
    padding-bottom: 36%
}

.entry.page h2 {
    display: block;
    width: 100%;
    font-size: 1.6em;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 1em
}

.entry.page h3 {
    font-size: 1.2em;
    font-weight: 600;
    line-height: 1.5
}

.page .page-wrp .flex-left-wrp {
    width: 30%;
    position: relative
}

.page .page-wrp .flex-left-wrp>.wp-block-group__inner-container {
    width: 100%;
    position: relative;
    position: sticky;
    top: 7em
}

.page .page-wrp .flex-left-wrp .profile-photo-wrp {
    width: 100%;
    margin: 0 0 3em
}

.page .page-wrp .flex-right-wrp {
    width: 60%
}

.page .page-wrp p {
    font-size: 1em;
    line-height: 2;
    padding-bottom: 1em;
}

.profile-wrp .name {
    font-size: 1.6em;
    line-height: 1.5;
    letter-spacing: .2em
}

.profile-wrp table {
    width: 100%;
    margin: 2em auto;
    border-collapse: collapse
}

.profile-wrp table tr {
    border-bottom: 1px solid #ddd
}

.profile-wrp table td {
    padding: 1em 0;
    padding-right: 1em;
    font-size: .96em;
    line-height: 1.5;
    border: none !important;
}

.profile-table table td:first-child {}

.profile-wrp .career-table table td:first-child {
    width: 10%;
    font-size: 1.1em;
    font-weight: 600
}

.profile-wrp .career-table table td:nth-child(2) {
    width: 24%;
    padding: 1em .5em
}

.profile-wrp .career-table table td:nth-child(3) {
    width: 66%;
    padding: 1em .5em
}

/* history */
.page .page-wrp.history-wrp {
    padding-top: 2em
}

.history-wrp .history {
    padding: 4em 0;
    background-color: #f9f9f9
}

.history-wrp h2 span {
    font-size: .6em;
    padding-left: 5px
}

.history-wrp .dawn h2 {
    font-size: 2.4em
}

.history-wrp h3 {
    margin-bottom: .75em;
}

.history-wrp table {
    width: 100%
}

.history-wrp table th {
    text-align: left;
    border-top: solid 1px #999;
    border-bottom: solid 1px #ddd
}

.history-wrp table td {
    vertical-align: top;
    padding: 2em 0;
    border-bottom: solid 1px #ddd
}

.history-wrp table td p {
    line-height: 1.6em
}

.history-wrp table td.politics {
    width: 15%;
    max-width: 254px;
    padding-right: 1em
}

.history-wrp table td.sentence {
    width: 40%;
    max-width: 677px;
    border-left: solid 1px #ccc;
    padding: 2em 4%;
}

.history-wrp table td.otherevent {
    width: 15%;
    max-width: 254px;
    border-left: solid 1px #ccc;
    padding-left: 2em;
    font-size: .9em
}

.history-wrp table td.politics dl {
    position: relative;
    width: 100%;
    margin-left: 0;
    margin-bottom: 1.5em
}

.history-wrp table td.politics dl dt {
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: .5em
}

.history-wrp table td.politics dl dd {
    line-height: 1.8;
    margin-bottom: 1em
}

.history-wrp table td.politics dl dd .emphasis {
    color: #005ca7;
}

.history-wrp table td.otherevent.forPC {
    display: table-cell !important
}

.history-wrp table th.otherevent h3 {
    color: #333;
}

.history-wrp table td.otherevent dl {
    position: relative;
    width: 100%;
}

.history-wrp table td.otherevent dl dt {
    margin-bottom: 5px;
    line-height: 1.6;
    color: #333;
}

.history-wrp table td.otherevent dl dd {
    margin-bottom: 20px;
    line-height: 1.6;
    color: #666;
}

.history-wrp table figure {
    width: 100%;
    max-width: 600px;
    margin-bottom: 2em
}

.history-wrp table .flex .img2 {
    width: 49%
}

.history-wrp table .flex .img3 {
    width: 33%
}

.history-wrp table td.sentence img {
    width: 100%;
    height: auto
}

/* policy */
.policy-list-wrp {
    padding: 3em 0 4em
}

.policy-wrp .flex.columns-3>.wp-block-group__inner-container {
    justify-content: center
}

.policy-wrp .columns-3 .wp-block-group {
    width: 32%;
    margin: 0 .5% 1em;
}

.policy-wrp .columns-3 .wp-block-group figure {
    width: 100%;
    text-align: center;
}

.policy-wrp .columns-3 .wp-block-group figure img {
    width: 50%;
    height: auto
}

.policy-wrp .columns-3 .wp-block-group h4 {
    font-size: 1em;
    line-height: 1.8
}

.policy-wrp .challenge-wrp {
    padding: 3em 2em;
    background-color: #f9f9f9
}

.policy-wrp .challenge-wrp .title {
    font-size: 1.4em;
    border-bottom: 1px solid #ccc;
    margin-bottom: .5em
}

.policy-wrp .challenge-wrp .subtitle {
    font-size: 1.2em;
    color: #004098
}

.policy-wrp .challenge-wrp .wp-block-image {
    width: 100%;
    margin: 0 0 1em;
}

/* message */
.page .page-wrp.message-wrp {
    padding: 2em 0
}

.page .page-wrp.message-wrp p {
    font-size: 1.1em;
    line-height: 2.4;
    padding: 2em 0
}

.page .page-wrp.message-wrp .ishonomaki-img {
    margin: 3em auto;
}

/* contact */
.contact-wrp {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1280px;
    padding: 2em 1em 5em;
    margin: 0 auto;
}

.contact-wrp h3 {
    font-size: 1.3em;
    padding-bottom: 1em;
}

.contact-wrp .wp-block-group {
    width: 40%;
    padding-top: .5em;
    padding-right: 4%;
}

.contact-wrp .wpcf7 {
    width: 60%;
}

.contact-wrp .wpcf7 label {
    line-height: 2;
}

.contact-wrp .wpcf7 ul,
.contact-wrp .wpcf7 ul {
    margin: 0;
    padding: 0;
    list-style: none
}


/* privacy policy */

.page .privacy-policy-wrp {
    width: 100%;
    max-width: 768px;
    font-size: .9em;
    padding: 0 1.5em;
    margin: 1em auto 5em
}

.page .privacy-policy-wrp h3 {
    font-weight: normal;
    padding: 1em 0 .4em;
    border-bottom: 1px solid #ccc;
    margin-bottom: 1.5em
}

@media screen and (max-width:767px) {
    .page .page-title-wrp {
        padding: 2em 1em 1em
    }

    .page-figure-wrp .featured-image {
        padding-bottom: 50%
    }

    .page-figure-wrp.post-list-img .featured-image {
        padding-bottom: 50%;
        margin-bottom: 2em
    }

    .entry.page h2 {
        font-size: 1.34em
    }

    .entry.page h3 {
        font-size: 1.06em;
    }

    .page .page-wrp p {
        font-size: .94em;
        /*        line-height: 1.8;*/
        text-align: left
    }

    .contact-wrp .wp-block-group {
        width: 100%;
        padding-right: 0;
    }

    .contact-wrp .wpcf7 {
        width: 100%;
        margin-top: 2em;
    }

    .page .contact-wrp h2 {
        margin-bottom: 0;
    }

    .policy-wrp .columns-3 .wp-block-group {
        width: 100%;
    }

    .policy-list-wrp {
        padding: 1em
    }

    .policy-wrp .challenge-wrp {
        padding: 2em 0
    }

    .policy-wrp .challenge-wrp h2 {
        font-size: 1.1em
    }

    .policy-wrp .challenge-wrp .title {
        font-size: 1.1em;
        margin-bottom: 1em
    }

    .policy-wrp .challenge-wrp .subtitle {
        font-size: 1.04em;
        margin-bottom: .5em
    }

    .policy-wrp .challenge-wrp p:not(.btn) {
        font-size: .94em;
        line-height: 1.6
    }

    .policy-wrp .challenge-wrp .btn {
        text-align: center;
        font-size: 1.1em;
        margin: 1em auto 2em
    }

    .policy-wrp .columns-3 .wp-block-group>.wp-block-group__inner-container {
        width: 100%;
        display: flex;
        padding-bottom: 1em;
        border-bottom: 1px solid #ccc;
        margin-bottom: 1em
    }

    .policy-wrp .columns-3 .wp-block-group .wp-block-image {
        width: 30%;
        margin: 0
    }

    .policy-wrp .columns-3 .wp-block-group .wp-block-image figure {
        width: 100%
    }

    .policy-wrp .columns-3 .wp-block-group figure img {
        width: 100%;
        height: auto
    }

    .policy-wrp .columns-3 .wp-block-group h4 {
        font-size: .9em;
        width: 70%;
        text-align: left
    }

    .policy-wrp .columns-3 .wp-block-group h4 br {
        display: none
    }

    /* message */
    .page .page-wrp.message-wrp {
        padding: 1em 0
    }

    .page .page-wrp.message-wrp p {
        font-size: .9em;
        line-height: 2;
        padding: 1em 0
    }

    .page .page-wrp.message-wrp .ishonomaki-img {
        width: 100%;
        margin: 2em auto;
    }

    .page .page-wrp .flex-left-wrp,
    .page .page-wrp .flex-right-wrp {
        width: 100%
    }

    .page .page-wrp .flex-left-wrp .profile-photo-wrp {
        width: 75%;
        margin: 0 auto 3em
    }

    .page .page-wrp .flex-left-wrp>.wp-block-group__inner-container {
        position: static
    }

    .profile-wrp table {
        margin: 0 auto 1em
    }

    .profile-wrp table .blocks-gallery-grid,
    .wp-block-gallery {
        margin: 0 auto
    }

    .page .profile-wrp .career-table table td {
        display: block;
        font-size: .9em;
        width: 100%;
        padding: .5em 0;
    }

    .profile-wrp .career-table table td:first-child {
        font-size: 1em;
        padding: 1em 0 0
    }

    /* history */
    .history-wrp .history {
        padding: 2em 0
    }

    .history-wrp table td {
        display: block;
        font-size: .9em;
        padding: .5em 0;
        width: 100% !important;
        max-width: 100% !important;
    }

    .history-wrp table td.politics,
    .history-wrp table td.sentence {
        padding: .5em 0;
        border: none;
    }

    .history-wrp table td.otherevent {
        padding: 1em 1em .5em;
        border: 1px solid #ccc;
        margin-bottom: 1em
    }

    .history-wrp table td.otherevent.forPC {
        display: none !important
    }

    .history-wrp table td.otherevent dl dd {
        padding-bottom: 0.5em;
        margin-bottom: 0
    }

    .history-wrp .dawn h2 {
        margin-bottom: 0
    }
}

.footer .sns-wrp {
    width: 96%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.5em;
    border-bottom: 1px solid #444;
    padding-bottom: 2em;
    color: #ccc;
}

@media screen and (max-width:767px) {
    .footer .sns-wrp {
        width: 100%;
        border: none;
        padding-bottom: 0;
    }
}

.footer .sns-wrp .line-wrp {
    width: 300px;
}

.footer .sns-wrp .insta-wrp {
    width: 300px;
}

.footer .sns-wrp .youtube-wrp {
    width: 300px;
}

.footer .sns-wrp .insta-wrp a {
    color: #fff;
}

.footer .sns-wrp .insta-wrp .label {
    display: inline-block;
    vertical-align: middle;
    margin-left: .5em;
}

.footer .sns-wrp .insta-wrp img {
    display: inline-block;
    vertical-align: middle;
}

.footer .sns-wrp .youtube-wrp .y-icon {
    display: inline-block;
    vertical-align: middle;
    width: 70px;
    height: 35px;
    overflow: hidden;
}

.footer .sns-wrp .youtube-wrp .y-icon svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media screen and (max-width:767px) {
    .footer .sns-wrp .sns-link {
        width: 100%;
        border-bottom: 1px solid #444;
        padding-bottom: 1.5em;
    }
}