@charset "UTF-8";

.title {
    position: absolute;
    bottom: 4%;
    left: -5%;
    width: fit-content;
}

.title img {
    width: 35vw;
    min-width: 515px;
}

main {
    background-image: url(../img/bg.png);
    background-size: cover;
    background-repeat: repeat-y;
    padding-bottom: 300px;
}

#s01 {
    padding: 70px 0;
}

#s01>div {
    text-align: center;
    line-height: 1.8;
}

#s02 {
    padding: 30px 0 0px;
}


#s02 .group {
    width: 911px;
    height: 892px;
    margin: auto;
    position: relative;
    z-index: 2;
}

.group span {
    display: block;
    width: 300px;
    height: 10px;
    background-color: #fff;
    position: absolute;
    z-index: 0;
}

.circle {
    width: 290px;
    height: 290px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    z-index: 3;
}

.circle img {
    position: absolute;
    bottom: 60%;
    left: 50%;
    transform: translateX(-50%);
}

.circle div {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: 400px;
    letter-spacing: 0;
}

.circle div p {
    margin-bottom: 0;
}

.circle div small {
    font-size: 0.8em;
    font-weight: 400;
}

.circle div a {
    display: inline-block;
    background-color: #000;
    padding: 2px 6px 0;
    border-radius: 5px;
    font-size: 0.7em;
    margin-top: 20px;
}

.circle.johnan {
    width: 350px;
    height: 350px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}


.circle.johnan img {
    width: 598px;
    bottom: 50%;
}

.circle.johnan div {
    top: 50%;
}

.circle.daiki {
    top: 280px;
    left: 0;
}

.circle.daiki img {
    width: 116px;
}

span.daiki {
    top: 350px;
    left: 100px;
    transform: rotate(-45deg);
}

.circle.ym {
    top: 280px;
    right: 0;
}

.circle.ym img {
    width: 350px;
}

span.ym {
    top: 350px;
    right: 100px;
    transform: rotate(45deg);
}

.circle.gutsy {
    bottom: 0;
    left: 30%;
    transform: translateX(-50%);
}

.circle.gutsy img {
    width: 76px;
}

span.gutsy {
    width: 400px;
    top: 450px;
    left: 150px;
    transform: rotate(-70deg);
}

.circle.uchoten {
    bottom: 0;
    right: 30%;
    transform: translateX(50%);
}

.circle.uchoten img {
    width: 183px;
}

span.uchoten {
    width: 400px;
    top: 450px;
    right: 150px;
    transform: rotate(70deg);
}

.wrap680 {
    max-width: 680px;
    margin: auto;
    padding: 100px 0;
}

.wrap680 h2 {
    font-size: 1.25em;
    text-align: center;
}

.wrap680 .photo {
    width: 100%;
}

.wrap680 p {
    font-size: 0.8em;
}

.wrap680 a {
    background-color: #000;
    display: block;
    font-size: 0.7em;
    width: fit-content;
    margin: auto;
    padding: 2px 30px;
    border-radius: 5px;
}

.wrap680 a img {
    width: 14px;
    vertical-align: middle;
}


#daiki .logo {
    display: block;
    width: 197px;
    margin: auto;
}

#ym .logo {
    display: block;
    width: 680px;
    margin: auto;
}

#gutsy .logo {
    display: block;
    width: 129px;
    margin: auto;
}

#uchoten .logo {
    display: block;
    width: 329px;
    margin: auto;
}

footer {
    margin: 0;
}


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

    main {
        padding-bottom: 150px;
    }

    .title {
        bottom: -1%;
        left: -7%;
    }

    .title img {
        width: 40vw;
        min-width: 335px;
    }



    #s02 .group {
        width: 700px;
        height: 750px;
        margin: auto;
        position: relative;
        z-index: 2;
    }

    .group span {
        display: block;
        width: 300px;
        height: 10px;
        background-color: #fff;
        position: absolute;
        z-index: 0;
    }

    .circle {
        width: 235px;
        height: 235px;
        border-radius: 50%;
        background-color: #fff;
        position: absolute;
        z-index: 3;
    }

    .circle img {
        position: absolute;
        bottom: 60%;
        left: 50%;
        transform: translateX(-50%);
    }

    .circle div {
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
        width: 400px;
        letter-spacing: 0;
    }

    .circle div p {
        margin-bottom: 0;
    }

    .circle div small {
        font-size: 0.8em;
        font-weight: 400;
    }

    .circle div a {
        display: inline-block;
        background-color: #000;
        padding: 2px 6px 0;
        border-radius: 5px;
        font-size: 1em;
        margin-top: 20px;
    }

    .circle.johnan {
        width: 280px;
        height: 280px;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }


    .circle.johnan img {
        width: 400px;
        bottom: 50%;
    }

    .circle.johnan div {
        top: 50%;
    }

    .circle.daiki {
        top: 250px;
        left: 0;
    }

    .circle.daiki img {
        width: 80px;
    }

    span.daiki {
        top: 230px;
        left: 100px;
        transform: rotate(-45deg);
    }

    .circle.ym {
        top: 250px;
        right: 0;
    }

    .circle.ym img {
        width: 250px;
    }

    span.ym {
        top: 230px;
        right: 100px;
        transform: rotate(45deg);
    }

    .circle.ym div p {
        margin-bottom: 0;
    }

    .circle.ym div small {
        display: inline-block;
        font-size: 0.8em;
        font-weight: 400;
        line-height: 1.2em;
        margin-top: 0.3em;
    }

    .circle.ym div a {
        margin-top: 0;
    }




    .circle.gutsy {
        bottom: 0;
        left: 30%;
        transform: translateX(-50%);
    }

    .circle.gutsy img {
        width: 50px;
    }

    span.gutsy {
        width: 400px;
        top: 350px;
        left: 100px;
        transform: rotate(-70deg);
    }

    .circle.uchoten {
        bottom: 0;
        right: 30%;
        transform: translateX(50%);
    }

    .circle.uchoten img {
        width: 140px;
    }

    span.uchoten {
        width: 400px;
        top: 350px;
        right: 100px;
        transform: rotate(70deg);
    }

    .wrap680 {
        max-width: 680px;
        margin: auto;
        padding: 100px 0;
    }

    .wrap680 h2 {
        font-size: 1.75em;
        margin: 1em;
        text-align: center;
    }

    .wrap680 .photo {
        width: 100%;
    }

    .wrap680 p {
        font-size: 0.8em;
    }

    .wrap680 a {
        background-color: #000;
        display: block;
        font-size: 0.8em;
        width: fit-content;
        margin: auto;
        padding: 5px 30px 2px;
        border-radius: 5px;
    }

    .wrap680 a img {
        width: 14px;
        vertical-align: middle;
    }


    #daiki .logo {
        display: block;
        width: 197px;
        margin: auto;
    }

    #ym .logo {
        display: block;
        width: auto;
        max-width: 80%;
        margin: auto;
    }

    #gutsy .logo {
        display: block;
        width: 129px;
        margin: auto;
    }

    #uchoten .logo {
        display: block;
        width: 329px;
        margin: auto;
    }

    footer {
        margin: 0;
    }
}

@media screen and (max-width:700px) {
    main {
        background-size: contain;
    }

    #s01 {
        padding: 30px 0 70px;
    }

    #s02 .group {
        width: 90%;
        height: auto;
        margin: auto;
        position: relative;
        z-index: 2;
        margin-bottom: 100px;
    }



    .group span {
        display: none;
        width: 300px;
        height: 10px;
        background-color: #fff;
        position: absolute;
        z-index: 0;
    }

    .circle {
        width: 55vw;
        height: 55vw;
        border-radius: 50%;
        background-color: #fff;
        position: relative;
        z-index: 3;
    }

    .circle div p {
        margin-bottom: 0;
        font-size: 0.9em;
    }


    .circle.johnan {
        width: 75vw;
        height: 75vw;
        top: 0;
        left: 0;
        transform: translateX(-0%);
        margin: auto;
        margin-bottom: 50px;
    }

    .circle.johnan img {
        width: 80vw;
        bottom: 50%;
    }

    .circle.daiki {
        top: 0;
        left: 0;
        margin-bottom: 10px;
    }

    .circle.daiki img {
        width: 80px;
    }

    .circle.ym {
        top: 0;
        right: 0;
        margin-left: auto;
        margin-bottom: 10px;
    }

    .circle.ym img {
        width: 240px;
    }


    .circle.gutsy {
        bottom: auto;
        left: 0%;
        transform: translateX(0);
        margin-bottom: 10px;
    }

    .circle.gutsy img {
        width: 50px;
    }


    .circle.uchoten {
        bottom: auto;
        right: 0;
        transform: translateX(0);
        margin-left: auto;

    }

    .circle.uchoten img {
        width: 120px;
    }

    .wrap680 {
        width: 90%;
        margin: auto;
        padding: 50px 0;
    }

    .wrap680 h2 {
        font-size: 1.1em;
        margin: 1em;
        text-align: center;
    }

    .wrap680 p {
        font-size: 0.9em;

    }

    .wrap680 a {
        padding: 5px 40px 2px;
    }


    #daiki .logo {
        display: block;
        width: 120px;
        margin: auto;
    }

    #ym .logo {
        display: block;
        width: auto;
        max-width: 100%;
        margin: auto;
    }

    #gutsy .logo {
        display: block;
        width: 20%;
        max-width: 80px;
        margin: auto;
    }

    #uchoten .logo {
        display: block;
        width: 50%;
        max-width: 250px;
        margin: auto;
    }





}

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