@charset "UTF-8";

* {
	box-sizing: border-box;
	outline: none;
}
html {
    color: #222;
    font-size: 16px;
    line-height: 1.4;
    scroll-behavior: smooth;
}
::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}
body{
    font-size: .875rem;
    margin: 0;
    padding: 0;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
a {
	text-decoration: none;
	color: inherit;
	display: block;
	transition: all 0.2s ease;
    cursor: pointer;
}
main a::after { content: ''; background-image: url("../images/icon_arrow_blue.svg"); background-size: contain; display: inline-block; width: .75rem; height: .75rem; margin-left: 4px; background-repeat: no-repeat; background-position: center center; }
main a.noArw::after { content: none; }
main a { color: #0347B4; font-weight: 600; }
audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}
ul, ul li {
    list-style: none;
    padding-left: 0;
}
li { margin-bottom: 10px; }
ol { padding-left: 20px; }
ul, p, ol { margin-top: 0; }
img, svg, video, canvas {
    max-width: 100%;
    height: auto;
}
table { border-collapse: collapse; }
h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.17rem; }
h4 { font-size: 1.00rem; }
h5 { font-size: 0.85rem; }
h6 { font-size: 0.67rem; }
h1, h2, h3, h4, h5, h6 { margin-top: 0; }
main { overflow-x: hidden; }
header { position: fixed; padding: 10px 20px; width: 100vw; background-color: rgba(255,255,255,.85); display: flex; justify-content: space-between; z-index: 9; }
header > div { height: 40px; }
header > div:last-child { width: calc( 100vw - 360px ); max-width: 840px; display: flex; justify-content: flex-end; }
header #logo img { height: 40px; width: auto; }
header ul { display: flex; justify-content: space-around; width: 100%; margin-bottom: 0; }
header li { display: block; margin: 0 15px; line-height: 40px; }
header li a { font-weight: bold; }

#firstview { padding: 20px 0 100px; display: flex; justify-content: center; align-items: center; background-image: url("../images/bg_mv.svg"); background-repeat: no-repeat; background-size: cover; background-position: 50% 50%; flex-direction: column; }
#firstview #siteTitle { width: 50vw; min-width: 180px; height: auto; z-index: 3; }
#firstview h1 { font-size: 2vw; color: #222; text-shadow: 0 0 12px rgba(61,222,255,.15); /* animation: fuwafuwa 4s infinite; */ z-index: 2; text-align: center; margin-bottom: 50px; }

/* Common */
.flexBetween { justify-content: space-between; }
.flexCenter { justify-content: center; }
.flexEnd { justify-content: flex-end; }
.flex { display: flex; }
.circleClip { width: 30vw; max-width: 360px; overflow: hidden; border-radius: 15vw; box-shadow: 0 0 20px 0 rgba(0,0,0,.05); }
.tal { text-align: left; }
.tac {text-align: center; }
.tar { text-align: right; }

/* Type */
.type, .type > span { opacity: 0; }
h1.type { font-size: 2.4rem; background: linear-gradient(90deg, #333333, #266FFF); -webkit-background-clip: text; -webkit-text-fill-color: rgba(255,255,255,0.0); }

#footer { display: flex; justify-content: center; position: relative; }
footer { width: 100vw; padding: 50px 15px 80px; background-color: rgba(3,71,180,.1); }

#pagetop { position: fixed; bottom: 80px; right: 40px; z-index: 9; }
#pagetop a { display: block; width: 32px; height: 32px; background-image: url("../images/icon_arrow.svg"); }

/* fadeIn */
.fadeInAnim { opacity: 0; }
.revealFadeIn { -webkit-animation-name: fadeIn; animation-name: fadeIn; -webkit-animation-duration: 2000ms; animation-duration: 2000ms; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-delay: .6s; animation-delay: .6s; }
@-webkit-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* fadeInUp */
.fadeInUpAnim { opacity: 0; }
.revealFadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; -webkit-animation-duration: 1000ms; animation-duration: 1000ms; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-delay: .4s; animation-delay: .4s; }
.revealFadeInUp:nth-child(2n) { -webkit-animation-delay: .6s; animation-delay: .6s; }
.revealFadeInUp:nth-child(3n) { -webkit-animation-delay: .8s; animation-delay: .8s; }
@-webkit-keyframes fadeInUp { from { opacity: 0; -webkit-transform: translateY(160px); transform: translateY(160px); } to { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } }
@keyframes fadeInUp { from { opacity: 0; -webkit-transform: translateY(160px); transform: translateY(160px); } to { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } }

/* Alignment */
@media (min-width: 768px) {
    .alignmentAnim, .alignment img { opacity: 0; }
    .revealAlignmentL, .revealAlignmentR { -webkit-animation-duration: 1000ms; animation-duration: 1000ms; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-delay: .4s; animation-delay: .4s; }
    .revealAlignmentL { -webkit-animation-name: alignmentL; animation-name: alignmentL; }
    .revealAlignmentR { -webkit-animation-name: alignmentR; animation-name: alignmentR; }
    .alignment .revealAlignmentL img, .alignment .revealAlignmentR img, .alignment .fadeInAnim img { opacity: 1; }
}
@-webkit-keyframes alignmentL { from { opacity: 0; -webkit-transform: translateX(240px); transform: translateX(240px); } to { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } }
@keyframes alignmentL { from { opacity: 0; -webkit-transform: translateX(240px); transform: translateX(240px); } to { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } }
@-webkit-keyframes alignmentR { from { opacity: 0; -webkit-transform: translateX(-240px); transform: translateX(-240px); } to { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } }
@keyframes alignmentR { from { opacity: 0; -webkit-transform: translateX(-240px); transform: translateX(-240px); } to { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } }

@media (max-width: 767px) {
    .alignmentAnim, .alignment img { opacity: 0; }
    .revealAlignmentL, .revealAlignmentR { -webkit-animation-duration: 1000ms; animation-duration: 1000ms; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-delay: .4s; animation-delay: .4s; }
    .revealAlignmentL { -webkit-animation-name: fadeIn; animation-name: fadeIn; }
    .revealAlignmentR { -webkit-animation-name: fadeIn; animation-name: fadeIn; }
    .alignment .revealAlignmentL img, .alignment .revealAlignmentR img, .alignment .fadeInAnim img { opacity: 1; }
}

#top_copy01 { margin: 0 auto; max-width: 640px; }

/* Content */

.link { margin: 60px auto; width: 50vw; min-width: 290px; }
.link a { line-height: 4vw; border-radius: 2vw; color: #fff; background-image: linear-gradient(to right, #0347B4,#008aee); font-size: 1.25vw; text-align: center; font-weight: bold; }
.link a::after, .wht a::after { background-image: url("../images/icon_arrow_wht.svg"); }
.link.external a::after { background-image: url("../images/icon_external.svg"); width: 1rem; height: 1rem; }
#flow .link { margin: 60px auto 30px; }

#homeNews { margin-top: -40px; width: 100%; display: flex; line-height: 40px; position: relative; }
#homeNews #homeNewsHeader { background-color: rgba(3,71,180,.75); color: #fff; font-weight: bold; width: 80px; text-align: center; }
#homeNews ul { margin-bottom: 0; background-color: rgba(255,255,255,.5); width: calc( 100vw - 80px ); background: linear-gradient(90deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.5) 50%, rgba(255,255,255,0) 100%); height: 40px; overflow: hidden; }
#homeNews ul > li { display: flex; justify-content: flex-start; margin-bottom: 0; width: calc( 100vw - 80px ); }
#homeNews ul > li > div { white-space: nowrap; overflow-x: hidden; padding-left: 10px; padding-right: 10px; }
#homeNews ul > li > div:first-child { width: 80px; }
#homeNews ul > li > div:first-child a::after { content: none; }
#homeNews ul > li > div:last-child { overflow-x: scroll; width: calc( 100vw - 170px ); }

#homeNews #welcome { position: absolute; bottom: 40px; left: 15vw; z-index: 5; animation: welcome 4s infinite; }
#homeNews #welcome img { width: 20vw; }
@keyframes welcome { 0% { transform: translateX(0px); } 50% { transform: translateX(200px); } 100% { transform: translateX(0px); } }
@keyframes welcomeXs { 0% { transform: translateX(0px); } 50% { transform: translateX(120px); } 100% { transform: translateX(0px); } }
#banner { display: flex; justify-content: center; }
#banner img { width: 760px; }
#banner a { margin: 30px 0; }

section.content { padding: 90px 15px 30px; text-align: center; background-image: url("../images/bg_section.svg"); background-repeat: no-repeat; background-size: cover; background-position: top; display: flex; justify-content: center; flex-direction: column; }
section.content:nth-child(even) { /* background-image: none; */ }
section.content h1 { }

.balloon, #balloonUnit_theme { width: 440px; margin-left: auto; margin-right: auto;  }
#fig_tree { width: 900px; margin: 0 auto; }

.blueCircle { max-width: 1280px; margin-left: auto; margin-right: auto; display: flex; justify-content: space-between; }
.blueCircle li { background: rgb(38,111,255); background: linear-gradient(180deg, rgba(38,111,255,1) 0%, rgba(3,71,180,1) 100%); color: #fff; font-weight: bold; width: 260px; height: 260px; border-radius: 150px; display: flex; justify-content: center; align-items: center;  flex-direction: column; border: 6px solid #fff; box-shadow: 0 0 8px rgba(0,0,0,.2); margin: 0 20px 20px; }
.blueCircle li small { display: block; font-size: 1rem; margin-bottom: 0; }
.blueCircle li h3 { display: block; font-size: 2rem; margin-bottom: 0; }

#fig_flow { width: 86vw; max-width: 1200px; margin: 0 auto; }

#studyCase { max-width: 1280px; margin: 0 auto 60px; }
#studyCase > li { padding: 20px; width: 360px; background-color: #fff; box-shadow: 0 0 5px rgba(0,0,0,.12); margin: 0 20px 15px; }
#studyCase > li > h2 { color: #0347B4; }
#studyCase > li > h3 { font-size: .85rem; }
#studyCase > li > ul > li { border: 1px solid rgba(3,71,180,.2); line-height: 32px; font-weight: bold; }
#studyCase > li > ul > li:last-child { margin-bottom: 0; }

#lecture { max-width: 1200px; margin: 0 auto 30px; }
#lecture li { width: 560px; }
#lecture li:first-child { margin-right: 40px; }
#lecture li > iframe { margin-bottom: 15px; }
#lecture li > h4 { margin-bottom: 5px; }
#lecture li > p.theme { background-color: rgba(204,218,249,0.32); padding: 8px 16px; font-weight: 600; }

#legoMovie { margin-left: auto; margin-right: auto; }
#legoMovie > iframe { width: 640px; height: 479.811097992916175px; }

#projectCase, #exercisePix { max-width: 1200px; margin: 0 auto 10px; }
#projectCase > li, #exercisePix > li { text-align: left; width: calc( ( 100vw - 150px ) / 3 ); background-color: #fff; box-shadow: 0 0 5px rgba(0,0,0,.12); margin: 0 20px 15px; }
#projectCase > li > img { min-width: 100%; }
#projectCase > li > div { padding: 20px; }
#projectCase > li > div > h2 { font-size: 1.125rem; }
#projectCase > li > div > h3 > span { font-size: .75rem; margin-left: 5px; }
#projectCase > li > div > ul { display: flex; flex-direction: row; flex-wrap: wrap; }
#projectCase > li > div > ul > li { border: 1px solid #63D0FF; padding: 3px 6px; margin: 8px 8px 0 0; font-size: .64rem; font-weight: bold; white-space: nowrap; width: auto; }
#exercisePix > li { background: none; box-shadow: 0 0 0 rgba(0,0,0,0); text-align: center; }
#exercisePix > li > p { margin-top: 5px; }

#projectCase > li > div > h3 { margin-bottom: 0; }
h3.summary { font-size: 1.15rem; }
#support small { font-size: 64%; }

/* slick */
.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: #fff;
    border: none;
    outline: none;
    background: #999;
    border-radius: 10px;
}
.slick-prev:before { content: '<'; }
.slick-next:before { content: '>'; }
.slick-prev:before, .slick-next:before {
    font-size: 1.25rem;
    line-height: .25rem;
    font-weight: bold;
    opacity: .75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-prev { left: 25px; z-index: 99; }
.slick-next { right: 25px; }

.center { opacity: 0; }
.center.slick-initialized { opacity: 1; }

.slick-list { max-height: 440px; min-height: 360px; }
#teachersSlick {  }
#teachersSlick div.slick-slide { width: 200px; height: 350px; position: relative; }
#teachersSlick div.slick-slideslick-center { height: 380px; }
#teachersSlick div.slick-slide div.profPix { width: 200px; padding-top: 90px; transition: all .5s ease-in-out; opacity: .64; }
#teachersSlick div.slick-slide div.profPix img { margin-bottom: 15px; border-radius: 50%; }
#teachersSlick div.slick-slide.slick-center div.profPix { width: 280px; height: 25vw; padding-top: 60px; margin-bottom: 15px; opacity: 1; }
#teachersSlick div.slick-slide.slick-center div.profPix h3 { margin-top: 2.25vw; }

#teachersSlick div.slick-slide .comment { display: flex; opacity: 0; position: absolute; top: 0; transition: all 0.2s ease; z-index: 9999; }
#teachersSlick div.slick-slide .keywords { display: flex; opacity: 0; position: absolute; bottom: -15px; transition: all 0.2s ease; }
#teachersSlick div.slick-slide.slick-center .comment { opacity: 1; display: flex; justify-content: center; padding-top: 5px; }
#teachersSlick div.slick-slide.slick-center .comment .commentInner { background-color: rgba(255,255,255,.86); padding: 8px 10px; font-weight: bold; font-size: .8rem; box-shadow: 0 0 4px rgba(0,0,0,.25); border-radius: 10px; margin-left: -30px; margin-right: -30px; }
#teachersSlick div.slick-slide.slick-center .keywords { opacity: 1; flex-wrap: wrap; width: 100%; }

#teachersSlick div.slick-slide .keywords > div { height: 20px; }
#teachersSlick div.slick-slide .keywords > div:first-child { width: 50%; }
#teachersSlick div.slick-slide .keywords > div:nth-child(2) { width: 50%; }
#teachersSlick div.slick-slide .keywords > div:nth-child(3 ) { width: 100%; display: flex; justify-content: center; margin-top: 10px; }
#teachersSlick div.slick-slide .keywords > div > span { background-color: #D9F4FF; font-size: .7rem; font-weight: bold; padding: 3px 8px 3px 8px; border-radius: 10px; white-space: nowrap; box-shadow: 0 0 2px rgba(0,0,0,.2); opacity: 0; }
#teachersSlick div.slick-slide.slick-center .keywords > div > span { opacity: 1; }
#teachersSlick div.slick-slide .keywords > div > span::before { content: '#'; }

#teachersSlick div.slick-slide { position: relative; display: flex; justify-content: center; }
.slick-list { pointer-events: none; padding: 0 30px 50px !important; }

.profPix h3 { font-size: 1rem; }
.profPix h3 span { font-size: .75rem; margin-left: 4px; font-weight: normal; }

#teachers .link { margin-top: 20px; }

@media (max-width: 1480px) {
    #teachersSlick div.slick-slide { height: 24vw; }
}
@media (max-width: 1599px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: 0px; }
}
@media (max-width: 1399px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: 5px; }
}
@media (max-width: 1299px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: 5px; }
}
@media (max-width: 1199px) {
    .slick-list { min-height: 410px; }
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: -60px; }
}
@media (max-width: 1099px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: -90px; }
}
@media (max-width: 999px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: -110px; }
}
@media (max-width: 899px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: -120px; }
}
@media (max-width: 799px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: -110px; }
}
@media (max-width: 699px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: -190px; }
}
@media (max-width: 599px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: -210px; }
}
@media (max-width: 499px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: -230px; }
}
@media (max-width: 399px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: -250px; width: calc(100vw - 30px); }
}
@media (max-width: 370px) {
    #teachersSlick div.slick-slide.slick-center .keywords { bottom: -220px; }
}



#bmd, #features_summary, #common_curriculum { width: 1200px; margin: 0 auto; }
#bmd > img, #common_curriculum > img { display: none; }
#bmd > img.show, #common_curriculum > img.show { display: block; transition: all .5s ease-in-out; }
img.show.dispXs { display: none !important; }
@media (max-width: 767px) { img.show.dispXs { display: block !important; } }

.reserchUL { display: flex; flex-wrap: wrap; max-width: 1180px; margin: 0 auto; justify-content: center; }
.reserchUL li { display: block; border: 1px solid #0347b4; border-radius: 2rem; font-weight: bold; margin: 10px; line-height: 2rem; padding: 0 15px; }

.btn_more > span { border: 1px solid rgba(3,71,180,.5); line-height: 2rem; padding: 8px 10px; }
.btn_more > span::after { width: 20px; height: 14px; content: ''; background-image: url("../images/icon_more.svg"); background-size: contain; display: inline-block; background-position: center center; background-repeat: no-repeat; margin-left: 4px; }

#researchListMore, #futureListMore { display: none; }

#futureGraph { display: flex; margin: 0 auto; }
#futureGraph li { max-width: 480px; margin: 0 15px 15px; }
#futureGraph li > h2 { font-size: 4rem; margin-bottom: 20px; }
#futureGraph li > div { display: flex; justify-content: center; padding-bottom: 20px; }
#futureGraph li > div > img { width: 400px; }
#futureGraph li > p { font-size: .75rem; }

.futureURL li { border-color: #63d0ff; border-radius: 0; }

#fig_tutor { width: 80vw; max-width: 600px; margin: 0 auto 40px; }

.voicesList, .abroadList { display: flex; margin: 0 auto; width: 1160px; justify-content: space-between; margin-top: 80px; flex-wrap: wrap; margin-bottom: -80px; }
.voicesList li, .abroadList li { position: relative; background-color: #fff; box-shadow: 0 0 4px rgba(0,0,0,.25); padding: 75px 15px 15px; width: 560px; margin-bottom: 100px; }
.voicesList li .pix, .abroadList li .pix { position: absolute; top: -60px; left: calc( 50% - 60px ); }
.voicesList li .pix img, .abroadList li .pix img { width: 120px; border: 5px solid #fff; box-shadow: 0 0 4px rgba(0,0,0,.25); }
.voicesList li > h3, .abroadList li > h3 { font-size: .95rem; }
.voicesList li > h4, .abroadList li > h4 { font-size: .8rem; font-weight: normal; }
.abroadList li > .broadInfo { margin-bottom: 0; padding-bottom: 0; }
.voicesList li > .broadInfo > p, .abroadList li > .broadInfo > p { margin-bottom: 2px; font-size: .8rem; }
.voicesList li > .broadInfo > h3, .abroadList li > .broadInfo > h3 { font-size: .9rem; }
.abroadList li > .broadInfo > h4 { font-size: .8rem; }
.voicesList li > .broadInfo > h2 { font-size: 1.125rem; margin-bottom: 0; display: none; }

@media (min-width: 1201px) {
    .voicesList li:last-child { margin-left: auto; margin-right: auto; }
    .abroad.voicesList li:last-child { margin-left: inherit; margin-right: inherit; }
}

.qHead { position: relative; z-index: 2; }
.qHead::before { content: "Q"; color: rgba(99,208,255,.25); font-size: 4rem; position: absolute; left: 48%; top: -2rem; z-index:-1; }
.voicesList .qHead::before { font-size: 2.5rem; position: absolute; left: 48%; top: -1.2rem; z-index:1; }

#message div.flex.flexCenter > div { width: 50%; padding: 30px; max-width: 600px; align-items: center; }
section#message iframe { width: 100%; height: calc( 100% - 2px ); }

.faqBox { margin: 0 auto; width: 1120px; text-align: left; }
.faqBox .qBox { background-color: rgba(3,71,180,.05); font-weight: bold; margin-bottom: 12px; position: relative; display: flex; }
.faqBox .qBox > span { padding: 5px 30px 5px 10px; display: inline-block; }
.faqBox .qBox::before { content: 'Q'; font-weight: bold; background-color: rgba(3,71,180,.2); color: #0347b4; display: inline-block; text-align: center; padding: 5px 10px; }
.faqBox .qBox::after { content: ''; background-image: url("../images/mrk_none.svg"); position: absolute; right: 8px; width: 20px; height: 30px; background-repeat: no-repeat; background-position: center center; }
.faqBox .aBox { padding: 0 10px 15px 40px; line-height: 1.5rem; display: none; }
.faqBox .cat { margin-bottom: 30px; }

#faqMore { max-width: 400px; margin: 0 auto; width: 80%; }
.faqMore { display: none; }

#examLink { max-width: 1200px; margin: 0 auto 40px; display: flex; justify-content: space-around; }
#examLink li { width: 200px; margin: 0 10px; height: 120px; display: flex; align-items: center; justify-content: center; background-color: rgba(3,71,180,1); color: #fff; font-weight: bold; font-size: 1.25rem; }
#examLink li a::after, #btn_navi a::after { content: none; }
#btn_navi { max-width: 340px; margin: 0 auto; }

.hideXs { display: block; }
.dispXs { display: none; }

footer { text-align: center; }
.footerNav { max-width: 1200px; margin: 0 auto 40px; flex-wrap: wrap; justify-content: center; }
.footerNav li { margin: 0 10px 5px; padding: 5px 10px; }
.footerNav li a { font-weight: bold; }
address { font-style: normal; }

/* Footer Banner */

#footerBnr { width: 100vw; display: flex; justify-content: center; position: fixed; bottom: 0; z-index: 9999; background: rgba(61,174,255,.9); background: linear-gradient(125deg, rgba(61,174,255,0.9) 0%, rgba(177,255,255,0.9) 50%, rgba(61,174,255,0.9) 100%); color: #0347b4; font-weight: bold; text-shadow: 0 0 2px rgba(255,255,255,1); line-height: 50px; font-size: 1.25rem; }
#footerBnr span { padding: 5px 12px; background-color: rgba(255,80,0,1.00); border-radius: 20px; font-size: .8rem; margin-left: 15px; }
.hidden-xs { display: block; }
.visible-xs { display: none !important; }


/*---------------------------
	high priority
----------------------------*/
.noBorder { border-width: 0 !important; }

.mb0 { margin-bottom: 0px !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }

.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }

#xsMenu { display: none; }
#xsMenu span { display: inline-block; box-sizing: border-box; position: absolute; left: 0; width: 100%; height: 4px; background-color: #333; }
#xsMenu.active span { background-color: #333; }
#xsMenu span:nth-of-type(1) { top: 0; }
#xsMenu.active span:nth-of-type(1) { transform: translateY(12px) rotate(-45deg); }
#xsMenu span:nth-of-type(2) { top: 12px; }
#xsMenu.active span:nth-of-type(2) { opacity: 0; }
#xsMenu span:nth-of-type(3) { bottom: 0; }
#xsMenu.active span:nth-of-type(3) { transform: translateY(-12px) rotate(45deg); }

nav#hiddnMenu.open { transform: translateZ(0); }
nav#hiddnMenu {
    width: 85vw;
    height: 100%;
    padding: 20px;
    background-color: rgb(0,0,0,.8);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    transform: translate(-100vw);
    transition: all .5s;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
nav#hiddnMenu ul { flex-direction: column; width: 100%; margin-top: 20px; margin-bottom: 20px; }
nav#hiddnMenu ul li {
    color: #fff;
    text-align: center;
    padding: 6px 15px;
    width: 100%;
    margin-bottom: 10px;
    font-size: .95rem;
    font-weight: bold;
}

.freeze { position: fixed; z-index: -1; width: 100%; height: 100%; }

.hideMd { display: block; }
.dispMd { display: none; }
.icon_zoom { display: none; }
.inline { display: inline-block; }
.modaal-content-container { padding: 10px; }

@media (max-width: 1200px) {
    .hideMd { display: none; }
    .dispMd { display: block; }
    #headerNav { display: none; }
    .blueCircle { flex-wrap: wrap; justify-content: center; max-width: 600px; }
    #xsMenu { display: inline-block; width: 36px; height: 28px; vertical-align: middle; cursor: pointer; top: 5px; left: 0; z-index: 100; transform: translateX(0); transition: transform .5s; position: relative; }
    #studyCase, #projectCase, #researchArchive, .abroaderList, #curriculum, #experimentCase, #examLink, .voicesList { flex-direction: column; }
    #studyCase > li, #projectCase li, #researchArchive > li, .abroadList li, .voicesList li { width: calc( 100vw - 30px ); margin: 0 0 15px; }
    .abroadList li, .voicesList li { margin: 0 0 80px; }
    #researchArchive > li { max-width: inherit; }
    #studyKeywords > li { padding: 5px 10px; font-size: .8rem; }
    .reserchUL li { padding: 0 10px; font-size: .8rem; line-height: 1.75rem; margin: 6px; }
    #bmd, #features_summary, #common_curriculum { width: 92vw; }
    #curriculum li, #examLink li { width: calc( 100vw - 30px ); max-width: inherit; margin: 0 0 20px; }
    #curriculum li:nth-child(-n+2) > p { display: none; }
    #curriculum li div { font-size: .85rem; }
    h1.type { font-size: 1.75rem; }
    .abroadList li .pix, .voicesList li .pix { left: calc( 50vw - 75px ); }
    .faqBox { width: calc( 100vw - 30px ); }
    #teachersSlick div.slick-slide.slick-center div.centerContents { margin-left: -40px; padding-top: 10px; }
    #projectCase li iframe { width: calc(100vw - 30px); height: calc((100vw - 30px) * .5625); }
    #lecture { flex-direction: column; }
    #lecture li:first-child { margin-right: 0; }
}
@media (max-width: 1080px) {
    #message div.flex.flexCenter { flex-direction: column; }
    #message div.flex.flexCenter > div { width: 100%; max-width: inherit; padding: 0; }
    #message div.flex.flexCenter > div > div { width: 100%; max-width: inherit; text-align: center; }
    section#message iframe { width: 100%; height: calc(( 100vw - 30px ) * 0.5625 ); margin-top: 30px; }
    #message div.flex.flexCenter > div > img { min-width: 100%; }
    #message div.flex.flexCenter > div > h4:last-child { margin-bottom: 30px; }
}
@media (max-width: 767px) {
    .hideXs { display: none; }
    .dispXs { display: block; }
    .dispMd { display: none; }
    header #logo img, header > div { height: 30px; }
    #xsMenu { top: 2px; width: 30px; height: 26px; left: 5px; }
    #xsMenu span:nth-of-type(2) { top: 11px; }
    #xsMenu.active span:nth-of-type(1) { transform: translateY(10px) rotate(-45deg); }
    #themesXs { margin: 0 -10px 20px !important; }
    #themesXs img { width: 100vw; }
    #bg { background-image: url("../images/bg_mv_xs.svg"); }
    #footerBnr { font-size: .95rem; }
    #footerBnr a { width: 100%; text-align: center; }
    #footerBnr span { font-size: .7rem; margin-left: 6px; padding: 3px 9px; }
    .hidden-xs { display: none !important; }
    .visible-xs { display: block !important; }
    h1.type { font-size: 1.125rem; }
    h3 { font-size: .825rem; line-height: 1.4rem; }
    h3.summary { font-size: .85rem; line-height: 1.35rem; }
    .abroadList li { padding: 75px 6px 15px; }
    .abroadList li > h3 { font-size: .8rem; }
    .abroadList li > h4 { font-size: .75rem; }
    .mb5-xs { margin-bottom: 5px !important; }
    .clm3, #topEcoIn > div { flex-direction: column; }
    .circleClip { width: 100%; max-width: 100%; border-radius: 50vw; }
    .newsBox table, #topEcoIn > div > div:first-child { width: 100%; }
    .newsBox td { display: block; text-align: left !important; }
    .newsBox td:first-child { border-bottom: 1px dotted rgba(0,0,0,.15); }
    .newsBox td:last-child { font-size: .75rem; }
    #pagetop { bottom: 60px; right: 20px; }
    body.home #content article { padding: 20px 0; }
    footer { padding: 20px 15px 80px; }
    footer > div { flex-direction: column-reverse; }
    #footer2nd, #footer2nd > div { flex-direction: column; width: 100%; }
    #footer2nd > div:first-child, #footer2nd > div > div { width: 100%; }
    #footer2nd ul { border-top: 1px solid #ddd; margin-left: -15px; margin-right: -15px; }
    #footer2nd li { border-bottom: 1px solid #ddd; padding: 10px 15px; margin-bottom: 0; }
    #footer2nd h4 { margin-bottom: 15px; }
    .footerInfo { text-align: center; }
    .footerAzul { margin-top: 15px; }
    #launcher { flex-direction: column; }
    #launcher li { width: 80vw; margin-bottom: 20px; }
    #launcher li a { line-height: 30px; }
    .link, #top_copy01 { width: calc( 100vw - 30px ); }
    .link a { line-height: 3rem; font-size: 2.5vw; border-radius: 10vw; }
    #firstview h1 { font-size: 4.5vw; min-height: inherit; }
    #fig_flow { width: 96vw; }
    .content h2 { font-size: 1rem; }
    #experimentCase, #futureGraph, #lifeList { flex-direction: column; }
    #experimentCase li, #futureGraph li, #btn_life { width: calc( 100vw - 30px ); margin: 0 0 15px; }
    #lifeList li { width: calc( 100vw - 120px ); margin: 0 auto 15px; }
    #teachersSlick div.slick-slide.slick-center div.centerContents { width: 100vw; margin-left: 0; }
    #teachersSlick div.slick-slide.slick-center div.profDesc { z-index: 9; }
    .blueCircle { max-width: 100%; }
    .blueCircle li { width: calc( 50vw - 80px ); height: calc( 50vw - 80px ); min-width: 150px; min-height: 150px; border-width: 3px; margin: 0 10px 15px; }
    .blueCircle li h3 { font-size: 1.2rem; line-height: 2rem; margin-bottom: 0; }
    .blueCircle li small { font-size: .9rem }
    #curriculum li { padding: 0 0 15px; }
    section.content { padding: 70px 15px; }
    #flow .link, #teachers .link, #features .link, #research .link, #studyabroad .link { margin: 30px auto 10px; }
    #study .link, #future .link { margin: 10px auto; }
    #showAllKeywords { max-width: calc( 100vw - 30px ); }
    #projectCase { margin: 0 auto 10px; }
    .faqBox .qBox > span, .faqBox .aBox { font-size: .8rem; line-height: 1.25rem; }
    #curriculum h2, #experimentCase h2, #projectCase > li > div > h2 { font-size: 1rem; }
    #experimentCase li > div { padding: 15px; }
    .zoomXs { position: relative; }
    .icon_zoom { display: block; position: absolute; bottom: 10px; right: 10px; width: 20px; height: 20px; background-color: rgba(255,255,255,.5); }
    li iframe { width: calc(100vw - 30px); height: calc((100vw - 30px)* .5625 ); }
    #homeNews #welcome { left: 5vw; animation: welcomeXs 4s infinite; }
    #homeNews #welcome img { width: 40vw; }
    #lecture li, #legoMovie iframe, .voicesList, .abroadList { width: calc(100vw - 30px); }
    #legoMovie iframe { height: calc( ( 100vw - 30px ) * .75 ); }
    #lecture li > p.theme { font-size: .8rem; }
    #exercisePix { flex-wrap: wrap; }
    #exercisePix > li { width: calc(100vw - 30px); margin: 0; }
    .voicesList li > h3, .abroadList li > h3 { font-size: .9125rem; }
    #message h4 { font-size: .825rem; }
    .faqBox .aBox { padding: 0 10px 15px; }
    .voicesList .qHead::before { font-size: 2rem; top: -.1025rem;left: 46%; }
}
@media (max-width: 450px) {
    .link a { line-height: 2.5rem; font-size: 3.5vw; border-radius: 10vw; }
}
/* Styles for Print */

.print { display: none; }
@page {
    size: A4 portrait;
    margin: 0mm;
}
@media print {
    *,
    *::before,
    *::after {
        box-shadow: none !important;
        text-shadow: none !important;
        -webkit-print-color-adjust: exact;
        -webkit-animation-delay: 0 !important;
        animation-delay: 0 !important;
    }
    .print, #themesXs.dispXs { display: block !important; }
    #footerBnr, #footerBnr a, #header, #homeNews { display: none !important; }
    #firstview { -webkit-print-color-adjust: exact !important; }
    
    .type, .type > span, .fadeInUpAnim, .fadeInAnim { opacity: 1 !important; }
    
    h1.type { -webkit-text-fill-color: #000; }
    
    .revealFadeInUp:nth-child(3n) { -webkit-animation-delay: 0 !important; animation-delay: 0 !important; }
    
    #aboutCSI { padding-bottom: 130px; }
    iframe { width: 100%; }
    
/*
    a,
    a:visited {
        text-decoration: underline;
    }
    
    a[href]::after {
        content: " (" attr(href) ")";
    }

    abbr[title]::after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]::after,
    a[href^="javascript:"]::after {
        content: "";
    }
*/
    pre {
        white-space: pre-wrap !important;
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}