@charset "utf-8";
/*-----------------------------------------------
    boxListMain
-----------------------------------------------*/
.boxListMain{
    display: flex;
    flex-wrap: wrap;
    counter-reset: number 0;
    gap: 18rem;
}
.boxListMain .item{
    width: 100%;
}
/* boxHead */
.boxListMain .boxHead{
    position: relative;
    width: 100%;
    padding: 3.5rem 0 3rem;
    margin-bottom: 5rem;
    border-bottom: 1px solid var(--grayColor);
}
.boxListMain .boxHead::before {
    position: absolute;
    counter-increment: number 1;
    content: counter(number,decimal-leading-zero);
    color: var(--greenColor);
    left: 0;
    top: 0;
    margin: auto;
    z-index: 2;
    font-size: var(--pcFS22);
    letter-spacing: var(--pcLS22_50);
    font-weight: bold;
}
.boxListMain .boxHead .tit{
    font-size: var(--pcFSTit);
    line-height: var(--pcLHTit);
    letter-spacing: var(--pcLSTit);
    font-weight: bold;
}
/* boxBody */
.boxListMain .boxBody .boxImg{
    text-align: center;
}
.boxListMain .boxImg + .boxTxt{
    margin-top: 5rem;
}
.boxListMain .titTop{
    font-size: var(--pcFS35);
    line-height: var(--pcLH35_52);
    font-weight: bold;
    text-align: center;
}
.boxListMain .boxTxt .tit{
    font-size: var(--pcFS22);
    line-height: var(--pcLH22_50);
    font-weight: bold;
}
.boxListMain .boxTxt .txt{
    font-size: var(--pcFS18);
    line-height: var(--pcLHW18_36);
}
.boxListMain .boxBody .imgTxt{
    margin-top: 1rem;
}
#link02 .boxImg{
    padding: 2rem 0;
}
@media only screen and (max-width:1215px){
    .boxListMain{
        margin-top: 3.5rem;
        gap: 8rem;
    }
    /* boxHead */
    .boxListMain .boxHead{
        padding: 2rem 0 1.5rem;
        margin-bottom: 2.2rem;
    }
    .boxListMain .boxHead::before {
        font-size: var(--spFS16);
    }
    .boxListMain .boxHead .tit{
        font-size: var(--spFSSTit);
        line-height: var(--spLHSTit);
        letter-spacing: var(--spLSSTit);
    }
    /* boxBody */
    .boxListMain .boxImg + .boxTxt{
        margin-top: 1.2rem;
    }
    .boxListMain .titTop{
        font-size: var(--spFS19);
        line-height: var(--spLH19_28);
    }
    .boxListMain .boxTxt .tit{
        font-size: var(--spFS16);
        line-height: var(--spLH16_26);
    }
    .boxListMain .boxTxt .txt{
        font-size: var(--spFS14);
        line-height: var(--spLHW14_24);
    }
    .boxListMain .boxBody .imgTxt{
        margin-top: 0.8rem;
        width: 8.6rem;
    }
}

/* boxDlTable */
.boxDlTable{
    margin-top: -3rem;
}
.boxDlTable .tr{
    position: relative;
    display: flex;
    font-size: var(--pcFS18);
    line-height: var(--pcLHW18_36);
    letter-spacing: var(--pcLS18_50);
}
.boxDlTable .tr:before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--grayColor);
    opacity: 0.8;
}
.boxDlTable .th{
    width: 22rem;
    padding: 4rem 0;
    display: flex;
    align-items: flex-start;
    font-weight: bold;
}
.boxDlTable .th,
.boxDlTable .td{
    padding: 4rem 0;
}
#link04 .boxDlTable .th,
#link04 .boxDlTable .td{
    padding: 2rem 0;
}
#link04 .boxDlTable .th{
    padding-right: 1rem;
}
.boxDlTable .td{
    flex: 1;
}
.boxDlTable .txtLink{
    text-decoration: underline;
    color: var(--linkColor);
}
/* boxMore */
.boxMore .boxDlTable .tr{
    opacity: 1;
    transition: all 0.4s ease 0s;
}
.boxMore .boxDlTable .tr.is-hidden {
    opacity: 0;
    height: 0;
}
/* boxMoreLink */
.boxMoreLink{
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 3rem auto 0;
}
.boxMoreLink.moreView{
    display: none;
}
.boxMoreLink .moreLink{
    position: relative;
    width: 100%;
    min-height: 9rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--gray_lightColor);
    box-shadow: 0 1px 0 0 var(--blackColor_15);
    font-size: var(--pcFS20);
    border-radius: 1rem;
    padding: 2rem 4.2rem;
    transition: 0.4s ease-out;
}
@media only screen and (max-width:1215px){
    .boxDlTable{
        width: 100%;
        margin-top: -2rem;
    }
    .boxDlTable .tr{
        flex-wrap: wrap;
        font-size: var(--spFS14);
        line-height: var(--spLH14_20);
        letter-spacing: var(--spLS14_0);
    }
    .boxDlTable .tr:last-child::before{
        display: none;
    }
    .boxDlTable .th{
        width: 100%;
        padding: 2.5rem 0 0;
    }
    #link04 .boxDlTable .th{
        padding: 1.5rem 0 0;
    }
    .boxDlTable .td,
    #link04 .boxDlTable .td{
        padding: 0.5rem 0 2.5rem;
    }
    #link04 .boxDlTable .td{
        padding-bottom: 1.5rem;
    }
    #link04 .boxDlTable .th{
        padding-right: 0;
    }
    /* boxMoreLink */
    .boxMoreLink{
        margin-top: 1.5rem;
    }
    .boxMoreLink .moreLink{
        min-height: 5.6rem;
        font-size: var(--spFS14);
        border-radius: 0.8rem;
        padding: 2rem 4.2rem;
    }
}

/* boxInfoList */
.boxInfoList{
    display: flex;
    flex-wrap: wrap;
    gap: 10rem;
    padding-top: 5rem;
}
.boxInfoList .itemInfo{
    width: 100%
}
.boxInfoList .boxContents{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
/* boxTit */
.boxInfoList .boxTit{
    width: calc(100% - (32rem + 5rem));
}
.boxInfoList .tit,
.boxBody .titSub{
    position: relative;
    width: 100%;
    font-size: var(--pcFS24);
    line-height: var(--pcLH24_36);
    letter-spacing: var(--pcLHW24_80);
    font-weight: bold;
    padding-left: 1.4rem;
}
.boxInfoList .tit:before,
.boxBody .titSub:before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0.5rem;
    height: 3rem;
    background-color: var(--greenColor);
}
.boxInfoList .txt{
    font-size: var(--pcFS18);
    line-height: var(--pcLHW18_36);
    margin-top: 2rem;
}
.boxInfoList .txt + .txt{
    margin-top: 1.5rem;
}
.boxBody .titSub + .txt{
    margin-top: 2rem;
}
.boxInfoList .txt .in{
    font-size: var(--pcFS20);
}
.boxInfoList .bigTxt{
    font-size: var(--pcFS22);
}
/* boxImg */
.boxInfoList .boxImg{
    width: 32rem;
    border-radius: 2rem;
    overflow: hidden;
}
/* boxInfo */
.boxInfoList .boxInfo{
    margin-top: 5.5rem;
    background-color: var(--beigeColor);
    padding: 6rem 7rem;
    border-radius: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.boxInfoList .boxInfo + .boxInfo{
    margin-top: 3rem;
}
/* boxTit */
.boxInfoList .boxInfo .boxTit{
    width: calc(100% - (20rem + 4rem));
}
.boxInfoList .boxInfo .tit{
    padding-left: 0;
    font-size: var(--pcFS22);
    line-height: var(--pcLHS22_30);
}
.boxInfoList .boxInfo .tit:before{
    display: none;
}
.boxInfoList .boxInfo .txt{
    font-size: var(--pcFS16);
    line-height: var(--pcLH16_28);
    margin-top: 1rem;
}
.boxInfoList .boxInfo .img{
    margin-top: 2rem;
}
/* boxImg */
.boxInfoList .boxInfo .boxImg{
    width: 20rem;
    border-radius: 0;
}
/* boxPoint */
.boxInfoList .boxPoint{
    margin-top: 6.5rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row-reverse;
}
.boxInfoList .boxPoint + .boxPoint{
    margin-top: 6rem;
}
/* boxTit */
.boxInfoList .boxPoint .boxTit{
    width: calc(100% - (28rem + 5rem));
    margin-top: 0.5rem;
}
.boxInfoList .boxPoint .tit{
    padding-left: 0;
    font-size: var(--pcFS22);
    line-height: var(--pcLHS22_30);
}
.boxInfoList .boxPoint .tit:before{
    display: none;
}
.boxInfoList .boxPoint .txt{
    margin-top: 1rem;
}
.boxInfoList .boxPoint .img{
    margin-top: 1rem;
}
/* boxImg */
.boxInfoList .boxPoint .boxImg{
    width: 28rem;
}
/* boxSDGs */
.boxInfoList .boxSDGs .boxTit{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.boxInfoList .boxSDGs .boxImg{
    width: 49rem;
    margin-left: 6rem;
    border-radius: 0;
}
.boxInfoList .boxSDGs .txt,
.boxInfoList .boxSDGs .boxImg{
    margin-top: 3rem;
}
/* boxLink */
.boxBody .boxLink{
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.boxBody .boxLink .link{
    font-size: var(--pcFS16);
    line-height: var(--pcLH16_28);
    color: var(--linkColor);
    text-decoration: underline;
}
.boxBody .boxLink .in{
    position: relative;
    padding-right: 1rem;
}
.boxBody .boxLink .in::before,
.boxBody .boxLink .in::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    right: 0;
    width: 0.6rem;
    height: 0.6rem;
    border: 1px solid var(--linkColor);
    background-color: var(--whiteColor);
    z-index: 2;
}
.boxBody .boxLink .in::after{
    top: -0.3rem;
    right: -0.3rem;
    z-index: 1;
}
.boxBody .boxLink .imgLink{
    display: inline-block;
}
@media only screen and (max-width:1215px){
    .boxInfoList{
        gap: 4rem;
        padding-top: 0;
    }
    .boxInfoList .itemInfo{
        width: 100%
    }
    .boxInfoList .boxContents{
        flex-direction: column;
    }
    /* boxTit */
    .boxInfoList .boxTit{
        width: 100%;
        display: contents;
    }
    .boxBody .titSub,
    .boxInfoList .tit{
        order: 1;
        padding-left: 1.2rem;
    }
    .boxBody .titSub,
    .boxInfoList .tit,
    .boxInfoList .boxInfo .tit{
        font-size: var(--spFS16);
        line-height: var(--spLHS16_24);
        letter-spacing: var(--spLS16_0);
    }
    .boxInfoList .tit:before,
    .boxBody .titSub:before{
        width: 0.4rem;
        height: 100%;
    }
    .boxInfoList .txt{
        order: 3;
        margin-top: 1.2rem;
    }
    .boxBody .titSub + .txt{
        margin-top: 1.2rem;
    }
    .boxInfoList .txt .in{
        display: inline-block;
        margin-bottom: 0.5rem;
    }
    .boxInfoList .txt .in,
    .boxInfoList .txt,
    .boxInfoList .boxInfo .txt{
        font-size: var(--spFS14);
        line-height: var(--spLHW14_24);
    }
    .boxInfoList .bigTxt {
        font-size: var(--spFS15);
    }
    /* boxImg */
    .boxInfoList .boxImg{
        order: 2;
        width: 100%;
        border-radius: 0.8rem;
        margin-top: 2rem;
    }
    /* boxInfo */
    .boxInfoList .boxInfo{
        margin-top: 2.5rem;
        padding: 2.5rem 2rem;
        border-radius: 0.8rem;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .boxInfoList .boxInfo + .boxInfo{
        margin-top: 2rem;
    }
    /* boxTit */
    .boxInfoList .boxInfo .boxTit{
        text-align: left;
        width: 100%;
    }
    .boxInfoList .boxInfo .tit{
        padding-left: 0;
        width: 100%;
    }
    .boxInfoList .boxInfo .txt{
        margin-top: 1rem;
    }
    .boxInfoList .boxInfo .img{
        order: 4;
        width: 12.4rem;
        margin: 0 2rem 0 0;
    }
    .boxInfoList .boxInfo .w163{
        width: 16.3rem;
    }
    .boxInfoList .boxInfo .w47{
        width: 4.7rem;
    }
    /* boxImg */
    .boxInfoList .boxInfo .boxImg{
        order: 4;
        width: 7.5rem;
        border-radius: 0;
    }
    /* boxPoint */
    .boxInfoList .boxPoint{
        margin-top: 2rem;
        flex-wrap: wrap;
        align-items: center;
        flex-direction: row;
    }
    .boxInfoList .boxPoint + .boxPoint{
        margin-top: 2.5rem;
    }
    /* boxTit */
    .boxInfoList .boxPoint .boxTit{
        width: calc(100% - (28rem + 5rem));
        margin-top: 0.5rem;
    }
    .boxInfoList .boxPoint .tit{
        order: 3;
        margin-top: 1.5rem;
        font-size: var(--spFS15);
        line-height: var(--spLH15_20);
    }
    .boxInfoList .boxPoint .tit:before{
        display: none;
    }
    .boxInfoList .boxPoint .txt{
        order: 4;
        margin-top: 0.5rem;
    }
    .boxInfoList .boxPoint .imgList{
        width: calc(100% - 16rem);
        order: 2;
        margin-top: 0;
    }
    .boxInfoList .boxPoint .img{
        max-width: 10rem;
        margin: 0 auto;
    }
    .boxInfoList .boxPoint .imgWide{
        max-width: 13.7rem;
    }
    /* boxImg */
    .boxInfoList .boxPoint .boxImg{
        order: 1;
        width: 16rem;
        margin-top: 0;
    }
    /* boxSDGs */
    .boxInfoList .boxSDGs .boxTit{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .boxInfoList .boxSDGs .boxImg{
        width: auto;
        margin: 2rem auto 0;
        max-width: 29rem;
    }
    .boxInfoList .boxSDGs .txt{
        margin-top: 1rem;
    }
    /* boxLink */
    .boxBody .boxLink{
        margin-top: 1rem;
        gap: 2rem;
    }
    .boxBody .boxLink .link{
        font-size: var(--spFS12);
        line-height: var(--spLH12_18);
    }
    .boxBody .boxLink .in{
        padding-right: 1rem;
    }
    .boxBody .boxLink .in::before,
    .boxBody .boxLink .in::after{
        bottom: 0;
    }
    .boxBody .boxLink .imgLink{
        max-width: 13rem;
    }
}

/* boxTab */
.boxBody .boxTab{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 5rem;
}
.boxBody .boxTab .itemTab{
    width: auto;
    min-width: 10rem;
    text-align: center;
    padding: 1rem 2rem;
    border-radius: 2.3rem;
    font-size: var(--pcFS16);
    line-height: var(--pcLH16_28);
    letter-spacing: var(--pcLS16_50);
    font-weight: bold;
    background-color: var(--gray_lightColor);
}
.boxBody .boxTab .itemTab.active {
    background-color: var(--mainColor);
    color: var(--whiteColor);
    pointer-events: none;
}
.boxBody .boxSelect{
    display: none;
}
.boxBody .boxContentsTab:not(.active){
    display: none;
}
.boxBody .boxContentsWrap{
    margin-top: 6rem;
}
.boxBody .boxListPermit{
    display: flex;
    flex-wrap: wrap;
    gap: 6rem 4rem;
}
.boxBody .boxListPermit .itemPermit{
    width: calc((100% - 15.999rem) / 5);
}
.boxBody .boxListPermit .boxImg{
    position: relative;
    display: block;
    width: 100%;
}
.boxBody .boxListPermit .boxImg.no_tap{
    pointer-events: none;
}
.boxBody .boxListPermit .img{
    position: relative;
}
.boxBody .boxListPermit .img:after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid var(--mainColor);
}
.boxBody .boxListPermit .img{
    aspect-ratio: 198 / 280;
}
.boxBody .boxListPermit .boxTxt{
    margin-top: 2rem;
    text-align: center;
}
.boxBody .boxListPermit .tit{
    font-size: var(--pcFS18);
    line-height: var(--pcLH18_28);
    letter-spacing: var(--pcLS18_50);
    font-weight: bold;
}
.boxBody .boxListPermit .txt{
    margin-top: 0.5rem;
    font-size: var(--pcFS14);
    line-height: var(--pcLH14_22);
    letter-spacing: var(--pcLS14_50);
}
.boxBody .boxListPermit .tag{
    width: 100%;
    min-height: 5.5rem;
    border-radius: 2.75rem;
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--pcFS14);
    line-height: var(--pcLH14_22);
    letter-spacing: var(--pcLS14_50);
}
.boxBody .boxListPermit .tag.icon01{
    color: var(--onColor_1);
    background-color: var(--onbgColor_1);
}
.boxBody .boxListPermit .tag.icon02{
    color: var(--onColor_2);
    background-color: var(--onbgColor_2);
}
.boxBody .boxListPermit .tag.icon03{
    color: var(--onColor_3);
    background-color: var(--onbgColor_3);
}
.boxBody .boxListPermit .tag.icon04{
    color: var(--onColor_4);
    background-color: var(--onbgColor_4);
}
.boxBody .boxListPermit .tag.icon05{
    color: var(--onColor_5);
    background-color: var(--onbgColor_5);
}
.boxBody .boxListPermit .tag.icon06{
    color: var(--onColor_6);
    background-color: var(--onbgColor_6);
}
.boxBody .boxListPermit .tag.icon07{
    color: var(--onColor_7);
    background-color: var(--onbgColor_7);
}
.boxBody .boxListPermit .tag.icon08{
    color: var(--onColor_8);
    background-color: var(--onbgColor_8);
}
@media only screen and (max-width:1215px){
    .boxBody .boxTab{
        display: none;
    }
    .boxBody .boxSelect{
        position: relative;
        display: block;
        width: 100%;
        min-height: 5.6rem;
        margin-top: 2rem;
    }
    .boxBody .boxSelect::before{
        position: absolute;
        content: '';
        top: 0;
        bottom: 0;
        right: 2rem;
        margin: auto;
        width:0;
        height:0;
        border-style:solid;
        border-width: 6px 4px 0 4px;
        border-color: var(--mainColor) transparent transparent transparent;
        z-index: 1;
    }
    .boxBody .boxSelect select{
        position: relative;
        width: 100%;
        height: 100%;
        background-color: var(--gray_lightColor);
        box-shadow: 0 1px 0 0 var(--blackColor_15);
        font-size: var(--spFS16);
        color: var(--mainColor);
        font-weight: bold;
        border-radius: 0.6rem;
        padding: 1.5rem 3rem 1.5rem 2.5rem;
        font-family: inherit;
        border: none;
        outline: none;
        -webkit-appearance: none;
        appearance: none;
    }
    .boxBody .boxContentsWrap{
        margin-top: 3rem;
    }
    .boxBody .boxListPermit{
        justify-content: space-between;
        gap: 3rem 0;
    }
    .boxBody .boxListPermit .itemPermit{
        width: 46.156%;
    }
    .boxBody .boxListPermit .boxImg{
        max-width: 12rem;
        margin: 0 auto;
    }
    .boxBody .boxListPermit .boxTxt{
        margin-top: 1rem;
    }
    .boxBody .boxListPermit .tit{
        font-size: var(--spFS15);
        line-height: var(--spLH15_20);
        letter-spacing: var(--spLS15_0);
    }
    .boxBody .boxListPermit .txt{
        margin-top: 0.5rem;
        font-size: var(--spFS11);
        line-height: var(--spLH11_15);
        letter-spacing: var(--spLS11_50);
    }
    .boxBody .boxListPermit .tag{
        min-height: 4rem;
        padding: 0 1rem;
        border-radius: 2rem;
        margin-top: 1rem;
        font-size: var(--spFS11);
        line-height: var(--spLH11_15);
        letter-spacing: var(--spLS11_50);
    }
}

/* link01 */
#link01 .boxImg{
    position: relative;
}
#link01 .boxImg .imgTxt{
    position: absolute;
    top: 5rem;
    left: 15.4rem;
}
#link01 .boxImg .imgBg{
    border-radius: 2rem;
    overflow: hidden;
}
@media only screen and (max-width:1215px){
    #link01 .boxImg .imgTxt{
        top: 0;
        bottom: 0;
        left: 3rem;
        margin: auto;
        width: 4.5rem;
        display: flex;
        align-items: center;
    }
    #link01 .boxImg .imgBg{
        border-radius: 0.8rem;
    }
}