﻿@charset "utf-8";

@font-face {
	font-family: 'uec';
	src:url('../font/icon/icomoon.eot?zxcvbnm');
	src:url('../font/icon/icomoon.eot?#iefix') format('embedded-opentype'),
	    url('../font/icon/icomoon.woff?zxcvbnm') format('woff'),
	    url('../font/icon/icomoon.ttf?zxcvbnm') format('truetype'),
	    url('../font/icon/icomoon.svg?zxcvbnm#uec') format('svg');
	font-weight: normal;
	font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
	font-family: 'uec';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.icon-twitter:before { content: "\e600"; }
.icon-youtube:before { content: "\e601"; }
.icon-pause:before { content: "\e018"; }
.icon-play:before { content: "\e01b"; }
.icon-volume-off:before { content: "\e032"; }
.icon-volume-up:before { content: "\e033"; }
.icon-mail:before { content: "\e07c"; }
.icon-map:before { content: "\e1f3"; }
.icon-pin:before { content: "\e1f7"; }
.icon-arrow-left:before { content: "\e207"; }
.icon-arrow-right:before { content: "\e208"; }
.icon-arrow-top:before { content: "\e20a"; }
.icon-arrow-down:before { content: "\e20b"; }
.icon-fullscreen:before { content: "\e20c"; }
.icon-fullscreen-exit:before { content: "\e20d"; }
.icon-new-window:before { content: "\e2a9"; }
.icon-search:before { content: "\e2ca"; }
.icon-zoom-in:before { content: "\e311"; }
.icon-zoom-out:before { content: "\e312"; }

/*-------------------------------------------------

	--> NORMALIZE / ノーマライズ

-------------------------------------------------*/
* { margin: 0; padding: 0; border: 0; outline: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-box-sizing: border-box; box-sizing: border-box }
:after, :before { -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-box-sizing: border-box; box-sizing: border-box }
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video { border: 0; margin: 0; padding: 0; width: auto; height: auto; font-size: 100%; vertical-align: baseline }
table { border-collapse: collapse; width: 100%; }
li, ol, ul { list-style: none }
img { border: none }
a { outline: 0 }
strong { font-weight: 700; }


/*-------------------------------------------------

	--> BASE ELEMENTS / ベース

-------------------------------------------------*/
html { width: 100%; height: auto; font-size: 62.5%; }
body { width: 100%; height: auto; margin: 0; padding: 0; background: #FFF; color: #1C1C1C; font-size: 14px; font-family: "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif; line-height: 1; letter-spacing: 0.075em; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); tap-highlight-color: rgba(0, 0, 0, 0); -webkit-font-smoothing: subpixel–antialiased; font-feature-settings : "palt"; }
.mac body { -webkit-font-smoothing: antialiased; }
a:link { color: #1C1C1C; text-decoration: none; }
a:visited { color: #1C1C1C; text-decoration: none; }
a:hover { color: #1C1C1C; text-decoration: none; }
a:active { color: #1C1C1C; text-decoration: none; }
::selection { color: #FFF; background: #3B3BDA; }
::-moz-selection { color: #FFF; background: #3B3BDA; }


/*-------------------------------------------------

	--> PLUGIN / プラグイン

-------------------------------------------------*/
/* Swiper 3.1.2 Licensed under MIT Released on: August 22, 2015 */
.swiper-container { margin: 0 auto; position: relative; overflow: hidden;	/* Fix of Webkit flickering */ z-index: 1; }
.swiper-container-no-flexbox .swiper-slide { float: left; }
.swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -moz-box-orient: vertical; -ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column; }
.swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-transition-property: -webkit-transform; -moz-transition-property: -moz-transform; -o-transition-property: -o-transform; -ms-transition-property: -ms-transform; transition-property: transform; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; }
.swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); -moz-transform: translate3d(0px, 0, 0); -o-transform: translate(0px, 0px); -ms-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); }
.swiper-container-multirow > .swiper-wrapper { -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; -moz-transition-timing-function: ease-out; -ms-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; }
.swiper-slide { -webkit-flex-shrink: 0; -ms-flex: 0 0 auto; flex-shrink: 0; width: 100%; height: 100%; position: relative; }

/* a11y */
.swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; }

/* IE10 Windows Phone 8 Fixes */
.swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; }
.swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; }

/* Pagination Styles */
.swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; -moz-transition: 300ms; -o-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; }
.swiper-pagination.swiper-pagination-hidden { opacity: 0; }
.swiper-pagination-bullet { width: 8px; height: 8px; display: inline-block; border-radius: 100%; background: #000; opacity: 0.2; }
button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; -moz-appearance: none; -ms-appearance: none; -webkit-appearance: none; appearance: none; }
.swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; }
.swiper-pagination-white .swiper-pagination-bullet { background: #fff; }
.swiper-pagination-bullet-active { opacity: 1; background: #007aff; }
.swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; }
.swiper-pagination-black .swiper-pagination-bullet-active { background: #000; }
.swiper-container-vertical > .swiper-pagination { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); -moz-transform: translate3d(0px, -50%, 0); -o-transform: translate(0px, -50%); -ms-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); }
.swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet { margin: 5px 0; display: block; }
.swiper-container-horizontal > .swiper-pagination { bottom: 10px; left: 0; width: 100%; }
.swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet { margin-left: 0; }

/* Coverflow */
.swiper-container-coverflow .swiper-wrapper { -ms-perspective: 1200px; }

/* Swiper Overwrite */
.swiper-container { position: relative; width: 100%; height: 100%; }
.swiper-container-horizontal > .swiper-pagination { display: inline-block; right: 50px; left: auto; width: auto; bottom: 30px; }
.swiper-pagination-bullet { display: inline-block; margin: 0 2.5px; background: rgba(255, 255, 255, .35); border-radius: 50%; width: 14px; height: 14px; opacity: 1; }
.swiper-pagination-bullet:not(:last-child) { margin-right: 10px; }
.swiper-pagination-bullet-active { background: #FFF; }
.swiper-slide.slide-intro,
.swiper-slide.slide-acceptance { padding: 0 50px; }
.swiper-slide.slide-intro h1 .text-1,
.swiper-slide.slide-intro h1 .text-2 { color: #FFF; font-size: 42px; line-height: 1.5; letter-spacing: .025em; opacity: 0; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); -webkit-transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .1s; transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .1s; }

.mac .swiper-slide.slide-intro h1 .text-1,
.mac .swiper-slide.slide-intro h1 .text-2 { font-weight: 700; -webkit-font-smoothing: antialiased; }
.swiper-slide.slide-intro h1 .text-2 { -webkit-transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .2s; transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .2s; }
.swiper-slide.slide-intro.swiper-slide-active .text-1,
.swiper-slide.slide-intro.swiper-slide-active .text-2 { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.swiper-slide.slide-intro h1 span { font-size: 37px; }

.swiper-slide.slide-second h1 .text-1,
.swiper-slide.slide-second h1 .text-2 { color: #FFF; font-size: 42px; line-height: 1.5; letter-spacing: .025em; opacity: 0; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); -webkit-transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .1s; transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .1s; }
.swiper-slide.slide-second { padding: 0 50px; }
.mac .swiper-slide.slide-second h1 .text-1,
.mac .swiper-slide.slide-second h1 .text-2 { font-weight: 700; -webkit-font-smoothing: antialiased; }
.swiper-slide.slide-second h1 .text-2 { -webkit-transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .2s; transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .2s; }
.swiper-slide.slide-second.swiper-slide-active .text-1,
.swiper-slide.slide-second.swiper-slide-active .text-2 { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.swiper-slide.slide-second h1 span { font-size: 30px; }

.swiper-slide.slide-acceptance h1 { font-size: 62px; color: #FFF; font-weight: bold; letter-spacing: .065em; opacity: 0; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); -webkit-transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .1s; transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .1s; }
.swiper-slide.slide-acceptance h2 { margin: 35px 0; color: #FFF; font-size: 32px; font-weight: normal; opacity: 0; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); -webkit-transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .2s; transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .2s; }
.swiper-slide.slide-acceptance h2 span { font-size: 18px; margin-left: 5px; }
.swiper-slide.slide-acceptance.swiper-slide-active h1,
.swiper-slide.slide-acceptance.swiper-slide-active h2,
.swiper-slide.slide-acceptance.swiper-slide-active a { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.mac .swiper-slide.slide-acceptance.swiper-slide-active h1,
.mac .swiper-slide.slide-acceptance.swiper-slide-active h2,
.mac .swiper-slide.slide-acceptance.swiper-slide-active a { font-weight: 700; -webkit-font-smoothing: antialiased; }

.swiper-slide.slide-acceptance a { font-weight: 700; opacity: 0; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); -webkit-transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .3s; transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .3s; }
.view-pc .swiper-slide.slide-acceptance a:hover { color: #446FC7; background: #FFF; -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.slide-gradient { position: relative; max-width: 980px; margin: 0 auto; padding: 50px 0 40px; z-index: 0; opacity: 0; -webkit-transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s; transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s; background: #2BAEE9; background: -webkit-linear-gradient(-45deg, rgba(43, 174, 233, .9) 10%, rgba(69, 66, 197, .9) 90%); background: -ms-linear-gradient(-45deg, rgba(43, 174, 233, .9) 10%, rgba(69, 66, 197, .9) 90%); background: linear-gradient(-45deg, rgba(43, 174, 233, .9) 10%, rgba(69, 66, 197, .9) 90%); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#2BAEE9', endColorstr='#4542C5', GradientType=1)"; }
.swiper-slide.slide-acceptance.swiper-slide-active .slide-gradient { opacity: 1; }
.slide-gradient:after { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: rgba(255, 255, 255, .05); }

.slide-student-body h1 { color: #FFF; font-size: 48px; margin-bottom: 50px; letter-spacing: 0; }
.mac .slide-student-body h1 { font-weight: 700; }
.slide-student-body h1{ opacity: 0; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); -webkit-transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .1s; transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .1s; }
.slide-student-body a { opacity: 0; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); -webkit-transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .2s; transition: all .65s cubic-bezier(0.390, 0.575, 0.565, 1.000) .2s; }
.view-pc .swiper-slide.slide-student a:hover { color: #446FC7; background: #FFF; -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.swiper-slide.slide-student.swiper-slide-active h1,
.swiper-slide.slide-student.swiper-slide-active a { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

/* Slider Stop */
.is-active .text-1, .is-active .text-2 { opacity: 1 !important; -webkit-transform: translate3d(0, 0, 0) !important; transform: translate3d(0, 0, 0) !important; }

/* Perfect-scrollbar v0.6.5 */
.ps-container { -ms-touch-action: none; overflow: hidden !important; }
.ps-container.ps-active-x > .ps-scrollbar-x-rail, .ps-container.ps-active-y > .ps-scrollbar-y-rail { display: block; }
.ps-container.ps-in-scrolling { pointer-events: none; }
/* Default Bar Color */
.ps-container > .ps-scrollbar-x-rail { position: absolute; background: #D7DEED; bottom: 3px; height: 5px; }
.ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x { position: absolute; background: #3B3BDA; bottom: 0; height: 3px; }
.ps-container > .ps-scrollbar-y-rail { position: absolute;background: #D7DEED;  right: 3px; width: 3px; }
.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y { position: absolute; background: #3B3BDA; right: 0; width: 3px; }
/* Mouse-On Bar Color */
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail { background: #D7DEED; }
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x { background: #3B3BDA; }
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail { background: #D7DEED; }
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y { background: #3B3BDA; }
/* Mouse-Down Bar Color */
.view-pc .ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail { background: #D7DEED; }
.view-pc .ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x { background: #3B3BDA; }
.view-pc .ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail { background: #D7DEED; }
.view-pc .ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y { background: #3B3BDA; }
.view-pc .ps-container:hover > .ps-scrollbar-x-rail:hover { background: #D7DEED; }
.view-pc .ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x { background: #3B3BDA; }
.view-pc .ps-container:hover > .ps-scrollbar-y-rail:hover { background: #D7DEED; }
.view-pc .ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y { background: #3B3BDA; cursor: pointer; }
.view-pc .ps-container:hover.ps-in-scrolling { pointer-events: none; }
.none { display: none; }


/*-------------------------------------------------

	--> COMPONENTS / コンポーネント

-------------------------------------------------*/
/* Micro Clearfix */
.cf:before, .cf:after { content: ""; display: table }
.cf:after { clear: both }
.cf { *zoom: 1 }

/* Centering */
.table { display: table; width: 100%; height: 100%; text-align: center; }
.table-cell { display: table-cell; vertical-align: middle; }

/* Font */
.sans-serif { font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif; }
.serif { font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

/* Background */
.bg-white { background: #FFF; }
.bg-lightgray { background: #F3F5F9; }
.bg-lightblue { background: #E8f7FF; }
.bg-blue { background: #E1EDFA; }
.bg-yellow { background: #FFFDE2; }

/* Text */
.txt-center { text-align: center; }
.txt-left { text-align: left; }
.txt-right { text-align: right; }
.txt-normal { font-weight: 400; }
.txt-bold { font-weight: 700; }
.txt-upper { text-transform: uppercase; }
.txt-small { font-size: 10px; }
.txt-blue { color: #3B3BDA; }
.txt-lightgray { color: #868686; }

/* Content Inner */
.inner { position: relative; max-width: 1020px; margin: 0 auto; padding: 0 20px; }
.inner-l { max-width: 920px; }
.inner-m { max-width: 780px; }
.inner-s { max-width: 640px; }

/* Button */
.btn { display: inline-block; padding: 20px 35px; font-size: 15px; font-weight: bold; min-width: 220px; text-align: center; -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.btn-max { width: 100%; }
.btn-large { font-size: 18px; padding: 25px 25px; }
.btn.blue { color: #FFF; background: #3B3BDA; }
.btn.line { background: transparent; border: 2px solid transparent; }
.btn.line.white { background: transparent; color: #FFF; border: 2px solid #FFF; padding: 15px 35px; }
.btn.line.blue { background: transparent; color: #3B3BDA; border: 2px solid #3B3BDA; padding: 15px 35px; }
.btn.line.purple { background: transparent; color: #625FBD; border: 2px solid #625FBD; padding: 15px 35px;}
.view-pc .btn.blue:hover { background: #2828B3; }
.view-pc .btn.line.blue:hover { background: #3B3BDA; color: #FFF; }
.view-pc .btn.line.purple:hover { background: #625FBD; color: #FFF; }


/*-------------------------------------------------

	--> COMMON / 共通デザイン

-------------------------------------------------*/
.wrapper { position: relative; width: 100%; height: 100%; }
.intro-header { position: relative; margin-top: 125px; width: 100%; height: 280px; background: #F6F6F6; }
.intro-copy { position: relative; padding: 45px 0 60px; text-align: center; }
.intro-copy .btn { position: relative; margin: 0 auto; }
.intro-copy .btn.left { margin-right: 10px; width: 240px; }
.intro-copy .btn.right { margin-left: 10px; width: 240px; }
.intro-copy h3.ring { margin-bottom: 25px; text-align: center; font-size: 13px; height: 50px; line-height: 50px; background: url(../img/bg-ring.png) 50% 50% no-repeat; background-size: contain; }
.intro-copy h2 { margin-bottom: 30px; font-size: 18px; font-weight: bold; text-align: center; letter-spacing: 0.02em; }
.intro-copy p { margin-bottom: 35px; color: #565656; font-size: 14px; text-align: left; line-height: 1.8; letter-spacing: 0.035em; }
ul.point-list { margin-left: 1.5em; }
ul.point-list li { position: relative; color: #565656; margin-bottom: 25px; line-height: 1.35; }
ul.point-list li span { color: #565656; }
ul.point-list li:last-child { margin-bottom: 0; }
ul.point-list li:before { content: ""; display: block; position: absolute; top: 5px; left: -20px; bottom: auto; right: auto; margin: auto; width: 5px; height: 5px; background: #3B3BDA; border-radius: 50%; }
/* Sugpage */
.subpage-header { height: 280px; }
.subpage-header h1 { color: #FFF; font-size: 52px; letter-spacing: 5px; margin-left: -5px; }
.subpage-header h2 { color: #FFF; font-size: 20px; font-weight: normal; margin-top: 10px; }
.mac .subpage-header h1, .mac .subpage-header h2 { font-weight: 700; -webkit-font-smoothing: antialiased; }
.subpage-body { padding: 60px 0; }
.subpage-body h2 { position: relative; font-size: 22px; color: #1C1C1C; margin-bottom: 40px; font-weight: 700; }
.subpage-body h2:before { content: ""; position: absolute; top: -3px; left: -50px; width: 28px; height: 28px; background: url(../img/icon-check.png) no-repeat 50% 50%; background-size: cover; }
.subpage-body p.capture { color: #565656; font-size: 14px; line-height: 1.5; margin-bottom: 40px; }
.subpage-body p.capture-top { font-size: 14px; line-height: 1.5; margin-bottom: 20px; }
.subpage-body p.small-capture { font-size: 13px; color: #868686; line-height: 1.5; }
.subpage-body h3 { position: relative; color: #625FBD; font-size: 16px; font-weight: 700; margin-bottom: 25px; }
.subpage-body h3:before { content: ""; position: absolute; top: 4px; left: -35px; width: 18px; height: 8px; background: url(../img/icon-arrow-right.png) no-repeat 50% 50%; background-size: cover; }
.subpage-body table { table-layout: fixed; border-collapse: separate;
border-spacing: 0; position: relative; width: 100%; }
.subpage-table th { font-weight: bold; }
.subpage-table tr th:first-child,
.subpage-table tr td:first-child { border-left: 1px solid #DDD; }
.bdln { border-left: 0 solid transparent !important; }
.subpage-table tr:first-child th, .subpage-table tr:first-child td { border-top: 1px solid #DDD; }
.subpage-table th, .subpage-table td { vertical-align: middle; text-align: center; padding: 20px 10px; color: #565656; border-right: 1px solid #D3D3D3; border-bottom: 1px solid #D3D3D3; font-size: 13px; line-height: 1.25; }
.subpage-table .caption td { color: #625FBD; font-size: 16px; padding: 15px 20px; font-weight: 700; border-left: 1px solid #DDD; border-right: 1px solid #DDD; border-top: 3px solid #625FBD !important; }
.subpage-table.txt-center th, .subpage-table.txt-center td { text-align: center; }
.subpage-table.txt-left th, .subpage-table.txt-left td { text-align: left; padding: 20px; }
.subpage-table.txt-center th.txt-left { text-align: left; }
.subpage-table th .txt-small, .subpage-table td .txt-small { font-size: 10px; }
.subpage-table.slim th, .subpage-table.slim td { padding: 12.5px 20px; text-align: left; }
.subpage-table.slim td strong { display: block; font-weight: 700; }
.subpage-table.slim td span { font-size: 13px; }
.yellow-cell { display: inline-block; background: #FFFDE2; border: 1px solid #DDD; margin-right: 5px; }
col.w5 { width: 5%; }
col.w10 { width: 10%; }
col.w12 { width: 12%; }
col.w20 { width: 20%; }
col.w30 { width: 30%; }
col.w25 { width: 25%; }
col.w40 { width: 40%; }
col.w50 { width: 50%; }
col.w80 { width: 80%; }
.gradient-line { display: block; position: relative; top: 0; left: 0; width: 100%; height: 2px; background: -webkit-linear-gradient(90deg, #00A1E9 0%, #373682 100%); background: -ms-linear-gradient(90deg, #00A1E9 0%, #373682 100%); background: linear-gradient(90deg, #00A1E9 0%, #373682 100%); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A1E9', endColorstr='#373682', GradientType=1)"; }


/*-------------------------------------------------

	--> 1. HEADER / 共通ヘッダー

-------------------------------------------------*/
.header { position: absolute; top: 0; left: 0; width: 100%; height: auto; background: #FFF; z-index: 99; }
.header.is-fixed { position: fixed; top: -80px; }
.header-top { height: 80px; }
.header-top .inner { display: table; width: 100%; height: 100%; }
.header-top .left, .header-top .right { display: table-cell; vertical-align: middle; width: 50%; }
.header-top .left .logo { float: left; display: block; width: 210px; height: 36px; background: url(../img/logo.png) no-repeat 50% 50%; background-size: cover; }
.header-top .left h1 span { float: left; position: relative; bottom: -8px; font-size: 11px; margin-left: 10px; line-height: 1.35; }
.header-top .right ul { font-size: 0; text-align: right; }
.header-top .right ul li { display: inline-block; font-size: 11px; color: #868686; vertical-align: middle; -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.header-top .right ul li:before { content: ""; width: 0; height: 0; display: inline-block; margin-left: 15px; margin-right: 5px; vertical-align: baseline; border-style: solid; border-width: 3.5px 0 3.5px 5px; border-color: transparent transparent transparent #383582; -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.view-pc .header-top .right ul li:hover:before { -webkit-transform: translate3d(2px, 0, 0); transform: translate3d(2px, 0, 0); }
.header-top .right .tw { margin-left: 30px; margin-right: 10px; }
.header-top .right .tw,   .header-top .right .yt { width: 30px; height: 30px; background: #383582; border-radius: 50%; text-align: center; }
.header-top .right .tw a, .header-top .right .yt a { display: block; width: 100%; height: 100%; color: #FFF; text-align: center; line-height: 30px; }
.header-top .right .tw:before, .header-top .right .yt:before { display: none; }
.view-pc .header-top .right .tw:hover { background: #55ACEE; }
.view-pc .header-top .right .yt:hover { background: #CD201F; }
.header-bottom { height: 45px; background: #F6F6F6; overflow-y: hidden; overflow-x: hidden; }
.header-bottom .inner { overflow-x: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; }
.header-bottom ul { min-width: 980px; }
.header-bottom li { float: left; position: relative; width: 12.5%; width: -webkit-calc(100%/8); width: calc(100%/8); font-size: 12px; font-weight: bold; text-align: center; line-height: 45px; }
.header-bottom li:last-child { width: 12.5%; width: -webkit-calc(100%/8); width: calc(100%/8); }
.header-bottom li:before { content: ""; display: block; position: absolute; top: 0; left: 0; bottom: 0; right: auto; background: #CFCFCF; margin: auto; width: 1px; height: 20px; }
.header-bottom li:last-child:after { content: ""; display: block; position: absolute; top: 0; left: auto; bottom: 0; right: 0; background: #CFCFCF; margin: auto; width: 1px; height: 20px; }
.header-bottom li a { display: block; position: relative; width: 100%; height: 100%; -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.view-pc .header-bottom li:hover a { color: #2828B3; }
/* Active Page Bar */
.header-bottom li a span { display: none; position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; background: #00A1E9; background: -webkit-linear-gradient(90deg, #00A1E9 0%, #373682 100%); background: -ms-linear-gradient(90deg, #00A1E9 0%, #373682 100%); background: linear-gradient(90deg, #00A1E9 0%, #373682 100%);-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A1E9', endColorstr='#373682', GradientType=1)"; }
.page-home       .header-bottom li:nth-child(1) a span { display: block; }
.page-curriculum .header-bottom li:nth-child(2) a span { display: block; }
.page-feature    .header-bottom li:nth-child(3) a span { display: block; }
.page-lecture    .header-bottom li:nth-child(4) a span { display: block; }
.page-student    .header-bottom li:nth-child(5) a span { display: block; }
.page-guide      .header-bottom li:nth-child(6) a span { display: block; }
.page-qa         .header-bottom li:nth-child(7) a span { display: block; }
.page-contact    .header-bottom li:nth-child(8) a span { display: block; }
/* SP Menu */
.menu { position: absolute; top: 12px; right: 15px; width: 36px; height: 36px; border: 1px solid #E3E3E3; cursor: pointer; display: none; }
.menu .line { position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 18px; height: 2px; background: #565656; -webkit-transition: all .35s cubic-bezier(0.645, 0.045, 0.355, 1.000) 0s; transition: all .35s cubic-bezier(0.645, 0.045, 0.355, 1.000) 0s; pointer-events: none; }
.menu .line-1 { top: -10px; -webkit-transform-origin: 0 50% 0; transform-origin: 0 50% 0; }
.menu .line-3 { top: 10px; -webkit-transform-origin: 100% 50% 0; transform-origin: 100% 50% 0; }
.menu.is-open .line-1 { -webkit-transform: translate3d(0, 5px, 0) scale(.25, 1); transform: translate3d(0, 5px, 0) scale(.25, 1); }
.menu.is-open .line-2 { -webkit-transform: scale(.25, 1); transform: scale(.25, 1); }
.menu.is-open .line-3 { -webkit-transform: translate3d(0, -5px, 0) scale(.25, 1); transform: translate3d(0, -5px, 0) scale(.25, 1); }
.header-bottom.is-open { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }


/*-------------------------------------------------

	--> 2. FOOTER / 共通フッター

-------------------------------------------------*/
.footer { position: relative; border-top: 1px solid #EFEFEF; }
.footer-top { position: relative; }
.footer-top .inner { padding: 40px 20px 25px; }
.footer-top .left { position: relative; }
.footer-top .left a { display: inline-block; color: #000076; font-size: 12px; border-bottom: 1px solid #000076; line-height: 1.35; }
.footer-top .left span { display: inline-block; padding: 0 5px; }
.footer-top .left .logo { display: block; width: 210px; height: 36px; margin-bottom: 17px; background: url(../img/logo.png) no-repeat 50% 50%; background-size: cover; border-bottom: 0 none; }
.footer-top .right { position: absolute; top: 40px; right: 20px; }
.footer-box { vertical-align: top; display: inline-block; font-size: 0; padding: 15px; width: 290px; min-height: 85px; border: 1px solid #E3E3E3; -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.view-pc .footer-box:hover { border: 1px solid #3B3BDA; }
.footer-box:first-child { margin-right: 25px; }
.footer-box h5 { font-size: 12px; font-weight: bold; margin-bottom: 10px; text-transform: uppercase; }
.footer-box h5 span { display: inline-block; font-size: 14px; margin-right: 5px; vertical-align: bottom; }
.footer-box p { color: #272727; font-size: 12px; line-height: 1.25; }
.footer-bottom { position: relative; }
.footer-bottom .inner { padding: 25px 0 50px; border-top: 1px solid #F2F2F2; max-width: 980px; }
.footer-bottom ul { font-size: 0; }
.footer-bottom ul li { display: inline-block; font-size: 12px; margin-right: 20px; letter-spacing: 0; }
.footer-bottom ul li a { -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.footer-bottom ul li.tw { margin-right: 10px; }
.view-pc .footer-bottom ul li:hover a { color: #3B3BDA; }
.view-pc .footer-bottom ul li.tw:hover a { color: #55ACEE; }
.view-pc .footer-bottom ul li.yt:hover a { color: #CD201F; }
.footer-bottom ul li a { color: #565656; }
.footer-bottom .copyright { position: absolute; top: 25px; right: 0; color: #BCBCBC; font-size: 11px; }

/* 学生の声リンクバナー */
.student-voice-wrap { position: relative; width: 100%; height: 240px; z-index: 0; }
.student-voice-wrap .table { text-align: left; }
.student-voice-wrap .inner { height: 100%; }
.student-voice-wrap .bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: url(../img/header-student.jpg) 50% 50%; background-size: cover; }
.student-voice-wrap .bg::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .15); }
.student-voice-wrap .m-header-set { text-align: left; }
.student-voice-wrap .m-header-set h3, .student-voice-wrap .m-header-set h4 { color: #FFF; }
.student-voice-wrap a.btn { position: absolute; top: 50%; right: 20px; margin-top: -20px; }
.view-pc .student-voice-wrap a.btn:hover { color: #625FBD; background: #FFF; }
.student-voice-wrap .header-set { color: #FFF; }
.student-voice-wrap h3 { font-size: 24px; font-weight: 700; margin-bottom: 15px; }
.student-voice-wrap h4 { font-size: 13px; }


/*-------------------------------------------------

	--> 3. HOME / ホーム

-------------------------------------------------*/
.home-header { height: 480px; }
.home-header .slide-intro { background: url(../img/header-top-slider-intro.jpg) 50% 50% no-repeat; background-size: cover; }
.home-header .slide-second { background: url(../img/header-top-slider-second.jpg) 50% 50% no-repeat; background-size: cover; }
.home-header .slide-acceptance { background: url(../img/header-top-slider-acceptance.jpg) 50% 50% no-repeat; background-size: cover; }
.home-header .slide-student { background: url(../img/header-top-slider-student.jpg) 50% 50% no-repeat; background-size: cover; }
.home.points { position: relative; }
.home-point { position: relative; height: 435px; z-index: 0; }
.home-point .inner { position: relative; max-width: 560px; min-width: 540px; height: 350px; height: -webkit-calc(100% - 140px); height: calc(100% - 140px); margin: 0; padding: 50px; }
.home-point ul { margin-left: 1.5em; }
.home-point ul li { font-weight: 700; }
.home-point ul li span { color: #625FBD; }
.home-point ul li:last-child { margin-bottom: 0; }
.home-point h2 { color: #625FBD; font-size: 18px; font-weight: bold; height: 90px; line-height: 90px; padding-left: 50px; border-top: 3px solid #625FBD; border-bottom: 1px solid #ECEBFF; }
.home-point .left { position: relative; float: left; width: 50%; height: 100%; overflow: hidden; z-index: 0; }
.home-point .right { position: relative; float: right; width: 50%; height: 100%; overflow: hidden; z-index: 0; }
.home-point-2 .right { float: left; }
.home-point-1 .right:after, .home-point-2 .right:after, .home-point-3 .right:after { content: ""; display: block; position: absolute; top: 90px; left: -10px; width: 100%; height: 100%; background: #FFF; z-index: -1; }
.home-point-2 .right:after { left: auto; right: -10px; }
.home-point-1 .left { position: absolute; top: 0; left: 0; width: -webkit-calc(50% + 10px); width: calc(50% + 10px); background: url(../img/bg-home-point-1.jpg) 50% 50% no-repeat; background-size: cover; z-index: -1; }
.home-point-2 .left { position: absolute; top: 0; right: 0; width: -webkit-calc(50% + 10px); width: calc(50% + 10px); background: url(../img/bg-home-point-2.jpg) 50% 50% no-repeat; background-size: cover; z-index: -1; }
.home-point-3 .left { position: absolute; top: 0; left: 0; width: -webkit-calc(50% + 10px); width: calc(50% + 10px); background: url(../img/bg-home-point-3.jpg) 50% 50% no-repeat; background-size: cover; z-index: -1; }
.home-point-1 h2, .home-point-3 h2 { background: url(../img/bg-clip-title-right.png) 0 50% no-repeat; background-size: 10px 90px; }
.home-point-2 h2 { background: url(../img/bg-clip-title-left.png) 100% 50% no-repeat; background-size: 10px 90px; }
.home-point h2 span { display: inline-block; width: 100%; height: 100%; padding-left: 50px; }
.home-point-1 h2 span { background: url(../img/icon-study.png) 0 50% no-repeat; background-size: 32px 32px; }
.home-point-2 h2 span { background: url(../img/icon-pen.png) 0 50% no-repeat; background-size: 32px 32px; }
.home-point-3 h2 span { padding-left: 50px; background: url(../img/icon-portfolio.png) 0 50% no-repeat; background-size: 32px 32px; }
.home-point-2 h2 span { display: block; float: right; width: 100%; max-width: 490px; padding-left: 50px; }
.home-point-2 .inner { float: right; }
.home-point .btn { position: absolute; bottom: 0; font-size: 15px; font-weight: bold; }
.home-news { padding: 70px 0; }
.home-news h2 { display: table; font-size: 24px; font-weight: bold; margin-bottom: 35px; }
.home-news h2 span { display: table-cell; padding-left: 10px; vertical-align: middle; color: #8F8F8F; font-size: 11px; font-weight: normal; letter-spacing: 0; }
.home-news-box { position: relative; display: block; width: 100%; height: 145px; overflow: hidden; }
.home-news-inner { height: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; }
.home-news-inner ul { -webkit-overflow-scrolling: touch; overflow-scrolling: touch; }
.home-news-inner ul li { position: relative; font-size: 13px; margin-bottom: 15px; padding-left: 85px; padding-right: 15px; line-height: 1.35; }
.home-news-inner ul li > span { position: absolute; top: 0; left: 0; color: #8F8F8F; }
.home-news-inner ul li a { padding: 0 5px; color: #565656; border-bottom: 1px solid #B7B9BB; }
.home-news .blue { color: #3B3BDA; }

/*-------------------------------------------------

	--> 4. CURRICULUM / カリキュラム

-------------------------------------------------*/
.curriculum-header { background: url(../img/header-curriculum.jpg) 50% 50% no-repeat; background-size: cover; }
.curriculum-copy { padding: 40px 0; }
.curriculum-copy img { display: inline-block; width: 50px; height: 50px; }
.curriculum-body { padding-bottom: 0; }
.curriculum-body .inner section { padding-left: 50px; }
.curriculum-1 { margin-bottom: 90px; }
.curriculum-3 { padding: 50px 0 20px; }
.curriculum-3 h3.txt-blue { color: #3B3BDA; }
.curriculum-3 p { margin-bottom: 60px; line-height: 1.5; color: #565656; }
.image-wrap { width: 100%; margin-bottom: 80px;  }
.image-wrap .btn { display: inline-block; position: absolute; bottom: 0; right: 20px; cursor: zoom-in; z-index: 1; }
.image-wrap .btn span { font-size: 16px; font-weight: 700; vertical-align: bottom; }
.image-wrap img { display: block; width: 100%; }
.image-zoom { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 999; background: rgba(0, 0, 0, .75); overflow: hidden; visibility: hidden; opacity: 0; -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
body.is-zoom { overflow-y: hidden; }
.is-zoom .image-zoom { visibility: visible; opacity: 1; }
.image-zoom-inner { width: 100%; height: 100%; overflow: scroll; cursor: pointer; }
.image-zoom-inner img { display: block; min-width: 1280px; max-width: 100%; padding: 50px; -webkit-transform: scale(.9); transform: scale(.9); -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.is-zoom .image-zoom-inner { -webkit-overflow-scrolling: touch; overflow-scrolling: touch; cursor: zoom-out; }
.is-zoom .image-zoom-inner img { -webkit-transform: scale(1); transform: scale(1); }
.table-toggle { position: relative; width: 100%; height: auto; overflow: hidden; }
.table-toggle-btn { position: relative; width: 100%; padding: 25px; color: #FFF; background: rgba(59, 59, 218, .85); cursor: pointer; -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.table-toggle-btn.is-open { background: rgba(59, 59, 218, 1); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.table-toggle-btn p { position: relative; overflow: hidden; height: 1em; }
.table-toggle-btn p span { position: relative; display: block; -webkit-transition: all .65s ease-in-out 0s; transition: all .65s ease-in-out 0s; }
.table-toggle-btn.is-open p span { -webkit-transform: translate3d(0, -1em, 0); transform: translate3d(0, -1em, 0); }
.table-toggle-btn.is-open p span:first-child { opacity: 0; }
.table-toggle-btn .icon-arrow-down { display: block; position: absolute; top: 0; right: 0; width: 64px; height: 64px; text-align: center; font-size: 20px; font-weight: 700; line-height: 64px; -webkit-transition: all .65s cubic-bezier(1.000, 0.000, 0.000, 1.000) 0s; transition: all .65s cubic-bezier(1.000, 0.000, 0.000, 1.000) 0s; }
.table-toggle-btn.is-open .icon-arrow-down { -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg); }


/*-------------------------------------------------

	--> 5. FEATURE / 課程の特色

-------------------------------------------------*/
.feature-header { background: url(../img/header-feature.jpg) 50% 50% no-repeat; background-size: cover; }
.feature-copy img { display: inline-block; width: 48px; height: 48px; }
.feature-copy p { margin-bottom: 0; }
.feature-body .inner section { padding-left: 50px; }
.feature-body h2 { color: #3D3B86; }
.feature-1, .feature-2 { margin-bottom: 90px; }
.feature-1 h2:before { top: -4px; left: -50px; width: 39.5px; height: 34px; background: url(../img/icon-feature-1.png) no-repeat 50% 50%; background-size: cover; }
.feature-2 h2:before { top: -4px; left: -50px; width: 41.5px; height: 34px; background: url(../img/icon-feature-2.png) no-repeat 50% 50%; background-size: cover; }
.feature-3 h2:before { top: -4px; left: -50px; width: 41.5px; height: 34px; background: url(../img/icon-feature-3.png) no-repeat 50% 50%; background-size: cover; }
.feature-3 .txt-left { clear: right; vertical-align: top; }
.feature-3 .txt-left p { color: #565656; line-height: 1.5; }
.feature-3 .txt-left p img { float: right; vertical-align: top; margin-left: 20px; }


/*-------------------------------------------------

	--> 6-1. LECTURE / 課程の紹介

-------------------------------------------------*/

.lecture-header { background: url(../img/header-lecture.jpg) 50% 50% no-repeat; background-size: cover; }
.lecture-body { padding: 60px 0 0; }
.lecture-body .inner section { padding-left: 50px; }
.lecture-copy img { display: inline-block; width: 50px; height: 50px; }
.lecture-copy p { margin-bottom: 0; }
.lecture-table-1 { margin-bottom: 35px; }
.lecture-1, .lecture-2 { margin-bottom: 80px; }
.lecture-1 .small-capture { margin-top: 25px; line-height: 1.25; }
.lecture-3 a.btn { display: block; width: 244px; margin-top: 40px; }
.lecture-3 { padding-bottom: 60px; }
.lecture-3 .txt-left { clear: right; vertical-align: top; }
.lecture-3 .txt-left p { color: #565656; line-height: 1.5; }
.lecture-3 .txt-left p img { float: right; vertical-align: top; margin-left: 20px; }
.lecture-4 { padding: 60px 0; }
.teacher-list { position: relative; margin-bottom: 25px; }
.teacher-list:before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: #DDD; z-index: 1; }
.teacher-list li { position: relative; float: left; width: 20%; padding: 20px; border-right: 1px solid #DDD; border-bottom: 1px solid #DDD; overflow: hidden; }
.teacher-list li.first { border-left: 1px solid #DDD; }
.teacher-thumb { position: relative; width: 100%; height: 180px; z-index: 1; }
.teacher-list p { position: relative; color: #565656; margin-top: 20px; text-align: center; z-index: 1; }
.teacher-list .bg-gradient { position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: 0; width: 100%; height: 100%; background: #3EADDF; background: -webkit-linear-gradient(45deg, #6D6AC1 10%, #A1CEF5 90%); background: -ms-linear-gradient(45deg, #6D6AC1 10%, #A1CEF5 90%); background: linear-gradient(45deg, #6D6AC1 10%, #A1CEF5 90%); z-index: 0; }
.teacher-list .bg-gradient:after { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #FFF; -webkit-transition: all .35s cubic-bezier(0.785, 0.135, 0.150, 0.860) 0s; transition: all .35s cubic-bezier(0.785, 0.135, 0.150, 0.860) 0s; }
.view-pc .teacher-list > li:hover .bg-gradient:after { -webkit-transform: scale(.96, .98); transform: scale(.97, .975); }
.view-pc .teacher-list > li.no-link:hover .bg-gradient:after { -webkit-transform: scale(1); transform: scale(1); }
.video-text { position: relative; padding: 40px 0 0; font-size: 13px; }
.video-text .row { position: relative; margin-bottom: 25px; color: #565656; line-height: 1.25; }
.video-text .row strong { display: block; font-weight: 700; margin-bottom: 10px; }
.video-text .row span { position: absolute; top: 0; left: 0; color: #868686; }
.video-text .row p { padding-left: 140px; }


/*-------------------------------------------------

	--> 6-2. VIDEO / プレーヤー UI

-------------------------------------------------*/

:-webkit-full-screen .video-wrap { width: 100%; height: 100%; }

/* FRAME */
.video-sp { display: none; }
.ie8 .video-sp, .ie9 .video-sp { display: block; }
.ie8 .video-pc, .ie9 .video-pc { display: none; }
.video-wrap { position: relative; max-width: 980px; height: auto; margin: 0 auto; color: #FFF; overflow: hidden; }
.video-frame { position: relative; width: 100%; height: auto; }
.video-frame > video { width: 100%; }
.video-play-toggle { position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 100%; height: 100%; background: rgba(0, 0, 0, .35); cursor: pointer; opacity: 1; z-index: 1; -webkit-transition: all .2s ease-in-out 0s; transition: all .2s ease-in-out 0s; }
.is-play .video-play-toggle { opacity: 0; }
.view-pc .is-play .video-play-toggle:hover { opacity: 1; }
.video-play-toggle-icon { position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 100%; height: 128px; text-align: center; }
.video-play-toggle-icon img { display: block; max-width: 64px; margin: 0 auto 30px; }
.video-play-toggle-icon .video-play, .video-play-toggle-icon .video-pause { display: table; position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 100%; height: 100%; cursor: pointer; }
.video-play-toggle-icon .video-play span, .video-play-toggle-icon .video-pause span { display: table-cell; vertical-align: middle; font-size: 18px; letter-spacing: .165em; visibility: hidden; }
.video-play-toggle-icon .video-play.is-visible span, .video-play-toggle-icon .video-pause.is-visible span { visibility: visible; }

/* UI */
.video-ui { position: absolute; bottom: 0; left: 0; width: 100%; height: 40px; background: rgba(59, 59, 218, .85); z-index: 2; -webkit-transform: translate3d(0, 40px, 0); transform: translate3d(0, 40px, 0); -webkit-transition: all .2s ease-in-out 0s; transition: all .2s ease-in-out 0s; }
.view-pc .video-wrap:hover .video-ui { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

/* UI BTN */
.video-ui-btn { position: absolute; width: 40px; height: 40px; line-height: 40px; text-align: center; cursor: pointer; }
.video-ui-play-btn-inner { display: table; width: 100%; height: 100%; }
.video-ui-play-toggle { top: 0; left: 0; }
.video-ui-volume-toggle { top: 0; right: 80px; }
.video-ui-full-screen-toggle { top: 0; right: 0; }
.video-ui-play-toggle .video-play, .video-ui-play-toggle .video-pause, .video-ui-volume-toggle .video-volume, .video-ui-volume-toggle .video-mute, .video-ui-full-screen-toggle .video-full-screen, .video-ui-full-screen-toggle .video-compress { display: table; position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 100%; height: 100%; cursor: pointer; }
.video-ui-play-toggle .video-play span, .video-ui-play-toggle .video-pause span, .video-ui-volume-toggle .video-volume span, .video-ui-volume-toggle .video-mute span, .video-ui-full-screen-toggle .video-full-screen span, .video-ui-full-screen-toggle .video-compress span { display: table-cell; vertical-align: middle; font-size: 1.4rem; visibility: hidden; }
.video-ui-play-toggle .video-play.is-visible span, .video-ui-play-toggle .video-pause.is-visible span, .video-ui-volume-toggle .video-volume.is-visible span, .video-ui-volume-toggle .video-mute.is-visible span, .video-ui-full-screen-toggle .video-full-screen.is-visible span, .video-ui-full-screen-toggle .video-compress.is-visible span { visibility: visible; }
.video-mute span::after { content: ""; display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 1px; height: 18px; background: #FFF; -webkit-transform: rotateZ(45deg); transform: rotateZ(45deg); }

/* UI TIME */
.video-ui-time { position: absolute; top: 0; right: 120px; width: 80px; height: 40px; }
.video-ui-time-inner { display: table; position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 100%; height: 100%; text-align: center; }
.video-ui-time-inner > span, .video-ui-time-now, .video-ui-time-total { display: table-cell; vertical-align: middle; font-size: 1rem; }

/* VOLUME BAR */
.video-ui-volumebar { position: absolute; top: 0; right: 40px; width: 40px; height: 40px; }
.video-ui-volumebar input[type="range"] { padding: 0; }

/* SEEK BAR */
.video-ui-seekbar { position: absolute; top: 0; left: 40px; width: -webkit-calc(100% - 240px); width: calc(100% - 240px); height: 40px; }
.video-ui-seekbar input[type="range"] { padding: 0 20px; }
input[type="range"] { position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 100%; background: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
input[type="range"]:focus { outline: none; }

/* Webkit */
input[type="range"]::-webkit-slider-runnable-track { width: 100%; height: 1px; background: rgba(255, 255, 255, .35); cursor: pointer; -webkit-transition: all .2s ease-in-out 0s; transition: all .2s ease-in-out 0s; }
input[type="range"]:focus::-webkit-slider-runnable-track { background: rgba(255, 255, 255, 1); }
input[type="range"]::-webkit-slider-thumb { position: relative; top: -3px; height: 6px; width: 6px; background: #FFF; cursor: pointer; border-radius: 50%; -webkit-appearance: none; -webkit-transition: all .2s ease-in-out 0s; }
input[type="range"]::-webkit-slider-thumb:hover { }

/* Mozilla Firefox */
input[type="range"]::-moz-range-track { width: 100%; height: 1px; background: rgba(255, 255, 255, .35); cursor: pointer; transition: all .2s ease-in-out 0s; }
input[type="range"]:focus::-moz-range-track { background: rgba(255, 255, 255, 1); }
input[type="range"]::-moz-range-thumb { position: relative; height: 6px; width: 6px; background: #FFF; cursor: pointer; border-radius: 50%; transition: all .2s ease-in-out 0s; }
input[type="range"]::-moz-range-thumb:hover { }

/* Microsoft */
input[type="range"]::-ms-track { width: 100%; height: 8.4px; cursor: pointer; background: transparent; border-color: transparent; color: transparent; }
input[type="range"]::-ms-fill-lower { background: rgba(255, 255, 255, .35); }
input[type="range"]::-ms-fill-upper { background: rgba(255, 255, 255, .35); }
input[type="range"]::-ms-thumb { position: relative; height: 6px; width: 6px; background: #FFF; cursor: pointer; transition: all .2s ease-in-out 0s; }
input[type="range"]::-ms-thumb:hover { }
input[type="range"]:focus::-ms-fill-lower { background: rgba(255, 255, 255, .35); }
input[type="range"]:focus::-ms-fill-upper { background: rgba(255, 255, 255, .35); }


/*-------------------------------------------------

	--> 7. GUIDE / 入試・入学案内

-------------------------------------------------*/
.guide-header { background: url(../img/header-guide.jpg) 50% 50% no-repeat; background-size: cover; }
.guide-copy { padding: 50px 0 60px; }
.guide-copy h3 { font-size: 18px; }
.guide-copy .btn.purple { margin: 40px 0 30px; }
.guide-copy p { margin-bottom: 30px; }
.guide-body { padding: 60px 0 0; }
.guide-1, .guide-2 { margin-bottom: 80px; }
.guide-1 > p.capture { margin-bottom: 25px; }
.guide-2 .subpage-table { margin: 25px 0; }
.guide-3 { padding-bottom: 60px; }
.guide-3 p.small-capture { margin-top: 25px; line-height: 1.25; }
.guide-4 { padding: 60px 0; }
.guide-1, .guide-2, .guide-3, .guide-4 { padding-left: 50px; }
.schedule-list { position: relative; border: 1px solid #DDD; overflow: hidden; }
.schedule-list > li { float: left; position: relative; width: 20%; height: 200px; }
.schedule-list > li h4 { position: absolute; top: -60px; left: 0; bottom: 0; right: 0; margin: auto; width: 100%; height: 1em; text-align: center; color: #565656; font-size: 16px; font-weight: 700; }
.schedule-list > li h4:after { content: attr(data-text); position: absolute; top: 0; left: 0; bottom: -40px; right: 0; margin: auto; width: 100%; height: 1em; font-size: 12px; }
.schedule-list > li p { position: absolute; top: auto; left: 0; bottom: 60px; right: 0; margin: auto; width: 100%; height: 1em; font-size: 13px; line-height: 1.25; text-align: center; }
.schedule-list .bg-white:after, .schedule-list .bg-lightblue:after { content: ""; position: absolute; top: 0; left: auto; bottom: 0; right: -10px; margin: auto; width: 0; height: 0; border-style: solid; border-width: 10px 0 10px 10px; border-color: transparent transparent transparent #FFF; z-index: 1; }
.schedule-list .bg-lightblue:after { border-color: transparent transparent transparent #E9F3FD; }
.policy { position: relative; display: block; width: 100%; height: 180px; background: #FFF url(../img/thumb-policy.jpg) no-repeat 50% 50%; background-size: cover; }
.policy span { position: absolute; bottom: 0; left: 0; display: inline-block; padding: 20px 35px; background: #3B3BDA; color: #FFF; font-size: 15px; font-weight: bold; min-width: 220px; text-align: center; -webkit-transition: all .25s ease-in-out 0s; transition: all .25s ease-in-out 0s; }
.view-pc .policy:hover span { background: #2828B3; }


/*-------------------------------------------------

	-->  8. Q&A / よくある質問

-------------------------------------------------*/
.qa-header { background: url(../img/header-qa.jpg) 0 50% no-repeat; background-size: cover; }
.qa-body { padding: 45px 0 80px; }
.qa-body ul li { margin-top: 10px; overflow: hidden; }
.qa-body ul li:first-child { margin-top: 0; }
.qa-q { position: relative; background: #F3F5FA; padding: 23px 50px 23px 70px; cursor: pointer; border: 1px solid #F3F5FA; border-bottom: 0 none; -webkit-transition: border .25s ease-in-out 0s; transition: border .25s ease-in-out 0s; }
.qa-body ul li.is-open .qa-q { border: 1px solid #DDD; border-bottom: 0 none; }
.qa-q p { color: #1C1C1C; font-size: 15px; font-weight: 700; line-height: 1.25; }
.qa-q p:before { content: "Q"; display: block; position: absolute; top: 18px; left: 25px; color: #625FBD; font-size: 24px; font-weight: 400; font-family: "游明朝体", "Yu Mincho", YuMincho, serif; }
.qa-q span { display: inline-block; position: absolute; top: 22px; right: 20px; color: #625FBD; font-size: 20px; font-weight: bold; -webkit-transition: all .65s cubic-bezier(1.000, 0.000, 0.000, 1.000) 0s; transition: all .65s cubic-bezier(1.000, 0.000, 0.000, 1.000) 0s; }
.qa-body ul li.is-open .qa-q span { -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg); }
.qa-a { position: relative; }
.qa-a:before { content: ""; position: absolute; top: 0; left: 28px; width: 0; height: 0; border-style: solid; border-width: 7.5px 7.5px 0 7.5px; border-color: #F3F5FA transparent transparent }
.qa-a p { position: relative; color: #565656; padding: 50px 50px 50px 70px; line-height: 1.65; border: 1px solid #DDD; border-top: 0 none; }
.qa-a p:before { content: "A"; display: block; position: absolute; top: 48px; left: 25px; color: #3CB4EA; font-size: 24px; font-weight: 400; font-family: "游明朝体", "Yu Mincho", YuMincho, serif; }
.qa-a a { color: #625FBD; border-bottom: 1px solid #625FBD; }


/*-------------------------------------------------

	--> 9. CONTACT / お問い合わせ

-------------------------------------------------*/
.contact-header { background: url(../img/header-contact.jpg) 0 50% no-repeat; background-size: cover; }
.contact-body { padding: 60px 0; }
.contact-body h2 { font-size: 22px; text-align: center; margin-bottom: 50px; }
.contact-body h2:before { display: none; }
.contact-body .inner > ul > li { position: relative; padding: 20px 0 20px 160px; border-bottom: 1px solid #D7D5FC; }
.contact-body .inner > ul > li:first-child { border-top: 1px solid #D7D5FC; }
.contact-body .inner > ul > li:after { content: ""; position: absolute; bottom: -1px; left: 0; width: 130px; height: 1px; background: #625FBD; z-index: 1; }
.contact-body .inner > ul > li:first-child:before { content: ""; position: absolute; top: -1px; left: 0; width: 130px; height: 1px; background: #625FBD; z-index: 1; }
.contact-body .inner > ul > li > span { position: absolute; top: 25px; left: 10px; color: #868686; font-weight: bold; }
.contact-body .inner > ul > li > p { line-height: 1.5; }
.contact-body .inner > ul > li > p a { color: #625FBD; }
.contact-body .inner > ul > li > p a.school-map { font-weight: 700; border-bottom: 1px solid #625FBD; }
.contact-body .inner > ul > li > ul > li { position: relative; line-height: 1.25; margin-bottom: 10px; }
.contact-body .inner > ul > li > ul > li:last-child { margin-bottom: 0; }
.contact-body .inner > ul > li > ul > li span { padding-left: 15px; display: inline-block; }
.contact-body .inner > ul > li > ul > li:before { content: ""; position: absolute; top: 5px; left: 0; display: block; width: 5px; height: 5px; background: #373582; border-radius: 50%; }
.contact-body .icon-map { color: #625FBD; font-size: 15px; vertical-align: bottom; }
.contact-email { padding: 60px 0; text-align: center; }
.contact-email h2 { font-size: 22px; margin-bottom: 45px; }


/*-------------------------------------------------

	--> 10. NEWS / 記事ページ

-------------------------------------------------*/
.news-header { background: url(../img/header-news.jpg) 0 50% no-repeat; background-size: cover; height: 210px; }
.news-body { position: relative; padding: 60px 0; }
.news-date { color: #565656; margin-bottom: 2em; }
.news-title { color: #1C1C1C; font-size: 20px; }
.news-body .hr { display: block; width: 100%; height: 1px; background: #EEE; margin: 30px 0; }
.news-body h4 { color: #3B3BDA; font-size: 14px; font-weight: 700; margin-bottom: 25px; line-height: 1.35; }
.news-body p { color: #565656; line-height: 1.5; margin-bottom: 1.5em; }
.news-body a { color: #625FBD; border-bottom: 1px solid #625FBD; }
.news-body p .text-small { font-size: 12px; color: #868686; }
.news-body blockquote { color: #565656; line-height: 1.5; margin-top: 3em; margin-bottom: 1.5em; padding: 25px; border: 1px solid #DDD; border-left: 2px solid #625FBD; }
.news-end { margin-top: 60px; }
.news-end a { font-size: 13px; font-weight: 700; border-bottom: 0 none; }
.news-end a span { font-weight: 700; }


/*-------------------------------------------------

	--> 11. STUDENT / 学生紹介

-------------------------------------------------*/
.student-header { background: url(../img/header-student.jpg) 0 50% no-repeat; background-size: cover; }
.student-body h3:before { display: none; }
.student-body .student-1 h2:before { top: -4px; left: -60px; width: 39.5px; height: 34px; background: url(../img/icon-student-1.png) no-repeat 50% 50%; background-size: cover; }
.student-body .student-2 h2:before { top: -4px; left: -60px; width: 41.5px; height: 34px; background: url(../img/icon-student-2.png) no-repeat 50% 50%; background-size: cover; }
.student-body h3:before { width: 20px; height: 1px; background: #625FBD; position: relative; top: -1px; left: auto; display: inline-block; margin-right: 15px; vertical-align: middle; }
.student-copy { padding: 60px 0 60px; }
.student-copy a { cursor: pointer; }
.student-copy h3 { font-size: 18px; }
.student-body { padding: 80px 0; }
.student-body:last-child { border-top: 1px solid #EFEFEF; }
.student-1 p,
.student-2 p { line-height: 1.8; margin-bottom: 1.5em; }
.student-image { display: block; width: 100%; margin: 40px 0; background: #3EADDF; background: -webkit-linear-gradient(45deg, #6D6AC1 10%, #A1CEF5 90%); background: -ms-linear-gradient(45deg, #6D6AC1 10%, #A1CEF5 90%); background: linear-gradient(45deg, #6D6AC1 10%, #A1CEF5 90%); }
.student-image img { display: block; width: 100%; background: #EEE; }
.student-image.first { width: -webkit-calc(100% + 120px); width: calc(100% + 120px); margin-left: -60px; padding: 2px; margin-bottom: 20px; }
.student-image.normal { background: transparent; padding: 0; }
.student-image.last { margin-bottom: 0; }

.student-bio { display: block; color: #868686; font-size: 12px; margin-bottom: 30px; margin-top: -20px; }
.student-bio span { display: inline-block; }
.student-bio span:first-child::after { content: "/"; display: inline-block; color: #C0C0C0; margin: 0 .5em; }
.page-student .subpage-body h3 { margin-top: 60px; }



/*-------------------------------------------------

	--> MEDIA QUERIES

-------------------------------------------------*/
@media screen and (max-width: 1024px) { /* LAPTOP & TABLET */
	/* COMMON */
	body { font-size: 13px; }
	.inner-m { max-width: 640px; }
	.btn { padding: 17.5px 30px; font-size: 14px; font-weight: bold; }
	.subpage-header { height: 180px; }
	.subpage-header h1 { font-weight: 700; font-size: 24px; letter-spacing: .015em; }
	.subpage-header h2 { font-size: 16px; }
	.subpage-body { padding: 30px 0; }
	.subpage-body h2 { font-size: 18px; margin-bottom: 25px; padding-left: 35px; line-height: 1.15; }
	.subpage-body h2:before { left: 0; width: 24px; height: 24px; }
	.subpage-body h3 { font-size: 13px; line-height: 1.15; padding-left: 30px; }
	.subpage-body h3:before { left: 0; }
	.subpage-body p.capture-top { font-size: 12px; margin-bottom: 15px; }
	.subpage-body p.capture { font-size: 12px; margin-bottom: 20px; }
	.subpage-body .inner section { padding-left: 0; }
	.subpage-table.txt-left th, .subpage-table.txt-left td,
	.subpage-table th, .subpage-table td, .subpage-table.slim th, .subpage-table.slim td { padding: 5px; font-size: 11px; }
	.subpage-table.slim td span { font-size: 10px; }
	.subpage-table .caption td { padding: 10px; font-size: 13px; }

	/* 1. HEADER */
	.header { position: fixed; background: transparent; }
	.header.is-fixed { top: 0; }
	.header-top { position: relative; width: 100%; height: 61px; background: #FFF; border-bottom: 1px solid #EFEFEF; z-index: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	.header-top .left, .header-top .right { width: 100%; }
	.header-top .left { width: 85%; }
	.header-top .left .logo { float: none; width: 140px; height: 24px; }
	.header-top .left h1 span { float: none; display: inline-block; font-size: 10px; bottom: 0; margin-left: 0; margin-top: 5px; letter-spacing: 0; }
	.header-top .left h1 div { display: inline-block; }
	.header-top .right { display: none; }
	.header-top .inner { z-index: 0; }
	.header-bottom { position: relative; height: 40px; z-index: 0; -webkit-transition: -webkit-transform .35s cubic-bezier(0.645, 0.045, 0.355, 1.000) 0s; transition: transform .35s cubic-bezier(0.645, 0.045, 0.355, 1.000) 0s; -webkit-transform: translate3d(0, -40px, 0); transform: translate3d(0, -40px, 0); }
	.header-bottom ul { min-width: 880px; opacity: 1; -webkit-transition: opacity .65s ease-in-out 0s, -webkit-transform 0s aese .35s; transition: opacity .65s ease-in-out 0s, transform 0s ease .35s; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }
	.header-bottom.is-first ul { opacity: 0; -webkit-transition: all .25s ease-in-out 0s, -webkit-transform .35s ease-in-out .25s; transition: all .25s ease-in-out 0s, transform .35s ease-in-out .25s; }
	.header-bottom.is-first.is-open ul { opacity: 1; -webkit-transition: all .85s cubic-bezier(0.075, 0.820, 0.165, 1.000) .15s; transition: all .85s cubic-bezier(0.075, 0.820, 0.165, 1.000) .15s; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	.header-bottom.is-open ul { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-transition: opacity .25s ease-in-out 0s; transition: opacity .25s ease-in-out 0s; }
	.header-bottom li:first-child:before { display: none; }
	.header-bottom li { line-height: 40px; width: 110px; }
	.header-bottom.is-open { box-shadow: 0 4px 7px rgba(0, 0, 0, .12); }
	.header-bottom .inner { padding: 0; }
	.intro-header { margin-top: 60px; }
	.intro-copy { padding: 25px 0 30px; }
	.intro-copy h2 { font-size: 16px; line-height: 1.35; text-align: left; margin-bottom: 15px; }
	.intro-copy p { font-size: 13px; line-height: 1.65; margin-bottom: 25px; }
	.intro-copy .btn { display: block; margin: 0 auto; }
	.menu { display: block; z-index: 1; }

	/* 2. FOOTER TOP */
	.footer-top .inner { padding: 25px 15px 25px; }
	.footer-top .left { text-align: center; }
	.footer-top .left .logo { width: 140px; height: 24px; margin: 0 auto 5px; }
	.footer-top .left a { font-size: 11px; }
	.footer-top .right { position: relative; top: 0; left: 0; margin-top: 15px; }
	.footer-box { display: block; margin-bottom: 10px; padding: 10px 15px; width: 100%; min-height: 75px; }
	.footer-box:first-child { margin-right: 0; }
	.footer-box:last-child { margin-bottom: 0; }
	.footer-bottom .inner { text-align: center; padding: 25px 20px 25px; }
	.footer-bottom ul li { font-size: 11px; margin-right: 10px; margin-bottom: 10px; }
	.footer-bottom .copyright { top: 0; margin-top: 15px; position: relative; text-align: center; font-size: 10px; }

	/* 3. HOME */
	.swiper-container-horizontal > .swiper-pagination { bottom: 15px; right: 20px; }
	.swiper-pagination-bullet { width: 12px; height: 12px; }
	.swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet:last-child { margin-right: 0; }
	.swiper-pagination-bullet:not(:last-child) { margin-right: 8px; }
	.home-header { height: 240px; }
	.swiper-slide.slide-intro { padding: 0; }
	.swiper-slide.slide-second { padding: 0; }
	.swiper-slide.slide-acceptance { padding: 0 15px; }
	.swiper-slide.slide-intro h1 .text-1, .swiper-slide.slide-intro h1 .text-2 { font-weight: bold; font-size: 17px; }
	.swiper-slide.slide-intro h1 span { font-size: 16px; }
	.swiper-slide.slide-second h1 .text-1, .swiper-slide.slide-intro h1 .text-2 { font-weight: bold; font-size: 17px; }
	.swiper-slide.slide-second h1 span { font-size: 16px; }
	.swiper-slide.slide-acceptance h1 { font-size: 32px; }
	.swiper-slide.slide-acceptance h2 { margin: 15px 0; font-size: 20px; }
	.swiper-slide.slide-acceptance h2 span { font-size: 14px; }
	.slide-gradient { padding: 25px 0 25px; }
	.home-point { height: auto; }
	.home-point .left, .home-point .right { float: none; position: relative; width: 100%; }
	.home-point-1 .left, .home-point-2 .left, .home-point-3 .left { height: 240px; }
	.home-point .inner { padding: 25px 20px; min-width: 100%; }
	.home-point .inner, .home-point-2 h2 span { width: 100%; max-width: 100%; }
	.home-point .btn { display: block; position: relative; margin: 0 auto; max-width: 244px; }
	.home-point .left { border-top: 3px solid #625FBD; }
	.home-point h2 { padding-left: 25px; padding-top: 15px; padding-bottom: 15px; border-top: 0 none; font-size: 18px; height: auto; line-height: 1.5; min-height: 60px; }
	.home-point h2 span { padding-right: 15px; min-width: 100%; }
	.home-point ul li:last-child { margin-bottom: 35px; }
	.home-news { padding: 35px 0; }
	.home-news h2 { margin-bottom: 20px; }
	.slide-student-body h1 { font-size: 26px; margin-bottom: 25px; }
	.page-home .intro-copy .btn { display: inline-block; }

	/* 4. CURRICULM */
	.curriculum-body { padding-bottom: 0; }
	.curriculum-1 { margin-bottom: 45px; }
	.curriculum-3 { padding: 40px 0 10px; }
	.subpage-body h3 { font-size: 14px; margin-bottom: 15px; }
	.curriculum-3 p { margin-bottom: 30px; }
	.table-toggle-btn { padding: 20px 15px; }
	.table-toggle-btn .icon-arrow-down { width: 53px; height: 53px; line-height: 53px; }
	.image-wrap { margin-bottom: 40px; }
	.image-wrap .btn {  }
	.image-wrap .btn.line.purple:not(:hover) { background: rgba(255, 255, 255, .5); }

	/* 5. FEATURE */
	.feature-copy p { margin-bottom: 0; }
	.feature-body h2 { padding-left: 50px; }
	.feature-body .subpage-table th, .feature-body .subpage-table td { font-size: 10px; letter-spacing: 0; }
	.feature-1, .feature-2 { margin-bottom: 45px; }
	.feature-1 h2:before { top: -10px; width: 39.5px; height: 34px; }
	.feature-2 h2:before { top: -4px; width: 41.5px; height: 34px; }
	.feature-3 h2:before { top: -10px; width: 41.5px; height: 34px; }
	.feature-3 .txt-left p { font-size: 12px; }
	.feature-3 .txt-left p img { display: block; margin-left: 0; margin-bottom: 25px; width: 100%; float: none; }

	/* 6. LECTURE */
	.lecture-copy p { margin-bottom: 0; }
	.lecture-body { padding-bottom: 0; }
	.lecture-body .subpage-table.txt-center th, .lecture-body .subpage-table.txt-center td, .lecture-body .subpage-table th, .lecture-body .subpage-table td { font-size: 10px; letter-spacing: 0; text-align: left; }
	.subpage-body p.small-capture { font-size: 11px; }
	.subpage-table th .txt-small, .subpage-table td .txt-small { display: block; }
	.lecture-1, .lecture-2 { margin-bottom: 45px; }
	.lecture-3 { padding-bottom: 30px; }
	.lecture-3 .txt-left p img { float: none; margin-left: 0; margin-bottom: 20px; width: 100%; }
	.lecture-3 a.btn { width: 100%; margin: 20px auto 0; max-width: 244px; }
	.lecture-4 { padding: 30px 0; }
	.video-text { padding-top: 20px; }
	.video-text .row { font-size: 11px; margin-bottom: 0; }
	.video-text .row p { padding-left: 100px; }

	/* 7. GUIDE */
	.guide-copy .btn.purple { margin: 20px 0 15px; }
	.guide-1, .guide-2 { margin-bottom: 45px; }
	.guide-3 { padding-bottom: 30px; }
	.guide-3 p.small-capture { margin-top: 15px; }
	.guide-4 { padding: 40px 0; }
	.guide-body { padding: 30px 0 0; }
	.schedule-list > li { float: none; width: 100%; height: auto; padding: 35px 0; }
	.schedule-list > li h4 { position: relative; top: 0; line-height: 1; font-size: 15px; margin-bottom: 5px; }
	.schedule-list > li h4:after { position: relative; display: block; top: auto; bottom: -2px; color: #868686; font-size: 10px; }
	.schedule-list > li p { position: relative; font-size: 12px; bottom: 0; margin-top: 15px; }
	.policy span { padding: 20px 15px; width: 100%; }
	.video-pc { display: none; }
	.video-sp { display: block; }
	.video-text .row p { margin-bottom: 10px; }
	.video-text .row:last-child p { margin-bottom: 0; }
	.video-play-toggle-icon img { max-width: 48px; margin-bottom: 5px; }
	.video-play-toggle-icon .video-play span, .video-play-toggle-icon .video-pause span { font-size: 12px; }

	/* 8. Q&A */
	.qa-q { padding: 13px 45px 13px 45px; }
	.qa-q span { top: 10px; right: 10px; }
	.qa-q p { font-size: 13px; }
	.qa-q p:before { top: 12px; left: 15px; font-size: 16px; letter-spacing: 0; }
	.qa-a:before { left: 15px; }
	.qa-a p { padding: 23px 23px 23px 45px; font-size: 12px; }
	.qa-a p:before { font-size: 16px; top: 22px; left: 15px; }

	/* 9. CONTACT */
	.contact-body { padding: 30px 0; }
	.contact-body h2 { font-size: 16px; padding-left: 0; margin-bottom: 25px; }
	.contact-body .inner > ul > li { padding: 15px 0 15px 110px; }
	.contact-body .inner > ul > li:first-child:before, .contact-body .inner > ul > li:after { width: 90px; }
	.contact-body .inner > ul > li > p { font-size: 12px; }
	.contact-body .inner > ul > li > span { top: 15px; font-size: 12px; }
	.contact-body .inner > ul > li > ul > li { font-size: 12px; }
	.contact-email { padding: 40px 0; }
	.contact-email h2 { font-size: 15px; font-weight: 700; margin-bottom: 25px; }

	/* 10. NEWS */
	.news-body blockquote { padding: 15px; font-size: 12px; }

	/* 11. STUDENT */
	.student-copy.intro-copy .btn.left,
	.student-copy.intro-copy .btn.right { display: inline-block; }
	.student-copy p { margin-bottom: 30px; }
	.student-bio { margin-top: -10px; padding-left: 50px; margin-bottom: 0; }
	.student-image { margin: 30px 0; }
	.student-body .student-1 h2,
	.student-body .student-2 h2 { padding-left: 50px; }
	.page-student .subpage-body h3 { padding-left: 0; }
	.student-body h3:before { width: 15px; margin-right: 10px; }
	.student-body .student-1 h2:before,
	.student-body .student-2 h2:before { left: 0; }
	.student-image.first { width: 100%; margin-left: 0; }
	.page-student .subpage-body h3 { margin-top: 40px; }

}

@media screen and (max-width: 800px) { /* TABLET */
	.teacher-list li { width: 33.333%; }
	.teacher-list li:nth-child(3n+1) { border-left: 1px solid #DDD; }
	.teacher-list li.first { border-left: 0 none; }


	.student-voice-wrap .header-set { text-align: center; margin-bottom: 20px; }
	.student-voice-wrap h3 { margin-bottom: 10px; }
	.student-voice-wrap .inner { text-align: center; }
	.student-voice-wrap { text-align: center; height: auto; padding: 40px 0; }
	.student-voice-wrap .table { display: block; width: 100%; height: auto; text-align: center; }
	.student-voice-wrap .table-cell { display: inline-block; }
	.student-voice-wrap a.btn { position: relative; margin-top: 0; margin: 0 auto; top: 0; border-color: rgba(255, 255, 255, .25); right: 0; }
}

@media screen and (max-width: 540px) { /* SP */
	/* COMMON */
	.inner { padding: 0 15px; }
	/* 3. HOME */
	.header-top .inner { padding: 0 15px; }
	.home-point h2 { padding-left: 15px; }
	.home-point .inner { padding: 25px 15px 25px 15px; }
	.home-point-1 .left, .home-point-2 .left, .home-point-3 .left { height: 180px; }
	.home-news-inner ul li { font-size: 12px; padding-left: 0; }
	.home-news-inner ul li > span { position: relative; display: block; margin-bottom: 5px; }
	.page-home .intro-copy .btn.left { margin-right: auto; margin-bottom: 15px; }
	.page-home .intro-copy .btn.right { margin-left: auto; }
	.page-home .intro-copy .btn { display: block; margin: 0 auto; }
	/* 6. LECTURE */
	.teacher-list li:first-child { border-left: 1px solid #DDD !important; }
	.teacher-list li { width: 50%; border-left: 1px solid #DDD; }
	.teacher-list li:nth-child(2n+2) { border-left: 0 none; }
	.teacher-thumb { height: 150px; }
	/* 7. GUIDE */
	.guide-copy .btn.purple { margin: 20px 0 15px; text-align: left; line-height: 1.25; }
	/* 11. STUDENT */
	.student-copy.intro-copy .btn.left,
	.student-copy.intro-copy .btn.right { display: inline-block; min-width: 100px; width: -webkit-calc(50% - 10px); width: calc(50% - 10px); padding: 15px 0; }
}

