@charset "utf-8";

/*------------------------------------------------------------
	project
------------------------------------------------------------*/
body{
	background-color: #a8ab41;
}
#main .sp {
    display: none;
}

#main .width-1147{
    max-width: 1147px;
    margin: 0 auto;
}

.pt-50{
    padding-top: 50px;
}

.pt-100{
    padding-top: 100px;
}

.img-center{
    margin: 0 auto;
}

#main .mainImg {
    margin-bottom: -103px;
}

#main .img {
    margin: 0 auto;
    padding-left: 56px;
    width: 100%;
}

#main img {
    width: 100%;
}

#main .content {
    max-width: 1094px;
}

#main .content h3 {
    margin-bottom: 32px;
    font-weight: 600;
}

#main .content h3 .jp {
    margin-bottom: 23px;
    display: block;
    font-size: 6rem;
    letter-spacing: 0.1em;
}

#main .content h3 .en {
    font-size: 4.8rem;
}

#main .content .txt {
    line-height: 1.8;
    letter-spacing: 0.05em;
}

#main .content .txt a{
    color: #15304c;
}

#main .content .txt+.txt {
    margin-top: 44px;
}

#main .content .txt.sml {
    font-size: 1.8rem;
    line-height: 1.43;
    letter-spacing: 0;
    margin-bottom: 86px;
}

#main .content .imgList {
    margin: 115px 0 40px;
}

#main .content .imgList li {
    margin-bottom: 74px;
    width: calc(50% - 61px);
}

#main .content .imgList li:nth-child(2n) {
    width: calc(50% - 40px);
}

#main .content .imgList .textBox {
    display: flex;
    align-items: center;
}

#main .content .imgList .textBox .num {
    margin-right: 16px;
    padding: 3px;
    min-width: 41px;
    height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 5.5rem;
    box-sizing: border-box;
    background-color: #a8ab41;
    font-family: MS PGothic, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", sans-serif;
}

#main .content .imgList .textBox h4 {
    flex: 1;
    font-weight: 400;
    font-size: 2.5rem;
}

#main .content .imgBox h4 {
    margin-bottom: 57px;
    margin-top: 103px;
    padding: 35px 0 43px;
    font-size: 4rem;
    text-align: center;
    letter-spacing: 0.1em;
    background-color: #a8ab41;
}

#main .content .imgBox .photoBox {
    margin: 0 auto;
    width: 780px;
}

#main .content .imgBox .photoBox+.photoBox {
    margin-top: 115px;
}

#main .content .imgBox {
    margin-bottom: 57px;
}

#main .content h3.sml {
    margin-top: 278px;
    margin-bottom: 40px;
    font-size: 4.8rem;
    letter-spacing: 0.05em;
}

#main .content h3 .sub_title {
    font-size: 4.3rem;
}

#main .content .img_width_100 {
    width: 100%;
    display: block;
}

#main .content .img_width_100 img {
    width: 100%;
}

#main .content .img_width_flex {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

#main .content .img_width_flex img {
    width: 49%;
    display: block;
}

#main .content .cidre_sub {
    margin: 40px 0 0px 0;
}

#main .content h3.sml~p {
    line-height: 1.8;
}

#main .content h3.sml~p+p {
    margin-top: 45px;
}

#main .content .imgBox01,
#main .content .imgBox02 {
    font-size: 25px;
    letter-spacing: 0.05em;
}

#main .content .imgBox01 .imgList,
#main .content .imgBox02 .imgList {
    margin: 0 68px 0 0;
    width: 450px;
}

#main .content .imgBox01 .imgList li,
#main .content .imgBox02 .imgList li {
    width: 100%;
    margin-bottom: 19px;
}

#main .content .imgBox01 .img,
#main .content .imgBox02 .img {
    width: 100%;
    padding-left: 0;
}

#main .content .imgBox01 {
    margin-top: 78px;
}

#main .content .imgBox01 p,
#main .content .imgBox02 p {
    margin-top: 8px;
}

#main .content .imgBox01 .photoBox,
#main .content .imgBox02 .photoBox {
    flex: 1;
    margin-top: 160px;
}

#main .content .imgBox02 {
    margin-top: -92px;
}

#main .content .imgBox03 {
    margin-top: 33px;
}

#main .content .imgBox03 .photoBox {
    text-align: center;
}

#main .content .imgBox03+.imgBox03 {
    margin-top: 273px;
}

#sponsorship{
    padding: 50px 0;
}

#sponsorship h2 {
    font-size: 3rem;
}

#sponsorship ul {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

#sponsorship ul li {
    width: 500px;
}

#artist .flex{
    background-image: url(../img/project02/photo11.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 40px 0 40px 300px;
}

#artist .name {
    display: flex;
}

#artist .name .title {
    font-size: 3rem;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 20px;
}

#artist .name .sns {
    display: flex;
}

#artist .name .sns a {
    width: 40px;
    margin: 0 10px;
}

#artist .text p {
    font-size: 2.3rem;
    line-height: 3.5rem;
    padding-bottom: 20px;
}

#artist .text p.sml {
    font-size: 1.5rem;
    line-height: 2rem;
}

@media all and (min-width: 897px) {
    #main .content a:hover {
        text-decoration: underline;
    }
}

@media all and (max-width: 896px) {
    #main .sp {
        display: block;
    }

    .pt-100{
        padding-top: 25px;
    }

    .pt-50{
        padding-top: 10px;
        margin-top: 25px;
    }

    #main .mainImg {
        margin-bottom: 59px;
    }

    #main .img {
        width: 77.34%;
        padding-left: 0;
    }

    #main .img+.img {
        margin-top: 36px;
    }

    #main .content {
        padding: 0 27px;
        max-width: inherit;
    }

    #main .content h2 {
        margin: 0 auto 40px;
        padding-bottom: 9px;
        position: relative;
        width: 400px;
    }

    #main .content h3 {
        margin: 48px 0 8px;
    }

    #main .content .cidre_sub {
        margin: 30px 0 10px 0;
    }

    #main .content h3 .jp {
        margin-bottom: 0;
        font-size: 3rem;
        letter-spacing: 0.05em;
    }

    #main .content h3 .en {
        font-size: 3.88rem;
    }

    #main .content h3 .sub_title {
        font-size: 2.3rem;
    }

    #main .content .txt {
        margin-right: -9px;
        line-height: 1.818;
    }

    #main .content .txt+.txt {
        margin-top: 42px;
    }

    #main .content .txt.sml {
        margin-right: -2px;
        font-size: 1.5rem;
        line-height: 1.667;
        letter-spacing: 0.05em;
        margin-bottom: 40px;
    }

    #main .content .imgList {
        margin: 85px 0 58px;
        display: block;
    }

    #main .content .imgList li {
        margin: 0 auto 28px;
        width: 77.4%;
    }

    #main .content .imgList li:nth-child(2n) {
        width: 77.4%;
    }

    #main .content .imgList .textBox .num {
        margin-right: 8px;
        font-size: 3.535rem;
        min-width: 27px;
        height: 42px;
    }

    #main .content .imgList .textBox h4 {
        font-size: 1.5rem;
        letter-spacing: 0.05em;
    }

    #main .content .imgBox h4 {
        margin: 76px 11px 85px;
        padding: 2px 0 8px;
        font-size: 2.2rem;
        line-height: 1.441;
        letter-spacing: 0.05em;
    }

    #main .content .imgBox {
        margin-bottom: 80px;
    }

    #main .content .imgBox .photoBox {
        width: 77.2%;
    }

    #main .content .imgBox .photoBox+.photoBox {
        margin-top: 46px;
    }

    #main .content h3.sml {
        margin: 105px 0 48px 10px;
        font-size: 2.2rem;
    }

    #main .content h3.sml~p {
        margin-left: 10px;
        font-size: 1.5rem;
        line-height: 1.667;
        letter-spacing: 0.05em;
    }

    #main .content h3.sml~p+p {
        margin-top: 25px;
    }

    #main .content .imgBox01,
    #main .content .imgBox02 {
        margin-top: 30px;
        flex-direction: column-reverse;
        font-size: 1.5rem;
        line-height: 1.3;
    }

    #main .content .imgBox01.column{
        flex-direction: column;
    }

    #main .content .imgBox01 p,
    #main .content .imgBox02 p {
        margin-top: 2px;
    }

    #main .content .imgBox01 .imgList,
    #main .content .imgBox02 .imgList {
        margin: 0 auto;
        width: 65.695vw;
    }

    #main .content .imgBox01 .imgList li,
    #main .content .imgBox02 .imgList li {
        margin-bottom: 10px;
    }

    #main .content .imgBox01 .imgList li:nth-child(2n),
    #main .content .imgBox02 .imgList li:nth-child(2n) {
        width: 100%;
    }

    #main .content .imgBox01 .photoBox,
    #main .content .imgBox02 .photoBox {
        margin-top: 53px;
    }

    #main .content .imgBox03 {
        margin-top: 25px;
    }

    #main .content .imgBox03+.imgBox03 {
        margin-top: 118px;
    }

    #main .content .imgBox03 p {
        font-size: 1.5rem;
    }

    #main .content .img_width_flex {
        flex-direction: column;
        margin-top: 0px;
    }

    #main .content .img_width_flex img {
        width: 100%;
        display: block;
        margin-top: 20px;
    }

    #sponsorship h2{
        font-size: 1.5rem;
        margin-bottom: 15px !important;
    }

    #artist h2{
        font-size: 1.5rem;
        margin-bottom: 15px !important;
    }
    #sponsorship ul li{
        width: 48%;
    }
    #artist .flex{
        background-image: url("../img/project02/sp-photo04.png");
        padding: 203px 15px 0px 15px;
        background-size: 100% auto;
        min-height: 450px;
        flex-direction: column;
    }

    #artist .name .title{
        font-size: 1.9rem;
    }

    #artist .name .sns a{
        width: 30px;
        margin: 0 5px;
    }

    #artist .name{
        justify-content: space-between;
        width: 100%;
    }

    #artist .text p{
        font-size: 1.5rem;
        line-height: 1.9rem;
    }

    #artist .text p.sml{
        font-size: 1.3rem;
        line-height: 1.5rem;
    }
}

@media all and (max-width: 459px) {
    #main .content h2 {
        width: 100%;
    }


    #main .content h3 .jp {
        font-size: 2.1rem;
    }

    #main .content .txt {
        font-size: 1.7rem;
    }

    #main .content .imgList .textBox h4 {
        font-size: 1.3rem;
    }

    #main .content h3 .en {
        font-size: 2.5rem;
    }
    .pt-50{
        padding-top: 10px;
        margin-top: 25px;
    }

    
}

@media all and (max-width: 320px) {
    #main .content h2 {
        padding-right: 135px;
        width: 150px;
    }

    #main .content h2::after {
        width: 130px;
        height: 156px;
    }
}