@charset "UTF-8";


html{
    font-size: 625%;
}
body {
    position: relative;
    width: 100%;
    color: #111;
    text-align: left;
    font-size: .16em;
    font-family: "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, "Segoe UI", sans-serif;
    line-height: 1.5;
    overscroll-behavior: none;
}

.sans-serif {
    font-family: 'Oswald', sans-serif;
}
.serif {
    font-family: Times New Roman, Georgia, serif;
}
.mincho {
    font-family:"Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, serif;
}

figure {
    display: block;
    margin: 0;
}
img {
    width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
.is-pc {
    display: block !important;
}

.is-sp {
    display: none !important;
}

.is-hide {
    display: none;
}
sup {
    font-size: 60%;
    vertical-align: top;
    position: relative;
    top: 0;
}
sub {
    font-size: 80%;
    vertical-align: bottom;
    position: relative;
    bottom: -0.3em;
}

@media only screen and (max-width: 1024px) {
    .is-pc.no-tab {
        display: none !important;
    }
    .is-sp.is-tab {
        display: block !important;
    }
}

@media only screen and (max-width: 750px) {
    .is-pc {
        display: none !important;
    }
    .is-sp {
        display: block !important;
    }
    sup {
        font-size: 60%;
        vertical-align: top;
        position: relative;
        top: 0;
    }
    sub {
        font-size: 60%;
        vertical-align: bottom;
        position: relative;
        bottom: 0;
    }
}



/* ===================== */
/* body
/* ===================== */
body {
    background-size: auto;
}
body.preload {
    background: #fff url(loading.gif) no-repeat calc(50vw - 20px) calc(50vh - 20px);
    background-size: 40px 40px;
    overflow: hidden;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@media only screen and (max-width: 750px) {
}

/* ===================== */
/* body
/* ===================== */


/* ================================================= */
/* header */
/* ================================================= */

.social_buttons {
    width: 980px;
    margin: 0px auto;
    padding: 10px 0;
    text-align: right;
}
.social_buttons li {
    float: none;
    display: inline-block !important;
}

/* ================================================= */
/* footer */
/* ================================================= */
.localFooter {
    background:#fff;
    padding-top:20px !important;
    line-height: 150%;
}

#bpGlobalFooter {
    background:#fff;
    padding-top:10px;
    padding-bottom: 30px !important;
}

/* ===================== */
/* wrapper
/* ===================== */

#tu_footer {
    background: url(bg.jpg) center top repeat-y;
    background-size: 1200px auto;
    width: 100%;
    min-width: 1200px;
}
#tu_footer .slowdrink {
    width: 500px;
    margin: 0 auto 80px;
}
#tu_footer .contact_link {
    border: #e60021 solid 1px;
    width: 600px;
    margin: 0 auto 40px;
}
#tu_footer .contact_link .kirinlogo {
    padding: 20px;
}
#tu_footer .contact_link .kirinlogo a {
    display: block;
    width: 400px;
    margin: 0 auto;
}
#tu_footer .contact_link .btn {
    width: 100%;
}
#tu_footer .contact_link .btn a {
    background-color: #e60021;
    display: block;
    width: 100%;
    padding: 15px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    color: #fff;
    position: relative;
    transition: background-color ease .3s;
}
#tu_footer .contact_link .btn a:hover {
    background-color: #f70c0c;
}
#tu_footer .contact_link .btn a::before {
    content: "";
    display: block;
    background: url(icon_arrow_white.svg) center center no-repeat;
    background-size: 40px auto;
    width: 40px;
    height: 8px;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-6px);
    transition: right ease .3s;
}
#tu_footer .contact_link .btn a:hover::before {
    right: 20px;
}
#tu_notice {
    width: 540px;
    margin: 0 auto;
    padding: 40px 0;
}

#tu_wrap {
    background: url(bg.jpg) center top repeat-y;
    background-size: 1200px auto;
    width: 100%;
    min-width: 1200px;
    margin: 0 auto;
    padding-top: 20px;
    opacity: 1;
    transition: all ease .5s;
    text-align: justify;
    position: relative;
    overflow: hidden;
    z-index: 2;
}

body.preload #tu_wrap {
    width: 100%;
    opacity: 0;
}


#tu_wrap > .tu_project_logo {
    max-width: 700px;
    margin: 0 auto 20px;
}
#tu_wrap > .tu_project_logo h1 {
    display: block;
    width: 100%;
}


#tu_wrap > .tu_kv_wrapper {
    max-width: 1500px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
    overflow: hidden;
}
#tu_wrap > .tu_kv_wrapper .bxslider .ph {
    width: 100%;
}
#tu_wrap > .tu_kv_wrapper .bxslider .ttl {
    width: 65%;
    position: absolute;
    left: 50%;
    bottom: 5%;
    transform: translateX(-50%);
}
#tu_wrap > .tu_kv_wrapper .bxslider .ttl.ttl_vol5 {
    width: 60%;
    bottom: 10px;
}
.bx-wrapper .bx-viewport {
    -moz-box-shadow: 0;
    -webkit-box-shadow: 0;
    box-shadow: 0;
    border: 0 solid #fff;
    left: 0;
    background: #fff;

    /*fix other elements on the page moving (on Chrome)*/
    -webkit-transform: translatez(0);
    -moz-transform: translatez(0);
    -ms-transform: translatez(0);
    -o-transform: translatez(0);
    transform: translatez(0);
}




#tu_wrap > .tu_read {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 0;
    position: relative;
    z-index: 1;
}
#tu_wrap > .tu_read .read_text_1 {
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: bold;
    line-height: 2.2;
    text-align: center;
}
#tu_wrap > .tu_read .read_text_2 {
    display: block;
    width: 800px;
    margin: 0 auto 10px;
    font-size: 10px;
    line-height: 1.5;
}

#tu_wrap > .tu_contents {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 60px;
}

#tu_wrap > .tu_contents > .tu_portal_block {
    width: 100%;
    display: flex;
    align-items: stretch;
    margin-bottom: 90px;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item {
    position: relative;
    width: 50%;
    padding-right: 20px;
    padding-bottom: 46px;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item .ph {
    width: 100%;
    position: relative;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item .ph figure {
    width: 100%;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item .ph .number {
    width: 80px;
    position: absolute;
    left: 0;
    bottom: 0;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item .ttl {
    padding: 20px 0;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item .ttl h3 {
    margin: 0;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
    color: #252525;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn {
    width: 100%;
    padding-right: 20px;
    position: absolute;
    left: 0;
    bottom: 0;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a {
    background-color: #ffffff;
    border: #252525 solid 1px;
    display: block;
    width: 100%;
    padding: 15px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    color: #252525;
    position: relative;
    transition: all ease .3s;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a:hover {
    background-color: #252525;
    color: #fff;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a::before {
    content: "";
    display: block;
    background: url(icon_arrow_black.svg) center center no-repeat;
    background-size: 40px auto;
    width: 40px;
    height: 8px;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-6px);
    transition: right ease .3s;
}
#tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a:hover::before {
    background: url(icon_arrow_white.svg) center center no-repeat;
    background-size: 40px auto;
    right: 20px;
}

#tu_wrap > .tu_contents > ._contents_2024 {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 50px;
    padding: 0 20px;
}
#tu_wrap > .tu_contents > ._contents_2024 ._item {
    position: relative;
    max-width: 700px;
}
#tu_wrap > .tu_contents > ._contents_2024 ._item .ph {
    width: 100%;
    position: relative;
}
#tu_wrap > .tu_contents > ._contents_2024 ._item .ph figure {
    width: 100%;
}
#tu_wrap > .tu_contents > ._contents_2024 ._item .btn {
    width: 100%;
}
#tu_wrap > .tu_contents > ._contents_2024 ._item .btn a {
    background-color: #e50020;
    display: block;
    width: 100%;
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    color: #fff;
    position: relative;
    transition: all ease .3s;
}
#tu_wrap > .tu_contents > ._contents_2024 ._item .btn a:hover {
    background-color: #fa0023;
    color: #fff;
}
#tu_wrap > .tu_contents > ._contents_2024 ._item .btn a::before {
    content: "";
    display: block;
    background: url(icon_arrow_white.svg) center center no-repeat;
    background-size: 40px auto;
    width: 40px;
    height: 8px;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-6px);
    transition: right ease .3s;
}
#tu_wrap > .tu_contents > ._contents_2024 ._item .btn a:hover::before {
    background: url(icon_arrow_white.svg) center center no-repeat;
    background-size: 40px auto;
    right: 20px;
}



@media screen and (max-width:1024px) {

    #tu_footer {
        background: url(bg.jpg) center top repeat-y;
        background-size: 90vw auto;
        width: 100%;
        min-width: inherit;
    }
    #tu_footer .contact_link {
        width: 61.3333vw;
        margin: 0 auto;
    }
    #tu_footer .contact_link .kirinlogo {
        padding: 3vw;
    }
    #tu_footer .contact_link .kirinlogo a {
        display: block;
        width: 45vw;
        margin: 0 auto;
    }
    #tu_footer .contact_link .btn {
        width: 100%;
    }
    #tu_footer .contact_link .btn a {
        background-color: #e60021;
        display: block;
        width: 100%;
        padding: 15px;
        font-size: 16px;
        font-weight: bold;
        line-height: 1;
        text-align: center;
        color: #fff;
        position: relative;
        transition: background-color ease .3s;
    }
    #tu_footer .contact_link .btn a:hover {
        background-color: #f70c0c;
    }
    #tu_footer .contact_link .btn a::before {
        content: "";
        display: block;
        background: url(icon_arrow_white.svg) center center no-repeat;
        background-size: 40px auto;
        width: 40px;
        height: 8px;
        position: absolute;
        right: 30px;
        top: 50%;
        transform: translateY(-6px);
        transition: right ease .3s;
    }
    #tu_footer .contact_link .btn a:hover::before {
        right: 20px;
    }
    #tu_notice {
        width: 61.3333vw;
        margin: 0 auto;
        padding: 4vw 0;
    }

    #tu_wrap {
        background: url(bg.jpg) center top repeat-y;
        background-size: 90vw auto;
        width: 100%;
        min-width: inherit;
        margin: 0 auto;
        padding-top: 0;
    }

    body.preload #tu_wrap {
        width: 100%;
        opacity: 0;
    }


    #tu_wrap > .tu_project_logo {
        max-width: 50vw;
        margin: 0 auto;
        padding: 2vw 0;
    }


    #tu_wrap > .tu_kv_wrapper {
        padding-bottom: 3vw;
    }

    #tu_wrap > .tu_kv_wrapper .bxslider .ph {
        width: 100%;
    }
    #tu_wrap > .tu_kv_wrapper .bxslider .ttl {
        width: 80%;
        position: absolute;
        left: 50%;
        bottom: 5%;
        transform: translateX(-50%);
    }
    #tu_wrap > .tu_kv_wrapper .bxslider .ttl.ttl_vol5 {
        width: 68%;
    }


    #tu_wrap > .tu_read {
        width: 100%;
        margin: 0 auto;
        padding: 2vw 0;
        position: relative;
        z-index: 1;
    }
    #tu_wrap > .tu_read .read_text_1 {
        margin-bottom: 2vw;
        font-size: 1.6vw;
        font-weight: bold;
        line-height: 2;
        letter-spacing: .05em;
        text-align: center;
        font-feature-settings: "palt";
    }

    #tu_wrap > .tu_contents {
        width: 100%;
        max-width: inherit;
        margin: 0 auto;
        padding-bottom: 4vw;
    }

    #tu_wrap > .tu_contents > .tu_portal_block {
        width: 90vw;
        margin: 0 auto 6vw;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item {
        position: relative;
        width: 50%;
        padding-right: 1.5vw;
        padding-bottom: 5vw;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .ph {
        width: 100%;
        position: relative;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .ph figure {
        width: 100%;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .ph .number {
        width: 7.5vw;
        position: absolute;
        left: 0;
        bottom: 0;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .ttl {
        padding: 1vw 0;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .ttl h3 {
        margin: 0;
        font-size: 2.0vw;
        font-weight: bold;
        line-height: 1.5;
        color: #252525;
        font-feature-settings: "palt";
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn {
        width: 100%;
        padding-right: 1.5vw;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a {
        background-color: #ffffff;
        border: #252525 solid 1px;
        display: block;
        width: 100%;
        padding: 1em;
        font-size: 1.6vw;
        font-weight: bold;
        line-height: 1;
        text-align: center;
        color: #252525;
        position: relative;
        transition: all ease .3s;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a:hover {
        background-color: #252525;
        color: #fff;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a::before {
        content: "";
        display: block;
        background: url(icon_arrow_black.svg) center center no-repeat;
        background-size: 40px auto;
        width: 40px;
        height: 8px;
        position: absolute;
        right: 30px;
        top: 50%;
        transform: translateY(-6px);
        transition: right ease .3s;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a:hover::before {
        background: url(icon_arrow_white.svg) center center no-repeat;
        background-size: 40px auto;
        right: 20px;
    }
}


@media screen and (max-width:750px) {

    body {
        padding-bottom: 0;
    }


    #tu_footer {
        background: url(bg.gif) center top repeat-y;
        background-size: 92vw auto;
        width: 100%;
        min-width: inherit;
    }
    #tu_footer .slowdrink {
        width: 72vw;
        margin: 0 auto 8vw;
    }
    #tu_footer .contact_link {
        width: 92vw;
        margin: 0 auto 4vw;
    }
    #tu_footer .contact_link .kirinlogo {
        padding: 4vw;
    }
    #tu_footer .contact_link .kirinlogo a {
        width: 80vw;
    }
    #tu_footer .contact_link .btn {
        width: 100%;
    }
    #tu_footer .contact_link .btn a {
        padding: 4vw;
        font-size: 4vw;
    }
    #tu_footer .contact_link .btn a:hover {
    }
    #tu_footer .contact_link .btn a::before {
        content: "";
        display: block;
        background: url(icon_arrow_white.svg) center center no-repeat;
        background-size: 8vw auto;
        width: 8vw;
        height: 2vw;
        position: absolute;
        right: 6vw;
        top: 50%;
        transform: translateY(-1.2vw);
        transition: right ease .3s;
    }
    #tu_footer .contact_link .btn a:hover::before {
        right: 4vw;
    }
    #tu_notice {
        width: 92vw;
        margin: 0 auto;
        padding: 4vw 0;
    }

    #tu_wrap {
        background: url(bg.gif) center top repeat-y;
        background-size: 92vw auto;
        width: 100%;
        min-width: inherit;
        margin: 0 auto;
        padding-top: 0;
    }

    body.preload #tu_wrap {
        width: 100%;
        opacity: 0;
    }


    #tu_wrap > .tu_project_logo {
        max-width: 70vw;
        margin: 0 auto;
        padding: 4vw 0;
    }


    #tu_wrap > .tu_kv_wrapper {
        padding: 0;
    }

    #tu_wrap > .tu_kv_wrapper .bxslider .ph {
        width: 100%;
    }
    #tu_wrap > .tu_kv_wrapper .bxslider .ttl {
        border-top: #252525 solid 1px;
        border-bottom: #252525 solid 1px;
        width: 100%;
        position: relative;
        left: 0;
        bottom: 0;
        transform: translateX(0);
    }
    #tu_wrap > .tu_kv_wrapper .bxslider .ttl.ttl_vol5 {
        width: 100%;
    }




    #tu_wrap > .tu_read {
        width: 92vw;
        margin: 0 auto;
        padding: 2vw 0 8vw;
        position: relative;
        z-index: 1;
    }
    #tu_wrap > .tu_read .read_text_1 {
        margin-bottom: 0;
        font-size: 15px;
        font-weight: bold;
        line-height: 2;
        text-align: left;
    }
    #tu_wrap > .tu_read .read_text_1 br {
        display: none;
    }

    #tu_wrap > .tu_contents {
        width: 100%;
        margin: 0 auto;
        padding-bottom: 8vw;
    }

    #tu_wrap > .tu_contents > .tu_portal_block {
        width: 92vw;
        display: block;
        margin: 0 auto;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item {
        width: 100%;
        padding-right: 0;
        padding-bottom: 11vw;
        margin-bottom: 12vw;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .ph {
        width: 100%;
        position: relative;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .ph figure {
        width: 100%;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .ph .number {
        width: 18vw;
        position: absolute;
        left: 0;
        bottom: 0;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .ttl {
        padding: 2vw 0;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .ttl h3 {
        margin: 0;
        font-size: 4.6vw;
        font-weight: bold;
        line-height: 1.5;
        color: #252525;
        font-feature-settings: "palt";
        text-align: center;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn {
        width: 100%;
        padding-right: 0;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a {
        background-color: #ffffff;
        border: #252525 solid 1px;
        display: block;
        width: 100%;
        padding: 1em;
        font-size: 3.6vw;
        font-weight: bold;
        line-height: 1;
        text-align: center;
        color: #252525;
        position: relative;
        transition: all ease .3s;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a:hover {
        background-color: #252525;
        color: #fff;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a::before {
        content: "";
        display: block;
        background: url(icon_arrow_black.svg) center center no-repeat;
        background-size: 8vw auto;
        width: 8vw;
        height: 2vw;
        position: absolute;
        right: 4vw;
        top: 50%;
        transform: translateY(-6px);
        transition: right ease .3s;
    }
    #tu_wrap > .tu_contents > .tu_portal_block .portal_item .btn a:hover::before {
        background: url(icon_arrow_white.svg) center center no-repeat;
        background-size: 8vw auto;
        right: 2vw;
    }

    #tu_wrap > .tu_contents > ._contents_2024 {
        margin-bottom: 5vw;
        padding: 0 4vw;
    }
    #tu_wrap > .tu_contents > ._contents_2024 ._item {
        position: relative;
        max-width: inherit;
    }
    #tu_wrap > .tu_contents > ._contents_2024 ._item .ph {
        width: 100%;
        position: relative;
    }
    #tu_wrap > .tu_contents > ._contents_2024 ._item .ph figure {
        width: 100%;
    }
    #tu_wrap > .tu_contents > ._contents_2024 ._item .btn a {
        background-color: #e50020;
        display: block;
        width: 100%;
        padding: 15px 10px;
        font-size: 16px;
        font-weight: bold;
        line-height: 1;
        text-align: center;
        color: #fff;
        position: relative;
        transition: all ease .3s;
    }
    #tu_wrap > .tu_contents > ._contents_2024 ._item .btn a:hover {
        background-color: #fa0023;
        color: #fff;
    }
    #tu_wrap > .tu_contents > ._contents_2024 ._item .btn a::before {
        content: "";
        display: block;
        background: url(icon_arrow_white.svg) center center no-repeat;
        background-size: 8vw auto;
        width: 8vw;
        height: 2vw;
        position: absolute;
        right: 4vw;
        top: 50%;
        transform: translateY(-6px);
        transition: right ease .3s;
    }
    #tu_wrap > .tu_contents > ._contents_2024 ._item .btn a:hover::before {
        background: url(icon_arrow_white.svg) center center no-repeat;
        background-size: 8vw auto;
        right: 2vw;
    }
}
