@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-pconly {
    display: block !important;
}
.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: 768px) {
    .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-color: #ffffff;
}

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

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

#tu_header {
}

/* ================================================= */
/* footer */
/* ================================================= */

#tu_footer {
    background-color: #fff;
    width: 100%;
}

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

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

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

#__tu {
    width: 100%;
    overflow: hidden;
}
#__tu a {
    transition: all ease .3s;
}
#__tu .__container {
    margin: 0 auto;
    position: relative;
}

#__tu .__mainvisual {
    background: #000000 url(h_bg.jpg) center center no-repeat;
    background-size: cover;
    width: 100%;
    padding: 25px 25px 30px;
    position: relative;
}
#__tu .__mainvisual .__htext {
    background-color: #2f3d80;
    width: 100%;
    max-width: 750px;
    margin: 0 auto 10px;
    padding: 5px;
}
#__tu .__mainvisual .__htext span {
    display: block;
    width: 40%;
    margin: 0 auto;
    line-height: 0;
}
#__tu .__mainvisual .__hlogo {
    width: 100%;
    max-width: 750px;
    margin: 0 auto 20px;
}
#__tu .__mainvisual h1 {
    display: block;
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
}

#__tu .__read {
    background-color: #ffffff;
    width: 100%;
    position: relative;
}
#__tu .__read .__read__inner {
    background-color: #f3f4fb;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
#__tu .__read .__read__inner .__read__inner__text {
    background-color: #ffffff;
    width: 55.5%;
    padding: 40px 30px;
}
#__tu .__read .__read__inner .__read__inner__text p {
    font-size: 16px;
    font-weight: bold;
    line-height: 2;
    color: #2f3d80;
}
#__tu .__read .__read__inner .__read__inner__fig {
    width: 44.5%;
}


#__tu .__contents {
    background-color: #2f3d80;
    width: 100%;
    padding: 50px 50px 5px;
    margin: 0 auto;
    position: relative;
}
#__tu .__contents .__contents__link {
    max-width: 1060px;
    margin: 0 auto 50px;
    overflow: hidden;
}
#__tu .__contents .__contents__link .__contents__link__head {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
#__tu .__contents .__contents__link .__contents__link__head .__link__head__logo {
    width: 25%;
}
#__tu .__contents .__contents__link .__contents__link__head .__link__head__img {
    width: 75%;
}
#__tu .__contents .__contents__link .__contents__link__body {
    width: 100%;
}
#__tu .__contents .__contents__link .__contents__link__body a {
    background-color: #ffffff;
    display: block;
}
#__tu .__contents .__contents__link .__contents__link__body .__link__body__title {
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
}
#__tu .__contents .__contents__link .__contents__link__body a .__link__body__title::before {
    content: "";
    display: block;
    background: url(icon_arr.png) center center no-repeat;
    background-size: 50% auto;
    width: 13%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 10;
    transition: all ease .3s;
}
#__tu .__contents .__contents__link .__contents__link__body a:hover .__link__body__title::before {
    right: -1%;
}
#__tu .__contents .__contents__link.__session1 .__contents__link__body .__link__body__title {
    background: #ee9a9e;
}
#__tu .__contents .__contents__link.__session2 .__contents__link__body .__link__body__title {
    background: #75c0be;
}
#__tu .__contents .__contents__link.__session3 .__contents__link__body .__link__body__title {
    background: #a19bd5;
}
#__tu .__contents .__contents__link .__contents__link__body a .__link__body__title h2 {
    background-color: #ffffff;
    display: block;
    width: 87%;
    padding: 2% 2.5%;
    line-height: 0;
    transition: opacity ease .3s;
}
#__tu .__contents .__contents__link .__contents__link__body a .__link__body__title h2 img {
    display: block;
    opacity: 1;
    transition: opacity ease .3s;
}
#__tu .__contents .__contents__link .__contents__link__body a:hover .__link__body__title h2 img {
    opacity: .7;
}


#__tu .__contact {
    width: 100%;
    padding: 60px 0;
    position: relative;
}

#__tu .__contact .__logo {
    display: table;
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
}
#__tu .__contact .__logo a {
    display: block;
    width: 100%;
    transition: all ease .3s;
}
#__tu .__contact .__logo a:hover {
    opacity: .7;
}







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

    #__tu {
    }
    #__tu .__container {
    }

    #__tu .__mainvisual {
        width: 100%;
        padding: 5vw;
        position: relative;
    }
    #__tu .__mainvisual .__htext {
        width: 100%;
        max-width: inherit;
        margin: 0 auto 3vw;
        padding: 1vw;
    }
    #__tu .__mainvisual .__htext span {
        display: block;
        width: 65%;
    }
    #__tu .__mainvisual .__hlogo {
        max-width: inherit;
        margin: 0 auto 6vw;
    }
    #__tu .__mainvisual h1 {
        max-width: inherit;
    }

    #__tu .__read {
    }
    #__tu .__read .__read__inner {
        background-color: #ffffff;
        width: 100%;
        max-width: inherit;
        display: block;
        position: relative;
    }
    #__tu .__read .__read__inner .__read__inner__text {
        width: 100%;
        padding: 5vw;
    }
    #__tu .__read .__read__inner .__read__inner__text p {
        font-size: 15px;
    }
    #__tu .__read .__read__inner .__read__inner__fig {
        width: 100%;
        padding: 0;
    }


    #__tu .__contents {
        padding: 10vw 5vw 1px;
    }
    #__tu .__contents .__contents__link {
        max-width: inherit;
        margin: 0 auto 10vw;
        overflow: hidden;
    }
    #__tu .__contents .__contents__link .__contents__link__head {
        width: 100%;
        display: block;
        position: relative;
    }
    #__tu .__contents .__contents__link .__contents__link__head .__link__head__logo {
        width: 90%;
        position: absolute;
        left: 0;
        bottom: 0;
    }
    #__tu .__contents .__contents__link .__contents__link__head .__link__head__img {
        width: 100%;
    }
    #__tu .__contents .__contents__link .__contents__link__body {
        width: 100%;
    }
    #__tu .__contents .__contents__link .__contents__link__body a {
        background-color: #ffffff;
        display: block;
    }
    #__tu .__contents .__contents__link .__contents__link__body .__link__body__title {
        width: 100%;
        display: flex;
        align-items: center;
        position: relative;
    }
    #__tu .__contents .__contents__link .__contents__link__body a .__link__body__title::before {
        content: "";
        display: block;
        background: url(icon_arr.png) center center no-repeat;
        background-size: 50% auto;
        width: 13%;
        height: 100%;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 10;
        transition: all ease .3s;
    }
    #__tu .__contents .__contents__link .__contents__link__body a:hover .__link__body__title::before {
        right: -1%;
    }
    #__tu .__contents .__contents__link.__session1 .__contents__link__body .__link__body__title {
        background: #ee9a9e;
    }
    #__tu .__contents .__contents__link.__session2 .__contents__link__body .__link__body__title {
        background: #75c0be;
    }
    #__tu .__contents .__contents__link.__session3 .__contents__link__body .__link__body__title {
        background: #a19bd5;
    }
    #__tu .__contents .__contents__link .__contents__link__body a .__link__body__title h2 {
        background-color: #ffffff;
        display: block;
        width: 87%;
        padding: 2% 2.5%;
        line-height: 0;
        transition: opacity ease .3s;
    }
    #__tu .__contents .__contents__link .__contents__link__body a .__link__body__title h2 img {
        display: block;
        opacity: 1;
        transition: opacity ease .3s;
    }
    #__tu .__contents .__contents__link .__contents__link__body a:hover .__link__body__title h2 img {
        opacity: .7;
    }


    #__tu .__contact {
        width: 100%;
        padding: 10vw 0;
        position: relative;
    }

    #__tu .__contact .__logo {
        display: table;
        width: 40vw;
        max-width: 200px;
        margin: 0 auto;
    }
    #__tu .__contact .__logo a {
        display: block;
        width: 100%;
        transition: all ease .3s;
    }
    #__tu .__contact .__logo a:hover {
        opacity: .7;
    }
}



/* ===================== */
/* portal bnr
/* ===================== */

#__tu ._portal_bnr {
    background-color: #f4f4f4;
    width: 100%;
    margin: 0 auto;
    padding: 40px 20px;
}
#__tu ._portal_bnr ._bnr {
    max-width: 600px;
    margin: 0 auto;
}
#__tu ._portal_bnr ._bnr a {
    display: block;
    box-shadow: 0px 0px 15px 0px #eaeeee;
    border-radius: 4px;
    overflow: hidden;
    width: 100%;
    position: relative;
    transition: all ease .3s;
}
#__tu ._portal_bnr ._bnr a:hover {
    opacity: .8;
}

@media only screen and (max-width: 768px) {
    #__tu ._portal_bnr {
        padding: 5vw;
    }
}