#otonavi-top {
    padding-bottom: 60px;
}
#otonavi-top .block {
    max-width: 1200px;
    width: 85%;
    margin: auto;
}
.tobira {
    background-color: #F7F5EF;
}
.tobira .entry-body section:nth-child(even) {
    background-color: #fff;
}
.tobira .entry-body section:not(:first-child) {
    padding: 60px 0 80px;
}
.tobira #concept {
    padding-top: 10px;
}
@media (min-width: 768px) {
    .tobira .entry-body section:not(:first-child) {
        padding: 80px 0 100px;
    }
    .tobira #concept {
        padding-top: 50px;
    }
}
/*--------------------------------
ここは各施設のカテゴリ表示　テンプレート後には
目次レイアウト　style.css　のユーティリティに統合
*/
#otonavi-top .block .link {
    display: flex;
    flex-wrap: wrap;
    margin-top: 15px;
}
#otonavi-top .block .link li {
    margin-right: 20px;
    border: 2px solid #151A8C;
    background-color: #fff;
    padding: 5px 10px;
    font-size: 1.4rem;
    cursor: pointer;
}
#otonavi-top .block .link li:hover {
    background-color: #151A8C;
}
#otonavi-top .block .link li a {
    color: #151A8C;
    font-weight: bold;
}
#otonavi-top .block .link li:hover a {
    color: #fff;
    opacity: 1;
}
#otonavi-top .block .link li:hover a:visited {
    color: #fff;
}
#otonavi-top .block .category-list {
    margin-top: 40px;
}
#otonavi-top .block .category-list .category-item {
    margin-bottom: 20px;
}
#otonavi-top .block .category-list .category-item p {
    font-weight: bold;
    color: #151A8C;
    margin-bottom: 5px;
}
#otonavi-top .block .category-list .category-item ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}
#otonavi-top .block .category-list .category-item ul li {
    margin-right: 20px;
}
#otonavi-top .block .category-list .category-item input {
    display: none;
}
#otonavi-top .block .category-list .category-item label span {
    border: 2px solid #151A8C;
    background-color: #fff;
    padding: 5px 10px;
    font-size: 1.4rem;
    color: #151A8C;
    font-weight: bold;
    cursor: pointer;
}
#otonavi-top .block .category-list .category-item label input:checked + span {
    background-color: #151A8C;
    color: #fff;
}
#otonavi-top .block .category-list button {
    border: none;
    background-color: #151A8C;
    color: #fff;
    padding: 5px 15px;
    border-radius: 30px;
}
/*--------------------------------------------------------------------------------------------------*/
.tobira #page_toc {
    background: #fff;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    padding: 20px 0 0;
}
.post .block .item-list {
    display: flex;
    flex-wrap: wrap;
}
@media screen and (max-width: 767.98px) {
    #otonavi-top {
        padding-bottom: 30px;
    }
    #otonavi-top .block ul li {
        font-size: 1.0rem;
        margin-bottom: 5px;
        margin-right: 10px;
    }
    #otonavi-top .block .category-list .category-item ul li {
        margin-bottom: 15px;
    }
}
/*
福岡おとなびとは
------------------------------------------------------------*/
#concept .block {
    width: 100%;
    margin: auto;
    padding: 0 0 60px;
}
#concept .block .ttl {
    margin-bottom: 70px;
}
#concept .block .ttl h2 {
    font-size: 4.0rem;
    font-weight: bold;
    text-align: center;
    color: #151A8C;
    line-height: 1.6;
}
#concept .ttl h2 span {
    font-size: 3rem;
}
#concept .block .ttl p {
    color: #151A8C;
    text-align: center;
    font-weight: bold;
}
#concept .block .before {
    position: relative;
    width: 83%;
    max-width: 1000px;
    margin: 0 auto 73px;
    background-color: #F7F5EF;
    padding: 40px 50px 55px 50px;
    border-radius: 15px;
}
#concept .block .before h3 {
    color: #151A8C;
    text-align: center;
    font-size: 3.8rem;
    line-height: 1.6;
    margin-bottom: 20px;
}
#concept .block .before p {
    text-align: justify;
    line-height: 1.8;
}
#concept .block .before .bnr_pc {
    position: absolute;
    width: 34.5%;
    max-width: 345px;
    left: -73px;
    top: -60px;
}
#concept .block .before .arrow_bottom {
    position: absolute;
    width: 188px;
    bottom: -53px;
    left: 50%;
    transform: translateX(-50%);
}
#concept .block .txt h3 {
    text-align: center;
    font-size: 3.8rem;
    line-height: 1.4;
    color: #151A8C;
    font-weight: bold;
    margin-bottom: 30px;
}
#concept .block .after {
    position: relative;
    width: 83%;
    max-width: 1000px;
    margin: 0 auto 73px;
    background-color: #151A8C;
    border-radius: 15px;
    padding: 50px 40px;
}
#concept .block .after::after {
    position: absolute;
    border: 1px solid #fff;
    content: "";
    top: 10px;
    bottom: 10px;
    left: 10px;
    right: 10px;
    border-radius: 15px;
}
#concept .block .after h3 {
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 3.4rem;
    line-height: 1.6;
    margin-bottom: 25px;
}
#concept .block .after p {
    color: #fff;
    line-height: 1.8;
    font-weight: 600;
}
#concept .block .after .bnr_pc {
    position: absolute;
    z-index: 10;
    width: 34.5%;
    max-width: 345px;
    left: -73px;
    top: -60px;
}
#concept .block .bottom {
    position: relative;
    margin: 60px auto 16px;
}
#concept .block .bottom h4 {
    font-size: 3.0rem;
    line-height: 1.6;
    color: #151A8C;
    font-weight: 900;
    padding-right: 12%;
}
#concept .block .bottom img {
    z-index: 10;
    position: absolute;
    width: 17.4%;
    max-width: 174px;
    bottom: -125px;
    right: -50px;
}
@media screen and (max-width: 767.98px) {
    #concept {
        padding-top: 0;
        padding-bottom: 0;
    }
    #concept .block {
        padding: 23px 20px 26px 20px;
    }
    #concept .block .ttl {
        margin-bottom: 35px;
    }
    #concept .block .ttl h2 {
        font-size: 3rem;
    }
    #concept .block .ttl h2 span {
        font-size: 2.5rem;
    }
    #concept .block .ttl p {
        font-size: 1.2rem;
    }
    #concept .block .before {
        width: 100%;
        padding: 35px 0px;
        margin: 0 auto 45px;
    }
    #concept .block .before h3 {
        font-size: 2.2rem;
        padding-left: 10px;
        line-height: 1.4;
    }
    #concept .block .before p {
        padding: 0 28px;
        line-height: 1.6;
        font-size: 1.5rem;
    }
    #concept .block .before .bnr_sp {
        position: absolute;
        width: 130px;
        left: -11px;
        top: -25px;
    }
    #concept .block .before .arrow_bottom {
        width: 90px;
        bottom: -25px;
    }
    #concept .block .txt h3 {
        font-size: 2.2rem;
        margin-bottom: 50px;
    }
    #concept .block .txt h3 span {
        background: linear-gradient(transparent 60%, #FFE356 60%);
    }
    #concept .block .after {
        width: 100%;
        margin: 0 auto 25px;
        padding: 45px 30px 35px 30px;
    }
    #concept .block .after::after {
        top: 5px;
        bottom: 5px;
        left: 5px;
        right: 5px;
    }
    #concept .block .after h3 {
        font-size: 2.4rem;
        line-height: 1.4;
        margin-right: -24px;
        margin-left: -24px;
        margin-bottom: 12px;
    }
    #concept .block .after h3 span {
        display: inline-block;
    }
    #concept .block .after p {
        font-size: 1.5rem;
        line-height: 1.6;
    }
    #concept .block .after .bnr_sp {
        position: absolute;
        z-index: 10;
        width: 126px;
        left: -12px;
        top: -27px;
    }
    #concept .block .bottom {
        /*width: 100%;*/
        /*margin: 80px 0 0 0;*/
    }
    #concept .block .bottom h4 {
        font-size: 1.8rem;
        padding-right: 0;
    }
    #concept .block .bottom img {
        position: absolute;
        width: 90px;
        bottom: -66px;
        right: 0;
    }
}
/*福岡オトナビの想い2025　デザイン変更*/
.ConMsg {
    font-size: 1.6rem;
    padding-top: 16px;
    text-align: justify;
    font-weight: bold;
    padding-bottom: 50px;
    z-index: 1;
    position: relative;
}
.ConMsg p {
    margin-bottom: 16px;
    text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
}
.ConMsg br.sp {
    display: none;
}
@media (min-width: 425px) {
    .ConMsg {
        font-size: 1.8rem;
    }
}
@media (min-width: 576px) {
    .ConMsg {
        font-size: 20px;
    }
}
@media (min-width: 768px) {
    #concept .block {
        padding: 0;
    }
    .ConMsg {
        font-size: 23px;
        padding-left: 48px;
        padding-bottom: 0;
    }
    .ConMsg br.sp {
        display: block;
    }
}
@media (min-width: 992px) {
    .ConMsg {
        font-size: 24px;
        padding-left: 130px;
    }
}
@media (min-width: 1200px) {
    .ConMsg {
        font-size: 28px;
        padding-left: 220px;
    }
}
/*----------*/
.ConBttom {
    position: relative;
}
.ConBttom img {
    position: absolute;
    bottom: -60px;
    right: 40px;
    width: 100px;
}
@media (min-width: 576px) {
    .ConBttom img {
        width: 110px;
    }
}
@media (min-width: 768px) {
    .ConBttom img {
        right: 80px;
        bottom: -120px;
        width: 170px;
    }
}
@media (min-width: 992px) {
    .ConBttom img {
        right: 140px;
    }
}
@media (min-width: 1200px) {
    .ConBttom img {
        right: 200px;
    }
}
/*参加したい・告知したいバナー*/
/*------------------------------------------------*/
.OtonaviBnr {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    row-gap: 30px;
    column-gap: 30px;
}
.OtonaviBnrGItem {
    width: 100%;
}
.OtonaviBnrGItem a {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 16px;
    width: 100%;
    max-width: 400px;
    margin: auto;
    padding: 20px 30px;
    background-color: #26dbe2;
    border-radius: 22px 4px 26px 4px;
    box-shadow: 2px 2px 6px rgb(0 0 0 / 40%);
    transition: 0.3s;
}
.OtonaviBnrGItem2 a {
    background-color: #03af7a;
}
.OtonaviBnrGItem a:hover {
    box-shadow: 1px 1px 3px rgb(0 0 0 / 40%);
}
.OtonaviB_img {
    width: 70px;
}
.OtonaviB_img img {
    filter: drop-shadow(2px 2px 1px #555);
}
.OtonaviB_txt {
    width: calc(100% - 70px);
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    color: #ffffff;
    text-shadow: 1px 2px 4px #000;
}
@media (min-width: 768px) {
    .OtonaviBnrGItem {
        width: 46%;
        max-width: 330px;
    }
    .OtonaviBnr {
        flex-wrap: nowrap;
        justify-content: space-evenly;
        flex-direction: row;
    }
}
/*------------------------*/
#otonavi-event {
    padding: 60px 0 100px 0;
}
#otonavi-event .m-ttl {
    text-align: center;
    margin-bottom: 60px;
}
#otonavi-event .m-ttl h2 {
    color: #151A8C;
    font-size: 3.6rem;
    line-height: 1.5;
    margin-bottom: 20px;
}
#otonavi-event .m-ttl p {
    color: #151A8C;
    font-weight: bold;
}
#otonavi-event .block {
    max-width: 1200px;
    width: 85%;
    margin: auto;
}
#otonavi-event .block .item-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 80px;
}
#otonavi-event .block .item {
    width: 30%;
    margin-right: 5%;
    background-color: #fff;
    padding: 30px 20px 20px 20px;
}
#otonavi-event .block .item:nth-child(3n) {
    margin-right: 0;
}
#otonavi-event .block .item img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 30px;
    margin-bottom: 20px;
}
#otonavi-event .block .item h3 {
    font-weight: bold;
    font-size: 2.2rem;
    margin-bottom: 8px;
}
#otonavi-event .block .item ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 5px;
}
#otonavi-event .block .item ul li {
    margin-right: 10px;
    color: #151A8C;
}
#otonavi-event .block .item .date {
    font-size: 1.8rem;
    font-weight: bold;
}
#otonavi-event .block .item .detail {
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    margin-bottom: 15px;
}
@media screen and (max-width: 767.98px) {
    #otonavi-event .m-ttl h2 {
        font-size: 2.6rem;
    }
    #otonavi-event .block {
        width: 90%;
    }
    #otonavi-event .block .item {
        width: 100%;
        margin-right: 0;
        margin-bottom: 40px;
    }
}