.p-intro {
    padding: 40px 0 60px;
    background-color: #fffbcb
}

.p-intro .section {
    margin-bottom: 40px
}

.p-intro .section:last-of-type {
    margin-bottom: 0
}

.p-intro .section h2 {
    margin-bottom: 15px
}

@media only screen and (max-width: 520px) {
    .p-intro .section h2 {
        text-align: center
    }
}

@media only screen and (max-width: 520px) {
    .p-intro .section:nth-of-type(1) h2 img {
        max-width: inherit;
        max-height: 22px
    }
}

@media only screen and (max-width: 520px) {
    .p-intro .section:nth-of-type(2) h2 img {
        max-width: inherit;
        max-height: 27px
    }
}

.p-intro .poster {
    padding: 60px 30px 30px;
    border-radius: 10px;
    margin-top: -5px;
    background-color: #fff
}

@media only screen and (max-width: 520px) {
    .p-intro .poster {
        padding: 20px 15px 18px
    }
}

.p-intro .poster ul.list {
    max-width: 832px;
    margin: 0 auto;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-start
}

@media only screen and (max-width: 520px) {
    .p-intro .poster ul.list {
        display: inline-block
    }
}

.p-intro .poster ul.list>li {
    position: relative
}

.p-intro .poster ul.list>li:nth-child(1) {
    width: 240px;
    margin-right: 30px
}

@media only screen and (max-width: 520px) {
    .p-intro .poster ul.list>li:nth-child(1) {
        width: auto;
        max-width: 240px;
        margin: 0 auto 50px
    }
}

.p-intro .poster ul.list>li:nth-child(2) {
    width: 492px
}

@media only screen and (max-width: 520px) {
    .p-intro .poster ul.list>li:nth-child(2) {
        width: auto;
        max-width: 303px;
        margin: 0 auto
    }
}

.p-intro .poster ul.text {
    position: absolute;
    top: -1.5em;
    left: 0;
    width: 100%;
    font-size: 1.4rem;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-start
}

.p-intro .poster ul.text li {
    width: 48.7804878049%;
    text-align: center
}

.p-intro .poster ul.links {
    margin-top: 7px;
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 500;
    text-align: center
}

.p-intro .poster ul.links li {
    margin-bottom: 4px
}

.p-intro .poster ul.links li:last-child {
    margin-bottom: 0
}

.p-intro .poster ul.links li a {
    color: #cc4b21;
    text-decoration: underline;
    white-space: nowrap;
}

/* 20241008追記 */
/* @media only screen and (max-width: 520px) {
    .p-intro .poster ul.links li a {
        white-space: normal;
    }
} */

.p-intro .poster ul.links li a:hover {
    opacity: .6
}

.p-intro .attention {
    margin-top: 40px;
    line-height: 1.5
}

.p-intro .attention dt {
    padding-left: 17px;
    margin-bottom: 5px;
    font-weight: 500;
    position: relative
}

.p-intro .attention dt::before {
    content: " ";
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #00ab84;
    position: absolute;
    top: 0.75em;
    left: 0;
    margin-top: -4px
}

.p-intro .attention dt a {
    color: inherit;
    text-decoration: underline
}

.p-intro .attention dt a:hover {
    color: #00ab84
}

.p-intro .attention dd li {
    padding-left: 0.7em;
    margin-bottom: 2px;
    font-size: 1.4rem;
    position: relative
}

.p-intro .attention dd li:last-child {
    margin-bottom: 0
}

.p-intro .attention dd li::before {
    content: "・";
    display: block;
    position: absolute;
    top: 0;
    left: 0
}

.p-special {
    padding: 60px 0;
    background-color: #d9f1e6
}

.p-special h2 {
    text-align: center
}

.p-special .lead {
    margin-top: 10px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.1em;
    text-align: center
}

@media only screen and (max-width: 520px) {
    .p-special .lead {
        font-size: 1.3rem
    }
}

.p-special .archive_list {
    margin-top: 40px;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-start
}

@media only screen and (max-width: 520px) {
    .p-special .archive_list {
        margin-top: 40px;
        display: block
    }
}

.p-special .archive_list li {
    width: 46.9387755102%
}

@media only screen and (max-width: 520px) {
    .p-special .archive_list li {
        width: auto;
        margin-bottom: 24px
    }

    .p-special .archive_list li:last-child {
        margin-bottom: 0
    }
}

.p-special .archive_list li .heading {
    margin-top: 8px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5714285714;
    text-align: center
}

.p-special .bnr {
    margin: 40px auto 0;
    max-width: 744px
}

.p-study {
    padding: 60px 0
}

.p-study h2 {
    margin-bottom: 40px;
    font-size: 2.0rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center
}

.p-study h2 .wrap {
    display: inline-block;
    padding: 2px 25px;
    position: relative
}

.p-study h2 .wrap::before,
.p-study h2 .wrap::after {
    content: " ";
    display: block;
    width: 18px;
    height: 34px;
    background: url("../../lib/images/public/title_decoration.svg") center no-repeat;
    position: absolute;
    top: 50%;
    margin-top: -15px
}

.p-study h2 .wrap::before {
    left: 0
}

.p-study h2 .wrap::after {
    right: 0;
    transform: scale(-1, 1)
}

.p-study .bnr {
    max-width: 744px;
    margin: 0 auto
}

.p-study .bnr li {
    margin-bottom: 40px
}

@media only screen and (max-width: 520px) {
    .p-study .bnr li {
        margin-bottom: 24px
    }
}

.p-study .bnr li:last-child {
    margin-bottom: 0
}

.p-collaboration {
    padding: 1px 0;
    background: #00AB84
}

.p-collaboration .p-content {
    background: #fff;
    border-radius: 40px;
    padding: 60px 0
}

.p-collaboration .p-content h3 {
    max-width: 640px;
    margin: 0 auto 15px
}

.p-collaboration .p-content .lead {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    margin-bottom: 40px
}

.p-collaboration .p-content .movie-list {
    margin-top: 30px;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-start
}

@media only screen and (max-width: 520px) {
    .p-collaboration .p-content .movie-list {
        margin-top: 20px;
        display: block
    }
}

.p-collaboration .p-content .movie-list li {
    width: 46.9387755102%
}

@media only screen and (max-width: 520px) {
    .p-collaboration .p-content .movie-list li {
        width: auto;
        margin-bottom: 40px
    }

    .p-collaboration .p-content .movie-list li:last-child {
        margin-bottom: 0
    }
}

.p-collaboration .p-content .movie-list li .c-youtube {
    border-radius: 6px
}

.p-collaboration .p-content .movie-list li .heading {
    margin-top: 8px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5714285714;
    text-align: center
}

.tieup-content {
    padding: 60px 0
}

.tieup-content h3 {
    text-align: center;
    font-size: 2.4rem;
    border-top: 1px solid #00AB84;
    border-bottom: 1px solid #00AB84;
    padding: 15px 0;
    font-weight: 500;
    margin-bottom: 40px
}

.tieup-content .post-list {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between
}

@media only screen and (max-width: 520px) {
    .tieup-content .post-list {
        display: block
    }
}

.tieup-content .post-list.col2 {
    justify-content: center
}

@media only screen and (max-width: 520px) {
    .tieup-content .post-list.col2 {
        display: block
    }
}

.tieup-content .post-list.col2>li {
    margin: 0 15px
}

@media only screen and (max-width: 520px) {
    .tieup-content .post-list.col2>li {
        margin: 0 auto 20px
    }
}

.tieup-content .post-list>li {
    flex: 0 0 32%;
    background: #ECF8F2;
    padding: 20px;
    border-radius: 12px;
    position: relative;
    display: flex;
    flex-direction: column
}

@media only screen and (max-width: 520px) {
    .tieup-content .post-list>li {
        margin-bottom: 20px
    }
}

.tieup-content .post-list>li .title {
    font-size: 1.8rem;
    background: #fff;
    border-radius: 12px;
    padding: 0.4em;
    text-align: center;
    font-weight: 500;
    margin-bottom: 15px
}

.tieup-content .post-list>li .cont {
    flex-grow: 1;
    display: flex;
    flex-direction: column
}

.tieup-content .post-list>li .cont .body {
    flex-grow: 1;
    font-size: 1.6rem;
    text-align: justify
}

.tieup-content .post-list>li .cont .linkbtn {
    margin-top: 20px;
    text-align: center
}

.tieup-content .post-list>li .cont .linkbtn a {
    display: inline-block;
    background: #fff;
    color: #000;
    padding: 0.8em 1.5em 0.95em;
    border: 1px solid #00AB84;
    border-radius: 6px;
    font-size: 1.4rem
}

.tieup-content .post-list>li .cont .linkbtn a::before {
    content: '';
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    background-image: url("../images/common/icon_play.svg");
    background-size: contain;
    position: relative;
    top: 0.15em;
    margin-right: 0.4em
}

.tieup-content .post-list>li .cont .linkbtn a:hover {
    opacity: .7
}

/*****2026****/
.margin_top{
 margin-top:6rem;
}

.p-intro .poster ul.list.margin_top{
 margin-top:6rem;
}

.leaflet {
    width: 80%;
    margin: 8rem auto 2rem;
}


@media (min-width: 521px) {
 .po_flex{
  display: flex;
  justify-content: space-around;
 }

 .po_flex div{
  width: 40%;
 }
}

@media (max-width: 520px) {

.po_flex {
    width: 80%;
    margin: 0 auto;
}

.waka_po{
 margin-top:4rem;
}

.leaflet {
 margin-top:4rem;

}

.sp_m_top{
 margin-top:4rem;
}


}
