@charset "UTF-8";

/*---------- ページ全体の指定 ----------*/

body {
font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
margin:0;
padding:0;
font-size:16px;
box-sizing:border-box;
color:#282828;
}

a:link {color:#d73143;text-decoration:underline;}
a:visited {color:#d73143;text-decoration:underline;}
a:hover {color:#d73143;text-decoration:none;}
a img {border-style:none;}
a img {
border-style:none;
-webkit-transition: all .3s;
transition:all .3s;
}
img {vertical-align:bottom;}

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

.pcnone{display:none;}
.spnone{}
.sp_pad_none{}
@media only screen and (min-width:640px) and (max-width:1024px){
.sp_pad_none{display:none;}
}
@media screen and (min-width: 1025px) {
.sp_pad_none{}
}

p {
font-size:16px;
line-height:180%;
letter-spacing:1px;
}

header  {
width:100%;
height:60px;
margin:0;
padding:0;
top:0;
left:0;
z-index:9990;
position:fixed;
background-color:none;
position:absolute;
top:0;
transition: all 0.5s ease;
}
header.scroll{
position:fixed;
top:0;
background:rgba(255,255,255,0.9);
}

.header_in  {
margin:0;
padding:0;
-webkit-user-select:none;
-moz-user-select:none;
user-select:none;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}

.logo {
margin:0;
padding:17px 0 0 18px;
float:left;
}
.logo img{height:24px;}

.infobox{
margin:0;
padding:0;
float:right;
}
header nav {
margin:0;
padding:0;
font-size:18px;
line-height:120%;
letter-spacing:1px;
}

ul.menu {
margin:0;
padding:0 0 0 15px;
list-style:none;
z-index:9999;
}

ul.menu li {
margin:0;
padding:0;
color:#fff;
border-bottom:solid 1px #444;
}
ul.menu li a {
display:block;
padding:16px 15px 14px 0;
color:#fff;
text-decoration:none;
-webkit-transition: all .3s;
transition:all .3s;
}
ul.menu li a:hover {
color:#999;
padding:16px 15px 14px 10px;
}
.menu span{
font-size:12px;
font-family: 'Roboto Condensed', sans-serif;
color:#999;
}



/*---------- ナビゲーションドロワー ----------*/

.click {
background:transparent url(img/btn.png) no-repeat 0 0;
background-size:auto 40px;
display:block;
width:40px;
height:40px;
position:absolute;
top:10px;
right:10px;
cursor:pointer;
z-index:9999;
}
.peke {
background-position:-40px 0;
}
.drawr {
display:none;
background-color:rgba(0,0,0,0.80);
position:absolute;
top:0px;
right:0;
width:310px;
padding:45px 0 20px 0;
z-index:9990;
}


/*---------- 見出し ----------*/

h1{}
h2{}
h3{}
h4{}


#copy{
width:100%;
height:740px;
margin:0;
padding:0;
position:relative;
background:url(img/copy.jpg) ;
background-repeat:no-repeat;
background-position:bottom center;
background-size:cover;
border-bottom:5px solid #d73143;
}
h1 img{width:580px;}
@media screen and (min-width: 1025px) {
h1 img{width:580px;}
}
#copy h1{
margin:0 auto;
padding:0;
position: absolute;
top:40%;
left:10%;
transform: translateY(-40%) translateX(-10%);
-webkit- transform: translateY(-40%) translateX(-10%);
}
@media screen and (min-width: 1025px) {
#copy h1{
top:40%;
left:35%;
transform: translateY(-40%) translateX(-35%);
-webkit- transform: translateY(-40%) translateX(-35%);
}
}
.badge{
margin:0;
padding:0;
text-align:right;
position: absolute;
bottom:1%;
right:3%;
transform: translateY(-1%) translateX(-3%);
-webkit- transform: translateY(-1%) translateX(-3%);
}
@media screen and (min-width: 1025px) {
.badge{
transform: translateY(-1%) translateX(-10%);
-webkit- transform: translateY(-1%) translateX(-10%);
}
}

.link{
margin:0;
padding:0;
text-align:center;
}
.link a:link {
color:#fff;
text-decoration:none;
-webkit-transition: 0.2s ease-in-out;
-moz-transition: 0.2s ease-in-out;
-o-transition: 0.2s ease-in-out;
transition: 0.2s ease-in-out;
}
.link a:visited {color:#fff;text-decoration:none;}
.link a:hover {color:#fff;text-decoration:none;}

.btn {
display:inline-block;
line-height:100%;
letter-spacing:1px;
text-decoration:none;
text-align:center;
background:-moz-linear-gradient(left, #2156f5, #8c45fb);
background:-webkit-linear-gradient(left, #2156f5, #8c45fb);
background:linear-gradient(to right, #2156f5, #8c45fb);
}
.btn:hover {
box-shadow:0 0 0;
background:-moz-linear-gradient(left, #3d52f7, #a841fd);
background:-webkit-linear-gradient(left, #3d52f7, #a841fd);
background:linear-gradient(to right, #3d52f7, #a841fd);
}
.size_01{
width:480px;
margin:45px auto 0 auto;
padding:30px 0;
font-size:21px;
font-weight:bold;
-webkit-border-radius:60px;
-moz-border-radius:60px;
border-radius:60px;
}
.size_02{
width:480px;
margin:15px auto 0 auto;
padding:30px 0;
font-size:21px;
font-weight:bold;
-webkit-border-radius:60px;
-moz-border-radius:60px;
border-radius:60px;
}


/*---------- トップ ----------*/

#memo_bg{
margin:0 0 75px 0;
padding:60px 0;
background-color:#f3f6f8;
}
@media screen and (min-width: 1025px) {
#memo_bg{
padding:75px 0;
}
}

#memo{
margin:0 30px;
padding:0;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content:space-between;
}
@media screen and (min-width: 1025px) {
#memo{
width:1200px;
margin:0 auto;
padding:0;
}
}
.memo_txt{
width:48%;
margin:0;
padding:0;
order:2;
position:relative;
}
.memo_box{
width:100%;
margin:0;
padding:0;
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
}
.memo_in{
margin:0;
padding:20px 50px 5px 50px;
position:relative;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}
.memo_in::before,
.memo_in::after {
position:absolute;
top:0;
content:'';
width:30px;
height:100%;
border-top:1px solid #555;
border-bottom:1px solid #555;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}
.memo_in::before {
left:0;
border-left:1px solid #555;
}
.memo_in::after {
right:0;
border-right:1px solid #555;
}
.memo_title{
margin:0;
padding:0 0 10px 0;
text-align:center;
}
.memo_title img{
width:100%;
}
.memo_photo{
width:48%;
margin:0;
padding:0;
order:1;
}
.memo_photo img{
width:100%;
}


.subhead_eng{
margin:0;
padding:0;
font-size:48px;
font-weight:bold;
line-height:100%;
letter-spacing:1px;
text-align:center;
font-family: 'Roboto Condensed', sans-serif;
}
.subhead_eng_mt{
margin:75px 0 0 0;
padding:0;
font-size:48px;
font-weight:bold;
line-height:100%;
letter-spacing:1px;
text-align:center;
font-family: 'Roboto Condensed', sans-serif;
}
hr {
width:240px;
margin:10px auto 12px auto;
padding:0;
height:0;
border:none;
text-align:center;
}
.subhead{
margin:0 0 30px 0;
padding:0;
font-size:18px;
font-weight:normal;
line-height:150%;
text-align:center;
}

.red{color:#d73143;}
.white{color:#fff;}

.type_01{border-top:1px solid #d73143;}
.type_02{border-top:1px solid #fff;}


.feature_box{
margin:0 30px;
padding:0 0 75px 0;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content:space-between;
}
@media screen and (min-width: 1025px) {
.feature_box{
width:1200px;
margin:0 auto;
}
}
.feature{
width:31.5%;
margin:0;
padding:0;
}
.feature_digits{
margin:0;
padding:0 0 5px 0;
font-size:18px;
line-height:150%;
letter-spacing:1px;
text-align:center;
color:#ff9898;
font-family: 'Roboto Condensed', sans-serif;
}

.feature_number{
margin:0;
padding:5px 0 15px 0;
font-size:25px;
font-weight:bold;
line-height:100%;
text-align:center;
}
.feature_number span{
padding:5px 14px;
color:#fff;
background-color:#d73143;
-webkit-border-radius:30px;
-moz-border-radius:30px;
border-radius:30px;
font-family: 'Roboto Condensed', sans-serif;
}
.feature_title{
margin:0;
padding:0 0 15px 0;
font-size:21px;
font-weight:bold;
line-height:140%;
text-align:center;
}
@media screen and (min-width: 1025px) {
.feature_title{
font-size:24px;
letter-spacing:1px;
}
}
.feature_pict{
margin:0;
padding:0;
text-align:center;
}
.feature_pict img{width:100%;}

.contact{
margin:30px 0 0 0;
padding:60px 0 65px 0;
color:#fff;
background:#eb4753;
}
.contact_title{
margin:0;
padding:0;
font-size:24px;
font-weight:bold;
line-height:150%;
text-align:center;
}
.contact_title span{
padding:0 0 5px 0;
border-bottom:solid 3px #fff;
}
.contact_text{
margin:25px 0 0 2px;
padding:0;
font-size:18px;
line-height:180%;
letter-spacing:2px;
text-align:center;
}
.contact_caption{
margin:25px 0 0 0;
padding:0;
font-size:12px;
line-height:160%;
letter-spacing:1px;
text-align:center;
color:#fbdddd;
}

#contents{
margin:0;
padding:75px 0 45px 0;
background-color:#f3f6f8;
}
#contents ul{
margin:0 30px;
padding:0;
}
@media screen and (min-width: 1025px) {
#contents ul{
width:1200px;
margin:0 auto;
}
}
#contents ul li{
margin:0;
padding:0 0 45px 0;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content:space-between;
list-style:none;
align-items:center;
}
#contents ul li .photo,
#contents ul li .txt {
width:48%;
margin:0;
padding:0;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
.photo img{
width:100%;
}
#contents ul li:nth-child(odd) {
flex-direction:row-reverse;
}

.contents_head{
margin:0;
padding:0 0 10px 0;
font-size:18px;
line-height:150%;
letter-spacing:5px;
color:#fa5d5d;
font-style:oblique;
font-family: 'Roboto Condensed', sans-serif;
}
.contents_title{
margin:0;
padding:0 0 15px 0;
font-size:24px;
line-height:150%;
letter-spacing:1px;
}


#message{
width:100%;
height:600px;
margin:0 0 75px 0;
padding:0;
position:relative;
background:url(img/img_04.jpg) ;
background-repeat:no-repeat;
background-position:center center;
background-size:cover;
}
.message_in{
width:100%;
margin:0;
padding:0;
color:#fff;
text-align:center;
position:absolute;
top:50%;
left:50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
}


.voice_box{
margin:0 30px 60px 30px;
padding:0;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content:space-between;
}
@media screen and (min-width: 1025px) {
.voice_box{
width:1200px;
margin:0 auto 60px auto;
}
}
.voice{
width:32%;
margin:0;
padding:0;
}
@media screen and (min-width: 1025px) {
.voice{
width:31%;
}
}
.voice_photo{
margin:0;
padding:0;
text-align:center;
}
.voice_photo img{
width:55%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
border-radius:50%;
}
.voice_title{
margin:0 0 15px 0;
padding:20px 0 5px 0;
font-size:21px;
font-weight:bold;
line-height:150%;
text-align:center;
border-bottom:1px solid #d73143;
}
.voice_name{
margin:0;
padding:0;
font-size:16px;
line-height:150%;
letter-spacing:1px;
text-align:center;
color:#666;
}

#course{
width:720px;
margin:0 auto;
padding:0;
}
.course_title{
margin:0;
padding:0 0 25px 0;
font-size:24px;
font-weight:bold;
line-height:150%;
letter-spacing:1px;
text-align:center;
}
#course table{
width:100%;
border-collapse:separate;
margin:0;
}
#course table th{
width:200px;
font-size:16px;
font-weight:normal;
line-height:150%;
letter-spacing:1px;
padding:10px 0;
color:#fff;
background:#d73143;
}
#course table td{
font-size:18px;
line-height:150%;
letter-spacing:1px;
padding:10px 0 10px 20px;
border-bottom:solid 1px #ccc;
}

#lecturer{
width:720px;
margin:0 auto 75px auto;
padding:0;
}
.lecturer_photo{
margin:0;
padding:0;
text-align:center;
}
.lecturer_photo img{
width:320px;
-webkit-border-radius:50%;
-moz-border-radius:50%;
border-radius:50%;
}
.lecturer_eng{
margin:0;
padding:15px 0 0 0;
font-size:14px;
line-height:150%;
text-align:center;
color:#d73143;
font-family: 'Roboto Condensed', sans-serif;
}
.lecturer_name{
margin:0;
padding:10px 0 5px 0;
font-size:28px;
font-weight:bold;
line-height:100%;
letter-spacing:1px;
text-align:center;
}
.lecturer_name span{
font-size:14px;
font-weight:normal;
}

.lecturer_subhead{
margin:30px 0 0 0;
padding:10px 0 10px 15px;
font-size:20px;
line-height:100%;
letter-spacing:1px;
color:#d73143;
border-left:solid 1px #d73143;
border-bottom:solid 1px #d73143;
}

#lecturer ul{
margin:15px 0 0 0;
padding:0 0 0 20px;
}
#lecturer ul li{
list-style-type:disc;
margin:0;
padding:0 0 5px 0;
font-size:16px;
line-height:150%;
letter-spacing:1px;
}

.device{
margin:0;
padding:0;
text-align:center;
}
.device a:link {
color:#d73143;text-decoration:none;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.device a:visited {color:#d73143;text-decoration:none;}
.device a:hover {color:#fff;text-decoration:none;}

.button {
display:inline-block;
font-weight:bold;
line-height:100%;
letter-spacing:1px;
text-decoration:none;
text-align:center;
color:#d73143;
background:#fff;
border:solid 2px #d73143;
}
.button:hover {
color:#fff;
background:#d73143;
}

.pattern_01{
margin:30px 0 15px 0;
padding:15px 30px;
font-size:18px;
-webkit-border-radius:30px;
-moz-border-radius:30px;
border-radius:30px;
}
.pattern_02{
width:300px;
margin:15px 0 30px 0;
padding:20px 0;
font-size:20px;
-webkit-border-radius:30px;
-moz-border-radius:30px;
border-radius:30px;
}

.action {
margin:60px 0 0 0;
padding:20px 20px;
font-size:12px;
line-height:100%;
letter-spacing:1px;
color:#666;
border-top:solid 1px #ddd;
border-bottom:solid 1px #ddd;
}
.action li {display:inline;list-style-type:none;}
.action a:link {color:#666;text-decoration:none;-webkit-transition: all .5s;transition:all .5s;}
.action a:visited {color:#666;text-decoration:none;}
.action a:hover {color:#999;text-decoration:none;}


.page_title{
margin:60px 0 70px 0;
padding:0;
font-size:60px;
font-weight:normal;
line-height:100%;
text-align:center;
font-family: 'Roboto Condensed', sans-serif;
}

#wrapper {
margin:0;
padding:50px 90px 75px 90px;
background:#eee;
}
#wrapper a:hover img{
opacity:0.6;
filter:alpha(opacity=60);
}
#container{
margin:0;
padding:75px 0 1px 0;
background:#fff;
}

.sub_head{
margin:0;
padding:0 0 0 5px;
font-size:25px;
font-weight:bold;
line-height:150%;
letter-spacing:5px;
text-align:center;
color:#d73143;
font-family: 'Roboto Condensed', sans-serif;
}
.sub_head_jpn{
margin:5px 0 45px 0;
padding:0;
font-size:14px;
font-weight:normal;
line-height:150%;
letter-spacing:1px;
text-align:center;
}

.contents{
width:640px;
margin:0 auto 90px auto;
padding:0;
}

table.spec{
width:100%;
border-collapse:collapse;
margin:0 0 15px 0;
}
table.spec th{
width:210px;
font-size:16px;
line-height:160%;
letter-spacing:1px;
padding:15px 0;
text-align:left;
border-bottom:solid 1px #d73143;
}
table.spec td{
font-size:16px;
line-height:160%;
letter-spacing:1px;
padding:15px 0 15px 20px;
border-bottom:solid 1px #ddd;
}

.privacy{}
.privacy p{font-size:14px;}
.pp{
margin:45px 0 0 0;
padding:0;
font-size:16px;
font-weight:bold;
line-height:150%;
letter-spacing:1px;
}

table.entry, table.table_form {
width:100%;
border-collapse:collapse;
margin:30px 0;
}
table.entry th, table.table_form td:first-child {
width:200px;
font-size:16px;
line-height:180%;
letter-spacing:1px;
padding:15px 15px 5px 0;
text-align:left;
border-bottom:solid 1px #ccc;
font-weight: bold;
}
table.entry td, table.table_form td:last-child {
font-size:16px;
line-height:180%;
letter-spacing:1px;
padding:15px 0 5px 5px;
}

.req{
margin:0;
padding:0;
float:right;
text-align:right;
}
.req span{
margin:0;
padding:1px 2px 2px 2px;
font-size:12px;
font-weight:normal;
line-height:100%;
color:#fff;
background:#d73143;
}
@media all and (-ms-high-contrast: none){
.req span{
padding:2px 2px 0 3px;
}
}

input[type="text"], textarea, select {
border:0;
padding:10px;
font-size:16px;
border:solid 1px #ccc;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
-moz-box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);
-webkit-box-shadow: inset 1px 4px 9px -6px rgba(0, 0, 0, 0.5);
box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}
input[type="text"]:focus,
textarea:focus {
box-shadow:0 0 7px #999999;
}

/* Chrome, Safari */
::-webkit-input-placeholder{
color:#999;
}
/* Firefox */
::-moz-placeholder{
color:#999;
}
/* Firefox 18以前 */
:-moz-placeholder{
color:#999;
}
/* IE */
:-ms-input-placeholder{
color:#999;
}

input[type="submit"],input[type="button"] {
border-radius: 0;
-webkit-box-sizing: content-box;
-webkit-appearance: button;
appearance: button;
box-sizing: border-box;
cursor: pointer;
webkit-transition: all .5s;transition:all .5s;
background:#fff;
border:none;
font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
background:#fff;
border:solid 2px #d73143;
-webkit-border-radius:30px;
-moz-border-radius:30px;
border-radius:30px;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
  color:#fff;
}


/*---------- 文字装飾 ----------*/

.bold{font-weight:bold;}
.ul{text-decoration:underline;}
.through{text-decoration:line-through;}
.ym{background:linear-gradient(transparent 60%, #97d7f6 60%);}
.caption{font-size:80%;color:#666666;font-weight:normal;line-height:150%;}

@media all and (-ms-high-contrast: none){
.ym{background:linear-gradient(transparent 60%, #97d7f6 60%);}
}


/*---------- 文字位置 ----------*/

.center{text-align:center;}
.right{text-align:right;}

.plus{margin-bottom:30px;}
.upper{margin-top:45px;}
.upside{margin-top:45px;}


/*---------- フッター ----------*/

#linkbox {
margin:0;
padding:25px 0 0 0;
border-top:solid 1px #d73143;
}
#linkbox ul{
width:100%; 
margin:0;
padding:2px 0; 
list-style:none;
text-align:center;
}
#linkbox ul li {
list-style:none;
display: inline;
margin:0;
padding:0 5px;
font-size:12px;
letter-spacing:1px;
line-height:150%;
}

#linkbox a:link {color:#666;text-decoration:none;-webkit-transition: all .2s;transition:all .2s;}
#linkbox a:visited {color:#666;text-decoration:none;}
#linkbox a:hover {color:#444;text-decoration:none;}

#linkbox a {
position:relative;
display:inline-block;
text-decoration:none;
}
#linkbox a::after {
position:absolute;
bottom:-3px;
left:0;
content:'';
width:100%;
height:1px;
background:#666;
transform:scale(0, 1);
transform-origin:center top;
transition:transform .3s;
}
#linkbox a:hover::after {
transform:scale(1, 1);
}

#footer{
margin:0;
padding:10px 0 30px 0;
font-size:12px;
line-height:150%;
text-align:center;
color:#999;
font-family: 'Roboto Condensed', sans-serif;
}

/* af */
.af #linkbox { display: none; }
.af #footer { padding: 20px 0; }