@charset "UTF-8";
/* CSS Document */

/* Reset -------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none outside none;}
table {border-collapse: collapse;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

html {overflow-y: scroll;}
body{
font:80%/1.5 AxisStd-Light, Helvetica,Arial,"YuGothic", "Yu Gothic","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
color:#000;
-webkit-text-size-adjust: 100%;
background:#fff;
}
html>/**/body {}
* + html body {font-family: "メイリオ","Meiryo";}

object, embed	{vertical-align: top;}
hr, legend	{display: none;}
img {-ms-interpolation-mode: bicubic; }
li	{list-style-type: none;}
p, dd, blockquote {text-align: justify;text-justify: inter-ideograph;}
a	{overflow: hidden;outline: none;}

strong {font-weight: bold;}
sub, sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

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


/* Style -------------------------------------------- */

body {
	color: #333;
	font-size: 16px;
	line-height: 1.7;
	background-color: #fff;
}

a{
	margin: 0;
	padding: 0;
	text-decoration: none;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
	color: #000;
	transition: all 0.2s linear;
}


/* --------------------------------------------------
  Structure
-------------------------------------------------- */

header.common, footer.common {
	clear: both;
	width: 100%;
	position: relative;
}

.ivmvel{
	opacity: 0.0;
	filter: alpha(opacity=0);
	-webkit-transform: translate(0, 20px); 
	transform: translate(0, 20px); 
	transition: all 0.4s ease;
}
.ivmv{
	opacity: 1.0;
	filter: alpha(opacity=100);
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0); 
}
.ivhmvel{
	opacity: 1.0;
	filter: alpha(opacity=100);
	transition: opacity 0.4s ease;
	z-index: 100;
}
.ivhmv{
	opacity: 0.0;
	filter: alpha(opacity=0);
	z-index: -1;
}


/* --------------------------------------------------
  Common Header
-------------------------------------------------- */

header.common {
	width: 100%;
	height: 90px;
    
	position: fixed;
	z-index: 500;
	
	background-color: rgba(255, 255, 255, 0.6);
	
}

header.common #logo{
	width: 222px;
	position: absolute;
	top: 20px;
    left: 28px;
	line-height: 0;
	z-index: 550;
}
header.common #siteTitle{
	width: 208px;
    margin: 10px auto 0;
	line-height: 0;
	z-index: 550;
}
header.common #logo img,
header.common #siteTitle img{
	width: 100%;
	height: auto;
}

.spInfo{
	width: 100%;
	height: 32px;
    
	position: fixed;
	top: 90px;
	z-index: 500;
	
	font-size: 20px;
	color: #fff;
	letter-spacing: 0.1em;
	background-color: rgba(196, 20, 59, 0.9);
	
	display: flex;
	justify-content: center;
	align-items: center;
}




/* --------------------------------------------------
  Home
-------------------------------------------------- */

#homeMainImage{
	width: 100%;
	height: 1000px;
	position: relative;
/*	z-index: -1;*/

}

#homeMainImage .content{
	width: 100%;
	height: 100%;
	margin: 0 auto;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	align-items: center;
    align-content: center;
    
    position: relative;
    z-index: 100;
}
#homeMainImage .image{
	width: 100%;
	height: 100%;
    
    position: absolute;
    left: 0;
    top: 0;
    z-index: 200;
}
#homeMainImage .image ul{
	width: 100%;
	height: 100%;

    position: absolute;
    left: 0;
    top: 0;
}
#homeMainImage .image li{
	width: 100%;
	height: 100%;
    
    position: absolute;
    left: 0;
    top: 0;

    background-color: transparent;
    
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    
    
    display: none;
}


#homeMainImage .mainCopy{
    box-sizing: border-box;
    width: 80%;
    height: 100%;
    max-width: 600px;

    position: relative;
    z-index: 300;
}
#homeMainImage .mainCopy ul{
    width: 100%;
    height: 100%;
    
    position: relative;
}
#homeMainImage .mainCopy ul li{
    width: 100%;
    
    position: absolute;
    left: 0;
    bottom: 35%;

    background-color: transparent;
    
    
    display: none;
}
#homeMainImage .mainCopy li img{
    width: 100%;
    height: auto;
}

#homeMainImage .icon{
	display: block;
    width: 100%;
	height: 80px;
	position: absolute;
	left: 0;
	bottom: -40px;
    
    z-index: 200;
    
    text-align: center;
}
#homeMainImage .icon img{
	width: 80px;
	height: auto;
}


#homeLead{
	width: 90%;
	margin: 0 auto;
	
	padding: 90px 0 90px;
}
#homeLead p{
	font-size: 44px;
    color: #c4143b;
    letter-spacing: 0.05em;
	line-height: 1.5;
    
    text-align: center;
    
    margin-bottom: 60px;
}
#homeLead ul.image{
    width: 100%;
    margin: 0 auto;
    max-width: 900px;
    
    display: flex;
    justify-content: space-around;
}
#homeLead ul.image li{
    width: 29%;
    margin: 0 2%;
    
    line-height: 0;
}
#homeLead ul.image li img{
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50%;
}

#homeLine{
	width: 100%;
	margin: 0 auto;
    
    background-color: #f5f5f5;
    text-align: center;
	
    padding: 50px 0;
    
    margin-bottom: 100px;
}
#homeLine .inner{
    box-sizing: border-box;
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    display: inline-block;
    padding: 15px 20px 5px;
    background-color: #fff;
    border-radius: 20px;
}
#homeLine h3{
    font-size: 17px;
    line-height: 1.3;
    color: #00800b;
    font-weight: normal;
    margin-bottom: 10px;
}
#homeLine p{
    font-size: 15px;
    line-height: 1.7;
    text-align: center;
    margin-bottom: 10px;
}

#homeMovie{
	width: 90%;
	margin: 0 auto;
	
	padding: 0 0 100px;
}
#homeMovie .movie{
    width: 100%;
	margin: 0 auto;
	max-width: 900px;
    
    overflow: hidden;

	position: relative;
	margin-bottom: 20px;
}
#homeMovie .movie::before{
    content: "";
    display: block;
    padding-top: 56.25%;
}
#homeMovie .movie iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}



section#aboutus,
section#interview,
section#process,
section#jobs{
    margin-bottom: 80px;
}

.sectionTitle{
	width: 100%;
    height: auto;
	display: block;
	position: relative;
	overflow: hidden;
	
	line-height: 0;
    
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    
    margin-bottom: 60px;
}
.sectionTitle::before{
	content:"";
	display: block;
	padding-top: 28%;
}
.sectionTitle.aboutus{
    background-image: url("img/bg_sectionTitle_aboutus.jpg");
}
.sectionTitle.interview{
    background-image: url("img/bg_sectionTitle_interview.jpg");
}
.sectionTitle.process{
    background-image: url("img/bg_sectionTitle_process.jpg");
}
.sectionTitle.jobs{
    background-image: url("img/bg_sectionTitle_jobs.jpg");
}

.sectionTitle .textArea{
    box-sizing: border-box;
    width: 100%;
    
    padding: 12px 0 10px;
    
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: rgba(51, 51, 51, 0.5);
    
    text-align: center;
    color: #fff;
    line-height: 1.5;
}
.sectionTitle .textArea .en{
    font-size: 26px;
    width: 100%;
    text-align: center;
    letter-spacing: 0.05em;
}
.sectionTitle .textArea h2{
    font-size: 32px;
    width: 100%;
    text-align: center;
    letter-spacing: 0.05em;
}

h3{
    width: 90%;
    margin: 0 auto;
    
    font-size: 22px;
    font-weight: bold;
    color: #c4143b;
    text-align: center;
    
    margin-bottom: 60px;
}

.introduction{
    box-sizing: border-box;
    width: 100%;
    padding: 40px 5%;
    
    text-align: center;
    
    font-size: 15px;
    line-height: 2.0;
    
    background-color: #eee;
}
.introImage{
    width: 100%;
    line-height: 0;
    
    margin-bottom: 60px;
}
.introImage img{
    width: 100%;
    height: auto;
}

table.cmn{
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    
    border-bottom: 1px solid #666;
}
table.cmn th,
table.cmn td{
    box-sizing: border-box;
    padding: 35px 40px;
    border-top: 1px solid #666;
    
    font-size: 15px;
    line-height: 1.6;
}
table.cmn th{
    text-align: center;
    background-color: #eee;
}
table.cmn.requirements th{
    white-space: nowrap;
}

p{
    font-size: 15px;
    line-height: 1.8;
}
p.note,
p.note2{
    width: 90%;
    margin: 0 auto;
    text-align: center;
    line-height: 1.6;
}
p.note a,
p.note2 a{
    color: #c4143b;
    text-decoration: underline;
}
p.note a:hover,
p.note2 a:hover{
    text-decoration: none;
}

p.interviewIntro{
    width: 90%;
    margin: 0 auto;
    max-width: 640px;
}
p.interviewIntro .name{
    display: block;
    text-align: right;
}
p.movieLeadA{
    font-size: 18px;
    line-height: 1.8;
	text-align: center;
	margin-top: -20px; 
	margin-bottom: 20px;
}

ul.teacher{
    width: 90%;
    margin: 0 auto;
    max-width: 1200px;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    
    margin-bottom: 80px;
}
ul.teacher li{
    width: 32%;
    background-color: #eee;
}
ul.teacher li .photo{
    width: 100%;
    line-height: 0;
}
ul.teacher li .photo img{
    width: 100%;
    height: auto;
}
ul.teacher li .text{
    box-sizing: border-box;
    width: 100%;
    padding: 20px 5% 20px;
}
ul.teacher li .name{
    text-align: center;
    font-size: 20px;
    margin-bottom: 10px;
}
ul.teacher li p{
    text-align: center;
}


.question{
    box-sizing: border-box;
    width: 50%;
    margin: 0 auto;
    max-width: 500px;
    
    padding: 10px 20px 10px;
    
    background-color: #c4143b;
    border-radius: 18px;
    
    text-align: center;
    
    position: relative;
    
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    
    margin-bottom: 60px;
}
.question::after{
    content: "";
    display: block;
    position: absolute;
    top: 18px;
    right: -15px;
    
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 15px;
    border-color: transparent transparent transparent #c4143b;
}

ul.answers{
    width: 95%;
    margin: 0 auto;
    max-width: 1200px;
    
    padding-bottom: 50px;
}
ul.answers li{
    width: 100%;
    
    display: flex;
    justify-content: space-between;
    
    margin-bottom: 40px;
}
ul.answers li .photo{
    width: 15%;
}
ul.answers li .photo img{
    display: block;
    width: 100%;
    height: auto;
    
    border-radius: 50%;
}
ul.answers li .text{
    box-sizing: border-box;
    
    width: 82%;
    margin-left: 35px;
    background-color: #eee;
    padding: 35px 50px;
    border-radius: 40px;
    
    position: relative;
}
ul.answers li .text::before{
    content: "";
    display: block;
    position: absolute;
    top: 38px;
    left: -25px;
    
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 25px 20px 0;
    border-color: transparent #eee transparent transparent;
}
ul.answers li .answer{
    font-size: 17px;
    font-weight: bold;
    
    margin-bottom: 10px;
}
ul.answers li .answer .name{
    font-size: 15px;
    font-weight: normal;
}


.advise{
    width: 100%;
    
    background-color: #eee;
    
    margin-bottom: 40px;
}
.advise .image{
    width: 100%;
    line-height: 0;
    
    margin-bottom: 60px;
}
.advise .image img{
    width: 100%;
    height: auto;
}

ul.advise{
    width: 90%;
    margin: 0 auto;
    max-width: 550px;
    
    padding-bottom: 50px;
}
ul.advise li{
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 15px;
    
    position: relative;
    padding-left: 25px;
}
ul.advise li::before{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 5px;
    
    width: 14px;
    height: 14px;
    background-color: #c4143b;
    border-radius: 50%;
}

.afterword{
    box-sizing: border-box;
    width: 90%;
    margin: 0 auto;
    max-width: 780px;
    
    padding: 40px 55px 35px;
    
    border: 3px dotted #ccc;
    border-radius: 50px;
    
    margin-bottom: 90px;
}
.afterword h3{
    margin-bottom: 30px;
}

.timetable{
    width: 100%;
    margin: 0 auto;
    max-width: 1200px;
    
    margin-bottom: 100px;
}
.timetable .image{
    width: 100%;
    line-height: 0;
}
.timetable .image img{
    width: 100%;
    height: auto;
}
.timetable .content{
    padding: 30px 0 20px;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.timetable .content h3{
    width: 100%;
    margin-bottom: 30px;
}
.timetable table th,
.timetable table td{
    font-size: 15px;
    line-height: 1.5;
    
    padding: 0 12px 8px;
}
.timetable table th{
    white-space: nowrap;
    font-weight: bold;
    text-align: right;
}

ul.process{
    width: 100%;
    margin: 0 auto;
    max-width: 800px;
    
    margin-bottom: 30px;
}
ul.process li{
    width: 100%;
    
    position: relative;
    
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    
    margin-bottom: 20px;
}
ul.process li .num{
    width: 10%;
}
ul.process li .num .label{
    width: 65px;
    height: 65px;
    
    background-color: #c4143b;
    border-radius: 50%;
    
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    
    transform: translateX(50px);
}
ul.process li .num .label .number{
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}
ul.process li .content{
    box-sizing: border-box;
    width: 90%;
    margin-right: 50px;
    
    padding: 12px 20px 12px 70px;
    
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    
    background-color: #eee;
    border-radius: 30px;
}


ul.jobs{
    width: 90%;
    margin: 0 auto;
    max-width: 1000px;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    
    margin-bottom: 70px;
}
ul.jobs li{
    width: 100%;
    max-width: 540px;
    
    margin-bottom: 20px;
}
ul.jobs li a{
    width: 100%;
    
    background-color: #c4143b;
    
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
}
ul.jobs li a:hover{
    opacity: 0.7;
}
ul.jobs li a .image{
    display: block;
    width: 33%;
    line-height: 0;
}
ul.jobs li a .image img{
    width: 100%;
    height: auto;
}
ul.jobs li a .text{
    box-sizing: border-box;
    width: 67%;
    
    color: #fff;
    
    padding: 20px 30px;
}
ul.jobs li a .text .name{
    display: block;
    font-size: 20px;
    font-weight: bold;
    
    margin-bottom: 15px;
}
ul.jobs li a .text .desc{
    display: block;
    font-size: 15px;
}


.applyBtn{
	width: 100%;
    text-align: center;
    
    margin-bottom: 60px;
}
.applyBtn a{
    display: inline-block;
    
    padding: 18px 100px;
    
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    line-height: 1.0;
    
    background-color: #c4143b;

    border-radius: 10px;
}
.applyBtn a:hover{
    opacity: 0.7;
}
.backBtn{
	width: 100%;
    text-align: center;
    
    margin-bottom: 70px;
}
.backBtn a{
    display: inline-block;
    
    padding: 6px 30px;
    
    font-size: 13px;
    color: #fff;
    
    background-color: #c4143b;

    border-radius: 18px;
}
.backBtn a:hover{
    opacity: 0.7;
}




.formWR{
	width: 90%;
	margin: 0 auto;
	max-width: 800px;
}


p.form{
	font-size: 15px;
	line-height: 1.7;
}
dl.form{
	width: 100%;
	border-bottom: 1px dotted #666;
	float: left;
	
	font-size: 15px;
}
dl.form dt, dl.form dd{
}
dl.form dt{
	clear: both;
	border-top: 1px dotted #666;
	padding: 1% 2%;
	width: 21%;
	float: left;
	font-weight: bold;
}
dl.form dd{
	border-top: 1px dotted #666;
	padding: 1% 2%;
	width: 71%;
	float: left;
}


dl.form input[type="text"],
dl.form input[type="password"]{
	height: 25px;
	font-size: 14px;
	margin-bottom: 3px;
}
dl.form select{
	height: 25px;
	font-size: 14px;
	margin-bottom: 3px;
}

dl.form input[type="text"].name{ width: 150px;}
dl.form input[type="text"].zip{ width: 100px;}
dl.form input[type="text"].address{ width: 280px;}
dl.form input[type="text"].tel{ width: 150px;}
dl.form textarea{ width: 95%; height: 8em; font-size: 14px;}
dl.form input[type="text"].email{ width: 200px;}

form input[type="button"],
form input[type="submit"]{


	background: none;

	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	margin: 5px 0;
	padding: 5px 20px;
	font-size: 16px;
	color: #fff;
	background-color: #c4143b;
	cursor: pointer;
	border: 5px solid #9d0023;
	border-radius: 5px;
}


dl.form .notice{
	margin: 5px 0;
	padding: 5px 10px;
	background-color: #e4ecff;
	font-size: 13px;
}
dl.form .notice a:link,
dl.form .notice a:visited{
	color: #1954dc;
	text-decoration: underline;
}
dl.form .notice a:hover,
dl.form .notice a:active{
	color: #1954dc;
	text-decoration: none;
}


.formButton{
	clear: both;
	width: 100%;
	padding: 10px 0;
	text-align: center;
}
.error-fp{
	font-weight: bold;
	color: #e00;
	margin-bottom: 20px;
}




/* --------------------------------------------------
  Common Footer
-------------------------------------------------- */

footer.page{
	width: 100%;
	
	position: relative;
	z-index: 800;
}

footer.page .link{
	width: 100%;
    padding: 10px 0 4px;
    
    text-align: center;
    
    background-color: #ddd;
}
footer.page .link a{
    display: inline-block;
    
    padding: 5px 20px;
    
    font-size: 12px;
    font-weight: bold;
    color: #c4143b;
    line-height: 1.0;
    
    background-color: #fff;
    border: 2px solid #c4143b;
    border-radius: 15px;
}

footer.page .content{
	width: 100%;
	
	padding: 45px 0 15px;
	
	display: flex;
	flex-wrap: wrap;
/*	justify-content: space-between;*/
	justify-content: center;

	background-color: #c4143b;
}

footer.page .info{
	display: flex;
	flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
}
footer.page .logo{
	width: 180px;
	line-height: 0;
	
	padding: 0 25px 30px;
}
footer.page .logo img{
	width: 100%;
	height: auto;
}
footer.page .address{
	
	font-size: 13px;
	line-height: 1.5;
	color: #fff;
	
	white-space: nowrap;
	
	padding: 5px 25px 30px;
}
footer.page .address .map{
    margin-top: 10px;
}

footer.page .copyright{
	width: 100%;
	font-size: 11px;
	color: #fff;
	text-align: center;
	padding: 25px 0 25px;
	
	background-color: #9d0023;
}




.pageTop {
	position: fixed;
	bottom: 40px;
	right: 10px;
	
	width: 60px;
	
	z-index: 1100;
}
.pageTop img{
	width: 100%;
	height: auto;
}





/* Common Navigation
------------------------------------------------------------*/
@media only screen and (min-width: 900px){


#commonNavi{
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
}




ul#globalNavi{
    box-sizing: border-box;
	width: 100%;
	height: 90px;
	position: absolute;
	right: 0;
	top: 0;
    
    padding-right: 20px;
	
	z-index: 110;

	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-content: center;
	align-items: center;
}
ul#globalNavi > li{
	height: 100%;
}
ul#globalNavi > li > a{
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 0 12px;

	font-size: 14px;
    line-height: 1.0;
    
    color: #c4143b;
    font-weight: bold;

	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
}
ul#globalNavi > li > a:hover{
    text-decoration: underline;
}




}




/* Common Navigation Responsive Structure
---------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width:899px){

#commonNavi {
	display: none;
}
	
	
	

	
	
	

#menuOverlay {
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.6);
	display: none;
	position: fixed;
	z-index: 9997;
}

#switchBtnArea {
	width: 100%;

	position: relative;
}

#switchBtnArea #switchBtn {
	top: 0px;
	right: 0;
	width: 60px;
	height: 60px;
	display: block;
/*	background: #18d6c6;*/
	
/*	border: 1px solid #fff;*/
	
	position: fixed;

	z-index: 9998;
	
/*	background-color: rgba(0,0,0,0.2);*/
}

#switchBtnArea #switchBtn span {
	left: 32%;
	width: 36%;
	height: 2px;
	display: block;
	position: absolute;
	background-color: #a82b2d;
	border-radius: 5px;
	transition: all 0.2s linear;
}
#switchBtnArea #switchBtn span:nth-of-type(1) {
	top: 22px;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}
#switchBtnArea #switchBtn span:nth-of-type(2) {
	top: 29px;
	-webkit-transform: scale(1);
	transform: scale(1);
}
#switchBtnArea #switchBtn span:nth-of-type(3) {
	bottom: 22px;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

#switchBtnArea #switchBtn.btnClose {
	background: transparent;
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
	top: 29px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	background-color: #fff;
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
	-webkit-transform: scale(0);
	transform: scale(0);
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
	bottom: 29px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background-color: #fff;
}

#rwdMenuWrap {
	top: 60px;
	right: -250px;
	width: 250px;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.2);
	overflow: auto;
	position: fixed;
	z-index: 9997;
}

#rwdMenuWrap ul#globalNavi {
	width: 100%;
	padding: 10px 0;

	background-color: rgba(255,255,255,0.7);
}
#rwdMenuWrap ul#globalNavi li {
	width: 100%;
}

#rwdMenuWrap ul#globalNavi li a {
	padding: 15px 25px;
	text-align: left;
	display: block;
	position: relative;
	
	color: #a82b2d;
	
	font-size: 16px;
    font-weight: bold;
}

#rwdMenuWrap ul#globalNavi li a:after {
	content: '';
	margin-top: -4px;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 2px solid #a82b2d;
	border-right: 2px solid #a82b2d;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}



#rwdMenuWrap ul#floatNavi{
    box-sizing: border-box;
	z-index: 120;
        
    width: 100%;
    
    margin-top: 15px;
        
}
#rwdMenuWrap ul#floatNavi li{
    box-sizing: border-box;
    padding: 0 5px;
    
    text-align: center;

}
#rwdMenuWrap ul#floatNavi li a{
    display: inline-block;
	width: 130px;
    height: 40px;
    
    box-sizing: border-box;
    padding:  14px 20px 14px 20px;
    
    font-size: 13px;
    line-height: 1.0;
    color: #000c75;
	
	font-family: 'Questrial', sans-serif;
	
	text-align: left;
    
	background-color: #f8f62f;
    
    background-image: url("img/icon_linkBtn_bl.png");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 28px auto;

	border-radius: 5px;
    
    position: relative;
}

#rwdMenuWrap ul#floatNavi li a .ww{
    display: none;
}




}





/* Responsive Structure
---------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 899px){


header.common {
	height: 60px;
}
header.common #logo{
	width: 100px;
	top: 20px;
    left: 18px;
 }
header.common #siteTitle{
	width: 130px;
    margin: 10px auto 0;
}


.spInfo{
	height: 28px;
	top: 60px;
	font-size: 15px;
}




#homeMainImage{
	width: 100%;
    height: auto;
}
#homeMainImage .image{
	width: 100%;
    height: auto;
	display: block;
	position: relative;
	overflow: hidden;
	
	line-height: 0;
}
#homeMainImage .image::before{
	content:"";
	display: block;
	padding-top: 66%;
}
#homeMainImage .mainCopy{
    width: 60%;
    max-width: 400px;
}
#homeMainImage .mainCopy ul li{
    bottom: 0;
}

#homeMainImage .icon{
	height: 40px;
	bottom: -50px;
    
    z-index: 500;
}
#homeMainImage .icon img{
	width: 50px;
}


#homeLead{
	padding: 70px 0 50px;
}
#homeLead p{
	font-size: 23px;
    
    text-align: center;
    
    margin-bottom: 20px;
}
#homeLead ul.image{
    width: 100%;
    margin: 0 auto;
    max-width: 600px;
}

#homeLine{
    padding: 40px 0;
    
    margin-bottom: 80px;
}
#homeLine .inner{
    padding: 15px 20px 5px;
}
#homeLine h3{
    font-size: 15px;
    margin-bottom: 5px;
}
#homeLine p{
    font-size: 13px;
    margin-bottom: 10px;
}

#homeMovie{
	padding: 0 0 80px;
}


section#aboutus,
section#interview,
section#process,
section#jobs{
    margin-bottom: 60px;
}

.sectionTitle{
    margin-bottom: 50px;
}
.sectionTitle .textArea{
    padding: 8px 0 8px;
}
.sectionTitle .textArea .en{
    font-size: 20px;
}
.sectionTitle .textArea h2{
    font-size: 24px;
}


h3{
    font-size: 20px;
    margin-bottom: 50px;
}

.introduction{
    padding: 25px 10%;
    font-size: 14px;
    
    text-align: left;
}

.introImage{
    margin-bottom: 50px;
}

table.cmn th,
table.cmn td{
    padding: 25px 30px;
    font-size: 14px;
}

p{
    font-size: 14px;
}
p.note{
    text-align: left;
}

p.movieLeadA{
    font-size: 15px;
 	margin-bottom: 20px;
}

ul.teacher li .text{
    padding: 15px 5%;
}
ul.teacher li .name{
    font-size: 18px;
    margin-bottom: 8px;
}


.question{
    width: 70%;
    max-width: 500px;
    
    padding: 8px 20px 8px;
    
    font-size: 18px;
    
    margin-bottom: 50px;
}
.question::after{
    top: 14px;
    right: -12px;
    
    border-width: 10px 0 10px 15px;
}

ul.answers{
    padding-bottom: 40px;
}
ul.answers li{
    margin-bottom: 30px;
}
ul.answers li .photo{
    width: 20%;
}
ul.answers li .text{
    width: 77%;
    margin-left: 35px;
    padding: 25px 40px;
    border-radius: 30px;
}
ul.answers li .text::before{
    top: 30px;
    left: -20px;
    
    border-width: 20px 25px 20px 0;
}
ul.answers li .answer{
    font-size: 15px;
    margin-bottom: 12px;
}
ul.answers li .answer .name{
    font-size: 14px;
}


.advise{
    margin-bottom: 40px;
}
.advise .image{
    margin-bottom: 50px;
}

ul.advise{
    max-width: 550px;
    
    padding-bottom: 40px;
}
ul.advise li{
    font-size: 14px;
    margin-bottom: 12px;
    padding-left: 20px;
}
ul.advise li::before{
    top: 5px;
    
    width: 13px;
    height: 13px;
}

.afterword{
    padding: 30px 45px 25px;
    
    margin-bottom: 70px;
}

.timetable{
    margin-bottom: 80px;
}
.timetable .content{
    padding: 30px 0 20px;
}
.timetable .content h3{
    margin-bottom: 30px;
}
.timetable table th,
.timetable table td{
    font-size: 14px;
    padding: 0 12px 8px;
}

ul.process{
    margin-bottom: 30px;
}
ul.process li{
    margin-bottom: 20px;
}
ul.process li .num{
    width: 10%;
}
ul.process li .num .label{
    width: 60px;
    height: 60px;
    
    transform: translateX(30px);
}
ul.process li .num .label .number{
    font-size: 16px;
}
ul.process li .content{
    width: 90%;
    margin-right: 30px;
    
    padding: 12px 20px 12px 60px;
    
    font-size: 14px;

    border-radius: 30px;
}

ul.jobs{
    margin-bottom: 70px;
}
ul.jobs li{
    margin-bottom: 20px;
}
ul.jobs li a .text{
    padding: 20px 30px;
}
ul.jobs li a .text .name{
    font-size: 18px;
    margin-bottom: 13px;
}
ul.jobs li a .text .desc{
    font-size: 14px;
}

.applyBtn{
    margin-bottom: 50px;
}
.applyBtn a{
    padding: 16px 80px;
    
    font-size: 16px;

    border-radius: 10px;
}
.backBtn{
    margin-bottom: 60px;
}
.backBtn a{
    padding: 5px 25px;
    
    font-size: 12px;

    border-radius: 18px;
}

dl.form dt{
	padding: 3% 2% 3%;
	width: 100%;
	float: none;
}
dl.form dd{
	border-top: none;
	padding: 1% 2% 3%;
	width: 100%;
	float: none;
}


footer.page .info{
	flex-direction: column;
	align-content: center;
	align-items: center;
}

footer.page .address .map{
    text-align: center;
}




}




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

@media only screen and (max-width: 499px){


#homeLead{
	padding: 70px 0 40px;
}
#homeLead p{
	font-size: 18px;
    
    text-align: center;
    
    margin-bottom: 20px;
}

#homeMovie{
	padding: 0 0 60px;
}

section#aboutus,
section#interview,
section#process,
section#jobs{
    margin-bottom: 50px;
}
.sectionTitle{
    margin-bottom: 30px;
}
.sectionTitle .textArea{
    padding: 6px 0 6px;
}
.sectionTitle .textArea .en{
    font-size: 16px;
}
.sectionTitle .textArea h2{
    font-size: 20px;
}

h3{
    font-size: 18px;
    margin-bottom: 30px;
}

.introduction{
    padding: 20px 5%;
    font-size: 13px;
    
    text-align: left;
}

.introImage{
    margin-bottom: 30px;
}

table.cmn th,
table.cmn td{
    padding: 15px 20px;
    font-size: 13px;
}

p{
    font-size: 13px;
}

ul.teacher li{
    width: 100%;
    
    margin-bottom: 20px;
}
ul.teacher li .text{
    padding: 10px 5%;
}
ul.teacher li .name{
    font-size: 16px;
    margin-bottom: 6px;
}

.question{
    width: 80%;
    
    padding: 6px 20px;
    
    font-size: 16px;
    
    margin-bottom: 40px;
}
.question::after{
    top: 10px;
    right: -10px;
    
    border-width: 10px 0 10px 15px;
}

ul.answers{
    padding-bottom: 30px;
}
ul.answers li{
    margin-bottom: 20px;
}
ul.answers li .photo{
    width: 20%;
}
ul.answers li .text{
    width: 77%;
    margin-left: 25px;
    padding: 20px 35px;
    border-radius: 20px;
}
ul.answers li .text::before{
    top: 25px;
    left: -15px;
    
    border-width: 20px 25px 20px 0;
}
ul.answers li .answer{
    font-size: 14px;
    margin-bottom: 12px;
}
ul.answers li .answer .name{
    font-size: 13px;
}

.advise{
    margin-bottom: 30px;
}
.advise .image{
    margin-bottom: 40px;
}

ul.advise{
    padding-bottom: 30px;
}
ul.advise li{
    font-size: 13px;
    margin-bottom: 10px;
    padding-left: 18px;
}
ul.advise li::before{
    top: 4px;
    
    width: 12px;
    height: 12px;
}

.afterword{
    padding: 20px 30px 25px;
    border-radius: 30px;
    
    margin-bottom: 50px;
}
.afterword h3{
    margin-bottom: 20px;
}

.timetable{
    margin-bottom: 70px;
}
.timetable .content{
    padding: 30px 0 20px;
}
.timetable .content h3{
    margin-bottom: 30px;
}
.timetable table th,
.timetable table td{
    font-size: 13px;
    padding: 0 12px 8px;
}

ul.process{
    margin-bottom: 30px;
}
ul.process li{
    margin-bottom: 15px;
}
ul.process li .num{
    width: 10%;
}
ul.process li .num .label{
    width: 60px;
    height: 60px;
    
    transform: translateX(30px);
}
ul.process li .num .label .number{
    font-size: 15px;
}
ul.process li .content{
    width: 90%;
    margin-right: 30px;
    
    padding: 12px 20px 12px 60px;
    
    font-size: 13px;

    border-radius: 30px;
}

ul.jobs{
    margin-bottom: 70px;
}
ul.jobs li{
    margin-bottom: 20px;
}
ul.jobs li a .text{
    padding: 20px 30px;
}
ul.jobs li a .text .name{
    font-size: 16px;
    margin-bottom: 12px;
}
ul.jobs li a .text .desc{
    font-size: 13px;
}

.applyBtn{
    margin-bottom: 40px;
}
.applyBtn a{
    padding: 15px 60px;
    
    font-size: 15px;

    border-radius: 10px;
}
.backBtn{
    margin-bottom: 50px;
}
.backBtn a{
    padding: 4px 20px;
    
    font-size: 11px;

    border-radius: 18px;
}




.pageTop {
	bottom: 80px;
	right: 10px;
	
	width: 36px;
}


}







