/*======================================INTRO BANNER==============================================*/

.b-picup-topbox {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.b-intro {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: auto;
}

.b-directory {
    margin-top: 6rem;
    margin-left: 3.5rem;
    font-weight: var(--font-weight-light);
    font-size: .8em;
}

.b-contents-h {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
}

.b-contents-h p {
    padding: 5px;
}

.b-contents-p p {
    margin-top: 20px;
    border-top: 1px solid #fff;
}

.b-title-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
    padding-bottom: 2rem;
    padding-left: 3.5rem;
    width: var(--content-width);
    color: #fff;
}

.b-title-gradient {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: flex-start;
    position: static;
    background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}

.b-title-name {
    font-size: 0.5em;
    font-weight: var(--font-weight-light);
    margin-left: 20px;
}

.b-contents-h p {
    font-family: var(--font-family-title);
    font-weight: var(--font-weight-light);
}

.b-contents-q p {
    font-family: var(--font-family-title);
}

.b-contents-q2 {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}


/*=============================================INTRO NEWS========================================*/

.n-section {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    background-color: black;
}

.n-container {
    display: flex;
    flex-direction: column;
    background-color: black;
    padding-top: 2rem;
    padding-bottom: 2rem;
    gap: 3rem;
    justify-content: center;
    align-content: center;
    align-items: center;
    width: 80%;
}

.n-contents {
    display: flex;
    align-content: center;
    justify-content: space-between;
    gap: 5rem;
}

.n-desc {
    width: 80%;
}


/*=========================================CAROUSEL============================================*/

.c-section {
    background-color: var(--color-bg);
    height: 600px;
    padding: 4rem;
    color: var(--color-darkGrey);
}

.c-section h3 {
    font-size: 2em;
}

.c-title-container {
    display: flex;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.c-title-container h3 {
    text-align: center;
}

.c-carousel {
    display: flex;
    flex-direction: row;
    width: fit-content;
    /*		overflow: auto;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;*/
    justify-content: center;
    gap: 1.5rem;
}

.c-tab {
    background-color: white;
    box-shadow: 0rem 4px 10px #cccccc;
    border-radius: .5rem;
    width: .4rem;
    height: fit-content;
}

.c-tab-image {
    width: inherit;
    height: 10rem;
    overflow: hidden;
}

.c-tab-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
}

.c-tab-content {
    display: flex;
    padding: .8rem;
    gap: .8rem;
    flex-direction: column;
}

.c-tab-content p {
    font-size: .8em;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-extraLight);
}

.c-tab-button {
    font-size: .7em;
    border: .1em solid var(--color-darkGrey);
    padding: .2rem .8rem;
    border-radius: 10rem;
    width: fit-content;
}


/*=========================================About Section============================================*/

.a-section {
    display: flex;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    color: var(--color-darkGrey);
    background-color: white;
}

.a-section-container {
    display: flex;
    align-items: center;
    width: var(--content-width);
}

.a-section-wrapper {
    display: flex;
    align-content: flex-start;
    justify-content: space-between;
    border-top: .1em solid var(--color-darkGrey);
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.a-section-wrapper-b {
    display: flex;
    align-content: flex-start;
    justify-content: space-between;
    padding-bottom: 2rem;
    padding-top: 2rem;
    border-bottom: .1em solid var(--color-darkGrey);
    width: 100%;
    flex-direction: column;
    gap: 1rem;
}

.a-title-container {
    display: flex;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding-top: 4rem;
    width: var(--content-width);
    padding-bottom: 2rem;
    border-bottom: .1em solid var(--color-darkGrey);
}

.a-section h3 {
    font-size: 2rem;
    font-family: var(--font-family-title);
}

.a-paragraph-and-button {
    display: flex;
    justify-content: flex-start;
    gap: 2rem;
    line-height: 1.8rem;
}


/*=========================================Timeline Section============================================*/

.t-section {
    color: var(--color-darkGrey);
    background-color: white;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    padding-top: 4rem;
    padding-bottom: 4rem;
    width: var(--content-width);
    overflow: hidden;
}

.t-section-container {
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    padding-left: 4rem;
    padding-right: 4rem;
}

.t-section-wrapper {
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: space-between;
    border-top: .1em solid var(--color-darkGrey);
    padding-top: 4rem;
    padding-bottom: 4rem;
    gap: 30rem;
    padding-left: 4rem;
}

.t-section-wrapper h3 {
    color: #6DA0C3;
    align-items: center;
    height: 1rem;
}

.t-section h3 {
    font-size: 2rem;
    font-family: var(--font-family-title);
    text-align: center;
}

.t-paragraph-and-button {
    display: flex;
    align-content: center;
    justify-content: flex-start;
    gap: 10rem;
    height: 1rem;
    width: 70%;
}

.t-title-container {
    display: flex;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding-top: 4rem;
    width: var(--content-width);
    padding-bottom: 2rem;
    border-bottom: .1em solid var(--color-darkGrey);
    margin-bottom: 2rem;
}


/*=========================================最初の画面用============================================*/

#slider {
    width: 100%;
    height: 100vh;
    /*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}


/*=========================================bxslider============================================*/

.bx-wrapper {
    position: relative;
    margin-bottom: 60px;
    padding: 0;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -moz-box-shadow: 0 0 5px #ccc;
    -webkit-box-shadow: 0 0 5px #ccc;
    box-shadow: 0 0 5px #ccc;
    border: 5px solid #fff;
    background: #fff
}

.bx-wrapper img {
    max-width: 100%;
    display: block
}

.bxslider {
    margin: 0;
    padding: 0;
    -webkit-perspective: 1000
}

ul.bxslider {
    list-style: none
}

.bx-viewport {
    -webkit-transform: translateZ(0)
}

.bx-wrapper .bx-controls-auto,
.bx-wrapper .bx-pager {
    position: absolute;
    bottom: -30px;
    width: 100%
}

.bx-wrapper .bx-loading {
    min-height: 50px;
    background: url(images/bx_loader.gif) center center no-repeat #fff;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2000
}

.bx-wrapper .bx-pager {
    text-align: center;
    font-size: .85em;
    font-family: Arial;
    font-weight: 700;
    color: #666;
    padding-top: 20px
}

.bx-wrapper .bx-pager.bx-default-pager a {
    background: #666;
    text-indent: -9999px;
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    outline: 0;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px
}

.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus,
.bx-wrapper .bx-pager.bx-default-pager a:hover {
    background: #000
}

.bx-wrapper .bx-controls-auto .bx-controls-auto-item,
.bx-wrapper .bx-pager-item {
    display: inline-block;
    vertical-align: bottom
}

.bx-wrapper .bx-pager-item {
    font-size: 0;
    line-height: 0;
}

.bx-wrapper .bx-prev {
    left: 10px;
    background: url(images/controls.png) 0 -32px no-repeat
}

.bx-wrapper .bx-prev:focus,
.bx-wrapper .bx-prev:hover {
    background-position: 0 0
}

.bx-wrapper .bx-next {
    right: 10px;
    background: url(images/controls.png) -43px -32px no-repeat
}

.bx-wrapper .bx-next:focus,
.bx-wrapper .bx-next:hover {
    background-position: -43px 0
}

.bx-wrapper .bx-controls-direction a {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    outline: 0;
    width: 32px;
    height: 32px;
    text-indent: -9999px;
    z-index: 9999
}

.bx-wrapper .bx-controls-direction a.disabled {
    display: none
}

.bx-wrapper .bx-controls-auto {
    text-align: center
}

.bx-wrapper .bx-controls-auto .bx-start {
    display: block;
    text-indent: -9999px;
    width: 10px;
    height: 11px;
    outline: 0;
    background: url(images/controls.png) -86px -11px no-repeat;
    margin: 0 3px
}

.bx-wrapper .bx-controls-auto .bx-start.active,
.bx-wrapper .bx-controls-auto .bx-start:focus,
.bx-wrapper .bx-controls-auto .bx-start:hover {
    background-position: -86px 0
}

.bx-wrapper .bx-controls-auto .bx-stop {
    display: block;
    text-indent: -9999px;
    width: 9px;
    height: 11px;
    outline: 0;
    background: url(images/controls.png) -86px -44px no-repeat;
    margin: 0 3px
}

.bx-wrapper .bx-controls-auto .bx-stop.active,
.bx-wrapper .bx-controls-auto .bx-stop:focus,
.bx-wrapper .bx-controls-auto .bx-stop:hover {
    background-position: -86px -33px
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
    text-align: left;
    width: 80%
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
    right: 0;
    width: 35px
}

.bx-wrapper .bx-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    background: #666;
    background: rgba(80, 80, 80, .75);
    width: 100%
}

.bx-wrapper .bx-caption span {
    color: #fff;
    font-family: Arial;
    display: block;
    font-size: .85em;
    padding: 10px
}

.slider_top .c-tab:not(.active-slide) {
    opacity: 0.2;
}

.slider_top {
    margin-left: 50%;
}

.slider_top .c-tab {
    margin-left: -150px;
    margin-right: 160px !important;
}


/*=========================================blur============================================*/

.blur {
    animation-name: blurAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes blurAnime {
    from {
        filter: blur(10px);
        transform: scale(1.02);
        opacity: 0;
    }
    to {
        filter: blur(0);
        transform: scale(1);
        opacity: 1;
    }
}

.blurTrigger {
    opacity: 0;
}


/*=========================================アニメーション設定============================================*/


/* アニメーションスタートの遅延時間を決めるCSS*/

.delay-time02 {
    animation-delay: 0.2s;
}

.delay-time04 {
    animation-delay: 0.4s;
}


/*==================================================
スタート時は要素自体を透過0にするためのopacity:0;を指定する
===================================*/

.box {
    opacity: 0;
}


/*==================================================
動き自体の指定：今回は「ふわっ」
===================================*/

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.schedule {
    position: relative;
    width: 100%;
    left: 20%;
}

.schedule::before {
    position: absolute;
    top: 50px;
    left: 6.5em;
    width: 6px;
    height: 100%;
    bottom: 0px;
    background-color: #deeef7;
    content: "";
}

.schedule ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0px;
    margin: 5px;
    list-style: none;
}

.schedule li {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.schedule li+li {
    margin-top: 0em;
}

.schedule_time {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 5em;
    height: 2em;
    border-radius: 6px;
    background-color: #3388dd;
    color: #fff;
    text-align: center;
}

.schedule_time::before {
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateX(50%) translateY(-50%) rotate(45deg);
    width: 0.5em;
    height: 0.5em;
    z-index: -1;
    background-color: #3388dd;
    content: "";
}

.schedule_time::after {
    position: absolute;
    top: 50%;
    left: 5.9em;
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: #3388dd;
    content: "";
}

.schedule_content_title {
    font-weight: bold;
}

.schedule_content {
    margin: 30px 0px 0px 3em;
    width: calc(100% - 10em);
}

@media (max-width: 768px) {
     :root {
        --ticker-speed: 80s;
        --header-height: 5rem;
        --padding-x: 3rem;
        --design-view-width: 1440;
        --pixel-ratio: 1;
        --font-size-base: 19px;
        --color-bg: #ffffff;
        --color-darkGrey: #505050;
        --color-darkBlue: #002D4B;
        --color-lightBlue: #6DA0C3;
        --breakpoints-xs: 320px;
        --breakpoints-sm: 768px;
        --breakpoints-md: 1024px;
        --breakpoints-lg: 1440px;
        --breakpoints-xl: 1680px;
        --breakpoints-full: 9999px;
        --zindex-middle: 10;
        --zindex-front: 100;
        --zindex-header: 200;
        --zindex-menu: 300;
        --font-weight-thin: 100;
        --font-weight-extraLight: 200;
        --font-weight-light: 300;
        --font-weight-regular: 400;
        --font-weight-medium: 500;
        --font-weight-semiBold: 600;
        --font-weight-bold: 700;
        --font-weight-extraBold: 800;
        --font-weight-black: 900;
        --font-family-base: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-se;
        --font-family-title: 'Noto Serif JP', serif;
        --content-width: 100%;
    }
    h1 {
        font-size: 2em;
        font-family: var(--font-family-title);
        line-height: 1.1;
    }
    h2 {
        font-size: 2em;
        font-family: var(--font-family-title);
        line-height: 1.1;
    }
    .schedule-line-mark {
        display: none;
    }
    .a-section-container {
        display: flex;
        flex-direction: column;
        align-content: flex-start;
        gap: 1.5rem;
        width: var(--content-width);
        padding: 1rem;
        justify-content: center;
        text-align: center;
    }
    .a-section h3 {
        font-size: 2rem;
    }
    .a-paragraph-and-button p {
        line-height: 1.8rem;
    }
    .a-filters {
        display: flex;
        gap: 1rem;
    }
    .b-title-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 1rem;
        padding-bottom: 2rem;
        padding-left: 10px;
        padding-right: 10px;
        width: var(--content-width);
    }
    .a-title-container {
        display: flex;
        align-content: center;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        padding-top: 4rem;
        width: var(--content-width);
        padding-bottom: 2rem;
        padding-left: 10px;
        padding-right: 10px;
        border-bottom: .1em solid var(--color-darkGrey);
    }
    .a-title-container h3 {
        font-size: 1.5rem;
    }
    .a-section-wrapper-b {
        display: flex;
        align-content: flex-start;
        justify-content: space-between;
        padding-bottom: 2rem;
        padding-top: 2rem;
        border-bottom: .1em solid var(--color-darkGrey);
        width: 100%;
        flex-direction: column;
        gap: 1rem;
    }
    .a-section-wrapper-b h3 {
        font-size: 1.5rem;
    }
    .t-section {
        color: var(--color-darkGrey);
        background-color: white;
        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: center;
        padding-top: 4rem;
        padding-bottom: 4rem;
        width: var(--content-width);
        overflow: hidden;
        padding-left: 10px;
        padding-right: 10px;
    }
    .schedule {
        position: relative;
        width: 100%;
        left: 0%;
    }
    .schedule::before {
        position: absolute;
        top: 80px;
        left: 6.5em;
        width: 6px;
        height: 100%;
        background-color: #deeef7;
        content: "";
    }
    .schedule ul {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0px;
        margin: 5px;
        list-style: none;
    }
    .schedule li {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
    }
    .schedule li+li {
        margin-top: 0em;
    }
    .schedule_time {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        width: 5em;
        height: 2em;
        border-radius: 6px;
        background-color: #3388dd;
        color: #fff;
        text-align: center;
    }
    .schedule_time::before {
        position: absolute;
        top: 50%;
        right: 0px;
        transform: translateX(50%) translateY(-50%) rotate(45deg);
        width: 0.5em;
        height: 0.5em;
        z-index: -1;
        background-color: #3388dd;
        content: "";
    }
    .schedule_time::after {
        position: absolute;
        top: 50%;
        left: 5.9em;
        transform: translateY(-50%);
        width: 1em;
        height: 1em;
        border: 2px solid #fff;
        border-radius: 50%;
        background-color: #3388dd;
        content: "";
    }
    .schedule_content_title {
        font-weight: bold;
    }
    .schedule_content {
        margin: 30px 0px 0px 3em;
        width: calc(100% - 10em);
    }
}