.cSitemap .cSitemap_tit_h1 .rMain_tit,
.cSitemap .cSitemap_tit_h1 span{
	margin: 0;
	padding: 0;
	line-height: 1.428;
	font-size: 117%;
	font-weight: 500;
}
.cSitemap .cSitemap_tit_h1 a{
	text-decoration: none;
    display: flex;
}



/* ======================
TOP common
====================== */
#main .cSection02__title span br{
    display: none !important;
}
#main .cSection02__title span.ja{
    text-indent: -9999px;
    display: block;
}
#main .tCulture .cSection02__title span.ja{
    background: url(/recruit/images/rn02/index_culturetitile.svg) left top / contain no-repeat;
    width: 435px;
    aspect-ratio: 3.2462;
}
#main .tDream .cSection02__title span.ja{
    background: url(/recruit/images/rn02/index_dreamtitle.svg) left top / contain no-repeat;
    width: 649px;
    aspect-ratio: 9.68656;
}
#main .tProjectstory .cSection02__title span.ja{
    background: url(/recruit/images/rn02/index_projectstorytitle.svg) left top / contain no-repeat;
    width: 466px;
    aspect-ratio: 3.47761;
}
#main .tBusiness .cSection02__title span.ja{
    background: url(/recruit/images/rn02/index_businesstitle.svg) left top / contain no-repeat;
    width: 569px;
    aspect-ratio: 4.24626;
}
#main .tBusiness .tBusinessTechLeft .cSection02__title span.ja{
    background: url(/recruit/images/rn02/index_businesstechtitle.svg) left top / contain no-repeat;
    width: 332px;
    aspect-ratio: 2.47761;
    margin: 0;
}
#main .tJobs .cSection02__title span.ja{
    background: url(/recruit/images/rn02/index_jobstitle.svg) left top / contain no-repeat;
    width: 404px;
    aspect-ratio: 3.01492;
}
#main .tVoices .cSection02__title span.ja{
    background: url(/recruit/images/rn02/index_voicetitle.svg) left top / contain no-repeat;
    width: 358px;
    aspect-ratio: 2.67164;
}
#main .tCompany .cSection02__title span.ja{
    background: url(/recruit/images/rn02/index_companytitle.svg) left top / contain no-repeat;
    width: 601px;
    aspect-ratio: 2.99004;
}
#main .tEnvironment .cSection02__title span.ja{
    background: url(/recruit/images/rn02/index_environmenttitle.svg) left top / contain no-repeat;
    width: 512px;
    aspect-ratio: 3.82089;
}

/* ======================
tEnvironment
====================== */
/* メインコンテンツ */
#main .tEnvironment__main {
    padding: 144px 0;
    background-color: #F3F3F3;
    width: 90%;
    margin-inline: auto;
    max-width: 1280px;
}
#main .tEnvironment__cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 40px;
}
#main .tEnvironment__card {
    position: relative;
    display: block;
    height: 100%;
    overflow:hidden;
    border-radius: 4px;
}
#main .tEnvironment__card:before {
    content:"";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 39.9%, rgba(0, 0, 0, 0.4) 100%);
}
#main .tEnvironment__card:nth-child(3):before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40.38%, rgba(0, 0, 0, 0.4) 100%);

}
#main .tEnvironment__card-img > div,
#main .tEnvironment__card-img {
    width: 100%;
    height: 100%;
}
#main .tEnvironment__card-img {
    position: relative;
    z-index: 1;
}
#main .tEnvironment__card-img img {
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 4px;
}
#main .tEnvironment__card-01 {
    width: 100%;
    aspect-ratio: 3.2;
}
#main .tEnvironment__card-02 {
    width: calc(50% - 12px);
    aspect-ratio: 2.6166;
}
#main .tEnvironment__card-03 {
    width: calc(50% - 12px);
    aspect-ratio: 2.6166;
}
#main .tEnvironment__card-body {
    position: absolute;
    z-index: 3;
    bottom: 32px;
    left: 0;
    padding: 0 32px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
}
#main .tEnvironment__card-title {
    font-weight: 700;
    font-size: 267%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    line-height: 135%;
    color: #fff;
    border: none;
    margin: 0;
    padding: 0;
}
#main .tEnvironment__card-02 .tEnvironment__card-title,
#main .tEnvironment__card-03 .tEnvironment__card-title {
    line-height: 140%;
    font-size: 200%;
}
#main .tEnvironment__card-text {
    font-weight: 500;
    font-size: 134%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    line-height: 180%;
    color: #fff;
    margin-top: 16px;
}
#main .tEnvironment__card-icon {
    transition: margin 0.3s ease-out;
}
#main .tEnvironment__card:hover .tEnvironment__card-icon {
    margin: 0 -10px 0 0;
}
/* リンクアイテムセクション */
.tEnvironment__links-wrap {
    background-color: #fff;
}
#main .tEnvironment__links {
    padding: 128px 0 0 0;
    width: 90%;
    margin-inline: auto;
    max-width: 1280px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 40px;
}
#main .tEnvironment__links-item a {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
}
.tEnvironment__links-img {
    border-radius: 4px;
}
#main .tEnvironment__links-title {
    display: flex;
    align-items: center;
    column-gap: 4px;
}
#main .tEnvironment__links-title span {
    display: inline-block;
    font-weight: 700;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    line-height: 140%;
    font-size: 122%;
}
#main .tEnvironment__links-title path,
#main .tEnvironment__links-title rect {
    fill: #FA0046;
}
/* エントリーリンク */
#main .tEnvironment__entry {
    background-color: #fff;
}
#main .tEnvironment__entry-items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 128px 0 0;
    width: 97%;
    max-width: 1400px;
    margin-inline: auto;
    column-gap: 2px;
    aspect-ratio: 3.5;
}
#main .tEnvironment__entry-link {
    height: 100%;
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 4px;
}
#main .tEnvironment__entry-link:before{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    display: block;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.4) 100%);
}
#main .tEnvironment__entry-img > div,
#main .tEnvironment__entry-img {
    width: 100%;
    height: 100%;
}
#main .tEnvironment__entry-img{
    position: relative;
    z-index: 1;
}
#main .tEnvironment__entry-img img {
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 4px;
}
#main .tEnvironment__entry-body {
    position: absolute;
    bottom: 30px;
    left: 0;
    padding: 0 24px 0 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    z-index: 3;
}
#main .tEnvironment__entry-title {
    font-weight: 700;
    font-size: clamp(18px, 15.887px + 0.563vw, 24px);
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    line-height: 140%;
    color: #fff;
    border: none;
    margin: 0;
    padding: 0;
}
#main .tEnvironment__entry-icon img {
    width: 24px;
}
#main .tEnvironment__entry-icon {
    width: 24px;
    transition: margin 0.3s ease-out;
}
/* ======================
tCompany
====================== */
#main .tCompany {
    background-color: #fff;
    padding: 144px 0;
}
#main .tCompany__inner {
    max-width: 1280px;
    margin: 0 auto;
    width: 90%;
}
/* 上部エリア */
#main .tCompany__top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}
#main .tCompany__top-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main .tCompany__link {
    display: flex;
    align-items: center;
    margin-top: 32px;
}
#main .cSection02__link,
#main .tProjectstoryLinkWrap,
#main .tCompany__link-wrap {
    display: flex;
    align-items: center;
}
#main .cSection02__link{
    white-space: nowrap;
}
#main .cSection02__link-icon,
#main .tProjectstoryLinkIcon,
#main .tCompany__link-icon {
    display: inline-block;
    width: 32px;
    background-color: #F3F3F3;
    border-radius: 50%;
    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;
}
#main .cSection02__link-icon.cSection02__link-icon--white {
    background-color: #fff;
}
#main .cSection02__link-text,
#main .tProjectstoryLink,
#main .tCompany__link-text {
    display: inline-block;
    font-size: 16px;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    line-height: 140%;
    font-weight: 600;
    margin-left: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
span.icon.link-window{
    display: inline-block;
}
span.icon.link-window svg,
#main .cSection02__link-window ,
#main .tCompany__link-window {
    width: 11px;
    height: 9px;
    margin-left: 4px;
}
span.icon.link-window svg path,
span.icon.link-window svg rect,
#main .cSection02__link-window path,
#main .cSection02__link-window rect,
#main .tCompany__link-window path,
#main .tCompany__link-window rect {
    fill: #FA0046;
}
/* 下部エリア */
#main .tCompany__bottom {
    display: grid;
    grid-template-columns: 40% 60%;
    gap: 43px;
    margin-top: 128px;
}
#main .tCompany__bottom-title {
    font-size: 300%;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 135%;
    font-family: 'Inter Tight', sans-serif;
}
#main .tCompany__bottom-subtitle {
    font-size: 133%;
    font-weight: 700;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    line-height: 150%;
    margin-top: 8px;
}
#main .tCompany__bottom-text {
    font-size: 133%;
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    font-weight: 500;
    margin-top: 32px;
    margin-bottom: 32px;
}


/* index_messageエリア */
#main .tMessage01{
    overflow-x: hidden;
    padding: clamp(66px, 42.761px + 6.197vw, 132px) 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 34px 0;
    background: #fff;
    overflow: hidden;
}
#main .tMessage01_img{
    max-width: 792px;
    width: 56%;
    min-width: 470px;
    position: relative;
    z-index: 0;
}
#main .tMessage01_in{
    width: auto;
    max-width: unset;
    min-width: unset;
    transform: matrix(1, 0, -0.16, 0.99, 0, 0);
    margin: 0;
    padding; 0;
}
#main .tMessage01_in div{
    display: block;
}
#main .tMessage01 p{
    writing-mode: unset;
    white-space: nowrap;
    font-weight: 800;
    font-size: clamp(16px, 15.648px + 0.094vw, 17px);
    line-height: 220%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
#main .tMessage01_in div {
  background: linear-gradient(180deg, #222 33.33%, #222 33.33%, #FFF 66.66%, #FFF 100%);
  background-position: center top 100%;
  background-size: 100% 300%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  transition: background-position 5s cubic-bezier(0.23, 1, 0.32, 1);
}

#main .tMessage01_in div.fnInviewTop.is-inviewTop {
  background-position: center top 0%;
}

#main .tMessage01_in div.fnInviewTop.is-inviewTop {
  background-position: center top 0%;
}

/* index_cultureエリア */
#main .tCulture{
    background: #fff;
    padding: clamp(100px, 64.789px + 9.39vw, 200px) 0 0;
}
#main .tCulture .cSection02__head{
    width: 90%;
    margin-inline: auto;
    max-width: 1280px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
}
#main .tCulture .cSection02__lead{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    max-width: 620px;
}
#main .tCultureWrap{
    width: 100%;
    aspect-ratio: 1440 / 441;
    position: relative;
    background: #fff url(/recruit/images/rn02/index_culturebg.png) center / 100% 100% no-repeat;
    margin: clamp(32px, 20.732px + 3.005vw, 64px) 0 0;
}
#main .tCultureWrap > *{
    position: absolute;
    z-index: 1;
}
#main .tCultureWrap > *:hover .img{
    opacity: 0;
}
#main .tCultureWrap > *:hover .hov{
    opacity: 1;
    cursor: pointer;
}
#main .tCultureCont{
    position: relative;
    height: 100%;
    width: 100%;
    cursor: none;
}
#main .tCultureWrap div[class^="tCultureBlacket"]:before,
#main .tCultureWrap div[class^="tCultureBlacket"]:after{
    content: "";
    display: block;
    width: 1.38888%;
    height: 4.2462%;
    position: absolute;
    z-index:3;
    opacity: 0;
    transition: all 0.3s ease-out;
}
#main .tCultureWrap div[class^="tCultureBlacket"]{
    position: static;
}
#main .tCultureWrap div[class^="tCultureBlacket"]:before{
    background: url(/recruit/images/rn02/index_culturebracket02.svg) center / 100% 100% no-repeat;
    transform: translateX(-20%);
}
#main .tCultureWrap div[class^="tCultureBlacket"]:after{
    background: url(/recruit/images/rn02/index_culturebracket01.svg) center / 100% 100% no-repeat;
    transform: translateX(20%);
}
#main .tCultureWrap:has(#tCulture05:hover) .tCultureBlacket05:before,
#main .tCultureWrap:has(#tCulture05:hover) .tCultureBlacket05:after,
#main .tCultureWrap:has(#tCulture04:hover) .tCultureBlacket04:before,
#main .tCultureWrap:has(#tCulture04:hover) .tCultureBlacket04:after,
#main .tCultureWrap:has(#tCulture03:hover) .tCultureBlacket03:before,
#main .tCultureWrap:has(#tCulture03:hover) .tCultureBlacket03:after,
#main .tCultureWrap:has(#tCulture02:hover) .tCultureBlacket02:before,
#main .tCultureWrap:has(#tCulture02:hover) .tCultureBlacket02:after,
#main .tCultureWrap:has(#tCulture01:hover) .tCultureBlacket01:before,
#main .tCultureWrap:has(#tCulture01:hover) .tCultureBlacket01:after{
    transform: translateX(0);
    opacity: 1;
}
#main .tCultureCont > *{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#main .tCultureCont .img{
    z-index: 1;
    transition: opacity 0.3s ease-out;
}
#main .tCultureCont .hov{
    z-index: 2;
    opacity: 0;
    transition: opacity 0.3s ease-out;
}
#main .tCultureWrap #tCulture01{
    top: 4.0816%;
    left: 7.1527%;
    width: 89.8611%;
    height: 17.687%;
}
#main .tCultureWrap #tCulture02{
    top: 31.6326%;
    left: 6.25%;
    width: 40.2777%;
    height: 10.5681%;
}
#main .tCultureWrap #tCulture03{
    top: 31.6326%;
    left: 48.993%;
    width: 44.6875%;
    height: 10.5681%;
}
#main .tCultureWrap #tCulture04{
    top: 50.5668%;
    left: 4.5138%;
    width: 89.5833%;
    height: 12.8117%;
}
#main .tCultureWrap #tCulture05{
    top: 74.7165%;
    left: 3.75%;
    width: 89.6527%;
    height: 12.5850%;
}
#main .tCultureBlacket01:before{
    left: 5.3472%;
    top: 21.6553%;
}
#main .tCultureBlacket01:after{
    left: 97.0833%;
    top: 0.21231%;
}
#main .tCultureBlacket02:before{
    left: 4.375%;
    top: 41.6099%;
}
#main .tCultureBlacket02:after{
    left: 47.15277%;
    top: 26.4172%;
}
#main .tCultureBlacket03:before{
    left: 47.6388%;
    top: 41.6099%;
}
#main .tCultureBlacket03:after{
    left: 95.8333%;
    top: 26.4172%;
}
#main .tCultureBlacket04:before{
    left: 3.2638%;
    top: 64.6258%;
}
#main .tCultureBlacket04:after{
    left: 94.8611%;
    top: 46.3718%;
}
#main .tCultureBlacket05:before{
    left: 1.8055%;
    top: 95.238%;
}
#main .tCultureBlacket05:after{
    left: 93.75%;
    top: 69.3877%;
}
.tCultureMore {
    position: fixed;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s;
    z-index: 9999;
    /* カーソルの中心に表示するための調整 */
    transform: translate(-50%, -50%);

    background: #000000;
    border-radius: 4px;
    color: #fff;
    padding: 7px 21px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    line-height: 150%;
    vertical-align: middle;
}

div[class^="tCultureModal0"]{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 10000;
    max-width: 960px;
    width: 90%;
    aspect-ratio: 2;
    background: #fff;
    border-radius: 4px;
    max-height: 480px;
    /*
    overflow: hidden;
    */
    transition: opacity 0.3s ease-out;
    opacity: 0;
    pointer-events: none;
}
#tCultureModal.tCulture01 .tCultureModal01,
#tCultureModal.tCulture02 .tCultureModal02,
#tCultureModal.tCulture03 .tCultureModal03,
#tCultureModal.tCulture04 .tCultureModal04,
#tCultureModal.tCulture05 .tCultureModal05{
    opacity: 1;
    pointer-events: auto;
}
.tCultureOverlay{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.3);
    transition: opacity 0.3s ease-out;
    opacity: 0;
    pointer-events: none;
    cursor: pointer;
}
#tCultureModal[class^="tCulture0"] .tCultureOverlay{
    opacity: 1;
    pointer-events: auto;
}
.tCultureCloseModal{
    position: fixed;
    top: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #FA0046;
    transition: background 0.3s linear;
    cursor: pointer;
}
.tCultureCloseModal span{
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20px;
    height: 1px;
    background: #fff;

}
.tCultureCloseModal span:nth-of-type(1){
    transform: translate(-50%,-50%) rotate(-45deg);
}
.tCultureCloseModal span:nth-of-type(2){
    transform: translate(-50%,-50%) rotate(45deg);
}
.tCultureCloseModal:hover{
    background: #ccc;
}
.tCultureModalWrap{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
}
.tCultureModalTitle{
    width: 480px;
    aspect-ratio: 1;
    position: relative;
}
.tCultureModalTitle img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
#main .tCultureModal04 .tCultureModalTitle img,
#main .tCultureModal01 .tCultureModalTitle img{
    height: 174px;
    width: auto;
}
#main .tCultureModal03 .tCultureModalTitle img,
#main .tCultureModal02 .tCultureModalTitle img{
    height: 114px;
    width: auto;
}
#main .tCultureModal05 .tCultureModalTitle img{
    height: 144px;
    width: auto;
}
.tCultureModalText{
    width: calc(100% - 480px);
    padding: 80px 0 0 0;
    height: 480px;
}
.tCultureModalText 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;
    max-height: 400px;
    overflow-y: auto;
    padding: 0 60px 35px 40px;
}

/* index_dreamエリア */
#main .tDream{
    background: #fff;
    padding: clamp(72px, 46.648px + 6.761vw, 144px) 0 0;
    margin: 0;
}
#main .tDream .cSection02__head{
    width: 90%;
    margin-inline: auto;
    max-width: 1280px;
}
#main .tDreamWrap{
    width: 90%;
    max-width: 1280px;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin: clamp(28px, 20.958px + 1.878vw, 48px) auto 0;
}
#main .tDreamItem{
    width: calc(50% - 12px);
    display: block;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 1.5023;
}
#main .tDreamImg{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#main .tDreamImg img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main .tDreamImg:before{
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.125) 41.83%, rgba(0, 0, 0, 0.25) 100%);
}
#main .tDreamItem:nth-child(2) .tDreamImg:before{
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.125) 65.87%, rgba(0, 0, 0, 0.25) 100%);
}
#main .tDreamText{
    position: absolute;
    z-index: 2;
    color: #fff;
    left:clamp(16px, 10.366px + 1.502vw, 32px);
    right: clamp(72px, 46.648px + 6.761vw, 144px);
    bottom:clamp(16px, 10.366px + 1.502vw, 32px);
    font-family: 'Noto Sans JP', sans-serif;
}
#main .tDreamText h3{
    font-weight: 700;
    font-size: 32px;
    line-height: 135%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    color: #fff;
}
#main .tDreamText p{
    font-weight: 500;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    margin: 16px 0 0;
}
#main .tDreamArrow{
    position: absolute;
    z-index: 2;
    bottom: clamp(16px, 10.366px + 1.502vw, 32px);
    right: clamp(16px, 10.366px + 1.502vw, 32px);
    width: clamp(24px, 15.549px + 2.254vw, 48px);
    height: clamp(33px, 21.028px + 3.192vw, 67px);
    transform: translateX(0);
    transition: transform 0.3s ease-out;
}
/*
#main .tDreamItem:hover .tDreamArrow{
    transform: translateX(10px);
}
*/
#main .tDreamGacha{
    background: #FA0046;
    margin: clamp(72px, 46.648px + 6.761vw, 144px) 0 0;
    padding: 90px 0;
}
#main .tDreamGachaWrap{
    position: relative;
    color: #fff;
    width: 90%;
    height: 100%;
    min-height: 345px;
    margin-inline: auto;
}
#main .tDreamGachaItem{
    position: absolute;
    top:0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 28px clamp(75px, 48.592px + 7.042vw, 150px);
    background: #FA0046;
    padding: 0;
    height: 100%;
}
#main .tDreamGacha .tDreamGachaItem.main{
    z-index: 1;
    transition: opacity 0.3s ease-out 0.75s;
}
#main .tDreamGacha .tDreamGachaItem.result{
    z-index: 2;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1.5s ease-out 1s;
}
#main .tDreamGacha.result .tDreamGachaItem.main{
    opacity: 0;
    pointer-events: none;
}
#main .tDreamGacha.result .tDreamGachaItem.result{
    opacity: 1;
    pointer-events: auto;
}
#main .tDreamGachaLeft{
    width: 39.45%;
    max-width: 505px;
}
#main .tDreamGachaLeft h4{
    /*
    font-weight: 700;
    transform: skewX(-9deg);
    color: #fff;
    font-size: clamp(34px, 26.254px + 2.066vw, 56px);
    line-height: 120%;
    */
    text-indent: -9999px;
    background: url(/recruit/images/rn02/index_dreamgachatitle.svg) left top / contain no-repeat;
    width: 100%;
    aspect-ratio: 3.9104;
}
#main .tDreamGachaLeft h4 br{
    display: none;
}
#main .tDreamGachaLeft p{
    font-weight: 500;
    font-size: 18px;
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    margin: clamp(20px, 12.958px + 1.878vw, 40px) 0 0;
}
#main .tDreamGachaRight{
    width: 32.3125%;
    max-width: 405px;
}
#main .tDreamGachaRight a{
    display: block;
}
#main .tDreamGacha.result .tDreamGachaBtn{
    animation: gachaAnime 3000ms 1 both;
}
#main .tDreamGacha.result .tDreamGachaInterview{
    display: block;
    max-width: 400px;
    width: 100%;
    background: #fff;
    color: #FA0046;
    padding: clamp(20px, 15.775px + 1.127vw, 32px);
    font-size: clamp(20px, 18.592px + 0.376vw, 24px);
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    position: relative;
    border-radius: 4px;
}
#main .tDreamGacha.result .tDreamGachaInterview:after{
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #F3F3F3 url(/recruit/common/images/rn02/icon_window_red.svg) center / 11px auto no-repeat;
    position: absolute;
    right: clamp(20px, 15.775px + 1.127vw, 32px);
    top: 50%;
    transform: translateY(-50%);
    transition: background .3s linear;
}
#main .tDreamGachaItem.result .tDreamGachaLeft{
    width: 31.25%;
    max-width: 400px;
    min-width: 290px;
}
#main .tDreamGachaItem.result .tDreamGachaInterview p{
    font-weight: 500;
    font-size: clamp(13px, 12.648px + 0.094vw, 14px);
    line-height: 180%;
    margin: 2px 0 0;
}
#main .tDreamGachaItem.result .tDreamGachaOther{
    display: inline-block;
    color: #fff;
    margin: 20px 0 0;
    font-weight: 600;
    font-size: clamp(14px, 13.296px + 0.188vw, 16px);
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;

}
#main .tDreamGachaItem.result .tDreamGachaOther span{
    display: inline-block;
    background: #fff url(/recruit/common/images/rn02/icon_arrow-link.svg) center / 30% auto no-repeat;
    width: clamp(24px, 21.183px + 0.751vw, 32px);
    height: clamp(24px, 21.183px + 0.751vw, 32px);
    border-radius: 50%;
    vertical-align: -8px;
    margin: 0 10px 0 0;
}
#main .tDreamGachaItem.result .tDreamGachaRight{
    max-width: 650px;
    width: 50.78%;
}
#main .tDreamGachaItem.result .tDreamGachaResultWrap{
    height: 400px;
    position: relative;
}
#main .tDreamGachaItem.result .tDreamGachaResultText{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    white-space: nowrap;
}
#main .tDreamGachaItem.result .tDreamGachaResultText .word{
    font-weight: 700;
    font-size: clamp(24px, 18.366px + 1.502vw, 40px);
    line-height: 130%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
#main .tDreamGachaItem.result .tDreamGachaResultText .job{
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    text-align: right;
    margin: 8px 0 0;
}
#main .tDreamGachaItem.result .tDreamGachaResultWrap:before,
#main .tDreamGachaItem.result .tDreamGachaResultWrap:after{
    content: "";
    display: block;
    width: clamp(60px, 38.873px + 5.634vw, 120px);
    aspect-ratio: 1.01694;
    background: url(/recruit/common/images/rn02/blacket_white.svg) center / 100% 100% no-repeat;
    position: absolute;
}
#main .tDreamGachaItem.result .tDreamGachaResultWrap:before{
    left: 0;
    bottom: 0;
}
#main .tDreamGachaItem.result .tDreamGachaResultWrap:after{
    right: 0;
    top: 0;
    transform: rotate(180deg);
}
#main .tDreamGachaBtn:hover{
    cursor: pointer;
}

@keyframes gachaAnime {
  0%,
  11% {
    transform: rotate(0deg);
  }
  14% {
    transform: rotate(180deg);
  }
  17% {
    transform: rotate(350deg);
  }
  20% {
    transform: rotate(365deg);
  }
  23% {
    transform: rotate(368deg);
  }
  30% {
    transform: rotate(361deg);
  }
  48% {
    transform: rotate(359deg);
  }
  52% {
    transform: rotate(359.5deg);
  }
  77%,
  100% {
     transform: rotate(360deg);
  }
}


#main .tProjectstory{
    background: #fff;
    padding: clamp(50px, 32.394px + 4.695vw, 100px) 0 0;
    margin: 0;
}
#main .tProjectstoryWrap{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 auto;
    padding-top: 50px;
    gap: 0 clamp(40px, 13.592px + 7.042vw, 115px);
}
#main .tProjectstoryLeft{
    width: 43.75%;
    max-width: 460px;
    min-width: 460px;
    position: sticky;
    top: 50px;
}
#main .tProjectstoryLinkWrap{
    margin: 32px 0 0;
}
#main .tProjectstoryCont + .tProjectstoryCont{
    margin: clamp(29px, 18.789px + 2.723vw, 58px) 0 0;
}
#main .tProjectstoryInfo{
    display: flex;
    flex-wrap: wrap;
    margin: clamp(12px, 7.775px + 1.127vw, 24px) 0 0;
    justify-content: space-between;
    gap: 10px 0;
    width: 90%;
}
#main .tProjectstoryTitle{
    min-width: 280px;
    font-weight: 700;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
#main .tProjectstoryTitle span{
    display: block;
    font-family: 'Inter Tight', sans-serif;
    font-weight: 900;
    font-size: 12px;
    line-height: 150%;
    color: #FA0046;
}
#main .tProjectstoryCopy{
    max-width: 400px;
    width: 90%;
    font-weight: 700;
    font-size: clamp(24px, 21.183px + 0.751vw, 32px);
    line-height: 135%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
#main .tProjectstoryArrow{
    width: clamp(60px, 38.873px + 5.634vw, 120px);
    height: clamp(83px, 53.423px + 7.887vw, 167px);
}
#main .tProjectstoryRight{
    width: 56.25%;
}


#main .tBusiness{
    padding: clamp(72px, 46.648px + 6.761vw, 144px) 0 clamp(72px, 46.648px + 6.761vw, 144px);
    background: #fff;
    margin: 0;
}
#main .tBusiness .cSection02__head{
    width: 90%;
    margin-inline: auto;
    max-width: 1280px;
}
#main .tBusinessWrap{
    width: 90%;
    margin: clamp(24px, 15.549px + 2.254vw, 48px) auto 0;
    max-width: 1280px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
#main .tBusinessItem{
    width: calc(50% - 20px);
}
#main .tBusinessItemImg{
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 4px;
    aspect-ratio: 1.7765;
}
#main .tBusinessItemImg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main .tBusinessItemTitle{
    display: block;
    width: 100%;
    position: relative;
    font-weight: 700;
    font-size: clamp(22px, 18.479px + 0.939vw, 32px);
    line-height: 135%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    padding: clamp(12px, 7.775px + 1.127vw, 24px) 0;
}
#main .tBusinessItemArrow{
    display: block;
    width: 24px;
    height: 34px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0%, -50%);
    transition: right 0.3s ease-out;
}
#main .tBusinessItemText{
    font-weight: 500;
    font-size: 16px;
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    text-align: justify;
}
#main .tBusinessTech{
    margin: clamp(40px, 25.915px + 3.756vw, 80px) auto 0;
    padding: clamp(40px, 25.915px + 3.756vw, 80px) 0 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    width: 90%;
    max-width: 1280px;
}
#main .tBusinessTechWrap{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
}
#main .tBusinessTechLeft,
#main .tBusinessTechRight{
    width: calc( 50% - 20px );
}
#main .tBusinessTechLeft .cSection02__lead{
    width: 88.25%;
    min-width: 300px;
}
#main .tBusinessTechItem{
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 clamp(32px, 20.732px + 3.005vw, 64px) 0 0;
    gap: 24px;
}
#main .tBusinessTechItemArrow{
    display: block;
    width: 24px;
    height: 34px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0%, -50%);
    transition: right 0.3s ease-out;
}
#main .tBusinessTechItem + .tBusinessTechItem{
    margin: clamp(20px, 12.958px + 1.878vw, 40px) 0 0;
    padding-top: clamp(20px, 12.958px + 1.878vw, 40px);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}
#main .tBusinessTechImg{
    width: 180px;
    aspect-ratio: 1;
    border-radius: 4px;
    overflow: hidden;
}
#main .tBusinessTechImg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main .tBusinessTechText{
    width: calc(100% - 204px);
}
#main .tBusinessTechText h3{
    font-size: clamp(18px, 17.296px + 0.188vw, 20px);
}
#main .tBusinessTechText p{
    font-size: clamp(14px, 13.296px + 0.188vw, 16px);
    font-weight: 500;
    margin: 12px 0 0;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
#main .tJobs{
    padding: clamp(50px, 32.394px + 4.695vw, 100px) 0;
    margin: 0;
}
#main .tJobs .cSection02__head{
    width: 90%;
    margin-inline: auto;
    max-width: 1280px;
}
#main .tJobsWrap{
    width: 90%;
    margin: clamp(24px, 15.549px + 2.254vw, 48px) auto 0;
    max-width: 1280px;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
#main .tJobsItem{
    width: calc(50% - 12px);
    position: relative;
    aspect-ratio: 1.5023;
    overflow: hidden;
    border-radius: 4px;
}
#main .tJobsItem:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 65.38%, rgba(0, 0, 0, 0.25) 100%);
}
#main .tJobsItem:nth-child(2):before{
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.0575) 65.38%, rgba(0, 0, 0, 0.25) 100%);
}
#main .tJobsItemImg{
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
}
#main .tJobsItemImg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main .tJobsItemText{
    position: absolute;
    left: clamp(20px, 15.775px + 1.127vw, 32px);
    bottom: clamp(20px, 15.775px + 1.127vw, 32px);
    z-index: 3;
}
#main .tJobsItemText p{
    font-weight: 700;
    font-size: clamp(24px, 21.183px + 0.751vw, 32px);
    line-height: 135%;
    color: #fff;
}
#main .tJobsItemText span{
    display: block;
    font-size: clamp(14px, 12.592px + 0.376vw, 18px);
    line-height: 145%;
}
#main .tJobsItemArrow{
    position: absolute;
    z-index: 3;
    bottom: clamp(16px, 10.366px + 1.502vw, 32px);
    right: clamp(16px, 10.366px + 1.502vw, 32px);
    width: clamp(24px, 15.549px + 2.254vw, 48px);
    height: clamp(33px, 21.028px + 3.192vw, 67px);
    transform: translateX(0);
    transition: transform 0.3s ease-out;
}
#main .tJobsItem:hover .tJobsItemArrow{
    transform: translateX(10px);
}
#main .tVoices__link .cSection02__caption {
    margin-top: 8px;
    text-align: right;
    font-size: 92%;
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    color: #1C1C1C;
}
#main .tVoices .cSection02__text {
    align-items: start;
}
#main .tVoices{
    padding: clamp(72px, 46.648px + 6.761vw, 144px) 0;
    background: #fff;
    margin: 0;
    overflow: hidden;
}
#main .tVoices .cSection02__head{
    width: 90%;
    margin-inline: auto;
    max-width: 1280px;
}
#main .tVoicesSlider{
    margin:  clamp(24px, 15.549px + 2.254vw, 48px) 0 0;
}
#main .tVoices .swiper-wrapper{
    /*gap: 24px;*/
}
#main .tVoices .swiper-slide{
    margin: 0;
    transform: unset;
    animation: none;
    padding: 0 12px;
}
@media screen and (min-width: 1440px){
    #main .tVoices .swiper-slide{
        width: 424px;
    }
}
#main .tVoices .swiper-slide a {
    display: block;
}
#main .tVoicesControl{
    margin:  clamp(24px, 15.549px + 2.254vw, 48px) 0 0;
    width: 90%;
    margin-inline: auto;
    max-width: 1280px;
    display: flex;
    gap: 16px;
    justify-content: flex-start;
}
#main .tVoicesControl > *{
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.3s ease-out;
}
#main .tVoicesControl > *:hover{
    opacity: .6;
}

#main .tMainvisual{
    background: #fff;
}
#main .tMainvisualWrap{
    position: relative;
    width: 100%;
    /*
    aspect-ratio: 1.77777;
    */
    height: calc(100vh - 96px);
}
#main .tMainvisualMovie{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
}
#main .tMainvisualMovie ._pc,
#main .tMainvisualMovie video{
    width: 100%;
    height: 100%;
}
#main .tMainvisualMovie ._pc video{
    object-fit: cover;
}
@media screen and ( max-height: 650px ){
    #main .tMainvisualMovie ._pc video{
        object-fit: contain;
    }
}
#main .tMainvisualNews{
    position: absolute;
    left: clamp(40px, 25.915px + 3.756vw, 80px);
    bottom: clamp(22px, 14.254px + 2.066vw, 44px);
    z-index: 10;
    background: #fff;
    border-top: 1px solid rgba(0, 0, 0, 0.1)
}
#main .tMainvisualNewsWrap{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}
#main .tMainvisualNews h3{
    font-weight: 900;
    font-size: 14px;
    line-height: 120%;
    color: #FA0046;
    padding: clamp(8px, 5.183px + 0.751vw, 16px) 0 clamp(12px, 7.775px + 1.127vw, 24px);
    font-family: 'Inter Tight', sans-serif;
}
#main .tMainvisualNews h3:before{
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #FA0046 url(/recruit/common/images/rn02/icon_arrow.svg) center / 8px auto no-repeat;
    position: absolute;
    right: 0px;
    top: 16px;
}
#main .tMainvisualNewsList{
    font-weight: 500;
    font-size: 14px;
    line-height: 180%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
}
#main .tMainvisualNewsItem{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
}
#main .tMainvisualNewsItem .date{
    width: 80px;
}
#main .tMainvisualNewsItem .text{
    width: calc(100% - 104px);
    padding-right: 24px;
}

.tFloatBnr{
    display: block;
    border-radius: 8px;
    box-shadow: 0px 2px 6px 1px rgba(0, 0, 0, 0.15);
    height: 100px;
    width: 320px;
    position: fixed;
    right: 40px;
    bottom: 40px;
    background: #fff;
    z-index: 5000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-out;
}
.tFloatBnr.show{
    opacity: 1;
    pointer-events: auto;
}
.tFloatBnr.is-closed {
    opacity: 0;
    pointer-events: none;
}
.tFloatBnrWrap{
    display: flex;
    align-items: center;
    text-decoration: none;
}
.tFloatBnrImg{
    width: 50%;
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
}
.tFloatBnrImg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.tFloatBnrText{
    padding: 0 0 0 14px;
    font-family: "Noto Sans JP", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Arial, Helvetica, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0.03em;
    font-feature-settings: 'palt' on;
    color: #000;
    text-decoration: none;
}
.tFloatBnrClose{
    position: absolute;
    top: -16px;
    right: -16px;
    background: #fff;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    z-index: 5001;
    box-shadow: 0px 2px 6px 1px rgba(0, 0, 0, 0.15);
    cursor: pointer;
}
.tFloatBnrClose > div{
    position: relative;
    width: 100%;
    height: 100%;
}
.tFloatBnrClose > div span{
    position: absolute;
    left: 50%;
    top: 50%;
    width: 14px;
    height: 2px;
    background: #FA0046;

}
.tFloatBnrClose > div span:nth-of-type(1){
    transform: translate(-50%,-50%) rotate(-45deg);
}
.tFloatBnrClose > div span:nth-of-type(2){
    transform: translate(-50%,-50%) rotate(45deg);
}
