@charset "UTF-8";
/* color */
/* blue: #005d97 */
/* green: #8dc21f */
/* base */
html, body { height: 100%; }
body { color: #333; font-family: 'Hiragino Kaku Gothic Pro', Meiryo, Arial, 'MS PGothic', sans-serif; font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-size: 14px; line-height: 1.8; background: #fff; -webkit-font-smoothing: antialiased; }
p { margin: 20px 0; }
a { color: #069; }
img { max-width: 100%; }
input, textarea { font-size: 100%; }
/* body */
.wrapper { position: relative; height: 100%; }
.header-page { background: #005d97; }
.header-page .header-nav a:after { background: #8dc21f; }
.header { position: absolute; width: 100%; height: 140px; z-index: 100; }
.header-logo { position: absolute; top: 30px; left: 50px; width: 60px; }
.header-logo-mb { display: none; }
.header-nav { text-align: center; margin-top: 40px; }
.header-nav .header-nav-index { display: none; }
.header-nav li { display: inline-block; position: relative; margin: 0 10px; padding-bottom: 10px; list-style: none; }
.header-nav a { display: inline-block; position: relative; color: #fff; font-size: 12px; font-weight: bold; text-decoration: none; transition: all .2s; }
.header-nav a:after { content: ""; display: block; position: absolute; left: 0; bottom: -7px; width: 100%; height: 5px; background: #005d97; transform: scale(0); transition: all .2s; }
.header-nav a:hover:after { transform: scale(1); }
.header-nav strong { display: block; font-family: 'Roboto', sans-serif; font-size: 16px; }
.header-nav li:hover ul, .header-nav li.active ul { opacity: 1; transform: scale(1); }
.header-nav ul ul { position: absolute; min-width: 100%; margin-top: 10px; background: rgba(0,0,0,0.5); opacity: 0; transform: scale(0); transition: opacity .3s; text-align: left; }
.header-nav ul ul li { display: block; margin: 0; padding: 0; }
.header-nav ul ul a { display: block; color: #fff; font-size: 13px; padding: 7px 15px; white-space: nowrap; }
.header-nav ul ul a:hover { background: rgba(0,0,0,0.2); }
.header-nav ul ul a:after { display: none; }
.header-mb { display: none; }
.kv { position: relative; height: 800px; min-height: 400px; background: #005d97; opacity: 0; overflow: hidden; z-index: 10; }
.kv-txt { position: absolute; display: table; color: #fff; font-family: 'Roboto', sans-serif; font-weight: 300; top: 0; left: 0; width: 100%; height: 100%; z-index: 8; }
.kv-txt-inner { display: table-cell; vertical-align: middle; text-align: center; }
.kv-slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 7; }
.kv-slide>div { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.kv-slide-1 { background-image: url(../images/pic-kv-1.jpg); }
.kv-slide-2 { background-image: url(../images/pic-kv-2.jpg); }
.kv-slide-3 { background-image: url(../images/pic-kv-3.jpg); }
.kv-txt-1 { font-size: 72px; }
.kv-txt-2 { font-size: 36px; }
.kv-counter { position: absolute; left: 0; bottom: 0; color: #fff; font-family: 'Roboto', sans-serif; font-size: 18px; font-style: italic; width: 100%; height: 80px; line-height: 80px; background: rgba(0,0,0,0.3); text-align: center; z-index: 9; }
.kv-counter div { display: inline-block; }
.kv-counter span { font-size: 30px; margin: 0 5px 0 10px; }
/* top */
.sec { box-sizing: border-box; display: flex; justify-content: center; align-items: center; min-height: 600px; padding: 50px 20px; }
.sec>div { opacity: 0; }
.sec-blue { background: #005d97; }
.sec-blue a { color: #fff; }
.sec-grey { background: #f5f5f5; }
.sec-ttl { color: #005d97; font-family: 'Roboto', sans-serif; font-size: 30px; font-weight: 300; font-style: italic; width: 100%; margin: 0 0 30px; text-align: center; }
.sec-blue .sec-ttl { color: #fff; }
.sec-1-1 { width: 400px; }
.sec-1-2 { width: 300px; }
.sec-3-1 { width: 600px; padding: 0 20px; }
.sec-3-2 { width: 400px; }
.lic-box { text-align: center; }
.lic-box>div { display: inline-block; margin: 15px; }
.lic-box a { display: block; text-decoration: none; }
.lic-box a:hover span:nth-child(1) { border-radius: 125px; }
.lic-box span { display: block; }
.lic-box span:nth-child(1) { position: relative; width: 250px; height: 250px; border-radius: 3px; transition: all .3s; overflow: hidden; z-index: 2; }
.lic-box span:nth-child(1) img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.lic-box span:nth-child(2) { font-family: 'Roboto', sans-serif; font-size: 30px; font-weight: 300; margin-top: 5px; }
.bnr-slide { position: relative; width: 720px; margin: 0 auto; padding: 50px; background: #f5f5f5; }
.bnr-prev, .bnr-next { position: absolute; top: 50%; width: 50px; height: 50px; margin-top: -25px; background: #005d97; cursor: pointer; }
.bnr-prev { left: -50px; }
.bnr-next { right: -50px; }
.bnr-prev img, .bnr-next img { transition: all .2s; }
.bnr-prev:hover img { transform: translate(-10px, 0); }
.bnr-next:hover img { transform: translate(10px, 0); }
.bnr-box { width: 100%; height: 100%; overflow: hidden; }
.bnr-box ul { display: block; position: relative; width: 9999px; }
.bnr-box li { display: block; float: left; }
/* footer */
.footer { padding: 50px 20px 100px; background: #f5f5f5; }
.footer-inner { position: relative; width: 940px; margin: 0 auto; }
.gototop { position: absolute; top: -50px; right: 0; width: 50px; height: 50px; background: #005d97; cursor: pointer; overflow: hidden; }
.gototop img { transition: all .2s; }
.gototop:hover img { transform: translate(0, -10px); }
.footer-logo { width: 150px; }
.footer-nav { display: flex; font-size: 12px; margin-top: 30px; padding-top: 30px; border-top: solid 1px #ddd; }
.footer-nav ul { margin-left: 40px; list-style-type: none; }
.footer-nav a { color: #333; text-decoration: none; }
.footer-mb { display: none; }
/* page */
.h1 { display: block; position: relative; height: 440px; line-height: 1.5; background: #005d97; overflow: hidden; }
.h1-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center bottom; background-repeat: no-repeat; opacity: 0; z-index: 1; }
.h1-w .h1-txt { color: #fff; }
.h1-txt { position: relative; display: block; color: #005d97; font-size: 16px; font-weight: bold; width: 940px; margin: 0 auto; padding-top: 230px; opacity: 0; z-index: 2; }
.h1-txt strong { display: block; font-size: 45px; font-family: 'Roboto', sans-serif; font-weight: 300; }
.topicpath { background: #f5f5f5; }
.topicpath ul { display: block; width: 940px; font-size: 12px; height: 40px; line-height: 40px; margin: 0 auto; }
.topicpath li { display: block; float: left; margin-right: 5px; padding-right: 15px; background: url(../images/ico-topicpath.png) center right no-repeat; background-size: 7px; list-style: none; }
.topicpath li:last-child { background: none; }
.topicpath a { color: #999; text-decoration: none; }
.main { width: 940px; margin: 0 auto; padding: 40px 0; }
.main:after { content: ""; display: block; clear: both; }
.main h2 { clear: both; font-size: 24px; margin: 30px 0; padding-bottom: 20px; border-bottom: solid 1px #ddd; }
.main ol { margin-left: 20px; }
/* tabs */
.tabs { position: relative; height: 60px; overflow: hidden; border-bottom: solid 1px #ddd; }
.tab { box-sizing: border-box; float: left; color: #999; font-size: 21px; width: 33%; height: 100%; line-height: 60px; padding: 0 10px; text-align: center; cursor: pointer; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.tab-pointer { position: absolute; left: 0; bottom: 0; width: 33%; height: 5px; background: #005d97; }
.tab.active { color: #005d97; cursor: default; }
.tab-item { padding: 20px 0; }
/* news */
.tbl-news { width: 100%; margin: 20px 0; border-top: solid 1px #ddd; border-collapse: collapse; }
.tbl-news td { padding: 15px 15px 15px 0; border-bottom: solid 1px #ddd; }
.tbl-news td:nth-child(1), .tbl-news td:nth-child(2) { white-space: nowrap; }
.tbl-news td:nth-child(2) span { display: block; color: #fff; font-size: 12px; padding: 2px 5px; background: #8dc21f; text-align: center; }
.tbl-col { width: 100%; margin: 20px 0; border-top: solid 1px #ddd; border-collapse: collapse; }
.tbl-col td { padding: 15px 0; border-bottom: solid 1px #ddd; }
.tbl-col p { margin: 5px 0; }
.tbl-col a { font-size: 18px; font-weight: bold; }
.col-label li { display: inline-block; color: #fff; font-size: 12px; padding: 2px 5px; background: #8dc21f; list-style: none; }
.col-pic { width: 180px; }
/* license */
.tbl-lic { width: 100%; border-collapse: collapse; }
.tbl-lic th, .tbl-lic td { padding: 10px; border: solid 1px #ddd; text-align: left; }
.tbl-lic th { width: 100px; background: #f5f5f5; }
.tbl-lic td th { width: 50px; }
.tbl-lic p { margin: 0; }
.tbl-lic table { width: 100%; }
.lic-label { display: inline-block; color: white; font-size: 12px; font-weight: normal; padding: 0 3px; background: #999; }
.tbl-voice th { width: 250px; }
.pic-inst { border: solid 10px #eee; border-radius: 2px; }
.pic-certificate { max-width: 200px; }
/* admission */
.tbl-adm th { width: 140px; }
.tbl-adm td th { width: auto; }
.steps { display: table; font-size: 16px; width: 100%; }
.steps>div { background: #f5f5f5; margin-bottom: 10px; }
.steps>div>span { display: table-cell; padding: 10px 20px; vertical-align: middle; }
.steps>div>span:first-child { color: #fff; font-weight: bold; background: #8dc21f; white-space: nowrap; text-align: center; }
.pic-member { color: #fff; font-size: 13px; font-weight: bold; margin-bottom: 20px; }
.pic-member>div { display: table; margin-bottom: 10px; padding: 10px; border-radius: 4px; }
.pic-member>div>div { display: table-cell; width: 50%; padding: 10px; border-radius: 3px; }
.pic-member>div:first-child { background: #6fb92c; }
.pic-member>div:last-child { background: #004385; }
.pic-member>div:first-child div:last-child { background: #c3d600; }
.pic-member>div:last-child div:last-child { background: #0076a8; }
.pic-member strong { display: block; font-size: 21px; }
/* form */
input[type=text], input[type=email], textarea { box-sizing: border-box; width: 100%; padding: 5px 10px; border: solid 1px #ddd; border-radius: 0; -webkit-appearance: none; }
input[type=date] { padding: 5px 10px; border: solid 1px #ddd; border-radius: 0; }
input[type=text].short { width: 120px; }
textarea { height: 200px; }
.tbl.tbl-contact th { width: 180px; }
.tbl.tbl-contact td { padding-right: 0; }
.tbl.tbl-contact table { width: 100%; }
.tbl.tbl-contact table th { width: 100px; }
.tbl.tbl-contact table tr:first-child th, .tbl.tbl-contact table tr:first-child td { padding-top: 0; }
.tbl.tbl-contact table tr:last-child th, .tbl.tbl-contact table tr:last-child td { padding-bottom: 0; border: none; }
/* parts */
.box-basic { margin-bottom: 20px; padding: 20px; border-radius: 5px; background: #f5f5f5; }
.box-basic p { margin: 10px 0; }
.btn { box-sizing: border-box; display: inline-block; color: #fff; font-weight: bold; padding: 7px 20px 7px 30px; border: none; border-radius: 2px; background: url(../images/ico-btn.png) 15px 50% #005d97 no-repeat; background-size: 6px; text-decoration: none; outline: none; cursor: pointer; transition: all .3s; -webkit-appearance: none; }
.btn:hover { opacity: 0.8; }
.btn-l { font-size: 16px; padding: 15px 60px; border-radius: 3px; background-image: none; }
.btn-s { padding: 2px 10px; background-image: none; }
.hover-box { display: block; position: relative; line-height: 0; }
.hover-box:after { content: ""; box-sizing: border-box; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: solid 0 #005d97; transition: all .2s; }
.hover-box:hover:after { border-width: 7px; }
img.right { float: right; margin: 0 0 30px 30px; }
img.left { float: left; margin: 0 30px 30px 0; }
img.center { display: block; margin: 0 auto 20px; }
.img-box { line-height: 0; padding: 10px; background: #f5f5f5; text-align: center; }
p.center { text-align: center; }
.style-l { font-size: 16px; }
.style-note { color: #999; font-size: 12px; }
.style-hissu { display: inline-block; float: right; color: #fff; font-size: 11px; font-weight: bold; padding: 0 5px; border-radius: 2px; background: #c00; }
.tbl { width: 100%; margin: 20px 0; border-top: solid 1px #ddd; border-collapse: collapse; }
.tbl th, .tbl td { padding: 15px 10px 15px 0; border-bottom: solid 1px #ddd; text-align: left; vertical-align: top; }
.tbl p { margin: 0 0 10px 0; }
.tbl img { vertical-align: top; }
.youtube { position: relative; padding-bottom: 53.5%; padding-top: 30px; height: 0; overflow: hidden; }
.youtube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
