@charset "utf-8";

/* secSteps */
.secSteps{
    margin-top: 6rem;
}
.secSteps .listItem{
    padding: 0 0 6rem 18rem;
    position: relative;
}
.secSteps .listItem + .listItem{
    margin-top: 3rem;
}
.secSteps .listItem::before{
    content: "";
    display: block;
    width: 0.5rem;
    height: calc(100% - 18rem);
    background-image: radial-gradient(circle, var(--borderColor) 0.25rem, transparent 0.25rem);
    background-position: left top -0.2rem;
    background-repeat: repeat-y;
    background-size: 0.5rem 1rem;
    position: absolute;
    bottom: 0;
    left: 6.5rem;
}
.secSteps .listItem:last-child:before{
    display: none;
}
.secSteps .txtRoman{
    font-size: var(--pcFontSize20);
    font-weight: 500;
    width: 13.9rem;
    text-align: center;
    letter-spacing: var(--pcLetterSpacing20_80);
    color: var(--greenColor);
    position: absolute;
    top: -1.5rem;
    left: 0;
}
.secSteps .txtRoman::after{
    content: "";
    display: block;
    width: 13.9rem;
    height: 13.9rem;
    background: url(../img/flow/iconStep01.png) left top / 100% no-repeat;
    filter: drop-shadow(0 0.2rem 0.3rem rgba(0,0,0,0.15));
    margin: 1.5rem 0 0;
}
.secSteps .listItem.isStep2 .txtRoman::after{
    background-image: url(../img/flow/iconStep02.png);
}
.secSteps .listItem.isStep3 .txtRoman::after{
    background-image: url(../img/flow/iconStep03.png);
}
.secSteps .listItem.isStep4 .txtRoman::after{
    background-image: url(../img/flow/iconStep04.png);
}
.secSteps .listItem.isStep5 .txtRoman::after{
    background-image: url(../img/flow/iconStep05.png);
}
.secSteps .listItem.isStep6 .txtRoman::after{
    background-image: url(../img/flow/iconStep06.png);
}
.secSteps .listItem.isStep7 .txtRoman::after{
    background-image: url(../img/flow/iconStep07.png);
}
.secSteps .titTop{
    font-size: var(--pcFontSize28);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing28_100);
    padding: 0 0 1.8rem;
    display: flex;
    align-items: center;
}
.secSteps .titTop::before{
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: var(--textColor);
    margin: 0 1.3rem 0 0;
}
.secSteps .boxWrap{
    display: flex;
    gap: 0 5rem;
    margin: 3rem 0 0;
}
.secSteps .img{
    width: 40rem;
}
.secSteps .boxTxt{
    flex: 1;
    padding: 2rem 0 0;
}
.secSteps .titDetail{
    font-size: var(--pcFontSize18);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing18_50);
    margin: 0 0 1.1rem;
}
.secSteps .txtDetail{
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing15_50);
    line-height: var(--pcLineHeight15_28);
}
@media only screen and (max-width:1215px){
    .secSteps{
        margin-top: 6rem;
    }
    .secSteps .listItem{
        padding: 0 0 6.5rem;
        position: relative;
    }
    .secSteps .listItem:last-child{
        padding-bottom: 0;
    }
    .secSteps .listItem + .listItem{
        margin-top: 5rem;
    }
    .secSteps .listItem::before{
        width: 0.9rem;
        height: 4.5rem;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        background-image: radial-gradient(circle, var(--borderColor) 0.45rem, transparent 0.45rem);
        background-size: 0.9rem 1.8rem;
        background-position: left top -0.45rem;
    }
    .secSteps .txtRoman{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
        width: 6rem;
        position: absolute;
        top: -4.1rem;
        left: 0;
    }
    .secSteps .txtRoman::after{
        width: 6rem;
        height: 6rem;
        margin: 0.5rem 0 0;
    }
    .secSteps .titTop{
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing18_30);
        padding: 0 0 3.4rem 7rem;
    }
    .secSteps .titTop::before{
        display: none;
    }
    .secSteps .boxWrap{
        display: block;
        margin: 1.5rem 0 0;
    }
    .secSteps .img{
        width: 100%;
        margin-top: 1.3rem;
    }
    .secSteps .boxTxt{
        padding: 0;
    }
    .secSteps .titDetail{
        font-size: var(--spFontSize15);
        letter-spacing: var(--spLetterSpacing15_30);
        line-height: var(--spLineHeight15_24);
        margin: 0 0 0.7rem;
    }
    .secSteps .txtDetail{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_30);
        line-height: var(--spLineHeight12_24);
    }
}

/* secCheck */
.secCheck{
    margin-top: 4rem;
}
.secCheck .boxTxt{
    border: solid 0.1rem var(--textColor);
    border-radius: 0.5rem;
    background-color: var(--creamColor);
    padding: 5.2rem 5.5rem 4.3rem;
    text-align: center;
    font-size: var(--pcFontSize18);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing18_50);
    line-height: var(--pcLineHeight18_34);
    position: relative;
}
.secCheck .icon{
    position: absolute;
    top: -1.9rem;
    left: 0;
    right: 0;
    text-align: center;
}
@media only screen and (max-width:1215px){
    .secCheck{
        margin-top: 4rem;
    }
    .secCheck .boxTxt{
        padding: 3em 2rem 2rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_30);
        line-height: var(--spLineHeight12_24);
        font-weight: normal;
        text-align: left;
    }
    .secCheck .icon{
        width: 8rem;
        top: -1.5rem;
        margin: 0 auto;
    }
}


/* secColumn */
.secColumn{
    margin-top: 8rem;
}
/* boxList */
.secColumn .boxList{
    display: flex;
    flex-wrap: wrap;
    margin-top: 4rem;
    gap: 4rem;
}
.secColumn .itemColumn{
    position: relative;
    width: calc((100% - 11.999rem) / 4);
}
.secColumn .itemColumn .boxLink{
    position: relative;
    display: block;
    height: 100%;
    z-index: 0;
}
.boxColumnList .itemColumn .boxLink{
    padding: 4rem 0;
}
.boxColumnList .itemColumn .boxLink::before,
.boxColumnList .itemColumn:last-child .boxLink::after{
    content: "";
    background-image: repeating-linear-gradient(90deg, var(--grayColorB8), var(--grayColorB8) 0.1rem, transparent 0.1rem, transparent 0.4rem), repeating-linear-gradient(180deg, var(--grayColorB8), var(--grayColorB8) 0.1rem, transparent 0.1rem, transparent 0.4rem), repeating-linear-gradient(90deg, var(--grayColorB8), var(--grayColorB8) 0.1rem, transparent 0.1rem, transparent 0.4rem), repeating-linear-gradient(180deg, var(--grayColorB8), var(--grayColorB8) 0.1rem, transparent 0.1rem, transparent 0.4rem);
    background-position: left top, right top, left bottom, left top;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
    background-size: 100% 0.1rem, 0.1rem 100%, 100% 0.1rem, 0.1rem 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.1rem;
}
.boxColumnList .itemColumn:last-child .boxLink::after{
    top: auto;
    bottom: 0;
}
/* box */
.secColumn .itemColumn .box{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
}
.secColumn .itemColumn .iconNew {
    position: absolute;
    top: -1.5rem;
    left: 1.5rem;
    z-index: 1;
}
.secColumn .itemColumn .boxImg,
.secColumn .itemColumn .boxTit{
    width: 100%;
}
.secColumn .itemColumn .img{
    aspect-ratio: 305 / 220;
}
.secColumn .itemColumn .boxTit {
    position: relative;
}
.secColumn .itemColumn .boxTit {
    margin-top: 1.8rem;
    height: 100%;
}
.secColumn .itemColumn .boxTxt {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}
.secColumn .itemColumn .boxTxtItem {
    display: flex;
    align-items: center;
    margin-top: 1rem;
}
.secColumn .itemColumn .categoryTxt {
    position: relative;
    display: inline-block;
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_18);
    letter-spacing: var(--pcLetterSpacing13_50);
    text-align: center;
    padding-right: 1rem;
    top: 0.1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 20rem;
    margin-right: 1.4rem;
}
.secColumn .itemColumn .categoryTxt::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: -.1rem;
    bottom: 0;
    right: 0;
    width: 0.1rem;
    height: 100%;
    background-color: var(--textColor);
}
.secColumn .itemColumn .dateTxt {
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_50);
}
.secColumn .itemColumn .tit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_28);
    letter-spacing: var(--pcLetterSpacing18_50);
    text-decoration: underline;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-height: calc(var(--pcFontSize18)* var(--pcLineHeight18_28)* 2);
    font-weight: bold;
}
.boxColumnList .itemColumn .tit{
    margin-top: 1.9rem;
}
/* boxBtn */
.secColumn .boxBtn .cmnBtn{
    margin: 4rem auto 0;
    padding: 3.2rem 1rem 3.1rem;
}
@media only screen and (max-width:1215px){
    .secColumn{
        margin-top: 5rem;
    }
    .secColumn .cmnPageTit .pageTit {
        font-size: var(--spFontSize15);
    }
    .secColumn .cmnPageTit .pageTitIn {
        position: relative;
        top: 0.2rem;
    }
    /* boxList */
    .secColumn .boxList{
        justify-content: space-between;
        gap: 1.5rem;
        margin-top: 2rem;
    }
    .secColumn .boxList .itemColumn{
        width: calc((100% - 1.5rem) / 2);
    }
    .secColumn .boxList .itemColumn:nth-child(n+3){
        display: none;
    }
    .boxColumnList .itemColumn .boxLink{
        padding: 2rem 0;
    }
    .boxColumnList .itemColumn .boxLink::before,
    .boxColumnList .itemColumn:last-child .boxLink::after{
        background-image: repeating-linear-gradient(90deg, var(--grayColorB8), var(--grayColorB8) 0.1rem, transparent 0.1rem, transparent 0.2rem), repeating-linear-gradient(180deg, var(--grayColorB8), var(--grayColorB8) 0.1rem, transparent 0.1rem, transparent 0.2rem), repeating-linear-gradient(90deg, var(--grayColorB8), var(--grayColorB8) 0.1rem, transparent 0.1rem, transparent 0.2rem), repeating-linear-gradient(180deg, var(--grayColorB8), var(--grayColorB8) 0.1rem, transparent 0.1rem, transparent 0.2rem);
    }
    .secColumn .itemColumn .box {
        height: 100%;
    }
    .secColumn .itemColumn .iconNew {
        top: -1rem;
        left: 1rem;
        width: 3.2rem;
    }
    .secColumn .itemColumn .boxTit {
        margin-top: 1.2rem;
        height: 100%;
    }
    .secColumn .itemColumn .categoryTxt {
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_15);
        letter-spacing: var(--spLetterSpacing10_0);
        padding-right: 0.5rem;
        top: 0.1rem;
        max-width: 9rem;
        margin-right: 0.5rem;
    }
    .secColumn .itemColumn .categoryTxt::after {
        top: -.1rem;
    }
    .secColumn .itemColumn .dateTxt {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_30);
    }
    .secColumn .itemColumn .tit{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing12_30);
        line-clamp: 2;
        -webkit-line-clamp: 2;
        max-height: calc(var(--spFontSize12)* var(--spLineHeight12_20)* 2);
    }
    /* boxBtn */
    .secColumn .boxBtn .cmnBtn{
        margin: 2.5rem auto 0;
        padding: 0;
        height: 5rem;
    }
}