@charset "UTF-8";

/* ============================================
汎用
============================================ */

#main{
    background: #fff;
    overflow: unset;
}


/* ============================================
メイン部分
============================================ */

#main .dMain{
    position: relative;
    padding: 20px 20px 0;
}
#main .dMainImage{
    position: relative;
    z-index: 1;
}
#main .dMainImage:after{
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    background: rgba(0, 0, 0, 0.2);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#main .dMainText{
    position: absolute;
    z-index: 3;
    left: 80px;
    bottom: 54px;
}
#main .dMainTitle{
    position: relative;
    font-size: clamp(14px, 12.592px + 0.376vw, 18px);
    font-weight: 700;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    z-index: 2;
    background-color: transparent;
    color: #fff;
}
#main .dMainTitle:before{
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 52px;
    height: 58px;
    background-image: url(/recruit/common/images/rn02/pagetitle_icon-union.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}
#main .dMainHead{
    margin: clamp(24px, 21.535px + 0.657vw, 31px) 0 0;
    background: transparent;
}
#main .dMainHead .ja{
    display: block;
    text-indent: -9999px;
    background: url(/recruit/division/images/rn02/division_division01_title01.svg) left center / contain no-repeat;
    height: 77px;
    aspect-ratio: 732 / 77;
}
#main.division02 .dMainHead .ja{
    background: url(/recruit/division/images/rn02/division_division02_title01.svg) left center / contain no-repeat;
}
#main .dMainHead .en{
    display: block;
    font-family: 'Inter Tight', sans-serif;
    font-weight: 900;
    font-size: clamp(18px, 15.887px + 0.563vw, 24px);
    line-height: 100%;
    margin: 12px 0 0;
    color: #FA0046;
}


/* ============================================
タイトル部分
============================================ */

#main .cSection02__head{
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}
#main .cSection02__title .en {
    font-family: 'Inter Tight', sans-serif;
    font-weight: 900;
    font-size: clamp(18px, 17.296px + 0.188vw, 20px);
    line-height: 150%;
}
#main #wVoices .cSection02__title .en {
    font-size: clamp(18px, 15.887px + 0.563vw, 24px);
}
#main .cSection02__title .ja {
    display: block;
    text-indent: -9999px;
    height: 134px;
    margin: clamp(32px, 26.366px + 1.502vw, 48px) 0 0;
    background: url(/recruit/division/images/rn02/division_division01_title02.svg) left center / contain no-repeat;
}
#main.division02 .cSection02__title .ja {
    height: 201px;
    background: url(/recruit/division/images/rn02/division_division02_title02.svg) left center / contain no-repeat;
}
#main .dCopy{
    margin: clamp(80px, 61.338px + 4.977vw, 133px) auto 0;
    max-width: 1240px;
    width: 90%;
    padding: 0 0 clamp(48px, 36.732px + 3.005vw, 80px);
}
#main .dCopyWrap{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 40px;
}
#main .dCopy .cSection02__head{
    width: 100%;
    max-width: 600px;
}
#main .dCopy .cSection02__copy{
    width: calc(100% - 640px);
}
#main .dCopy .cSection02__copy p{
    font-weight: 500;
    font-size: clamp(16px, 15.296px + 0.188vw, 18px);
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}

/* ============================================
アンカーリンク部分
============================================ */

#main .dAnker{
    padding: clamp(80px, 57.465px + 6.009vw, 144px) 0 clamp(42px, 28.620px + 3.568vw, 80px);
}
#main .dAnkerWrap{
    display: flex;
    gap: 25px 40px;
    justify-content: center;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
}
#main .dAnkerItem{
    max-width: 400px;
    width: calc( (100% - 80px) / 3);
}
#main .dAnkerItemImage{
    border-radius: 4px;
    overflow: hidden;
}
#main .dAnkerItemText{
    position: relative;
    font-weight: 700;
    font-size: clamp(16px, 14.592px + 0.376vw, 20px);
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    margin: 16px 0 0;
    padding: 2px 0;
}
#main .dAnkerItemText:after{
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #000 url(/recruit/common/images/rn02/icon_arrow.svg) center / 8px auto no-repeat;
    transform: rotate(90deg);
    position: absolute;
    right: 0;
    top: 0px;
}

#main .dBlc + .dBlc{
    margin: clamp(80px, 57.465px + 6.009vw, 144px) 0 0;
}

#main .dBlcMain{
    position: relative;
    padding: 0 20px;
}
#main .dBlcMainImage{
    position: relative;
    z-index: 1;
}
#main .dBlcMainImage:after{
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    background: rgba(0, 0, 0, 0.2);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#main .dBlcMainTitle{
    position: absolute;
    z-index: 3;
    color: #fff;
    left: 80px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 16px;
    align-items: flex-start;
}
#main .dBlcMainTitle .num{
    font-family: 'Inter Tight', sans-serif;
    font-weight: 900;
    font-size: clamp(16px, 13.183px + 0.751vw, 24px);
    line-height: 200%;
    letter-spacing: 0%;
    color: #FA0046;
}
#main .dBlcMainTitle .name{
    font-weight: 700;
    font-size: clamp(32px, 26.366px + 1.502vw, 48px);
    line-height: 130%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}

#main .dBlcCopy{
    width: 90%;
    max-width: 1280px;
    margin: clamp(32px, 15.099px + 4.507vw, 80px) auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: 24px 40px;
}
#main .dBlcCopy h4{
    font-weight: 700;
    font-size: clamp(24px, 21.183px + 0.751vw, 32px);
    line-height: 135%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    width: 504px;
}
#main .dBlcCopy p{
    font-weight: 500;
    font-size: clamp(14px, 13.296px + 0.188vw, 16px);
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    text-align: justify;
    width: calc(100% - 544px);
}

#main .dBlcWrap{
    margin: clamp(64px, 41.465px + 6.009vw, 128px) auto 0;
    width: 90%;
    max-width: 1280px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px 80px;
}
#main .dBlcLeft{
    position: sticky;
    top: 50px;
    width: 39.375%;
    max-width: 470px;
}
#main .dBlcLeft h4{
}
#main .dBlcLeft h4 .en{
    display: block;
    font-family: 'Inter Tight', sans-serif;
    font-weight: 900;
    font-size: clamp(11px, 10.648px + 0.094vw, 12px);
    line-height: 150%;
    color: #FA0046;
}
#main .dBlcLeft h4 .ja{
    display: block;
    font-weight: 700;
    font-size: clamp(18px, 15.887px + 0.563vw, 24px);
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    margin: 8px 0 0;
}
#main .dBlcRight{
    width: calc( 60.625% - 80px);
}
#main .dBlcRight h5{
    font-weight: 700;
    font-size: clamp(28px, 20.958px + 1.878vw, 48px);
    line-height: 130%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
#main .dBlcRight p{
    font-weight: 500;
    font-size: clamp(14px, 13.296px + 0.188vw, 16px);
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    text-align: justify;
}
#main .dBlcRight p.txt_note{
    font-weight: 400;
    font-size: clamp(13px, 11.061px + 0.204vw, 14px);
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    margin: clamp(24px, 8.490px + 1.633vw, 32px) 0 0;
    text-align: right;
}
#main .dBlcRight h5 + p{
    margin: clamp(24px, 21.183px + 0.751vw, 32px) 0 0;
}
#main .dBlcRight p + h5,
#main .dBlcRight p + .dBlcSlider,
#main .dBlcRight .dBlcImage + .dBlcImage,
#main .dBlcRight p + .dBlcImage{
    margin: clamp(32px, 20.732px + 3.005vw, 64px) 0 0; 
}
#main .dBlcImage.col_2{
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
}
#main .dBlcImage.col_2 .img{
    width: 290px;
}
#main .dBlcImage.col_2 .text{
    width: calc(100% - 314px);
}
#main .dBlcImage.col_2 .text h6{
    font-weight: 700;
    font-size: clamp(18px, 15.887px + 0.563vw, 24px);
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
#main .dBlcImage.col_2 .text h6 + p{
    font-weight: 500;
    font-size: clamp(13px, 12.648px + 0.094vw, 14px);
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    text-align: justify;
    margin: clamp(8px, 6.592px + 0.376vw, 12px) 0 0;
}
#main.division02 .dBlcFeatureList .cLinkWrap,
#main .dBlcTab .cLinkWrap,
#main .dBlcWrap .cLinkWrap{
    margin-top: clamp(8px, 3.775px + 1.127vw, 20px);
}
#main.division02 .dBlcFeatureList .linkItem .link-icon,
#main .dBlcTab .linkItem .link-icon,
#main .dBlcWrap .linkItem .link-icon{
    display: inline-block;
    background-color: #F3F3F3;
    border-radius: 50%;
    width: 32px;
    min-width: 32px;
    height: 32px;
    background-image: url(/recruit/common/images/rn02/icon_arrow-red.svg);
    background-size: 10px 10px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    margin: 0 5px 0 0;
}
#main.division02 .dBlcFeatureList .cLinkWrapText,
#main .dBlcTab .cLinkWrapText,
#main .dBlcWrap .cLinkWrapText{
    font-size: clamp(14px, 13.296px + 0.188vw, 16px) !important;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    line-height: 140%;
    font-weight: 600;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
#main.division02 .dBlcFeatureList .linkItem .icon.link-window svg,
#main .dBlcTab .linkItem .icon.link-window svg,
#main .dBlcWrap .linkItem .icon.link-window svg{
    width: 11px;
    height: 9px;
    margin-left: 4px;
}
#main.division02 .dBlcFeatureList .linkItem .icon.link-window rect,
#main.division02 .dBlcFeatureList .linkItem .icon.link-window path,
#main .dBlcTab .linkItem .icon.link-window rect,
#main .dBlcTab .linkItem .icon.link-window path,
#main .dBlcWrap .linkItem .icon.link-window rect,
#main .dBlcWrap .linkItem .icon.link-window path{
    fill: #FA0046;
}
#main .dBlcImage.col_2{
    display: flex;
    flex-wrap: wrap;
}
#main .dBlcImage.set_2{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
#main .dBlcImage.set_2 > *{
    width: calc((100% - 8px) / 2);
}


#main .dBlcSlider{
    overflow: hidden;
    position: relative;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after{
    display: none;
}
#main .dBlcSliderText{
    display: flex;
    align-items: center;
    gap: 0 clamp(24px, 12.028px + 3.192vw, 58px);
    margin: clamp(12px, 9.887px + 0.563vw, 18px) 0 0;
    padding: 2px 0;
}
#main .dBlcSliderText .num{
    font-family: 'Inter Tight';
    font-weight: 900;
    font-size: clamp(10px, 9.296px + 0.188vw, 12px);
    line-height: 100%;
}
#main .dBlcSliderText .num span{
    font-size: clamp(16px, 14.592px + 0.376vw, 20px);
    vertical-align: middle;
    display: inline-block;
    margin: 0 4px 0 0;
    vertical-align: 0;
}
#main .dBlcSliderText .num span:after{
    content: "/";
    display: inline-block;
    margin: 0 0 0 4px;
    font-weight: 300;
    font-size: clamp(10px, 9.296px + 0.188vw, 12px);
    line-height: 100%;
}
#main .dBlcSliderText .name{
    font-weight: 700;
    font-size: clamp(14px, 11.887px + 0.563vw, 20px);
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
#main .dSliderControl{
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    gap: 16px;
}
#main.division02 .dSliderControl{
    bottom: -7px;
}
#main .dSliderControl .swiper-button-prev,
#main .dSliderControl .swiper-rtl .swiper-button-next,
#main .dSliderControl .swiper-button-next, 
#main .dSliderControl .swiper-rtl .swiper-button-prev{
    position: static;
    margin: 0;
}
#main .dBlcSlider{
}

#main .dBlcTab{
    max-width: 1280px;
    width: 90%;
    margin: clamp(64px, 41.465px + 6.009vw, 128px) auto 0;
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
    padding: clamp(20px, 12.958px + 1.878vw, 40px) 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px 40px;
}
#main .dBlcTab h4{
    width: 100%;
}
#main .dBlcTabSwitch{
    width: 22.65625%;
}
#main .dBlcTabSwitchItem{
    display: flex;
    gap: 40px;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    cursor: pointer;
    background: #fff;
    transition: background 0.3s ease-out;
}
#main .dBlcTab.is-item04 .dBlcTabSwitchItem.item04,
#main .dBlcTab.is-item03 .dBlcTabSwitchItem.item03,
#main .dBlcTab.is-item02 .dBlcTabSwitchItem.item02,
#main .dBlcTab.is-item01 .dBlcTabSwitchItem.item01{
    background: #F3F3F3;
    cursor: default;
}
#main .dBlcTabSwitchItem .img{
    width: 80px;
    height: 60px;
    background: #fff;
    display: block;
    padding: 16px 8px;
}
#main .dBlcTabSwitchItem.item02 .img{
    padding: 0;
}
#main .dBlcTabSwitchItem.item04 .img{
    padding: 8px;
}
#main .dBlcTabSwitchItem .img img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#main .dBlcTabSwitchItem .name{
    font-weight: 500;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    text-align: justify;
}
#main .dBlcTabSwitchLink{
     margin: 40px 0 0;
}
#main .dBlcTabSwitchLink .cLinkWrap{
    justify-content: center;
}
#main .dBlcTabSwitchLink .cLinkWrapText{
    white-space: nowrap;
}
#main .dBlcTabCont{
    width: calc( 77.34375% - 40px);
}
#main .dBlcTabContItem{
    display: none;
}
#main .dBlcTab.is-item04 .dBlcTabContItem.item04,
#main .dBlcTab.is-item03 .dBlcTabContItem.item03,
#main .dBlcTab.is-item02 .dBlcTabContItem.item02,
#main .dBlcTab.is-item01 .dBlcTabContItem.item01{
    display: block;
}
#main .dBlcTabContEx{
    display: flex;
    margin: 16px 0 0;
    align-items: flex-start;
    gap: clamp(24px, 15.549px + 2.254vw, 48px);
}
#main .dBlcTabContEx .logo{
    width: 120px;
    height: 80px;
    padding: 15px;
}
#main .item02 .dBlcTabContEx .logo{
    padding: 0;
}
#main .dBlcTabContEx .logo img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#main .dBlcTabContEx .text{
    flex: 1;
    font-weight: 500;
    font-size: clamp(14px, 12.592px + 0.376vw, 18px);
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    text-align: justify;

}

#main .dBlcLink{
    margin: clamp(64px, 41.465px + 6.009vw, 128px) 0 0;
}
/*
#main .dBlcLink a{
    display: block;
    max-width: 520px;
    width: 90%;
    margin: 0 auto;
    background: #000 url(/recruit/common/images/rn02/icon_arrow.svg) right 33px center / 8px auto no-repeat;
    color: #fff;
    border: 2px;
    padding: clamp(24px, 21.183px + 0.751vw, 32px) clamp(20px, 15.775px + 1.127vw, 32px);
    font-weight: 700;
    font-size: clamp(18px, 17.296px + 0.188vw, 20px);
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
*/

#main .dBlcFeatureList{
    max-width: 1280px;
    width: 90%;
    margin: clamp(64px, 41.465px + 6.009vw, 128px) auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
}
#main .dBlcFeatureItem{
    width: calc( (100% - 80px) / 3);
    background: #F3F3F3;
    padding: clamp(32px, 26.366px + 1.502vw, 48px) 24px;
    border-radius: 8px;
}
#main .dBlcFeatureItem h4{
    font-weight: 700;
    font-size: clamp(18px, 16.592px + 0.376vw, 22px);
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    text-align: center;
}
#main .dBlcFeatureItem:nth-child(1) .dBlcFeatureImage{
    max-width: 245px;
    width: 90%;
    margin: clamp(24px, 21.183px + 0.751vw, 32px) auto 0;
}
#main .dBlcFeatureItem:nth-child(3) .dBlcFeatureImage{
    max-width: 300px;
    width: 90%;
    margin: clamp(24px, 21.183px + 0.751vw, 32px) auto 0;
}
#main .dBlcFeatureCont{
    width: 90%;
    margin: clamp(24px, 21.183px + 0.751vw, 32px) auto 0;
}
#main .dBlcFeatureContItem{
    display: flex;
    gap: 21px;
    align-items: center;
}
#main .dBlcFeatureContItem + .dBlcFeatureContItem{
    margin: 8px 0 0;
}
#main .dBlcFeatureContItem .icon{
    width: 54px;
}
#main .dBlcFeatureContItem .text{
    flex: 1;
    font-weight: 700;
    font-size: 18px;
    line-height: 145%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    color: #FA0046;
}
#main .dBlcFeatureText{
    font-weight: 500;
    font-size: 14px;
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    text-align: justify;
    margin: clamp(24px, 21.183px + 0.751vw, 32px) 0 0;
}
#main .dBlcFeatureText_note{
    margin: clamp(16px, 0.490px + 1.633vw, 24px) 0 0;
    font-size: 100%;
    line-height: 180%;
    color: #000;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
#main.division02 .dBlcFeatureItem{
    padding: 0 0 32px;
    overflow: hidden;
}
#main.division02 .dBlcFeatureItem .dBlcFeatureImage{
    width: 400px;
    height: 266px;
    max-width: unset;
    padding: 0;
    margin: 0;
}
#main.division02 .dBlcFeatureItem .dBlcFeatureImage img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main.division02 .dBlcFeatureItem h4{
    text-align: left;
    padding: 0 24px;
    margin: clamp(24px, 21.183px + 0.751vw, 32px) 0 0;
}
#main.division02 .dBlcFeatureText{
    margin: clamp(12px, 10.592px + 0.376vw, 16px) 0 0;
    padding: 0 24px;
}
#main.division02 .dBlcFeatureList .cLinkWrap{
    padding: 0 24px;
    margin-top: 24px;
}
