@charset "utf-8";

.cmnPageTit{
    padding: 0 0 3.1rem;
}
@media only screen and (max-width:1215px){
    .cmnPageTit{
        padding: 0 0 1.5rem;
    }
}

.secNoListData {
    text-align: center;
    padding: 15rem 0;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
    letter-spacing: var(--pcLetterSpacing16_100);
}
@media only screen and (max-width:1215px){
    .secNoListData {
        padding: 10rem 0;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_50);
    }
}
/*==============================
    一覧
==============================*/
/* boxList */
.secVoice .boxList{
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    position: relative;
    z-index: 5;
}
.secVoice .itemVoice{
    position: relative;
    width: calc((100% - 7.999rem) / 3);
}
.secVoice .itemVoice .boxLink{
    position: relative;
    display: block;
    height: 100%;
    z-index: 0;
    background-color: var(--bgColor);
    padding: 4rem;
}
.secVoice .itemVoice .boxLink:after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.1rem;
}
.secVoice .itemVoice .iconNew {
    position: absolute;
    top: -1.5rem;
    left: 4rem;
    z-index: 1;
}
/* box */
.secVoice .itemVoice .box{
    display: flex;
    flex-direction: column;
    height: 100%;
}
.secVoice .itemVoice .boxImg{
    width: 70.59%;
    margin: 0 auto;
}
.secVoice .itemVoice .img{
    aspect-ratio: 240 / 240;
}
.secVoice .itemVoice .img img{
    border-radius: 100%;
}
.secVoice .itemVoice .boxTxt {
    position: relative;
    width: 100%;
    height: 100%;
    padding-bottom: 0.5rem;
    margin-top: 2rem;
}
.secVoice .itemVoice .boxTit{
    width: 100%;
    height: calc(100% - 2.4rem);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
}
.secVoice .itemVoice .tit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_32);
    letter-spacing: var(--pcLetterSpacing18_50);
    font-weight: bold;
    text-decoration: underline;
    margin-top: 1rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-height: calc(var(--pcFontSize18)* var(--pcLineHeight18_32)* 2);
}
.secVoice .itemVoice .txt{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_18);
    letter-spacing: var(--pcLetterSpacing12_50);
    margin-top: 1.2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secVoice .boxIcon{
    display: flex;
    justify-content: center;
}
.secVoice .icon{
    display: block;
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    color: #fff;
    padding: 0.6rem 1.2rem 0.5rem;
    text-align: center;
}
@media only screen and (max-width:1215px){
    .secVoice .boxList{
        justify-content: space-between;
        gap: 1.5rem 1.5rem;
    }
    .secVoice .itemVoice{
        width: calc((100% - 1.5rem) / 2);
    }
    .secVoice .itemVoice .boxLink {
        padding: 2rem 0 1.8rem;
    }
    .secVoice .itemVoice .iconNew {
        top: -1rem;
        left: 1rem;
        width: 3.2rem;
    }
    .secVoice .itemVoice .boxImg {
        width: 100%;
        padding: 0 2rem;
    }
    .secVoice .itemVoice .boxTxt {
        margin-top: 1.2rem;
        padding: 0 1.5rem;
    }
    .secVoice .itemVoice .boxTit{
        height: calc(100% - 1.9rem);
    }
    .secVoice .itemVoice .tit{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing12_0);
        max-height: calc(var(--spFontSize12)* var(--spLineHeight12_20)* 2);
        margin-top: 0.8rem;
    }
    .secVoice .itemVoice .txt{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_15);
        letter-spacing: var(--spLetterSpacing10_0);
        margin-top: 0.8rem;
    }
    .secVoice .icon{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_0);
        padding: 0.5rem 0.6rem 0.3rem 0.8rem;
    }
}

/*==============================
    詳細
==============================*/
/* cmnSticky */
.secDetails .cmnStickyMenu::-webkit-scrollbar {
    background: var(--bgColor);
}
/* secDetails */
.secDetails .itemVoice{
    width: 100%;
}
.cmnSticky .itemVoice .tit{
    overflow: visible;
    display: block;
    max-height: none;
}
.cmnSticky .itemVoice .txt{
    overflow: visible;
    white-space: normal;
    text-overflow: inherit;
}
@media only screen and (max-width:1215px){
    .cmnSticky .itemVoice .box {
        flex-direction: row;
        justify-content: space-between;
    }
    .cmnSticky .itemVoice .boxLink {
        padding: 1.5rem;
    }
    .cmnSticky .itemVoice .boxImg,
    .cmnSticky .itemVoice .boxTxt {
        margin: 0;
        padding: 0;
    }
    .cmnSticky .itemVoice .boxImg {
        width: 41.27%;
    }
    .cmnSticky .itemVoice .boxTxt {
        position: static;
        margin: 0;
        padding: 1rem 0;
        width: 53.97%;
        height: auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .cmnSticky .itemVoice .boxTit {
        height: auto;
        text-align: left;
    }
    .cmnSticky .itemVoice .tit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_24);
        letter-spacing: var(--spLetterSpacing14_0);
        margin-top: 0;
    }
    .cmnSticky .itemVoice .txt{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_18);
        letter-spacing: var(--spLetterSpacing11_30);
        margin-top: 0.5rem;
    }
    .cmnSticky .boxIcon {
        position: absolute;
        top: 0;
        right: 0;
    }
    /* secEntry */
    .secEntry{
        margin-top: 2.5rem;
    }
}

/* secStaff */
.secStaff{
    margin-top: 7rem;
    background-color: var(--greenColor);
    padding: 5rem 5rem 4rem;
}
.secStaff .boxList{
    justify-content: center;
    gap: 3rem;
}
.secStaff .itemVoice{
    width: calc((100% - 20.999rem) / 3);
}
.secStaff .itemVoice .boxImg{
    width: 100%;
}
.secStaff .itemVoice .tit{
    text-align: center;
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_28);
    letter-spacing: var(--pcLetterSpacing15_50);
    color: #fff;
    text-decoration: none;
    margin-top: 1rem;
}
/* boxTit */
.secStaff .boxTit{
    margin-top: 2.5rem;
    color: #fff;
}
.secStaff .boxTit .tit{
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_50);
    font-weight: bold;
}
.secStaff .boxTit .txt{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_28);
    letter-spacing: var(--pcLetterSpacing15_50);
    margin-top: 2.2rem;
}
@media only screen and (max-width:1215px){
    .secStaff{
        margin-top: 3.5rem;
        padding: 3rem 1.5rem 2.2rem;
    }
    .secStaff .boxList{
        gap: 0.9rem;
    }
    .secStaff .itemVoice{
        width:calc((100% - 1.7999rem) / 3);
    }
    .secStaff .itemVoice .tit{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_22);
        letter-spacing: var(--spLetterSpacing13_30);
        margin-top: 0.5rem;
    }
    /* boxTit */
    .secStaff .boxTit{
        margin-top: 1.5rem;
    }
    .secStaff .boxTit .tit{
        font-size: var(--spFontSize15);
        letter-spacing: var(--spLetterSpacing15_30);
    }
    .secStaff .boxTit .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_24);
        letter-spacing: var(--spLetterSpacing12_30);
        margin-top: 1.2rem;
    }
}

.secDetails .cmnBnrReserve {
    margin-top: 10rem;
}
@media only screen and (max-width:1215px){
    .secDetails .cmnBnrReserve {
        margin-top: 6rem;
    }
}

/* cmnDetailsPager */
.cmnDetailsPager .itemVoice .boxImg {
    width: 85.716%;
}
.cmnDetailsPager .boxBtnList .cmnBtn{
    padding: 3.3rem 1rem 3.1rem;
}
@media only screen and (max-width:1215px){
    .cmnDetailsPager .itemVoice .boxImg {
        width: 100%;
    }
    .cmnDetailsPager .boxBtnList .cmnBtn{
        padding: 0;
    }
}