@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&family=Zen+Old+Mincho:wght@500;700&display=swap');

/* 体操ニッポントップ 2026/04 */
body {
    position:relative;
    overflow-x:hidden;
}

#navHeader {
    margin-bottom:0 !important;
    z-index:100;
}

section * {
    box-sizing: border-box;
}

section figure,
section figcaption {
    margin: 0;
    padding: 0;
}

.pc {}
.sp {display:none;}
@media only screen and (max-width: 750px) {
    .pc {display:none;}
    .sp {display:block;}
}

img {
    max-width: 100%;
    height: auto;
}

#contents {
    background-color: #000000;
    margin-bottom: 3em;
    padding-bottom: 6em;
}


/* KV */
#kv {

}

.inner-box {
    width: 94%;
    max-width: 950px;
    background-color: #ffffff;
    margin-left: auto;
    margin-right: auto;
    padding: 3% 2%;
    text-align: center;
}

/* lead */
#lead {
    margin-bottom: 30px;
}
#lead .inner-box {
    padding: 1% 2% 3%;
}
#lead p {
    margin-bottom: 1.5em;
    line-height: 2.0;
    font-family: "Zen Old Mincho", serif;
    font-weight: 500;
    font-size: 21px;
}
#lead p.catch {
    margin-bottom: 3em;
    line-height: normal;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 16px;
}
#lead h1 {
    margin-bottom: 1em;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size: 48px;
}
@media only screen and (max-width: 768px) {
    #lead h1 {
        font-size: 5.8vw;
    }
}
@media only screen and (max-width: 750px) {
    #lead {
        margin-bottom: 2.4vw;
    }
    #lead h1 {
        font-size: 5.4vw;
    }
    #lead p {
        font-size: 2.4vw;
    }
    #lead p.catch {
        font-size: 2.14vw;
    }
}


/* activities */
#activities {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
}
#activities h2 {
    width: 94%;
    max-width: 950px;
    background-color: #ff8400;
    margin-left: auto;
    margin-right: auto;
    padding: 0.5em;
    font-weight: 700;
    font-size: 36px;
    color: #ffffff;
}
#activities h3 {
    position: relative;
    margin-bottom: 1.5em;
    padding-bottom: 1em;
    line-height: 1.8;
    font-size: 36px;
    font-weight: 500;
}
#activities h3:after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 584px;
    height: 10px;
    background-color: #ff8400;
    margin: auto;
    content: "";
}
#activities p {
    margin-bottom: 1.5em;
    text-align: left;
    line-height: 2.0;
    font-size: 21px;
    font-weight: 500;
}
#activities figure img {
    border: 5px solid #ffffff;
    box-shadow: 10px 10px 10px 0px rgba(0,0,0,0.25);
}

#activities ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 90px;
}
#activities ul li {
    width: 31.5%;
    line-height: 1.4;
    font-size: 18px;
    font-weight: 500;
}
#activities ul li figure img {
    margin-bottom: 1em;
}
#activities ul li figcaption {
    text-align: center;
}
#activities .flex-wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2em;
}
#activities .flex-wrap figure {
    width: 323px;
}
#activities .flex-wrap .text {
    width: calc(100% - 343px);
}
#activities .flex-wrap .text p {
    font-size: 18px;
}

@media only screen and (max-width: 768px) {
    #activities .inner-box {
        padding: 3% 5%;
    }
    #activities h2 {
        font-size: 4.8vw;
    }
    #activities h3 {
        font-size: 4.8vw;
    }
    #activities h3:after {
        max-width: 77.7vw;
        height: 1.333vw;
    }
    #activities p {
        font-size: 2.4vw;
    }
    #activities ul {
        justify-content: center;
        flex-wrap: wrap;
        margin-bottom: 9.4vw;
    }
    #activities ul li {
        width: 48%;
        margin-bottom: 3.6vw;
        font-size: 2.4vw;
    }
    #activities ul li:first-child {
        margin-right: 4%;
    }
    #activities .flex-wrap figure {
        width: 47%;
    }
    #activities .flex-wrap .text {
        width: 50%;
    }
    #activities .flex-wrap .text p {
        font-size: 2.4vw;
    }
}

