@charset "UTF-8";

:root {
    --res-200px: 11.9047vw;
    --res-150px: 8.9285vw;
    --res-120px: 7.1428vw;
    --res-100px: 5.9523vw;
    --res-80px: 4.7619vw;
    --res-70px: 4.1666vw;
    --res-60px: 3.5714vw;
    --res-50px: 2.9761vw;
    --res-40px: 2.3809vw;
    --rfs-72px: clamp(5.4rem, -0.36rem + 4.5vw, 7.2rem);
    --rfs-48px: clamp(3.6rem, -0.24rem + 3vw, 4.8rem);
    --rfs-36px: clamp(2.743rem, 2.14vw, 3.6rem);
    --rfs-32px: clamp(2.4rem, -0.16rem + 2vw, 3.2rem);
    --rwd-1100px: 65.4761vw;
}

.wd-1500 {
    margin-right: auto;
    margin-left: auto;
    width: 89.4853%;
}

.wd-1400 {
    margin-right: auto;
    margin-left: auto;
    width: 1400px;
}

.wd-1200 {
    margin-right: auto;
    margin-left: auto;
    width: 1200px;
}

.wd-1000 {
    margin-right: auto;
    margin-left: auto;
    width: 1000px;
}

.wd-940 {
    margin-right: auto;
    margin-left: auto;
    width: 940px;
}

.wd-800 {
    margin-right: auto;
    margin-left: auto;
    width: 800px;
}

.fc-white {
    color: #fff;
}

.fc-black {
    color: #231815;
}

.fc-gold {
    color: #EBD397;
}

.fc-brown {
    color: #8D5524;
}

.fc-crimson {
    color: #9E271B
}

.fsr-48 {
    font-size: clamp(3.6rem, -0.24rem + 3vw, 4.8rem);
    /*1680-1280 76.1904% 48-36*/
}

.fsr-32 {
    font-size: var(--rfs-32px);
}

.fsr-28 {
    font-size: clamp(2.2rem, 0.28rem + 1.5vw, 2.8rem);
    /*1680-1280 76.1904% 28-22*/
}

.fsr-24 {
    font-size: clamp(1.8rem, -0.12rem + 1.5vw, 2.4rem);
    /*1680-1280 76.1904% 24-18*/
}

.fsr-22 {
    font-size: clamp(1.8rem, 0.52rem + 1vw, 2.2rem);
    /*1680-1280 22-18*/
}

.fsr-20 {
    font-size: clamp(1.8rem, 1.16rem + 0.5vw, 2.0rem);
    /*1680-1280 20-18*/
}

.fsa-30 {
    font-size: 3.0rem;
}

.fsa-28 {
    font-size: 2.8rem;
}

.fsa-24 {
    font-size: 2.4rem;
}

.fsa-22 {
    font-size: 2.2rem;
}

.fsa-20 {
    font-size: 2.0rem;
}

.fsa-18 {
    font-size: 1.8rem;
}

.fsa-16 {
    font-size: 1.6rem;
}

.fsa-14 {
    font-size: 1.4rem;
}

.fsa-12 {
    font-size: 1.2rem;
}

.fsa-11 {
    font-size: 1.1rem;
}

.fsa-10 {
    font-size: 1.0rem;
}

.fw-900 {
    font-weight: 900;
}

.fw-700 {
    font-weight: 700;
}

.fw-500 {
    font-weight: 500;
}

.fw-400 {
    font-weight: 400;
}

.lh-200 {
    line-height: 2.0;
}

.lh-150 {
    line-height: 1.5;
}

.lh-130 {
    line-height: 1.3;
}

.lh-120 {
    line-height: 1.2;
}

.lh-100 {
    line-height: 1.0;
}

.ta-center {
    text-align: center;
}

/* 相対値 */
.mtr-200 {
    margin-top: 11.9047vw;
}

.mtr-150 {
    margin-top: 8.9285vw;
}

.mtr-120 {
    margin-top: 7.1428vw;
}

.mtr-100 {
    margin-top: 5.9523vw;
}

.mtr-80 {
    margin-top: var(--res-80px);
}

.mtr-70 {
    margin-top: var(--res-70px);
}

.mtr-60 {
    margin-top: var(--res-60px);
}

.mtr-50 {
    margin-top: var(--res-50px);
}

.mtr-40 {
    margin-top: var(--res-40px);
}

.mtr-30 {
    margin-top: 1.7857vw;
}

.mtr-20 {
    margin-top: 1.1904vw;
}

.mtr-15 {
    margin-top: 0.8928vw;
}

.mtr-10 {
    margin-top: 0.5952vw;
}

/* 絶対値 */
.mta-100 {
    margin-top: 100px;
}

.mta-80 {
    margin-top: 80px;
}

.mta-60 {
    margin-top: 60px;
}

.mta-40 {
    margin-top: 40px;
}

.mta-30 {
    margin-top: 30px;
}

.mta-20 {
    margin-top: 20px;
}

.mta-10 {
    margin-top: 10px;
}

.mba-100 {
    margin-bottom: 100px;
}

.mba-80 {
    margin-bottom: 80px;
}

.mba-60 {
    margin-bottom: 60px;
}

.mba-40 {
    margin-bottom: 40px;
}

.mba-30 {
    margin-bottom: 30px;
}

.mba-20 {
    margin-bottom: 20px;
}

.mba-10 {
    margin-bottom: 10px;
}

.mla-20 {
    margin-left: 20px;
}

.mla-10 {
    margin-left: 10px;
}

figure img {
    width: 100%;
    height: auto;
}

/* --------------------------------------------------------
	loader
-------------------------------------------------------- */
.loader {
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 1100;
}

.loaded .loader {
    opacity: 0;
    transition: 0.75s;
    transition-delay: 0.5s;
}

.loader__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
}

.loader__inner img {
    width: 5%;
    height: auto;
}

/* --------------------------------------------------------
	style
-------------------------------------------------------- */

.h-logo {
    display: block;
    margin-right: auto;
    margin-left: auto;
    width: 64%;
}

.gnav__bottom {}

.gnav__archive {
    position: relative;
}

.techday-logo {
    padding:1.0416vw;
    width: 100%;
    box-sizing: border-box;
}

.techday-logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    width: 100%;
    background: #161e9e;
    box-sizing: border-box;
}

.techday-logo img {
    width: 70%;
}

.gnav__archive ul {
    display: none;
    flex-direction: column;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translateX(100%);
    background: #000;
    padding: 0.5em 0;
}

.gnav__archive ul.active {
    display: flex;
}

.gnav__btn-area li.reg-btn.pre-register a {
    background: #008F02;
    line-height: 1;
    padding: 1em 0.5em;
    font-size: 1.4rem;
}

.gnav__btn-area li.reg-btn.pre-register a span.en-font {
    font-size: clamp(1.6rem, 0.7087rem + 0.7246vw, 2.1rem);
    margin-top: 0;
    font-weight: 500;
}

.gnav__btn-area li.reg-btn.pre-register a span.ja {
    margin-top: 0.2em;
}

@media screen and (max-width: 834px) {
    .h-logo {
        display: none;
    }

    .gnav__btn-area li a {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 50px;
    }

    .gnav__btn-area li.reg-btn.pre-register a {
        font-size: 1.6rem;
    }

    .gnav__archive ul {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        background: transparent;
        position: static;
        transform: none;
        padding: 0;
        margin-left: -1em;
    }

    .gnav__archive ul:before {
        content: none;
    }

    .gnav__archive ul li {
        margin-left: 1em;
    }
}

main {
    position: relative;
    background: url(../images/bg-main.jpg);
    background-size: 100% auto;
}

.section-inner {
    position: relative;
    padding-top: var(--res-150px);
    padding-bottom: var(--res-150px);
    width: 87%;
    max-width: calc(100vw - 160px);
    margin-left: auto;
    height: 100%;
}

.hero {
    position: relative;
    width: 100%;
    height: 100vh;
    background: url(../images/bg-kv.webp) center center no-repeat;
    background-size: cover;
    box-sizing: border-box;
}

.hero__video-container {
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    mix-blend-mode: screen;
    overflow: hidden;
    opacity: 1.0;
}

.hero__video-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.hero .main-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60%;
    transform: translate(-50%, -50%);
}

.hero .main-logo figure {
    width: 100%;
    height: auto;
    background-image: url(../images/img-mainlogo01.png);
    background-size: cover;
    aspect-ratio: 1443/484;
}

.hero .main-logo img {
    width: 100%;
    height: auto;
}

#overview {
    color: #fff;
}

#overview .catchcopy {
    font-weight: 700;
    text-align: center;
}

#overview .lead {
    font-weight: 700;
    text-align: center;
}

#overview .organizer {
    font-weight: 500;
    text-align: center;
}

#news {
    background: rgba(255, 255, 255, 0.9);
}

.news__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.news__contents .inner__left {
    width: 30%;
}

.news__contents .inner__left figure {
    width: 118px;
}

.news__contents .inner__right {
    width: 70%;
}

.news__list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #222;
}

.news__list li + li {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #222;
}

.news__list li .date + .text {
    margin-left: 40px;
}

#news a {
    color:inherit;
    text-decoration: underline;
}

#news a:hover {
    text-decoration: underline;
}

.application__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-right: auto;
    margin-left: auto;
    width: 600px;
    height: 100px;
    color: #fff;
    font-weight: 700;
    text-align: center;
    transition: 0.2s;
}

.application__btn .bebel {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    background: linear-gradient(0, transparent 0px, #fff 0) top left / 50% 50%, linear-gradient(0, transparent 0px, #fff 0) top right / 50% 50%, linear-gradient(-45deg, transparent 1.7857vw, #fff 0) bottom right / 50% 50%, linear-gradient(0, transparent 0px, #fff 0) bottom left / 50% 50%;
    background-size: 50% 50%;
    background-repeat: no-repeat;
    transform: translate(-50%, -50%);
}

.application__btn .bebel::before {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    content: "";
    width: 2px;
    height: 100%;
    transform: translateX(-50%);
    background-color: #fff;
}

.application__btn .bebel::after {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: -1;
    content: "";
    width: 100%;
    height: 2px;
    transform: translateY(-50%);
    background-color: #fff;
}

.application__btn p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    color: #e50011;
}

.application__btn p:after {
    content: "\f08e";
    pointer-events: none;
    font-family: "Font Awesome 6 Free";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    margin-left: 20px;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 0;
    transform: translate(0, 2%);
}

.application__btn:hover .bebel {
    background: linear-gradient(0, transparent 0px, #e50011 0) top left / 50% 50%, linear-gradient(0, transparent 0px, #e50011 0) top right / 50% 50%, linear-gradient(-45deg, transparent 1.7857vw, #e50011 0) bottom right / 50% 50%, linear-gradient(0, transparent 0px, #e50011 0) bottom left / 50% 50%;
    background-size: 50% 50%;
    background-repeat: no-repeat;
    transform: translate(-50%, -50%);
}

.application__btn:hover .bebel::before {
    background-color: #e50011;
}

.application__btn:hover .bebel::after {
    background-color: #e50011;
}

.application__btn:hover p {
    color: #fff;
}

.youtube-link {
    position: relative;
    margin-right: auto;
    margin-left: auto;
    width: 80%;
}

.youtube-link a {
    color: #222;
}

.youtube-link figure {
    position: relative;
    width: 100%;
}

.youtube-link img {
    width: 100%;
    height: auto
}

@media screen and (max-width: 1366px) {
    .hero .main-logo {
        width: 60%;
    }
}

@media screen and (max-width: 1279px) {

    .wd-1200,
    .wd-1000 {
        width: 94%;
    }

    .mtr-200 {
        margin-top: 200px;
    }

    .mtr-150 {
        margin-top: 150px;
    }

    .mtr-100 {
        margin-top: 100px;
    }

    .mtr-60 {
        margin-top: 60px;
    }

    .mtr-50 {
        margin-top: 50px;
    }

    .mtr-40 {
        margin-top: 40px;
    }

    .mtr-30 {
        margin-top: 30px;
    }

    .mtr-20 {
        margin-top: 20px;
    }

    .mtr-10 {
        margin-top: 10px;
    }

    .section-inner {
        width: calc(100% - 160px);
        max-width: none;
    }
}

@media screen and (max-width: 1024px) {
    .wd-800 {
        width: 94%;
    }
}

@media screen and (max-width: 834px) {
    :root {
        --res-120px: clamp(50px, calc(12.05vw - 18px), 100px);
        --res-100px: clamp(50px, calc(12.05vw - 18px), 100px);
        --res-50px: clamp(25px, calc(6.02vw + -0.9px), 50px);
        --rfs-36px: clamp(2.4rem, 1.1232rem + 2.97vw, 3.6rem);
        --rwd-1100px: 94%;
    }

    .wd-800 {
        width: 94%;
    }

    .fsr-24 {
        font-size: 2.0rem;
    }

    .fsr-22 {
        font-size: 1.9rem;
    }

    .fsr-20 {
        font-size: 1.8rem;
    }

    .fsa-18 {
        font-size: 1.6rem;
    }

    .fsa-16 {
        font-size: 1.4rem;
    }

    .fsa-14 {
        font-size: 1.2rem;
    }

    .fsa-12 {
        font-size: 1.1rem;
    }

    .fsa-11 {
        font-size: 1.0rem;
    }

    .fsa-10 {
        font-size: 1.0rem;
    }

    .lh-200 {
        line-height: 1.8;
    }

    .mtr-200 {
        margin-top: var(--res-100px);
    }

    .mtr-150 {
        margin-top: var(--res-100px);
    }

    .mtr-100 {
        margin-top: var(--res-100px);
    }

    .mtr-80 {
        margin-top: var(--res-50px);
    }

    .mtr-70 {
        margin-top: var(--res-50px);
    }

    .mtr-60 {
        margin-top: var(--res-50px);
    }

    .mtr-50 {
        margin-top: var(--res-50px);
    }

    .mtr-40 {
        margin-top: clamp(20px, calc(4.95vw - 1.14px), 40px);
    }

    .nav-tgl-btn {
        display: block;
    }

    .globalNavi {
        display: none;
    }
    
    .techday-logo {
        padding: 0;
    }
    
    .techday-logo a {
        padding: 10px;
    }
    
    .techday-logo img {
        width: 50%;
    }
    
    .hero {
        background-size: auto 100%;
    }
    
    main {
        background-size: cover;
    }

    .section-inner {
        margin-right: auto;
        margin-left: auto;
        width: 94%;
    }

    .application__btn {
        width: 94%;
    }
    
    .news__contents .inner__left figure {
        width: 80px;
    }
    
    .news__contents .inner__left figure + p {
        margin-top: 10px;
    }

    .news__contents .inner__left {
        width: 25%;
    }

    .news__contents .inner__right {
        width: 75%;
    }
}

@media screen and (max-width: 640px) {

    #overview .catchcopy br,
    #overview .lead br {
        display: none;
    }

    .news__contents {
        flex-direction: column;
        gap: 20px 0;
    }

    .news__contents .inner__left {
        width: 100%;
    }

    .news__contents .inner__right {
        width: 100%;
    }

    .news__list li .date + .text {
        margin-left: 20px;
    }
}

@media screen and (max-width: 540px) {
}
