@charset "UTF-8";

:root {
    --color-text: #000;
    --color-main: #fff;
    --bg-white: #fff;
    --bg-gray: #eee;
    --bg-gray1: #ccc;
    --bg-orange: #ee9a00;
    --bg-golden-orange: #E99A42;
    --content-width: 1032px
}

.eventTop:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    background: url('https://event-web.biz/terrasky/2025/report/images/kv_pc.jpg') no-repeat center bottom;
    width: 100%;
    height: 100vh;
    background-size: cover;
    z-index: -1
}

@media screen and (max-width: 540px) {
    .eventTop:before {
        background-image: url('https://event-web.biz/terrasky/2025/report/images/kv_sp.jpg')
    }
}

.eventTop .container {
    padding-inline: 16px;
    max-width: 1152px;
    width: 100% !important;
}

.container-fluid {
    padding-inline: 16px;
       max-width: 1272px;
}

.sec-wrap {
    padding: 72px 0 88px;
    overflow: hidden
}

@media screen and (max-width: 991px) {
    .sec-wrap {
        padding: 48px 0
    }
}

.heading {
    font-size: 5.5rem;
    font-weight: 600;
    color: #fff;
    text-align: center;
    margin-bottom: 48px;
    line-height: 1
}

@media screen and (max-width: 991px) {
    .heading {
        font-size: 6.2vw;
        margin-bottom: 32px
    }
}

@media screen and (max-width: 767px) {
    .heading {
        margin-bottom: 24px
    }
}

.heading span {
    display: block;
    font-size: 3.2rem;
    margin-top: 18px;
    font-weight: 400
}

@media screen and (max-width: 991px) {
    .heading span {
        font-size: 3.7vw;
        margin-top: 10px
    }
}

.heading .desc {
    font-size: 2.4rem;
    line-height: 1.8;
    font-weight: 400;
    margin-top: 40px;
}

@media screen and (max-width: 1200px) {
    .heading .desc {
        font-size: 2rem;
    }
}

@media screen and (max-width: 991px) {
    .heading .desc {
        font-size: 1.6rem;
        margin-top: 16px;
    }
}

@media screen and (max-width: 767px) {
    .heading .desc {
        font-size: 1.4rem;
    }
}

.btn {
    background: #9b3ffa;
    border-radius: 50px;
    padding: 10px 48px 12px !important;
    color: #fff;
    white-space: nowrap;
    font-weight: 500;
    transition: .3s ease-in-out;
}

.btn-primary {
    font-size: 2rem !important;
}

.btn-primary:hover {
    color: #fff;
    opacity: .7;
}

@media screen and (max-width: 991px) {
    .btn-primary {
        font-size: 2rem !important;
        padding: 10px 32px !important;
    }
}

.header {
    position: fixed;
    z-index: 9;
    width: calc(100% - 23px);
    left: 6px;
    top: 20px;
    right: 18px;
}

@media screen and (max-width: 991px) {
    .header {
        width: 100%;
        left: 0;
        top: 0;
        right: 0;
    }
}

.header-content {
    background: rgb(0 39 60 / .7);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 40px
}

@media screen and (max-width: 1024px) {
    .header-content {
        margin: 0;
        width: 100%;
        padding: 12px 20px
    }
}

.header-logo img {
    height: 26px
}

@media screen and (max-width: 1560px) {
    .header-logo img {
        height: 18px
    }
}

@media screen and (max-width: 420px) {
    .header-logo img {
        height: 4.286vw
    }
}

.header-item {
    display: flex;
    align-items: center;
    gap: 30px
}

@media screen and (max-width: 1560px) {
    .header-item {
        gap: 20px
    }
}

@media screen and (max-width: 1024px) {
    .header-item {
        gap: 14px
    }
}

@media screen and (max-width: 1024px) {
    .header .nav {
        position: fixed;
        top: 48px;
        left: 0;
        width: 100%;
        height: calc(100vh - 48px);
        clip-path: polygon(0 0, 100% 0%, 100% 0, 0 0);
        transition: .4s ease-in-out
    }

    .header .nav:before {
        content: "";
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        background: #00273ce6
    }

    .header .nav.is-open {
        clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%)
    }
}

.header .nav-list {
    display: flex;
    align-items: center;
    gap: 30px;
    position: relative
}

@media screen and (max-width: 1560px) {
    .header .nav-list {
        gap: 20px
    }
}

@media screen and (max-width: 1024px) {
    .header .nav-list {
        flex-direction: column;
        justify-content: center;
        margin-top: 50px
    }
}

@media screen and (max-width: 767px) {
    .header .nav-list {
        align-items: flex-start;
        margin-left: 48px
    }
}

.header .nav-list .sns {
    max-width: 30px
}

@media screen and (max-width: 1560px) {
    .header .nav-list .sns {
        max-width: 18px
    }
}

@media screen and (max-width: 1024px) {
    .header .nav-list .sns {
        display: none
    }
}

.header .nav-action {
    display: inline-block;
    color: #fff;
    font-size: 1.8rem
}

@media screen and (max-width: 1240px) {
    .header .nav-action {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1024px) {
    .header .nav-action {
        font-size: 2.3rem
    }
}

.header .hamburger {
    position: relative;
    width: 30px;
    height: 30px;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer
}

@media screen and (max-width: 1024px) {
    .header .hamburger {
        display: flex
    }
}

.header .hamburger .close {
    position: absolute;
    left: 5px;
    top: 5px;
    display: none;
    opacity: 1;
}

.header .hamburger.active .open {
    display: none
}

.header .hamburger.active .close {
    display: block
}

.kv {
    position: relative;
}

.kv-hero {
    position: absolute;
    top: 160px !important;
    left: 9.167vw;
    max-width: 560px;
    width: 40vw !important;
}

@media screen and (max-width: 991px) {
    .kv-hero {
        top: 20vw !important;
        left: 30px;
        width: calc(100% - 60px) !important;
    }
}

@media screen and (max-width: 390px) {
    .kv-hero {
        top: 22vw;
        width: 60vw;
        width: calc(100% - 60px)
    }
}

.btn-report {
    margin-top: 32px;
    border-radius: 0;
    font-size: clamp(24px, 3vw, 44px);
    font-weight: 900;
    padding: 0px 1.563vw 0.156vw !important;
    letter-spacing: -0.02em;
    cursor: default;
}

@media screen and (max-width: 991px) {
    .btn-report {
        margin-top: 6.4vw;
         font-size: clamp(24px,  5.333vw, 32px)!important;
        width: 100%;
        padding: 0.533vw 8vw 0.8vw !important;
    }
}

.btn-report:hover {
    color: #fff;
}

.about {
    padding-top: 50px !important;
    background: #000012d6
}

.about::before {
    content: '';
    position: sticky;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    background: url('https://event-web.biz/terrasky/2025/report/images/bg_pc.jpg') no-repeat left center;
    display: block;
    background-size: cover;
    margin-top: -50px;
    margin-bottom: calc(-100vh + 50px);
}

@media screen and (max-width: 768px) {
  .about::before {
    background-image: url('https://event-web.biz/terrasky/2025/report/images/bg_sp.jpg');
}
}

.about .paragraph {
    line-height: 2;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    color: #fff
}

@media screen and (max-width: 1024px) {
    .about .paragraph {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 540px) {
    .about .paragraph {
        margin: 0 auto;
        text-align: left;
        font-size: 1.4rem
    }
}

.about .paragraph p+p {
    margin-top: 24px
}

@media screen and (max-width: 991px) {
    .about .paragraph p+p {
        margin-top: 16px
    }
}

.about .paragraph  h3{
    line-height: 1.5;
    font-size: 2.2rem;
    font-weight: 700;
    text-align: center;
    color: #fff;
    margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
  .about .paragraph  h3{
    font-size: 2rem;
    text-align: left;
    margin-bottom: 24px;
}
}

.about-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    margin-top: 96px;
    margin-bottom: 96px;
}

@media screen and (max-width: 768px) {
    .about-gallery {
        margin-top: 48px;
        margin-bottom: 48px;
    }
}

.overview {
    background: #000012d6
}

.overview .list {
    max-width: 960px;
    margin: 0 auto;
    font-size: 1.6rem
}

@media screen and (max-width: 768px) {
    .overview .list {
        font-size: 1.4rem
    }
}

.overview .list li {
    display: flex;
    gap: 60px;
    width: 100%;
    padding: 30px 16px 30px 36px;
    border-bottom: 1px solid #fff
}

.overview .list li:first-child {
    border-top: 1px solid #fff
}

@media screen and (max-width: 768px) {
    .overview .list li {
        gap: 24px;
        padding: 20px
    }
}

.overview .list li span {
    min-width: 75px
}

@media screen and (max-width: 768px) {
    .overview .list li span {
        min-width: 70px
    }
}

.overview .list li .spacing {
    letter-spacing: 2.5px
}

.archived-video {
    background: #151D24;
}

.archived-video .heading {
    margin-bottom: 96px;
}

@media screen and (max-width: 991px) {
    .archived-video .heading {
        margin-bottom: 48px;
    }
}

.flex-wrap {
    display: flex;
    align-items: flex-start;
    gap: 90px;
}

@media screen and (max-width: 991px) {
    .flex-wrap {
        gap: 48px;
    }
}

@media screen and (max-width: 767px) {
    .flex-wrap {
        gap: 24px;
    }
}

@media screen and (max-width: 767px) {
    .flex-wrap {
        flex-direction: column;
    }
}

.flex-wrap:not(:first-child) {
    margin-top: 128px;
}

@media screen and (max-width: 991px) {
    .flex-wrap:not(:first-child) {
        margin-top: 48px;
    }
}

.wrap-img {
    position: relative;
    width: 42.5%;
    max-width: 554px;
    transition: .3s ease-in-out;
}

@media screen and (max-width: 767px) {
    .wrap-img {
        width: 100%;
        max-width: 100%;
    }
}

.wrap-img:hover {
    opacity: .7;
}

.m-icon {
    position: absolute;
    width: 70px;
    height: 61px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
    .m-icon {
        width: 50px;
        height: 41px;
    }
}

.txt {
    flex: 1;
}

@media screen and (max-width: 767px) {
    .txt {
        flex: unset;
        width: 100%;
    }
}

.txt-cate {
    font-size: 3.5rem;
    font-weight: 100;
}

@media screen and (max-width: 1340px) {
    .txt-cate {
        font-size: 3rem;
    }
}

@media screen and (max-width: 991px) {
    .txt-cate {
        font-size: 2rem;
    }
}

.txt-title {
    font-size: 3.5rem;
    margin-top: 16px;
    font-weight: 500;
    line-height: 1.5;
}

@media screen and (max-width: 1340px) {
    .txt-title {
        font-size: 3rem;
    }
}

@media screen and (max-width: 991px) {
    .txt-title {
        font-size: 2rem;
        margin-top: 8px;
    }
}

.txt-spacing {
    margin-left: -36px;
}

@media screen and (max-width: 991px) {
    .txt-spacing {
        margin-left: -20px;
    }
}

.txt-spacing02 {
    margin-left: 50px;
}

@media screen and (max-width: 1200px) {
    .txt-spacing02 {
        margin-left: 0;
    }
}

.txt-text {
    font-size: 2rem;
    margin-top: 45px;
}

@media screen and (max-width: 991px) {
    .txt-text {
        font-size: 1.6rem;
        margin-top: 24px;
    }
}

.session {
    background: #007ecd
}

.session .desc{
    font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
   .session .desc{
    font-size: 1.6rem;
}

}

.session-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 64px;
}

@media screen and (max-width: 1400px) {
    .session-gallery {
        gap: 32px;
    }
}

@media screen and (max-width: 1100px) {
    .session-gallery {
        gap: 24px;
    }
}

.blog-report {
    background: #151D24;
    padding: 66px 0;
}

@media screen and (max-width: 991px) {
    .blog-report {
        padding: 48px 0;
    }
}

.blog-detail {
    text-align: center;
}

.blog-detail p {
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 40px;
}

@media screen and (max-width: 991px) {
    .blog-detail p {
        font-size: 1.6rem;
        margin-top: 24px;
    }
}

.time-table {
    background: #000012d6;
    position: relative;
    font-family: Helvetica, sans-serif
}

.time-table .box-txt .full {
    display: none;
}

@media screen and (max-width: 991px) {
    #w_84681914 .box-txt,
    #w_89215128 .box-txt {
        padding-bottom: 16px!important;
    }
}

.time-table .heading {
    margin-bottom: 8px
}

.time-table .time-sub {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 64px;
    margin-bottom: 64px
}

@media screen and (max-width: 991px) {
    .time-table .time-sub {
        margin-bottom: 32px;
        gap: 32px
    }
}

@media screen and (max-width: 767px) {
    .time-table .time-sub {
        margin-bottom: 24px;
        gap: 16px
    }
}

.time-table .time-sub .item {
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

.time-table .time-sub p {
    font-size: 1.8rem;
    font-weight: 500
}

@media screen and (max-width: 991px) {
    .time-table .time-sub p {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 767px) {
    .time-table .time-sub p {
        font-size: 3vw
    }
}

.time-table .time-sub p span {
    display: block;
    font-weight: 400;
    margin-left: -8px;
    font-size: 1.2rem
}

@media screen and (max-width: 767px) {
    .time-table .time-sub p span {
        margin-left: -1vw;
        font-size: 1.8vw
    }
}

.time-table .time-sub img {
    width: 40px;
    height: 40px;
    margin-right: 16px
}

@media screen and (max-width: 991px) {
    .time-table .time-sub img {
        width: 32px;
        height: 32px;
        margin-right: 12px
    }
}

@media screen and (max-width: 767px) {
    .time-table .time-sub img {
        width: 24px;
        height: 24px;
        margin-right: 8px
    }
}

.time-table .purple {
    background: #8357f2
}

.time-table .dark-purple {
    background: #501f82
}

.time-table .blue {
    background: #04a1ff
}

.time-table .dark-blue {
    background: #1c6bff
}

.time-table .light-purple-blue {
    background: #4c1cee
}

.time-table .time-gate {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap
}

@media screen and (max-width: 768px) {
    .time-table .time-gate {
        gap: 8px
    }
}

.time-table .time-gate li {
    width: calc((100% - 64px)/5);
    font-size: 2.4rem;
    font-weight: 500;
    color: #fff;
    padding: 16px 24px;
    line-height: 1;
    display: inline-block;
    text-align: center
}

@media screen and (max-width: 1366px) {
    .time-table .time-gate li {
        width: calc((100% - 48px)/4)
    }
}

@media screen and (max-width: 991px) {
    .time-table .time-gate li {
        width: calc((100% - 16px)/2);
        font-size: 2rem
    }
}

@media screen and (max-width: 768px) {
    .time-table .time-gate li {
        font-size: 1.6rem;
        padding: 12px 24px;
        width: calc((100% - 16px) / 3)
    }
}

.time-table .time-item {
    margin-bottom: 32px
}

@media screen and (max-width: 768px) {
    .time-table .time-item {
        margin-bottom: 24px
    }
}

.time-table .time-item .time {
    font-size: 3.2rem;
    font-family: Helvetica, sans-serif;
    padding-bottom: 16px;
    border-bottom: 1px solid #FFF;
    text-align: center;
    margin-bottom: 28px;
    line-height: 1.2;
    font-weight: 600
}

@media screen and (max-width: 991px) {
    .time-table .time-item .time {
        font-size: 2.4rem;
        padding-bottom: 16px;
        margin-bottom: 24px
    }
}

@media screen and (max-width: 768px) {
    .time-table .time-item .time {
        font-size: 2rem
    }
}

.time-table .box-content {
    display: flex
}

@media screen and (max-width: 768px) {
    .time-table .box-content {
        flex-direction: column
    }
}

.time-table .gateS .box-time+.box-txt .tag {
    position: unset
}

.time-table .box-time {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 230px;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 16px;
    box-sizing: border-box;
    width: calc((100% - 64px)/5)
}

@media screen and (max-width: 1366px) {
    .time-table .box-time {
        width: calc((100% - 48px)/4)
    }
}

@media screen and (max-width: 991px) {
    .time-table .box-time {
        width: calc((100% - 16px)/2)
    }
}

@media screen and (max-width: 768px) {
    .time-table .box-time {
        font-size: 1.6rem;
        min-height: unset;
        width: 100%;
        display: block;
        text-align: left;
        padding: 12px
    }
}

.time-table .box-time span {
    font-weight: 600;
    display: block;
    width: 100%;
    text-align: center
}

@media screen and (max-width: 768px) {
    .time-table .box-time span {
        display: inline;
        margin-left: 24px
    }
}

.time-table .box-txt {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #fff;
    font-weight: 600;
    color: #000;
    padding: 24px;
    padding-bottom: 200px !important;
    position: relative
}

@media screen and (max-width: 991px) {
    .time-table .box-txt {
        padding-bottom: 16px !important
    }
}

.time-table .box-txt .content {
    padding-bottom: 16px;
    display: block
}

@media screen and (max-width: 991px) {
    .time-table .box-txt .content {
        padding-bottom: 24px
    }
}

@media screen and (max-width: 991px) {
    .time-table .box-txt {
        font-size: 1.5rem
    }
}

@media screen and (max-width: 768px) {
    .time-table .box-txt {
        padding: 20px
    }
}

.time-table .box-txt .gate {
    font-size: 1.8rem;
    margin-bottom: 8px
}

@media screen and (max-width: 991px) {
    .time-table .box-txt .gate {
        font-size: 1.5rem
    }
}

.time-table .box-txt .note {
    font-size: 1.7rem;
    color: #151d24
}

/* .time-table .box-txt .note:hover {
    text-decoration: underline
} */

.time-table .box-txt .with-parentheses {
    margin-left: -8px
}

.time-table .box-txt .text {
    font-size: 2.2rem;
    line-height: 1.2;
    color: #151d24
}

.time-table .box-txt .text:hover {
    text-decoration: underline
}

@media screen and (max-width: 991px) {
    .time-table .box-txt .text {
        font-size: 2rem;
        margin-bottom: 16px
    }
}

.time-table .box-txt .text span {
    font-size: 1.6rem;
    font-weight: 400;
    display: block
}

.time-table .box-txt .company {
    font-size: 1.6rem;
    letter-spacing: -.05em;
    display: block;
    min-height: 84px;
    color: #151d24
}

@media screen and (max-width: 991px) {
    .time-table .box-txt .company {
        margin-bottom: 24px;
        min-height: unset
    }
}

.time-table .box-txt .company:hover {
    text-decoration: underline
}

.time-table .box-txt .company.not-mg {
    margin-bottom: 0;
    display: block;
    width: 100%
}

.time-table .box-txt .company.not-mg:hover {
    text-decoration: none
}

.time-table .box-txt .content-foot .company {
    margin-bottom: 0
}

.time-table .box-txt .tag {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 16px;
    font-size: 1rem;
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 20px
}

@media screen and (max-width: 991px) {
    .time-table .box-txt .tag {
        position: unset;
        min-height: unset !important
    }
}

.time-table .box-txt .tag-item {
    padding: 4px 12px;
    border: 1px solid #6C808C;
    color: #627784;
    display: inline-block;
    border-radius: 30px
}

.time-table .time-grid .content .swoogo-agenda .mt-none {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 16px;
    max-width: calc(100% - 251.5px);
    margin-left: auto
}

@media screen and (max-width: 1366px) {
    .time-table .time-grid .content .swoogo-agenda .mt-none {
        max-width: 100%;
        grid-template-columns: repeat(4, 1fr)
    }
}

@media screen and (max-width: 991px) {
    .time-table .time-grid .content .swoogo-agenda .mt-none {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .time-table .time-grid .content .swoogo-agenda .mt-none {
        grid-template-columns: 1fr
    }
}

.time-table .time-grid .gate {
    font-size: 1.6rem
}

@media screen and (max-width: 991px) {
    .time-table .time-grid .gate {
        font-size: 1.5rem
    }
}

.time-table .time-grid .note {
    font-size: 1.4rem
}

.time-table .time-grid .tag {
    margin-top: 8px;
    min-height: 55px
}

.time-table .time-grid .box-content {
    flex-direction: column
}

.time-table .time-grid .box-time {
    min-height: unset;
    width: 100%;
    align-items: flex-start;
    flex-direction: unset;
    align-items: center;
    justify-content: space-between;
    position: relative;
    gap: 40px;
    padding: 12px
}

@media screen and (max-width: 768px) {
    .time-table .time-grid .box-time {
        display: flex;
        gap: 24px;
        justify-content: space-between
    }
}

@media screen and (max-width: 390px) {
    .time-table .time-grid .box-time.ico-content {
        text-align: left
    }
}

@media screen and (max-width: 390px) {
    .time-table .time-grid .box-time.ico-content span {
        display: block;
        margin-left: 0
    }
}

.time-table .time-grid .box-time span {
    text-align: left;
    white-space: nowrap
}

.time-table .time-grid .box-time .ico {
    display: flex
}

@media screen and (min-width: 1367px) {
    .time-table .time-grid .box-time .ico {
        width: 46px;
        position: absolute;
        right: 8px;
        justify-content: center
    }

    .time-table .time-grid .box-time p {
        width: 100%
    }
}

.time-table .time-grid .box-time .ico img {
    width: auto !important;
    height: 28px
}

@media screen and (min-width: 1367px) {
    .time-table .time-grid .box-time .ico img {
        height: 23px !important
    }
}

.time-table .time-grid .box-txt {
    padding: 16px 14px 16px 16px;
    min-height: 260px
}

.time-table .time-grid .box-txt--height {
    min-height: 480px
}

@media screen and (max-width: 991px) {
    .time-table .time-grid .box-txt--height {
        min-height: unset
    }
}

@media screen and (max-width: 768px) {
    .time-table .time-grid .box-txt {
        min-height: 250px
    }
}

.time-table .time-grid .box-txt .company {
    position: absolute;
    width: calc(100% - 32px);
    bottom: 84px;
    font-size: 1.4rem
}

@media screen and (max-width: 991px) {
    .time-table .time-grid .box-txt .company {
        position: unset
    }
}

.time-table .time-grid .box-txt .content-foot .company {
    margin-bottom: 0
}

.floor-map {
    background: #04a1ff
}

.access {
    background: #fff;
    padding-bottom: 0
}

.access .heading {
    color: #151d24
}

.access .flex-wrap {
    gap: 96px
}

@media screen and (max-width: 1366px) {
    .access .flex-wrap {
        gap: 48px
    }
}

@media screen and (max-width: 991px) {
    .access .flex-wrap {
        flex-wrap: wrap
    }
}

.access .txt {
    flex: 1;
    color: #151d24
}

@media screen and (max-width: 991px) {
    .access .txt {
        width: 100%;
        flex: unset;
        max-width: 430px;
        margin: 0 auto
    }
}

.access .txt .text {
    font-size: 1.6rem;
    margin-bottom: 72px
}

@media screen and (max-width: 1240px) {
    .access .txt .text {
        margin-bottom: 48px
    }
}

@media screen and (max-width: 991px) {
    .access .txt .text {
        margin-bottom: 24px
    }
}

.access .txt ul {
    display: flex;
    gap: 24px;
    flex-direction: column
}

@media screen and (max-width: 1240px) {
    .access .txt ul {
        gap: 20px
    }
}

.access .txt ul li {
    display: flex;
    gap: 12px;
    font-size: 1.4rem;
    align-items: flex-start
}

@media screen and (max-width: 991px) {
    .access .txt ul li {
        gap: 8px
    }
}

@media screen and (max-width: 400px) {
    .access .txt ul li {
        flex-direction: column
    }
}

.access .txt ul li .accessLabel {
    font-size: 1.4rem;
    padding: 0 12px 1px;
    border: 1px solid #707070;
    min-width: 130px;
    text-align: center
}

.access .map {
    width: 560px
}

@media screen and (max-width: 991px) {
    .access .map {
        width: 100%
    }
}

.access .map iframe {
    width: 100%;
    max-height: 480px
}

@media screen and (max-width: 991px) {
    .access .map iframe {
        width: calc(100% + 32px);
        margin: 0 -16px;
        max-height: 450px
    }
}

.sponsor {
    background: #fff;
    padding-bottom: 0;
    margin-bottom: -2px
}

.sponsor .heading {
    color: #151d24
}

.sponsor .title {
    font-size: 3.6rem;
    font-weight: 400;
    margin-bottom: 8px;
    text-align: center;
    color: #151d24;
    position: relative
}

.reg-list-card .panel {
        background: rgba(255, 255, 255, 1);
    border: #062D43 1px solid;
    border-radius: 0;
    /* padding: 100px 15px 15px 15px; */
    padding: 50px 5px 5px 5px;
    position: relative;
}

@media (min-width: 768px) {
    .reg-list-card .panel {
        height: 100%;
        position: relative;
    }
}

@media (min-width: 768px) {
 .row-eq-height {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
}

.col-sm-5-eq {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

@media (min-width: 768px) {
    .col-sm-5-eq {
        width: 20%;
        float: left;
    }
}

.sponsor .title:before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 1px;
    background: #151d24;
    width: 100%;
    left: 0
}

.sponsor .title span {
    padding: 0 32px;
    background: #fff;
    position: relative
}

@media screen and (max-width: 991px) {
    .sponsor .title span {
        padding: 0 16px
    }
}

@media screen and (max-width: 991px) {
    .sponsor .title {
        font-size: 2rem
    }
}

@media screen and (max-width: 768px) {
    .sponsor .title {
        font-size: 2.4rem
    }
}

.sponsor-item:not(:last-child) {
    margin-bottom: 48px
}

@media screen and (max-width: 991px) {
    .sponsor-item:not(:last-child) {
        margin-bottom: 32px
    }
}

.sponsor .col:not(:last-child) {
    margin-bottom: 30px
}

@media screen and (max-width: 991px) {
    .sponsor .col:not(:last-child) {
        margin-bottom: 20px
    }
}

.sponsor .note {
    font-size: 2rem;
    text-align: center;
    margin-top: -8px
}

@media screen and (max-width: 991px) {
    .sponsor .note {
        font-size: 1.6rem
    }
}

.footer {
    background: #fff;
    font-size: 1.8rem
}

@media screen and (max-width: 991px) {
    .footer {
        font-size: 2rem
    }
}

@media screen and (max-width: 768px) {
    .footer {
        font-size: 1.6rem
    }
}

.footer-content {
    padding: 72px 0 155px;
    background: #04a1ff
}

@media screen and (max-width: 991px) {
    .footer-content {
        padding: 48px 0 136px
    }
}

.footer-sns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px
}

@media screen and (max-width: 768px) {
    .footer-sns {
        margin-bottom: 24px
    }
}

.footer-sns img {
    width: 30px;
    height: 30px
}

.footer-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 72px
}

@media screen and (max-width: 991px) {
    .footer-list {
        gap: 48px
    }
}

@media screen and (max-width: 768px) {
    .footer-list {
        gap: 24px
    }
}

@media screen and (max-width: 540px) {
    .footer-list {
        flex-direction: column
    }
}

.footer-list a {
    color: #fff
}

.gray-bg {
    position: relative;
    overflow: hidden
}

.gray-bg:before {
    background: #a19f9d33;
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 100%;
    transition: 2s;
    transform: translate(-100%);
    z-index: 3
}

.gray-bg.right:before {
    transform: translate(100%)
}

.gray-bg.right.ready:before {
    transform: translate(0)
}

.gray-bg.right.ready.on:before {
    transform: translate(-100%)
}

.gray-bg * {
    opacity: 0;
    visibility: hidden;
    transition: 1s;
    position: relative;
    overflow: hidden
}

.gray-bg.ready:before {
    transition: 1s;
    transform: translate(0)
}

.gray-bg.ready.on:before {
    transform: translate(100%)
}

.gray-bg.ready.on * {
    opacity: 1;
    visibility: visible;
    transition: 1s
}

.sticky-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #151d24;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    transform: translateY(100%);
    transition: .3s ease-in-out
}

.sticky-footer.active {
    transform: translateY(0)
}

.sticky-footer .btn {
    border-radius: 60px
}

.sticky-footer .btn-primary {
    padding: 8px 32px 10px;
    font-size: 2.2rem
}

@media screen and (max-width: 991px) {
    .sticky-footer .btn-primary {
        font-size: 2rem;
        padding: 8px 32px
    }
}

@media screen and (max-width: 768px) {
    .sticky-footer .btn-primary {
        font-size: 1.6rem;
        padding: 8px 24px
    }
}

.back-to-top {
    position: fixed;
    right: 48px;
    padding: 10px 8px 14px;
    bottom: 10px;
    border: 1px solid #fff;
    cursor: pointer
}

.back-to-top img {
    width: 32px
}

@media screen and (max-width: 991px) {
    .back-to-top {
        right: 24px;
        padding: 10px 6px 12px;
        border: 2px solid #fff
    }
}

@media screen and (max-width: 768px) {
    .back-to-top {
        right: 16px;
        padding: 6px 5px 8px
    }

    .back-to-top img {
        width: 24px
    }
}

.modal-movie {
    position: fixed;
    top: 50%;
    left: calc(50% - 24px);
    z-index: 1000;
    visibility: hidden;
    width: 100%;
    max-width: 960px;
    margin: 0 24px;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: .7s ease-in-out;
}

@media screen and (max-width: 768px) {
    .modal-movie {
        left: 50%;
        margin: 0;
    }
}

.modal-movie--content {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}

.modal-movie--content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    transition: .5s ease-in-out;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    visibility: hidden;
    width: 100%;
    height: 120vh;
    background: rgb(0 0 0 / .7);
    opacity: 0;
}


.modal-movie-close {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    display: flex;
    visibility: hidden;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border: 0;
    opacity: 0;
    transition: .3s ease-in-out;
    background: transparent;
}

@media screen and (max-width: 768px) {
    .modal-movie-close {
        top: 12px;
        right: 12px;
        width: 40px;
        height: 40px;
    }
}

.has-modal-video .modal-movie {
    visibility: visible;
    opacity: 1;
}

.has-modal-video .modal-movie-close {
    visibility: visible;
    opacity: 1;
}

.has-modal-video .modal-overlay {
    visibility: visible;
    opacity: 1;
}