@charset "utf-8";


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

.dn-pc { display:none; }
.dn-sp { display:block; }

@media screen and (max-width:760px){
.dn-pc { display:block; }
.dn-sp { display:none;}
}

*, *::before, *::after { box-sizing:border-box; }



/* ----------------------------------------------
 ! normalize
 ---------------------------------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	background-color: #fff;
	color: #333;
	font-size: 1em;
	line-height: 1;
}

/* html5 format */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

b,
strong {
	font-weight: bold;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
	vertical-align:middle;
}

hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}



/* ----------------------------------------------
 ! Base
 ---------------------------------------------- */

body { font-family:'Noto Sans JP', sans-serif; font-weight: 300; }

#bnr-header { position:absolute; top:25px; left:0; display:table; width:400px; background:#fff; z-index:99999; }
#bnr-header a { display:block; }
#bnr-header a:hover { opacity:0.7; transition:0.2s ease-in-out; }
#bnr-header img { width:100%; height:auto; }

@media screen and (min-width:1280px){
#bnr-header {}
#bnr-header a {}
#bnr-header a:hover {}
#bnr-header img {}
}

@media screen and (max-width:768px){
#bnr-header { top:50px; width:55%; }
#bnr-header a {}
#bnr-header a:hover {}
#bnr-header img {}
}

#nav-breadcrumb { margin:0 40px; padding:15px 0; }
#nav-breadcrumb ul { display:flex; flex-flow:row wrap; line-height:1.5; }
#nav-breadcrumb li { font-size:0.875rem; list-style:none; position:relative; }
#nav-breadcrumb li:after { content:">"; display:inline-block; margin:0 5px; }
#nav-breadcrumb li:last-child::after { display:none; }
#nav-breadcrumb li a { font-size:0.875rem; color:#000; text-decoration:none; }
#nav-breadcrumb li a:hover { text-decoration:underline; transition:0.2s ease-in-out; }

@media screen and (min-width:1280px){
#nav-breadcrumb { max-width:1200px; margin:0 auto; }
#nav-breadcrumb ul {}
#nav-breadcrumb li {}
#nav-breadcrumb li:after {}
#nav-breadcrumb li:last-child::after {}
#nav-breadcrumb li a {}
#nav-breadcrumb li a:hover {}
}

@media screen and (max-width:768px){
#nav-breadcrumb { padding:3.9vw 0; }
#nav-breadcrumb ul {}
#nav-breadcrumb li { font-size:3.12vw; }
#nav-breadcrumb li:after { margin:0 1.17vw; }
#nav-breadcrumb li:last-child::after {}
#nav-breadcrumb li a { font-size:3.12vw; }
#nav-breadcrumb li a:hover {}
}

footer { height:95px; line-height:95px; background:#313198; }
#copyright { text-align:center; font-size:0.75rem; color:#fff; }

@media screen and (min-width:1280px){
footer {}
#copyright {}
}

@media screen and (max-width:768px){
footer { height:15vw; line-height:15vw; }
#copyright { font-size:2.34vw; }
}

.a-txt { display:inline-block; background:url(../img/common/ico_cont_01.png) no-repeat; margin:0 0 0 8px; background-size:1rem auto; background-position:0 12px; padding:0 0 0 1.4rem; color:#000; }
.a-txt:hover { opacity:0.7; transition:0.2s ease-in-out; }
.a-txt-in { color:#000; text-decoration:underline; }
/* .a-txt-in:before { content:""; display:inline-block; vertical-align:middle; width:10px; height:10px; border-top:1px solid #313198; border-right:1px solid #313198; margin:-2px 8px 0 4px; transform:rotate(45deg); } */
.a-txt-in:hover { opacity:0.7; transition:0.2s ease-in-out; }
.txt-ri { text-align:right; }

@media screen and (min-width:1280px){

}

@media screen and (max-width:768px){
.a-txt { margin:0 0 0 1.17vw; background-size:3.12vw auto; background-position:0 1.6vw; padding:0 0 0 4.25vw; }
.a-txt:hover {}
.a-txt-in {}
.a-txt-in:before { width:1.8vw; height:1.8vw; margin:-0.3vw 1.17vw 0 0.5vw; }
.a-txt-in:hover {}
.txt-ri {}
}


/* ----------------------------------------------
 ! Top
 ---------------------------------------------- */

#top-mainview { background:#ebebeb; padding:0 0 65px; position:relative; }
#top-mainview:before { content:""; position:absolute; top:0; left:0; width:25px; height:calc(100% - 65px); background:#313198; }
#top-mainview img { width:100%; height:auto; }

@media screen and (min-width:1280px){
#top-mainview {}
#top-mainview:before {}
#top-mainview img {}
}

@media screen and (max-width:768px){
#top-mainview { padding:0 0 6.25vw; }
#top-mainview:before { width:3.12vw; height:calc(100% - 6.25vw); }
#top-mainview img {}
}

#top-cont-wrap { background:#f5f5f5; }
#top-cont-sec { margin:0 40px; }
#top-cont-sec h2 { padding:50px 0 40px; font-size:2rem; font-weight:normal; letter-spacing:4px; position:relative; }
#top-cont-sec h2:before { content:""; position:absolute; top:0; left:0; width:45px; height:4px; background:#313198; }

@media screen and (min-width:1280px){
#top-cont-wrap {}
#top-cont-sec { max-width:1200px; margin:0 auto; }
#top-cont-sec h2 {}
#top-cont-sec h2:before {}
}

@media screen and (max-width:768px){
#top-cont-wrap {}
#top-cont-sec { padding:0 0 6.25vw; }
#top-cont-sec h2 { padding:6.25vw 0 6.25vw; font-size:4.68vw; letter-spacing:0.4vw; }
#top-cont-sec h2:before { width:8vw; height:1vw; }
}

.top-cont-txt { line-height:2.4; font-size:1rem; color:#000; }
.top-cont-txt p { padding:0 0 1.2rem; }
.top-cont-txt ul { margin:0 0 0 1.4rem; }
.top-cont-txt li { padding:0 0 0.8rem; }
#top-img-r {}
#top-img-r dt { float:right; width:40%; padding:0 0 20px; }
#top-img-r dt img { width:100%; height:auto; }
#top-img-r dd { float:left; width:55%; }
#top-img-l { padding:20px 0 50px; }
#top-img-l dt { float:left; width:40%; }
#top-img-l dt img { width:100%; height:auto; }
#top-img-l dd { float:right; width:55%; }

@media screen and (min-width:1280px){
.top-cont-txt {}
.top-cont-txt p {}
.top-cont-txt ul {}
.top-cont-txt li {}
#top-img-r {}
#top-img-r dt { width:500px; }
#top-img-r dt img {}
#top-img-r dd { width:650px; }
#top-img-l {}
#top-img-l dt { width:500px; }
#top-img-l dt img {}
#top-img-l dd { width:650px; }
}

@media screen and (max-width:1024px){
#top-img-r dt { float:none; width:auto; text-align:center; margin:0 auto; }
#top-img-r dd { float:none; width:auto; }
#top-img-l dt { float:none; width:auto; text-align:center; margin:0 auto; padding:0 0 20px; }
#top-img-l dd { float:none; width:auto; }
}

@media screen and (max-width:768px){
.top-cont-txt { line-height:1.8; font-size:3.12vw; }
.top-cont-txt p { padding:0 0 3.12vw; }
.top-cont-txt ul { margin:0 0 0 4.68vw; }
.top-cont-txt li { padding:0 0 2.34vw; }
#top-img-r {}
#top-img-r dt { float:none; width:auto; padding:0 0 3.9vw; }
#top-img-r dt img {}
#top-img-r dd { float:none; width:auto; }
#top-img-l { padding:3.12vw 0 0; }
#top-img-l dt { float:none; width:auto; }
#top-img-l dt img { width:80%; }
#top-img-l dd { float:none; width:auto; }
}

#top-aside-link { background:#ebebeb; padding:60px 0; }
#top-aside-link nav { display:flex; flex-flow:row wrap; width:80%; background:#f5f5f5; margin:0 auto; padding:25px 30px; }
#top-aside-link h3 { width:20%; padding:8px 0 0; font-size:1.125rem; color:#313198; font-weight:normal; }
#top-aside-link ul { width:80%; line-height:2; }
#top-aside-link li { background:url(../img/common/ico_cont_01.png) no-repeat; background-size:1rem auto; background-position:0 10px; padding:0 0 0 1.4rem; list-style:none; }
#top-aside-link li a { display:inline-block; border-bottom:1px #000 solid; margin:0 0 8px; padding:0 0 3px; font-size:1rem; color:#000; text-decoration:none; }
#top-aside-link li a:hover { opacity:0.7; transition:0.2s ease-in-out; }

@media screen and (min-width:1280px){
#top-aside-link {}
#top-aside-link nav { width:1000px; }
#top-aside-link h3 { width:15%; }
#top-aside-link ul { width:85%; }
#top-aside-link li {}
#top-aside-link li a {}
#top-aside-link li a:hover {}
}

@media screen and (max-width:768px){
#top-aside-link { padding:8vw 4vw; }
#top-aside-link nav { display:block; width:auto; padding:6.25vw 4vw; }
#top-aside-link h3 { width:auto; text-align:center; padding:0 0 4.68vw; font-size:4.68vw; }
#top-aside-link ul { width:auto; }
#top-aside-link li { background-size:3.12vw auto; background-position:0 2.34vw; padding:0 0 0 4.5vw; }
#top-aside-link li a { margin:0 0 1.17vw; padding:0 0 0.4vw; font-size:3.12vw; }
#top-aside-link li a:hover {}
}

#top-about-sec { background:#fff; border-top:4px #d0d0cf solid; padding:0 0 60px; }
#top-about-sec h2 { display:table; text-align:center; margin:0 auto 40px; padding:50px 0 15px; font-size:2rem; font-weight:normal; letter-spacing:3px; position:relative; }
#top-about-sec h2:after { content:""; position:absolute; bottom:0; left:50%; width:100%; height:3px; background:#313198; margin:0 0 0 -50%; }
#top-about-sec ul { margin:0 40px; }
#top-about-sec li { display:table; width:320px; height:65px; border:1px #dcdcdc solid; list-style:none; }
#top-about-sec li a { display:table-cell; vertical-align:middle; padding:0 20px; font-size:1.125rem; color:#000; text-decoration:none; letter-spacing:2px; position:relative; }
#top-about-sec li a:after { content:""; position:absolute; top:50%; right:20px; width:10px; height:10px; border-top:1px solid #313198; border-right:1px solid #313198; margin:-5px 0 0; transform:rotate(45deg); }
#top-about-sec li a:hover { opacity:0.7; transition:0.2s ease-in-out; }

@media screen and (min-width:1280px){
#top-about-sec {}
#top-about-sec h2 {}
#top-about-sec h2:after {}
#top-about-sec ul { max-width:1200px; margin:0 auto; }
#top-about-sec li {}
#top-about-sec li a {}
#top-about-sec li a:after {}
#top-about-sec li a:hover {}
}

@media screen and (max-width:768px){
#top-about-sec { padding:0 0 8vw; }
#top-about-sec h2 { margin:0 auto 6.25vw; padding:8vw 0 2.34vw; font-size:4.68vw; letter-spacing:0.3vw; }
#top-about-sec h2:after { height:0.4vw; }
#top-about-sec ul {}
#top-about-sec li { width:100%; height:12vw; }
#top-about-sec li a { padding:0 3.12vw; font-size:3.86vw; letter-spacing:0.2vw; }
#top-about-sec li a:after { right:3.12vw; width:2.34vw; height:2.34vw; margin:-1.17vw 0 0; }
#top-about-sec li a:hover {}
}



/* ----------------------------------------------
 ! Sub
 ---------------------------------------------- */

#sub-mainview { display:table; width:100%; height:340px; background:#f5f5f5; border-bottom:60px #ebebeb solid; }
#sub-mainview h1 { display:table-cell; vertical-align:middle; text-align:center; position:relative; }
#sub-mainview h1:before { content:""; position:absolute; top:0; left:0; width:25px; height:100%; background:#313198; }
#sub-mainview h1 strong { display:block; padding:0 0 25px; font-size:2.5rem; font-weight:normal; letter-spacing:4px; }
#sub-mainview h1 span { display:block; font-size:1rem; font-weight:normal; letter-spacing:1.5px; }

@media screen and (min-width:1280px){
#sub-mainview {}
#sub-mainview h1 {}
#sub-mainview h1:before {}
#sub-mainview h1 strong {}
#sub-mainview h1 span {}
}

@media screen and (max-width:768px){
#sub-mainview { height:60vw; border-bottom:6vw #ebebeb solid; }
#sub-mainview h1 {}
#sub-mainview h1:before { width:3.12vw; }
#sub-mainview h1 strong { padding:4.68vw 0 3.9vw; font-size:6.25vw; letter-spacing:0.4vw; }
#sub-mainview h1 span { font-size:3.12vw; letter-spacing:0.3vw; }
}

#content { background:#f5f5f5; }
.teachert-sec { padding:40px 0 65px; }
.teachert-sec:nth-child(even) { background:#fff; }

@media screen and (min-width:1280px){
.teachert-sec {}
.teachert-sec:nth-child(even) {}
}

@media screen and (max-width:768px){
.teachert-sec { padding:6.25vw 0 10vw; }
.teachert-sec:nth-child(even) {}
}

.teacher-dl { display:flex; flex-flow:row wrap; margin:0 40px; padding:0 0 40px; }
.teacher-dl dt { width:25%; }
.teacher-dl dt img { width:100%; height:auto; }
.teacher-dl dd { width:75%; padding:0 0 0 40px; }
.teacher-dl dd span { display:block; padding:80px 0 20px; font-size:1rem; font-weight:normal; letter-spacing:1.5px; }
.teacher-dl dd strong { display:block; font-size:2.5rem; font-weight:normal; letter-spacing:4px; }

@media screen and (min-width:1280px){
.teacher-dl { max-width:1200px; margin:0 auto; }
.teacher-dl dt { width:250px; }
.teacher-dl dt img {}
.teacher-dl dd { width:900px; }
.teacher-dl dd span {}
.teacher-dl dd strong {}
}

@media screen and (max-width:768px){
.teacher-dl { display:block; padding:0 0 6.25vw; }
.teacher-dl dt { width:auto; text-align:center; padding:0 0 3.9vw; }
.teacher-dl dt img { width:50%; }
.teacher-dl dd { width:auto; text-align:center; padding:0; }
.teacher-dl dd span { padding:0 0 3.9vw; font-size:3.12vw; letter-spacing:0.3vw; }
.teacher-dl dd strong { font-size:6.25vw; letter-spacing:0.4vw; }
}

.teacher-tb { margin:0 40px; line-height:2.2; border-top:1px #dfdfdf solid; border-bottom:1px #dfdfdf solid; border-collapse:collapse; font-size:1rem; color:#000; }
.teacher-tb tr:nth-child(even) th, 
.teacher-tb tr:nth-child(even) td { background:#ebebeb; }
.teacher-tb th { width:25%; border-top:1px #dfdfdf solid; border-bottom:1px #dfdfdf solid; border-right:1px #dfdfdf solid; text-align:left; padding:15px 25px; font-weight:normal; }
.teacher-tb td { border-top:1px #dfdfdf solid; border-bottom:1px #dfdfdf solid; text-align:left; padding:15px 25px; }

@media screen and (min-width:1280px){
.teacher-tb { max-width:1200px; margin:0 auto; }
.teacher-tb tr:nth-child(even) th, 
.teacher-tb tr:nth-child(even) td {}
.teacher-tb th { width:280px; }
.teacher-tb td {}
}

@media screen and (max-width:768px){
.teacher-tb { font-size:3.12vw; }
.teacher-tb tr:nth-child(even) th, 
.teacher-tb tr:nth-child(even) td {}
.teacher-tb th { width:25%; padding:2.34vw 2vw; }
.teacher-tb td { padding:2.34vw 2vw; }
}

