.bg-teaser{
    position: relative;
    background-image: url(../event/new-project/images/img_main_teaser.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    width: 100%;
    height: 100%;
    padding: 8em 18%;
}

.bg-hero{
    position: relative;
    background-image: url(../img/img_main.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    width: 100%;
    height: 100%;
    padding: 8em 18%;
}

.hero-title{
    position: relative;
    font-size: 112px;
    font-family: "Roboto", sans-serif;
    font-weight: bold;
    letter-spacing: 0;
    line-height: .9;
    font-style: italic;
    color: #fff;
}

.hero-title__jp{
    font-size: 24px;
    font-style: normal;
    margin-top: .6em;
}

.hero-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: .2rem;
    height: 100%;
    background: rgb(164, 0, 5);
    transform: skewX(-10deg);
}

.teaser-no{
    font-size: 64px;
    padding: 10px 0;
    font-family: "Roboto", sans-serif;
    letter-spacing: 0;
    font-style: italic;
    text-align: center;
}

.over-hidden{
    overflow: hidden;
}

.font-en{
    font-family: "Roboto", sans-serif;
}

.mr-1{
    margin-left: .2em;
}
.mr-2{
    margin-left: .4em;
}

.nav-link{
    border-bottom: 1px solid #5B5B5B;
    background: #000000;
    background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(57, 55, 55, 1) 50%, rgba(0, 0, 0, 1) 100%); 
}

.inner{
    width: 1080px;
    margin: auto;
}

.ul-internal-link{
    display: flex;
    flex-wrap: wrap;
}

.ul-internal-link li{
    width: 33%;
}

.ul-internal-link li a {
    display: block;
    padding: 2em 1em;
    font-family: "Roboto", sans-serif;
    font-style: italic;
    letter-spacing: 0;
    position: relative;
    z-index: 0;
    text-align: center;
    clip-path: polygon(
        12px 0,
        100% 0,
        calc(100% - 12px) 100%,
        0 100%
    );
}

.ul-internal-link li a::after {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 0;
    left: 10px;
    width: 1px;
    height: 80%;
    background: #5B5B5B;
    transform: skewX(-8deg);
    transform-origin: top;
}

.ul-internal-link li:last-child a::before {
    content: "\f105";
    font-family: "webicon";
    font-style: normal;
    position: absolute;
    font-size: 20px;
    font-weight: 300;
    top: 50%;
    right: 2em;
    font-style: normal;
    transform: translateY(-50%)
}

.ul-internal-link li:not(:last-child) a::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(62, 0, 2, 1) 0%,
        rgba(164, 0, 5, 1) 50%,
        rgba(62, 0, 2, 1) 100%
    );
    opacity: 0;
    transition: opacity 0.8s ease;
    z-index: -1;
}

.ul-internal-link li:not(:last-child) a:hover::before {
    opacity: 1;
}

.ul-internal-link li:last-child a:hover::before {
    opacity: 0.75;
}

.ul-internal-link li:last-child a {
    background: linear-gradient(
        180deg,
        rgba(62, 0, 2, 1) 0%,
        rgba(164, 0, 5, 1) 50%,
        rgba(62, 0, 2, 1) 100%
    );
}

.item-box {
    display: flex;
    flex-wrap: nowrap;
}

.item-box.-reverse .item-box-img {
        width: 50vw;
        flex-shrink: 0;
        margin-left: calc((1080px - 100vw) / 2);
}

.item-box.-reverse .item-box-img img{
    clip-path: polygon(
        0 0,
        100% 0,
        calc(100% - 86px) 100%,
        0 100%
    );
}

.item-box.-reverse .item-box-img::before {
    content: "";
    display: none;
}

.item-box.-reverse .item-box-img::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 8px;
    height: 100%;
    background: rgb(164, 0, 5);
    transform: skewX(-10deg);
    transform-origin: top;
    z-index: 20;
}

.item-box.-reverse .item-box-text{
    padding-left: 2em;
}

.item-box-team{
    position: relative;
    padding: 68px 0;
}

.item-box-team-machine{
    position: relative;
    min-height: 480px;
}

.item-box-team-machine::before{
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 480px;
    background-image: url(../img/img_machine.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: -1;
}


.item-box-team-title{
    display: flex;
    align-items: center;
    font-size: 64px;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;
    font-style: italic;
}

.item-box-team-title span{
    font-size: 24px;
    font-weight: bold;
    font-family: "メイリオ", Meiryo,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
    font-style: normal;
    letter-spacing: 0;
    margin-left: 2em;
    line-height: 1;
}

.item-box-road{
    background-image: url(../img/img_road.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.item-box-text {
    width: 48%;
    padding: 68px 0;
    flex-shrink: 0;
}

.item-box-img {
    position: relative;
    width: calc(52vw);
    flex-shrink: 0;
    
}

.item-box-img::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 78px;
    width: 8px;
    height: 100%;
    background: rgb(164, 0, 5);
    transform: skewX(-10deg);
    transform-origin: top;
    z-index: 20;
}

.item-box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background-position: 25% 75%;
    clip-path: polygon(
        86px 0,
        100% 0,
        100% 100%,
        0 100%
    ); 
}

.item-box-title {
    font-size: 64px;
    letter-spacing: 0;
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-style: italic;
    line-height: 1;
}

.item-box-mind{
    background-image: url(../img/img_mind.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.item-box-mind-move{
    margin-left: 40%;
}

.item-box-mind-move .item-box-text{
    width: 100%;
}

.corporatemind-ceo{
    font-size: 16px;
    letter-spacing: 0;
    text-align: right;
    margin-top: 8em;
}

.corporatemind-ceo span{
    font-size: 24px;
    letter-spacing: 0;
    margin-left: 1em;
}

.p{
    font-size: 16px;
    letter-spacing: 0;
}

.p + .p{
    margin-top: 1em;
}

.mt-sm{
    margin-top: 24px;
}

.mt-md{
    margin-top: 40px;
}

.btn-entry a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 250px;
    height: 45px;
    font-size: 20px;
    margin: auto;
    text-align: center;
    font-family: "Roboto", sans-serif;
    border: 2px solid #fff;
    border-radius: 45px;
    color: #FFF;
    text-decoration: NONE;
    outline: none;
    transition: 1s;
}

.btn-entry a:hover{
    color: #000;
    background-color: #FFF;
     transition: 1s;
}

.line-box{
    border-bottom: 1px solid #5B5B5B;
}

.title-sub{
    position: relative;
    font-size: 40px;
    padding-left: 1em;
    color: #fff;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;
    font-style: italic;
    line-height: 1;
}

.title-sub::after{
    content: attr(data-sub);
    position: absolute;
    font-size: 20px;
    letter-spacing: 0;
    left: 2em;
    bottom: -1.5em;
}

.title-sub::before{
    content: "";
    position: absolute;
     display: block;
     top: 50%;
     left: 0;
     width: 24px;
     height: 1px;
     transform: translateY(-50%);
     background-color: #df3b3f;
}

.po-re{
    position: relative;
}

.tbl-car{
    position: absolute;
    right: 0;
    width: 400px;
    margin-top: 3em;
    background-color: #000;
}

.tbl-car th{
    font-size: 20px;
    letter-spacing: 0;
    padding: 16px 18px;
    font-family: "Roboto", sans-serif;
    font-style: italic;
    color: #fff;
    text-align: left;
    border: 1px solid #5B5B5B;
}
.tbl-car td{
    font-size: 16px;
    letter-spacing: 0;
    color: #fff;
    padding: 16px 18px;
    text-align: left;
    border: 1px solid #5B5B5B;
}

.ul-2box{
    display: flex;
    flex-wrap: wrap;
}

.ul-2box >li{
    width: 48%;
    border: 1px solid #5B5B5B;
    margin: 0 2.8em 0 0;
}

.ul-2box >li:nth-child(2n){
    margin: 0;
}

.crew-item{
    position: relative;
    display: flex;
    padding: 24px 24px 12px;
}

.crew-item.-driver::before{
    content: "";
    position: absolute;
    background-image: url(../img/img_crew01.webp);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    width: 280px;
    height: 220px;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.crew-item.-co-dr::before{
    content: "";
    position: absolute;
    background-image: url(../img/img_crew02.webp);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    width: 280px;
    height: 220px;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.crew-item-data .-position{
    font-size: 24px;
    color: #df3b3f;
    font-family: "Roboto", sans-serif;
    font-style: italic;    
    letter-spacing: 0;
}

.crew-item-data .-nameen{
    font-size: 40px;
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-style: italic;    
    letter-spacing: 0;
    line-height: 1;
}

.crew-item-data .-name{
    font-size: 24px;
    font-weight: bold;
    color: #fff; 
    letter-spacing: 0;
}

.crew-item-data .-career{
    font-size: 16px;
    color: #fff; 
    letter-spacing: 0;
    margin-top: 12px;
    padding-bottom: 1em;
}

.crew-item-data{
    width: 70%;
}

.ul-sponser{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
}

.ul-sponser >li{
    width: 16%;
    text-align: center;
}

.ul-sponser >li img{
    max-height: 56px;
}


.event-box{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.event-box-left{
    width: 42%;
}
.event-box-right{
    width: 56%;
}

.tab-menu {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tab-menu li {
	width: 32%;
    clip-path: polygon(15% 0%, 100% 0%, 85% 100%, 0% 100%);
    -webkit-clip-path: polygon(15% 0%, 100% 0%, 85% 100%, 0% 100%);    
}

.tab-menu li:last-child {
	width: 32%;
    clip-path: none;
    margin: 0 0 0 auto;
}

.tab-menu li:last-child a::before {
    display: none;
}

.tab-menu li:last-child a::after {
    content: "\f105";
    font-family: "webicon";
    font-style: normal;
    position: absolute;
    top: inherit;
    bottom: inherit;
    right: 16px;
    width: inherit;
    height: inherit;
    background: transparent !important;
    transform: inherit;
    transform-origin: inherit;
    background: inherit;
}

.tab-menu li a {
    position: relative;
	display: block;
	padding: .8em 1em;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;
    font-style: italic;    
	text-align: center;
    border: 1px solid #5B5B5B;
}

.tab-menu li a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 27px;
    width: 2px;
    height: 100%;
    background: #5B5B5B;
    transform: skewX(-31deg);
    transform-origin: top;
}

.tab-menu li a::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 2px;
    height: 100%;
    background: #5B5B5B;
    transform: skewX(-31deg);
    transform-origin: top;
}

.tab-menu li.is-active a {
	color: #fff;
    background: linear-gradient(
        180deg,
        rgba(62, 0, 2, 1) 0%,
        rgba(164, 0, 5, 1) 50%,
        rgba(62, 0, 2, 1) 100%
    );
}

.tab-panel {
	display: none;
}

.tab-panel.is-active {
	display: block;
}

.ul-eventinfo{
    display: flex;
    flex-wrap: wrap;
}

.ul-eventinfo >li{
    width: 48%;
    margin: 0 2.8em 2em 0;
    background: #0000;
    background: linear-gradient(345deg,rgba(0, 0, 0, 1) 0%, rgba(63, 61, 61, 1) 50%, rgba(0, 0, 0, 1) 100%);    
    border: 1px solid #5B5B5B;
    &:nth-child(2n){
        margin: 0 0 2em;
    }
}

.eventinfo-box{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
     padding: 34px;
}

.eventinfo-box-left{
    width: 48%;
}
.eventinfo-box-right{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48%;
}

.btn-md{
    display: block;
    width: 100%;
    font-size: 16px;
    padding: .6em 1.6em;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;
    border: 1px solid #fff;
    transition: 1s;
}

.btn-md::after{
    content: "\f105";
    font-family: "webicon";
    font-style: normal;
    position: absolute;
    color: #fff;
    top: 50%;
    right: 16px;
    transform: translatey(-50%);
}

.btn-md:hover{
    color: #000;
    background-color: #FFF;
    transition: 1s;
}

.btn-md:hover::after {
	color: #000;
}

.eventinfo-box-day{
    font-size: 16px;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;
    font-style: italic;    
    color: #fff;
}
.eventinfo-box-name{
    font-size: 32px;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;
    font-style: italic;    
    color: #fff;
}
.eventinfo-box-area{
    font-size: 16px;
    letter-spacing: 0;
    color: #fff;
}
.nav-link-inner{
    width: 1080px;
    margin: auto;
}

.item-box-ceo{
    display: none;
}
.item-box-team-machine-sp{
    display: none;
}

.item-box-team-machine-detail{
    margin-top: 40px;
}

@media screen and (min-width: 981px) and (max-width: 1400px) {
    .bg-teaser{
        padding: 6em 4em;
    }
    .teaser-no{
        padding: 20px 0 0;
    } 
}

@media screen and (min-width: 641px) and (max-width: 980px) {
    .bg-teaser{
        padding: 4em 3em;
    }
    .bg-hero{
        padding: 4em 10%;
    }
    .hero-title{
        font-size: 80px;
    }
    .nav-link-inner{
        width: 100%;
    }
    .inner{
        width: 100%;
    }
    .item-box-text{
        padding: 68px 0 68px 24px;
    }
    .item-box-img{
        width: calc(65vw);
    }
    .item-box.-reverse .item-box-img{
        width: 50%;
        margin-left: inherit;
    }
    
}

@media screen and (max-width: 850px) {
    .item-box{
        flex-wrap: wrap;
    }
    /* .item-box.-reverse{
        flex-direction: column-reverse;
    } */
    .item-box-text{
        width: 100%;
        padding: 24px 16px;
    }
    .item-box-title{
        font-size: 48px;
    }
    .item-box-img{
        width: 100%;
    }
    .item-box-img img{
        clip-path: none;
    }
    .item-box-img::before{
        display: none;
    }
}
@media screen and (max-width: 641px) {
    .bg-teaser{
        padding: 2em 2em 4em;
    }
    .hero-title{
        font-size: 48px;
        line-height: 1.2;
    }
    .teaser-no{
        font-size: 36px;
        padding: 20px 0 30px;
    }
    .bg-hero{
        padding: 3em 2em;
    }
    .bg-hero .hero-title{
        font-size: 30px;
        padding-left: 6px;
    }
    .hero-title__jp{
        font-size: 16px;
        margin-top: .1em;
    }
    .inner{
        width: 100%;
    }
    .nav-link-inner{
        width: 100%;
    }
    .ul-internal-link li{
        width: 48%;    
    }
    .ul-internal-link li a{
        padding: 1em;
        clip-path: none;
    }
    .ul-internal-link li:nth-child(2) a{
        border-left: 1px solid #5B5B5B;
    }
    .ul-internal-link li a::before{
        display: none;
    }
    .ul-internal-link li a::after{
        display: none;
    }     
    .ul-internal-link li:last-child{
        width: 100%;    
    }
    .ul-internal-link li:last-child a{
        clip-path: none;
    }
    .ul-internal-link li:last-child a::before{
        display: none;
    }
    .ul-internal-link li:last-child a::after{
        display: none;
    } 
    .item-box{
        flex-wrap: wrap;
    }
    .item-box.-reverse{
        flex-direction: column-reverse;
    }
    .item-box-text{
        width: 100%;
        padding: 24px 16px;
    }
    .item-box-title{
        font-size: 48px;
    }
    .item-box-img{
        width: 100%;
    }
    .item-box-img img{
        clip-path: none;
    }
    .item-box-img::before{
        display: none;
    }
    .mt-md{
        margin-top: 16px;
    }
    .p{
        font-size: 12px;
        line-height: 1.8;
        text-align: justify;
    }
    .item-box.-reverse .item-box-img{
        width: 100%;
        margin-left: inherit;
    }
    .item-box-mind{
        background-image: none;
    }
    .item-box-mind-move{
        margin-left: inherit;
    }
    .item-box-ceo{
        display: block;
    }
    .corporatemind-ceo{
        font-size: 14px;
        margin-top: 1em;
    }
    .corporatemind-ceo span{
        font-size: 18px;
    }
    .item-box-team{
        padding: 24px 16px;
    }
    .item-box-team-title{
        font-size: 48px;
    }
    .item-box-team-title span{
        font-size: 18px;
        margin-left: 1.4em;
    }
    .title-sub{
        font-size: 26px;
    }
    .title-sub::before{
        width: 18px;
    }
    .title-sub::after{
        font-size: 16px;
        left: 1.6em;
    }
    .tbl-car{
        position: relative;
    }
    .item-box-team-machine::before{
        display: none;
    }
    .item-box-team-machine-sp{
        display: block;
        margin-top: 1.5em;
    }
    .tbl-car{
        width: 100%;
        margin-top: 1em;
    }
    .tbl-car th{
        font-size: 16px;
    }
    .tbl-car td{
        font-size: 16px;
    }
    .item-box-team-machine-detail{
        margin-top: 24px;
    }
    .ul-2box >li{
        width: 100%;
        margin: 0 0 1em;    
    }
    .crew-item{
        display: flex;
        flex-direction: column;    
        padding: 0;
    }
    .crew-item-data{
        width: 100%;
        padding: 24px;
        border-top: 1px solid #5B5B5B;
    }
    .crew-item-data .-position{
        font-size: 18px;
    }

    .crew-item-data .-nameen{
        font-size: 30px;
    }

    .crew-item-data .-name{
        font-size: 18px;
    }

    .crew-item-data .-career{
        font-size: 14px;
        margin-bottom: 0;
    }
    .crew-item.-driver::before{
        position: relative;
        width: 100%;
        background-position: center;
    }
    .crew-item.-co-dr::before{
        position: relative;
        width: 100%;
        background-position: center;
    }
    .ul-sponser >li{
        width: 26%;
        margin-bottom: 1em;
    }
    .event-box-left{
        width: 100%;
    }
    .event-box-right{
        width: 100%;
    }
    .ul-eventinfo >li{
        width: 100%;
        margin: 0 0 1em;
    }
    .ul-eventinfo >li:nth-child(2){
        margin: 0 0 1em;
    }
    .eventinfo-box{
        padding: 20px;
    }
    .eventinfo-box-day{
        font-size: 14px;
    }
    .eventinfo-box-name{
        font-size: 26px;
    }
    .eventinfo-area{
        font-size: 14px;
    }
    .btn-md{
        font-size: 14px;
    }
    .tab-menu{
        flex-wrap: wrap;
    }
    .tab-menu li{
        width: 48%;
        margin: 0 0 1em;
    }
    .tab-menu li:last-child{
        width: 100%;
    }
    .tab-menu li a{
       
    }
    .tab-menu li a::before{
        display: none;
    }
    .tab-menu li a::after{
        display: none;
    }
}
