/*header*/

header#nh {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 980px;
    z-index: 200;
    box-sizing: border-box;
    padding: 0 20px;
    font-family: 'Noto Sans JP';
    font-weight: 400;
    line-height: 1.8;
    display: inline;
    font-size: 15px;
    color: #000;
}

#top header#nh {
    top: 20px;
    border: none;
}

#top #nh #logo {
    width: 50%;
    float: left;
    /*margin-top: 7px;*/
    margin-top: 0px;
    margin-left: 20px;
}

#nh #logo img {
    max-width: 100%;
    height: auto;
}

#top #nh #topnavi {
    position: absolute;
    right: 100px;
    top: 20px;
    background: none;
    font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, Osaka, Helvetica, sans-serif, "Georgia", "Times New Roman";
}

#top #nh #topnavi li {
    margin-bottom: 5px;
    float: right;
}

#top #nh #topnavi li:last-child {
    margin-bottom: 0px;
}

#top #nh #topnavi li a {
    background: #fff;
    border: solid 1px #999;
    padding: 10px;
    font-size: 13px;
    display: block;
}

#top #nh #topnavi li a:hover {
    background: #eee;
    text-decoration: none;
}

#top #nh #topnavi li:nth-child(2) a {
    border-right: none;
}

#top #mymenu-h {
    position: absolute;
    top: 0px;
    right: 0px;
    background: #000 url(/images/mymenu.png)center center no-repeat;
    background-size: 50px auto;
    z-index: 100;
    display: block;
    width: 60px;
    height: 60px;
}

#top #mymenu-h a.pc {
    display: block;
    width: 60px;
    height: 60px;
    cursor: pointer;
}

#top #mymenu-h a.sp {
    display: none;
    width: 60px;
    height: 60px;
    cursor: pointer;
}

@media screen and (max-width:980px) {
    #top header#nh {
        position: absolute;
        left: 0%;
        transform: translate(0%, 0%);
        width: 100%;
        z-index: 200;
        box-sizing: border-box;
        padding: 0 20px;
        background: none;
    }
    #top header#nh {
        top: 0px;
    }
    #top #nh #logo {
        width: 100%;
        margin-top: 20px;
        display: block;
        padding: 0px;
        border: none;
        float: none;
        margin-right: auto;
        margin-left: auto;
    }
    #top #nh #logo img {
        max-width: 100%;
        height: auto;
        max-height: auto;
    }
    #top #nh #topnavi {
        display: none;
    }
    #top #mymenu-h {
        top: 0px;
        right: 0px;
        background: #000 url(/images/mymenu.png) center center no-repeat;
        background-size: 40px auto;
        width: 50px;
        height: 50px;
    }
    #mymenu-h a.pc {
        display: none;
        width: 60px;
        height: 60px;
        cursor: pointer;
    }
    #mymenu-h a.sp {
        display: block;
        width: 40px;
        height: 40px;
        cursor: pointer;
    }
}

@media screen and (max-width:768px) {
    #nh #logo {
        margin-top: 20px;
    }
    header#nh {
        overflow: hidden;
    }
    #top header#nh {
        padding: 0 10px;
    }
    #top #nh #logo {
        width: 80%;
        margin-top: 8px!important;
        margin-left: 0px!important;
        margin-right: 0px;
    }
    #top #mymenu-h {
        top: 0px;
        right: 0px;
        background: #000 url(/images/mymenu.png) center center no-repeat;
        background-size: 36px auto;
        width: 50px;
        height: 50px;
    }
}


/*headerここまで*/

#mainvisial {
    background: #fff000;
    position: relative;
    left: 0px;
    top: 0px;
    height: auto;
    width: 100%;
    max-height: 1000px;
    display: block;
    box-sizing: border-box;
    overflow: hidden;
}

#mainvisial img {
    width: 100%;
    height: auto;
}

#mainvisial .logoimg {
    position: absolute;
    left: 0px;
    bottom: 0px;
    z-index: 10;
    display:none;
    width: 60px;
}

#mainvisial .logoimg .inner {
    position: relative;
}

#mainvisial .logoimg .cover {
    background: #222;
    display: block;
    width: 100%;
    height: 0%;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 20;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    transition-duration: 1s;
}

#mainvisial .logoimg .cover.move1 {
    height: 100%;
}

#mainvisial .logoimg .cover.move2 {
    top: 100%;
}

#mainvisial .catch img {
    width: 100%;
    height: auto;
    transition-timing-function: ease-out;
    transition-duration: 0.5s;
}

#mainvisial .logoimg img {
    width: auto;
    height: 360px;
    transition-timing-function: ease-out;
    transition-duration: 0.5s;
}

#mainvisial .logoimg img {
    opacity: 0;
    transform: translate(0, -50px);
}

#mainvisial .logoimg img.view {
    opacity: 1;
    transform: translate(0, 0px);
}

#mainvisial .catch {
    width: 564px;
    position: absolute;
    right: 50%;
    bottom: 30px;
    z-index: 999;
    opacity: 0;
    transform: translate(-100px, 10px);
    margin-right: -160px;
    transition-timing-function: cubic-bezier(.13, .83, .42, .84);
    transition-duration: 0.8s;
}

#mainvisial .catch.view {
    transform: translate(0, 0);
    opacity: 1;
}

#maincover {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: block;
    background: #fff992;
    transition-timing-function: ease-out;
    transition-duration: 1s;
    animation-fill-mode: both;
    opacity: 1;
}

#maincover.fadeout {
    left: 100%;
    height: 100%;
}

#nh #menunaiyo {
    display: none;
}

.swiper {
    position: relative;
}

.swiper-wrapper {
    /* wrapperのサイズを調整 */
    width: 100%;
    opacity: 0;
    transition-timing-function: ease;
    transition-duration: 0.5s;
}

.swiper-wrapper.view {
    opacity: 1;
}

.swiper-slide {
    /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
    /*color: #ffffff;
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 100vh;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    backface-visibility: hidden;
    overflow: hidden;*/
    background-size: cover;
    background-position: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-slide img.imgpc2,
.swiper-slide img.imgsp {
    display: none;
}

@media screen and (max-width:1200px) {
        .swiper-slide img.imgpc {
        display: none;
    }
    .swiper-slide img.imgpc2 {
        display: block;
    }
    #mainvisial {
        max-height: 100%;
    }
    #mainvisial .logoimg {
        width: 5.3vw;
        height: auto;
        display:block;
        
    }
    #mainvisial .logoimg img {
        width: 5.3vw;
        height: auto!important;
        max-height: auto!important;
    }
    #mainvisial .catch {
        width: 564px;
        position: absolute;
        right: 20px;
        bottom: 5px;
        z-index: 999;
        margin-right: 0px;
    }
    #maincover {
        background: #fff000;
    }
}

@media screen and (max-width:768px) {
    #mainvisial {
        padding-top: 50px;
    }
    .swiper-slide img.imgpc2 {
        display: none;
    }
    .swiper-slide img.imgsp {
        display: block;
    }
    #mainvisial .logoimg {
        width: 7.5vw;
        display:block;
    }
    #mainvisial .catch {
        width: 80%;
    }
}


/*headerここまで*/

main {
    font-family: 'Noto Sans JP';
    font-weight: 400;
    line-height: 1.8;
    display: inline;
    font-size: 15px;
    color: #000;
}

main p {
    color: #000;
}

main a {
    color: #000;
}

a img {
    transition: all 0.2s ease;
}

a:hover img {
    opacity: 0.6;
}


/*フォント指定*/

h2.title strong,
#instagram p.instaicon,
#program .point span.num,
.tabmenu,
ul.blognaiyo li dd p.date {
    font-family: 'Oswald';
    font-weight: 500;
}

h2.title strong {
    font-size: 36px;
    color: #000;
}
#program h2{
    text-align:center;
    display:table;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:24px;
}

#program h2.title.jp-b{
    font-family: 'Noto Sans JP', "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, Osaka, Helvetica, sans-serif, "Georgia", "Times New Roman";
    font-weight: 700!important;
    font-size: 20px;
}
#programtitle{
    text-align:center;
    display:table;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:34px;
}
#programtitle p{
    font-family: 'Noto Sans JP', "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, Osaka, Helvetica, sans-serif, "Georgia", "Times New Roman";
    font-weight: 400!important;  
    line-height:1.8;
    font-size:15px;
}
main .txtfont {
    font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, Osaka, Helvetica, sans-serif, "Georgia", "Times New Roman";
}
#program{
    font-family: 'Noto Sans JP', "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, Osaka, Helvetica, sans-serif, "Georgia", "Times New Roman";
    font-weight: 400!important;     
}
#program p{
    font-size:15px;
    color:#000;
}

/*trans設定*/

main img,
main a,
.tabmenu li,
section#opencampus ul li a img,
section#infobanner .infobanner a img,
section#infobanner2 .infobanner a img {
    transition: all 0.2s ease;
    color: #000;
}

main section#tabnews .more a:hover,
#program a:hover {
    text-decoration: none!important;
}

main .more a,
section#tabnews .more a {
    font-weight: 600;
    color: #000;
}

#top_map iframe {
    height: 450px;
}

section#opencampus,
section#infobanner {
    margin-bottom: 60px;
}

section#infobanner2 {
    padding-top: 60px;
    margin-bottom: 0px;
}

section#infobanner {
    padding-top: 60px;
}


/*20220119追加*/

.videoarea {
    margin: 0px auto 50px auto;
    width: 723px;
    position: relative;
}

#video {
    cursor: pointer;
}

video {
    display: block;
}

video:active,
video:focus {
    border: none!important;
}

@media screen and (max-width:723px) {
    .videoarea {
        width: 100%;
        margin: 0px auto 10vh auto;
    }
    .videoarea video {
        width: 100%;
        height: auto;
    }
}

section#infobanner .infobanner-waku,
section#infobanner2 .infobanner-waku {
    text-align: center;
}

section#infobanner .infobanner,
section#infobanner2 .infobanner {
    margin: 0px auto;
    max-width: 743px;
    text-align: center;
    box-sizing: border-box;
    padding: 0 10px;
}

section#infobanner2 .infobanner {
    margin-bottom: 20px;
}

section#infobanner2 .infobanner:last-child() {
    margin-bottom: 0px;
}

section#infobanner .infobanner {
    display: none;
}

section#infobanner .infobanner:nth-child(1) {
    display: block;
}

section#infobanner h2.title {
    margin: 0px auto 20px auto;
    display: table;
    font-size: 20px;
    text-align: center;
}

section#infobanner h2.title strong {
    display: inline-block;
    font-size: 24px;
    margin: 0 5px;
}

section#infobanner h2.title:before {
    content: "＼";
}

section#infobanner h2.title:after {
    content: "／";
}

section#infobanner .infobanner a,
section#infobanner2 .infobanner a {
    background: #fff;
    display: block;
}

section#infobanner2 .infobanner {
    margin-bottom: 10px;
}

section#infobanner .infobanner img,
section#infobanner2 .infobanner img {
    border: solid 1px #000;
    box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.2);
    max-width: 100%;
    height: auto;
}

.topbg1 {
    /* background: url(../images/bg_box2.gif);*/
    background: url(../images/topbg2023.jpg);
    display: block;
    background-size: cover;
    overflow: hidden;
    background-attachment: fixed;
    padding-top:60px;
    padding-bottom:40px;
}

.topbg2 {
    /* background: url(../images/bg_box2.gif);*/
    background: url(../images/topbg2023-2.jpg);
    display: block;
    overflow: hidden;
    background-attachment: fixed;
}

@media screen and(max-width:680px) {
    .topbg1 {
        /* background: url(../images/bg_box2.gif);*/
        background: url(../images/topbg2023.jpg);
        background-size: auto 600px;
        background-attachment: scroll;
    }
    .topbg2 {
        /* background: url(../images/bg_box2.gif);*/
        background: url(../images/topbg2023-2.jpg);
        background-size: auto 600px;
        background-attachment: scroll;
    }
}

section#opencampus h2.title {
    margin: 0px auto 20px auto;
    display: table;
    font-size: 14px;
    text-align: center;
}

section#opencampus h2.title strong {
    display: block;
    margin-bottom: 0.5em;
}

section#opencampus ul {
    max-width: 980px;
    margin: 0px auto;
    flex-wrap: wrap;
    display: flex;
    justify-content: center;
    align-items: center;
}

section#opencampus ul li {
    width: 50%;
    box-sizing: border-box;
    padding: 10px 10px 20px 10px;
}

section#opencampus ul li a {
    background: #fff000;
    display: block;
    max-width: 450px;
}

section#opencampus ul li a img {
    border: solid 1px #000;
    box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.2);
    max-width: 100%;
    height: auto;
}

section#tabnews {
    /*background: #fffff7 url(../images/bg_yellowstripe.jpg);*/
    /*background: #fffee9;*/
    background: #000 url(../images/bg_blackstripe.jpg);
    color: #fff;
    padding: 0px 0 0px 0;
    margin-bottom: 100px;
}

section#tabnews a p,
section#tabnews dd {
    color: #fff;
    font-weight: 300;
}

section#tabnews .more {
    position: relative;
    top: 20px;
    margin-top: 0px;
}

#program {
    max-width: 1024px;
    margin: 0px auto 30px auto;
}

#bunshoarea {
    max-width: 1024px;
    margin: 0px auto 0px auto;
    padding-bottom: 60px;
}

#bunshoarea .custom1 {
    border: solid 1px #ccc;
    padding: 30px 30px 24px 30px;
    margin-bottom: 30px;
    background: #fff;
}

#bunshoarea .custom1 h2 {
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: 600;
}

#bunshoarea .box-top2 h2 {
    display: table;
    margin: 0px auto 20px auto;
    background: #fff100;
    font-size: 24px;
    font-weight: 700;
    padding: 18px 24px;
    position: relative;
}

#bunshoarea .box-top2 h2:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -16px;
    border: 15px solid transparent;
    border-top: 15px solid #fff100
}

#bunshoarea .box-top2 {
    margin-bottom: 30px;
}

#bunshoarea h3 {
    border-left: solid 5px #000;
    padding: 5px 0px 5px 10px;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 10px;
}

#bunshoarea .custom1 p.coment,
#bunshoarea p.msg {
    line-height: 1.8;
}

#bunshoarea p.msg {
    margin-bottom: 10px;
}

#bunshoarea p.msg:last-child {
    margin-bottom: 0px;
}

#program {
    display: flex;
    flex-wrap: wrap;
    padding: 40px 0 50px 0;
}
#programtitle{
    width:100%;
}

#program .point {
    width: 50%;
    position: relative;
    display: flex;
    align-items: stretch; /* 子要素の高さを揃える */
    box-sizing: border-box;
}

#program .point p.setumei {
    margin: 0 10px 0px 10px;
    line-height: 1.6;
    display:table;
    margin-right:auto;
    margin-left:auto;
    max-width:350px;
    padding-bottom:10px;
}

#program .point:nth-child(2) ,
#program .point:nth-child(3) {
    padding-bottom: 16px;
}
#program .point:nth-child(2n+2) {
    padding-right: 8px;
}

#program .point:nth-child(2n+1) {
    padding-left: 8px;
}


#program .point:nth-child(1),
#program .point:nth-child(2){
    margin-bottom: 40px;
}

#program .point h3 {
    font-weight: 600;
    font-size: 26px;
    background: #000;
    margin: 0px auto;
    display: table;
    padding: 10px 16px 11px 16px;
    line-height: 1.4;
    color: #fff;
    margin-top: -24px;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

#program .point .photo {
    background: #fff100;
    height: 300px;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

#program .point a:hover .photo img {
    opacity: 1;
}

#program .point.topfadeUp a .photo .photocover2 {
    position: absolute;
    left: 0%;
    top: 0px;
    width: 0%;
    height: 300px;
    display: block;
    background: rgba(255, 241, 0, 0.5);
    z-index: 1;
    transition-duration: 0.5s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
#program .point.topfadeUp a.-open .photo{
    transition-duration: 0.5s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

#program .point a.-close .photo .photocover2 {
    top: 0px;
}

/*#program .point.topfadeUp a.-open .photo .photocover2 {
    top: 0px;
    left: 0px;
    width: 100%;
    height: 300px;
}*/
#program .point.topfadeUp a.-open .photo{
    transform:scale(0.95);
}
#program .point.topfadeUp a.-close .photo{
    transform:scale(1);
}
#program .point.topfadeUp a{
    position: relative;
    display: flex; /* インライン要素の高さが0になるのを防ぐ */
    align-items: center; /* 必要に応じて中央揃え */
    width: 100%; /* 幅を揃える */
    flex-direction: column;
    text-decoration: none; /* 不要な場合は下線を消す */
}
#program .point.topfadeUp a .overcolor{
    transition-duration: 1s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    position:absolute;
    z-index:-1;
    background:#fff000;
    height:100%;
    box-sizing:border-box;
    left:0%;
    top:-3px;
    width: 100%;
    opacity:0;
    display:block;
}
#program .point.topfadeUp a .overcolor.custom{
    height:110%;
}
#program .point:nth-child(2n+1).topfadeUp a .overcolor{
    height:100%;
    box-sizing:border-box;
    left:0px;
    top:-3px;
}
#program .point.topfadeUp a.-open .overcolor{
    opacity:1;
}
#program .point.topfadeUp a.-close .overcolor{
    opacity:0;
}


@media screen and (max-width:768px) {
    #program{
        margin-right:10px;
        margin-left:10px;
    }
    #program .point{
        width:100%;
    }
    #program .point.topfadeUp a .photo .photocover2 {
        height: 0px;
    }
    #program .point.topfadeUp a.-open .photo .photocover2 {
        top: 0px;
        height: 0%;
    }
    #program .point:nth-child(2n+1) {
        padding-right: 0px;
    }
    
    #program .point:nth-child(2n+2) {
        padding-left: 0px;
    }
    

    #program .point.topfadeUp a .overcolor{
        width: calc(100% - 0px);
    }
    #program .point:nth-child(2n+1).topfadeUp a .overcolor{
        left:0px;
        width: calc(100% - 0px);
    }
    #program .point.topfadeUp a .overcolor.custom{
        height:100%;
    }
}

#program .point .photocover {
    position: absolute;
    left: 0px;
    width: 100%;
    background: #fff;
    height: 300px;
    z-index: 1;
    display: block;
    top: 0px;
}

#program .point .photo img {
    width: 100%;
    height: auto;
}

#program .point span.num {
    font-size: 60px;
    font-weight: 500;
    position: absolute;
    left: 50%;
    z-index: 2;
    color: #000;
    top: 0px;
    transform: translate(-50%, 0%);
}

#program .point a {
    display: block;
}


/*move*/


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

#program .span.num {
    animation-delay: 0.1s;
}

#program .span.num,
#program h3,
#program p {
    opacity: 0;
}

.topfadeUp span.num {
    animation-name: topfadeupAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
    transition-timing-function: ease-out;
}

.topfadeUp h3,
.topfadeUp p {
    animation-name: topfadeupAnime2;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
    opacity: 0;
    transition-timing-function: ease-out;
}

.topfadeUp .photocover {
    animation-name: topfadeupAnime3;
    animation-duration: 0.4s;
    animation-fill-mode: forwards;
    transition-timing-function: ease-out;
}

.topfadeUp:nth-child(2) span.num,
.topfadeUp:nth-child(2) .photocover {
    animation-delay: 0.3s;
}

.topfadeUp:nth-child(2) h3,
.topfadeUp:nth-child(2) p {
    animation-delay: 0.5s;
}

.topfadeUp:nth-child(3) span.num,
.topfadeUp:nth-child(3) .photocover {
    animation-delay: 0.5s;
}

.topfadeUp:nth-child(3) h3,
.topfadeUp:nth-child(3) p {
    animation-delay: 0.7s;
}

.topfadeUp:nth-child(4) span.num,
.topfadeUp:nth-child(4) .photocover {
    animation-delay: 0.8s;
}

.topfadeUp:nth-child(4) h3,
.topfadeUp:nth-child(4) p {
    animation-delay: 1s;
}

.topfadeUp:nth-child(5) span.num,
.topfadeUp:nth-child(5) .photocover {
    animation-delay: 1.1s;
}

.topfadeUp:nth-child(5) h3,
.topfadeUp:nth-child(5) p {
    animation-delay: 1.3s;
}

.topfadeUp:nth-child(6) span.num,
.topfadeUp:nth-child(6) .photocover {
    animation-delay: 1.4s;
}

.topfadeUp:nth-child(6) h3,
.topfadeUp:nth-child(6) p {
    animation-delay: 1.6s;
}

@keyframes topfadeupAnime {
    from {
        opacity: 0;
        top: 50px;
    }
    to {
        opacity: 1;
        top: 0;
    }
}

@keyframes topfadeupAnime2 {
    from {
        opacity: 0;
        transform: translate(0, 50px);
    }
    to {
        opacity: 1;
        transform: translate(0, 0px);
    }
}

@keyframes topfadeupAnime3 {
    from {
        left: 0px;
    }
    to {
        left: 100%;
    }
}

section#tabnews #tabnews_inner {
    max-width: 1024px;
    margin: 0px auto;
}

section#tabnews #news {
    width: 100%;
    height: auto;
}

main .more {
    width: 360px;
    margin: 30px auto 3px auto;
}

main .more a {
    width: 360px;
    border: solid 1px #000;
    background: #fff url(../images/i_next2.png) 90% center no-repeat;
    background-size: 20px auto;
    padding: 20px 10px;
    display: block;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    box-sizing: border-box;
    box-shadow: 3px 3px 0px #000;
}

#top_map .more {
    position: relative;
    top: -30px;
    z-index: 10;
    margin-top: 0px;
}


/*スクロールバーの横幅指定*/

section#tabnews .newsnaiyo::-webkit-scrollbar {
    width: 10px;
}


/*スクロールバーの背景色・角丸指定*/

section#tabnews .newsnaiyo::-webkit-scrollbar-track {
    border-radius: 0px;
    background: #666;
}


/*スクロールバーの色・角丸指定*/

section#tabnews .newsnaiyo::-webkit-scrollbar-thumb {
    border-radius: 0px;
    background: #fff100;
}

section#tabnews .twitterarea {
    height: 640px;
    width: 100%;
    max-width: 640px;
    margin: 0px auto 0px auto;
    overflow-y: auto;
    box-sizing: border-box;
    padding: 20px 20px 0px 20px;
    background: #fff;
    border: solid 5px #fff100;
}

section#tabnews .newsnaiyo {
    height: 350px;
    width: 100%;
    overflow-y: auto;
    padding-top: 10px;
    box-sizing: border-box;
    padding: 0 20px;
}

ul.newsnaiyo,
ul.blognaiyo {
    margin: 0px 0 0 0;
    padding: 0px;
}

ul.newsnaiyo li,
ul.blognaiyo li {
    padding: 0 0 12px 0;
    /*border-bottom: dotted 1px #d0cd91;*/
    border-bottom: dotted 1px #000;
    margin-bottom: 12px;
    vertical-align: top;
}

ul.newsnaiyo li:last-child,
ul.blognaiyo li:last-child {
    margin-bottom: 0px;
}

ul.newsnaiyo li dl {
    margin: 0 10px 0 0;
}

ul.newsnaiyo li a {
    color: #fff;
}

ul.newsnaiyo li dt {
    float: left;
    margin: 0px 0 0 0;
    padding-top: 5px;
}

ul.newsnaiyo li dt img {
    width: 57px;
    height: auto;
}

ul.newsnaiyo li dd {
    margin: 0 0 0 74px;
    line-height: 1.6;
    font-size: 15px;
}

ul.blognaiyo {
    display: flex;
    flex-wrap: wrap;
}

ul.blognaiyo li {
    width: 20%;
    border: none;
}

ul.blognaiyo li dt {
    float: none;
    width: 100%;
    height: 160px;
    overflow: hidden;
}

ul.blognaiyo li dt img {
    height: 160px;
    width: 100%;
    object-fit: cover;
}

ul.blognaiyo li dd {
    margin-top: 14px;
    font-size: 15px;
}

ul.blognaiyo li dd p.date {
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
}

ul.blognaiyo li dd p.title {
    line-height: 1.4;
}

.content_tab {
    margin-top: 0px;
    margin-bottom: 0px;
}


/*タブ*/

nav.tabmenubg {
    margin: 0px auto;
    width: 100%;
    position: relative;
    top: -30px;
}

.tabmenu {
    width: 100%;
    overflow: hidden;
    margin: 0px auto;
}

.tabmenu li {
    width: 31.3%;
    float: left;
    position: relative;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin: 0 0 1.5em 0;
    padding: 18px 10px 17px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #000;
    font-size: 24px;
    letter-spacing: 2px;
    padding-left: 9px;
    background: #FFF;
    border: solid 1px #000;
    box-sizing: border-box;
    margin-left: 1%;
    font-weight: 600;
    margin-right: 1%;
    /*border-bottom: solid 3px #000;
    border-right: solid 3px #000;*/
    box-shadow: 3px 3px 0px #000;
}

.tabmenu li.select {
    background: #fff100;
    border: solid 1px #fff100;
    border-bottom: solid 4px #fff100;
    color: #000;
    box-shadow: none;
}

.tabmenu li:before {
    content: "";
    position: absolute;
    bottom: -21px;
    left: 50%;
    margin-left: -13px;
    border: 11px solid transparent;
    border-top: 11px solid #FFF;
    z-index: 2;
}

.tabmenu li:after {
    content: "";
    position: absolute;
    bottom: -28px;
    left: 50%;
    margin-left: -15px;
    border: 14px solid transparent;
    border-top: 14px solid #000;
    z-index: 1;
}

main .more a:hover,
.tabmenu li:hover {
    transform: translate(3px, 3px);
    box-shadow: none;
    text-decoration: none;
    opacity: 1;
}

section#opencampus ul li a:hover img,
section#infobanner .infobanner a:hover img {
    transform: translate(5px, 5px);
    box-shadow: none;
    text-decoration: none;
    opacity: 1;
}

.tabmenu li.select:hover {
    transform: none;
}

.tabmenu li:hover:before {
    bottom: -26px;
    margin-left: -13px;
    border: 13px solid transparent;
    border-top: 13px solid #FFF;
    z-index: 2;
}

.tabmenu li:hover:after {
    bottom: -28px;
    margin-left: -14px;
    border: 14px solid transparent;
    border-top: 14px solid #000;
    z-index: 1;
}

.tabmenu li.select:before,
.tabmenu li.select:hover:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -16px;
    border: 15px solid transparent;
    border-top: 15px solid #fff100
}

.tabmenu li.select:hover:after {
    border: none;
}


/*instagram*/

#instagram {
    background: #fff100;
    overflow: hidden;
    padding: 50px 0 40px 0px;
    margin-bottom:0px;
}

#instagram h2.title,
#top_map h2.title {
    margin: 0px auto 6px auto;
    display: table;
}
#top_map h2.title{
    margin-bottom:30px;
    padding-top:50px;
    font-family: 'Oswald';
    font-weight: 300;
    font-size:20px;
    text-align:center;
    color:#000;
}
#top_map h2.title strong{
    display:block;
    color:#000;
}

#instagram p.instaicon {
    display: table;
    font-size: 18px;
    margin: 0px auto 20px auto;
    padding: 10px 0px 10px 40px;
    background: url(../images/i_instagram2.png) left center no-repeat;
}

.loop_css2 {
    top: -20px;
}

.loop_css2,
.loop_css3 {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    width: 2400px;
    background: #fff100;
    color: #fff100;
    margin: 0;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
}

.loop_css2.none {
    display: none;
}

.loop_css2 ul,
.loop_css3 ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    width: 100%;
    margin: 0;
    padding: 0;
}

.loop_css2 li,
.loop_css3 li {
    display: inline-block;
    width: calc(100vw / 2);
    min-width: 282px;
    margin: 0 9px 0 9px;
    list-style: none;
    text-align: center;
    background: #fff100;
    color: #000;
}

.loop_css2 li a,
.loop_css3 li a {
    display: block;
    -webkit-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    width: 282px;
    background: #fff;
    height: 282px;
    overflow: hidden;
}

.loop_css2 li img,
.loop_css3 li img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.loop_css2 li a:hover,
.loop_css3 li a:hover {
    opacity: .8;
}

.loop_css2 ul:first-child {
    -webkit-animation: loop 200s -100s linear infinite;
    animation: loop 200s -100s linear infinite;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
}

.loop_css3 ul:first-child {
    -webkit-animation: loop4 200s -100s linear infinite;
    animation: loop4 200s -100s linear infinite;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
}

.loop_css2 ul+ul {
    -webkit-animation: loop2 200s linear infinite;
    animation: loop2 200s linear infinite;
}

.loop_css3 ul+ul {
    -webkit-animation: loop5 200s linear infinite;
    animation: loop5 200s linear infinite;
}

.loop_css2:hover ul,
.loop_css3:hover ul {
    /*animation-play-state: paused;*/
}

#view1 {
    display: none;
}

@-webkit-keyframes loop {
    0% {
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
    }
    to {
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@-webkit-keyframes loop4 {
    0% {
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
    }
    to {
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
    }
}

@keyframes loop {
    0% {
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
    }
    to {
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@keyframes loop4 {
    0% {
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
    }
    to {
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
    }
}

@-webkit-keyframes loop2 {
    0% {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }
    to {
        -webkit-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
        transform: translateX(-200%);
    }
}

@keyframes loop2 {
    0% {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }
    to {
        -webkit-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
        transform: translateX(-200%);
    }
}

@-webkit-keyframes loop5 {
    0% {
        -webkit-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
        transform: translateX(-200%);
    }
    to {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes loop5 {
    0% {
        -webkit-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
        transform: translateX(-200%);
    }
    to {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }
}

@media screen and (max-width:768px) {
    main {
        font-size: 13px;
    }
    #mainvisial {
        /*   border: solid 8px #fff100;*/
    }
    #topbanner div.mainimg img.pc,
    #topbanner div.mainimg img.pc2 {
        display: none!important;
    }
    section#opencampus ul li {
        width: 100%;
        box-sizing: border-box;
        padding:0px 20px 5px;
    }
    /*section#opencampus ul li:nth-child(2n+1){
        padding-right:5px;
        padding-left:10px;
    }
    section#opencampus ul li:nth-child(2n+2){
        padding-left:5px;
        padding-right:10px;
    }*/
    section#opencampus ul li:nth-child(1),
    section#opencampus ul li:nth-child(2){
        padding-bottom:8px;
    }
    section#opencampus ul li a {
        margin: 0px auto;
        text-align: center;
    }
    section#opencampus ul li a img,
    section#infobanner .infobanner img {
        box-shadow: none;
        vertical-align:top;
    }
    section#opencampus ul li a:hover img,
    section#infobanner .infobanner a:hover img {
        transform: none;
    }
    section#opencampus ul li a {
        background: none;
    }
    /*instagram*/
    .loop_css2,
    .loop_css3 {
        width: 1000px;
    }
    .loop_css2 li,
    .loop_css3 li {
        min-width: 100px;
        margin: 0 0px 0 0px;
        padding: 0px;
    }
    .loop_css2 {
        top: -10px;
    }
    .loop_css2 li a,
    .loop_css3 li a {
        width: 100px;
        height: 100px;
    }
    .loop_css2 li a img,
    .loop_css3 li a img {
        object-fit: cover!important;
        width: 100%;
        height: 100px!important;
    }
    .loop_css2 ul:first-child {
        -webkit-animation: loop 100s -50s linear infinite;
        animation: loop 100s -50s linear infinite;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        will-change: transform;
    }
    .loop_css3 ul:first-child {
        -webkit-animation: loop4 100s -50s linear infinite;
        animation: loop4 100s -50s linear infinite;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        will-change: transform;
    }
    .loop_css2 ul+ul {
        -webkit-animation: loop2 100s linear infinite;
        animation: loop2 100s linear infinite;
    }
    .loop_css3 ul+ul {
        -webkit-animation: loop5 100s linear infinite;
        animation: loop5 100s linear infinite;
    }
    /*program*/
    #program {
        padding: 10vw 10px 5vw 10px;
    }

    #program .point p.setumei {
        margin: 0 10px 30px 10px;
        line-height: 1.6;
    }
    #program .point:nth-child(2n+1),
    #program .point:nth-child(2n+2),
    #program .point:nth-child(3n+3) {
        padding-right: 0px;
        padding-left: 0px;
    }
    #program .point:nth-child(1),
    #program .point:nth-child(2),
    #program .point:nth-child(3),
    #program .point:nth-child(4),
    #program .point:nth-child(5) {
        margin-bottom: 4vw;
        padding-bottom:0px;
    }
    #program .point h3 {
        font-weight: 600;
        font-size: 5vw;
        background: #000;
        margin: 0px auto;
        display: table;
        padding: 10px 10px 11px 10px;
        line-height: 1.4;
        color: #fff;
        margin-top: -3vw;
        margin-bottom: 10px;
        position: relative;
        z-index: 1;
    }
    #program .point .photo {
        background: none;
        height: 250px;
        overflow: hidden;

    }
    #program .point .photo img {
        width: 100%;
        height: auto;
        height: 250px;
    }
    #program .point span.num {
        font-size: 50px;
    }
    /*tabmenu*/
    .tabmenu li {
        margin: 0 1% 10px 1%;
        padding: 10px 6px 8px 6px;
        min-width: auto;
        max-width: 100%;
        color: #000;
        font-weight: 400;
        font-size: 16px;
        letter-spacing: 0px;
        box-shadow: none;
    }
    .tabmenu li:hover {
        transform: none;
    }
    section#tabnews .newsnaiyo {
        height: 250px;
        width: 100%;
        overflow-y: auto;
        padding-top: 0px;
        box-sizing: border-box;
        padding: 0 10px;
    }
    ul.newsnaiyo li dt img {
        position: relative;
        left: -5px;
    }
    ul.newsnaiyo li dd {
        margin: 0 0 0 74px;
        line-height: 1.6;
        font-size: 13px;
    }
    ul.blognaiyo {
        margin-left: 10px;
        width: auto;
    }
    ul.blognaiyo li {
        width: 50%;
        border: none;
    }
    ul.blognaiyo li dt {
        float: none;
        width: 100%;
        height: 120px;
        overflow: hidden;
    }
    ul.blognaiyo li dt img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    section#tabnews .twitterarea {
        height: 350px;
        width: auto;
        padding: 10px 10px 0px 10px;
        margin-right: 10px;
        margin-left: 10px;
    }
    main .more {
        margin-right: auto;
        margin-left: auto;
        width: 300px;
    }
    main .more a {
        width: 300px;
        border: solid 1px #000;
        background: #fff url(../images/i_next2.png) 90% center no-repeat;
        background-size: 10px auto;
        padding: 10px 10px;
        font-size: 15px;
    }
    #program {
        margin: 0px auto 0vw auto;
    }
    #bunshoarea {
        padding: 0 10px 10vw 10px;
    }
    #bunshoarea .custom1 {
        border: solid 1px #ccc;
        padding: 10px 10px 10px 10px;
        margin-bottom: 6vw;
    }
    #bunshoarea .top-spkakoi {
        border: solid 1px #ccc;
        padding: 10px 10px 10px 10px;
        margin-bottom: 6vw;
        background: #fff;
    }
    #bunshoarea .custom1 h2 {
        margin-bottom: 15px;
        font-size: 15px;
        line-height: 1.4;
        font-weight: 600;
    }
    #bunshoarea .box-top2 {
        margin-bottom: 0px;
    }
    #bunshoarea .box-top2 h2 {
        margin: 0px auto 14px auto;
        font-size: 15px;
        font-weight: 600;
        padding: 20px 20px;
        /*margin-left: -10px;
                margin-right: -10px;*/
    }
    #bunshoarea .box-top2 h2:before {
        display: none;
    }
    #bunshoarea h3 {
        font-size: 15px;
        font-weight: 600;
    }
    #top_map iframe {
        height: 250px;
    }
    #topbanner div.mainimg img.pc {
        display: none;
    }
    #topbanner div.mainimg img.pc2 {
        display: none;
    }
    #topbanner div.mainimg img.sp {
        display: block;
    }
    .bm30 {
        margin-bottom: 30px!important;
    }
    #top_map h2.title strong{
        font-size:24px;

    }
}


/** VARIABLES
===================================*/


/** RESET AND LAYOUT
===================================*/

.bx-wrapper {
    position: relative;
    margin-bottom: 0px;
    padding: 0;
    *zoom: 1;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
}

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

.bxslider {
    margin: 0;
    padding: 0;
}

ul.bxslider {
    list-style: none;
}

.bx-viewport {
    /*fix other elements on the page moving (on Chrome)*/
    -webkit-transform: translatez(0);
}


/** THEME
===================================*/

.bx-wrapper {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    background: none;
}

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


/* LOADER */

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


/* PAGER */

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

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

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

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

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

.bx-wrapper .bx-next:hover,
.bx-wrapper .bx-next:focus {
    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;
}


/* AUTO CONTROLS (START / STOP) */

.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:hover,
.bx-wrapper .bx-controls-auto .bx-start.active,
.bx-wrapper .bx-controls-auto .bx-start:focus {
    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:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active,
.bx-wrapper .bx-controls-auto .bx-stop:focus {
    background-position: -86px -33px;
}


/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */

.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;
}


/* IMAGE CAPTIONS */

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

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

ul#teacherinsta{
    max-width:1000px;
    margin-right:auto;
    margin-left:auto;
    width:100%;
    display:flex;
    flex-wrap:wrap;
}
ul#teacherinsta li{
    width:25%;
    box-sizing:border-box;
    padding:2px;
}
ul#teacherinsta li p{
    font-weight:400!important;
    line-height:1.6;
    margin-top:10px;
    overflow: hidden;
    color:#fff;
    margin-bottom:20px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* 任意の行数を指定 */
}

ul#teacherinsta li .el_square {
    position: relative;
    background:yellow;
  }

  ul#teacherinsta li .el_square::before {
    content: "";
    display: block;
    padding-top: 100%;  /*ここを75%にすると4:3の長方形になる*/
  }

  ul#teacherinsta li .el_square img,
  ul#teacherinsta li .el_square video {
    position: absolute;
    width: 100%;
    height: 100%!important;
    top: 0;
    object-fit: cover;
  }


@media screen and (max-width:768px){
    ul#teacherinsta{
        flex-wrap:wrap;
    }

    ul#teacherinsta li:nth-child(2n+1){
        width:50%;   
        padding-left:20px;
        padding-right:2px;
    }
    ul#teacherinsta li:nth-child(2n+2){
        width:50%;   
        padding-left:2px;
        padding-right:20px;
    }
}